Drupal → Изменить дефолтные опции jQuery UI Dialog

02.04.2018

Пример изменения дефолтных опций всех диалогов из своей темы:

1. js/jquery.ui.dialog.defaults.js:

// Способ 1
jQuery.extend(jQuery.ui.dialog.prototype.options, {
  'width': 'auto',
  'modal': true,
  'closeText': Drupal.t('Close')
});

// Способ 2
jQuery.widget('ui.dialog', jQuery.ui.dialog, {
  options: {
    'width': 'auto',
    'modal': true,
    'closeText': Drupal.t('Close')
  },
});

2. THEMENAME.theme:

/**
 * Implements hook_library_info_alter().
 */
function THEMENAME_library_info_alter(array &$libraries, string $extension): void {
  if ($extension == 'core') {
    $js_path = '/' . \Drupal::service('extension.path.resolver')->getPath('theme', 'THEMENAME') . '/js/jquery.ui.dialog.defaults.js';
    $libraries['drupal.dialog']['js'][$js_path] = [];
    $libraries['jquery.ui.dialog']['js'][$js_path] = [];
  }
}

3. Сбросить кэш.

Написанное актуально для
Drupal 8+
Похожие записи

Комментарии

HarryAscent
24.06.2019, 14:48

Как закрывать попап-окно по нажатию на область вне окна? closeOutside?

Добавить комментарий