[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/admin/tool/lp/yui/src/dragdrop-reorder/js/ -> dragdropreorder.js (source)

   1  /**
   2   * Simple drag and drop.
   3   *
   4   * Used when we just want a list of things that can be re-ordered by dragging.
   5   *
   6   * @class M.tool_lp.dragdrop_reorder
   7   * @constructor
   8   * @extends M.core.dragdrop
   9   */
  10  var DRAGREORDER = function() {
  11      DRAGREORDER.superclass.constructor.apply(this, arguments);
  12  };
  13  
  14  var CSS = {
  15      EDITINGMOVE: 'editing_move',
  16      ICONCLASS: 'iconsmall'
  17  };
  18  Y.extend(DRAGREORDER, M.core.dragdrop, {
  19      initializer: function(args) {
  20          if (Y.one('.' + args.parentNodeClass).all('.' + args.dragHandleInsertClass).size() <= 1) {
  21              // We can't re-order when there is only one item.
  22              return;
  23          }
  24          // Set group for parent class
  25          this.groups = [args.group];
  26          this.samenodeclass = args.sameNodeClass;
  27          this.parentnodeclass = args.parentNodeClass;
  28          this.draghandleinsertclass = args.dragHandleInsertClass;
  29          this.draghandle = this.get_drag_handle(args.dragHandleText,
  30                  CSS.EDITINGMOVE, CSS.ICONCLASS, true);
  31  
  32          this.samenodelabel = args.sameNodeLabel;
  33          this.parentnodelabel = args.parentNodeLabel;
  34          this.callback = args.callback;
  35  
  36          var delegate = new Y.DD.Delegate({
  37              container: '.' + args.parentNodeClass,
  38              nodes: '.' + args.sameNodeClass,
  39              target: true,
  40              handles: ['.' + CSS.EDITINGMOVE],
  41              dragConfig: {groups: this.groups}
  42          });
  43  
  44          delegate.dd.plug(Y.Plugin.DDProxy);
  45  
  46          Y.one('.' + args.parentNodeClass)
  47           .all('.' + args.dragHandleInsertClass)
  48           .each(
  49              function(node) {
  50                  node.insert(this.draghandle.cloneNode(true));
  51              }, this);
  52      },
  53  
  54      drop_hit: function(e) {
  55          this.callback(e);
  56      }
  57  
  58  }, {
  59      NAME: 'tool_lp-dragdrop-reorder',
  60      ATTRS: {
  61      }
  62  });
  63  
  64  M.tool_lp = M.tool_lp || {};
  65  M.tool_lp.dragdrop_reorder = function(params) {
  66      return new DRAGREORDER(params);
  67  };


Generated: Thu Aug 11 10:00:09 2016 Cross-referenced by PHPXref 0.7.1