Aleksander Machniak
2014-07-25 2c0d3e1dd0a3df01c8adea0de5f2826f0bcb9434
Fix drag-n-drop after folder move/create (#1489648)
2 files modified
16 ■■■■ changed files
program/js/app.js 3 ●●●●● patch | view | raw | blame | history
program/js/treelist.js 13 ●●●● patch | view | raw | blame | history
program/js/app.js
@@ -5891,6 +5891,9 @@
    if (!this.gui_objects.subscriptionlist)
      return false;
    // disable drag-n-drop temporarily
    this.subscription_list.draggable('destroy').droppable('destroy');
    var row, n, tmp, tmp_name, rowid, collator, pos, p, parent = '',
      folders = [], list = [], slist = [],
      list_element = $(this.gui_objects.subscriptionlist);
program/js/treelist.js
@@ -482,12 +482,14 @@
    if (keep_content) {
      if (draggable_opts) {
        draggable('destroy');
        if (ui_draggable)
          draggable('destroy');
        draggable(draggable_opts);
      }
      if (droppable_opts) {
        droppable('destroy');
        if (ui_droppable)
          droppable('destroy');
        droppable(droppable_opts);
      }
@@ -1061,6 +1063,9 @@
    if (!opts) opts = {};
    if ($.type(opts) == 'string') {
      if (opts == 'destroy') {
        ui_droppable = null;
      }
      $('li:not(.virtual)', container).droppable(opts);
      return this;
    }
@@ -1109,6 +1114,9 @@
    if (!opts) opts = {};
    if ($.type(opts) == 'string') {
      if (opts == 'destroy') {
        ui_draggable = null;
      }
      $('li:not(.virtual)', container).draggable(opts);
      return this;
    }
@@ -1121,6 +1129,7 @@
        iframeFix: true,
        addClasses: false,
        cursorAt: {left: -20, top: 5},
        create: function(e, ui) { ui_draggable = ui; },
        helper: function(e) {
          return $('<div>').attr('id', 'rcmdraglayer')
            .text($.trim($(e.target).first().text()));