Commit a3d08cf77bb87fc729f49a6a32cffc494b7d9020
- Diff rendering mode:
- inline
- side by side
dss-setup-interface/dSS/data/DeviceStore.js
(2 / 1)
|   | |||
| 12 | 12 | {name:"zoneId"}, | |
| 13 | 13 | {name:"isPresent"}, | |
| 14 | 14 | {name:"firstSeen"}, | |
| 15 | {name:"lastDiscovered"} | ||
| 15 | {name:"lastDiscovered"}, | ||
| 16 | {name:"locked"} | ||
| 16 | 17 | ]); | |
| 17 | 18 | ||
| 18 | 19 | // a json reader to read the device data |
dss-setup-interface/dSS/grid/DevicePanel.js
(45 / 7)
|   | |||
| 26 | 26 | return String.format('<img class="padding-img" src="{0}"/>',Ext.BLANK_IMAGE_URL); | |
| 27 | 27 | }; | |
| 28 | 28 | ||
| 29 | var lockRenderer = function(value, metaData, record, rowIndex, colIndex, store) { | ||
| 30 | if(record.get('isPresent') === false) { | ||
| 31 | metaData.css = 'lockDisabled'; | ||
| 32 | } | ||
| 33 | else { | ||
| 34 | if(record.get('locked')) { | ||
| 35 | metaData.css = 'isLocked'; | ||
| 36 | } else { | ||
| 37 | metaData.css = 'isUnlocked'; | ||
| 38 | } | ||
| 39 | } | ||
| 40 | return String.format('<img class="padding-img" src="{0}"/>',Ext.BLANK_IMAGE_URL); | ||
| 41 | }; | ||
| 42 | |||
| 43 | |||
| 29 | 44 | var deviceCols = [ | |
| 30 | 45 | {header: _("on"), width: 30, resizable: false, sortable: true, dataIndex: 'on', renderer: stateRenderer, id: 'on'}, | |
| 31 | 46 | {header: "dsid", width: 150, sortable: true, dataIndex: 'dsid', id: 'dsid'}, | |
| … | … | ||
| 49 | 49 | {header: _("meter dsid"), width: 150, sortable: true, dataIndex: 'modulatorDsid', id: 'modulatorDsid'}, | |
| 50 | 50 | {header: _("zone id"), width: 50, sortable: true, dataIndex: 'zoneId', id: 'zoneId'}, | |
| 51 | 51 | {header: _("first seen"), width: 150, sortable: true, dataIndex: 'firstSeen', xtype: 'datecolumn', format: 'Y-m-d\\&\\n\\b\\s\\p\\;H:m:i', id: 'firstSeen'}, | |
| 52 | {header: _("last discovered"), width: 150, sortable: true, dataIndex: 'lastDiscovered', xtype: 'datecolumn', format: 'Y-m-d\\&\\n\\b\\s\\p\\;H:m:i', id: 'lastDiscovered'} | ||
| 52 | {header: _("last discovered"), width: 150, sortable: true, dataIndex: 'lastDiscovered', xtype: 'datecolumn', format: 'Y-m-d\\&\\n\\b\\s\\p\\;H:m:i', id: 'lastDiscovered'}, | ||
| 53 | {header: _("locked"),width: 20, sortable: true, dataIndex: 'locked', renderer: lockRenderer} | ||
| 53 | 54 | ]; | |
| 54 | 55 | ||
| 55 | 56 | Ext.apply(this, { | |
| … | … | ||
| 226 | 226 | this.on( | |
| 227 | 227 | 'cellclick', | |
| 228 | 228 | function (grid, rowIndex, columnIndex, event) { | |
| 229 | if(columnIndex === 0) { | ||
| 230 | var record = this.getStore().getAt(rowIndex); | ||
| 231 | if (record.get('isPresent') === false) { | ||
| 232 | return; | ||
| 233 | } | ||
| 229 | |||
| 230 | var dataIndex = grid.getColumnModel().getDataIndex(columnIndex); | ||
| 231 | |||
| 232 | var record = this.getStore().getAt(rowIndex); | ||
| 233 | if (record.get('isPresent') === false) { | ||
| 234 | return; | ||
| 235 | } | ||
| 236 | |||
| 237 | if (dataIndex === 'on') { | ||
| 234 | 238 | Ext.Ajax.request({ | |
| 235 | 239 | url: record.get('on') ? '/json/device/turnOff' : '/json/device/turnOn', | |
| 236 | 240 | disableCaching: true, | |
| … | … | ||
| 252 | 252 | } | |
| 253 | 253 | } | |
| 254 | 254 | }); | |
| 255 | } | ||
| 255 | } else if (dataIndex === 'locked') { | ||
| 256 | Ext.Ajax.request({ | ||
| 257 | url: record.get('locked') ? '/json/device/unlock' : '/json/device/lock', | ||
| 258 | disableCaching: true, | ||
| 259 | method: "GET", | ||
| 260 | params: { dsid: record.get('dsid') }, | ||
| 261 | success: function(result, request) { | ||
| 262 | try { | ||
| 263 | var jsonData = Ext.util.JSON.decode(result.responseText); | ||
| 264 | if(jsonData.ok) { | ||
| 265 | record.set('locked', record.get('locked') ? false : true ); | ||
| 266 | record.commit(); | ||
| 267 | } | ||
| 268 | } catch(err) { | ||
| 269 | Ext.MessageBox.alert('Error', err); | ||
| 270 | } | ||
| 271 | } | ||
| 272 | }); | ||
| 273 | } | ||
| 256 | 274 | }, | |
| 257 | 275 | this | |
| 258 | 276 | ); |

