annotate app/controller/grid/ProbeList.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 208254152ac0
children 69ebd572fe5c
rev   line source
975
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
2 * Software engineering by Intevation GmbH
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
3 *
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
4 * This file is Free Software under the GNU GPL (v>=3)
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
6 * the documentation coming with IMIS-Labordaten-Application for details.
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
7 */
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
8
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
9 /**
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
10 * Controller for the ProbeList result grid.
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
11 */
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
12 Ext.define('Lada.controller.grid.ProbeList', {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
13 extend: 'Ext.app.Controller',
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
14 requires: [
1227
848b50a4a4eb Add missing requirements.
Tom Gottfried <tom@intevation.de>
parents: 1164
diff changeset
15 'Lada.view.window.FileUpload',
975
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
16 'Lada.view.window.ProbeEdit',
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
17 'Lada.view.window.GenProbenFromMessprogramm'
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
18 ],
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
19
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
20 /**
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
21 * Initialize the Controller with listeners
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
22 */
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
23 init: function() {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
24 this.control({
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
25 'probelistgrid': {
977
56470a075e6e Added methods to the controllers to disable/enable buttons in the toolbar when rows are (de)selected
Dustin Demuth <dustin@intevation.de>
parents: 975
diff changeset
26 itemdblclick: this.editItem,
56470a075e6e Added methods to the controllers to disable/enable buttons in the toolbar when rows are (de)selected
Dustin Demuth <dustin@intevation.de>
parents: 975
diff changeset
27 select: this.activateButtons,
56470a075e6e Added methods to the controllers to disable/enable buttons in the toolbar when rows are (de)selected
Dustin Demuth <dustin@intevation.de>
parents: 975
diff changeset
28 deselect: this.deactivateButtons
975
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
29 },
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
30 'probelistgrid toolbar button[action=addProbe]': {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
31 click: this.addProbeItem
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
32 },
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
33 'probelistgrid toolbar button[action=import]': {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
34 click: this.uploadFile
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
35 },
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
36 'probelistgrid toolbar button[action=export]': {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
37 click: this.downloadFile
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
38 },
1244
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
39 'probelistgrid toolbar button[action=printSheet]': {
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
40 click: {
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
41 fn: this.printSelection,
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
42 mode: 'printsheet'
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
43 }
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
44 },
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
45 'probelistgrid toolbar button[action=printExtract]': {
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
46 click: {
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
47 fn: this.printSelection,
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
48 mode: 'printextract'
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
49 }
1111
a73726bba79c Use custom row expander in probe list grid to display messung grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1082
diff changeset
50 },
a73726bba79c Use custom row expander in probe list grid to display messung grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1082
diff changeset
51 'probelistgrid gridview': {
a73726bba79c Use custom row expander in probe list grid to display messung grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1082
diff changeset
52 expandbody: this.expandBody,
a73726bba79c Use custom row expander in probe list grid to display messung grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1082
diff changeset
53 collapsebody: this.collapseBody
975
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
54 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
55 });
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
56 this.callParent(arguments);
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
57 },
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
58
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
59 /**
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
60 * This function is called after a Row in the
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
61 * {@link Lada.view.grid.ProbeList}
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
62 * was double-clicked.
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
63 * The function opens a {@link Lada.view.window.ProbeEdit}
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
64 * or a {@link Lada.view.window.Messprogramm}.
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
65 * To determine which window has to be opened, the function
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
66 * analyse the records modelname.
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
67 */
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
68 editItem: function(grid, record) {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
69 var winname = 'Lada.view.window.ProbeEdit';
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
70
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
71 var win = Ext.create(winname, {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
72 record: record,
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
73 style: 'z-index: -1;' //Fixes an Issue where windows could not be created in IE8
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
74 });
1164
f43635937581 Open Probe always on the left side of the window and Messung on the right side
Evi Huber <ehuber@bfs.de>
parents: 1111
diff changeset
75 win.setPosition(30);
975
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
76 win.show();
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
77 win.initData();
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
78 },
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
79
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
80 /**
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
81 * This function opens a new window to create a Probe
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
82 * {@link Lada.view.window.ProbeCreate}
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
83 */
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
84 addProbeItem: function() {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
85 var win = Ext.create('Lada.view.window.ProbeCreate');
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
86 win.show();
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
87 win.initData();
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
88 },
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
89
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
90 /**
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
91 * This function opens a {@link Lada.view.window.FileUpload}
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
92 * window to upload a LAF-File
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
93 */
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
94 uploadFile: function() {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
95 var win = Ext.create('Lada.view.window.FileUpload', {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
96 title: 'Datenimport',
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
97 modal: true
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
98 });
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
99
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
100 win.show();
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
101 },
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
102
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
103 /**
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
104 * This function can be used to Download the items which
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
105 * were selected in the {@link Lada.view.grid.ProbeList}
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
106 * The Download does not work with Internet Explorers older than v.10
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
107 */
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
108 downloadFile: function(button) {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
109 var grid = button.up('grid');
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
110 var selection = grid.getView().getSelectionModel().getSelection();
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
111 var i18n = Lada.getApplication().bundle;
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
112 var proben = [];
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
113 for (var i = 0; i < selection.length; i++) {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
114 proben.push(selection[i].get('id'));
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
115 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
116 var me = this;
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
117 Ext.Ajax.request({
999
f73ca04d73a7 Refactored Server URL
Dustin Demuth <dustin@intevation.de>
parents: 977
diff changeset
118 url: 'lada-server/data/export/laf',
975
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
119 jsonData: {'proben': proben},
1246
a7dc14e3b976 Increased timeout for probe export request.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1244
diff changeset
120 timeout: 2 * 60 * 1000,
975
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
121 success: function(response) {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
122 var content = response.responseText;
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
123 var blob = new Blob([content],{type: 'text/plain'});
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
124 saveAs(blob, 'export.laf');
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
125 },
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
126 failure: function(response) {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
127 /*
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
128 SSO will send a 302 if the Client is not authenticated
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
129 unfortunately this seems to be filtered by the browser.
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
130 We assume that a 302 was send when the follwing statement
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
131 is true.
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
132 */
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
133 if (response.status == 0 && response.responseText === "") {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
134 Ext.MessageBox.confirm('Erneutes Login erforderlich',
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
135 'Ihre Session ist abgelaufen.<br/>'+
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
136 'Für ein erneutes Login muss die Anwendung neu geladen werden.<br/>' +
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
137 'Alle ungesicherten Daten gehen dabei verloren.<br/>' +
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
138 'Soll die Anwendung jetzt neu geladen werden?', this.reload);
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
139 } else {
1256
f961f94495c8 Remove erroneous error handling.
Tom Gottfried <tom@intevation.de>
parents: 1246
diff changeset
140 // further error handling
975
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
141 Ext.Msg.alert(i18n.getMsg('err.msg.generic.title'),
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
142 i18n.getMsg('err.msg.laf.filecreatefailed'));
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
143 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
144 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
145 });
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
146 },
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
147
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
148 /**
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
149 * Send the selection to a Printservice
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
150 */
1244
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
151 printSelection: function(button, e, eOpts) {
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
152 switch (eOpts.mode) {
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
153 case "printextract" :
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
154 var printData = this.createExtractData(button);
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
155 this.printpdf(printData, 'lada_print', 'lada-print.pdf', button);
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
156 break;
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
157 case "printsheet" :
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
158 // The Data is loaded from the server again, so we need
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
159 // to be a little bit asynchronous here...
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
160 callback = function(response) {
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
161 var data = response.responseText;
1261
d19170280a23 added client code to wrap objects into arrays
Dustin Demuth <dustin@intevation.de>
parents: 1256
diff changeset
162 data = this.prepareData(data); // Wraps all messstellen and deskriptoren objects into an array
1244
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
163 var printData = '{"layout": "A4 portrait", "outputFormat": "pdf",'
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
164 + '"attributes": { "proben": ' + data
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
165 + '}}';
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
166 this.printpdf(printData, 'lada_erfassungsbogen',
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
167 'lada-erfassungsbogen.pdf', button);
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
168 }
975
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
169
1244
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
170 this.createSheetData(button, callback, this);
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
171 break;
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
172 }
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
173 },
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
174
1261
d19170280a23 added client code to wrap objects into arrays
Dustin Demuth <dustin@intevation.de>
parents: 1256
diff changeset
175 prepareData: function(data) {
d19170280a23 added client code to wrap objects into arrays
Dustin Demuth <dustin@intevation.de>
parents: 1256
diff changeset
176 // Copy data
d19170280a23 added client code to wrap objects into arrays
Dustin Demuth <dustin@intevation.de>
parents: 1256
diff changeset
177 prep = JSON.parse(data);
d19170280a23 added client code to wrap objects into arrays
Dustin Demuth <dustin@intevation.de>
parents: 1256
diff changeset
178 data = JSON.parse(data);
d19170280a23 added client code to wrap objects into arrays
Dustin Demuth <dustin@intevation.de>
parents: 1256
diff changeset
179 // ensure data and prep are equal, not sure
d19170280a23 added client code to wrap objects into arrays
Dustin Demuth <dustin@intevation.de>
parents: 1256
diff changeset
180 // if json.parse changes order of things
1262
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
181
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
182 emptyMessstelle = {
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
183 "id": null,
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
184 "amtskennung": null,
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
185 "beschreibung": null,
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
186 "messStelle": null,
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
187 "mstTyp": null,
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
188 "netzbetreiberId":null
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
189 };
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
190
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
191 emptyDeskriptor = {
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
192 "s0": null,
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
193 "s1": null,
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
194 "s2": null,
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
195 "s3": null,
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
196 "s4": null,
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
197 "s5": null,
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
198 "s6": null,
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
199 "s7": null,
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
200 "s8": null,
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
201 "s9": null,
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
202 "s10": null,
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
203 "s11": null
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
204 };
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
205
1266
c4059495a346 Flatten the JSON-data in order to prozess Orte
Dustin Demuth <dustin@intevation.de>
parents: 1262
diff changeset
206 for (var i in data) {
1261
d19170280a23 added client code to wrap objects into arrays
Dustin Demuth <dustin@intevation.de>
parents: 1256
diff changeset
207 probe = data[i];
d19170280a23 added client code to wrap objects into arrays
Dustin Demuth <dustin@intevation.de>
parents: 1256
diff changeset
208 deskriptoren = probe.deskriptoren;
d19170280a23 added client code to wrap objects into arrays
Dustin Demuth <dustin@intevation.de>
parents: 1256
diff changeset
209 messstelle = probe.messstelle;
1267
e9a624998179 extract messstellen
Dustin Demuth <dustin@intevation.de>
parents: 1266
diff changeset
210 labormessstelle = probe.labormessstelle;
1266
c4059495a346 Flatten the JSON-data in order to prozess Orte
Dustin Demuth <dustin@intevation.de>
parents: 1262
diff changeset
211 ortszuordnung = probe.ortszuordnung;
1272
208254152ac0 Printing: calcualte NWG < sign in the client.
Dustin Demuth <dustin@intevation.de>
parents: 1267
diff changeset
212 zusatzwerte = probe.zusatzwerte;
1266
c4059495a346 Flatten the JSON-data in order to prozess Orte
Dustin Demuth <dustin@intevation.de>
parents: 1262
diff changeset
213
1262
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
214 if (messstelle != null) {
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
215 prep[i].messstelle = [];
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
216 prep[i].messstelle[0] = messstelle;
1267
e9a624998179 extract messstellen
Dustin Demuth <dustin@intevation.de>
parents: 1266
diff changeset
217 prep[i]['messstelle.messStelle'] = messstelle.messStelle;
1262
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
218 }
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
219 else {
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
220 prep[i].messstelle = [];
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
221 prep[i].messstelle[0] = emptyMessstelle;
1267
e9a624998179 extract messstellen
Dustin Demuth <dustin@intevation.de>
parents: 1266
diff changeset
222 prep[i]['messstelle.messStelle'] = '';
e9a624998179 extract messstellen
Dustin Demuth <dustin@intevation.de>
parents: 1266
diff changeset
223 }
e9a624998179 extract messstellen
Dustin Demuth <dustin@intevation.de>
parents: 1266
diff changeset
224
e9a624998179 extract messstellen
Dustin Demuth <dustin@intevation.de>
parents: 1266
diff changeset
225 if (labormessstelle != null) {
e9a624998179 extract messstellen
Dustin Demuth <dustin@intevation.de>
parents: 1266
diff changeset
226 prep[i]['labormessstelle.messStelle'] = labormessstelle.messStelle;
e9a624998179 extract messstellen
Dustin Demuth <dustin@intevation.de>
parents: 1266
diff changeset
227 }
e9a624998179 extract messstellen
Dustin Demuth <dustin@intevation.de>
parents: 1266
diff changeset
228 else {
e9a624998179 extract messstellen
Dustin Demuth <dustin@intevation.de>
parents: 1266
diff changeset
229 prep[i]['labormessstelle.messStelle'] = '';
1262
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
230 }
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
231
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
232 if (deskriptoren != null) {
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
233 prep[i].deskriptoren = [];
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
234 prep[i].deskriptoren[0] = deskriptoren;
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
235 }
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
236 else {
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
237 prep[i].deskriptoren = [];
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
238 prep[i].deskriptoren[0] = emptyDeskriptor;
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
239 }
1266
c4059495a346 Flatten the JSON-data in order to prozess Orte
Dustin Demuth <dustin@intevation.de>
parents: 1262
diff changeset
240
1272
208254152ac0 Printing: calcualte NWG < sign in the client.
Dustin Demuth <dustin@intevation.de>
parents: 1267
diff changeset
241 // See: app/view/grid/Probenzusatzwert.js
208254152ac0 Printing: calcualte NWG < sign in the client.
Dustin Demuth <dustin@intevation.de>
parents: 1267
diff changeset
242 // Calculate NWG < symbol , as this is NOT done by the server
208254152ac0 Printing: calcualte NWG < sign in the client.
Dustin Demuth <dustin@intevation.de>
parents: 1267
diff changeset
243 for (z in zusatzwerte){
208254152ac0 Printing: calcualte NWG < sign in the client.
Dustin Demuth <dustin@intevation.de>
parents: 1267
diff changeset
244 var nwg = zusatzwerte[z]['nwgZuMesswert'];
208254152ac0 Printing: calcualte NWG < sign in the client.
Dustin Demuth <dustin@intevation.de>
parents: 1267
diff changeset
245 var mw = zusatzwerte[z]['messwertPzs'];
208254152ac0 Printing: calcualte NWG < sign in the client.
Dustin Demuth <dustin@intevation.de>
parents: 1267
diff changeset
246 if ( mw < nwg) {
208254152ac0 Printing: calcualte NWG < sign in the client.
Dustin Demuth <dustin@intevation.de>
parents: 1267
diff changeset
247 prep[i].zusatzwerte[z]['messwertNwg'] = '<';
208254152ac0 Printing: calcualte NWG < sign in the client.
Dustin Demuth <dustin@intevation.de>
parents: 1267
diff changeset
248 }
208254152ac0 Printing: calcualte NWG < sign in the client.
Dustin Demuth <dustin@intevation.de>
parents: 1267
diff changeset
249 else {
208254152ac0 Printing: calcualte NWG < sign in the client.
Dustin Demuth <dustin@intevation.de>
parents: 1267
diff changeset
250 prep[i].zusatzwerte[z]['messwertNwg'] = null;
208254152ac0 Printing: calcualte NWG < sign in the client.
Dustin Demuth <dustin@intevation.de>
parents: 1267
diff changeset
251 }
208254152ac0 Printing: calcualte NWG < sign in the client.
Dustin Demuth <dustin@intevation.de>
parents: 1267
diff changeset
252 }
1266
c4059495a346 Flatten the JSON-data in order to prozess Orte
Dustin Demuth <dustin@intevation.de>
parents: 1262
diff changeset
253
c4059495a346 Flatten the JSON-data in order to prozess Orte
Dustin Demuth <dustin@intevation.de>
parents: 1262
diff changeset
254 // Flatten the Ortszuodnung Array
c4059495a346 Flatten the JSON-data in order to prozess Orte
Dustin Demuth <dustin@intevation.de>
parents: 1262
diff changeset
255 for (var o in ortszuordnung) {
c4059495a346 Flatten the JSON-data in order to prozess Orte
Dustin Demuth <dustin@intevation.de>
parents: 1262
diff changeset
256 oz = ortszuordnung[o];
c4059495a346 Flatten the JSON-data in order to prozess Orte
Dustin Demuth <dustin@intevation.de>
parents: 1262
diff changeset
257 for (var e in oz.ort) {
c4059495a346 Flatten the JSON-data in order to prozess Orte
Dustin Demuth <dustin@intevation.de>
parents: 1262
diff changeset
258 prep[i].ortszuordnung[o]['ort']=null;
c4059495a346 Flatten the JSON-data in order to prozess Orte
Dustin Demuth <dustin@intevation.de>
parents: 1262
diff changeset
259 prep[i].ortszuordnung[o]['ort.'+e]=oz.ort[e];
c4059495a346 Flatten the JSON-data in order to prozess Orte
Dustin Demuth <dustin@intevation.de>
parents: 1262
diff changeset
260 }
c4059495a346 Flatten the JSON-data in order to prozess Orte
Dustin Demuth <dustin@intevation.de>
parents: 1262
diff changeset
261 }
1261
d19170280a23 added client code to wrap objects into arrays
Dustin Demuth <dustin@intevation.de>
parents: 1256
diff changeset
262 }
1266
c4059495a346 Flatten the JSON-data in order to prozess Orte
Dustin Demuth <dustin@intevation.de>
parents: 1262
diff changeset
263
1261
d19170280a23 added client code to wrap objects into arrays
Dustin Demuth <dustin@intevation.de>
parents: 1256
diff changeset
264 return JSON.stringify(prep);
d19170280a23 added client code to wrap objects into arrays
Dustin Demuth <dustin@intevation.de>
parents: 1256
diff changeset
265 },
d19170280a23 added client code to wrap objects into arrays
Dustin Demuth <dustin@intevation.de>
parents: 1256
diff changeset
266
1244
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
267 /**
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
268 * Toggles the buttons in the toolbar
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
269 **/
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
270 activateButtons: function(rowModel, record) {
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
271 var grid = rowModel.view.up('grid');
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
272 this.buttonToggle(true, grid);
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
273 },
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
274
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
275 /**
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
276 * Toggles the buttons in the toolbar
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
277 **/
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
278 deactivateButtons: function(rowModel, record) {
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
279 var grid = rowModel.view.up('grid');
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
280 // Only disable buttons when nothing is selected
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
281 if (rowModel.selected.items == 0) {
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
282 this.buttonToggle(false, grid);
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
283 }
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
284 },
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
285
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
286 /**
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
287 * Enables/Disables a set of buttons
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
288 **/
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
289 buttonToggle: function(enabled, grid) {
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
290 if (!enabled) {
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
291 grid.down('button[action=export]').disable();
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
292 grid.down('button[action=printExtract]').disable();
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
293 grid.down('button[action=printSheet]').disable();
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
294 }
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
295 else {
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
296 grid.down('button[action=export]').enable();
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
297 grid.down('button[action=printExtract]').enable();
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
298 grid.down('button[action=printSheet]').enable();
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
299 }
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
300 },
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
301
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
302 reload: function(btn) {
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
303 if (btn === 'yes') {
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
304 location.reload();
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
305 }
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
306 },
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
307
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
308 expandBody: function(rowNode, record, expandRow) {
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
309 // var row = Ext.get('probe-row-' + record.get('id'));
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
310 // var messungGrid = Ext.create('Lada.view.grid.Messung', {
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
311 // recordId: record.get('id'),
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
312 // bottomBar: false,
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
313 // rowLines: true
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
314 // });
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
315 // row.swallowEvent(['click', 'mousedown', 'mouseup', 'dblclick'], true);
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
316 // messungGrid.render(row);
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
317 },
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
318
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
319 collapseBody: function(rowNode, record, expandRow) {
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
320 // var element = Ext.get('probe-row-' + record.get('id')).down('div');
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
321 // element.destroy();
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
322 },
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
323
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
324 /**
1262
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
325 * Returns a Json-Object which contains the data which has
1244
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
326 * to be printed.
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
327 * The parameter printFunctionCallback will be called once the ajax-request
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
328 * starting the json-export was evaluated
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
329 **/
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
330 createSheetData: function(button, printFunctionCallback, cbscope){
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
331 //disable Button and setLoading...
1262
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
332 button.disable();
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
333 button.setLoading(true);
1244
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
334
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
335
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
336 // get Selected Items.
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
337 var grid = button.up('grid');
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
338 var selection = grid.getView().getSelectionModel().getSelection();
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
339 var i18n = Lada.getApplication().bundle;
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
340 var me = this;
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
341 var ids = [];
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
342
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
343 for (item in selection) {
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
344 ids.push(selection[item].data['id']);
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
345 }
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
346
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
347 //basically, thats the same as the downloadFile
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
348 // code does.
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
349 var data = '{ "proben": ['+ids.toString()+'] }';
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
350
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
351 Ext.Ajax.request({
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
352 url: 'lada-server/data/export/json',
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
353 jsonData: data,
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
354 binary: false,
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
355 scope: cbscope,
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
356 success: printFunctionCallback,
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
357 failure: function(response) {
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
358 console.log('failure');
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
359 // Error handling
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
360 button.enable();
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
361 button.setLoading(false);
1262
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
362 if (response.responseText) {
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
363 try {
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
364 var json = Ext.JSON.decode(response.responseText);
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
365 }
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
366 catch(e){
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
367 console.log(e);
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
368 }
1244
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
369 }
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
370 if (json) {
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
371 if(json.errors.totalCount > 0 || json.warnings.totalCount > 0){
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
372 formPanel.setMessages(json.errors, json.warnings);
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
373 }
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
374 if(json.message){
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
375 Ext.Msg.alert(Lada.getApplication().bundle.getMsg('err.msg.generic.title')
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
376 +' #'+json.message,
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
377 Lada.getApplication().bundle.getMsg(json.message));
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
378 } else {
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
379 Ext.Msg.alert(i18n.getMsg('err.msg.generic.title'),
1262
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
380 i18n.getMsg('err.msg.response.body'));
1244
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
381 }
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
382 } else {
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
383 Ext.Msg.alert(i18n.getMsg('err.msg.generic.title'),
1262
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
384 i18n.getMsg('err.msg.response.body'));
1244
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
385 }
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
386 return null;
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
387 }
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
388 });
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
389 },
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
390
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
391 /**
1262
52ecf67e9e80 Fixes an Issue when the Probe which has to be printed does not contain deskriptoren
Dustin Demuth <dustin@intevation.de>
parents: 1261
diff changeset
392 * Returns a Json-Object which contains the data which has
1244
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
393 * to be printed.
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
394 **/
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
395 createExtractData: function(button){
975
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
396 //disable Button and setLoading...
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
397 button.disable();
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
398 button.setLoading(true);
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
399
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
400 var grid = button.up('grid');
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
401 var selection = grid.getView().getSelectionModel().getSelection();
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
402 var i18n = Lada.getApplication().bundle;
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
403 var me = this;
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
404 var columns = [];
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
405 var columnNames = [];
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
406 var visibleColumns = [];
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
407 var displayName = '';
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
408 var data = [];
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
409
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
410 // Write the columns to an array
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
411 try {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
412 for (key in selection[0].data) {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
413 // Do not write owner or readonly or id
1082
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 999
diff changeset
414 if (["owner", "readonly", "id", "probeId"].indexOf(key) == -1){
975
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
415 columns.push(key);
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
416 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
417 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
418 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
419 catch (e) {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
420 console.log(e);
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
421 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
422
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
423 //Retrieve visible columns' id's and names.
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
424 // and set displayName
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
425 try {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
426 var grid = button.up('grid');
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
427 var cman = grid.columnManager;
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
428 var cols = cman.getColumns();
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
429
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
430 displayName = grid.down('tbtext').text;
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
431
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
432 for (key in cols) {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
433 if (cols[key].dataIndex) {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
434 visibleColumns[cols[key].dataIndex] = cols[key].text;
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
435 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
436 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
437 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
438 catch (e) {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
439 console.log(e);
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
440 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
441
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
442
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
443 // Retrieve Data from selection
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
444 try {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
445 for (item in selection) {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
446 var row = selection[item].data;
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
447 var out = [];
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
448 //Lookup every column and write to data array.
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
449 for (key in columns){
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
450 var attr = columns[key];
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
451 //Only write data to output when the column is not hidden.
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
452 if (row[attr] != null &&
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
453 visibleColumns[attr] != null) {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
454 out.push(row[attr].toString());
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
455 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
456 else if (visibleColumns[attr] != null) {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
457 out.push('');
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
458 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
459 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
460 data.push(out);
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
461 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
462 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
463 catch (e){
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
464 console.log(e);
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
465 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
466
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
467 //Retrieve the names of the columns.
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
468 try {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
469 var grid = button.up('grid');
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
470 var cman = grid.columnManager;
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
471 var cols = cman.getColumns();
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
472 //Iterate columns and find column names for the key...
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
473 // This WILL run into bad behaviour when column-keys exist twice.
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
474 for (key in columns){
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
475 for (k in cols){
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
476 if (cols[k].dataIndex == columns[key]){
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
477 columnNames.push(cols[k].text);
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
478 break;
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
479 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
480 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
481 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
482 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
483 catch (e) {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
484 console.log(e);
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
485 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
486
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
487 var printData = {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
488 'layout': 'A4 landscape',
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
489 'outputFormat': 'pdf',
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
490 'attributes': {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
491 'title': 'Auszug aus LADA',
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
492 'displayName': displayName,
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
493 'table': {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
494 'columns': columnNames,
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
495 'data': data
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
496 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
497 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
498 }
1244
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
499 return printData;
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
500 },
975
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
501
1244
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
502 /**
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
503 * this function uses an AJAX request in order to
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
504 * send the data to the endpoint of the mapfish-print
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
505 */
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
506 printpdf: function(data, endpoint, filename, button){
975
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
507 Ext.Ajax.request({
1244
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
508 url: 'lada-printer/'+endpoint+'/buildreport.pdf',
975
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
509 //configure a proxy in apache conf!
1244
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
510 jsonData: data,
975
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
511 binary: true,
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
512 success: function(response) {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
513 var content = response.responseBytes;
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
514 var filetype = response.getResponseHeader('Content-Type');
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
515 var blob = new Blob([content],{type: filetype});
1244
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
516 saveAs(blob, filename);
975
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
517 button.enable();
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
518 button.setLoading(false);
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
519 },
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
520 failure: function(response) {
1244
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
521 var i18n = Lada.getApplication().bundle;
975
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
522 console.log('failure');
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
523 // Error handling
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
524 button.enable();
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
525 button.setLoading(false);
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
526 if (response.responseText) {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
527 try {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
528 var json = Ext.JSON.decode(response.responseText);
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
529 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
530 catch(e){
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
531 console.log(e);
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
532 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
533 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
534 if (json) {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
535 if(json.errors.totalCount > 0 || json.warnings.totalCount > 0){
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
536 formPanel.setMessages(json.errors, json.warnings);
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
537 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
538 if(json.message){
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
539 Ext.Msg.alert(Lada.getApplication().bundle.getMsg('err.msg.generic.title')
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
540 +' #'+json.message,
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
541 Lada.getApplication().bundle.getMsg(json.message));
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
542 } else {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
543 Ext.Msg.alert(i18n.getMsg('err.msg.generic.title'),
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
544 i18n.getMsg('err.msg.print.noContact'));
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
545 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
546 } else {
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
547 Ext.Msg.alert(i18n.getMsg('err.msg.generic.title'),
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
548 i18n.getMsg('err.msg.print.noContact'));
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
549 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
550 }
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
551 });
1244
d391f055022e WIP Added Erfassungsbogen-Druck
Dustin Demuth <dustin@intevation.de>
parents: 1227
diff changeset
552 }
977
56470a075e6e Added methods to the controllers to disable/enable buttons in the toolbar when rows are (de)selected
Dustin Demuth <dustin@intevation.de>
parents: 975
diff changeset
553
975
fb99332bb48e Severe changes concerning the Resultgrids.
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
554 });

http://lada.wald.intevation.org