Skip to content

@serenity-is/corelib / DialogOptions

Interface: DialogOptions

Defined in: src/base/dialogs.tsx:55

Options that configure a Dialog instance across all providers.

Remarks

The dialog provider is chosen automatically from DialogOptions.preferPanel, DialogOptions.preferBSModal, and feature detection (hasBSModal() / hasUIDialog()). Provider-specific options can be injected via DialogOptions.providerOptions.

Extended by

Properties

autoDispose?

optional autoDispose: boolean

Defined in: src/base/dialogs.tsx:57

When true, Dialog.dispose is called automatically on close.

Default Value

true


autoOpen?

optional autoOpen: boolean

Defined in: src/base/dialogs.tsx:59

When true, the dialog opens immediately after construction.

Default Value

true


backdrop?

optional backdrop: boolean | "static"

Defined in: src/base/dialogs.tsx:61

Backdrop behavior for Bootstrap modals; "static" prevents closing on outside click.

Default Value

false


buttons?

optional buttons: DialogButton[]

Defined in: src/base/dialogs.tsx:63

Buttons rendered in the dialog footer.


centered?

optional centered: boolean

Defined in: src/base/dialogs.tsx:65

Vertically centers a Bootstrap modal via modal-dialog-centered.

Default Value

true


closeButton?

optional closeButton: boolean

Defined in: src/base/dialogs.tsx:67

Whether to render the header close (× / btn-close) button.

Default Value

true


closeOnEscape?

optional closeOnEscape: boolean

Defined in: src/base/dialogs.tsx:69

Whether pressing Escape closes the dialog. Message dialogs default to true.


dialogClass?

optional dialogClass: string

Defined in: src/base/dialogs.tsx:71

Extra CSS class(es) added to the root dialog element (.modal, .ui-dialog, or .s-Panel).


element?

optional element: HTMLElement | ArrayLike<HTMLElement> | (element) => void

Defined in: src/base/dialogs.tsx:73

Body element or a callback that populates the freshly created body element. Array-like values are treated as the content node.


fade?

optional fade: boolean

Defined in: src/base/dialogs.tsx:75

Enables fade animation for Bootstrap modals.

Default Value

false for message dialogs, true otherwise


fullScreen?

optional fullScreen: boolean | "sm-down" | "md-down" | "lg-down" | "xl-down" | "xxl-down"

Defined in: src/base/dialogs.tsx:77

Applies a modal-fullscreen[-{breakpoint}-down] class. Only effective for Bootstrap modals.


optional modal: boolean

Defined in: src/base/dialogs.tsx:79

jQuery UI modal flag. Retained for backward compatibility; does not affect Bootstrap modals.


onClose()?

optional onClose: (result, e?) => void

Defined in: src/base/dialogs.tsx:83

Callback invoked after the dialog is closed, receiving the result code.

Parameters

result

string

e?

Event

Returns

void


onOpen()?

optional onOpen: (e?) => void

Defined in: src/base/dialogs.tsx:81

Callback invoked after the dialog is opened.

Parameters

e?

Event

Returns

void


preferBSModal?

optional preferBSModal: boolean

Defined in: src/base/dialogs.tsx:85

When both providers are available, prefer Bootstrap modal over jQuery UI dialog.

Default Value

true


preferPanel?

optional preferPanel: boolean

Defined in: src/base/dialogs.tsx:87

Force inline panel mode even when modal / jQuery UI providers are available.


providerOptions()?

optional providerOptions: (type, opt) => any

Defined in: src/base/dialogs.tsx:89

Returns provider-specific options merged into the underlying call (Bootstrap modal options or jQuery UI dialog options).

Parameters

type

DialogProviderType

Resolved provider type.

opt

DialogOptions

The resolved dialog options.

Returns

any

Provider-specific options object.


scrollable?

optional scrollable: boolean

Defined in: src/base/dialogs.tsx:91

Makes the Bootstrap modal body scrollable via modal-dialog-scrollable.


size?

optional size: "sm" | "md" | "lg" | "xl"

Defined in: src/base/dialogs.tsx:93

Bootstrap modal size.

Default Value

"lg" for regular dialogs, "md" for message dialogs


title?

optional title: string

Defined in: src/base/dialogs.tsx:95

Title text shown in the dialog header.


width?

optional width: number

Defined in: src/base/dialogs.tsx:97

Initial width in pixels; only used by the jQuery UI dialog provider.