Mercurial > lada > lada-client
comparison app/controller/grid/Status.js @ 742:6e28ebbe1a73
added documentation for Form and Grid controllers
author | Dustin Demuth <dustin@intevation.de> |
---|---|
date | Thu, 23 Apr 2015 16:28:04 +0200 |
parents | f0bc5387abcc |
children | 2362f8ab1e9f |
comparison
equal
deleted
inserted
replaced
740:2e8da590ea0c | 742:6e28ebbe1a73 |
---|---|
4 * This file is Free Software under the GNU GPL (v>=3) | 4 * This file is Free Software under the GNU GPL (v>=3) |
5 * and comes with ABSOLUTELY NO WARRANTY! Check out | 5 * and comes with ABSOLUTELY NO WARRANTY! Check out |
6 * the documentation coming with IMIS-Labordaten-Application for details. | 6 * the documentation coming with IMIS-Labordaten-Application for details. |
7 */ | 7 */ |
8 | 8 |
9 /** | |
10 * This is a controller for a grid of Status | |
11 */ | |
9 Ext.define('Lada.controller.grid.Status', { | 12 Ext.define('Lada.controller.grid.Status', { |
10 extend: 'Ext.app.Controller', | 13 extend: 'Ext.app.Controller', |
11 | 14 |
12 init: function() { | 15 /** |
16 * Initialize the Controller with | |
17 * 3 Listeners | |
18 */ | |
19 init: function() { | |
13 this.control({ | 20 this.control({ |
14 'statusgrid': { | 21 'statusgrid': { |
15 edit: this.gridSave, | 22 edit: this.gridSave, |
16 canceledit: this.cancelEdit | 23 canceledit: this.cancelEdit |
17 }, | 24 }, |
22 click: this.remove | 29 click: this.remove |
23 } | 30 } |
24 }); | 31 }); |
25 }, | 32 }, |
26 | 33 |
27 gridSave: function(editor, context) { | 34 /** |
35 * This function is called when the grids roweditor saves | |
36 * the record. | |
37 * On success it refreshes the windows which contains the grid | |
38 * On failure it displays a message | |
39 */ | |
40 gridSave: function(editor, context) { | |
28 context.record.save({ | 41 context.record.save({ |
29 success: function() { | 42 success: function() { |
30 context.grid.initData(); | 43 context.grid.initData(); |
31 context.grid.up('window').initData(); | 44 context.grid.up('window').initData(); |
32 }, | 45 }, |
47 } | 60 } |
48 } | 61 } |
49 }); | 62 }); |
50 }, | 63 }, |
51 | 64 |
52 cancelEdit: function(editor, context) { | 65 /** |
66 * When the edit was canceled, | |
67 * the empty row might have been created by the roweditor is removed | |
68 */ | |
69 cancelEdit: function(editor, context) { | |
53 if (!context.record.get('id') || | 70 if (!context.record.get('id') || |
54 context.record.get('id') === '') { | 71 context.record.get('id') === '') { |
55 editor.getCmp().store.remove(context.record); | 72 editor.getCmp().store.remove(context.record); |
56 } | 73 } |
57 }, | 74 }, |
58 | 75 |
59 add: function(button) { | 76 /** |
77 * This function adds a new row to add a Status | |
78 */ | |
79 add: function(button) { | |
60 var record = Ext.create('Lada.model.Status', { | 80 var record = Ext.create('Lada.model.Status', { |
61 messungsId: button.up('statusgrid').recordId | 81 messungsId: button.up('statusgrid').recordId |
62 }); | 82 }); |
63 button.up('statusgrid').store.insert(0, record); | 83 button.up('statusgrid').store.insert(0, record); |
64 button.up('statusgrid').rowEditing.startEdit(0, 1); | 84 button.up('statusgrid').rowEditing.startEdit(0, 1); |
65 }, | 85 }, |
66 | 86 |
67 remove: function(button) { | 87 /** |
88 * A row can be removed from the grid with the remove | |
89 * function. It asks the user for confirmation | |
90 * If the removal was confirmed, it reloads the parent window on success, | |
91 * on failure, an error message is shown. | |
92 */ | |
93 remove: function(button) { | |
68 var grid = button.up('grid'); | 94 var grid = button.up('grid'); |
69 var selection = grid.getView().getSelectionModel().getSelection()[0]; | 95 var selection = grid.getView().getSelectionModel().getSelection()[0]; |
70 Ext.MessageBox.confirm('Messwert löschen', 'Sind Sie sicher?', function(btn) { | 96 Ext.MessageBox.confirm('Messwert löschen', 'Sind Sie sicher?', function(btn) { |
71 if (btn === 'yes') { | 97 if (btn === 'yes') { |
72 selection.destroy({ | 98 selection.destroy({ |