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'),
];