Feature: #63729 - API for Twitter Bootstrap modals
See forge#63729
Description
Actions that require a users' attention must be visualized by modal windows. TWBS provides those, but extension authors or core developers must take care of its creation and handling themselves.
This API provides a basis to create modal windows with severity representation. For a better UX, if actions (buttons) are attached to the modal, one button must be a positive action. This button should get a btnClass and set as active.
Modals should be used rarely and only for confirmations. For information the TYPO3.Flashmessage API should be used. For complex content, like forms or a lot of information, please use normal pages.
Impact
API
The API provides only two public methods:
TYPO3.
Modal. confirm (title, content, severity, buttons) TYPO3.
Modal. dismiss ()
Modal Settings
Name | DataType | Mandatory | Description |
---|---|---|---|
title | string | Yes | The title displayed in the modal |
content | string|jQuery | Yes | The content displayed in the modal |
severity | int | Represents the severity of a modal. Please see TYPO3.Severity. Default is TYPO3. . | |
buttons | object[] | Actions rendered into the modal footer. If empty, the footer is not rendered. See table below. |
Button Settings
Name | DataType | Mandatory | Description |
---|---|---|---|
text | string | Yes | The text rendered into the button. |
trigger | function | Yes | Callback that's triggered on button click. |
active | bool | Marks the button as active. If true, the button gets the focus. | |
btnClass | string | The css class for the button |
Data-Attributes
It is also possible to use data-attributes to trigger a modal. e.g. on an anchor element, which prevents the default behavior.
Name | Description |
---|---|
data-title | the title text for the modal |
data-content | the content text for the modal |
data-severity | the severity for the modal, default is info (see TYPO3.Severity.*) |
data-href | the target URL, default is the href attribute of the element |
data-button-close-text | button text for the close/cancel button |
data-button-ok-text | button text for the ok button |
class="t3js-
marks the element as modal trigger
Examples
A basic modal without any specials can be created this way:
TYPO3.Modal.confirm('The title of the modal', 'This the body of the modal');
A modal as warning with button:
TYPO3.Modal.confirm('Warning', 'You may break the internet!', TYPO3.Severity.warning, [
{
text: 'Break it',
active: true,
trigger: function() {
// break the net
}
}, {
text: 'Abort!',
trigger: function() {
TYPO3.Modal.dismiss();
}
}
]);
A modal as warning:
TYPO3.Modal.confirm('Warning', 'You may break the internet!', TYPO3.Severity.warning);
A modal triggered on an anchor element:
<a href="delete.php" class="t3js-modal-trigger" data-title="Delete" data-content="Really delete?">delete</a>