NE.Standard

Key value action

A list of key/value rows, each with an optional trailing action, e.g. a settings or detail list.

KeyValueActionComponent · type key standard.key-value-action · Contents · property blocks: IOverflowComponent, IBorderedComponent, ISurfaceStyleComponent, IRowHoverableComponent

new KeyValueActionComponent("key-value-action")

Properties

PropertyTypeDefaultBindingDescription
Own
BorderThickness
SetBorderThickness · BindBorderThickness
UIThickness?1one-wayThe border thickness; the list draws an edge by default.
ShowRowSeparators
SetShowRowSeparators · BindShowRowSeparators
bool?trueone-wayWhether separator lines are shown between rows.
StretchValue
SetStretchValue · BindStretchValue
bool?trueone-wayWhether the value column stretches to fill the remaining row width.
ShowActions
SetShowActions · BindShowActions
bool?trueone-wayWhether the action column is shown.
Editablebool?falseWhether rows can be edited in place: set by KeyValueActionComponent.EnableEditing, read by the renderer to lay the input and the save/cancel pair into every row.
Render-time only: it is how the list is built.
Overflow
SetOverflow · BindOverflow
UIOverflow?UIOverflow.Hiddenone-wayWhether content that overflows this component's bounds is clipped.
BorderColor
SetBorderColor · BindBorderColor
UIThemeColor?nullone-wayThe border's colour, written as CSS border-color; unset leaves the stylesheet's own.
BorderRadius
SetBorderRadius · BindBorderRadius
UICornerRadius?nullone-wayThe corner rounding, written as CSS border-radius; unset leaves the stylesheet's own.
Surface
SetSurface · BindSurface
UISurfaceStyle?UISurfaceStyle.Backgroundone-wayWhat the component is made of.
RowHoverable
SetRowHoverable · BindRowHoverable
bool?falseone-wayWhether rows highlight under the pointer; off by default unless the host turns it on for itself.
From ItemsComponentBase
Items
SetItems · BindItems
IReadOnlyList<IKeyValueActionModel>nullone-wayThe component items.
ItemsView
BindItemsView
UIItemsViewnullone-wayFiltering and sorting rules applied to the items collection.
Query
SetQuery · BindQuery
UIItemsQuerynulltwo-wayThe terms the viewer set after the view compiled — a header's sort, a filter row — applied beside the authored rules; bound both ways, so a windowed source is asked with them and a controller can set them.
From TemplatedComponentBase
TemplateKeyProperty
SetTemplateKeyProperty · BindTemplateKeyProperty
stringnullone-way, relative scopeThe name of the item field whose value selects a named template variant.
FallbackTemplateKey
SetFallbackTemplateKey
stringnullThe fallback template key used when ITemplatedComponent.TemplateKeyProperty does not resolve to a template.

Events

OnActionClickWithItem(string command, string argumentName = "item")
Registers an action click command that passes the current item as an argument.
OnActionClickWithItemKey(string command, string argumentName = "id")
Registers an action click command that passes the current item's key as an argument.
OnActionClickWith(string command, string argumentName, UIActionArgumentKind argumentKind)
Registers an action click command with an argument derived from the specified argumentKind.
OnActionClick(string command)
Registers a click command invoked when a row's action is clicked.
OnActionClick(string command, params KeyValuePair<string, UIActionArgument>[] arguments)
Registers a click command invoked when a row's action is clicked, with UI action arguments.
OnActionClickLiteral(string command, params KeyValuePair<string, object>[] arguments)
Registers a click command invoked when a row's action is clicked, with literal argument values.
OnRowClickWithItem(string command, string argumentName = "item")
Registers a row click command that passes the current item as an argument.
OnRowClickWithItemKey(string command, string argumentName = "id")
Registers a row click command that passes the current item's key as an argument.
OnRowClick(string command)
Registers a click command invoked when a row is clicked.
OnRowClick(string command, params KeyValuePair<string, UIActionArgument>[] arguments)
Registers a click command invoked when a row is clicked, with UI action arguments.
OnRowClickLiteral(string command, params KeyValuePair<string, object>[] arguments)
Registers a click command invoked when a row is clicked, with literal argument values.
OnRowOpenWithItemKey(string command, string argumentName = "id")
Registers a command invoked when a row is opened — Enter on the keyboard's row, or a double click — with the row's key.
OnRowOpen(string command, params KeyValuePair<string, UIActionArgument>[] arguments)
Registers a command invoked when a row is opened — Enter on the keyboard's row, or a double click.
OnRowRemoveWithItemKey(string command, string argumentName = "id")
Registers a command invoked when the Delete key is pressed on a row that may be removed, with the row's key; the controller removes the row or leaves it.
OnRowRemove(string command, params KeyValuePair<string, UIActionArgument>[] arguments)
Registers a command invoked when the Delete key is pressed on a row that may be removed.

Methods

