Changeset 6524
- Timestamp:
- 09/12/06 16:25:12 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Wsp_Modeling/spaces/gen/modelBuilder/bs.doss/_common/sm/webSiteGenerator/scDragMgr.js
r6514 r6524 169 169 var parent = item1.parentNode 170 170 parent.removeChild(item1) 171 parent.insertBefore(item1, item2 ? item2.nextSibling: null)171 parent.insertBefore(item1, item2 ? scDragMgr.helpers.nextItem(item2, item2.nodeName) : null) 172 172 }, 173 173 … … 724 724 fFirstCatchments : new Array(), 725 725 fLastCatchments : new Array(), 726 fDragContainer : document.createElement("DIV"),727 726 728 727 // EXTERNAL functions ======================================================== … … 1018 1017 }, 1019 1018 1020 // INTERNAL remove Item from current container and keep in temp storage 1021 _floatItem : function(pDragEvent) { 1019 // INTERNAL drag/drop functions 1020 _IsDropable : function(pDragEvent) { 1021 return( this.fMaxLabels == -1 || scDragMgr.dragdrop.countLabels(this.fContainer) < this.fMaxLabels || pDragEvent.group.element.parentNode.fCatchment == this ) 1022 }, 1023 _onDragOver : function(pDragEvent) { 1022 1024 var vGroup = pDragEvent.group 1023 1025 var vItem = pDragEvent.group.element 1024 var vCurrentContainer = vItem.parentNode 1025 var vCurrentCatchment = vCurrentContainer.fCatchment 1026 vItem.fLastContainer = null 1026 var vCurrentCatchment = vItem.parentNode.fCatchment 1027 1027 1028 vCurrentCatchment.onDragOut() 1028 1029 vCurrentCatchment.className = vCurrentCatchment.fInitClass 1029 1030 vCurrentCatchment.fContainer.removeChild(vItem) 1030 1031 vCurrentCatchment.xUpdateGui() 1031 scDragMgr.dragdrop.fDragContainer.style["position"] = 'absolute'1032 scDragMgr.dragdrop.fDragContainer.style["top"] = '0px'1033 // scDragMgr.dragdrop.fDragContainer.className = vCurrentContainer.className1034 document.body.appendChild(scDragMgr.dragdrop.fDragContainer)1035 scDragMgr.dragdrop.fDragContainer.appendChild(vItem)1036 },1037 1038 // INTERNAL remove Item from temp storage1039 _unfloatItem : function(pDragEvent) {1040 var vItem = pDragEvent.group.element1041 if (vItem.parentNode == scDragMgr.dragdrop.fDragContainer){1042 scDragMgr.dragdrop.fDragContainer.removeChild(vItem)1043 document.body.removeChild(scDragMgr.dragdrop.fDragContainer)1044 }1045 },1046 1047 // INTERNAL drag/drop functions1048 _IsDropable : function(pDragEvent) {1049 return( this.fMaxLabels == -1 || scDragMgr.dragdrop.countLabels(this.fContainer) < this.fMaxLabels || pDragEvent.group.element.parentNode.fCatchment == this )1050 },1051 _onDragOver : function(pDragEvent) {1052 var vGroup = pDragEvent.group1053 var vItem = pDragEvent.group.element1054 if(vItem.fLastContainer == null){1055 scDragMgr.dragdrop._unfloatItem(pDragEvent)1056 }else{1057 var vCurrentCatchment = vItem.parentNode.fCatchment1058 vCurrentCatchment.onDragOut()1059 vCurrentCatchment.className = vCurrentCatchment.fInitClass1060 vCurrentCatchment.fContainer.removeChild(vItem)1061 vCurrentCatchment.xUpdateGui()1062 }1063 1032 this.fContainer.appendChild(vItem) 1064 1033 vItem.fLastContainer = this.fContainer … … 1068 1037 }, 1069 1038 _onDragOut : function(pDragEvent) { 1070 scDragMgr.dragdrop._floatItem(pDragEvent) 1039 var vItem = pDragEvent.group.element 1040 var vCurrentContainer = vItem.parentNode 1041 var vCurrentCatchment = vCurrentContainer.fCatchment 1042 1043 vCurrentCatchment.onDragOut() 1044 vCurrentCatchment.className = vCurrentCatchment.fInitClass 1045 vItem.fLastContainer = null 1046 1047 if (vCurrentContainer != vItem.fStartContainer) { 1048 vCurrentCatchment.fContainer.removeChild(vItem) 1049 vCurrentCatchment.xUpdateGui() 1050 1051 if (vItem.fStartPrevSibling) vItem.fStartContainer.insertBefore(vItem, vItem.fStartPrevSibling ? scDragMgr.helpers.nextItem(vItem.fStartPrevSibling, vItem.fStartPrevSibling.nodeName) : null) 1052 else if (vItem.fStartNextSibling) vItem.fStartContainer.insertBefore(vItem, vItem.fStartNextSibling) 1053 else vItem.fStartContainer.appendChild(vItem) 1054 } else { 1055 if (vItem.fStartPrevSibling) scDragMgr.helpers.moveAfter(vItem, vItem.fStartPrevSibling) 1056 else if (vItem.fStartNextSibling) scDragMgr.helpers.moveBefore(vItem, vItem.fStartNextSibling) 1057 } 1058 vItem.fStartContainer.fCatchment.xUpdateGui() 1071 1059 }, 1072 1060 _onDropReposition : function(pDragEvent) { … … 1116 1104 var vItem = pDragEvent.group.element 1117 1105 1118 // update all Catchment bounds, since they may have changed on a previous drag1119 1106 var vCatchment = scDragMgr.dragdrop.fFirstCatchments[vItem.fKey] 1120 1107 while (vCatchment != null) { … … 1123 1110 vCatchment = vCatchment.fNextCatchment 1124 1111 } 1125 // item starts out over current parent1126 1112 vItem.fStartContainer = vItem.parentNode 1113 vItem.fStartPrevSibling = scDragMgr.helpers.previousItem(vItem, vItem.nodeName) 1114 vItem.fStartNextSibling = scDragMgr.helpers.nextItem(vItem, vItem.nodeName) 1127 1115 vItem.fLastContainer = vItem.fStartContainer 1128 1116 vItem.className = vItem.fInitClass + " " + vItem.fDragClass … … 1145 1133 vCatchment = vCatchment.fNextCatchment 1146 1134 } 1147 // If we are outside all catchment zones then float the itemif needed1135 // If we are outside all catchment zones then init the item position if needed 1148 1136 if (vIsOutside) { 1149 1137 if (vItem.fLastContainer != null) { … … 1160 1148 var vItem = pDragEvent.group.element 1161 1149 1162 // If we are still floated (not in any catchment zone) then restore the item to it's original container1163 if (vItem.fLastContainer == null && vItem.fStartContainer) {1164 vItem.fStartContainer.fCatchment.xOnDragOver(pDragEvent, vItem.fStartContainer.fCatchment)1165 }1166 1150 vItem.className = vItem.fInitClass 1167 1151 vItem.parentNode.fCatchment.onDragOut()
Note: See TracChangeset
for help on using the changeset viewer.