NE.Standard

Split button

A button whose end is a second control opening a menu of commands.

SplitButtonComponent · type key standard.split-button · Actions

The entries are a MenuComponent of the same MenuItem model a sidebar uses (icon, title, shortcut, enabled, a caption or a rule by Kind), drawn in a popup by the machinery a context menu uses.

new SplitButtonComponent("split-button")

Properties

PropertyTypeDefaultBindingDescription
Own
Mode
SetMode
UISplitButtonMode?UISplitButtonMode.SplitWhich part opens the menu: the end part alone, or the whole button.
Render-time only: which part takes the click is how the control is built, not a state.
From ButtonComponent
Type
SetType · BindType
UIButtonType?UIButtonType.Primaryone-wayThe button's visual variant — Primary, Accent, Danger, Outline, Ghost, Link, or Surface.
IconColor
SetIconColor · BindIconColor
UIThemeColor?Defaultone-wayThe leading icon's colour, defaulting to ITextBaseModel.DefaultIconColor.
Default resolves to color: inherit, so the glyph follows the button's contrast colour.
TitleType
SetTitleType · BindTitleType
UITextAppearance?Bodyone-wayThe primary text type.
BadgePlacement
SetBadgePlacement · BindBadgePlacement
UITextBadgePlacement?UITextBadgePlacement.Trailingone-wayWhere badge content is placed.
Selectable
SetSelectable · BindSelectable
bool?falseone-wayWhether the text can be selected with the pointer; content says yes, a control's caption says no.
A button's label is a control's caption, not content: a press must not start a selection.
DescriptionType
SetDescriptionType · BindDescriptionType
UITextAppearance?Captionone-wayThe secondary text type.
TextAlignment
SetTextAlignment · BindTextAlignment
UITextAlignment?UITextAlignment.Centerone-wayHow the title and description align within their box — Start, Center, End, or Justify; default Start.
A button's label sits in the middle of the button, however wide it is stretched; a row-shaped control that wears the button (an action, a menu entry, a breadcrumb) puts its label at the start in its own constructor.
Size
SetSize · BindSize
UIButtonSize?UIButtonSize.Mediumone-wayHow much room the button takes.
SubmitFormId
SetSubmitFormId · BindSubmitFormId
stringnullone-wayThe id of the form this button submits, scoping the Submit-trigger validation that runs before the click command.
Background
SetBackground · BindBackground
UIThemeColor?nullone-wayThe surface's background colour; unset leaves whatever the theme paints underneath.
Padding
SetPadding · BindPadding
UIResponsive<UIThickness>?nullone-wayThe inner spacing between this component's edges and its content, optionally overridden per breakpoint.
BackgroundImage
SetBackgroundImage · BindBackgroundImage
stringnullone-wayThe picture painted over the background colour, centred and never repeated: a URL or a data URI.
BackgroundImageFit
SetBackgroundImageFit · BindBackgroundImageFit
UIImageFit?UIImageFit.Coverone-wayHow the picture fills the surface.
BorderColor
SetBorderColor · BindBorderColor
UIThemeColor?nullone-wayThe border's colour, written as CSS border-color; unset leaves the stylesheet's own.
BorderThickness
SetBorderThickness · BindBorderThickness
UIThickness?nullone-wayThe border's thickness, written as CSS border-width; 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.
Overflow
SetOverflow · BindOverflow
UIOverflow?UIOverflow.Hiddenone-wayWhether content that overflows this component's bounds is clipped.
Description
SetDescription · BindDescription
stringnullone-wayThe secondary text. translatable
DescriptionColor
SetDescriptionColor · BindDescriptionColor
UIThemeColor?Mutedone-wayThe secondary text color.
Icon
SetIcon · BindIcon
stringnullone-wayThe icon shown before the title, by name from the registered icon font/set. translatable
IconSize
SetIconSize · BindIconSize
UIIconSize?nullone-wayThe leading icon size; left unset the glyph is as tall as the title beside it.
Title
SetTitle · BindTitle
stringnullone-wayThe label text drawn as the title; nothing renders when it is unset. translatable
TitleColor
SetTitleColor · BindTitleColor
UIThemeColor?Defaultone-wayThe primary text colour, which also colours the icon and the description unless either is overridden by ITextModel.DescriptionColor or IconColor.
BadgeStyle
SetBadgeStyle · BindBadgeStyle
UIBadgeType?UIBadgeType.Infoone-wayThe badge visual variant.
BadgeColor
SetBadgeColor · BindBadgeColor
UIThemeColor?nullone-wayThe badge's own colour, overriding IBadgeModel.BadgeStyle when set — a tag or a category swatch, which the closed style enum cannot name.
BadgeIcon
SetBadgeIcon · BindBadgeIcon
stringnullone-wayThe icon shown beside the badge text, by name from the registered icon font/set. translatable
BadgeIconColor
SetBadgeIconColor · BindBadgeIconColor
UIThemeColor?Defaultone-wayThe badge icon's colour, defaulting to IBadgeModel.DefaultBadgeIconColor.
BadgeIconSize
SetBadgeIconSize · BindBadgeIconSize
UIIconSize?nullone-wayThe badge icon size. Left unset the glyph is as tall as the badge's own text.
BadgeText
SetBadgeText · BindBadgeText
stringnullone-wayThe short text drawn inside the badge, beside its icon. translatable
BadgeTextType
SetBadgeTextType · BindBadgeTextType
UITextAppearance?Overlineone-wayThe badge text's role, defaulting to IBadgeModel.DefaultBadgeTextType.
BadgeTooltip
SetBadgeTooltip · BindBadgeTooltip
stringnullone-wayThe tooltip for the badge content. translatable
BadgeTooltipPlacement
SetBadgeTooltipPlacement · BindBadgeTooltipPlacement
UIPopupPlacement?UIPopupPlacement.Topone-wayThe side the badge's own tooltip prefers, placed against the badge rather than against the row.
Tooltip
SetTooltip · BindTooltip
stringnullone-wayThe tooltip shown on hover and on focus. On a button-shaped control with no title of its own — an icon button — it is also the name a screen reader gets. translatable
TooltipPlacement
SetTooltipPlacement · BindTooltipPlacement
UIPopupPlacement?UIPopupPlacement.Topone-wayThe side the tooltip prefers; flips to the opposite side when there is no room for it there.
IconAlignment
SetIconAlignment
UITextIconAlignment?UITextIconAlignment.ContentWhere the leading icon sits against the text beside it: Content (the default) centres it across title and description, while Title keeps it on the title's own line.
BadgeAlignment
SetBadgeAlignment
UITextBadgeAlignment?UITextBadgeAlignment.TitleWhere a trailing badge sits against the text beside it: Title (the default) keeps it at the far end of the title's own line, while Content centres it against title and description.

