dustin@566: /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz dustin@566: * Software engineering by Intevation GmbH dustin@566: * dustin@566: * This file is Free Software under the GNU GPL (v>=3) dustin@566: * and comes with ABSOLUTELY NO WARRANTY! Check out dustin@566: * the documentation coming with IMIS-Labordaten-Application for details. dustin@566: */ dustin@566: dustin@566: /* dustin@566: * Controller for a Messungengrid dustin@566: */ dustin@566: Ext.define('Lada.controller.MessungenGrid', { dustin@566: extend: 'Ext.app.Controller', dustin@566: dustin@566: init: function() { dustin@566: this.control({ dustin@566: 'messungengrid': { dustin@566: selectionchange: this.selectionChanged, dustin@566: edit: this.gridSave dustin@566: }, dustin@566: 'messungengrid button[action=open]': { dustin@566: click: this.open dustin@566: }, dustin@566: 'messungengrid button[action=add]': { dustin@566: click: this.add dustin@566: }, dustin@566: 'messungengrid button[action=delete]': { dustin@566: click: this.remove dustin@566: } dustin@566: }); dustin@566: }, dustin@566: dustin@566: selectionChanged: function(grid, record) { dustin@566: if (record) { dustin@566: grid.view.panel.down('button[action=open]').enable(); dustin@566: } dustin@566: }, dustin@566: dustin@566: gridSave: function(editor, context) { dustin@566: context.record.save({ dustin@566: success: function() { dustin@566: context.grid.store.reload(); dustin@566: context.grid.up('window').initData(); dustin@566: }, dustin@566: failure: function() { dustin@566: // TODO dustin@566: } dustin@566: }); dustin@566: }, dustin@566: dustin@566: open: function() { dustin@566: // todo dustin@566: console.log('open'); dustin@566: }, dustin@566: dustin@566: add: function() { dustin@566: // todo dustin@566: console.log('add'); dustin@566: }, dustin@566: dustin@566: remove: function(button) { dustin@566: var grid = button.up('grid'); dustin@566: var selection = grid.getView().getSelectionModel().getSelection()[0]; dustin@566: Ext.MessageBox.confirm('Messung löschen', 'Sind Sie sicher?', function(btn) { dustin@566: if (btn === 'yes') { dustin@566: selection.destroy({ dustin@566: success: function() { dustin@566: button.up('window').initData(); dustin@566: }, dustin@566: failure: function() { dustin@566: } dustin@566: }); dustin@566: } dustin@566: }); dustin@566: } dustin@566: });