--- /dev/null
+/**
+ * @file media_library.click_to_select.es6.js
+ */
+
+(($, Drupal) => {
+ /**
+ * Allows users to select an element which checks a hidden checkbox.
+ */
+ Drupal.behaviors.ClickToSelect = {
+ attach(context) {
+ $('.js-click-to-select-trigger', context)
+ .once('media-library-click-to-select')
+ .on('click', event => {
+ // Links inside the trigger should not be click-able.
+ event.preventDefault();
+ // Click the hidden checkbox when the trigger is clicked.
+ const $input = $(event.currentTarget)
+ .closest('.js-click-to-select')
+ .find('.js-click-to-select-checkbox input');
+ $input.prop('checked', !$input.prop('checked')).trigger('change');
+ });
+ $('.js-click-to-select-checkbox input', context)
+ .once('media-library-click-to-select')
+ .on('change', ({ currentTarget }) => {
+ $(currentTarget)
+ .closest('.js-click-to-select')
+ .toggleClass('checked', $(currentTarget).prop('checked'));
+ });
+ },
+ };
+})(jQuery, Drupal);