Mercurial > lada > lada-client
annotate app/controller/form/Ortszuordnung.js @ 1407:2195fd3946e4
Reduce code duplication.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Wed, 22 Mar 2017 16:12:11 +0100 |
parents | 2fc8e2b3c456 |
children |
rev | line source |
---|---|
603
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
2 * Software engineering by Intevation GmbH |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
3 * |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
4 * This file is Free Software under the GNU GPL (v>=3) |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
6 * the documentation coming with IMIS-Labordaten-Application for details. |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
7 */ |
9d0113bc2f70
Added ort form and controller.
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:
704
diff
changeset
|
9 /* |
1013
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
972
diff
changeset
|
10 * This is a controller for an Ortszuordnung Form |
742
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
704
diff
changeset
|
11 */ |
1013
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
972
diff
changeset
|
12 Ext.define('Lada.controller.form.Ortszuordnung', { |
603
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 extend: 'Ext.app.Controller', |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 |
742
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
704
diff
changeset
|
15 /** |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
704
diff
changeset
|
16 * Initialize the Controller with 4 listeners |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
704
diff
changeset
|
17 */ |
603
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
18 init: function() { |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 this.control({ |
1021
1df6b6210b42
WIP First Version of a New Window/Panel combination to edit Ortszuordnungen and Orte
Dustin Demuth <dustin@intevation.de>
parents:
1013
diff
changeset
|
20 'ortszuordnungform button[action=setOrt]': { |
1274
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
21 toggle: this.chooseLocation |
1021
1df6b6210b42
WIP First Version of a New Window/Panel combination to edit Ortszuordnungen and Orte
Dustin Demuth <dustin@intevation.de>
parents:
1013
diff
changeset
|
22 }, |
1013
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
972
diff
changeset
|
23 'ortszuordnungform button[action=save]': { |
603
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
24 click: this.save |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
25 }, |
1328
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
26 'ortszuordnungform button[action=revert]': { |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
27 click: this.revert |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
28 }, |
1013
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
972
diff
changeset
|
29 'ortszuordnungform': { |
1288
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
30 validitychange: this.validityChange, |
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
31 dirtychange: this.validityChange |
603
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 } |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 }); |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
34 }, |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 |
742
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
704
diff
changeset
|
36 /** |
972
24b5684d74d7
Set letzteAenderung in a Bunch of controllers.
Dustin Demuth <dustin@intevation.de>
parents:
742
diff
changeset
|
37 * The save function saves the content of the Ort form. |
742
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
704
diff
changeset
|
38 * On success it will reload the Store, |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
704
diff
changeset
|
39 * on failure, it will display an Errormessage |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
704
diff
changeset
|
40 */ |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
704
diff
changeset
|
41 save: function(button) { |
1021
1df6b6210b42
WIP First Version of a New Window/Panel combination to edit Ortszuordnungen and Orte
Dustin Demuth <dustin@intevation.de>
parents:
1013
diff
changeset
|
42 |
1022
6d33a84979e4
More work on the Ortszuordnung grid. Saving does not work yet
Dustin Demuth <dustin@intevation.de>
parents:
1021
diff
changeset
|
43 var formPanel = button.up('ortszuordnungform'); |
6d33a84979e4
More work on the Ortszuordnung grid. Saving does not work yet
Dustin Demuth <dustin@intevation.de>
parents:
1021
diff
changeset
|
44 |
1021
1df6b6210b42
WIP First Version of a New Window/Panel combination to edit Ortszuordnungen and Orte
Dustin Demuth <dustin@intevation.de>
parents:
1013
diff
changeset
|
45 //try to disable ortPickerButton: |
1df6b6210b42
WIP First Version of a New Window/Panel combination to edit Ortszuordnungen and Orte
Dustin Demuth <dustin@intevation.de>
parents:
1013
diff
changeset
|
46 try { |
1022
6d33a84979e4
More work on the Ortszuordnung grid. Saving does not work yet
Dustin Demuth <dustin@intevation.de>
parents:
1021
diff
changeset
|
47 formPanel.down('button[action=setOrt]').toggle(false); |
1021
1df6b6210b42
WIP First Version of a New Window/Panel combination to edit Ortszuordnungen and Orte
Dustin Demuth <dustin@intevation.de>
parents:
1013
diff
changeset
|
48 } |
1df6b6210b42
WIP First Version of a New Window/Panel combination to edit Ortszuordnungen and Orte
Dustin Demuth <dustin@intevation.de>
parents:
1013
diff
changeset
|
49 catch (e) { |
1df6b6210b42
WIP First Version of a New Window/Panel combination to edit Ortszuordnungen and Orte
Dustin Demuth <dustin@intevation.de>
parents:
1013
diff
changeset
|
50 } |
1289
bfdc00c24baf
Ortszuordnung for messprogramm and probe using same form
Maximilian Krambach <mkrambach@intevation.de>
parents:
1288
diff
changeset
|
51 var data = formPanel.getForm().getFieldValues(false); |
1013
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
972
diff
changeset
|
52 var i18n = Lada.getApplication().bundle; |
1289
bfdc00c24baf
Ortszuordnung for messprogramm and probe using same form
Maximilian Krambach <mkrambach@intevation.de>
parents:
1288
diff
changeset
|
53 var recordData = formPanel.getForm().getRecord().data; |
1339
1a2cd9bef6d7
messprogramm zuordnung now functional
Maximilian Krambach <mkrambach@intevation.de>
parents:
1336
diff
changeset
|
54 recordData.ortId = data.ortId[0]; |
1a2cd9bef6d7
messprogramm zuordnung now functional
Maximilian Krambach <mkrambach@intevation.de>
parents:
1336
diff
changeset
|
55 recordData.ortszuordnungTyp = data.ortszuordnungTyp; |
1289
bfdc00c24baf
Ortszuordnung for messprogramm and probe using same form
Maximilian Krambach <mkrambach@intevation.de>
parents:
1288
diff
changeset
|
56 recordData.ortszusatztext = data.ortszusatztext; |
bfdc00c24baf
Ortszuordnung for messprogramm and probe using same form
Maximilian Krambach <mkrambach@intevation.de>
parents:
1288
diff
changeset
|
57 if (!data.letzteAenderung) { |
bfdc00c24baf
Ortszuordnung for messprogramm and probe using same form
Maximilian Krambach <mkrambach@intevation.de>
parents:
1288
diff
changeset
|
58 recordData.letzteAenderung = new Date(); |
bfdc00c24baf
Ortszuordnung for messprogramm and probe using same form
Maximilian Krambach <mkrambach@intevation.de>
parents:
1288
diff
changeset
|
59 } else { |
bfdc00c24baf
Ortszuordnung for messprogramm and probe using same form
Maximilian Krambach <mkrambach@intevation.de>
parents:
1288
diff
changeset
|
60 recordData.letzteAenderung = data.letzteAenderung; |
972
24b5684d74d7
Set letzteAenderung in a Bunch of controllers.
Dustin Demuth <dustin@intevation.de>
parents:
742
diff
changeset
|
61 } |
603
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
62 formPanel.getForm().getRecord().save({ |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
63 success: function(record, response) { |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
64 var json = Ext.decode(response.response.responseText); |
641
5b5bba1d8e6a
Load and update the correct orte form.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
615
diff
changeset
|
65 if (json) { |
603
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
66 formPanel.clearMessages(); |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
67 formPanel.setRecord(record); |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
68 formPanel.setMessages(json.errors, json.warnings); |
1134
f1d21e6a7449
Fixed adding new ortszuortnung for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1028
diff
changeset
|
69 formPanel.up('window').parentWindow.initData(); |
1343
cd16b30dbc10
correct behaviour of 'reverting changes' in ortszuordnung
Maximilian Krambach <mkrambach@intevation.de>
parents:
1341
diff
changeset
|
70 button.setDisabled(true); |
cd16b30dbc10
correct behaviour of 'reverting changes' in ortszuordnung
Maximilian Krambach <mkrambach@intevation.de>
parents:
1341
diff
changeset
|
71 button.up('toolbar').down( |
cd16b30dbc10
correct behaviour of 'reverting changes' in ortszuordnung
Maximilian Krambach <mkrambach@intevation.de>
parents:
1341
diff
changeset
|
72 'button[action=revert]').setDisabled(true); |
603
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
73 } |
1022
6d33a84979e4
More work on the Ortszuordnung grid. Saving does not work yet
Dustin Demuth <dustin@intevation.de>
parents:
1021
diff
changeset
|
74 //try to refresh the Grid of the Probe |
6d33a84979e4
More work on the Ortszuordnung grid. Saving does not work yet
Dustin Demuth <dustin@intevation.de>
parents:
1021
diff
changeset
|
75 try { |
6d33a84979e4
More work on the Ortszuordnung grid. Saving does not work yet
Dustin Demuth <dustin@intevation.de>
parents:
1021
diff
changeset
|
76 formPanel.up('window').parentWindow |
6d33a84979e4
More work on the Ortszuordnung grid. Saving does not work yet
Dustin Demuth <dustin@intevation.de>
parents:
1021
diff
changeset
|
77 .down('ortszuordnunggrid').store.reload(); |
6d33a84979e4
More work on the Ortszuordnung grid. Saving does not work yet
Dustin Demuth <dustin@intevation.de>
parents:
1021
diff
changeset
|
78 } |
6d33a84979e4
More work on the Ortszuordnung grid. Saving does not work yet
Dustin Demuth <dustin@intevation.de>
parents:
1021
diff
changeset
|
79 catch (e) { |
6d33a84979e4
More work on the Ortszuordnung grid. Saving does not work yet
Dustin Demuth <dustin@intevation.de>
parents:
1021
diff
changeset
|
80 |
6d33a84979e4
More work on the Ortszuordnung grid. Saving does not work yet
Dustin Demuth <dustin@intevation.de>
parents:
1021
diff
changeset
|
81 } |
603
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
82 }, |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
83 failure: function(record, response) { |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
84 button.setDisabled(true); |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
85 formPanel.getForm().loadRecord(formPanel.getForm().getRecord()); |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
86 var json = response.request.scope.reader.jsonData; |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
87 if (json) { |
1288
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
88 if(Object.keys(json.errors).length > 0 || |
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
89 Object.keys(json.warnings).length > 0) { |
695
d6ef146e1a9f
Added simple handling for Failure-Messages
Dustin Demuth <dustin@intevation.de>
parents:
644
diff
changeset
|
90 formPanel.setMessages(json.errors, json.warnings); |
d6ef146e1a9f
Added simple handling for Failure-Messages
Dustin Demuth <dustin@intevation.de>
parents:
644
diff
changeset
|
91 } |
d6ef146e1a9f
Added simple handling for Failure-Messages
Dustin Demuth <dustin@intevation.de>
parents:
644
diff
changeset
|
92 if(json.message){ |
1013
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
972
diff
changeset
|
93 Ext.Msg.alert(i18n.getMsg('err.msg.save.title') |
701
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
695
diff
changeset
|
94 +' #'+json.message, |
1013
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
972
diff
changeset
|
95 i18n.getMsg(json.message)); |
701
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
695
diff
changeset
|
96 } else { |
1013
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
972
diff
changeset
|
97 Ext.Msg.alert(i18n.getMsg('err.msg.save.title'), |
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
972
diff
changeset
|
98 i18n.getMsg('err.msg.generic.body')); |
695
d6ef146e1a9f
Added simple handling for Failure-Messages
Dustin Demuth <dustin@intevation.de>
parents:
644
diff
changeset
|
99 } |
701
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
695
diff
changeset
|
100 } else { |
1013
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
972
diff
changeset
|
101 Ext.Msg.alert(i18n.getMsg('err.msg.save.title'), |
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
972
diff
changeset
|
102 i18n.getMsg('err.msg.response.body')); |
603
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
103 } |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
104 } |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
105 }); |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
106 }, |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
107 |
1013
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
972
diff
changeset
|
108 /** |
1328
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
109 * reverts the form to the currently saved state |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
110 */ |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
111 revert: function(button) { |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
112 var form = button.up('form'); |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
113 var osg = button.up('window').down('ortstammdatengrid'); |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
114 var recordData = form.getForm().getRecord().data; |
1343
cd16b30dbc10
correct behaviour of 'reverting changes' in ortszuordnung
Maximilian Krambach <mkrambach@intevation.de>
parents:
1341
diff
changeset
|
115 var currentOrt = recordData.ortId; |
1328
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
116 var selmod = osg.getView().getSelectionModel(); |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
117 form.getForm().reset(); |
1347
2fc8e2b3c456
fix ortszuordnung 'revert' if record is new ortszuordnung
Maximilian Krambach <mkrambach@intevation.de>
parents:
1343
diff
changeset
|
118 if (!currentOrt) { |
2fc8e2b3c456
fix ortszuordnung 'revert' if record is new ortszuordnung
Maximilian Krambach <mkrambach@intevation.de>
parents:
1343
diff
changeset
|
119 selmod.deselectAll(); |
2fc8e2b3c456
fix ortszuordnung 'revert' if record is new ortszuordnung
Maximilian Krambach <mkrambach@intevation.de>
parents:
1343
diff
changeset
|
120 } else { |
2fc8e2b3c456
fix ortszuordnung 'revert' if record is new ortszuordnung
Maximilian Krambach <mkrambach@intevation.de>
parents:
1343
diff
changeset
|
121 var record = osg.store.getById(currentOrt); |
2fc8e2b3c456
fix ortszuordnung 'revert' if record is new ortszuordnung
Maximilian Krambach <mkrambach@intevation.de>
parents:
1343
diff
changeset
|
122 form.setOrt(null, record); |
2fc8e2b3c456
fix ortszuordnung 'revert' if record is new ortszuordnung
Maximilian Krambach <mkrambach@intevation.de>
parents:
1343
diff
changeset
|
123 selmod.select(record); |
2fc8e2b3c456
fix ortszuordnung 'revert' if record is new ortszuordnung
Maximilian Krambach <mkrambach@intevation.de>
parents:
1343
diff
changeset
|
124 } |
1343
cd16b30dbc10
correct behaviour of 'reverting changes' in ortszuordnung
Maximilian Krambach <mkrambach@intevation.de>
parents:
1341
diff
changeset
|
125 button.setDisabled(true); |
cd16b30dbc10
correct behaviour of 'reverting changes' in ortszuordnung
Maximilian Krambach <mkrambach@intevation.de>
parents:
1341
diff
changeset
|
126 button.up('toolbar').down('button[action=save]').setDisabled(true); |
1328
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
127 }, |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
128 |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
129 /** |
1021
1df6b6210b42
WIP First Version of a New Window/Panel combination to edit Ortszuordnungen and Orte
Dustin Demuth <dustin@intevation.de>
parents:
1013
diff
changeset
|
130 * When the button is Active, a Record can be selected. |
1df6b6210b42
WIP First Version of a New Window/Panel combination to edit Ortszuordnungen and Orte
Dustin Demuth <dustin@intevation.de>
parents:
1013
diff
changeset
|
131 * If the Record was selected from a grid this function |
1288
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
132 * sets the ortzuordnung. |
1021
1df6b6210b42
WIP First Version of a New Window/Panel combination to edit Ortszuordnungen and Orte
Dustin Demuth <dustin@intevation.de>
parents:
1013
diff
changeset
|
133 */ |
1288
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
134 chooseLocation: function(button, pressed, opts) { |
1021
1df6b6210b42
WIP First Version of a New Window/Panel combination to edit Ortszuordnungen and Orte
Dustin Demuth <dustin@intevation.de>
parents:
1013
diff
changeset
|
135 var i18n = Lada.getApplication().bundle; |
1274
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
136 var win = button.up('window'); |
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
137 var gridPanel = win.down('panel[name=ortgrid]'); |
1288
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
138 var osg = win.down('ortstammdatengrid'); |
1335
cba4e0b0e336
Fixed ort grid selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1328
diff
changeset
|
139 var oForm = button.up('window').down('ortszuordnungform'); |
1289
bfdc00c24baf
Ortszuordnung for messprogramm and probe using same form
Maximilian Krambach <mkrambach@intevation.de>
parents:
1288
diff
changeset
|
140 osg.addListener('select',oForm.setOrt, oForm); |
1293
16a80ca16732
map feature visibility, selection and grid layout
Maximilian Krambach <mkrambach@intevation.de>
parents:
1291
diff
changeset
|
141 var map = win.down('map'); |
1274
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
142 if (pressed) { |
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
143 win.setHeight(Ext.getBody().getViewSize().height - 50); |
1288
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
144 button.setText(i18n.getMsg('ortszuordnung.form.setOrt.pressed')); |
1293
16a80ca16732
map feature visibility, selection and grid layout
Maximilian Krambach <mkrambach@intevation.de>
parents:
1291
diff
changeset
|
145 map.featureLayer.setVisibility(true); |
1274
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
146 win.setY(25); |
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
147 gridPanel.show(); |
1336
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
148 var mstId = oForm.up('window').probe ? oForm.up('window').probe.get('mstId') : |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
149 oForm.up('window').messprogramm.get('mstId'); |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
150 var mst = Ext.data.StoreManager.get('messstellen'); |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
151 var ndx = mst.findExact('id', mstId); |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
152 var nId = mst.getAt(ndx).get('netzbetreiberId'); |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
153 var store = Ext.create('Lada.store.Orte', { |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
154 defaultPageSize: 0, |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
155 listeners: { |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
156 beforeload: { |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
157 fn: function() { |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
158 osg.setLoading(true); |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
159 } |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
160 }, |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
161 load: { |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
162 fn: function() { |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
163 osg.setLoading(false); |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
164 osg.setStore(store); |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
165 osg.store.filterBy(function(record) { |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
166 if (record.get('netzbetreiberId') === |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
167 nId) { |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
168 return true; |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
169 } |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
170 }); |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
171 } |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
172 } |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
173 } |
f879c806f880
Create orte store for grid to have only orte with the correct netzbetreiberId
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1335
diff
changeset
|
174 }); |
1293
16a80ca16732
map feature visibility, selection and grid layout
Maximilian Krambach <mkrambach@intevation.de>
parents:
1291
diff
changeset
|
175 win.doLayout(); |
1288
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
176 osg.addListener('select',oForm.setOrt, oForm); |
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
177 |
1274
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
178 } |
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
179 else { |
1293
16a80ca16732
map feature visibility, selection and grid layout
Maximilian Krambach <mkrambach@intevation.de>
parents:
1291
diff
changeset
|
180 map.featureLayer.setVisibility(false); |
16a80ca16732
map feature visibility, selection and grid layout
Maximilian Krambach <mkrambach@intevation.de>
parents:
1291
diff
changeset
|
181 var y = (Ext.getBody().getViewSize().height - 465) / 2; |
1274
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
182 win.setHeight(465); |
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
183 win.setY(y); |
1288
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
184 button.setText(i18n.getMsg('ortszuordnung.form.setOrt')); |
1274
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
185 gridPanel.hide(); |
1288
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
186 osg.removeListener('select',oForm.setOrt, oForm); |
1293
16a80ca16732
map feature visibility, selection and grid layout
Maximilian Krambach <mkrambach@intevation.de>
parents:
1291
diff
changeset
|
187 oForm.doLayout(); |
1274
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
188 } |
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
189 }, |
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
190 |
1021
1df6b6210b42
WIP First Version of a New Window/Panel combination to edit Ortszuordnungen and Orte
Dustin Demuth <dustin@intevation.de>
parents:
1013
diff
changeset
|
191 /** |
1291
e9f812528324
ortszuordnung form changes
Maximilian Krambach <mkrambach@intevation.de>
parents:
1289
diff
changeset
|
192 * The validitychange function enables or disables the save button which |
e9f812528324
ortszuordnung form changes
Maximilian Krambach <mkrambach@intevation.de>
parents:
1289
diff
changeset
|
193 * is present in the toolbar of the form. |
1013
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
972
diff
changeset
|
194 */ |
1288
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
195 validityChange: function(form, valid) { |
1347
2fc8e2b3c456
fix ortszuordnung 'revert' if record is new ortszuordnung
Maximilian Krambach <mkrambach@intevation.de>
parents:
1343
diff
changeset
|
196 // the simple form.isDirty() check seems to fail for a lot of cases |
2fc8e2b3c456
fix ortszuordnung 'revert' if record is new ortszuordnung
Maximilian Krambach <mkrambach@intevation.de>
parents:
1343
diff
changeset
|
197 var ortIdIsDirty = true; |
2fc8e2b3c456
fix ortszuordnung 'revert' if record is new ortszuordnung
Maximilian Krambach <mkrambach@intevation.de>
parents:
1343
diff
changeset
|
198 if (form.getRecord().data.ortId == form.findField('ortId').getValue()) { |
2fc8e2b3c456
fix ortszuordnung 'revert' if record is new ortszuordnung
Maximilian Krambach <mkrambach@intevation.de>
parents:
1343
diff
changeset
|
199 ortIdIsDirty = false; |
2fc8e2b3c456
fix ortszuordnung 'revert' if record is new ortszuordnung
Maximilian Krambach <mkrambach@intevation.de>
parents:
1343
diff
changeset
|
200 } |
1343
cd16b30dbc10
correct behaviour of 'reverting changes' in ortszuordnung
Maximilian Krambach <mkrambach@intevation.de>
parents:
1341
diff
changeset
|
201 if (form.findField('ortszusatztext').isDirty() |
cd16b30dbc10
correct behaviour of 'reverting changes' in ortszuordnung
Maximilian Krambach <mkrambach@intevation.de>
parents:
1341
diff
changeset
|
202 || form.findField('ortszuordnungTyp').isDirty() |
1347
2fc8e2b3c456
fix ortszuordnung 'revert' if record is new ortszuordnung
Maximilian Krambach <mkrambach@intevation.de>
parents:
1343
diff
changeset
|
203 || ortIdIsDirty) { |
1341
2e8eba3918b1
OrtszuordnungMp fix
Maximilian Krambach <mkrambach@intevation.de>
parents:
1339
diff
changeset
|
204 form.owner.down('button[action=revert]').setDisabled(false); |
2e8eba3918b1
OrtszuordnungMp fix
Maximilian Krambach <mkrambach@intevation.de>
parents:
1339
diff
changeset
|
205 if (valid && form.getValues().ortId !== '') { |
2e8eba3918b1
OrtszuordnungMp fix
Maximilian Krambach <mkrambach@intevation.de>
parents:
1339
diff
changeset
|
206 form.owner.down('button[action=save]').setDisabled(false); |
1288
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
207 } else { |
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
208 form.owner.down('button[action=save]').setDisabled(true); |
1144
5ceb0381ae73
Set a regex and required for ortszuordnungstyp field.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1134
diff
changeset
|
209 } |
1288
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
210 } else { |
1289
bfdc00c24baf
Ortszuordnung for messprogramm and probe using same form
Maximilian Krambach <mkrambach@intevation.de>
parents:
1288
diff
changeset
|
211 //not dirty |
bfdc00c24baf
Ortszuordnung for messprogramm and probe using same form
Maximilian Krambach <mkrambach@intevation.de>
parents:
1288
diff
changeset
|
212 form.owner.down('button[action=save]').setDisabled(true); |
1341
2e8eba3918b1
OrtszuordnungMp fix
Maximilian Krambach <mkrambach@intevation.de>
parents:
1339
diff
changeset
|
213 form.owner.down('button[action=revert]').setDisabled(true); |
603
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
214 } |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
215 } |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
216 }); |