source: Dev/trunk/src/client/dojox/mdnd/DropIndicator.js @ 529

Last change on this file since 529 was 483, checked in by hendrikvanantwerpen, 11 years ago

Added Dojo 1.9.3 release.

File size: 2.1 KB
Line 
1define(["dojo/_base/kernel",
2        "dojo/_base/declare",
3        "dojo/dom-class",
4        "dojo/dom-construct",
5        "./AreaManager"
6], function(dojo, declare, domClass, domConstruct){
7        var di = declare(
8                "dojox.mdnd.DropIndicator",
9                null,
10        {
11                // summary:
12                //              DropIndicator managment for DnD.
13       
14                // node: DOMNode
15                //              the drop indicator node
16                node : null,
17                       
18                constructor: function(){
19                        //console.log("dojox.mdnd.DropIndicator ::: constructor");
20                        var dropIndicator = document.createElement("div");
21                        var subDropIndicator = document.createElement("div");
22                        dropIndicator.appendChild(subDropIndicator);
23                        domClass.add(dropIndicator, "dropIndicator");
24                        this.node = dropIndicator;
25                },
26               
27                place: function(/*Node*/area, /*Node*/nodeRef, /*Object*/size){
28                        // summary:
29                        //              Place the DropIndicator in the right place
30                        // area:
31                        //              the dnd targer area node
32                        // nodeRef:
33                        //              node where the dropIndicator have to be placed into the area
34                        // dragNode:
35                        //              the node which is dragged
36                        // returns:
37                        //              the node inserted or null if it crashes
38       
39                        //console.log("dojox.mdnd.DropIndicator ::: place");
40                        if(size){
41                                this.node.style.height = size.h + "px";
42                        }
43                        try{
44                                if(nodeRef){
45                                        area.insertBefore(this.node, nodeRef);
46                                }
47                                else{
48                                        // empty target area or last node => appendChild
49                                        area.appendChild(this.node);
50                                }
51                                return this.node;       // DOMNode
52                        }catch(e){
53                                return null;
54                        }
55                },
56               
57                remove: function(){
58                        // summary:
59                        //              remove the DropIndicator (not destroy)
60       
61                        //console.log("dojox.mdnd.DropIndicator ::: remove");
62                        if(this.node){
63                                //FIX : IE6 problem
64                                this.node.style.height = "";
65                                if(this.node.parentNode){
66                                        this.node.parentNode.removeChild(this.node);
67                                }
68                        }
69                },
70                 
71                destroy: function(){
72                        // summary:
73                        //              destroy the dropIndicator
74       
75                        //console.log("dojox.mdnd.DropIndicator ::: destroy");
76                        if(this.node){
77                                if(this.node.parentNode){
78                                        this.node.parentNode.removeChild(this.node);
79                                }
80                                domConstruct.destroy(this.node);
81                                delete this.node;
82                        }
83                }
84        });
85
86        dojox.mdnd.areaManager()._dropIndicator = new dojox.mdnd.DropIndicator();
87       
88        return di;
89});
Note: See TracBrowser for help on using the repository browser.