Skip to content

@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

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

BaseDialog.constructor

Properties

dialog

protected dialog: Dialog

Defined in: src/ui/dialogs/basedialog.tsx:25

Inherited from

BaseDialog.dialog


domNode

readonly domNode: HTMLElement

Defined in: src/ui/widgets/widget.ts:24

The DOM node this widget is bound to.

Inherited from

BaseDialog.domNode


idPrefix

readonly idPrefix: string

Defined in: src/ui/widgets/widget.ts:22

The id prefix used for this widget's child element ids.

Inherited from

BaseDialog.idPrefix


options

protected readonly options: WidgetProps<P>

Defined in: src/ui/widgets/widget.ts:18

The widget's options/props.

Inherited from

BaseDialog.options


tabs

protected tabs: Fluent<HTMLElement>

Defined in: src/ui/dialogs/basedialog.tsx:22

Inherited from

BaseDialog.tabs


toolbar

protected toolbar: Toolbar

Defined in: src/ui/dialogs/basedialog.tsx:23

Inherited from

BaseDialog.toolbar


uniqueName

readonly uniqueName: string

Defined in: src/ui/widgets/widget.ts:20

A unique name for this widget instance, used for event namespacing.

Inherited from

BaseDialog.uniqueName


validator

protected validator: any

Defined in: src/ui/dialogs/basedialog.tsx:24

Inherited from

BaseDialog.validator


[typeInfo]

static [typeInfo]: ClassTypeInfo<"Serenity.">

Defined in: src/ui/datagrid/columnpickerdialog.tsx:56

Overrides

BaseDialog.[typeInfo]


isComponent

readonly static isComponent: true = true

Defined in: src/ui/widgets/widget.ts:334

Inherited from

BaseDialog.isComponent

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

BaseDialog.dialogTitle


element

Get Signature

get element(): Fluent

Defined in: src/ui/widgets/widget.ts:82

Returns a Fluent(this.domNode) object

Returns

Fluent

Inherited from

BaseDialog.element


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

BaseDialog.props

Methods

addCssClass()

protected addCssClass(): 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

BaseDialog.addCssClass


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

BaseDialog.addValidationRule

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

BaseDialog.addValidationRule


afterRender()

