Mercurial > lada > lada-client
diff app/controller/MessungenGrid.js @ 566:8ebe4cfca4b8
Added a MessungenGridController. "Delete" causes a Code-500 Server Error.
author | Dustin Demuth <dustin@intevation.de> |
---|---|
date | Tue, 10 Mar 2015 11:54:02 +0100 |
parents | |
children | 5af82dc8612d |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/controller/MessungenGrid.js Tue Mar 10 11:54:02 2015 +0100 @@ -0,0 +1,76 @@ +/* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz + * Software engineering by Intevation GmbH + * + * This file is Free Software under the GNU GPL (v>=3) + * and comes with ABSOLUTELY NO WARRANTY! Check out + * the documentation coming with IMIS-Labordaten-Application for details. + */ + +/* + * Controller for a Messungengrid + */ +Ext.define('Lada.controller.MessungenGrid', { + extend: 'Ext.app.Controller', + + init: function() { + this.control({ + 'messungengrid': { + selectionchange: this.selectionChanged, + edit: this.gridSave + }, + 'messungengrid button[action=open]': { + click: this.open + }, + 'messungengrid button[action=add]': { + click: this.add + }, + 'messungengrid button[action=delete]': { + click: this.remove + } + }); + }, + + selectionChanged: function(grid, record) { + if (record) { + grid.view.panel.down('button[action=open]').enable(); + } + }, + + gridSave: function(editor, context) { + context.record.save({ + success: function() { + context.grid.store.reload(); + context.grid.up('window').initData(); + }, + failure: function() { + // TODO + } + }); + }, + + open: function() { + // todo + console.log('open'); + }, + + add: function() { + // todo + console.log('add'); + }, + + remove: function(button) { + var grid = button.up('grid'); + var selection = grid.getView().getSelectionModel().getSelection()[0]; + Ext.MessageBox.confirm('Messung löschen', 'Sind Sie sicher?', function(btn) { + if (btn === 'yes') { + selection.destroy({ + success: function() { + button.up('window').initData(); + }, + failure: function() { + } + }); + } + }); + } +});