Events

OnItemClick(string command)
Registers the command an entry runs when clicked.
OnItemClick(string command, params KeyValuePair<string, UIActionArgument>[] arguments)
Registers the command an entry runs when clicked, with UI action arguments.
OnItemClickWithItem(string command, string argumentName = "item")
Registers the command an entry runs, passing the entry as an argument.
OnItemClickWithItemKey(string command, string argumentName = "id")
Registers the command an entry runs, passing the entry's key as an argument.
OnClickShowingLoading(string command)
Runs the command on a click and shows the button waiting for exactly the round trip: two client interactions on Loading, one before the dispatch and one after the result, nothing bound and nothing for a controller to clear.
Named for what it shows, not for what it carries: With elsewhere in this API names an argument the command receives (OnItemClickWithItem), and nothing is passed here.
OnClick(string command)
Registers a click handler that invokes the specified command.
OnClick(string command, params KeyValuePair<string, UIActionArgument>[] arguments)
Registers a click handler that invokes the specified command with UI action arguments.
OnClickLiteral(string command, params KeyValuePair<string, object>[] arguments)
Registers a click handler that invokes the specified command with literal argument values.
OnSubmit(string formId, string command)
Registers a click command that first runs Submit-trigger validation for every input sharing formId, dispatching the command only if all of them pass.
OnSubmit(string formId, string command, params KeyValuePair<string, UIActionArgument>[] arguments)
Registers a click command that first runs Submit-trigger validation for every input sharing formId, dispatching the command only if all of them pass.
OnSubmitLiteral(string formId, string command, params KeyValuePair<string, object>[] arguments)
Registers a click command that first runs Submit-trigger validation for every input sharing formId, dispatching the command only if all of them pass.

Methods

SetItems(IEnumerable<MenuItem> items)
Replaces the menu's entries.
AddItem(MenuItem item)
Adds one entry to the menu.
BindItems(string path, UIBindingScope scope = UIBindingScope.Root)
Binds the menu's entries to a collection of MenuItem on the controller.
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.