@serenity-is/corelib / ColumnPickerDialog
Class: ColumnPickerDialog<P>
Defined in: src/ui/datagrid/columnpickerdialog.tsx:54
Dialog that lets users show/hide, reorder, and pin grid columns.
Extends
BaseDialog<P>
Type Parameters
P
P extends ColumnPickerDialogOptions = ColumnPickerDialogOptions
Options type for the dialog.
Constructors
Constructor
new ColumnPickerDialog<
P>(opt):ColumnPickerDialog<P>
Defined in: src/ui/datagrid/columnpickerdialog.tsx:73
Creates a column picker dialog.
Parameters
opt
P
Options for the dialog.
Returns
ColumnPickerDialog<P>
Overrides
Properties
dialog
protecteddialog:Dialog
Defined in: src/ui/dialogs/basedialog.tsx:25
Inherited from
domNode
readonlydomNode:HTMLElement
Defined in: src/ui/widgets/widget.ts:24
The DOM node this widget is bound to.
Inherited from
idPrefix
readonlyidPrefix:string
Defined in: src/ui/widgets/widget.ts:22
The id prefix used for this widget's child element ids.
Inherited from
options
protectedreadonlyoptions:WidgetProps<P>
Defined in: src/ui/widgets/widget.ts:18
The widget's options/props.
Inherited from
tabs
protectedtabs:Fluent<HTMLElement>
Defined in: src/ui/dialogs/basedialog.tsx:22
Inherited from
toolbar
protectedtoolbar:Toolbar
Defined in: src/ui/dialogs/basedialog.tsx:23
Inherited from
uniqueName
readonlyuniqueName:string
Defined in: src/ui/widgets/widget.ts:20
A unique name for this widget instance, used for event namespacing.
Inherited from
validator
protectedvalidator:any
Defined in: src/ui/dialogs/basedialog.tsx:24
Inherited from
[typeInfo]
static[typeInfo]:ClassTypeInfo<"Serenity.">
Defined in: src/ui/datagrid/columnpickerdialog.tsx:56
Overrides
isComponent
readonlystaticisComponent:true=true
Defined in: src/ui/widgets/widget.ts:334
Inherited from
Accessors
dialogTitle
Get Signature
get dialogTitle():
string
Defined in: src/ui/dialogs/basedialog.tsx:291
Returns the current dialog title.
Returns
string
The dialog title.
Set Signature
set dialogTitle(
value):void
Defined in: src/ui/dialogs/basedialog.tsx:296
Sets the dialog title.
Parameters
value
string
Returns
void
Inherited from
element
Get Signature
get element():
Fluent
Defined in: src/ui/widgets/widget.ts:82
Returns a Fluent(this.domNode) object
Returns
Inherited from
props
Get Signature
get props():
WidgetProps<P>
Defined in: src/ui/widgets/widget.ts:307
Returns the widget's props/options.
Returns
WidgetProps<P>
Inherited from
Methods
addCssClass()
protectedaddCssClass():void
Defined in: src/ui/dialogs/basedialog.tsx:73
Hook for subclasses to add CSS classes; the class goes to the dialog/modal/panel element.
Returns
void
Inherited from
addValidationRule()
Call Signature
addValidationRule(
rule,uniqueName?):void
Defined in: src/ui/widgets/widget.ts:142
Adds a validation rule to the widget's DOM node.
Parameters
rule
(input) => string
The validation rule function, or a unique name when the two-argument overload is used.
uniqueName?
string
A unique name for the rule, or the rule function when the two-argument overload is used.
Returns
void
Inherited from
Call Signature
addValidationRule(
uniqueName,rule):void
Defined in: src/ui/widgets/widget.ts:143
Adds a validation rule to the widget's DOM node.
Parameters
uniqueName
string
A unique name for the rule, or the rule function when the two-argument overload is used.
rule
(input) => string
The validation rule function, or a unique name when the two-argument overload is used.
Returns
void
Inherited from
afterRender()
protectedafterRender(callback):void
Defined in: src/ui/widgets/widget.ts:228
Queues a callback to run after the widget's contents are rendered.
Parameters
callback
() => void
The callback to run after rendering.
Returns
void
Inherited from
arrange()
arrange():
void
Defined in: src/ui/dialogs/basedialog.tsx:248
Triggers layout on all elements that require it.
Returns
void
Inherited from
byId()
protectedbyId<TElement>(id):Fluent<TElement>
Defined in: src/ui/widgets/widget.ts:154
Finds a child element by its prefix-relative id.
Type Parameters
TElement
TElement extends HTMLElement = HTMLElement
Parameters
id
string
The id relative to the widget's id prefix.
Returns
Fluent<TElement>
A Fluent wrapper for the matching element.
Inherited from
change()
change(
handler):void
Defined in: src/ui/widgets/widget.ts:179
Registers a change handler on the widget's DOM node.
Parameters
handler
(e) => void
The change event handler.
Returns
void
Inherited from
changeSelect2()
changeSelect2(
handler):void
Defined in: src/ui/widgets/widget.ts:188
Registers a change handler that ignores changes originating from
combobox setting values.
Parameters
handler
(e) => void
The change event handler.
Returns
void
Inherited from
createColumnItems()
protectedcreateColumnItems():void
Defined in: src/ui/datagrid/columnpickerdialog.tsx:485
Creates the list items for all columns.
Returns
void
createSearch()
protectedcreateSearch(div):void
Defined in: src/ui/datagrid/columnpickerdialog.tsx:251
Creates the quick search input in the dialog.
Parameters
div
HTMLElement
Container element for the search bar.
Returns
void
deferRender()
protecteddeferRender():boolean
Defined in: src/ui/widgets/widget.ts:98
Determines whether rendering should be deferred until init is called.
Returns
boolean
True to defer rendering.
Inherited from
destroy()
destroy():
void
Defined in: src/ui/datagrid/columnpickerdialog.tsx:156
Cleans up handlers and delegates to the base destroy.
Returns
void
Overrides
dialogClose()
dialogClose(
result?):void
Defined in: src/ui/dialogs/basedialog.tsx:283
Closes the dialog with the given result.
Parameters
result?
string
The close result.
Returns
void
Inherited from
dialogOpen()
dialogOpen(
asPanel?):void
Defined in: src/ui/dialogs/basedialog.tsx:158
Opens the dialog, optionally as a panel.
Parameters
asPanel?
boolean
When true, opens as a panel instead of a modal dialog.
Returns
void
Inherited from
findById()
protectedfindById<TElement>(id):TElement
Defined in: src/ui/widgets/widget.ts:163
Finds a child element by its prefix-relative id.
Type Parameters
TElement
TElement extends HTMLElement = HTMLElement
Parameters
id
string
The id relative to the widget's id prefix.
Returns
TElement
The matching element, or null if not found.
Inherited from
getCssClass()
protectedgetCssClass():string
Defined in: src/ui/widgets/widget.ts:106
Returns the CSS class(es) applied to the widget's DOM node.
Returns
string
The space-separated CSS class string.
Inherited from
getCustomAttribute()
protectedgetCustomAttribute<TAttr>(attrType,inherit):TAttr
Defined in: src/ui/widgets/widget.ts:220
Returns a custom attribute applied to the widget's type.
Type Parameters
TAttr
TAttr extends CustomAttribute
Parameters
attrType
(...args) => TAttr
The attribute type to look up.
inherit
boolean = true
Whether to search inherited types; defaults to true.
Returns
TAttr
The matching attribute, or null.
Inherited from
getDialogButtons()
protectedgetDialogButtons():DialogButton[]
Defined in: src/ui/datagrid/columnpickerdialog.tsx:419
Returns no dialog buttons; the picker uses its own controls.
Returns
Null.
Overrides
getDialogOptions()
protectedgetDialogOptions():DialogOptions
Defined in: src/ui/datagrid/columnpickerdialog.tsx:408
Returns the dialog options, sized for the column picker.
Returns
Dialog options.
Overrides
getGridField()
getGridField():
Fluent
Defined in: src/ui/widgets/widget.ts:171
Returns the closest .field element containing the widget's DOM node.
Returns
A Fluent wrapper for the grid field.
Inherited from
getInitialDialogTitle()
protectedgetInitialDialogTitle():string
Defined in: src/ui/dialogs/basedialog.tsx:81
Returns the initial dialog title.
Returns
string
The initial title text.
Inherited from
BaseDialog.getInitialDialogTitle
getToolbarButtons()
protectedgetToolbarButtons():ToolButton[]
Defined in: src/ui/dialogs/basedialog.tsx:193
Returns the toolbar buttons for this dialog.
Returns
Tool button definitions.
Inherited from
getValidatorOptions()
protectedgetValidatorOptions():any
Defined in: src/ui/dialogs/basedialog.tsx:215
Returns the validator options for the form.
Returns
any
Validator options.
Inherited from
BaseDialog.getValidatorOptions
handleResponsive()
protectedhandleResponsive():void
Defined in: src/ui/dialogs/basedialog.tsx:314
Handles responsive layout for the dialog.
Returns
void
Inherited from
handleRestoreDefaults()
protectedhandleRestoreDefaults():void
Defined in: src/ui/datagrid/columnpickerdialog.tsx:275
Restores the default column order and visibility.
Returns
void
handleSearch()
protectedhandleSearch(args):void
Defined in: src/ui/datagrid/columnpickerdialog.tsx:352
Filters the column list based on the search query.
Parameters
args
Quick search arguments.
Returns
void
handleToggleAllClick()
protectedhandleToggleAllClick():void
Defined in: src/ui/datagrid/columnpickerdialog.tsx:322
Handles clicks on the toggle-all checkbox.
Returns
void
handleToggleClick()
protectedhandleToggleClick(e):void
Defined in: src/ui/datagrid/columnpickerdialog.tsx:197
Handles clicks on a column's visibility toggle.
Parameters
e
MouseEvent
Mouse event.
Returns
void
init()
init():
this
Defined in: src/ui/widgets/widget.ts:243
Initializes the widget, rendering its contents if rendering was deferred.
Returns
this
This widget instance.
Inherited from
initDialog()
protectedinitDialog():void
Defined in: src/ui/dialogs/basedialog.tsx:128
Initializes the underlying dialog element.
Returns
void
Inherited from
initTabs()
protectedinitTabs():void
Defined in: src/ui/dialogs/basedialog.tsx:304
Initializes the tabs from the Tabs element.
Returns
void
Inherited from
initToolbar()
protectedinitToolbar():void
Defined in: src/ui/dialogs/basedialog.tsx:200
Initializes the toolbar from the Toolbar element.
Returns
void
Inherited from
initUIDialog()
protectedinitUIDialog():void
Defined in: src/ui/dialogs/basedialog.tsx:140
Initializes jQuery UI dialog-specific behavior.
Returns
void
Inherited from
initValidator()
protectedinitValidator():void
Defined in: src/ui/dialogs/basedialog.tsx:222
Initializes the form validator.
Returns
void
Inherited from
internalRenderContents()
internalRenderContents():
void
Defined in: src/ui/widgets/widget.ts:266
Renders the widget's contents and runs any queued after-render callbacks.
Returns
void
Inherited from
BaseDialog.internalRenderContents
isStaticPanel()
protectedisStaticPanel():boolean
Defined in: src/ui/dialogs/basedialog.tsx:89
Whether the dialog renders as a static panel.
Returns
boolean
True when static.
Inherited from
legacyTemplateRender()
protectedlegacyTemplateRender():boolean
Defined in: src/ui/widgets/widget.ts:291
Renders the widget from a legacy getTemplate string, if defined.
Returns
boolean
True if a legacy template was rendered.
Inherited from
BaseDialog.legacyTemplateRender
onChange()
protectedonChange(args):PromiseLike<any>
Defined in: src/ui/datagrid/columnpickerdialog.tsx:189
Invokes the change callback with the given arguments.
Parameters
args
Change arguments.
Returns
PromiseLike<any>
Result of the change callback.
onClose()
onClose(
handler,opt?):void
Defined in: src/ui/dialogs/basedialog.tsx:180
Attaches a dialog/modal/panel close event handler. See Dialog.close for more info.
Parameters
handler
(result?, e?) => void
opt?
before?
boolean
oneOff?
boolean
Returns
void
Inherited from
onDialogClose()
protectedonDialogClose(result?):void
Defined in: src/ui/dialogs/basedialog.tsx:258
Hook invoked when the dialog closes; destroys the dialog and removes its element.
Parameters
result?
string
The close result.
Returns
void
Inherited from
onDialogOpen()
protectedonDialogOpen():void
Defined in: src/ui/datagrid/columnpickerdialog.tsx:508
Called when the dialog opens; builds the column list and focuses search.
Returns
void
Overrides
onOpen()
onOpen(
handler,opt?):void
Defined in: src/ui/dialogs/basedialog.tsx:185
Attaches a dialog/modal/panel open event handler. See Dialog.open for more info.
Parameters
handler
(e?) => void
opt?
before?
boolean
oneOff?
boolean
Returns
void
Inherited from
render()
render():
any
Defined in: src/ui/widgets/widget.ts:253
Returns the main element for this widget or the document fragment. As widgets may get their elements from props unlike regular JSX widgets, this method should not be overridden. Override renderContents() instead.
Returns
any
Inherited from
renderContents()
protectedrenderContents():any
Defined in: src/ui/datagrid/columnpickerdialog.tsx:222
Renders the dialog contents.
Returns
any
The rendered dialog content.
Overrides
reorderColumns()
protectedreorderColumns(columnIds,setVisible?,restoredDefaults?):void
Defined in: src/ui/datagrid/columnpickerdialog.tsx:266
Reorders columns using the configured handler.
Parameters
columnIds
string[]
New column order.
setVisible?
string[]
Optional column ids to set visible.
restoredDefaults?
boolean
Whether this reorder restores defaults.
Returns
void
resetValidation()
protectedresetValidation():void
Defined in: src/ui/dialogs/basedialog.tsx:233
Resets all validation state.
Returns
void
Inherited from
syncOrAsyncThen()
protectedsyncOrAsyncThen<T>(syncMethod,asyncMethod,then):void
Defined in: src/ui/widgets/widget.ts:318
Runs a method synchronously or asynchronously depending on the widget's
useAsync flag, then invokes a continuation.
Type Parameters
T
T
Parameters
syncMethod
() => T
The synchronous method to run.
asyncMethod
() => PromiseLike<T>
The asynchronous method to run.
then
(v) => void
The continuation invoked with the result.
Returns
void
Inherited from
toggleColumns()
protectedtoggleColumns(columnIds,show?):Column<any>[]
Defined in: src/ui/datagrid/columnpickerdialog.tsx:176
Toggles visibility of the specified columns.
Parameters
columnIds
string[]
Column ids to toggle.
show?
boolean
Whether to show (true) or hide (false) the columns; defaults to toggling.
Returns
Column<any>[]
The columns whose visibility changed.
updateToggleAllValue()
protectedupdateToggleAllValue():boolean
Defined in: src/ui/datagrid/columnpickerdialog.tsx:343
Updates the toggle-all checkbox to reflect the current visibility state.
Returns
boolean
The new checked state of the toggle-all checkbox.
useIdPrefix()
protecteduseIdPrefix():IdPrefixType
Defined in: src/ui/widgets/widget.ts:329
Returns an id prefix helper for resolving child element ids.
Returns
An IdPrefixType proxy for this widget's id prefix.
Inherited from
validateForm()
protectedvalidateForm():boolean
Defined in: src/ui/dialogs/basedialog.tsx:241
Validates the form.
Returns
boolean
True when the form is valid.
Inherited from
create()
staticcreate<TWidget,P>(params):TWidget
Defined in: src/ui/widgets/widget.ts:202
Creates a widget instance from the given params, appending its element to the container and invoking the init/init callbacks.
Type Parameters
TWidget
TWidget extends Widget<P>
P
P
Parameters
params
CreateWidgetParams<TWidget, P>
The widget creation params.
Returns
TWidget
The created widget instance.
Inherited from
createDefaultElement()
staticcreateDefaultElement():HTMLDivElement
Defined in: src/ui/dialogs/basedialog.tsx:20
Creates the default DOM element for a widget.
Returns
HTMLDivElement
A new div element.
Inherited from
BaseDialog.createDefaultElement
createToolButton()
staticcreateToolButton(optOrDataGrid):ToolButton
Defined in: src/ui/datagrid/columnpickerdialog.tsx:379
Creates a toolbar button that opens the column picker dialog.
Parameters
optOrDataGrid
Options or a data grid to derive options from.
IDataGrid | ColumnPickerDialogOptions
Returns
Tool button definition.
getWidgetName()
staticgetWidgetName(type):string
Defined in: src/ui/widgets/widget.ts:131
Returns the widget name for a type, used for association and unique names.
Parameters
type
Function
The widget type.
Returns
string
The widget name.
Inherited from
openDialog()
staticopenDialog(opt):void
Defined in: src/ui/datagrid/columnpickerdialog.tsx:520
Opens a column picker dialog with the given options.
Parameters
opt
Options for the dialog.
Returns
void
registerClass()
protectedstaticregisterClass<TypeName>(typeName,intfAndAttr?):ClassTypeInfo<TypeName>
Defined in: src/ui/widgets/widget.ts:342
Registers this type as a class with the given type name.
Type Parameters
TypeName
TypeName
Parameters
typeName
StringLiteral<TypeName>
The type name to register.
intfAndAttr?
(InterfaceType | AttributeSpecifier)[]
Optional interfaces and attributes.
Returns
ClassTypeInfo<TypeName>
The class type info.
Inherited from
registerEditor()
protectedstaticregisterEditor<TypeName>(typeName,intfAndAttr?):EditorTypeInfo<TypeName>
Defined in: src/ui/widgets/widget.ts:357
Registers this type as an editor with the given type name.
Type Parameters
TypeName
TypeName
Parameters
typeName
StringLiteral<TypeName>
The type name to register.
intfAndAttr?
(InterfaceType | AttributeSpecifier)[]
Optional interfaces and attributes.
Returns
EditorTypeInfo<TypeName>
The editor type info.