Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/stationinfo/GaugeListGrid.java @ 9284:486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
author | gernotbelger |
---|---|
date | Fri, 20 Jul 2018 16:03:40 +0200 |
parents | ff9372d0cc1c |
children | 45908b79c079 |
rev | line source |
---|---|
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
9 package org.dive4elements.river.client.client.ui.stationinfo; |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
10 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
11 import java.util.ArrayList; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
12 import java.util.List; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
13 |
8303
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
14 import org.dive4elements.river.client.client.Config; |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
15 import org.dive4elements.river.client.client.FLYS; |
8303
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
16 import org.dive4elements.river.client.client.services.AdvanceService; |
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
17 import org.dive4elements.river.client.client.services.AdvanceServiceAsync; |
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
18 import org.dive4elements.river.client.client.services.ArtifactService; |
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
19 import org.dive4elements.river.client.client.services.ArtifactServiceAsync; |
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
20 import org.dive4elements.river.client.client.services.CreateCollectionService; |
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
21 import org.dive4elements.river.client.client.services.CreateCollectionServiceAsync; |
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
22 import org.dive4elements.river.client.client.services.StepForwardService; |
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
23 import org.dive4elements.river.client.client.services.StepForwardServiceAsync; |
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
24 import org.dive4elements.river.client.client.ui.CollectionView; |
9270 | 25 import org.dive4elements.river.client.client.ui.StringArrayParseHelper; |
8303
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
26 import org.dive4elements.river.client.shared.model.Artifact; |
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
27 import org.dive4elements.river.client.shared.model.Collection; |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
28 import org.dive4elements.river.client.shared.model.Data; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
29 import org.dive4elements.river.client.shared.model.DataItem; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
30 import org.dive4elements.river.client.shared.model.DataList; |
8303
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
31 import org.dive4elements.river.client.shared.model.DefaultData; |
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
32 import org.dive4elements.river.client.shared.model.DefaultDataItem; |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
33 import org.dive4elements.river.client.shared.model.GaugeInfo; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
34 import org.dive4elements.river.client.shared.model.RiverInfo; |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
35 |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
36 import com.google.gwt.core.client.GWT; |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
37 import com.google.gwt.user.client.rpc.AsyncCallback; |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
38 import com.smartgwt.client.util.SC; |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
39 import com.smartgwt.client.widgets.Canvas; |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
40 import com.smartgwt.client.widgets.grid.ListGridField; |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
41 import com.smartgwt.client.widgets.grid.ListGridRecord; |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
42 import com.smartgwt.client.widgets.grid.events.RecordClickEvent; |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
43 import com.smartgwt.client.widgets.grid.events.RecordClickHandler; |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
44 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
45 /** |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
46 * @author <a href="mailto:bjoern.ricks@intevation.de">Björn Ricks</a> |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
47 */ |
4960
a3a59055ed5e
Add click handler to create an artifact for Abflusstafel-/kurve from a pegel cell
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4959
diff
changeset
|
48 public class GaugeListGrid extends InfoListGrid implements RecordClickHandler { |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
49 |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
50 public static enum DisappearType { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
51 remove, collapse, stayVisible |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
52 } |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
53 |
4961
27b4d5d20dc8
Render text in Abflusstafel/-kurve cell like a "normal" html link
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4960
diff
changeset
|
54 private static final int ABFLUSSTAFEL_COLUMN = 6; |
27b4d5d20dc8
Render text in Abflusstafel/-kurve cell like a "normal" html link
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4960
diff
changeset
|
55 |
8303
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
56 /** The ArtifactService used to communicate with the Artifact server. */ |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
57 protected ArtifactServiceAsync artifactService = GWT.create(ArtifactService.class); |
8303
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
58 |
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
59 /** The StepForwardService used to put data into an existing artifact. */ |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
60 protected StepForwardServiceAsync forwardService = GWT.create(StepForwardService.class); |
8303
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
61 |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
62 /** The ArtifactService used to communicate with the Artifact server. */ |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
63 protected CreateCollectionServiceAsync createCollectionService = GWT.create(CreateCollectionService.class); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
64 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
65 /** The StepForwardService used to put data into an existing artifact. */ |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
66 protected AdvanceServiceAsync advanceService = GWT.create(AdvanceService.class); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
67 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
68 private final List<GaugeInfo> gauges = new ArrayList<GaugeInfo>(); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
69 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
70 public GaugeListGrid(final FLYS flys) { |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
71 super(flys); |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
72 // TODO i18n!!! |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
73 final ListGridField nfield = new ListGridField("name", "Pegel"); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
74 final ListGridField sfield = new ListGridField("kmstart", "Start [km]", 60); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
75 final ListGridField efield = new ListGridField("kmend", "Ende [km]", 60); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
76 final ListGridField stfield = new ListGridField("station", "Station [km]"); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
77 final ListGridField lfield = new ListGridField("infolink", "Info"); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
78 final ListGridField cfield = new ListGridField("curvelink", this.MSG.gauge_curve_link()); |
4959
2b7886ba7bb2
Display Ablusstafel/-kurve in Pegelinfo
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4957
diff
changeset
|
79 cfield.addRecordClickHandler(this); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
80 |
6272
24be0cc1c67c
Replaced the 'old school' wiki link buttons with default links.
Raimund Renkert <rrenkert@intevation.de>
parents:
6190
diff
changeset
|
81 this.setShowRecordComponents(true); |
24be0cc1c67c
Replaced the 'old school' wiki link buttons with default links.
Raimund Renkert <rrenkert@intevation.de>
parents:
6190
diff
changeset
|
82 this.setShowRecordComponentsByCell(true); |
4959
2b7886ba7bb2
Display Ablusstafel/-kurve in Pegelinfo
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4957
diff
changeset
|
83 this.setFields(nfield, sfield, efield, stfield, lfield, cfield); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
84 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
85 |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
86 @Override |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
87 public void setRiverInfo(final RiverInfo riverinfo) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
88 final List<GaugeInfo> gauges = riverinfo.getGauges(); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
89 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
90 if (gauges != null && !gauges.isEmpty()) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
91 |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
92 final ArrayList<GaugeInfo> emptygauges = new ArrayList<GaugeInfo>(); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
93 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
94 if (!riverinfo.isKmUp()) { |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
95 for (final GaugeInfo gauge : gauges) { |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
96 addGauge(gauge, emptygauges); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
97 } |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
98 } else { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
99 for (int i = gauges.size() - 1; i >= 0; i--) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
100 final GaugeInfo gauge = gauges.get(i); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
101 addGauge(gauge, emptygauges); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
102 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
103 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
104 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
105 // put empty gauges to the end |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
106 for (final GaugeInfo gauge : emptygauges) { |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
107 addGauge(gauge); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
108 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
109 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
110 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
111 |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
112 private void addGauge(final GaugeInfo gauge, final List<GaugeInfo> empty) { |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
113 if (gauge.getKmStart() != null && gauge.getKmEnd() != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
114 addGauge(gauge); |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
115 } else { |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
116 empty.add(gauge); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
117 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
118 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
119 |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
120 private void addGauge(final GaugeInfo gauge) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
121 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
122 this.gauges.add(gauge); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
123 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
124 // this.addData(new GaugeRecord(gauge)); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
125 |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
126 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
127 |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
128 @Override |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
129 public void open() { |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
130 final ArrayList<Double> locations = new ArrayList<Double>(); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
131 |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
132 if (this.data != null && this.data.length > 0) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
133 for (final DataList dl : this.data) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
134 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
135 final String state = dl.getState(); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
136 DisappearType type = DisappearType.collapse; |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
137 if (state.contains("state.bundu.") || state.contains("state.fix.")) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
138 type = DisappearType.remove; |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
139 } |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
140 |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
141 GWT.log("GaugeListGrid - open " + state); |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
142 if (state.contains(".location_distance")) { |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
143 Double ldfrom = null; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
144 Double ldto = null; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
145 |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
146 for (int j = dl.size() - 1; j >= 0; --j) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
147 final Data d = dl.get(j); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
148 final String label = d.getLabel(); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
149 GWT.log("GaugeListGrid - setData - label " + label + " " + d.getStringValue()); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
150 if (label.equals("ld_from")) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
151 ldfrom = getDoubleValue(d); |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
152 } else if (label.equals("ld_to")) { |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
153 ldto = getDoubleValue(d); |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
154 } else if (label.equals("ld_locations")) { |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
155 getLocationsFromData(locations, d); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
156 openOnLocations(locations); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
157 return; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
158 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
159 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
160 if (ldfrom != null) { |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
161 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
162 openOnDistance(ldfrom, ldto, type); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
163 return; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
164 } |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
165 } else if (state.contains(".distance_only") || state.contains(".distance") |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
166 || state.contains(".location") && !state.contains(".location_distance")) { |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
167 Double ldfrom = null; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
168 Double ldto = null; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
169 |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
170 for (int j = dl.size() - 1; j >= 0; --j) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
171 final Data d = dl.get(j); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
172 final String label = d.getLabel(); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
173 GWT.log("GaugeListGrid - setData - label " + label + " " + d.getStringValue()); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
174 if (label.equals("ld_from")) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
175 ldfrom = getDoubleValue(d); |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
176 } else if (label.equals("ld_to")) { |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
177 ldto = getDoubleValue(d); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
178 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
179 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
180 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
181 if (ldfrom != null) { |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
182 openOnDistance(ldfrom, ldto, type); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
183 return; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
184 } |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
185 } else if (state.equals("state.winfo.location")) { |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
186 getLocations("ld_locations", locations, dl); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
187 openOnLocations(locations); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
188 return; |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
189 } else if (state.equals("state.winfo.reference.curve.input.start")) { |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
190 getLocations("reference_startpoint", locations, dl); |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
191 } else if (state.equals("state.winfo.reference.curve.input.end")) { |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
192 getLocations("reference_endpoint", locations, dl); |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
193 } else if (state.equals("state.winfo.historicalq.reference_gauge")) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
194 for (int j = dl.size() - 1; j >= 0; --j) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
195 final Data d = dl.get(j); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
196 final String label = d.getLabel(); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
197 if (label.equals("reference_gauge")) { |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
198 final String tmp = d.getStringValue(); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
199 if (tmp != null) { |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
200 final Long gaugereference = Long.valueOf(tmp); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
201 if (gaugereference != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
202 openOnReference(gaugereference); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
203 return; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
204 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
205 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
206 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
207 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
208 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
209 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
210 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
211 if (!locations.isEmpty()) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
212 openOnLocations(locations); |
9275
ff9372d0cc1c
All gauges should be collapsed during selection of calc mode
gernotbelger
parents:
9270
diff
changeset
|
213 } else if( this.data != null && this.data.length == 1 ){ |
ff9372d0cc1c
All gauges should be collapsed during selection of calc mode
gernotbelger
parents:
9270
diff
changeset
|
214 // During selection of calc-mode: all gauges should be collapsed |
ff9372d0cc1c
All gauges should be collapsed during selection of calc mode
gernotbelger
parents:
9270
diff
changeset
|
215 collapseAll(); |
ff9372d0cc1c
All gauges should be collapsed during selection of calc mode
gernotbelger
parents:
9270
diff
changeset
|
216 } |
ff9372d0cc1c
All gauges should be collapsed during selection of calc mode
gernotbelger
parents:
9270
diff
changeset
|
217 else { |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
218 openAll(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
219 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
220 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
221 |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
222 @Override |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
223 public void openAll() { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
224 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
225 GWT.log("InfoListGrid - openAll"); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
226 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
227 setData(new ListGridRecord[] {}); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
228 for (final GaugeInfo gauge : this.gauges) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
229 addExpandedRecord(gauge); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
230 } |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
231 } |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
232 |
9275
ff9372d0cc1c
All gauges should be collapsed during selection of calc mode
gernotbelger
parents:
9270
diff
changeset
|
233 private void collapseAll() { |
ff9372d0cc1c
All gauges should be collapsed during selection of calc mode
gernotbelger
parents:
9270
diff
changeset
|
234 |
ff9372d0cc1c
All gauges should be collapsed during selection of calc mode
gernotbelger
parents:
9270
diff
changeset
|
235 GWT.log("InfoListGrid - openAll"); |
ff9372d0cc1c
All gauges should be collapsed during selection of calc mode
gernotbelger
parents:
9270
diff
changeset
|
236 |
ff9372d0cc1c
All gauges should be collapsed during selection of calc mode
gernotbelger
parents:
9270
diff
changeset
|
237 setData(new ListGridRecord[] {}); |
ff9372d0cc1c
All gauges should be collapsed during selection of calc mode
gernotbelger
parents:
9270
diff
changeset
|
238 for (final GaugeInfo gauge : this.gauges) { |
ff9372d0cc1c
All gauges should be collapsed during selection of calc mode
gernotbelger
parents:
9270
diff
changeset
|
239 addCollapsedRecord(gauge); |
ff9372d0cc1c
All gauges should be collapsed during selection of calc mode
gernotbelger
parents:
9270
diff
changeset
|
240 } |
ff9372d0cc1c
All gauges should be collapsed during selection of calc mode
gernotbelger
parents:
9270
diff
changeset
|
241 } |
ff9372d0cc1c
All gauges should be collapsed during selection of calc mode
gernotbelger
parents:
9270
diff
changeset
|
242 |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
243 void getLocations(final String labelname, final List<Double> locations, final DataList dl) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
244 for (int j = dl.size() - 1; j >= 0; --j) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
245 final Data d = dl.get(j); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
246 final String label = d.getLabel(); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
247 if (label.equals(labelname)) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
248 getLocationsFromData(locations, d); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
249 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
250 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
251 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
252 |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
253 void getLocationsFromData(final List<Double> locations, final Data data) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
254 final DataItem[] items = data.getItems(); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
255 for (final DataItem item : items) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
256 final String tmp = item.getStringValue(); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
257 GWT.log("GaugeListGrid - getLocationsFromData " + tmp); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
258 if (tmp != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
259 if (tmp.contains(" ")) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
260 // string contains several values ... |
9270 | 261 final String[] values = StringArrayParseHelper.getArrayFromRawString(tmp); |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
262 for (final String value2 : values) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
263 final Double value = Double.valueOf(value2); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
264 if (value != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
265 locations.add(value); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
266 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
267 } |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
268 } else { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
269 final Double value = Double.valueOf(tmp); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
270 if (value != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
271 locations.add(value); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
272 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
273 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
274 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
275 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
276 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
277 |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
278 public void openOnReference(final Long number) { |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
279 GWT.log("GaugeListGrid - openOnReference " + number); |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
280 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
281 setData(new ListGridRecord[] {}); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
282 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
283 for (final GaugeInfo gauge : this.gauges) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
284 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
285 if (gauge.getOfficialNumber().equals(number)) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
286 this.addExpandedRecord(gauge);// (gauge); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
287 } else { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
288 this.addCollapsedRecord(gauge); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
289 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
290 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
291 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
292 |
9284
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
293 public void openOnDistance(final double start, final Double end, final DisappearType type) { |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
294 GWT.log("GaugeListGrid - openOnDistance " + start + " " + end); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
295 |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
296 setData(new ListGridRecord[] {}); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
297 |
9284
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
298 double to = end == null ? Double.MAX_VALUE: end; |
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
299 |
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
300 double from = Math.min(start, to); |
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
301 to = Math.max(start, to); |
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
302 |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
303 for (final GaugeInfo gauge : this.gauges) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
304 |
9284
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
305 /* in earlier version, it was assumed that gaugeEnd may be null, but start not. */ |
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
306 final Double gaugeStart = gauge.getKmStart(); |
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
307 final Double gaugeEnd = gauge.getKmEnd() == null ? gaugeStart : gauge.getKmEnd(); |
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
308 |
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
309 boolean expand; |
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
310 if( gaugeStart == null ) |
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
311 expand = false; |
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
312 else { |
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
313 |
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
314 final double gaugeFrom = Math.min(gaugeStart, gaugeEnd); |
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
315 final double gaugeTo = Math.max(gaugeStart, gaugeEnd); |
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
316 |
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
317 expand = (from >= gaugeFrom && from <= gaugeTo) || (to >= gaugeFrom && to <= gaugeTo) || (from <= gaugeFrom && to >= gaugeEnd); |
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
318 } |
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
319 |
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
320 if( expand ) |
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
321 addExpandedRecord(gauge); |
486b6160962f
Fixed: filtering of gauge list did not handle cases correctly, where fromKm > toKm
gernotbelger
parents:
9275
diff
changeset
|
322 else |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
323 removeOrCollapse(gauge, type); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
324 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
325 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
326 |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
327 private void removeOrCollapse(final GaugeInfo gauge, final DisappearType type) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
328 switch (type) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
329 case remove: |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
330 // Remove: gauge wird der datasource nicht hinzugefügt |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
331 break; |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
332 case collapse: |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
333 addCollapsedRecord(gauge); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
334 break; |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
335 case stayVisible: // TODO: check |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
336 addExpandedRecord(gauge); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
337 break; |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
338 } |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
339 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
340 } |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
341 |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
342 /** |
4980
e70ff0a600a3
flys-client: Whitespace and doc cosemtics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4962
diff
changeset
|
343 * Open Gauge entry if a location fits to the gauge. |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
344 */ |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
345 public void openOnLocations(final List<Double> locations) { |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
346 GWT.log("GaugeListGrid - openOnLocations " + locations); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
347 |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
348 setData(new ListGridRecord[] {}); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
349 |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
350 if (locations == null || locations.isEmpty()) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
351 return; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
352 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
353 |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
354 for (final GaugeInfo gauge : this.gauges) { |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
355 boolean isset = false; |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
356 for (final Double location : locations) { |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
357 if (locations == null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
358 continue; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
359 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
360 |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
361 final Double start = gauge.getKmStart(); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
362 final Double end = gauge.getKmEnd(); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
363 if (start == null || end == null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
364 // should not occur but avoid NullPointerException |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
365 continue; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
366 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
367 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
368 if (location >= start && location <= end) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
369 isset = true; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
370 break; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
371 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
372 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
373 if (isset) { |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
374 addExpandedRecord(gauge); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
375 } else { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
376 addCollapsedRecord(gauge); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
377 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
378 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
379 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
380 |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
381 private void addExpandedRecord(final GaugeInfo gauge) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
382 final GaugeRecord record = new GaugeRecord(gauge); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
383 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
384 this.addData(record); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
385 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
386 expandRecord(record); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
387 } |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
388 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
389 private void addCollapsedRecord(final GaugeInfo gauge) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
390 final GaugeRecord record = new GaugeRecord(gauge); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
391 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
392 this.addData(record); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
393 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
394 collapseRecord(record); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
395 } |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
396 |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
397 @Override |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
398 protected Canvas getExpandPanel(final ListGridRecord record) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
399 final GaugeRecord item = (GaugeRecord) record; |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
400 return new GaugeInfoPanel(item, this.flys); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
401 } |
4960
a3a59055ed5e
Add click handler to create an artifact for Abflusstafel-/kurve from a pegel cell
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4959
diff
changeset
|
402 |
6032 | 403 /** |
404 * When clicked on the gauge discharge link, open new Gauge Discharge | |
405 * Curve view. | |
406 */ | |
4960
a3a59055ed5e
Add click handler to create an artifact for Abflusstafel-/kurve from a pegel cell
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4959
diff
changeset
|
407 @Override |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
408 public void onRecordClick(final RecordClickEvent event) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
409 final GaugeRecord gauge = (GaugeRecord) event.getRecord(); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
410 final Config config = Config.getInstance(); |
8303
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
411 final String locale = config.getLocale(); |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
412 this.createCollectionService.create(locale, this.flys.getCurrentUser().identifier(), new AsyncCallback<Collection>() { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
413 @Override |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
414 public void onFailure(final Throwable caught) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
415 GWT.log("Could not create the new collection."); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
416 SC.warn(FLYS.getExceptionString(GaugeListGrid.this.MSG, caught)); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
417 } |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
418 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
419 @Override |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
420 public void onSuccess(final Collection collection) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
421 GWT.log("Successfully created a new collection."); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
422 createArtifact(collection, locale, gauge); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
423 } |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
424 }); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
425 } |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
426 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
427 private void createArtifact(final Collection collection, final String locale, final GaugeRecord gauge) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
428 this.artifactService.create(locale, "gaugedischargecurve", null, new AsyncCallback<Artifact>() { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
429 @Override |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
430 public void onFailure(final Throwable caught) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
431 GWT.log("Could not create the new artifact."); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
432 SC.warn(FLYS.getExceptionString(GaugeListGrid.this.MSG, caught)); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
433 } |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
434 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
435 @Override |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
436 public void onSuccess(final Artifact artifact) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
437 GWT.log("Successfully created a new artifact."); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
438 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
439 final DataItem riverItem = new DefaultDataItem("river", "river", gauge.getRiverName()); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
440 final Data river = new DefaultData("river", null, null, new DataItem[] { riverItem }); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
441 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
442 final DataItem refItem = new DefaultDataItem("reference_gauge", "reference_gauge", gauge.getOfficialNumber().toString()); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
443 final Data ref = new DefaultData("reference_gauge", null, null, new DataItem[] { refItem }); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
444 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
445 final DataItem locItem = new DefaultDataItem("ld_locations", "ld_locations", gauge.getStation().toString()); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
446 final Data loc = new DefaultData("ld_locations", null, null, new DataItem[] { locItem }); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
447 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
448 final DataItem nameItem = new DefaultDataItem("gauge_name", "gauge_name", gauge.getName()); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
449 final Data name = new DefaultData("gauge_name", null, null, new DataItem[] { nameItem }); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
450 |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
451 final Data[] data = new Data[] { river, ref, loc, name }; |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
452 GaugeListGrid.this.forwardService.go(locale, artifact, data, new AsyncCallback<Artifact>() { |
8303
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
453 @Override |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
454 public void onFailure(final Throwable caught) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
455 GWT.log("Could not feed the artifact."); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
456 SC.warn(caught.getMessage()); |
8303
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
457 } |
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
458 |
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
459 @Override |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
460 public void onSuccess(final Artifact artifact) { |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
461 GWT.log("Successfully feed the artifact."); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
462 final CollectionView view = new CollectionView(GaugeListGrid.this.flys, collection, artifact); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
463 GaugeListGrid.this.flys.getWorkspace().addView(collection.identifier(), view); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
464 view.addArtifactToCollection(artifact); |
8303
519023ce3500
Updated the client to build a default artifact for gauge discharge curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
8023
diff
changeset
|
465 } |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
466 }); |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
467 } |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
468 }); |
4960
a3a59055ed5e
Add click handler to create an artifact for Abflusstafel-/kurve from a pegel cell
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4959
diff
changeset
|
469 } |
4961
27b4d5d20dc8
Render text in Abflusstafel/-kurve cell like a "normal" html link
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4960
diff
changeset
|
470 |
27b4d5d20dc8
Render text in Abflusstafel/-kurve cell like a "normal" html link
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4960
diff
changeset
|
471 @Override |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
472 public String getCellCSSText(final ListGridRecord record, final int rowNum, final int colNum) { |
4961
27b4d5d20dc8
Render text in Abflusstafel/-kurve cell like a "normal" html link
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4960
diff
changeset
|
473 if (colNum == ABFLUSSTAFEL_COLUMN) { |
27b4d5d20dc8
Render text in Abflusstafel/-kurve cell like a "normal" html link
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4960
diff
changeset
|
474 // display the ablfusstafel cell like a link |
9093
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
475 return "text-decoration: underline; color: #0000EE; " + "cursor: pointer;"; |
280c5b44f219
2.3.4.1.8 Pegelauswahl nach range einschränken
gernotbelger
parents:
8856
diff
changeset
|
476 } else { |
4961
27b4d5d20dc8
Render text in Abflusstafel/-kurve cell like a "normal" html link
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4960
diff
changeset
|
477 return super.getCellCSSText(record, rowNum, colNum); |
27b4d5d20dc8
Render text in Abflusstafel/-kurve cell like a "normal" html link
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4960
diff
changeset
|
478 } |
27b4d5d20dc8
Render text in Abflusstafel/-kurve cell like a "normal" html link
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4960
diff
changeset
|
479 } |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
480 } |