Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/SedLoadSQTiPanel.java @ 8235:c0da2514f4ce
(issue1448) Look through all the data for sq_ti_id in following states.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 08 Sep 2014 18:31:17 +0200 |
parents | b6371be363b1 |
children | 582e970115b6 |
rev | line source |
---|---|
8231
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
2 * Software engineering by Intevation GmbH |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
3 * |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
7 */ |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
8 |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
9 package org.dive4elements.river.client.client.ui.minfo; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
10 |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
11 import java.util.ArrayList; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
12 import java.util.List; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
13 |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
14 import com.google.gwt.core.client.GWT; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
15 import com.google.gwt.user.client.rpc.AsyncCallback; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
16 import com.smartgwt.client.data.Record; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
17 import com.smartgwt.client.types.ListGridFieldType; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
18 import com.smartgwt.client.types.SelectionAppearance; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
19 import com.smartgwt.client.types.SelectionStyle; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
20 import com.smartgwt.client.util.SC; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
21 import com.smartgwt.client.widgets.Canvas; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
22 import com.smartgwt.client.widgets.Label; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
23 import com.smartgwt.client.widgets.grid.ListGrid; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
24 import com.smartgwt.client.widgets.grid.ListGridField; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
25 import com.smartgwt.client.widgets.grid.ListGridRecord; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
26 import com.smartgwt.client.widgets.layout.HLayout; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
27 import com.smartgwt.client.widgets.layout.VLayout; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
28 |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
29 import org.dive4elements.river.client.client.Config; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
30 import org.dive4elements.river.client.client.services.SedimentLoadInfoService; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
31 import org.dive4elements.river.client.client.services.SedimentLoadInfoServiceAsync; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
32 import org.dive4elements.river.client.client.ui.PeriodPanel; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
33 import org.dive4elements.river.client.shared.model.ArtifactDescription; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
34 import org.dive4elements.river.client.shared.model.Data; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
35 import org.dive4elements.river.client.shared.model.DataItem; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
36 import org.dive4elements.river.client.shared.model.DataList; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
37 import org.dive4elements.river.client.shared.model.DefaultData; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
38 import org.dive4elements.river.client.shared.model.DefaultDataItem; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
39 import org.dive4elements.river.client.shared.model.SedimentLoadInfoObject; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
40 import org.dive4elements.river.client.shared.model.SedimentLoadInfoRecord; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
41 |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
42 /** Show input to select an official epoch. */ |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
43 public class SedLoadSQTiPanel |
8234
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
44 extends PeriodPanel |
8231
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
45 { |
8234
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
46 protected SedimentLoadInfoServiceAsync sedLoadInfoService = |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
47 GWT.create(SedimentLoadInfoService.class); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
48 |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
49 protected ListGrid sedLoadTable; |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
50 |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
51 /** Creates layout with title. */ |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
52 public Canvas createWidget(DataList data) { |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
53 VLayout root = new VLayout(); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
54 |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
55 Label title = new Label(data.get(0).getDescription()); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
56 title.setHeight("25px"); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
57 |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
58 root.addMember(title); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
59 |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
60 return root; |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
61 } |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
62 |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
63 /** Create layout for data entered previously. */ |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
64 @Override |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
65 public Canvas createOld(DataList dataList) { |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
66 HLayout layout = new HLayout(); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
67 layout.setWidth("400px"); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
68 VLayout vLayout = new VLayout(); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
69 vLayout.setWidth(130); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
70 Label label = new Label(dataList.getLabel()); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
71 label.setWidth("200px"); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
72 label.setHeight(25); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
73 |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
74 List<Data> items = dataList.getAll(); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
75 Data str = getData(items, "sq_ti_date"); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
76 DataItem[] strItems = str.getItems(); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
77 |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
78 String dateString = strItems[0].getStringValue(); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
79 Label dateLabel = new Label(dateString); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
80 dateLabel.setHeight(20); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
81 vLayout.addMember(dateLabel); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
82 Canvas back = getBackButton(dataList.getState()); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
83 layout.addMember(label); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
84 layout.addMember(vLayout); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
85 layout.addMember(back); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
86 |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
87 GWT.log("Old data: " + strItems[0].getDescription() + " label " + strItems[0].getLabel() + " value: " + strItems[0].getStringValue()); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
88 |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
89 return layout; |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
90 } |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
91 |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
92 public Canvas create(DataList data) { |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
93 VLayout layout = new VLayout(); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
94 Canvas helper = createHelper(); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
95 this.helperContainer.addMember(helper); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
96 |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
97 Canvas submit = getNextButton(); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
98 Canvas widget = createWidget(data); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
99 |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
100 layout.addMember(widget); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
101 layout.addMember(submit); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
102 |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
103 fetchSedimentLoadData(); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
104 |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
105 return layout; |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
106 } |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
107 |
8231
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
108 /** Creates the helper grid in which off epochs can be selected. */ |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
109 protected Canvas createHelper() { |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
110 sedLoadTable = new ListGrid(); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
111 sedLoadTable.setShowHeaderContextMenu(false); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
112 sedLoadTable.setWidth100(); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
113 sedLoadTable.setShowRecordComponents(true); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
114 sedLoadTable.setShowRecordComponentsByCell(true); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
115 sedLoadTable.setHeight100(); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
116 sedLoadTable.setEmptyMessage(MSG.empty_table()); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
117 sedLoadTable.setCanReorderFields(false); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
118 sedLoadTable.setSelectionAppearance(SelectionAppearance.CHECKBOX); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
119 sedLoadTable.setSelectionType(SelectionStyle.SINGLE); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
120 |
8234
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
121 ListGridField date = new ListGridField("sq_ti_date", MSG.year()); |
8231
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
122 date.setType(ListGridFieldType.TEXT); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
123 date.setWidth(100); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
124 |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
125 sedLoadTable.setFields(date); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
126 return sedLoadTable; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
127 } |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
128 |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
129 /** Get data via listgrid selection. */ |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
130 @Override |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
131 public Data[] getData() { |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
132 List<Data> data = new ArrayList<Data>(); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
133 |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
134 ListGridRecord[] lgr = sedLoadTable.getSelectedRecords(); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
135 if (lgr.length == 0) { |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
136 GWT.log("returning empty data."); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
137 return new Data[0]; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
138 } |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
139 String d = ""; |
8234
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
140 String desc = ""; |
8231
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
141 for (int i = 0; i < lgr.length; i++) { |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
142 /* Should only be one item as this is single selection */ |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
143 Record r = (Record) lgr[i]; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
144 d = r.getAttribute("sq_ti_id"); |
8234
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
145 desc = r.getAttribute("sq_ti_date"); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
146 GWT.log("Got attribute sq_ti_id : " + d + " desc: " + desc); |
8231
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
147 } |
8234
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
148 DataItem item = new DefaultDataItem("sq_ti_id", "this is ignored", d); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
149 DataItem dateLabel = new DefaultDataItem("sq_ti_date", "this is ignored", desc); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
150 data.add(new DefaultData( |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
151 "sq_ti_id", |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
152 null, |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
153 null, |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
154 new DataItem[] { item })); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
155 data.add(new DefaultData( |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
156 "sq_ti_date", |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
157 null, |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
158 null, |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
159 new DataItem[] { dateLabel })); |
8231
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
160 return data.toArray(new Data[data.size()]); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
161 } |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
162 |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
163 /** Fetch load info from service and populate table. */ |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
164 protected void fetchSedimentLoadData() { |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
165 Config config = Config.getInstance(); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
166 String locale = config.getLocale (); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
167 |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
168 ArtifactDescription adescr = artifact.getArtifactDescription(); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
169 DataList[] data = adescr.getOldData(); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
170 |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
171 double[] km = artifact.getArtifactDescription().getKMRange(); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
172 String river = artifact.getArtifactDescription().getRiver(); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
173 |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
174 sedLoadInfoService.getSedimentLoadInfo(locale, river, "sq_time_intervals", km[0], km[1], "", |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
175 new AsyncCallback<SedimentLoadInfoObject[]>() { |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
176 public void onFailure(Throwable caught) { |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
177 GWT.log("Could not receive sediment load informations."); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
178 SC.warn(caught.getMessage()); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
179 } |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
180 |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
181 public void onSuccess(SedimentLoadInfoObject[] sedLoad) { |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
182 int num = sedLoad != null ? sedLoad.length :0; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
183 GWT.log("Received " + num + " sediment load informations."); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
184 |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
185 if (num == 0) { |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
186 return; |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
187 } |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
188 |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
189 addSedimentLoadInfo(sedLoad); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
190 } |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
191 } |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
192 ); |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
193 } |
8234
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
194 |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
195 /** Add record to input helper listgrid. */ |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
196 protected void addSedimentLoadInfo (SedimentLoadInfoObject[] sedLoad) { |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
197 for(SedimentLoadInfoObject sl: sedLoad) { |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
198 SedimentLoadInfoRecord rec = new SedimentLoadInfoRecord(sl); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
199 sedLoadTable.addData(rec); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
200 } |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
201 if (sedLoad.length == 1) { |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
202 /* Preselect lists with only one load. */ |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
203 sedLoadTable.selectRecords(new int[] {0}); |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
204 } |
b6371be363b1
(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8231
diff
changeset
|
205 } |
8231
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
206 } |
dded480e17c9
(issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
207 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |