Issue #3296098 by catch, finnsky, smustgrave: Removal :tabbable usage in dialog.js

merge-requests/7849/head
nod_ 2024-04-17 17:13:43 +02:00
parent a825ce6415
commit 94bfd9fa39
No known key found for this signature in database
GPG Key ID: 76624892606FA197
11 changed files with 43 additions and 14 deletions

View File

@ -76,6 +76,16 @@ class OpenDialogCommand implements CommandInterface, CommandWithAttachedAssetsIn
$title = PlainTextOutput::renderFromHtml($title); $title = PlainTextOutput::renderFromHtml($title);
$dialog_options += ['title' => $title]; $dialog_options += ['title' => $title];
if (isset($dialog_options['dialogClass'])) {
@trigger_error('Passing $dialog_options[\'dialogClass\'] to OpenDialogCommand::__construct() is deprecated in drupal:10.3.0 and will be removed in drupal:12.0.0. Use $dialog_options[\'classes\'] instead. See https://www.drupal.org/node/3440844', E_USER_DEPRECATED);
if (isset($dialog_options['classes']['ui-dialog'])) {
$dialog_options['classes']['ui-dialog'] = $dialog_options['classes']['ui-dialog'] . ' ' . $dialog_options['dialogClass'];
}
else {
$dialog_options['classes']['ui-dialog'] = $dialog_options['dialogClass'];
}
}
$this->selector = $selector; $this->selector = $selector;
$this->content = $content; $this->content = $content;
$this->dialogOptions = $dialog_options; $this->dialogOptions = $dialog_options;

View File

@ -38,6 +38,15 @@ class OpenOffCanvasDialogCommand extends OpenDialogCommand {
* (optional) The position to render the off-canvas dialog. * (optional) The position to render the off-canvas dialog.
*/ */
public function __construct(string|\Stringable|null $title, $content, array $dialog_options = [], $settings = NULL, $position = 'side') { public function __construct(string|\Stringable|null $title, $content, array $dialog_options = [], $settings = NULL, $position = 'side') {
$dialog_class = '';
if (isset($dialog_options['dialogClass'])) {
@trigger_error('Passing $dialog_options[\'dialogClass\'] to OpenOffCanvasDialogCommand::__construct() is deprecated in drupal:10.3.0 and will be removed in drupal:12.0.0. Use $dialog_options[\'classes\'] instead. See https://www.drupal.org/node/3440844', E_USER_DEPRECATED);
$dialog_class = $dialog_options['dialogClass'];
}
if (isset($dialog_options['classes']['ui-dialog'])) {
$dialog_class = $dialog_options['classes']['ui-dialog'];
}
$dialog_options['classes']['ui-dialog'] = trim("$dialog_class ui-dialog-off-canvas ui-dialog-position-$position");
parent::__construct('#drupal-off-canvas', $title, $content, $dialog_options, $settings); parent::__construct('#drupal-off-canvas', $title, $content, $dialog_options, $settings);
$this->dialogOptions['modal'] = FALSE; $this->dialogOptions['modal'] = FALSE;
$this->dialogOptions['autoResize'] = FALSE; $this->dialogOptions['autoResize'] = FALSE;
@ -45,9 +54,7 @@ class OpenOffCanvasDialogCommand extends OpenDialogCommand {
$this->dialogOptions['draggable'] = FALSE; $this->dialogOptions['draggable'] = FALSE;
$this->dialogOptions['drupalAutoButtons'] = FALSE; $this->dialogOptions['drupalAutoButtons'] = FALSE;
$this->dialogOptions['drupalOffCanvasPosition'] = $position; $this->dialogOptions['drupalOffCanvasPosition'] = $position;
if (empty($dialog_options['dialogClass'])) {
$this->dialogOptions['dialogClass'] = "ui-dialog-off-canvas ui-dialog-position-$position";
}
// Add CSS class to #drupal-off-canvas element. This enables developers to // Add CSS class to #drupal-off-canvas element. This enables developers to
// select previous versions of off-canvas styles by using custom selector: // select previous versions of off-canvas styles by using custom selector:
// #drupal-off-canvas:not(.drupal-off-canvas-reset). // #drupal-off-canvas:not(.drupal-off-canvas-reset).

View File

@ -820,8 +820,9 @@ media_library_mediaLibrary:
name: Drupal.ckeditor5.openDialog name: Drupal.ckeditor5.openDialog
invoke: false invoke: false
dialogSettings: dialogSettings:
classes:
ui-dialog: media-library-widget-modal
height: 75% height: 75%
dialogClass: media-library-widget-modal
drupal: drupal:
label: Media Library label: Media Library
elements: false elements: false

View File

@ -137,7 +137,9 @@
); );
const confirmationDialog = Drupal.dialog(`<div>${message}</div>`, { const confirmationDialog = Drupal.dialog(`<div>${message}</div>`, {
title: Drupal.t('Change text format?'), title: Drupal.t('Change text format?'),
dialogClass: 'editor-change-text-format-modal', classes: {
'ui-dialog': 'editor-change-text-format-modal',
},
resizable: false, resizable: false,
buttons: [ buttons: [
{ {

View File

@ -104,7 +104,9 @@ class EditorImageDialogTest extends EntityKernelTestBase {
], ],
'dialogOptions' => [ 'dialogOptions' => [
'title' => 'Edit Image', 'title' => 'Edit Image',
'dialogClass' => 'editor-image-dialog', 'classes' => [
'ui-dialog' => 'editor-image-dialog',
],
'autoResize' => 'true', 'autoResize' => 'true',
], ],
'_drupal_ajax' => '1', '_drupal_ajax' => '1',

View File

@ -89,7 +89,9 @@ class MediaLibraryUiBuilder {
*/ */
public static function dialogOptions() { public static function dialogOptions() {
return [ return [
'dialogClass' => 'media-library-widget-modal', 'classes' => [
'ui-dialog' => 'media-library-widget-modal',
],
'title' => t('Add or select media'), 'title' => t('Add or select media'),
'height' => '75%', 'height' => '75%',
'width' => '75%', 'width' => '75%',

View File

@ -126,7 +126,9 @@ class TestController {
'class' => ['use-ajax'], 'class' => ['use-ajax'],
'data-dialog-type' => 'modal', 'data-dialog-type' => 'modal',
'data-dialog-options' => Json::encode([ 'data-dialog-options' => Json::encode([
'dialogClass' => 'no-close', 'classes' => [
'ui-dialog' => 'no-close',
],
]), ]),
], ],
'#attached' => [ '#attached' => [

View File

@ -40,6 +40,7 @@ class OffCanvasDialogTest extends BrowserTestBase {
// Set up variables for this test. // Set up variables for this test.
$dialog_renderable = AjaxTestController::dialogContents(); $dialog_renderable = AjaxTestController::dialogContents();
$dialog_contents = \Drupal::service('renderer')->renderRoot($dialog_renderable); $dialog_contents = \Drupal::service('renderer')->renderRoot($dialog_renderable);
$dialog_class = 'ui-dialog-off-canvas ui-dialog-position-' . ($position ?: 'side');
$off_canvas_expected_response = [ $off_canvas_expected_response = [
'command' => 'openDialog', 'command' => 'openDialog',
'selector' => '#drupal-off-canvas', 'selector' => '#drupal-off-canvas',
@ -47,6 +48,7 @@ class OffCanvasDialogTest extends BrowserTestBase {
'data' => (string) $dialog_contents, 'data' => (string) $dialog_contents,
'dialogOptions' => 'dialogOptions' =>
[ [
'classes' => ['ui-dialog' => $dialog_class, 'ui-dialog-content' => 'drupal-off-canvas-reset'],
'title' => 'AJAX Dialog & contents', 'title' => 'AJAX Dialog & contents',
'modal' => FALSE, 'modal' => FALSE,
'autoResize' => FALSE, 'autoResize' => FALSE,
@ -54,8 +56,6 @@ class OffCanvasDialogTest extends BrowserTestBase {
'draggable' => FALSE, 'draggable' => FALSE,
'drupalAutoButtons' => FALSE, 'drupalAutoButtons' => FALSE,
'drupalOffCanvasPosition' => $position ?: 'side', 'drupalOffCanvasPosition' => $position ?: 'side',
'dialogClass' => 'ui-dialog-off-canvas ui-dialog-position-' . ($position ?: 'side'),
'classes' => ['ui-dialog-content' => 'drupal-off-canvas-reset'],
'width' => 300, 'width' => 300,
], ],
'effect' => 'fade', 'effect' => 'fade',

View File

@ -22,7 +22,9 @@ class TestController extends ControllerBase {
'class' => ['use-ajax'], 'class' => ['use-ajax'],
'data-dialog-type' => 'modal', 'data-dialog-type' => 'modal',
'data-dialog-options' => Json::encode([ 'data-dialog-options' => Json::encode([
'dialogClass' => 'views-test-modal', 'classes' => [
'ui-dialog' => 'views-test-modal',
],
'height' => '50%', 'height' => '50%',
'width' => '50%', 'width' => '50%',
'title' => $this->t('Administer content'), 'title' => $this->t('Administer content'),

View File

@ -244,7 +244,9 @@ abstract class ViewsFormBase extends FormBase implements ViewsFormInterface {
$display .= $output; $display .= $output;
$options = [ $options = [
'dialogClass' => 'views-ui-dialog js-views-ui-dialog', 'classes' => [
'ui-dialog' => 'views-ui-dialog js-views-ui-dialog',
],
'width' => '75%', 'width' => '75%',
]; ];

View File

@ -34,8 +34,7 @@ class OpenOffCanvasDialogCommandTest extends UnitTestCase {
'resizable' => 'w', 'resizable' => 'w',
'draggable' => FALSE, 'draggable' => FALSE,
'drupalAutoButtons' => FALSE, 'drupalAutoButtons' => FALSE,
'dialogClass' => 'ui-dialog-off-canvas ui-dialog-position-' . $position, 'classes' => ['ui-dialog' => 'ui-dialog-off-canvas ui-dialog-position-' . $position, 'ui-dialog-content' => 'drupal-off-canvas-reset'],
'classes' => ['ui-dialog-content' => 'drupal-off-canvas-reset'],
'width' => 300, 'width' => 300,
'drupalOffCanvasPosition' => $position, 'drupalOffCanvasPosition' => $position,
], ],