Skip to main content

Dialog

Dialog is a UI widget for displaying both modal and non-modal dialog boxes.

Learn more about the Dialog plugin.

constructor

constructor(options: Dialog.Options);

The ui.Dialog constructor accepts several parameters:

width

[optional] The width of the dialog in pixels.

title

[optional] The title of the dialog.

content

[optional] The content of the dialog. It can be a string, HTML, or even a DOM element.

type

[optional] The type of the dialog. This effectively sets a CSS class on the dialog HTML container. The predefined dialog types are: 'info', 'alert', 'warning', 'success', and 'neutral'.

buttons

[optional] Buttons of the dialog. buttons is an array of objects of the form { action: String, content: String [, position: String] }.

action

[optional] The name of the action the button represents. When the button is clicked, the dialog object triggers an event action:[name], allowing you to react.

content

[optional] The label of the button (it can be HTML, as well).

position

[optional] It can be 'left', 'right', or 'center'. If position is not specified, it is considered to be 'right'. If multiple buttons are provided with the same position, they are placed left-to-right according to the order in which they were provided.

draggable

[optional] If draggable is true, the dialog window will be draggable by the user. It defaults to false.

closeButton

[optional] If closeButton is false, the dialog window will not display the default "cross" button in the top right corner allowing the user to close the dialog. It defaults to true.

closeButtonContent

[optional] The HTML content of the little close button in the top right corner of the dialog window. It defaults to a "cross" (x).

[optional] If false, the dialog window will not be made modal. In other words, the user will still be able to interact with other elements on the page. It defaults to true.

inlined

[optional] If true, the dialog window will be inlined in a container that you can pass to the open() method.

Methods

open()

dialog.open(el?: mvc.$HTMLElement): this;

Open the dialog window.

close()

dialog.close(): this;

Close the dialog window.

on()

dialog.on(eventName: string, callback: EventHandler, context?: any): this;

Register a handler function that will be called whenever eventName is triggered. The optional context is an object that will be the context of the handler function (the this).

Events

The Dialog object triggers events when the user clicks one of its buttons. Events can be handled by using the on() method.

action:[name]

Triggered when the user clicks a button in the dialog with action named [name].

close

Triggered when the dialog gets closed.

Types

Options

interface Options extends mvc.ViewOptions<undefined> {
draggable?: boolean;
closeButtonContent?: mvc.$HTMLElement;
closeButton?: boolean;
inlined?: boolean;
modal?: boolean;
width?: number | string;
title?: string;
buttons?: Array<{
content?: mvc.$HTMLElement;
position?: string;
action?: string;
}>;
type?: string;
content?: mvc.$HTMLElement;
}