Преглед на файлове

Newer versions of jQuery sortable use `uiSortable` key

Newer versions of jQuery sortable use `uiSortable` as key to store the data.
Let's adapt the code. While at it, refactor the code.
Marc Hartmayer преди 5 години
родител
ревизия
981ed546f1
променени са 4 файла, в които са добавени 11 реда и са изтрити 52 реда
  1. 5 10
      client/components/cards/cardDetails.js
  2. 2 5
      client/components/cards/checklists.js
  3. 2 13
      client/components/lists/list.js
  4. 2 24
      client/components/swimlanes/swimlanes.js

+ 5 - 10
client/components/cards/cardDetails.js

@@ -278,17 +278,12 @@ BlazeComponent.extendComponent({
 
     // Disable sorting if the current user is not a board member
     this.autorun(() => {
-      if ($checklistsDom.data('sortable')) {
-        $checklistsDom.sortable('option', 'disabled', !userIsMember());
+      const disabled = !userIsMember() || Utils.isMiniScreen();
+      if ($checklistsDom.data('uiSortable')) {
+        $checklistsDom.sortable('option', 'disabled', disabled);
       }
-      if ($subtasksDom.data('sortable')) {
-        $subtasksDom.sortable('option', 'disabled', !userIsMember());
-      }
-      if ($checklistsDom.data('sortable')) {
-        $checklistsDom.sortable('option', 'disabled', Utils.isMiniScreen());
-      }
-      if ($subtasksDom.data('sortable')) {
-        $subtasksDom.sortable('option', 'disabled', Utils.isMiniScreen());
+      if ($subtasksDom.data('uiSortable')) {
+        $subtasksDom.sortable('option', 'disabled', disabled);
       }
     });
   },

+ 2 - 5
client/components/cards/checklists.js

@@ -57,11 +57,8 @@ BlazeComponent.extendComponent({
     // Disable sorting if the current user is not a board member
     self.autorun(() => {
       const $itemsDom = $(self.itemsDom);
-      if ($itemsDom.data('sortable')) {
-        $(self.itemsDom).sortable('option', 'disabled', !userIsMember());
-      }
-      if ($itemsDom.data('sortable')) {
-        $(self.itemsDom).sortable('option', 'disabled', Utils.isMiniScreen());
+      if ($itemsDom.data('uiSortable')) {
+        $(self.itemsDom).sortable('option', 'disabled', !userIsMember() || Utils.isMiniScreen());
       }
     });
   },

+ 2 - 13
client/components/lists/list.js

@@ -139,23 +139,12 @@ BlazeComponent.extendComponent({
         });
       }
 
-      if ($cards.data('sortable')) {
+      if ($cards.data('uiSortable')) {
         $cards.sortable(
           'option',
           'disabled',
           // Disable drag-dropping when user is not member/is miniscreen
-          !userIsMember(),
-          // Not disable drag-dropping while in multi-selection mode
-          // MultiSelection.isActive() || !userIsMember(),
-        );
-      }
-
-      if ($cards.data('sortable')) {
-        $cards.sortable(
-          'option',
-          'disabled',
-          // Disable drag-dropping when user is not member/is miniscreen
-          Utils.isMiniScreen(),
+          !userIsMember() || Utils.isMiniScreen(),
           // Not disable drag-dropping while in multi-selection mode
           // MultiSelection.isActive() || !userIsMember(),
         );

+ 2 - 24
client/components/swimlanes/swimlanes.js

@@ -122,34 +122,12 @@ function initSortable(boardComponent, $listsDom) {
     }
 
     const $listDom = $listsDom;
-    if ($listDom.data('sortable')) {
+    if ($listDom.data('uiSortable')) {
       $listsDom.sortable(
         'option',
         'disabled',
         // Disable drag-dropping when user is not member/is worker/is miniscreen
-        !userIsMember(),
-        // Not disable drag-dropping while in multi-selection mode
-        // MultiSelection.isActive() || !userIsMember(),
-      );
-    }
-
-    if ($listDom.data('sortable')) {
-      $listsDom.sortable(
-        'option',
-        'disabled',
-        // Disable drag-dropping when user is not member/is worker/is miniscreen
-        Meteor.user().isWorker(),
-        // Not disable drag-dropping while in multi-selection mode
-        // MultiSelection.isActive() || !userIsMember(),
-      );
-    }
-
-    if ($listDom.data('sortable')) {
-      $listsDom.sortable(
-        'option',
-        'disabled',
-        // Disable drag-dropping when user is not member/is worker/is miniscreen
-        Utils.isMiniScreen(),
+        !userIsMember() || Meteor.user().isWorker() || Utils.isMiniScreen(),
         // Not disable drag-dropping while in multi-selection mode
         // MultiSelection.isActive() || !userIsMember(),
       );