diff --git a/modules/media_directories_ui/js/media_directories_ui.media.js b/modules/media_directories_ui/js/media_directories_ui.media.js index 196031d..fa38fec 100644 --- a/modules/media_directories_ui/js/media_directories_ui.media.js +++ b/modules/media_directories_ui/js/media_directories_ui.media.js @@ -1,4 +1,4 @@ -(function ($, Drupal) { +(function ($, Drupal, drupalSettings) { /** * Media item functionality. * @@ -102,46 +102,48 @@ }); // Drag and Drop functionality. - $(this).draggable({ - revert: true, - helper: 'clone', - start: function start(e) { - var nodes = []; - $.each(Drupal.MediaBrowser.getSelectedMids(), function (key, value) { - var $element = Drupal.MediaBrowser.getMediaElement(value); - - if ($element.length == 0) { - $element = $('
' + Drupal.t('Placeholder') + '
'); - } - - nodes.push({ - id: value, - element: $element + if (drupalSettings.media_directories.enabled_plugins.includes('dnd')) { + $(this).draggable({ + revert: true, + helper: 'clone', + start: function start(e) { + var nodes = []; + $.each(Drupal.MediaBrowser.getSelectedMids(), function (key, value) { + var $element = Drupal.MediaBrowser.getMediaElement(value); + + if ($element.length == 0) { + $element = $('
' + Drupal.t('Placeholder') + '
'); + } + + nodes.push({ + id: value, + element: $element + }); }); - }); - // If nothing is selected, then just use active item. - if (nodes.length === 0) { - nodes.push({ - id: this.dataset.mid, - element: $(this) - }); - } + // If nothing is selected, then just use active item. + if (nodes.length === 0) { + nodes.push({ + id: this.dataset.mid, + element: $(this) + }); + } - var $html = $('
'); - $html.append(''); - $html.append(''); - $html.append('' + Drupal.formatPlural(nodes.length, '1 item', '@count items') + ''); - $html.append(nodes[0].element[0].outerHTML); - return $.vakata.dnd.start(e, { - 'handleDndStopMedia': true, - 'currentDirectory': Drupal.MediaBrowser.activeDirectory, - 'jstree': true, - 'nodes': nodes - }, $html); - } - }); + var $html = $('
'); + $html.append(''); + $html.append(''); + $html.append('' + Drupal.formatPlural(nodes.length, '1 item', '@count items') + ''); + $html.append(nodes[0].element[0].outerHTML); + return $.vakata.dnd.start(e, { + 'handleDndStopMedia': true, + 'currentDirectory': Drupal.MediaBrowser.activeDirectory, + 'jstree': true, + 'nodes': nodes + }, $html); + } + }); + } }); } }; -})(jQuery, Drupal); \ No newline at end of file +})(jQuery, Drupal, drupalSettings); \ No newline at end of file diff --git a/modules/media_directories_ui/media_directories_ui.module b/modules/media_directories_ui/media_directories_ui.module index 0cb3c8f..ce35145 100644 --- a/modules/media_directories_ui/media_directories_ui.module +++ b/modules/media_directories_ui/media_directories_ui.module @@ -383,8 +383,8 @@ function media_directories_ui_form_media_directories_config_form_alter(&$form, F $form['media_directories_ui']['disable_dnd'] = [ '#type' => 'checkbox', - '#title' => t('Disable the drag&drop feature of jsTree'), - '#description' => t('If checked, folders cannot be dragged anymore. Media will remain drag&dropable.'), + '#title' => t('Disable the drag&drop'), + '#description' => t('If checked, folders and media cannot be drag and dropped anymore in the library.'), '#default_value' => $config->get('disable_dnd'), ];