raimund@588: /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz raimund@588: * Software engineering by Intevation GmbH raimund@588: * raimund@588: * This file is Free Software under the GNU GPL (v>=3) raimund@588: * and comes with ABSOLUTELY NO WARRANTY! Check out raimund@588: * the documentation coming with IMIS-Labordaten-Application for details. raimund@588: */ raimund@588: raimund@588: /* raimund@588: * Controller for a Messungengrid raimund@588: */ raimund@588: Ext.define('Lada.controller.grid.Messung', { raimund@588: extend: 'Ext.app.Controller', raimund@588: raimund@588: requires: [ raimund@588: 'Lada.view.window.MessungEdit' raimund@588: ], raimund@588: raimund@588: init: function() { raimund@588: this.control({ raimund@592: 'messunggrid': { raimund@588: itemdblclick: this.editItem raimund@588: }, raimund@592: 'messunggrid button[action=add]': { raimund@588: click: this.add raimund@588: }, raimund@592: 'messunggrid button[action=delete]': { raimund@588: click: this.remove raimund@588: } raimund@588: }); raimund@588: }, raimund@588: raimund@588: editItem: function(grid, record) { raimund@690: var probe = grid.up('window').record; raimund@588: var win = Ext.create('Lada.view.window.MessungEdit', { raimund@690: parentWindow: grid.up('window'), raimund@690: probe: probe, raimund@644: record: record, raimund@644: grid: grid raimund@588: }); raimund@588: win.show(); raimund@588: win.initData(); raimund@588: }, raimund@588: raimund@622: add: function(button) { raimund@622: var probe = button.up('window').record; raimund@622: var win = Ext.create('Lada.view.window.MessungCreate', { raimund@644: record: probe, raimund@644: grid: button.up('messunggrid') raimund@622: }); raimund@622: win.show(); raimund@622: win.initData(); raimund@588: }, raimund@588: raimund@588: remove: function(button) { raimund@588: var grid = button.up('grid'); raimund@588: var selection = grid.getView().getSelectionModel().getSelection()[0]; raimund@588: Ext.MessageBox.confirm( raimund@588: 'Messung löschen', raimund@588: 'Sind Sie sicher?', raimund@588: function(btn) { raimund@588: if (btn === 'yes') { raimund@588: selection.destroy({ raimund@588: success: function() { raimund@588: button.up('window').initData(); raimund@588: }, raimund@588: failure: function() { raimund@588: } raimund@588: }); raimund@588: } raimund@622: } raimund@622: ); raimund@588: } raimund@588: });