raimund@594: /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz raimund@594: * Software engineering by Intevation GmbH raimund@594: * raimund@594: * This file is Free Software under the GNU GPL (v>=3) raimund@594: * and comes with ABSOLUTELY NO WARRANTY! Check out raimund@594: * the documentation coming with IMIS-Labordaten-Application for details. raimund@594: */ raimund@594: raimund@594: Ext.define('Lada.controller.grid.Status', { raimund@594: extend: 'Ext.app.Controller', raimund@594: raimund@594: init: function() { raimund@594: this.control({ raimund@594: 'statusgrid': { raimund@594: edit: this.gridSave raimund@594: }, raimund@594: 'statusgrid button[action=add]': { raimund@594: click: this.add raimund@594: }, raimund@594: 'statusgrid button[action=delete]': { raimund@594: click: this.remove raimund@594: } raimund@594: }); raimund@594: }, raimund@594: raimund@594: gridSave: function(editor, context) { raimund@594: context.record.save({ raimund@594: success: function() { raimund@594: context.grid.initData(); raimund@594: context.grid.up('window').initData(); raimund@594: }, raimund@594: failure: function() { raimund@594: // TODO raimund@594: } raimund@594: }); raimund@594: }, raimund@594: raimund@594: add: function(button) { raimund@594: var record = Ext.create('Lada.model.Status', { raimund@594: messungsId: button.up('statusgrid').recordId raimund@594: }); raimund@594: button.up('statusgrid').store.insert(0, record); raimund@594: button.up('statusgrid').rowEditing.startEdit(0, 1); raimund@594: }, raimund@594: raimund@594: remove: function(button) { raimund@594: var grid = button.up('grid'); raimund@594: var selection = grid.getView().getSelectionModel().getSelection()[0]; raimund@594: Ext.MessageBox.confirm('Messwert löschen', 'Sind Sie sicher?', function(btn) { raimund@594: if (btn === 'yes') { raimund@594: selection.destroy({ raimund@594: success: function() { raimund@594: button.up('window').initData(); raimund@594: grid.initData(); raimund@594: }, raimund@594: failure: function() { raimund@594: // TODO raimund@594: } raimund@594: }); raimund@594: } raimund@594: }); raimund@594: } raimund@594: });