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