Mercurial > lada > lada-client
diff app/view/grid/FilterResult.js @ 856:e44070aa45d2
Implemented a 'Delete Button' in the ResultGrid. Proben can be deleted when they are not ReadOnly and the Users is the Owner of the Probe
author | Dustin Demuth <dustin@intevation.de> |
---|---|
date | Fri, 10 Jul 2015 17:14:19 +0200 |
parents | d054732bc7a2 |
children | 03f39ddae596 |
line wrap: on
line diff
--- a/app/view/grid/FilterResult.js Fri Jul 10 14:21:59 2015 +0200 +++ b/app/view/grid/FilterResult.js Fri Jul 10 17:14:19 2015 +0200 @@ -13,6 +13,8 @@ extend: 'Ext.grid.Panel', alias: 'widget.filterresultgrid', + requires: 'Lada.view.window.DeleteProbe', + store: null, //'ProbenList', multiSelect: true, @@ -120,21 +122,26 @@ var resultColumns = []; var fields = []; + fields.push(new Ext.data.Field({ + name: 'owner' + })); + fields.push(new Ext.data.Field({ + name: 'readonly' + })); + resultColumns.push({ header: 'RW', dataIndex: 'readonly', sortable: false, width: 30, - renderer: function(value) { - if (value) { - return '<img src="resources/img/view-time-schedule-baselined.png"/>'; + renderer: function(value, meta, record) { + if ( !value && record.get('owner')) { + return '<img src="resources/img/view-time-schedule-edit.png"/>'; } - return '<img src="resources/img/view-time-schedule-edit.png"/>'; + return '<img src="resources/img/view-time-schedule-baselined.png"/>'; } }); - fields.push(new Ext.data.Field({ - name: 'readonly' - })); + for (var i = cols.length - 1; i >= 0; i--) { if (cols[i] === 'id') { continue; @@ -144,6 +151,38 @@ name: cols[i].dataIndex })); } + if (this.store.$className == 'Lada.store.ProbenList') { + // Add a Delete-Button + // TODO: Might need to be extended to Messprogramme + resultColumns.push({ + xtype: 'actioncolumn', + header: 'Aktionen', + sortable: false, + width: 30, + items: [{ + icon: '/resources/img/edit-delete.png', + tooltip: 'Löschen', + isDisabled: function(grid, rowIndex, colIndex) { + var rec = grid.getStore().getAt(rowIndex); + if ( rec.get('readonly') || !rec.get('owner')) { + return true; + } + return false; + }, + handler: function(grid, rowIndex, colIndex){ + var rec = grid.getStore().getAt(rowIndex); + + var winname = 'Lada.view.window.DeleteProbe'; + var win = Ext.create(winname, { + record: rec, + parentWindow: this + }); + win.show(); + win.initData(); + } + }] + }); + } this.store.model.setFields(fields); this.reconfigure(this.store, resultColumns); }