Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / web / core / modules / settings_tray / js / settings_tray.js
index 88cbb0eb6e4ae97eae459a96b478b9876a5b9e2a..7a83e156ca5e428abbd099518392ea46c1de22d6 100644 (file)
     setEditModeState(!isInEditMode());
   }
 
+  function prepareAjaxLinks() {
+    Drupal.ajax.instances.filter(function (instance) {
+      return instance && $(instance.element).attr('data-dialog-renderer') === 'off_canvas';
+    }).forEach(function (instance) {
+      if (!instance.options.data.hasOwnProperty('dialogOptions')) {
+        instance.options.data.dialogOptions = {};
+      }
+      instance.options.data.dialogOptions.settingsTrayActiveEditableId = $(instance.element).parents('.settings-tray-editable').attr('id');
+      instance.progress = { type: 'fullscreen' };
+    });
+  }
+
   $(document).on('drupalContextualLinkAdded', function (event, data) {
+    prepareAjaxLinks();
+
     $('body').once('settings_tray.edit_mode_init').each(function () {
       var editMode = localStorage.getItem('Drupal.contextualToolbar.isViewing') === 'false';
       if (editMode) {
       }
     });
 
-    Drupal.attachBehaviors(data.$el[0]);
-
     data.$el.find(blockConfigureSelector).on('click.settingstray', function () {
       if (!isInEditMode()) {
         $(toggleEditSelector).trigger('click').trigger('click.settings_tray');
   Drupal.behaviors.toggleEditMode = {
     attach: function attach() {
       $(toggleEditSelector).once('settingstray').on('click.settingstray', toggleEditMode);
-
-      Drupal.ajax.instances.filter(function (instance) {
-        return instance && $(instance.element).attr('data-dialog-renderer') === 'off_canvas';
-      }).forEach(function (instance) {
-        if (!('dialogOptions' in instance.options.data)) {
-          instance.options.data.dialogOptions = {};
-        }
-        instance.options.data.dialogOptions.settingsTrayActiveEditableId = $(instance.element).parents('.settings-tray-editable').attr('id');
-        instance.progress = { type: 'fullscreen' };
-      });
     }
   };