Mercurial > lada > lada-client
annotate app/view/window/SetStatus.js @ 1293:16a80ca16732
map feature visibility, selection and grid layout
messpunkt layer is now visible per default when in editing mode
on selection in map, the form is updated
ortszuordnung buttons should not render over grid anymore
author | Maximilian Krambach <mkrambach@intevation.de> |
---|---|
date | Wed, 01 Feb 2017 19:38:06 +0100 |
parents | 38599f18c863 |
children |
rev | line source |
---|---|
1082
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
2 * Software engineering by Intevation GmbH |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
3 * |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
4 * This file is Free Software under the GNU GPL (v>=3) |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
6 * the documentation coming with IMIS-Labordaten-Application for details. |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
7 */ |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
8 |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
9 /** |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 * This is a simple Window to set the Status for multiple Messungen on bulk. |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
11 */ |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
12 Ext.define('Lada.view.window.SetStatus', { |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 extend: 'Ext.window.Window', |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 alias: 'setstatuswindow', |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
15 |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
16 requires: [ |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
17 'Lada.view.widget.Status' |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
18 ], |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
20 grid: null, |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
21 selection: null, |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
22 |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
23 modal: true, |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
24 closable: false, |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
25 resultMessage: '', |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
26 |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
27 /** |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
28 * This function initialises the Window |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
29 */ |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
30 initComponent: function() { |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
31 var i18n = Lada.getApplication().bundle; |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 var me = this; |
1230
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
33 var statusWerteStore = Ext.create('Lada.store.StatusWerte'); |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
34 statusWerteStore.load({ |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
35 params: { |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
36 messungsId: Ext.Array.pluck(this.selection, 'id').toString() |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
37 } |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
38 }); |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
39 |
1082
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
40 this.items = [{ |
1228
d5b9a5c75872
Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1114
diff
changeset
|
41 xtype: 'form', |
1082
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
42 name: 'valueselection', |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
43 border: 0, |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
44 items: [{ |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 xtype: 'fieldset', |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 title: 'Status für ' + this.selection.length + ' Messung(en) setzen', |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
47 margin: '5, 5, 10, 5', |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
48 items: [{ |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
49 xtype: 'combobox', |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
50 store: Ext.data.StoreManager.get('messstellenFiltered'), |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
51 displayField: 'messStelle', |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
52 valueField: 'id', |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
53 allowBlank: false, |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
54 queryMode: 'local', |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
55 editable: false, |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
56 width: 300, |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
57 labelWidth: 100, |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
58 emptyText: 'Wählen Sie einen Erzeuger aus.', |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
59 fieldLabel: i18n.getMsg('statusgrid.header.erzeuger') |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
60 }, { |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
61 xtype: 'statuswert', |
1230
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
62 store: statusWerteStore, |
1082
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
63 allowBlank: false, |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
64 width: 300, |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
65 labelWidth: 100, |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
66 fieldLabel: i18n.getMsg('statusgrid.header.statusWert') |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
67 }, { |
1230
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
68 xtype: 'combobox', |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
69 name: 'statusstufe', |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
70 store: Ext.data.StoreManager.get('statusstufe'), |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
71 displayField: 'stufe', |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
72 valueField: 'id', |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
73 allowBlank: false, |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
74 editable: false, |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
75 forceSelection: true, |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
76 width: 300, |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
77 labelWidth: 100, |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
78 fieldLabel: i18n.getMsg('statusgrid.header.statusStufe') |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
79 }, { |
1082
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
80 xtype: 'textarea', |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 width: 300, |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
82 height: 100, |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
83 labelWidth: 100, |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
84 fieldLabel: i18n.getMsg('statusgrid.header.text'), |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
85 emptyText: 'Geben Sie einen Kommentar ein.' |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
86 }] |
1228
d5b9a5c75872
Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1114
diff
changeset
|
87 }], |
d5b9a5c75872
Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1114
diff
changeset
|
88 buttons: [{ |
d5b9a5c75872
Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1114
diff
changeset
|
89 text: i18n.getMsg('statusSetzen'), |
d5b9a5c75872
Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1114
diff
changeset
|
90 name: 'start', |
d5b9a5c75872
Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1114
diff
changeset
|
91 icon: 'resources/img/mail-mark-notjunk.png', |
d5b9a5c75872
Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1114
diff
changeset
|
92 formBind: true, |
d5b9a5c75872
Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1114
diff
changeset
|
93 disabled: true, |
d5b9a5c75872
Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1114
diff
changeset
|
94 handler: this.setStatus |
d5b9a5c75872
Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1114
diff
changeset
|
95 }, { |
d5b9a5c75872
Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1114
diff
changeset
|
96 text: i18n.getMsg('cancel'), |
d5b9a5c75872
Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1114
diff
changeset
|
97 name: 'abort', |
d5b9a5c75872
Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1114
diff
changeset
|
98 handler: this.closeWindow |
1082
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
99 }] |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
100 }, { |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
101 xtype: 'panel', |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
102 hidden: true, |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
103 margin: '5, 5, 5, 5', |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
104 overflow: 'auto', |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
105 name: 'result' |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
106 }, { |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
107 xtype: 'progressbar', |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
108 margin: '5, 5, 5, 5', |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
109 hidden: true, |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
110 text: 'Verarbeite Statusänderungen' |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
111 }]; |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
112 this.buttons = [{ |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
113 text: i18n.getMsg('close'), |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
114 name: 'close', |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
115 hidden: true, |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
116 handler: this.closeWindow |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
117 }]; |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
118 |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
119 this.callParent(arguments); |
1228
d5b9a5c75872
Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1114
diff
changeset
|
120 |
d5b9a5c75872
Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1114
diff
changeset
|
121 // Initially validate to indicate mandatory fields clearly. |
d5b9a5c75872
Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1114
diff
changeset
|
122 this.down('form').isValid(); |
1082
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
123 }, |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
124 |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
125 /** |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
126 * @private |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
127 * A handler for a Abort-Button |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
128 */ |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
129 closeWindow: function(button) { |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
130 var win = button.up('window'); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
131 win.close(); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
132 }, |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
133 |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
134 /** |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
135 * @private |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
136 * A handler to setStatus on Bulk. |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
137 */ |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
138 setStatus: function(button) { |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
139 var win = button.up('window'); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
140 win.down('panel').disable(); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
141 win.down('button[name=start]').disable(); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
142 win.down('button[name=abort]').disable(); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
143 var progress = win.down('progressbar'); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
144 progress.show(); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
145 win.send(); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
146 }, |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
147 |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
148 send: function() { |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
149 var i18n = Lada.getApplication().bundle; |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
150 var me = this; |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
151 var progress = me.down('progressbar'); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
152 var progressText = progress.getText(); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
153 var count = 0; |
1230
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
154 |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
155 var wert = me.down('statuswert').getValue(); |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
156 var stufe = me.down('[name=statusstufe]').getValue(); |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
157 var kombis = Ext.data.StoreManager.get('statuskombi'); |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
158 var kombiIdx = kombis.findBy(function(record) { |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
159 return record.get('statusStufe').id === stufe |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
160 && record.get('statusWert').id === wert; |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
161 }); |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
162 if (kombiIdx < 0) { |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
163 Ext.Msg.alert(i18n.getMsg('err.msg.generic.title'), |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
164 'Unerlaubte Kombination aus Status und Stufe'); |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
165 me.down('button[name=close]').show(); |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
166 return; |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
167 } |
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
168 |
1082
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
169 for (var i = 0; i < this.selection.length; i++) { |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
170 var data = Ext.create('Lada.model.Status', { |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
171 messungsId: this.selection[i].get('id'), |
1230
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
172 mstId: this.down('combobox').getValue(), |
1082
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
173 datum: new Date(), |
1230
38599f18c863
Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents:
1228
diff
changeset
|
174 statusKombi: kombis.getAt(kombiIdx).get('id'), |
1082
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
175 text: this.down('textarea').getValue() |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
176 }); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
177 Ext.Ajax.request({ |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
178 url: 'lada-server/rest/status', |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
179 method: 'POST', |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
180 jsonData: data.raw, |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
181 success: function(response) { |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
182 var json = Ext.JSON.decode(response.responseText); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
183 me.resultMessage += '<strong>' + i18n.getMsg('messung') + ': '; |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
184 var sel = me.selection[count]; |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
185 me.resultMessage += sel.get('hauptprobenNr') + ' - ' + sel.get('nebenprobenNr') + '</strong><br><dd>'; |
1099
7a71723fda83
Added status protocol specific messages.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1082
diff
changeset
|
186 me.resultMessage += i18n.getMsg('status-' + json.message) + '</dd><br>'; |
1082
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
187 count++; |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
188 progress.updateProgress(count / me.selection.length, progressText + ' (' + count + ')'); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
189 if (count === me.selection.length) { |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
190 var result = me.down('panel[name=result]'); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
191 var values = me.down('panel[name=valueselection]'); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
192 me.down('button[name=start]').hide(); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
193 me.down('button[name=abort]').hide(); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
194 me.down('button[name=close]').show(); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
195 result.setSize(values.getWidth(), values.getHeight()); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
196 result.getEl().setHTML(me.resultMessage); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
197 result.show(); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
198 values.hide(); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
199 } |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
200 }, |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
201 failure: function(response) { |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
202 console.log(response); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
203 count++; |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
204 progress.updateProgress(count / me.selection.length); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
205 if (count === me.selection.length) { |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
206 me.close(); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
207 } |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
208 } |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
209 }); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
210 } |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
211 } |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
212 }); |
dbd435256f77
Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
213 |