Mercurial > lada > lada-client
annotate app/view/window/ProbeEdit.js @ 1179:08bd9f1c791b
Implement allowBlank for custom ComboBox.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Thu, 04 Aug 2016 16:59:37 +0200 |
parents | 5e3d4136ecfb |
children |
rev | line source |
---|---|
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
2 * Software engineering by Intevation GmbH |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
3 * |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
4 * This file is Free Software under the GNU GPL (v>=3) |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
6 * the documentation coming with IMIS-Labordaten-Application for details. |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
7 */ |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
8 |
891 | 9 /** |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 * Window to edit a Probe |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
11 */ |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
12 Ext.define('Lada.view.window.ProbeEdit', { |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 extend: 'Ext.window.Window', |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 alias: 'widget.probenedit', |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
15 |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
16 requires: [ |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
17 'Lada.view.form.Probe', |
1004
9ac03f461ab4
Introduced Orte into Stammdatengrids, Added Ortszuordnung. THIS COMMIT IS WORK IN PROGRESS, Proben will NOT work after this commit. Orte can not be edited.
Dustin Demuth <dustin@intevation.de>
parents:
943
diff
changeset
|
18 'Lada.view.grid.Ortszuordnung', |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 'Lada.view.grid.Probenzusatzwert', |
561
ea2c35cd9c19
Ein grid für Messungen hinzugefügt und im Window ProbeEdit eingesetzt. Ohne Funktion sind die Felder: Status, OK-Flag, Anzahl Nuklide/Kommentare
Dustin Demuth <dustin@intevation.de>
parents:
557
diff
changeset
|
20 'Lada.view.grid.PKommentar', |
592
825973ca386f
Updated missing name changes for messung grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
588
diff
changeset
|
21 'Lada.view.grid.Messung' |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
22 ], |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
23 |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
24 collapsible: true, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
25 maximizable: true, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
26 autoShow: true, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
27 layout: 'fit', |
688
6a6d1b02a1a3
constrain windows to viewport
Dustin Demuth <dustin@intevation.de>
parents:
684
diff
changeset
|
28 constrain: true, |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
29 |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
30 record: null, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
31 |
890
def27cdd0dfa
Added Documentation to Windows
Dustin Demuth <dustin@intevation.de>
parents:
839
diff
changeset
|
32 /** |
def27cdd0dfa
Added Documentation to Windows
Dustin Demuth <dustin@intevation.de>
parents:
839
diff
changeset
|
33 * This function initialises the Window |
def27cdd0dfa
Added Documentation to Windows
Dustin Demuth <dustin@intevation.de>
parents:
839
diff
changeset
|
34 */ |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 initComponent: function() { |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 if (this.record === null) { |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 Ext.Msg.alert('Keine valide Probe ausgewählt!'); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
38 this.callParent(arguments); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
39 return; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
40 } |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
41 this.buttons = [{ |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
42 text: 'Schließen', |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
43 scope: this, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
44 handler: this.close |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 }]; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 this.width = 700; |
709
6f6d2df00130
Added some CSS to make distinction between active and inactice windows more simple for the user
Dustin Demuth <dustin@intevation.de>
parents:
707
diff
changeset
|
47 |
6f6d2df00130
Added some CSS to make distinction between active and inactice windows more simple for the user
Dustin Demuth <dustin@intevation.de>
parents:
707
diff
changeset
|
48 // add listeners to change the window appearence when it becomes inactive |
6f6d2df00130
Added some CSS to make distinction between active and inactice windows more simple for the user
Dustin Demuth <dustin@intevation.de>
parents:
707
diff
changeset
|
49 this.on({ |
6f6d2df00130
Added some CSS to make distinction between active and inactice windows more simple for the user
Dustin Demuth <dustin@intevation.de>
parents:
707
diff
changeset
|
50 activate: function(){ |
6f6d2df00130
Added some CSS to make distinction between active and inactice windows more simple for the user
Dustin Demuth <dustin@intevation.de>
parents:
707
diff
changeset
|
51 this.getEl().removeCls('window-inactive'); |
6f6d2df00130
Added some CSS to make distinction between active and inactice windows more simple for the user
Dustin Demuth <dustin@intevation.de>
parents:
707
diff
changeset
|
52 }, |
6f6d2df00130
Added some CSS to make distinction between active and inactice windows more simple for the user
Dustin Demuth <dustin@intevation.de>
parents:
707
diff
changeset
|
53 deactivate: function(){ |
6f6d2df00130
Added some CSS to make distinction between active and inactice windows more simple for the user
Dustin Demuth <dustin@intevation.de>
parents:
707
diff
changeset
|
54 this.getEl().addCls('window-inactive'); |
6f6d2df00130
Added some CSS to make distinction between active and inactice windows more simple for the user
Dustin Demuth <dustin@intevation.de>
parents:
707
diff
changeset
|
55 } |
6f6d2df00130
Added some CSS to make distinction between active and inactice windows more simple for the user
Dustin Demuth <dustin@intevation.de>
parents:
707
diff
changeset
|
56 }); |
6f6d2df00130
Added some CSS to make distinction between active and inactice windows more simple for the user
Dustin Demuth <dustin@intevation.de>
parents:
707
diff
changeset
|
57 |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
58 this.height = Ext.getBody().getViewSize().height - 30; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
59 // InitialConfig is the config object passed to the constructor on |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
60 // creation of this window. We need to pass it throuh to the form as |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
61 // we need the "modelId" param to load the correct item. |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
62 this.items = [{ |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
63 border: 0, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
64 autoScroll: true, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
65 items: [{ |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
66 xtype: 'probeform', |
684
69cb367c0a63
When a Probeform is dirty, all child-grids are made readonly (Row Editing is not disbled correctly). When a Probe is read-only all Child-grid buttons are disabled. When a Probe is ReadOnly probeform is also readonly.
Dustin Demuth <dustin@intevation.de>
parents:
681
diff
changeset
|
67 recordId: this.record.get('id') |
839
135cd5814b15
Diplays Orte atop of Messungen
Dustin Demuth <dustin@intevation.de>
parents:
823
diff
changeset
|
68 }, { |
135cd5814b15
Diplays Orte atop of Messungen
Dustin Demuth <dustin@intevation.de>
parents:
823
diff
changeset
|
69 xtype: 'fset', |
135cd5814b15
Diplays Orte atop of Messungen
Dustin Demuth <dustin@intevation.de>
parents:
823
diff
changeset
|
70 name: 'orte', |
135cd5814b15
Diplays Orte atop of Messungen
Dustin Demuth <dustin@intevation.de>
parents:
823
diff
changeset
|
71 title: 'Ortsangaben', |
135cd5814b15
Diplays Orte atop of Messungen
Dustin Demuth <dustin@intevation.de>
parents:
823
diff
changeset
|
72 padding: '5, 5', |
135cd5814b15
Diplays Orte atop of Messungen
Dustin Demuth <dustin@intevation.de>
parents:
823
diff
changeset
|
73 margin: 5, |
135cd5814b15
Diplays Orte atop of Messungen
Dustin Demuth <dustin@intevation.de>
parents:
823
diff
changeset
|
74 items: [{ |
1012
2adc329d90fe
Replaced Locations with Ortszuordnung
Dustin Demuth <dustin@intevation.de>
parents:
1004
diff
changeset
|
75 xtype: 'ortszuordnunggrid', |
839
135cd5814b15
Diplays Orte atop of Messungen
Dustin Demuth <dustin@intevation.de>
parents:
823
diff
changeset
|
76 recordId: this.record.get('id') |
135cd5814b15
Diplays Orte atop of Messungen
Dustin Demuth <dustin@intevation.de>
parents:
823
diff
changeset
|
77 }] |
601
f9c2e82ebc20
Moved messungen field in probe edit window up.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
592
diff
changeset
|
78 }, { |
f9c2e82ebc20
Moved messungen field in probe edit window up.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
592
diff
changeset
|
79 xtype: 'fset', |
f9c2e82ebc20
Moved messungen field in probe edit window up.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
592
diff
changeset
|
80 name: 'messungen', |
f9c2e82ebc20
Moved messungen field in probe edit window up.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
592
diff
changeset
|
81 title: 'Messungen', |
f9c2e82ebc20
Moved messungen field in probe edit window up.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
592
diff
changeset
|
82 padding: '5, 5', |
f9c2e82ebc20
Moved messungen field in probe edit window up.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
592
diff
changeset
|
83 margin: 5, |
f9c2e82ebc20
Moved messungen field in probe edit window up.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
592
diff
changeset
|
84 collapsible: false, |
f9c2e82ebc20
Moved messungen field in probe edit window up.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
592
diff
changeset
|
85 collapsed: false, |
f9c2e82ebc20
Moved messungen field in probe edit window up.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
592
diff
changeset
|
86 items: [{ |
f9c2e82ebc20
Moved messungen field in probe edit window up.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
592
diff
changeset
|
87 xtype: 'messunggrid', |
f9c2e82ebc20
Moved messungen field in probe edit window up.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
592
diff
changeset
|
88 recordId: this.record.get('id') |
f9c2e82ebc20
Moved messungen field in probe edit window up.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
592
diff
changeset
|
89 }] |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
90 }, { |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
91 xtype: 'fset', |
684
69cb367c0a63
When a Probeform is dirty, all child-grids are made readonly (Row Editing is not disbled correctly). When a Probe is read-only all Child-grid buttons are disabled. When a Probe is ReadOnly probeform is also readonly.
Dustin Demuth <dustin@intevation.de>
parents:
681
diff
changeset
|
92 name: 'probenzusatzwerte', |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
93 title: 'Zusatzwerte', |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
94 padding: '5, 5', |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
95 margin: 5, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
96 collapsible: true, |
943
0a233865a9c3
PKommentar an MKommentar grid modified
Michael Stanko <mstanko@bfs.de>
parents:
891
diff
changeset
|
97 collapsed: false, |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
98 items: [{ |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
99 xtype: 'probenzusatzwertgrid', |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
100 recordId: this.record.get('id') |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
101 }] |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
102 }, { |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
103 xtype: 'fset', |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
104 name: 'pkommentare', |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
105 title: 'Kommentare', |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
106 padding: '5, 5', |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
107 margin: 5, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
108 collapsible: true, |
943
0a233865a9c3
PKommentar an MKommentar grid modified
Michael Stanko <mstanko@bfs.de>
parents:
891
diff
changeset
|
109 collapsed: false, |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
110 items: [{ |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
111 xtype: 'pkommentargrid', |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
112 recordId: this.record.get('id') |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
113 }] |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
114 }] |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
115 }]; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
116 this.callParent(arguments); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
117 }, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
118 |
890
def27cdd0dfa
Added Documentation to Windows
Dustin Demuth <dustin@intevation.de>
parents:
839
diff
changeset
|
119 /** |
def27cdd0dfa
Added Documentation to Windows
Dustin Demuth <dustin@intevation.de>
parents:
839
diff
changeset
|
120 * Initialise the Data of this Window |
def27cdd0dfa
Added Documentation to Windows
Dustin Demuth <dustin@intevation.de>
parents:
839
diff
changeset
|
121 */ |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
122 initData: function() { |
713
2e478b3a587a
Set some loading masks.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
712
diff
changeset
|
123 this.setLoading(true); |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
124 this.clearMessages(); |
706
3e4be37e3e46
Re-Enable Add/Delete Button of a MessungGrid in Cases when the User owns the Probe
Dustin Demuth <dustin@intevation.de>
parents:
696
diff
changeset
|
125 me = this; |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
126 Ext.ClassManager.get('Lada.model.Probe').load(this.record.get('id'), { |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
127 failure: function(record, action) { |
713
2e478b3a587a
Set some loading masks.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
712
diff
changeset
|
128 me.setLoading(false); |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
129 // TODO |
712 | 130 console.log('An unhandled Failure occured. See following Response and Record'); |
131 console.log(action); | |
696
b0f1dcdf981d
Made the unhandled Errors more talkativew
Dustin Demuth <dustin@intevation.de>
parents:
693
diff
changeset
|
132 console.log(record); |
b0f1dcdf981d
Made the unhandled Errors more talkativew
Dustin Demuth <dustin@intevation.de>
parents:
693
diff
changeset
|
133 }, |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
134 success: function(record, response) { |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
135 this.down('probeform').setRecord(record); |
690
e88381fb3bdb
Use treeModiefied timestamp to determine if working with 'old' objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
688
diff
changeset
|
136 this.record = record; |
1033
e4b6b6c5fb89
Use 'owner' attribute to set messung grid and button RO status.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1004
diff
changeset
|
137 var owner = this.record.get('owner'); |
e4b6b6c5fb89
Use 'owner' attribute to set messung grid and button RO status.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1004
diff
changeset
|
138 var readonly = this.record.get('readonly'); |
706
3e4be37e3e46
Re-Enable Add/Delete Button of a MessungGrid in Cases when the User owns the Probe
Dustin Demuth <dustin@intevation.de>
parents:
696
diff
changeset
|
139 |
1175
5e3d4136ecfb
Changed title of Probe- and Messungs-mask/ added ProbeId as displayfield
Evi Huber <ehuber@bfs.de>
parents:
1170
diff
changeset
|
140 var messstelle = Ext.data.StoreManager.get('messstellen') |
5e3d4136ecfb
Changed title of Probe- and Messungs-mask/ added ProbeId as displayfield
Evi Huber <ehuber@bfs.de>
parents:
1170
diff
changeset
|
141 .getById(this.record.get('mstId')); |
5e3d4136ecfb
Changed title of Probe- and Messungs-mask/ added ProbeId as displayfield
Evi Huber <ehuber@bfs.de>
parents:
1170
diff
changeset
|
142 this.setTitle('§3 Probe - Hauptprobennr.: ' + this.record.get('hauptprobenNr') |
5e3d4136ecfb
Changed title of Probe- and Messungs-mask/ added ProbeId as displayfield
Evi Huber <ehuber@bfs.de>
parents:
1170
diff
changeset
|
143 + ' Mst: ' + messstelle.get('messStelle')); |
5e3d4136ecfb
Changed title of Probe- and Messungs-mask/ added ProbeId as displayfield
Evi Huber <ehuber@bfs.de>
parents:
1170
diff
changeset
|
144 |
706
3e4be37e3e46
Re-Enable Add/Delete Button of a MessungGrid in Cases when the User owns the Probe
Dustin Demuth <dustin@intevation.de>
parents:
696
diff
changeset
|
145 if (owner) { |
3e4be37e3e46
Re-Enable Add/Delete Button of a MessungGrid in Cases when the User owns the Probe
Dustin Demuth <dustin@intevation.de>
parents:
696
diff
changeset
|
146 //Always allow to Add Messungen. |
3e4be37e3e46
Re-Enable Add/Delete Button of a MessungGrid in Cases when the User owns the Probe
Dustin Demuth <dustin@intevation.de>
parents:
696
diff
changeset
|
147 me.enableAddMessungen(); |
3e4be37e3e46
Re-Enable Add/Delete Button of a MessungGrid in Cases when the User owns the Probe
Dustin Demuth <dustin@intevation.de>
parents:
696
diff
changeset
|
148 } |
3e4be37e3e46
Re-Enable Add/Delete Button of a MessungGrid in Cases when the User owns the Probe
Dustin Demuth <dustin@intevation.de>
parents:
696
diff
changeset
|
149 |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
150 var json = Ext.decode(response.response.responseText); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
151 if (json) { |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
152 this.setMessages(json.errors, json.warnings); |
771
dd6925ef6028
Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
713
diff
changeset
|
153 if (!json.warnings.mediaDesk) { |
dd6925ef6028
Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
713
diff
changeset
|
154 this.down('probeform').setMediaDesk(record); |
dd6925ef6028
Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
713
diff
changeset
|
155 } |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
156 } |
710
f204f30b824a
Handle readonly mode and refresh operations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
709
diff
changeset
|
157 // If the Probe is ReadOnly, disable Inputfields and grids |
1033
e4b6b6c5fb89
Use 'owner' attribute to set messung grid and button RO status.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1004
diff
changeset
|
158 if (readonly === true || !owner) { |
710
f204f30b824a
Handle readonly mode and refresh operations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
709
diff
changeset
|
159 this.down('probeform').setReadOnly(true); |
f204f30b824a
Handle readonly mode and refresh operations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
709
diff
changeset
|
160 this.disableChildren(); |
f204f30b824a
Handle readonly mode and refresh operations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
709
diff
changeset
|
161 } |
f204f30b824a
Handle readonly mode and refresh operations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
709
diff
changeset
|
162 else { |
f204f30b824a
Handle readonly mode and refresh operations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
709
diff
changeset
|
163 this.down('probeform').setReadOnly(false); |
f204f30b824a
Handle readonly mode and refresh operations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
709
diff
changeset
|
164 this.enableChildren(); |
f204f30b824a
Handle readonly mode and refresh operations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
709
diff
changeset
|
165 } |
713
2e478b3a587a
Set some loading masks.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
712
diff
changeset
|
166 me.setLoading(false); |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
167 }, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
168 scope: this |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
169 }); |
684
69cb367c0a63
When a Probeform is dirty, all child-grids are made readonly (Row Editing is not disbled correctly). When a Probe is read-only all Child-grid buttons are disabled. When a Probe is ReadOnly probeform is also readonly.
Dustin Demuth <dustin@intevation.de>
parents:
681
diff
changeset
|
170 }, |
69cb367c0a63
When a Probeform is dirty, all child-grids are made readonly (Row Editing is not disbled correctly). When a Probe is read-only all Child-grid buttons are disabled. When a Probe is ReadOnly probeform is also readonly.
Dustin Demuth <dustin@intevation.de>
parents:
681
diff
changeset
|
171 |
890
def27cdd0dfa
Added Documentation to Windows
Dustin Demuth <dustin@intevation.de>
parents:
839
diff
changeset
|
172 /** |
def27cdd0dfa
Added Documentation to Windows
Dustin Demuth <dustin@intevation.de>
parents:
839
diff
changeset
|
173 * Enable the Messungengrid |
def27cdd0dfa
Added Documentation to Windows
Dustin Demuth <dustin@intevation.de>
parents:
839
diff
changeset
|
174 */ |
712 | 175 enableAddMessungen: function() { |
706
3e4be37e3e46
Re-Enable Add/Delete Button of a MessungGrid in Cases when the User owns the Probe
Dustin Demuth <dustin@intevation.de>
parents:
696
diff
changeset
|
176 this.down('fset[name=messungen]').down('messunggrid').setReadOnly(false); |
3e4be37e3e46
Re-Enable Add/Delete Button of a MessungGrid in Cases when the User owns the Probe
Dustin Demuth <dustin@intevation.de>
parents:
696
diff
changeset
|
177 }, |
3e4be37e3e46
Re-Enable Add/Delete Button of a MessungGrid in Cases when the User owns the Probe
Dustin Demuth <dustin@intevation.de>
parents:
696
diff
changeset
|
178 |
890
def27cdd0dfa
Added Documentation to Windows
Dustin Demuth <dustin@intevation.de>
parents:
839
diff
changeset
|
179 /** |
def27cdd0dfa
Added Documentation to Windows
Dustin Demuth <dustin@intevation.de>
parents:
839
diff
changeset
|
180 * Disable the Childelements of this window |
def27cdd0dfa
Added Documentation to Windows
Dustin Demuth <dustin@intevation.de>
parents:
839
diff
changeset
|
181 */ |
712 | 182 disableChildren: function() { |
707
c632c7c34029
added disable/enableChildren Method
Dustin Demuth <dustin@intevation.de>
parents:
706
diff
changeset
|
183 if (!this.record.get('owner')) { |
c632c7c34029
added disable/enableChildren Method
Dustin Demuth <dustin@intevation.de>
parents:
706
diff
changeset
|
184 // Disable only when the User is not the owner of the Probe |
c632c7c34029
added disable/enableChildren Method
Dustin Demuth <dustin@intevation.de>
parents:
706
diff
changeset
|
185 // Works in symbiosis with success callback some lines above. |
c632c7c34029
added disable/enableChildren Method
Dustin Demuth <dustin@intevation.de>
parents:
706
diff
changeset
|
186 this.down('fset[name=messungen]').down('messunggrid').setReadOnly(true); |
823
5ed0e6273888
Only enable delete button in grids when an entry was selected
Dustin Demuth <dustin@intevation.de>
parents:
771
diff
changeset
|
187 this.down('fset[name=messungen]').down('messunggrid').readOnly = true; |
707
c632c7c34029
added disable/enableChildren Method
Dustin Demuth <dustin@intevation.de>
parents:
706
diff
changeset
|
188 } |
1012
2adc329d90fe
Replaced Locations with Ortszuordnung
Dustin Demuth <dustin@intevation.de>
parents:
1004
diff
changeset
|
189 this.down('fset[name=orte]').down('ortszuordnunggrid').setReadOnly(true); |
706
3e4be37e3e46
Re-Enable Add/Delete Button of a MessungGrid in Cases when the User owns the Probe
Dustin Demuth <dustin@intevation.de>
parents:
696
diff
changeset
|
190 this.down('fset[name=probenzusatzwerte]').down('probenzusatzwertgrid').setReadOnly(true); |
3e4be37e3e46
Re-Enable Add/Delete Button of a MessungGrid in Cases when the User owns the Probe
Dustin Demuth <dustin@intevation.de>
parents:
696
diff
changeset
|
191 this.down('fset[name=pkommentare]').down('pkommentargrid').setReadOnly(true); |
684
69cb367c0a63
When a Probeform is dirty, all child-grids are made readonly (Row Editing is not disbled correctly). When a Probe is read-only all Child-grid buttons are disabled. When a Probe is ReadOnly probeform is also readonly.
Dustin Demuth <dustin@intevation.de>
parents:
681
diff
changeset
|
192 }, |
69cb367c0a63
When a Probeform is dirty, all child-grids are made readonly (Row Editing is not disbled correctly). When a Probe is read-only all Child-grid buttons are disabled. When a Probe is ReadOnly probeform is also readonly.
Dustin Demuth <dustin@intevation.de>
parents:
681
diff
changeset
|
193 |
890
def27cdd0dfa
Added Documentation to Windows
Dustin Demuth <dustin@intevation.de>
parents:
839
diff
changeset
|
194 /** |
def27cdd0dfa
Added Documentation to Windows
Dustin Demuth <dustin@intevation.de>
parents:
839
diff
changeset
|
195 * Enable the Childelements of this window |
def27cdd0dfa
Added Documentation to Windows
Dustin Demuth <dustin@intevation.de>
parents:
839
diff
changeset
|
196 */ |
712 | 197 enableChildren: function() { |
706
3e4be37e3e46
Re-Enable Add/Delete Button of a MessungGrid in Cases when the User owns the Probe
Dustin Demuth <dustin@intevation.de>
parents:
696
diff
changeset
|
198 this.down('fset[name=messungen]').down('messunggrid').setReadOnly(false); |
1012
2adc329d90fe
Replaced Locations with Ortszuordnung
Dustin Demuth <dustin@intevation.de>
parents:
1004
diff
changeset
|
199 this.down('fset[name=orte]').down('ortszuordnunggrid').setReadOnly(false); |
706
3e4be37e3e46
Re-Enable Add/Delete Button of a MessungGrid in Cases when the User owns the Probe
Dustin Demuth <dustin@intevation.de>
parents:
696
diff
changeset
|
200 this.down('fset[name=probenzusatzwerte]').down('probenzusatzwertgrid').setReadOnly(false); |
3e4be37e3e46
Re-Enable Add/Delete Button of a MessungGrid in Cases when the User owns the Probe
Dustin Demuth <dustin@intevation.de>
parents:
696
diff
changeset
|
201 this.down('fset[name=pkommentare]').down('pkommentargrid').setReadOnly(false); |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
202 }, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
203 |
890
def27cdd0dfa
Added Documentation to Windows
Dustin Demuth <dustin@intevation.de>
parents:
839
diff
changeset
|
204 /** |
def27cdd0dfa
Added Documentation to Windows
Dustin Demuth <dustin@intevation.de>
parents:
839
diff
changeset
|
205 * Instructs the fields / forms listed in this method to set a message. |
def27cdd0dfa
Added Documentation to Windows
Dustin Demuth <dustin@intevation.de>
parents:
839
diff
changeset
|
206 * @param errors These Errors shall be shown |
def27cdd0dfa
Added Documentation to Windows
Dustin Demuth <dustin@intevation.de>
parents:
839
diff
changeset
|
207 * @param warnings These Warning shall be shown |
def27cdd0dfa
Added Documentation to Windows
Dustin Demuth <dustin@intevation.de>
parents:
839
diff
changeset
|
208 */ |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
209 setMessages: function(errors, warnings) { |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
210 this.down('probeform').setMessages(errors, warnings); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
211 var errorOrtText = ''; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
212 var errorOrt = false; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
213 var warningOrtText = ''; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
214 var warningOrt = false; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
215 var key; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
216 var content; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
217 var i; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
218 var keyText; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
219 var i18n = Lada.getApplication().bundle; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
220 for (key in errors) { |
582
a241362cda68
Use indexOf instead of contains to check if a substring exists.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
561
diff
changeset
|
221 if (key && key.indexOf('Ort') > -1) { |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
222 errorOrt = true; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
223 content = errors[key]; |
557
48ee1adee0a2
Added i18n string for 'orte' errors and warnings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
548
diff
changeset
|
224 keyText = i18n.getMsg(key); |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
225 for (i = 0; i < content.length; i++) { |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
226 errorOrtText += keyText + ': ' + |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
227 i18n.getMsg(content[i].toString()) + '\n'; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
228 } |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
229 } |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
230 } |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
231 for (key in warnings) { |
582
a241362cda68
Use indexOf instead of contains to check if a substring exists.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
561
diff
changeset
|
232 if (key && key.indexOf('Ort') > -1) { |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
233 warningOrt = true; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
234 content = warnings[key]; |
557
48ee1adee0a2
Added i18n string for 'orte' errors and warnings.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
548
diff
changeset
|
235 keyText = i18n.getMsg(key); |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
236 for (i = 0; i < content.length; i++) { |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
237 warningOrtText += keyText + ': ' + |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
238 i18n.getMsg(content[i].toString()) + '\n'; |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
239 } |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
240 } |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
241 } |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
242 this.down('fset[name=orte]').showWarningOrError( |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
243 warningOrt, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
244 warningOrtText === '' ? null : warningOrtText, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
245 errorOrt, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
246 errorOrtText === '' ? null : errorOrtText); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
247 }, |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
248 |
890
def27cdd0dfa
Added Documentation to Windows
Dustin Demuth <dustin@intevation.de>
parents:
839
diff
changeset
|
249 /** |
def27cdd0dfa
Added Documentation to Windows
Dustin Demuth <dustin@intevation.de>
parents:
839
diff
changeset
|
250 * Instructs the fields / forms listed in this method to clear their messages. |
def27cdd0dfa
Added Documentation to Windows
Dustin Demuth <dustin@intevation.de>
parents:
839
diff
changeset
|
251 */ |
548
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
252 clearMessages: function() { |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
253 this.down('probeform').clearMessages(); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
254 this.down('fset[name=orte]').clearMessages(); |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
255 } |
d47ee7439f44
Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
256 }); |