Changeset 1223
- Timestamp:
- 07/04/09 08:43:35 (4 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
apps/opengeo/geoexplorer/trunk/src/script/app/GeoExplorer/GroupContainer.js
r1222 r1223 216 216 var nodeIndex = -1; 217 217 var layer = this.item(index).layer; 218 var record , l;218 var record; 219 219 for(var i=count-1; i>=0; --i) { 220 220 record = store.getAt(i); 221 l = record.get("layer");222 221 if(l.displayInLayerSwitcher && 223 (record.get("group") == this.group || l === layer)) {222 (record.get("group") == this.group)) { 224 223 ++nodeIndex; 225 224 if(index === nodeIndex) { … … 252 251 var store = container.layerStore; 253 252 var index = container.indexOf(node); 254 var recIndex = container.nodeIndexToRecordIndex(255 container.indexOf(node)256 );257 253 store.remove(record); 258 254 node.remove(); 259 255 260 256 // TODO: record.clone() 261 257 Ext.data.Record.AUTO_ID++; … … 266 262 267 263 record.set("group", container.group); 268 store.insert(recIndex, [record]); 264 265 // TODO: if this is the only record of this group, recIndex is not determined 266 // this is a hack that works for two groups only 267 if (container.childNodes.length == 0) { 268 if (tree.root.firstChild === container) { 269 store.add([record]); 270 } else { 271 store.insert(0, [record]); 272 } 273 } else { 274 var sib = container.childNodes[index]; 275 var offset = 1; 276 if (!sib) { 277 offset = 0; 278 sib = container.lastChild; 279 } 280 var recIndex = store.findBy(function(rec) { 281 return (rec.get("layer") === sib.layer); 282 }) + offset; 283 store.insert(recIndex, [record]); 284 } 269 285 }, 0); 270 286