class OpenDialogCommand in Drupal 9
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Ajax/OpenDialogCommand.php \Drupal\Core\Ajax\OpenDialogCommand
Defines an AJAX command to open certain content in a dialog.
Hierarchy
- class \Drupal\Core\Ajax\OpenDialogCommand implements CommandInterface, CommandWithAttachedAssetsInterface uses CommandWithAttachedAssetsTrait
Expanded class hierarchy of OpenDialogCommand
Related topics
3 files declare their use of OpenDialogCommand
- AjaxCommandsTest.php in core/
tests/ Drupal/ Tests/ Core/ Ajax/ AjaxCommandsTest.php - AjaxTestDialogForm.php in core/
modules/ system/ tests/ modules/ ajax_test/ src/ Form/ AjaxTestDialogForm.php - DialogRenderer.php in core/
lib/ Drupal/ Core/ Render/ MainContent/ DialogRenderer.php
File
- core/
lib/ Drupal/ Core/ Ajax/ OpenDialogCommand.php, line 12
Namespace
Drupal\Core\AjaxView source
class OpenDialogCommand implements CommandInterface, CommandWithAttachedAssetsInterface {
use CommandWithAttachedAssetsTrait;
/**
* The selector of the dialog.
*
* @var string
*/
protected $selector;
/**
* The title of the dialog.
*
* @var string
*/
protected $title;
/**
* The content for the dialog.
*
* Either a render array or an HTML string.
*
* @var string|array
*/
protected $content;
/**
* Stores dialog-specific options passed directly to jQuery UI dialogs. Any
* jQuery UI option can be used. See http://api.jqueryui.com/dialog.
*
* @var array
*/
protected $dialogOptions;
/**
* Custom settings that will be passed to the Drupal behaviors on the content
* of the dialog.
*
* @var array
*/
protected $settings;
/**
* Constructs an OpenDialogCommand object.
*
* @param string $selector
* The selector of the dialog.
* @param string $title
* The title of the dialog.
* @param string|array $content
* The content that will be placed in the dialog, either a render array
* or an HTML string.
* @param 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.
* @param array|null $settings
* (optional) Custom settings that will be passed to the Drupal behaviors
* on the content of the dialog. If left empty, the settings will be
* populated automatically from the current request.
*/
public function __construct($selector, $title, $content, array $dialog_options = [], $settings = NULL) {
$title = PlainTextOutput::renderFromHtml($title);
$dialog_options += [
'title' => $title,
];
$this->selector = $selector;
$this->content = $content;
$this->dialogOptions = $dialog_options;
$this->settings = $settings;
}
/**
* Returns the dialog options.
*
* @return array
*/
public function getDialogOptions() {
return $this->dialogOptions;
}
/**
* Sets the dialog options array.
*
* @param array $dialog_options
* Options to be passed to the dialog implementation. Any jQuery UI option
* can be used. See http://api.jqueryui.com/dialog.
*/
public function setDialogOptions($dialog_options) {
$this->dialogOptions = $dialog_options;
}
/**
* Sets a single dialog option value.
*
* @param string $key
* Key of the dialog option. Any jQuery UI option can be used.
* See http://api.jqueryui.com/dialog.
* @param mixed $value
* Option to be passed to the dialog implementation.
*/
public function setDialogOption($key, $value) {
$this->dialogOptions[$key] = $value;
}
/**
* Sets the dialog title (an alias of setDialogOptions).
*
* @param string $title
* The new title of the dialog.
*/
public function setDialogTitle($title) {
$this
->setDialogOption('title', $title);
}
/**
* Implements \Drupal\Core\Ajax\CommandInterface:render().
*/
public function render() {
// For consistency ensure the modal option is set to TRUE or FALSE.
$this->dialogOptions['modal'] = isset($this->dialogOptions['modal']) && $this->dialogOptions['modal'];
return [
'command' => 'openDialog',
'selector' => $this->selector,
'settings' => $this->settings,
'data' => $this
->getRenderedContent(),
'dialogOptions' => $this->dialogOptions,
];
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
CommandWithAttachedAssetsTrait:: |
protected | property | The attached assets for this Ajax command. | |
CommandWithAttachedAssetsTrait:: |
public | function | Gets the attached assets. | |
CommandWithAttachedAssetsTrait:: |
protected | function | Processes the content for output. | |
OpenDialogCommand:: |
protected | property | The content for the dialog. | |
OpenDialogCommand:: |
protected | property | Stores dialog-specific options passed directly to jQuery UI dialogs. Any jQuery UI option can be used. See http://api.jqueryui.com/dialog. | |
OpenDialogCommand:: |
protected | property | The selector of the dialog. | |
OpenDialogCommand:: |
protected | property | Custom settings that will be passed to the Drupal behaviors on the content of the dialog. | |
OpenDialogCommand:: |
protected | property | The title of the dialog. | |
OpenDialogCommand:: |
public | function | Returns the dialog options. | |
OpenDialogCommand:: |
public | function |
Implements \Drupal\Core\Ajax\CommandInterface:render(). Overrides CommandInterface:: |
1 |
OpenDialogCommand:: |
public | function | Sets a single dialog option value. | |
OpenDialogCommand:: |
public | function | Sets the dialog options array. | |
OpenDialogCommand:: |
public | function | Sets the dialog title (an alias of setDialogOptions). | |
OpenDialogCommand:: |
public | function | Constructs an OpenDialogCommand object. | 2 |