2021-05-13 07:29:46 +08:00
|
|
|
/**
|
|
|
|
* The `Modal` component displays a modal dialog, wrapped in a form. Subclasses
|
|
|
|
* should implement the `className`, `title`, and `content` methods.
|
|
|
|
*
|
|
|
|
* @abstract
|
|
|
|
*/
|
2021-08-19 17:17:15 +08:00
|
|
|
export default class Modal extends Component<import("../Component").ComponentAttrs, undefined> {
|
2021-05-13 07:29:46 +08:00
|
|
|
/**
|
|
|
|
* Determine whether or not the modal should be dismissible via an 'x' button.
|
|
|
|
*/
|
|
|
|
static isDismissible: boolean;
|
|
|
|
constructor();
|
|
|
|
/**
|
|
|
|
* Attributes for an alert component to show below the header.
|
|
|
|
*
|
|
|
|
* @type {object}
|
|
|
|
*/
|
|
|
|
alertAttrs: object;
|
|
|
|
/**
|
|
|
|
* Get the class name to apply to the modal.
|
|
|
|
*
|
|
|
|
* @return {String}
|
|
|
|
* @abstract
|
|
|
|
*/
|
|
|
|
className(): string;
|
|
|
|
/**
|
|
|
|
* Get the title of the modal dialog.
|
|
|
|
*
|
|
|
|
* @return {String}
|
|
|
|
* @abstract
|
|
|
|
*/
|
|
|
|
title(): string;
|
|
|
|
/**
|
|
|
|
* Get the content of the modal.
|
|
|
|
*
|
|
|
|
* @return {VirtualElement}
|
|
|
|
* @abstract
|
|
|
|
*/
|
|
|
|
content(): any;
|
|
|
|
/**
|
|
|
|
* Handle the modal form's submit event.
|
|
|
|
*
|
|
|
|
* @param {Event} e
|
|
|
|
*/
|
|
|
|
onsubmit(): void;
|
|
|
|
/**
|
|
|
|
* Focus on the first input when the modal is ready to be used.
|
|
|
|
*/
|
|
|
|
onready(): void;
|
|
|
|
/**
|
|
|
|
* Hide the modal.
|
|
|
|
*/
|
|
|
|
hide(): void;
|
|
|
|
/**
|
|
|
|
* Stop loading.
|
|
|
|
*/
|
|
|
|
loaded(): void;
|
|
|
|
loading: boolean | undefined;
|
|
|
|
/**
|
|
|
|
* Show an alert describing an error returned from the API, and give focus to
|
|
|
|
* the first relevant field.
|
|
|
|
*
|
|
|
|
* @param {RequestError} error
|
|
|
|
*/
|
|
|
|
onerror(error: any): void;
|
|
|
|
}
|
|
|
|
import Component from "../Component";
|