Module

Lumi.Components.Form.Table

Package
purescript-lumi-components
Repository
lumihq/purescript-lumi-components

#TableFormBuilder Source

newtype TableFormBuilder props row result

An applicative functor used to build editable tables out of FormBuilders. FormBuilders can be turned into TableFormBuilders with the column function. TableFormBuilders can, then, be used inside forms with the editableTable function.

Instances

#revalidate Source

revalidate :: forall props row result. TableFormBuilder props row result -> props -> row -> Maybe result

Revalidate the table form, in order to display error messages or create a validated result.

#editableTable Source

editableTable :: forall props row result. { addLabel :: String, addRow :: Maybe (Aff (Maybe row)), formBuilder :: TableFormBuilder { readonly :: Boolean | props } row result, maxRows :: Int, rowMenu :: { remove :: Maybe (Effect Unit), update :: (row -> row) -> Effect Unit } -> row -> Maybe result -> JSX, summary :: Array row -> Maybe (Array result) -> JSX } -> FormBuilder { readonly :: Boolean | props } (Array row) (Array result)

A TableFormBuilder makes a FormBuilder for an array where each row has columns defined by it.

#nonEmptyEditableTable Source

nonEmptyEditableTable :: forall props row result. { addLabel :: String, addRow :: Maybe (Aff (Maybe row)), formBuilder :: TableFormBuilder { readonly :: Boolean | props } row result, maxRows :: Int, rowMenu :: { remove :: Maybe (Effect Unit), update :: (row -> row) -> Effect Unit } -> row -> Maybe result -> JSX, summary :: NonEmptyArray row -> Maybe (NonEmptyArray result) -> JSX } -> FormBuilder { readonly :: Boolean | props } (NonEmptyArray row) (NonEmptyArray result)

A TableFormBuilder makes a FormBuilder for a non-empty array where each row has columns defined by it.

#defaultRowMenu Source

defaultRowMenu :: forall row result. { remove :: Maybe (Effect Unit), update :: (row -> row) -> Effect Unit } -> row -> Maybe result -> JSX

Default row menu that displays a bin icon, which, when clicked, deletes the current row.

#column Source

column :: forall props row. String -> Orientation -> (FormBuilder { readonly :: Boolean | props } row) ~> (TableFormBuilder { readonly :: Boolean | props } row)

Convert a FormBuilder into a column of a table form with the specified label and orientation.

#column_ Source

column_ :: forall props row. String -> (FormBuilder { readonly :: Boolean | props } row) ~> (TableFormBuilder { readonly :: Boolean | props } row)

Convert a FormBuilder into a column of a table form with the specified label where all fields are laid out horizontally.

#infoColumn Source

infoColumn :: forall props row. Orientation -> (FormBuilder { readonly :: Boolean | props } row) ~> (TableFormBuilder { readonly :: Boolean | props } row)

Convert a FormBuilder into a readonly info column of a table form with the specified orientation.

#infoColumn_ Source

infoColumn_ :: forall props row. (FormBuilder { readonly :: Boolean | props } row) ~> (TableFormBuilder { readonly :: Boolean | props } row)

Convert a FormBuilder into a readonly info column of a table form with the specified label where all fields are laid out horizontally.

#withProps Source

withProps :: forall props row result. (props -> TableFormBuilder props row result) -> TableFormBuilder props row result

Make the props available. This allows for changing the structure of a table form builder based on the current props.

Modules
JSS
Lumi.Components
Lumi.Components.Badge
Lumi.Components.Border
Lumi.Components.Breadcrumb
Lumi.Components.Button
Lumi.Components.ButtonGroup
Lumi.Components.Card
Lumi.Components.CardGrid
Lumi.Components.Color
Lumi.Components.Column
Lumi.Components.Details
Lumi.Components.Divider
Lumi.Components.DropdownButton
Lumi.Components.EditableTable
Lumi.Components.FetchCache
Lumi.Components.FixedPrecisionInput
Lumi.Components.Form
Lumi.Components.Form.Defaults
Lumi.Components.Form.Internal
Lumi.Components.Form.Table
Lumi.Components.Form.Validation
Lumi.Components.Icon
Lumi.Components.Images
Lumi.Components.Input
Lumi.Components.InputGroup
Lumi.Components.LabeledField
Lumi.Components.Layouts
Lumi.Components.Layouts.Centered
Lumi.Components.Layouts.OneColumnWithHeader
Lumi.Components.Layouts.Tabs
Lumi.Components.Link
Lumi.Components.List
Lumi.Components.Loader
Lumi.Components.Lockup
Lumi.Components.Modal
Lumi.Components.NativeSelect
Lumi.Components.Navigation
Lumi.Components.Orientation
Lumi.Components.Pagination
Lumi.Components.Pill
Lumi.Components.Progress
Lumi.Components.Responsive
Lumi.Components.Row
Lumi.Components.Select
Lumi.Components.Select.Backend
Lumi.Components.Size
Lumi.Components.Slider
Lumi.Components.Spacing
Lumi.Components.Status
Lumi.Components.StatusSlat
Lumi.Components.Styles
Lumi.Components.Svg
Lumi.Components.Tab
Lumi.Components.Table
Lumi.Components.Table.FilterDropdown
Lumi.Components.Text
Lumi.Components.Textarea
Lumi.Components.Toast
Lumi.Components.Tooltip
Lumi.Components.Upload
Lumi.Components.Wizard
Lumi.Components.ZIndex
Lumi.Components2.Box
Lumi.Components2.Button
Lumi.Components2.ButtonGroup
Lumi.Components2.Clip
Lumi.Components2.Image
Lumi.Components2.Link
Lumi.Components2.PasswordStrength
Lumi.Components2.QRCode
Lumi.Components2.ScrollObserver
Lumi.Components2.Slat
Lumi.Components2.Tabs
Lumi.Components2.Text
Lumi.Styles
Lumi.Styles.Border
Lumi.Styles.Box
Lumi.Styles.Clip
Lumi.Styles.Link
Lumi.Styles.Loader
Lumi.Styles.Responsive
Lumi.Styles.Slat
Lumi.Styles.Theme