Mercurial > lada > lada-client
annotate app/controller/form/Ortszuordnung.js @ 1342:d5e270fa91e4
fix: Ortserstellung for Staaten and validity check triggers
author | Maximilian Krambach <mkrambach@intevation.de> |
---|---|
date | Mon, 06 Feb 2017 09:59:03 +0100 |
parents | 2e8eba3918b1 |
children | cd16b30dbc10 |
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 button.setDisabled(true); |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
67 formPanel.clearMessages(); |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
68 formPanel.setRecord(record); |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
69 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
|
70 formPanel.up('window').parentWindow.initData(); |
603
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
71 } |
1022
6d33a84979e4
More work on the Ortszuordnung grid. Saving does not work yet
Dustin Demuth <dustin@intevation.de>
parents:
1021
diff
changeset
|
72 //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
|
73 try { |
6d33a84979e4
More work on the Ortszuordnung grid. Saving does not work yet
Dustin Demuth <dustin@intevation.de>
parents:
1021
diff
changeset
|
74 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
|
75 .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
|
76 } |
6d33a84979e4
More work on the Ortszuordnung grid. Saving does not work yet
Dustin Demuth <dustin@intevation.de>
parents:
1021
diff
changeset
|
77 catch (e) { |
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 } |
603
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
80 }, |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 failure: function(record, response) { |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
82 button.setDisabled(true); |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
83 formPanel.getForm().loadRecord(formPanel.getForm().getRecord()); |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
84 var json = response.request.scope.reader.jsonData; |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
85 if (json) { |
1288
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
86 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
|
87 Object.keys(json.warnings).length > 0) { |
695
d6ef146e1a9f
Added simple handling for Failure-Messages
Dustin Demuth <dustin@intevation.de>
parents:
644
diff
changeset
|
88 formPanel.setMessages(json.errors, json.warnings); |
d6ef146e1a9f
Added simple handling for Failure-Messages
Dustin Demuth <dustin@intevation.de>
parents:
644
diff
changeset
|
89 } |
d6ef146e1a9f
Added simple handling for Failure-Messages
Dustin Demuth <dustin@intevation.de>
parents:
644
diff
changeset
|
90 if(json.message){ |
1013
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
972
diff
changeset
|
91 Ext.Msg.alert(i18n.getMsg('err.msg.save.title') |
701
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
695
diff
changeset
|
92 +' #'+json.message, |
1013
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
972
diff
changeset
|
93 i18n.getMsg(json.message)); |
701
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
695
diff
changeset
|
94 } else { |
1013
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
972
diff
changeset
|
95 Ext.Msg.alert(i18n.getMsg('err.msg.save.title'), |
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
972
diff
changeset
|
96 i18n.getMsg('err.msg.generic.body')); |
695
d6ef146e1a9f
Added simple handling for Failure-Messages
Dustin Demuth <dustin@intevation.de>
parents:
644
diff
changeset
|
97 } |
701
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
695
diff
changeset
|
98 } else { |
1013
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
972
diff
changeset
|
99 Ext.Msg.alert(i18n.getMsg('err.msg.save.title'), |
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
972
diff
changeset
|
100 i18n.getMsg('err.msg.response.body')); |
603
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
101 } |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
102 } |
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 |
1013
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
972
diff
changeset
|
106 /** |
1328
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
107 * reverts the form to the currently saved state |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
108 */ |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
109 revert: function(button) { |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
110 var form = button.up('form'); |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
111 var osg = button.up('window').down('ortstammdatengrid'); |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
112 var recordData = form.getForm().getRecord().data; |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
113 var currentOrt = null; |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
114 if (recordData.ortId !== undefined) { |
1341
2e8eba3918b1
OrtszuordnungMp fix
Maximilian Krambach <mkrambach@intevation.de>
parents:
1339
diff
changeset
|
115 currentOrt = recordData.ortId[0]; |
1328
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
116 } else { |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
117 currentOrt = recordData.ort; |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
118 } |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
119 var record = osg.store.getById(currentOrt); |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
120 var selmod = osg.getView().getSelectionModel(); |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
121 form.getForm().reset(); |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
122 var selmod = osg.getView().getSelectionModel(); |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
123 selmod.select(record); |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
124 }, |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
125 |
cf73b7d7cf99
reinserted discard button and functionality
Maximilian Krambach <mkrambach@intevation.de>
parents:
1327
diff
changeset
|
126 /** |
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
|
127 * 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
|
128 * 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
|
129 * 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
|
130 */ |
1288
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
131 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
|
132 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
|
133 var win = button.up('window'); |
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
134 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
|
135 var osg = win.down('ortstammdatengrid'); |
1335
cba4e0b0e336
Fixed ort grid selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1328
diff
changeset
|
136 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
|
137 osg.addListener('select',oForm.setOrt, oForm); |
1293
16a80ca16732
map feature visibility, selection and grid layout
Maximilian Krambach <mkrambach@intevation.de>
parents:
1291
diff
changeset
|
138 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
|
139 if (pressed) { |
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
140 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
|
141 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
|
142 map.featureLayer.setVisibility(true); |
1274
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
143 win.setY(25); |
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
144 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
|
145 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
|
146 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
|
147 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
|
148 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
|
149 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
|
150 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
|
151 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
|
152 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
|
153 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
|
154 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
|
155 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
|
156 } |
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 }, |
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 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
|
159 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
|
160 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
|
161 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
|
162 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
|
163 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
|
164 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
|
165 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
|
166 } |
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 }); |
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 } |
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 }); |
1293
16a80ca16732
map feature visibility, selection and grid layout
Maximilian Krambach <mkrambach@intevation.de>
parents:
1291
diff
changeset
|
172 win.doLayout(); |
1288
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
173 osg.addListener('select',oForm.setOrt, oForm); |
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
174 |
1274
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
175 } |
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
176 else { |
1293
16a80ca16732
map feature visibility, selection and grid layout
Maximilian Krambach <mkrambach@intevation.de>
parents:
1291
diff
changeset
|
177 map.featureLayer.setVisibility(false); |
16a80ca16732
map feature visibility, selection and grid layout
Maximilian Krambach <mkrambach@intevation.de>
parents:
1291
diff
changeset
|
178 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
|
179 win.setHeight(465); |
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
180 win.setY(y); |
1288
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
181 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
|
182 gridPanel.hide(); |
1288
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
183 osg.removeListener('select',oForm.setOrt, oForm); |
1293
16a80ca16732
map feature visibility, selection and grid layout
Maximilian Krambach <mkrambach@intevation.de>
parents:
1291
diff
changeset
|
184 oForm.doLayout(); |
1274
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
185 } |
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
186 }, |
a792eecf1614
Updated Layout and Map for 'ortsbezug'-window. WIP!
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1147
diff
changeset
|
187 |
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
|
188 /** |
1291
e9f812528324
ortszuordnung form changes
Maximilian Krambach <mkrambach@intevation.de>
parents:
1289
diff
changeset
|
189 * The validitychange function enables or disables the save button which |
e9f812528324
ortszuordnung form changes
Maximilian Krambach <mkrambach@intevation.de>
parents:
1289
diff
changeset
|
190 * is present in the toolbar of the form. |
1013
75ce503ab296
Added a Ortszuordnungwindow and Form
Dustin Demuth <dustin@intevation.de>
parents:
972
diff
changeset
|
191 */ |
1288
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
192 validityChange: function(form, valid) { |
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
193 if (form.isDirty()) { |
1341
2e8eba3918b1
OrtszuordnungMp fix
Maximilian Krambach <mkrambach@intevation.de>
parents:
1339
diff
changeset
|
194 form.owner.down('button[action=revert]').setDisabled(false); |
2e8eba3918b1
OrtszuordnungMp fix
Maximilian Krambach <mkrambach@intevation.de>
parents:
1339
diff
changeset
|
195 if (valid && form.getValues().ortId !== '') { |
2e8eba3918b1
OrtszuordnungMp fix
Maximilian Krambach <mkrambach@intevation.de>
parents:
1339
diff
changeset
|
196 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
|
197 } else { |
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
198 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
|
199 } |
1288
08085b7d1d0b
Ortszuordnung: Search, new orte, display and validity check
Maximilian Krambach <mkrambach@intevation.de>
parents:
1274
diff
changeset
|
200 } else { |
1289
bfdc00c24baf
Ortszuordnung for messprogramm and probe using same form
Maximilian Krambach <mkrambach@intevation.de>
parents:
1288
diff
changeset
|
201 //not dirty |
bfdc00c24baf
Ortszuordnung for messprogramm and probe using same form
Maximilian Krambach <mkrambach@intevation.de>
parents:
1288
diff
changeset
|
202 form.owner.down('button[action=save]').setDisabled(true); |
1341
2e8eba3918b1
OrtszuordnungMp fix
Maximilian Krambach <mkrambach@intevation.de>
parents:
1339
diff
changeset
|
203 form.owner.down('button[action=revert]').setDisabled(true); |
603
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
204 } |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
205 } |
9d0113bc2f70
Added ort form and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
206 }); |