annotate app/controller/FilterResult.js @ 1374:bf41823cdcf2 2.5

Prepare tag.
author Tom Gottfried <tom@intevation.de>
date Thu, 09 Feb 2017 14:16:27 +0100
parents 848b50a4a4eb
children
rev   line source
548
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
2 * Software engineering by Intevation GmbH
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
3 *
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
4 * This file is Free Software under the GNU GPL (v>=3)
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
6 * the documentation coming with IMIS-Labordaten-Application for details.
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
7 */
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
8
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
9 /**
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
10 * Controller for filter result grid.
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
11 */
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
12 Ext.define('Lada.controller.FilterResult', {
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
13 extend: 'Ext.app.Controller',
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
14 requires: [
1227
848b50a4a4eb Add missing requirements.
Tom Gottfried <tom@intevation.de>
parents: 1083
diff changeset
15 'Lada.view.window.FileUpload',
754
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
16 'Lada.view.window.ProbeEdit',
1083
cbe5a19449a4 Code style etc.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 999
diff changeset
17 'Lada.view.window.ProbeCreate',
940
1e2895bfa410 Added Require Statement for GenProbenFromMessprogramm
Dustin Demuth <dustin@intevation.de>
parents: 939
diff changeset
18 'Lada.view.window.Messprogramm',
1e2895bfa410 Added Require Statement for GenProbenFromMessprogramm
Dustin Demuth <dustin@intevation.de>
parents: 939
diff changeset
19 'Lada.view.window.GenProbenFromMessprogramm'
548
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
20 ],
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
21
742
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 727
diff changeset
22 /**
810
a5373ee662e2 Created a loading Animation for the Filterresultgrid
Dustin Demuth <dustin@intevation.de>
parents: 809
diff changeset
23 * Initialize the Controller with listeners
742
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 727
diff changeset
24 */
548
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
25 init: function() {
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
26 this.control({
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
27 'filterresultgrid': {
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
28 itemdblclick: this.editItem
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
29 },
754
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
30 'filterresultgrid toolbar button[action=addProbe]': {
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
31 click: this.addProbeItem
548
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
32 },
755
3637c453f67d Enabled Creation of a Messprogramm, an empty Window is now shown. The save operation leads to a E 500
Dustin Demuth <dustin@intevation.de>
parents: 754
diff changeset
33 'filterresultgrid toolbar button[action=addMessprogramm]': {
3637c453f67d Enabled Creation of a Messprogramm, an empty Window is now shown. The save operation leads to a E 500
Dustin Demuth <dustin@intevation.de>
parents: 754
diff changeset
34 click: this.addMessprogrammItem
3637c453f67d Enabled Creation of a Messprogramm, an empty Window is now shown. The save operation leads to a E 500
Dustin Demuth <dustin@intevation.de>
parents: 754
diff changeset
35 },
860
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
36 'filterresultgrid toolbar button[action=genProbenFromMessprogramm]': {
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
37 click: this.genProbenFromMessprogramm
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
38 },
548
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
39 'filterresultgrid toolbar button[action=import]': {
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
40 click: this.uploadFile
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
41 },
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
42 'filterresultgrid toolbar button[action=export]': {
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
43 click: this.downloadFile
923
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
44 },
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
45 'filterresultgrid toolbar button[action=print]': {
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
46 click: this.printSelection
548
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
47 }
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
48 });
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
49 this.callParent(arguments);
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
50 },
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
51
742
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 727
diff changeset
52 /**
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 727
diff changeset
53 * This function is called after a Row in the
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 727
diff changeset
54 * {@link Lada.view.grid.FilterResult}
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 727
diff changeset
55 * was double-clicked.
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 727
diff changeset
56 * The function opens a {@link Lada.view.window.ProbeEdit}
895
2b7bcb778f0a Jsduck debug
Dustin Demuth <dustin@intevation.de>
parents: 887
diff changeset
57 * or a {@link Lada.view.window.Messprogramm}.
754
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
58 * To determine which window has to be opened, the function
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
59 * analyse the records modelname.
742
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 727
diff changeset
60 */
548
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
61 editItem: function(grid, record) {
754
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
62 var mname = record.store.model.modelName || '';
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
63 var winname = '';
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
64
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
65 //Based upon the Model that was loaded, act differently
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
66 if (mname == 'Lada.model.ProbeList'){
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
67 winname = 'Lada.view.window.ProbeEdit';
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
68 }
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
69 else if (mname == 'Lada.model.MessprogrammList'){
759
b7484c7da2d4 Unified the Messprogramm windows. Unfortunately the Roweditor of Messmethodengrid is broken in this commit. This is due to the fact that the Mmt store is noit autoloaded anymore
Dustin Demuth <dustin@intevation.de>
parents: 755
diff changeset
70 winname = 'Lada.view.window.Messprogramm';
754
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
71 }
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
72 if (winname){
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
73 var win = Ext.create(winname, {
814
af54733a6d48 Fix for IE8 compatibility
Dustin Demuth <dustin@intevation.de>
parents: 812
diff changeset
74 record: record,
af54733a6d48 Fix for IE8 compatibility
Dustin Demuth <dustin@intevation.de>
parents: 812
diff changeset
75 style: 'z-index: -1;' //Fixes an Issue where windows could not be created in IE8
754
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
76 });
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
77 win.show();
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
78 win.initData();
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
79 }
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
80 else {
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
81 console.log('The model is unknown.'
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
82 +'No window was configured to display the data.'
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
83 +'I retrieved a model named:' + mname
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
84 );
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
85 }
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
86 },
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
87
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
88 /**
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
89 * This function opens a new window to create a Probe
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
90 * {@link Lada.view.window.ProbeCreate}
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
91 */
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
92 addProbeItem: function() {
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
93 var win = Ext.create('Lada.view.window.ProbeCreate');
548
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
94 win.show();
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
95 win.initData();
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
96 },
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
97
742
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 727
diff changeset
98 /**
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 727
diff changeset
99 * This function opens a new window to create a Probe
895
2b7bcb778f0a Jsduck debug
Dustin Demuth <dustin@intevation.de>
parents: 887
diff changeset
100 * {@link Lada.view.window.Messprogramm}
742
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 727
diff changeset
101 */
754
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
102 addMessprogrammItem: function() {
759
b7484c7da2d4 Unified the Messprogramm windows. Unfortunately the Roweditor of Messmethodengrid is broken in this commit. This is due to the fact that the Mmt store is noit autoloaded anymore
Dustin Demuth <dustin@intevation.de>
parents: 755
diff changeset
103 var win = Ext.create('Lada.view.window.Messprogramm');
755
3637c453f67d Enabled Creation of a Messprogramm, an empty Window is now shown. The save operation leads to a E 500
Dustin Demuth <dustin@intevation.de>
parents: 754
diff changeset
104 win.show();
3637c453f67d Enabled Creation of a Messprogramm, an empty Window is now shown. The save operation leads to a E 500
Dustin Demuth <dustin@intevation.de>
parents: 754
diff changeset
105 win.initData();
548
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
106 },
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
107
742
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 727
diff changeset
108 /**
860
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
109 * This button creates a window to generate Proben
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
110 * from a selected messprogramm.
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
111 */
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
112 genProbenFromMessprogramm: function(button) {
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
113 var grid = button.up('grid');
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
114 var selection = grid.getView().getSelectionModel().getSelection();
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
115 var i18n = Lada.getApplication().bundle;
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
116 var proben = [];
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
117 for (var i = 0; i < selection.length; i++) {
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
118 proben.push(selection[i].get('id'));
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
119 }
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
120 var me = this;
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
121
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
122 var winname = 'Lada.view.window.GenProbenFromMessprogramm';
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
123 for (p in proben) {
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
124 grid.setLoading(true);
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
125 Ext.ClassManager.get('Lada.model.Messprogramm').load(proben[p], {
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
126 failure: function(record, action) {
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
127 me.setLoading(false);
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
128 // TODO
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
129 console.log('An unhandled Failure occured. See following Response and Record');
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
130 console.log(action);
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
131 console.log(record);
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
132 },
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
133 success: function(record, response) {
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
134 grid.setLoading(false);
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
135
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
136 var win = Ext.create(winname, {
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
137 record: record,
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
138 parentWindow: null
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
139 });
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
140 win.show();
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
141 win.initData();
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
142 },
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
143 scope: this
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
144 });
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
145 }
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
146 },
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
147
03f39ddae596 Restructured Filterresultgrid button-dock, added button to generate Proben from a selection of messprogramme.
Dustin Demuth <dustin@intevation.de>
parents: 825
diff changeset
148 /**
742
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 727
diff changeset
149 * This function opens a {@link Lada.view.window.FileUpload}
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 727
diff changeset
150 * window to upload a LAF-File
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 727
diff changeset
151 */
725
83c571b022f3 Added window for laf file upload and use filtergrid buttons to export or import.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
152 uploadFile: function() {
83c571b022f3 Added window for laf file upload and use filtergrid buttons to export or import.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
153 var win = Ext.create('Lada.view.window.FileUpload', {
83c571b022f3 Added window for laf file upload and use filtergrid buttons to export or import.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
154 title: 'Datenimport',
83c571b022f3 Added window for laf file upload and use filtergrid buttons to export or import.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
155 modal: true
83c571b022f3 Added window for laf file upload and use filtergrid buttons to export or import.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
156 });
548
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
157
725
83c571b022f3 Added window for laf file upload and use filtergrid buttons to export or import.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
158 win.show();
548
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
159 },
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
160
742
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 727
diff changeset
161 /**
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 727
diff changeset
162 * This function can be used to Download the items which
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 727
diff changeset
163 * were selected in the {@link Lada.view.grid.FilterResult}
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 727
diff changeset
164 * The Download does not work with Internet Explorers older than v.10
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 727
diff changeset
165 */
548
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
166 downloadFile: function(button) {
725
83c571b022f3 Added window for laf file upload and use filtergrid buttons to export or import.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
167 var grid = button.up('grid');
83c571b022f3 Added window for laf file upload and use filtergrid buttons to export or import.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
168 var selection = grid.getView().getSelectionModel().getSelection();
754
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
169 var i18n = Lada.getApplication().bundle;
725
83c571b022f3 Added window for laf file upload and use filtergrid buttons to export or import.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
170 var proben = [];
83c571b022f3 Added window for laf file upload and use filtergrid buttons to export or import.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
171 for (var i = 0; i < selection.length; i++) {
83c571b022f3 Added window for laf file upload and use filtergrid buttons to export or import.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
172 proben.push(selection[i].get('id'));
83c571b022f3 Added window for laf file upload and use filtergrid buttons to export or import.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
173 }
825
426829f27b02 fixed scope for reload
Dustin Demuth <dustin@intevation.de>
parents: 814
diff changeset
174 var me = this;
725
83c571b022f3 Added window for laf file upload and use filtergrid buttons to export or import.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
175 Ext.Ajax.request({
999
f73ca04d73a7 Refactored Server URL
Dustin Demuth <dustin@intevation.de>
parents: 940
diff changeset
176 url: 'lada-server/data/export/laf',
725
83c571b022f3 Added window for laf file upload and use filtergrid buttons to export or import.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
177 jsonData: {'proben': proben},
83c571b022f3 Added window for laf file upload and use filtergrid buttons to export or import.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
178 success: function(response) {
83c571b022f3 Added window for laf file upload and use filtergrid buttons to export or import.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
179 var content = response.responseText;
83c571b022f3 Added window for laf file upload and use filtergrid buttons to export or import.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
180 var blob = new Blob([content],{type: 'text/plain'});
83c571b022f3 Added window for laf file upload and use filtergrid buttons to export or import.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
181 saveAs(blob, 'export.laf');
83c571b022f3 Added window for laf file upload and use filtergrid buttons to export or import.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
182 },
812
188a9faf96e0 Added Errorhandling for AJAX-Requests, especially Authentication Issues.
Dustin Demuth <dustin@intevation.de>
parents: 811
diff changeset
183 failure: function(response) {
920
f220ba587c89 Adopted Client to SSO, detect a Sessiontimeout and reload the application
Dustin Demuth <dustin@intevation.de>
parents: 895
diff changeset
184 /*
f220ba587c89 Adopted Client to SSO, detect a Sessiontimeout and reload the application
Dustin Demuth <dustin@intevation.de>
parents: 895
diff changeset
185 SSO will send a 302 if the Client is not authenticated
f220ba587c89 Adopted Client to SSO, detect a Sessiontimeout and reload the application
Dustin Demuth <dustin@intevation.de>
parents: 895
diff changeset
186 unfortunately this seems to be filtered by the browser.
f220ba587c89 Adopted Client to SSO, detect a Sessiontimeout and reload the application
Dustin Demuth <dustin@intevation.de>
parents: 895
diff changeset
187 We assume that a 302 was send when the follwing statement
f220ba587c89 Adopted Client to SSO, detect a Sessiontimeout and reload the application
Dustin Demuth <dustin@intevation.de>
parents: 895
diff changeset
188 is true.
f220ba587c89 Adopted Client to SSO, detect a Sessiontimeout and reload the application
Dustin Demuth <dustin@intevation.de>
parents: 895
diff changeset
189 */
f220ba587c89 Adopted Client to SSO, detect a Sessiontimeout and reload the application
Dustin Demuth <dustin@intevation.de>
parents: 895
diff changeset
190 if (response.status == 0 && response.responseText === "") {
f220ba587c89 Adopted Client to SSO, detect a Sessiontimeout and reload the application
Dustin Demuth <dustin@intevation.de>
parents: 895
diff changeset
191 Ext.MessageBox.confirm('Erneutes Login erforderlich',
f220ba587c89 Adopted Client to SSO, detect a Sessiontimeout and reload the application
Dustin Demuth <dustin@intevation.de>
parents: 895
diff changeset
192 'Ihre Session ist abgelaufen.<br/>'+
f220ba587c89 Adopted Client to SSO, detect a Sessiontimeout and reload the application
Dustin Demuth <dustin@intevation.de>
parents: 895
diff changeset
193 'Für ein erneutes Login muss die Anwendung neu geladen werden.<br/>' +
f220ba587c89 Adopted Client to SSO, detect a Sessiontimeout and reload the application
Dustin Demuth <dustin@intevation.de>
parents: 895
diff changeset
194 'Alle ungesicherten Daten gehen dabei verloren.<br/>' +
f220ba587c89 Adopted Client to SSO, detect a Sessiontimeout and reload the application
Dustin Demuth <dustin@intevation.de>
parents: 895
diff changeset
195 'Soll die Anwendung jetzt neu geladen werden?', this.reload);
f220ba587c89 Adopted Client to SSO, detect a Sessiontimeout and reload the application
Dustin Demuth <dustin@intevation.de>
parents: 895
diff changeset
196 }
f220ba587c89 Adopted Client to SSO, detect a Sessiontimeout and reload the application
Dustin Demuth <dustin@intevation.de>
parents: 895
diff changeset
197 // further error handling
812
188a9faf96e0 Added Errorhandling for AJAX-Requests, especially Authentication Issues.
Dustin Demuth <dustin@intevation.de>
parents: 811
diff changeset
198 var json = Ext.JSON.decode(response.responseText);
188a9faf96e0 Added Errorhandling for AJAX-Requests, especially Authentication Issues.
Dustin Demuth <dustin@intevation.de>
parents: 811
diff changeset
199 if (json) {
188a9faf96e0 Added Errorhandling for AJAX-Requests, especially Authentication Issues.
Dustin Demuth <dustin@intevation.de>
parents: 811
diff changeset
200 if(json.errors.totalCount > 0 || json.warnings.totalCount > 0){
188a9faf96e0 Added Errorhandling for AJAX-Requests, especially Authentication Issues.
Dustin Demuth <dustin@intevation.de>
parents: 811
diff changeset
201 formPanel.setMessages(json.errors, json.warnings);
188a9faf96e0 Added Errorhandling for AJAX-Requests, especially Authentication Issues.
Dustin Demuth <dustin@intevation.de>
parents: 811
diff changeset
202 }
920
f220ba587c89 Adopted Client to SSO, detect a Sessiontimeout and reload the application
Dustin Demuth <dustin@intevation.de>
parents: 895
diff changeset
203 if(json.message){
812
188a9faf96e0 Added Errorhandling for AJAX-Requests, especially Authentication Issues.
Dustin Demuth <dustin@intevation.de>
parents: 811
diff changeset
204 Ext.Msg.alert(Lada.getApplication().bundle.getMsg('err.msg.generic.title')
188a9faf96e0 Added Errorhandling for AJAX-Requests, especially Authentication Issues.
Dustin Demuth <dustin@intevation.de>
parents: 811
diff changeset
205 +' #'+json.message,
188a9faf96e0 Added Errorhandling for AJAX-Requests, especially Authentication Issues.
Dustin Demuth <dustin@intevation.de>
parents: 811
diff changeset
206 Lada.getApplication().bundle.getMsg(json.message));
188a9faf96e0 Added Errorhandling for AJAX-Requests, especially Authentication Issues.
Dustin Demuth <dustin@intevation.de>
parents: 811
diff changeset
207 } else {
188a9faf96e0 Added Errorhandling for AJAX-Requests, especially Authentication Issues.
Dustin Demuth <dustin@intevation.de>
parents: 811
diff changeset
208 Ext.Msg.alert(i18n.getMsg('err.msg.generic.title'),
188a9faf96e0 Added Errorhandling for AJAX-Requests, especially Authentication Issues.
Dustin Demuth <dustin@intevation.de>
parents: 811
diff changeset
209 i18n.getMsg('err.msg.laf.filecreatefailed'));
188a9faf96e0 Added Errorhandling for AJAX-Requests, especially Authentication Issues.
Dustin Demuth <dustin@intevation.de>
parents: 811
diff changeset
210 }
188a9faf96e0 Added Errorhandling for AJAX-Requests, especially Authentication Issues.
Dustin Demuth <dustin@intevation.de>
parents: 811
diff changeset
211 } else {
188a9faf96e0 Added Errorhandling for AJAX-Requests, especially Authentication Issues.
Dustin Demuth <dustin@intevation.de>
parents: 811
diff changeset
212 Ext.Msg.alert(i18n.getMsg('err.msg.generic.title'),
754
6b0d0e62f7d7 added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents: 751
diff changeset
213 i18n.getMsg('err.msg.laf.filecreatefailed'));
812
188a9faf96e0 Added Errorhandling for AJAX-Requests, especially Authentication Issues.
Dustin Demuth <dustin@intevation.de>
parents: 811
diff changeset
214 }
725
83c571b022f3 Added window for laf file upload and use filtergrid buttons to export or import.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
215 }
83c571b022f3 Added window for laf file upload and use filtergrid buttons to export or import.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
216 });
812
188a9faf96e0 Added Errorhandling for AJAX-Requests, especially Authentication Issues.
Dustin Demuth <dustin@intevation.de>
parents: 811
diff changeset
217 },
188a9faf96e0 Added Errorhandling for AJAX-Requests, especially Authentication Issues.
Dustin Demuth <dustin@intevation.de>
parents: 811
diff changeset
218
923
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
219 /**
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
220 * Send the selection to a Printservice
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
221 */
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
222 printSelection: function(button) {
939
cbc0c3fdada6 LadaPrint: Give Feedback when printing is in Progress
Dustin Demuth <dustin@intevation.de>
parents: 938
diff changeset
223
cbc0c3fdada6 LadaPrint: Give Feedback when printing is in Progress
Dustin Demuth <dustin@intevation.de>
parents: 938
diff changeset
224 //disable Button and setLoading...
cbc0c3fdada6 LadaPrint: Give Feedback when printing is in Progress
Dustin Demuth <dustin@intevation.de>
parents: 938
diff changeset
225 button.disable();
cbc0c3fdada6 LadaPrint: Give Feedback when printing is in Progress
Dustin Demuth <dustin@intevation.de>
parents: 938
diff changeset
226 button.setLoading(true);
cbc0c3fdada6 LadaPrint: Give Feedback when printing is in Progress
Dustin Demuth <dustin@intevation.de>
parents: 938
diff changeset
227
923
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
228 var grid = button.up('grid');
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
229 var selection = grid.getView().getSelectionModel().getSelection();
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
230 var i18n = Lada.getApplication().bundle;
934
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
231 var me = this;
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
232 var columns = [];
937
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
233 var columnNames = [];
938
fe85a4d23370 LadaPrint removed superfluous debug message and made printer more generic. In theory it should also be capable of printing messprogramme without further changes.
Dustin Demuth <dustin@intevation.de>
parents: 937
diff changeset
234 var visibleColumns = [];
fe85a4d23370 LadaPrint removed superfluous debug message and made printer more generic. In theory it should also be capable of printing messprogramme without further changes.
Dustin Demuth <dustin@intevation.de>
parents: 937
diff changeset
235 var displayName = '';
934
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
236 var data = [];
937
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
237
934
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
238 // Write the columns to an array
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
239 try {
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
240 for (key in selection[0].data) {
937
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
241 // Do not write owner or readonly or id
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
242 if (["owner", "readonly", "id"].indexOf(key) == -1){
934
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
243 columns.push(key);
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
244 }
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
245 }
937
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
246 }
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
247 catch (e) {
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
248 console.log(e);
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
249 }
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
250
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
251 //Retrieve visible columns' id's and names.
938
fe85a4d23370 LadaPrint removed superfluous debug message and made printer more generic. In theory it should also be capable of printing messprogramme without further changes.
Dustin Demuth <dustin@intevation.de>
parents: 937
diff changeset
252 // and set displayName
937
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
253 try {
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
254 var grid = button.up('filterresultgrid');
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
255 var cman = grid.columnManager;
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
256 var cols = cman.getColumns();
938
fe85a4d23370 LadaPrint removed superfluous debug message and made printer more generic. In theory it should also be capable of printing messprogramme without further changes.
Dustin Demuth <dustin@intevation.de>
parents: 937
diff changeset
257
fe85a4d23370 LadaPrint removed superfluous debug message and made printer more generic. In theory it should also be capable of printing messprogramme without further changes.
Dustin Demuth <dustin@intevation.de>
parents: 937
diff changeset
258 displayName = grid.down('tbtext').text;
fe85a4d23370 LadaPrint removed superfluous debug message and made printer more generic. In theory it should also be capable of printing messprogramme without further changes.
Dustin Demuth <dustin@intevation.de>
parents: 937
diff changeset
259
937
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
260 for (key in cols) {
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
261 if (cols[key].dataIndex) {
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
262 visibleColumns[cols[key].dataIndex] = cols[key].text;
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
263 }
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
264 }
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
265 }
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
266 catch (e) {
936
e7270963947c LadaPrint Fixes an Issue where empty cells could not be printed bc NULL has no toString method
Dustin Demuth <dustin@intevation.de>
parents: 934
diff changeset
267 console.log(e);
923
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
268 }
934
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
269
936
e7270963947c LadaPrint Fixes an Issue where empty cells could not be printed bc NULL has no toString method
Dustin Demuth <dustin@intevation.de>
parents: 934
diff changeset
270
934
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
271 // Retrieve Data from selection
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
272 try {
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
273 for (item in selection) {
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
274 var row = selection[item].data;
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
275 var out = [];
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
276 //Lookup every column and write to data array.
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
277 for (key in columns){
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
278 var attr = columns[key];
937
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
279 //Only write data to output when the column is not hidden.
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
280 if (row[attr] != null &&
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
281 visibleColumns[attr] != null) {
936
e7270963947c LadaPrint Fixes an Issue where empty cells could not be printed bc NULL has no toString method
Dustin Demuth <dustin@intevation.de>
parents: 934
diff changeset
282 out.push(row[attr].toString());
e7270963947c LadaPrint Fixes an Issue where empty cells could not be printed bc NULL has no toString method
Dustin Demuth <dustin@intevation.de>
parents: 934
diff changeset
283 }
937
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
284 else if (visibleColumns[attr] != null) {
936
e7270963947c LadaPrint Fixes an Issue where empty cells could not be printed bc NULL has no toString method
Dustin Demuth <dustin@intevation.de>
parents: 934
diff changeset
285 out.push('');
e7270963947c LadaPrint Fixes an Issue where empty cells could not be printed bc NULL has no toString method
Dustin Demuth <dustin@intevation.de>
parents: 934
diff changeset
286 }
934
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
287 }
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
288 data.push(out);
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
289 }
937
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
290 }
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
291 catch (e){
936
e7270963947c LadaPrint Fixes an Issue where empty cells could not be printed bc NULL has no toString method
Dustin Demuth <dustin@intevation.de>
parents: 934
diff changeset
292 console.log(e);
934
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
293 }
937
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
294
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
295 //Retrieve the names of the columns.
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
296 try {
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
297 var grid = button.up('filterresultgrid');
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
298 var cman = grid.columnManager;
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
299 var cols = cman.getColumns();
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
300 //Iterate columns and find column names for the key...
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
301 // This WILL run into bad behaviour when column-keys exist twice.
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
302 for (key in columns){
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
303 for (k in cols){
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
304 if (cols[k].dataIndex == columns[key]){
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
305 columnNames.push(cols[k].text);
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
306 break;
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
307 }
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
308 }
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
309 }
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
310 }
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
311 catch (e) {
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
312 console.log(e);
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
313 }
934
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
314
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
315 var printData = {
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
316 'layout': 'A4 landscape',
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
317 'outputFormat': 'pdf',
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
318 'attributes': {
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
319 'title': 'Auszug aus LADA',
938
fe85a4d23370 LadaPrint removed superfluous debug message and made printer more generic. In theory it should also be capable of printing messprogramme without further changes.
Dustin Demuth <dustin@intevation.de>
parents: 937
diff changeset
320 'displayName': displayName,
937
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
321 'table': {
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
322 'columns': columnNames,
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
323 'data': data
6739bfdb743e LadaPrint enabled dynamic printing of tables.
Dustin Demuth <dustin@intevation.de>
parents: 936
diff changeset
324 }
934
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
325 }
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
326 }
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
327
923
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
328 Ext.Ajax.request({
934
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
329 url: 'lada-printer/buildreport.pdf',
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
330 //configure a proxy in apache conf!
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
331 jsonData: printData,
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
332 binary: true,
923
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
333 success: function(response) {
934
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
334 var content = response.responseBytes;
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
335 var filetype = response.getResponseHeader('Content-Type');
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
336 var blob = new Blob([content],{type: filetype});
923
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
337 saveAs(blob, 'lada-print.pdf');
939
cbc0c3fdada6 LadaPrint: Give Feedback when printing is in Progress
Dustin Demuth <dustin@intevation.de>
parents: 938
diff changeset
338 button.enable();
cbc0c3fdada6 LadaPrint: Give Feedback when printing is in Progress
Dustin Demuth <dustin@intevation.de>
parents: 938
diff changeset
339 button.setLoading(false);
923
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
340 },
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
341 failure: function(response) {
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
342 console.log('failure');
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
343 // Error handling
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
344 // TODO
934
3e3e737050b7 Added Print function to talk with mapfish
Dustin Demuth <dustin@intevation.de>
parents: 923
diff changeset
345 //console.log(response.responseText)
939
cbc0c3fdada6 LadaPrint: Give Feedback when printing is in Progress
Dustin Demuth <dustin@intevation.de>
parents: 938
diff changeset
346 button.enable();
cbc0c3fdada6 LadaPrint: Give Feedback when printing is in Progress
Dustin Demuth <dustin@intevation.de>
parents: 938
diff changeset
347 button.setLoading(false);
923
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
348 if (response.responseText) {
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
349 try {
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
350 var json = Ext.JSON.decode(response.responseText);
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
351 }
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
352 catch(e){
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
353 console.log(e);
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
354 }
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
355 }
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
356 if (json) {
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
357 if(json.errors.totalCount > 0 || json.warnings.totalCount > 0){
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
358 formPanel.setMessages(json.errors, json.warnings);
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
359 }
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
360 if(json.message){
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
361 Ext.Msg.alert(Lada.getApplication().bundle.getMsg('err.msg.generic.title')
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
362 +' #'+json.message,
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
363 Lada.getApplication().bundle.getMsg(json.message));
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
364 } else {
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
365 Ext.Msg.alert(i18n.getMsg('err.msg.generic.title'),
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
366 i18n.getMsg('err.msg.print.noContact'));
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
367 }
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
368 } else {
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
369 Ext.Msg.alert(i18n.getMsg('err.msg.generic.title'),
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
370 i18n.getMsg('err.msg.print.noContact'));
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
371 }
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
372 }
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
373 });
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
374 },
7cbbe0485d0d Added a Print-button which sends a selection of proben to a service which still has to be specified.
Dustin Demuth <dustin@intevation.de>
parents: 920
diff changeset
375
812
188a9faf96e0 Added Errorhandling for AJAX-Requests, especially Authentication Issues.
Dustin Demuth <dustin@intevation.de>
parents: 811
diff changeset
376 reload: function(btn) {
188a9faf96e0 Added Errorhandling for AJAX-Requests, especially Authentication Issues.
Dustin Demuth <dustin@intevation.de>
parents: 811
diff changeset
377 if (btn === 'yes') {
188a9faf96e0 Added Errorhandling for AJAX-Requests, especially Authentication Issues.
Dustin Demuth <dustin@intevation.de>
parents: 811
diff changeset
378 location.reload();
188a9faf96e0 Added Errorhandling for AJAX-Requests, especially Authentication Issues.
Dustin Demuth <dustin@intevation.de>
parents: 811
diff changeset
379 }
548
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
380 }
d47ee7439f44 Added new js files.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
381 });

http://lada.wald.intevation.org