presto-8.x-2.2/js/src/media_entity_browser.view.js

js/src/media_entity_browser.view.js
/**
 * @file
 * Defines the behavior of the media entity browser view.
 *
 * Based on code by Burda in BurdaMagazinOrg/thunder, copyright (c) 2017.
 * Distributed under the GNU GPL v2 or higher. For full terms see the LICENSE
 * file.
 */

/* global Drupal drupalSettings */

(($) => {
  /**
   * Attaches the behavior of the media entity browser view.
   */
  Drupal.behaviors.mediaEntityBrowserView = {
    attach(context/* , settings */) {
      $('.views-row', context).each(() => {
        const $row = $(this);
        const $input = $row.find('.views-field-entity-browser-select input');

        // When Auto Select functionality is enabled, then select entity
        // on click, without marking it as selected.
        if (drupalSettings.entity_browser_widget.auto_select) {
          $row.once('register-row-click').click((event) => {
            event.preventDefault();

            $row.parents('form')
              .find('.entities-list')
              .trigger('add-entities', [[$input.val()]]);
          });
        }
        else {
          $row[$input.prop('checked') ? 'addClass' : 'removeClass']('checked');

          $row.once('register-row-click').click(() => {
            $input.prop('checked', !$input.prop('checked'));
            $row[$input.prop('checked') ? 'addClass' : 'removeClass']('checked');
          });
        }
      });
    },
  };
})(jQuery);

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

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