Commit c925ea6f551b7ee5be3c65928c4a5e1c2988c52f
- Diff rendering mode:
- inline
- side by side
dss-setup-interface/dSS/ScenesPanel.js
(36 / 5)
|   | |||
| 39 | 39 | ||
| 40 | 40 | var treeHolder = new Ext.Panel( | |
| 41 | 41 | { | |
| 42 | title: "System", | ||
| 42 | title: _("Scenes"), | ||
| 43 | 43 | region: 'west', | |
| 44 | 44 | layout: 'fit', | |
| 45 | 45 | split: true, | |
| … | … | ||
| 68 | 68 | this.updateTree(); | |
| 69 | 69 | dSS.data.Loader.getZoneStore().addListener('datachanged', | |
| 70 | 70 | this.updateTree, | |
| 71 | this); | ||
| 71 | this, | ||
| 72 | { buffer: 1000 }); | ||
| 72 | 73 | }, | |
| 73 | 74 | this | |
| 74 | 75 | ); | |
| … | … | ||
| 186 | 186 | ]; | |
| 187 | 187 | } | |
| 188 | 188 | ||
| 189 | var selModel = this.treePanel.getSelectionModel(); | ||
| 190 | var selectedNode = selModel.getSelectedNode(); | ||
| 191 | var selectedPath = ''; | ||
| 192 | if (selectedNode != null) { | ||
| 193 | selectedPath = selectedNode.getPath(); | ||
| 194 | } | ||
| 195 | |||
| 189 | 196 | var zStore = dSS.data.Loader.getZoneStore(); | |
| 190 | 197 | var devStore = dSS.data.Loader.getDeviceStore(); | |
| 191 | 198 | var nodes = []; | |
| … | … | ||
| 214 | 214 | this | |
| 215 | 215 | ); | |
| 216 | 216 | var root = new Ext.tree.AsyncTreeNode({ children: nodes, id: 'root', leaf: false }); | |
| 217 | this.treePanel.setRootNode(root); | ||
| 217 | this.treePanel.setRootNode(root); | ||
| 218 | |||
| 219 | if (selectedPath.length > 0) { | ||
| 220 | this.treePanel.selectPath(selectedPath, null, | ||
| 221 | function(result, node) { | ||
| 222 | if (result === false) { | ||
| 223 | if (root.firstChild != null) { | ||
| 224 | root.firstChild.select(); | ||
| 225 | } | ||
| 226 | } | ||
| 227 | }); | ||
| 228 | } else { | ||
| 229 | if (root.firstChild != null) { | ||
| 230 | root.firstChild.select(); | ||
| 231 | } | ||
| 232 | } | ||
| 233 | |||
| 234 | if (selModel.getSelectedNode() != null) { | ||
| 235 | this.handleNodeClick(selModel.getSelectedNode()); | ||
| 236 | } | ||
| 237 | |||
| 218 | 238 | }, | |
| 219 | 239 | handleNodeClick: function(node) { | |
| 220 | var store = dSS.data.Loader.getDeviceStore(); | ||
| 221 | store.clearFilter(); | ||
| 240 | if (!this.isVisible()) { | ||
| 241 | return; | ||
| 242 | } | ||
| 222 | 243 | ||
| 223 | 244 | if (node === null) { | |
| 224 | 245 | return; | |
| … | … | ||
| 251 | 251 | return; | |
| 252 | 252 | } | |
| 253 | 253 | ||
| 254 | var store = dSS.data.Loader.getDeviceStore(); | ||
| 255 | store.clearFilter(); | ||
| 254 | 256 | store.filterBy(function(record) { | |
| 255 | 257 | if (record.get('zoneId') === parseInt(path[1])) { | |
| 256 | 258 | if (path.length == 2) { |

