123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- define("dojox/mdnd/DropIndicator", ["dojo/_base/kernel","dojo/_base/declare","dojo/_base/html","./AreaManager"],function(dojo){
- var di = dojo.declare(
- "dojox.mdnd.DropIndicator",
- null,
- {
- // summary:
- // DropIndicator managment for DnD.
-
- // node: DOMNode
- // the drop indicator node
- node : null,
-
- constructor: function(){
- //console.log("dojox.mdnd.DropIndicator ::: constructor");
- var dropIndicator = document.createElement("div");
- var subDropIndicator = document.createElement("div");
- dropIndicator.appendChild(subDropIndicator);
- dojo.addClass(dropIndicator, "dropIndicator");
- this.node = dropIndicator;
- },
-
- place: function(/*Node*/area, /*Node*/nodeRef, /*Object*/size){
- // summary:
- // Place the DropIndicator in the right place
- // area:
- // the dnd targer area node
- // nodeRef:
- // node where the dropIndicator have to be placed into the area
- // dragNode:
- // the node which is dragged
- // returns:
- // the node inserted or null if it crashes
-
- //console.log("dojox.mdnd.DropIndicator ::: place");
- if(size){
- this.node.style.height = size.h + "px";
- }
- try{
- if(nodeRef){
- area.insertBefore(this.node, nodeRef);
- }
- else{
- // empty target area or last node => appendChild
- area.appendChild(this.node);
- }
- return this.node; // DOMNode
- }catch(e){
- return null;
- }
- },
-
- remove: function(){
- // summary:
- // remove the DropIndicator (not destroy)
-
- //console.log("dojox.mdnd.DropIndicator ::: remove");
- if(this.node){
- //FIX : IE6 problem
- this.node.style.height = "";
- if(this.node.parentNode){
- this.node.parentNode.removeChild(this.node);
- }
- }
- },
-
- destroy: function(){
- // summary:
- // destroy the dropIndicator
-
- //console.log("dojox.mdnd.DropIndicator ::: destroy");
- if(this.node){
- if(this.node.parentNode){
- this.node.parentNode.removeChild(this.node);
- }
- dojo._destroyElement(this.node);
- delete this.node;
- }
- }
- });
- dojox.mdnd.areaManager()._dropIndicator = new dojox.mdnd.DropIndicator();
-
- return di;
- });
|