ConfigureDefaultKeyTemplate(Action<DefaultKeyTemplate> configure)
Configures the default key template.
ConfigureDefaultValueTemplate(Action<DefaultValueTemplate> configure)
Configures the default value template.
ConfigureDefaultActionTemplate(Action<DefaultActionTemplate> configure)
Configures the default action template.
SetKeyTemplate(ITextComponent template)
Sets the key template.
SetValueTemplate(ITextComponent template)
Sets the value template.
SetActionTemplate(IButtonComponent template)
Sets the action template.
SetValueInputTemplate(TInput template)
Sets the input every edited row opens with unless it names a typed variant; its value is bound to the row's draft.
AddValueInputTemplate(string key, TInput template)
Adds a typed input a row opens with when its InputTemplate names key; its value is bound to the row's draft.
EnableEditing(string saveCommand, string editCommand = null)
Lets a row become the input that edits its value. The pencil at the row's end opens it — through editCommand when one is given, so the controller seeds the draft, or on the client alone with the value's text as the draft — and the pair that replaces it saves through saveCommand (the row's key as id) or cancels without a round trip. A text input stands in until a value-input template is set.
SetRowTemplate(DefaultRowTemplate template)
Sets the row template.
AddItem(IKeyValueActionModel item)
Adds an item to the component.
AddItems(IEnumerable<IKeyValueActionModel> items)
Adds items to the component.
FilterBy(UIProperty source, string itemProperty, UIComparisonOperator operator = UIComparisonOperator.LikeIgnoreCase, UIComparisonOperator activeOperator = UIComparisonOperator.Required, object activeValue = null)
Adds a filter controlled by a local component property.
Defaults to a case-insensitive substring match; pass the operator explicitly where case matters.
FilterBy(string sourceComponentId, UIProperty source, string itemProperty, UIComparisonOperator operator = UIComparisonOperator.LikeIgnoreCase, UIComparisonOperator activeOperator = UIComparisonOperator.Required, object activeValue = null)
Adds a filter controlled by another component property.
FilterBy(UIPropertyReference source, string itemProperty, UIComparisonOperator operator = UIComparisonOperator.LikeIgnoreCase, UIComparisonOperator activeOperator = UIComparisonOperator.Required, object activeValue = null)
Adds a filter controlled by a property reference.
FilterBy(string itemProperty, UIComparisonOperator operator = UIComparisonOperator.LikeIgnoreCase, object value = null)
Adds an unconditionally active filter with no source, comparing against a constant value.
SortBy(UIProperty source, string itemProperty, UIItemsSortDirection direction = UIItemsSortDirection.Ascending, UIComparisonOperator activeOperator = UIComparisonOperator.Equal, object activeValue = null, int priority = 0)
Adds a sort rule controlled by a local component property.
SortBy(string sourceComponentId, UIProperty source, string itemProperty, UIItemsSortDirection direction = UIItemsSortDirection.Ascending, UIComparisonOperator activeOperator = UIComparisonOperator.Equal, object activeValue = null, int priority = 0)
Adds a sort rule controlled by another component property.
SortBy(UIPropertyReference source, string itemProperty, UIItemsSortDirection direction = UIItemsSortDirection.Ascending, UIComparisonOperator activeOperator = UIComparisonOperator.Equal, object activeValue = null, int priority = 0)
Adds a sort rule controlled by a property reference.
SortBy(string itemProperty, UIItemsSortDirection direction = UIItemsSortDirection.Ascending, int priority = 0)
Adds an unconditionally active sort rule with no source.
SetEmptyTemplate(IVisualComponent visualTemplate)
Sets the template used when there are no items or no content.
Common properties (16) — layout, visibility, theme, and the rest every component shares
PropertyTypeDefaultBindingDescription
Visibility
SetVisibility · BindVisibility
UIResponsive<UIVisibility>?Visibleone-wayWhat the component does with the room it was given, optionally overridden per breakpoint (e.g. collapsed from a given width up).
Enabled
SetEnabled · BindEnabled
bool?trueone-wayWhether the component responds to input; false dims it and marks it, and its subtree, inert.
Theme
SetTheme · BindTheme
UIThemeMode?nullone-wayThe theme mode forced on this component's subtree, or null to inherit the ambient theme.
HorizontalAlignment
SetHorizontalAlignment · BindHorizontalAlignment
UIAlignment?UIAlignment.Stretchone-wayWhere the component sits within its grid cell along the horizontal axis.
VerticalAlignment
SetVerticalAlignment · BindVerticalAlignment
UIAlignment?UIAlignment.Stretchone-wayWhere the component sits within its grid cell along the vertical axis.
Width
SetWidth · BindWidth
UIResponsive<UILayoutLength>?nullone-wayThe component width, optionally overridden per breakpoint.
MinWidth
SetMinWidth · BindMinWidth
UIResponsive<UILayoutLength>?nullone-wayThe component minimum width, optionally overridden per breakpoint.
MaxWidth
SetMaxWidth · BindMaxWidth
UIResponsive<UILayoutLength>?nullone-wayThe component maximum width, optionally overridden per breakpoint.
Height
SetHeight · BindHeight
UIResponsive<UILayoutLength>?nullone-wayThe component height, optionally overridden per breakpoint.
MinHeight
SetMinHeight · BindMinHeight
UIResponsive<UILayoutLength>?nullone-wayThe component minimum height, optionally overridden per breakpoint.
MaxHeight
SetMaxHeight · BindMaxHeight
UIResponsive<UILayoutLength>?nullone-wayThe component maximum height, optionally overridden per breakpoint.
ZIndex
SetZIndex · BindZIndex
int?0one-wayThe stacking order within the visual tree.
Margin
SetMargin · BindMargin
UIResponsive<UIThickness>?nullone-wayThe outer spacing around the component, optionally overridden per breakpoint.
Placement
SetPlacement · BindPlacement
UIResponsive<UIGridPlacement>?nullone-wayThe grid placement, optionally overridden per breakpoint.
Loading
SetLoading · BindLoading
bool?falseone-wayWhether the component is in loading state — a live state a controller turns on and off.
ShowContextMenu
SetShowContextMenu · BindShowContextMenu
bool?trueone-wayWhether a right-click opens the IVisualComponent.ContextMenu; on a host with rows, whether it opens any row's. Off, the menu stays in the tree and nothing opens it.