]> git.pond.sub.org Git - eow/blobdiff - static/dojo-release-1.1.1/dojo/dnd/Selector.js
Replace Dojo with jQuery
[eow] / static / dojo-release-1.1.1 / dojo / dnd / Selector.js
diff --git a/static/dojo-release-1.1.1/dojo/dnd/Selector.js b/static/dojo-release-1.1.1/dojo/dnd/Selector.js
deleted file mode 100644 (file)
index f942e7e..0000000
+++ /dev/null
@@ -1,244 +0,0 @@
-if(!dojo._hasResource["dojo.dnd.Selector"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojo.dnd.Selector"] = true;
-dojo.provide("dojo.dnd.Selector");
-
-dojo.require("dojo.dnd.common");
-dojo.require("dojo.dnd.Container");
-
-/*
-       Container item states:
-               ""                      - an item is not selected
-               "Selected"      - an item is selected
-               "Anchor"        - an item is selected, and is an anchor for a "shift" selection
-*/
-
-dojo.declare("dojo.dnd.Selector", dojo.dnd.Container, {
-       // summary: a Selector object, which knows how to select its children
-       
-       constructor: function(node, params){
-               // summary: a constructor of the Selector
-               // node: Node: node or node's id to build the selector on
-               // params: Object: a dict of parameters, recognized parameters are:
-               //      singular: Boolean: allows selection of only one element, if true
-               //      the rest of parameters are passed to the container
-               if(!params){ params = {}; }
-               this.singular = params.singular;
-               // class-specific variables
-               this.selection = {};
-               this.anchor = null;
-               this.simpleSelection = false;
-               // set up events
-               this.events.push(
-                       dojo.connect(this.node, "onmousedown", this, "onMouseDown"),
-                       dojo.connect(this.node, "onmouseup",   this, "onMouseUp"));
-       },
-       
-       // object attributes (for markup)
-       singular: false,        // is singular property
-       
-       // methods
-       getSelectedNodes: function(){
-               // summary: returns a list (an array) of selected nodes
-               var t = new dojo.NodeList();
-               var e = dojo.dnd._empty;
-               for(var i in this.selection){
-                       if(i in e){ continue; }
-                       t.push(dojo.byId(i));
-               }
-               return t;       // Array
-       },
-       selectNone: function(){
-               // summary: unselects all items
-               return this._removeSelection()._removeAnchor(); // self
-       },
-       selectAll: function(){
-               // summary: selects all items
-               this.forInItems(function(data, id){
-                       this._addItemClass(dojo.byId(id), "Selected");
-                       this.selection[id] = 1;
-               }, this);
-               return this._removeAnchor();    // self
-       },
-       deleteSelectedNodes: function(){
-               // summary: deletes all selected items
-               var e = dojo.dnd._empty;
-               for(var i in this.selection){
-                       if(i in e){ continue; }
-                       var n = dojo.byId(i);
-                       this.delItem(i);
-                       dojo._destroyElement(n);
-               }
-               this.anchor = null;
-               this.selection = {};
-               return this;    // self
-       },
-       insertNodes: function(addSelected, data, before, anchor){
-               // summary: inserts new data items (see Container's insertNodes method for details)
-               // addSelected: Boolean: all new nodes will be added to selected items, if true, no selection change otherwise
-               // data: Array: a list of data items, which should be processed by the creator function
-               // before: Boolean: insert before the anchor, if true, and after the anchor otherwise
-               // anchor: Node: the anchor node to be used as a point of insertion
-               var oldCreator = this._normalizedCreator;
-               this._normalizedCreator = function(item, hint){
-                       var t = oldCreator.call(this, item, hint);
-                       if(addSelected){
-                               if(!this.anchor){
-                                       this.anchor = t.node;
-                                       this._removeItemClass(t.node, "Selected");
-                                       this._addItemClass(this.anchor, "Anchor");
-                               }else if(this.anchor != t.node){
-                                       this._removeItemClass(t.node, "Anchor");
-                                       this._addItemClass(t.node, "Selected");
-                               }
-                               this.selection[t.node.id] = 1;
-                       }else{
-                               this._removeItemClass(t.node, "Selected");
-                               this._removeItemClass(t.node, "Anchor");
-                       }
-                       return t;
-               };
-               dojo.dnd.Selector.superclass.insertNodes.call(this, data, before, anchor);
-               this._normalizedCreator = oldCreator;
-               return this;    // self
-       },
-       destroy: function(){
-               // summary: prepares the object to be garbage-collected
-               dojo.dnd.Selector.superclass.destroy.call(this);
-               this.selection = this.anchor = null;
-       },
-
-       // markup methods
-       markupFactory: function(params, node){
-               params._skipStartup = true;
-               return new dojo.dnd.Selector(node, params);
-       },
-
-       // mouse events
-       onMouseDown: function(e){
-               // summary: event processor for onmousedown
-               // e: Event: mouse event
-               if(!this.current){ return; }
-               if(!this.singular && !dojo.dnd.getCopyKeyState(e) && !e.shiftKey && (this.current.id in this.selection)){
-                       this.simpleSelection = true;
-                       dojo.stopEvent(e);
-                       return;
-               }
-               if(!this.singular && e.shiftKey){
-                       if(!dojo.dnd.getCopyKeyState(e)){
-                               this._removeSelection();
-                       }
-                       var c = this.getAllNodes();
-                       if(c.length){
-                               if(!this.anchor){
-                                       this.anchor = c[0];
-                                       this._addItemClass(this.anchor, "Anchor");
-                               }
-                               this.selection[this.anchor.id] = 1;
-                               if(this.anchor != this.current){
-                                       var i = 0;
-                                       for(; i < c.length; ++i){
-                                               var node = c[i];
-                                               if(node == this.anchor || node == this.current){ break; }
-                                       }
-                                       for(++i; i < c.length; ++i){
-                                               var node = c[i];
-                                               if(node == this.anchor || node == this.current){ break; }
-                                               this._addItemClass(node, "Selected");
-                                               this.selection[node.id] = 1;
-                                       }
-                                       this._addItemClass(this.current, "Selected");
-                                       this.selection[this.current.id] = 1;
-                               }
-                       }
-               }else{
-                       if(this.singular){
-                               if(this.anchor == this.current){
-                                       if(dojo.dnd.getCopyKeyState(e)){
-                                               this.selectNone();
-                                       }
-                               }else{
-                                       this.selectNone();
-                                       this.anchor = this.current;
-                                       this._addItemClass(this.anchor, "Anchor");
-                                       this.selection[this.current.id] = 1;
-                               }
-                       }else{
-                               if(dojo.dnd.getCopyKeyState(e)){
-                                       if(this.anchor == this.current){
-                                               delete this.selection[this.anchor.id];
-                                               this._removeAnchor();
-                                       }else{
-                                               if(this.current.id in this.selection){
-                                                       this._removeItemClass(this.current, "Selected");
-                                                       delete this.selection[this.current.id];
-                                               }else{
-                                                       if(this.anchor){
-                                                               this._removeItemClass(this.anchor, "Anchor");
-                                                               this._addItemClass(this.anchor, "Selected");
-                                                       }
-                                                       this.anchor = this.current;
-                                                       this._addItemClass(this.current, "Anchor");
-                                                       this.selection[this.current.id] = 1;
-                                               }
-                                       }
-                               }else{
-                                       if(!(this.current.id in this.selection)){
-                                               this.selectNone();
-                                               this.anchor = this.current;
-                                               this._addItemClass(this.current, "Anchor");
-                                               this.selection[this.current.id] = 1;
-                                       }
-                               }
-                       }
-               }
-               dojo.stopEvent(e);
-       },
-       onMouseUp: function(e){
-               // summary: event processor for onmouseup
-               // e: Event: mouse event
-               if(!this.simpleSelection){ return; }
-               this.simpleSelection = false;
-               this.selectNone();
-               if(this.current){
-                       this.anchor = this.current;
-                       this._addItemClass(this.anchor, "Anchor");
-                       this.selection[this.current.id] = 1;
-               }
-       },
-       onMouseMove: function(e){
-               // summary: event processor for onmousemove
-               // e: Event: mouse event
-               this.simpleSelection = false;
-       },
-       
-       // utilities
-       onOverEvent: function(){
-               // summary: this function is called once, when mouse is over our container
-               this.onmousemoveEvent = dojo.connect(this.node, "onmousemove", this, "onMouseMove");
-       },
-       onOutEvent: function(){
-               // summary: this function is called once, when mouse is out of our container
-               dojo.disconnect(this.onmousemoveEvent);
-               delete this.onmousemoveEvent;
-       },
-       _removeSelection: function(){
-               // summary: unselects all items
-               var e = dojo.dnd._empty;
-               for(var i in this.selection){
-                       if(i in e){ continue; }
-                       var node = dojo.byId(i);
-                       if(node){ this._removeItemClass(node, "Selected"); }
-               }
-               this.selection = {};
-               return this;    // self
-       },
-       _removeAnchor: function(){
-               if(this.anchor){
-                       this._removeItemClass(this.anchor, "Anchor");
-                       this.anchor = null;
-               }
-               return this;    // self
-       }
-});
-
-}