acquia_dam-1.0.0-rc1/js/acquia_dam.media_library.source_menu.js

js/acquia_dam.media_library.source_menu.js
(function ($, Drupal, drupalSettings) {
  Drupal.behaviors.acquiaDamDisableSourceMenu = {
    attach: function attach(context, settings) {
      function sourceMenuCheck() {
        let source_field = document.getElementsByClassName('js-acquia-dam-source-field')[0];
        if (
          currentSelection.length === settings.media_library.selection_remaining
        ) {
          source_field.classList.add('disable-select');
        } else {
          source_field.classList.remove('disable-select');
        }
      }
      const currentSelection = Drupal.MediaLibrary.currentSelection;
      const media_library_select_checkbox = once(
        'media_library_select_checkbox',
        '.media-library-item__click-to-select-checkbox input',
      );
      for (let i = 0; i < media_library_select_checkbox.length; i++) {
        $(media_library_select_checkbox[i]).on('change', sourceMenuCheck);
      }
    }
  };
  Drupal.behaviors.MediaLibrarySourceTabs = {
    attach: function attach(context) {
      const source_field = once(
        'js-acquia-dam-source-field',
        '.js-acquia-dam-source-field',
        context,
      ).shift();
      if (source_field) {
        source_field.addEventListener('change', function (e) {
          // Prevent the user to re-trigger the ajax while on progress.
          e.currentTarget.classList.add('disable-select')
          const ajaxObject = Drupal.ajax({
            wrapper: 'media-library-wrapper',
            url: drupalSettings.media_library[e.target.value],
            dialogType: 'ajax',
            progress: {
              type: 'throbber',
            },
          });
          ajaxObject.execute();
        });
      }
    },
  };
})(jQuery, Drupal, drupalSettings);

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc