Mercurial > lada > lada-client
annotate app/controller/grid/Ortszuordnung.js @ 1179:08bd9f1c791b
Implement allowBlank for custom ComboBox.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Thu, 04 Aug 2016 16:59:37 +0200 |
parents | 981339d774b8 |
children | 291df0037835 |
rev | line source |
---|---|
587
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
2 * Software engineering by Intevation GmbH |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
3 * |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
4 * This file is Free Software under the GNU GPL (v>=3) |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
6 * the documentation coming with IMIS-Labordaten-Application for details. |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
7 */ |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
8 |
742
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
9 /** |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
10 * This is a controller for a grid of Orte |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
11 */ |
1012
2adc329d90fe
Replaced Locations with Ortszuordnung
Dustin Demuth <dustin@intevation.de>
parents:
826
diff
changeset
|
12 Ext.define('Lada.controller.grid.Ortszuordnung', { |
587
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 extend: 'Ext.app.Controller', |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 |
602
e1ab24758392
Updated the ort grid controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
587
diff
changeset
|
15 requires: [ |
1051
981339d774b8
merged stammdatengrids to default.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1028
diff
changeset
|
16 'Lada.view.window.Ortszuordnung' |
602
e1ab24758392
Updated the ort grid controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
587
diff
changeset
|
17 ], |
e1ab24758392
Updated the ort grid controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
587
diff
changeset
|
18 |
742
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
19 /** |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
20 * Inhitialize the controller |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
21 * It has 3 listeners |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
22 */ |
587
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
23 init: function() { |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
24 this.control({ |
1012
2adc329d90fe
Replaced Locations with Ortszuordnung
Dustin Demuth <dustin@intevation.de>
parents:
826
diff
changeset
|
25 'ortszuordnunggrid': { |
602
e1ab24758392
Updated the ort grid controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
587
diff
changeset
|
26 itemdblclick: this.open |
587
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
27 }, |
1012
2adc329d90fe
Replaced Locations with Ortszuordnung
Dustin Demuth <dustin@intevation.de>
parents:
826
diff
changeset
|
28 'ortszuordnunggrid button[action=add]': { |
587
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
29 click: this.add |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
30 }, |
1012
2adc329d90fe
Replaced Locations with Ortszuordnung
Dustin Demuth <dustin@intevation.de>
parents:
826
diff
changeset
|
31 'ortszuordnunggrid button[action=delete]': { |
587
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 click: this.remove |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 } |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
34 }); |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 }, |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 |
742
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
37 /** |
1013
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
1012
diff
changeset
|
38 * When open is called, a {@link Lada.view.window.Ortszuordnung} |
742
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
39 * is created which allows to edit the Orte |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
40 */ |
602
e1ab24758392
Updated the ort grid controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
587
diff
changeset
|
41 open: function(grid, record) { |
690
e88381fb3bdb
Use treeModiefied timestamp to determine if working with 'old' objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
644
diff
changeset
|
42 var probe = grid.up('window').record; |
1013
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
1012
diff
changeset
|
43 var win = Ext.create('Lada.view.window.Ortszuordnung', { |
690
e88381fb3bdb
Use treeModiefied timestamp to determine if working with 'old' objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
644
diff
changeset
|
44 parentWindow: grid.up('window'), |
1013
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
1012
diff
changeset
|
45 probe: grid.up('window').down('probeform').record, |
1028
2e7adc19b4fe
Do not copy the Record to the Ortszuordnungwin
Dustin Demuth <dustin@intevation.de>
parents:
1022
diff
changeset
|
46 record: record, |
644
71e8b84d7829
Reload grids on messung or ort changed/added.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
643
diff
changeset
|
47 grid: grid |
587
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
48 }); |
602
e1ab24758392
Updated the ort grid controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
587
diff
changeset
|
49 win.show(); |
e1ab24758392
Updated the ort grid controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
587
diff
changeset
|
50 win.initData(); |
587
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
51 }, |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
52 |
742
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
53 /** |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
54 * This function adds a new row to add an Ort |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
55 */ |
643
477379250512
Open the ort create window on button click.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
602
diff
changeset
|
56 add: function(button) { |
477379250512
Open the ort create window on button click.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
602
diff
changeset
|
57 var probe = button.up('window').record; |
1013
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
1012
diff
changeset
|
58 var win = Ext.create('Lada.view.window.Ortszuordnung', { |
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
1012
diff
changeset
|
59 parentWindow: button.up('window'), |
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
1012
diff
changeset
|
60 probe: probe, |
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
1012
diff
changeset
|
61 record: null, |
1012
2adc329d90fe
Replaced Locations with Ortszuordnung
Dustin Demuth <dustin@intevation.de>
parents:
826
diff
changeset
|
62 grid: button.up('ortszuordnung') |
643
477379250512
Open the ort create window on button click.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
602
diff
changeset
|
63 }); |
477379250512
Open the ort create window on button click.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
602
diff
changeset
|
64 win.show(); |
477379250512
Open the ort create window on button click.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
602
diff
changeset
|
65 win.initData(); |
587
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
66 }, |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
67 |
742
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
68 /** |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
69 * A Ort-row can be removed from the grid with the remove |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
70 * function. It asks the user for confirmation |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
71 * If the removal was confirmed, it reloads the parent window on success, |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
72 * on failure, an error message is shown. |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
73 */ |
587
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
74 remove: function(button) { |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
75 var grid = button.up('grid'); |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
76 var selection = grid.getView().getSelectionModel().getSelection()[0]; |
1012
2adc329d90fe
Replaced Locations with Ortszuordnung
Dustin Demuth <dustin@intevation.de>
parents:
826
diff
changeset
|
77 var i18n = Lada.getApplication().bundle; |
2adc329d90fe
Replaced Locations with Ortszuordnung
Dustin Demuth <dustin@intevation.de>
parents:
826
diff
changeset
|
78 Ext.MessageBox.confirm(i18n.getMsg('delete'), i18n.getMsg('confirmation.question'), |
2adc329d90fe
Replaced Locations with Ortszuordnung
Dustin Demuth <dustin@intevation.de>
parents:
826
diff
changeset
|
79 function(btn) { |
2adc329d90fe
Replaced Locations with Ortszuordnung
Dustin Demuth <dustin@intevation.de>
parents:
826
diff
changeset
|
80 if (btn === 'yes') { |
587
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 selection.destroy({ |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
82 success: function() { |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
83 button.up('window').initData(); |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
84 }, |
701
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
690
diff
changeset
|
85 failure: function(request, response) { |
1012
2adc329d90fe
Replaced Locations with Ortszuordnung
Dustin Demuth <dustin@intevation.de>
parents:
826
diff
changeset
|
86 var i18n = Lada.getApplication().bundle; |
701
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
690
diff
changeset
|
87 var json = response.request.scope.reader.jsonData; |
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
690
diff
changeset
|
88 if (json) { |
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
690
diff
changeset
|
89 if (json.message){ |
1012
2adc329d90fe
Replaced Locations with Ortszuordnung
Dustin Demuth <dustin@intevation.de>
parents:
826
diff
changeset
|
90 Ext.Msg.alert(i18n.getMsg('err.msg.delete.title') |
701
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
690
diff
changeset
|
91 +' #'+json.message, |
1012
2adc329d90fe
Replaced Locations with Ortszuordnung
Dustin Demuth <dustin@intevation.de>
parents:
826
diff
changeset
|
92 i18n.getMsg(json.message)); |
701
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
690
diff
changeset
|
93 } else { |
1012
2adc329d90fe
Replaced Locations with Ortszuordnung
Dustin Demuth <dustin@intevation.de>
parents:
826
diff
changeset
|
94 Ext.Msg.alert(i18n.getMsg('err.msg.delete.title'), |
2adc329d90fe
Replaced Locations with Ortszuordnung
Dustin Demuth <dustin@intevation.de>
parents:
826
diff
changeset
|
95 i18n.getMsg('err.msg.generic.body')); |
701
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
690
diff
changeset
|
96 } |
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
690
diff
changeset
|
97 } else { |
1012
2adc329d90fe
Replaced Locations with Ortszuordnung
Dustin Demuth <dustin@intevation.de>
parents:
826
diff
changeset
|
98 Ext.Msg.alert(i18n.getMsg('err.msg.delete.title'), |
2adc329d90fe
Replaced Locations with Ortszuordnung
Dustin Demuth <dustin@intevation.de>
parents:
826
diff
changeset
|
99 i18n.getMsg('err.msg.response.body')); |
701
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
690
diff
changeset
|
100 } |
587
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
101 } |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
102 }); |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
103 } |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
104 }); |
826
2362f8ab1e9f
disable remove button after a item is deleted from grid
Dustin Demuth <dustin@intevation.de>
parents:
742
diff
changeset
|
105 grid.down('button[action=delete]').disable(); |
587
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
106 } |
cf328526b5bb
Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
107 }); |