1.20.x ajax.inc | ajax_command_open_dialog($selector, $title, $html, array $dialog_options = array()) |
Provides an AJAX command to open content in a dialog.
This command is implemented by Backdrop.ajax.prototype.commands.openDialog() defined in misc/dialog.ajax.js.
Parameters
string $selector: The selector of the dialog.
string $title: The title of the dialog.
string $html: HTML that will be placed in the dialog.
array $dialog_options: (optional) Options to be passed to the dialog implementation. Any jQuery UI option can be used. See http://api.jqueryui.com/dialog.
Return value
array: An array suitable for use with the ajax_render() function.
Related topics
File
- includes/
ajax.inc, line 1353 - Functions for use with Backdrop's Ajax framework.
Code
function ajax_command_open_dialog($selector, $title, $html, array $dialog_options = array()) {
// Add the library for handling the dialog in the response.
backdrop_add_library('system', 'backdrop.dialog.ajax');
// jQuery UI does not allow markup in its titles, and does its own escaping.
// The value passed in should already be escaped (as it would be from
// backdrop_get_title()), so we decode it back to the original characters.
$title = html_entity_decode(strip_tags($title), ENT_QUOTES);
$dialog_options['title'] = $title;
// For consistency ensure the modal option is set to TRUE or FALSE.
$dialog_options['modal'] = isset($dialog_options['modal']) && $dialog_options['modal'];
return array(
'command' => 'openDialog',
'selector' => $selector,
'data' => $html,
'dialogOptions' => $dialog_options,
);
}