protected afterRender(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

BaseDialog.afterRender


arrange()

arrange(): void

Defined in: src/ui/dialogs/basedialog.tsx:248

Triggers layout on all elements that require it.

Returns

void

Inherited from

BaseDialog.arrange


byId()

protected byId<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

BaseDialog.byId


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

BaseDialog.change


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

BaseDialog.changeSelect2


createColumnItems()

protected createColumnItems(): void

Defined in: src/ui/datagrid/columnpickerdialog.tsx:485

Creates the list items for all columns.

Returns

void


createSearch()

protected createSearch(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()

protected deferRender(): 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

BaseDialog.deferRender


destroy()

destroy(): void

Defined in: src/ui/datagrid/columnpickerdialog.tsx:156

Cleans up handlers and delegates to the base destroy.

Returns

void

Overrides

BaseDialog.destroy


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

BaseDialog.dialogClose


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

BaseDialog.dialogOpen


findById()

protected findById<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

BaseDialog.findById


getCssClass()

protected getCssClass(): 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

BaseDialog.getCssClass


getCustomAttribute()

protected getCustomAttribute<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

BaseDialog.getCustomAttribute


getDialogButtons()

protected getDialogButtons(): DialogButton[]

Defined in: src/ui/datagrid/columnpickerdialog.tsx:419

Returns no dialog buttons; the picker uses its own controls.

Returns

DialogButton[]

Null.

Overrides

BaseDialog.getDialogButtons


getDialogOptions()

protected getDialogOptions(): DialogOptions

Defined in: src/ui/datagrid/columnpickerdialog.tsx:408

Returns the dialog options, sized for the column picker.

Returns

DialogOptions

Dialog options.

Overrides

BaseDialog.getDialogOptions


getGridField()

getGridField(): Fluent

Defined in: src/ui/widgets/widget.ts:171

Returns the closest .field element containing the widget's DOM node.

Returns

Fluent

A Fluent wrapper for the grid field.

Inherited from

BaseDialog.getGridField


getInitialDialogTitle()

protected getInitialDialogTitle(): 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()

protected getToolbarButtons(): ToolButton[]

Defined in: src/ui/dialogs/basedialog.tsx:193

Returns the toolbar buttons for this dialog.

Returns

ToolButton[]

Tool button definitions.

Inherited from

BaseDialog.getToolbarButtons


getValidatorOptions()

protected getValidatorOptions(): 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()

protected handleResponsive(): void

Defined in: src/ui/dialogs/basedialog.tsx:314

Handles responsive layout for the dialog.

Returns

void

Inherited from

BaseDialog.handleResponsive


handleRestoreDefaults()

protected handleRestoreDefaults(): void

Defined in: src/ui/datagrid/columnpickerdialog.tsx:275

Restores the default column order and visibility.

Returns

void


handleSearch()

protected handleSearch(args): void

Defined in: src/ui/datagrid/columnpickerdialog.tsx:352

Filters the column list based on the search query.

Parameters

args

QuickSearchArgs

Quick search arguments.

Returns

void


handleToggleAllClick()

protected handleToggleAllClick(): void

Defined in: src/ui/datagrid/columnpickerdialog.tsx:322

Handles clicks on the toggle-all checkbox.

Returns

void


handleToggleClick()

protected handleToggleClick(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

BaseDialog.init


initDialog()

protected initDialog(): void

Defined in: src/ui/dialogs/basedialog.tsx:128

Initializes the underlying dialog element.

Returns

void

Inherited from

BaseDialog.initDialog


initTabs()

protected initTabs(): void

Defined in: src/ui/dialogs/basedialog.tsx:304

Initializes the tabs from the Tabs element.

Returns

void

Inherited from

BaseDialog.initTabs


initToolbar()

protected initToolbar(): void

Defined in: src/ui/dialogs/basedialog.tsx:200

Initializes the toolbar from the Toolbar element.

Returns

void

Inherited from

BaseDialog.initToolbar


initUIDialog()

protected initUIDialog(): void

Defined in: src/ui/dialogs/basedialog.tsx:140

Initializes jQuery UI dialog-specific behavior.

Returns

void

Inherited from

BaseDialog.initUIDialog


initValidator()

protected initValidator(): void

Defined in: src/ui/dialogs/basedialog.tsx:222

Initializes the form validator.

Returns

void

Inherited from

BaseDialog.initValidator


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()

protected isStaticPanel(): boolean

Defined in: src/ui/dialogs/basedialog.tsx:89

Whether the dialog renders as a static panel.

Returns

boolean

True when static.

Inherited from

BaseDialog.isStaticPanel


legacyTemplateRender()

protected legacyTemplateRender(): 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()

protected onChange(args): PromiseLike<any>

Defined in: src/ui/datagrid/columnpickerdialog.tsx:189

Invokes the change callback with the given arguments.

Parameters

args

ColumnPickerChangeArgs

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

BaseDialog.onClose


onDialogClose()

protected onDialogClose(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

BaseDialog.onDialogClose


onDialogOpen()

protected onDialogOpen(): void

Defined in: src/ui/datagrid/columnpickerdialog.tsx:508

Called when the dialog opens; builds the column list and focuses search.

Returns

void

Overrides

BaseDialog.onDialogOpen


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

BaseDialog.onOpen


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

BaseDialog.render


renderContents()

protected renderContents(): any

Defined in: src/ui/datagrid/columnpickerdialog.tsx:222

Renders the dialog contents.

Returns

any

The rendered dialog content.

Overrides

BaseDialog.renderContents


reorderColumns()

protected reorderColumns(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()

protected resetValidation(): void

Defined in: src/ui/dialogs/basedialog.tsx:233

Resets all validation state.

Returns

void

Inherited from

BaseDialog.resetValidation


syncOrAsyncThen()

protected syncOrAsyncThen<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

BaseDialog.syncOrAsyncThen


toggleColumns()

protected toggleColumns(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()

protected updateToggleAllValue(): 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()

protected useIdPrefix(): IdPrefixType

Defined in: src/ui/widgets/widget.ts:329

Returns an id prefix helper for resolving child element ids.

Returns

IdPrefixType

An IdPrefixType proxy for this widget's id prefix.

Inherited from

BaseDialog.useIdPrefix


validateForm()

protected validateForm(): boolean

Defined in: src/ui/dialogs/basedialog.tsx:241

Validates the form.

Returns

boolean

True when the form is valid.

Inherited from

BaseDialog.validateForm


create()

static create<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

BaseDialog.create


createDefaultElement()

static createDefaultElement(): 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()

static createToolButton(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

ToolButton

Tool button definition.


getWidgetName()

static getWidgetName(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

BaseDialog.getWidgetName


openDialog()

static openDialog(opt): void

Defined in: src/ui/datagrid/columnpickerdialog.tsx:520

Opens a column picker dialog with the given options.

Parameters

opt

ColumnPickerDialogOptions

Options for the dialog.

Returns

void


registerClass()

protected static registerClass<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

BaseDialog.registerClass


registerEditor()

protected static registerEditor<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.

Inherited from

BaseDialog.registerEditor