Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/ProjectList.java @ 3847:f3b821735e39
Calculate the info url via i18n
Don't fetch the info url from the artifact service and use i18n to calculate the
url by using the official gauge and river number.
flys-client/trunk@5582 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Bjoern Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Mon, 24 Sep 2012 08:39:22 +0000 |
parents | 9969e3b0d860 |
children | a9bafa5445f9 |
rev | line source |
---|---|
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.client.ui; |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
3473
60bf22a14ed8
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3381
diff
changeset
|
3 import com.google.gwt.core.client.GWT; |
226
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
4 import com.google.gwt.i18n.client.DateTimeFormat; |
585
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
5 import com.google.gwt.user.client.Timer; |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
6 import com.google.gwt.user.client.rpc.AsyncCallback; |
226
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
7 import com.smartgwt.client.types.Alignment; |
3709
9969e3b0d860
Scrolling the project list is now more robust.
Christian Lins <christian.lins@intevation.de>
parents:
3531
diff
changeset
|
8 import com.smartgwt.client.types.Autofit; |
597
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
9 import com.smartgwt.client.types.ListGridEditEvent; |
226
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
10 import com.smartgwt.client.types.ListGridFieldType; |
3709
9969e3b0d860
Scrolling the project list is now more robust.
Christian Lins <christian.lins@intevation.de>
parents:
3531
diff
changeset
|
11 import com.smartgwt.client.types.Overflow; |
606
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
12 import com.smartgwt.client.types.SelectionStyle; |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
13 import com.smartgwt.client.types.SortArrow; |
226
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
14 import com.smartgwt.client.types.SortDirection; |
3473
60bf22a14ed8
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3381
diff
changeset
|
15 import com.smartgwt.client.types.VerticalAlignment; |
606
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
16 import com.smartgwt.client.util.BooleanCallback; |
220
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
17 import com.smartgwt.client.util.SC; |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
18 import com.smartgwt.client.widgets.Canvas; |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
19 import com.smartgwt.client.widgets.Label; |
226
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
20 import com.smartgwt.client.widgets.grid.CellFormatter; |
606
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
21 import com.smartgwt.client.widgets.grid.HoverCustomizer; |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 import com.smartgwt.client.widgets.grid.ListGrid; |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
23 import com.smartgwt.client.widgets.grid.ListGridField; |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
24 import com.smartgwt.client.widgets.grid.ListGridRecord; |
597
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
25 import com.smartgwt.client.widgets.grid.events.CellClickEvent; |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
26 import com.smartgwt.client.widgets.grid.events.CellClickHandler; |
253
aea3ab5997b2
Added a doubleclick listener to the project list to open a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
229
diff
changeset
|
27 import com.smartgwt.client.widgets.grid.events.CellDoubleClickEvent; |
aea3ab5997b2
Added a doubleclick listener to the project list to open a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
229
diff
changeset
|
28 import com.smartgwt.client.widgets.grid.events.CellDoubleClickHandler; |
597
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
29 import com.smartgwt.client.widgets.grid.events.EditCompleteEvent; |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
30 import com.smartgwt.client.widgets.grid.events.EditCompleteHandler; |
3473
60bf22a14ed8
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3381
diff
changeset
|
31 import com.smartgwt.client.widgets.grid.events.HeaderDoubleClickEvent; |
60bf22a14ed8
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3381
diff
changeset
|
32 import com.smartgwt.client.widgets.grid.events.HeaderDoubleClickHandler; |
220
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
33 import com.smartgwt.client.widgets.grid.events.RowContextClickEvent; |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
34 import com.smartgwt.client.widgets.grid.events.RowContextClickHandler; |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
35 import com.smartgwt.client.widgets.layout.VLayout; |
220
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
36 import com.smartgwt.client.widgets.menu.Menu; |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
37 import com.smartgwt.client.widgets.menu.MenuItem; |
778
e14dc5fed6bb
Reordered delete and rename in project context menu, add separator.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
613
diff
changeset
|
38 import com.smartgwt.client.widgets.menu.MenuItemSeparator; |
3473
60bf22a14ed8
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3381
diff
changeset
|
39 import com.smartgwt.client.widgets.menu.events.ClickHandler; |
60bf22a14ed8
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3381
diff
changeset
|
40 import com.smartgwt.client.widgets.menu.events.MenuItemClickEvent; |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
42 import de.intevation.flys.client.client.Config; |
225
9040663aee01
Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
43 import de.intevation.flys.client.client.FLYS; |
211
b92281182c6b
Removed the FLYSMessages interface and replaced it with a FLYSConstants interface - this interface has the ability to lookup i18n strings with given keys.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
97
diff
changeset
|
44 import de.intevation.flys.client.client.FLYSConstants; |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
45 import de.intevation.flys.client.client.event.CollectionChangeEvent; |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
46 import de.intevation.flys.client.client.event.CollectionChangeHandler; |
3473
60bf22a14ed8
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3381
diff
changeset
|
47 import de.intevation.flys.client.client.event.FilterHandler; |
60bf22a14ed8
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3381
diff
changeset
|
48 import de.intevation.flys.client.client.event.RangeFilterEvent; |
60bf22a14ed8
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3381
diff
changeset
|
49 import de.intevation.flys.client.client.event.StringFilterEvent; |
3380
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
50 import de.intevation.flys.client.client.services.AddArtifactService; |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
51 import de.intevation.flys.client.client.services.AddArtifactServiceAsync; |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
52 import de.intevation.flys.client.client.services.ArtifactService; |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
53 import de.intevation.flys.client.client.services.ArtifactServiceAsync; |
3380
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
54 import de.intevation.flys.client.client.services.CreateCollectionService; |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
55 import de.intevation.flys.client.client.services.CreateCollectionServiceAsync; |
598
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
56 import de.intevation.flys.client.client.services.DeleteCollectionService; |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
57 import de.intevation.flys.client.client.services.DeleteCollectionServiceAsync; |
3380
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
58 import de.intevation.flys.client.client.services.DescribeCollectionService; |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
59 import de.intevation.flys.client.client.services.DescribeCollectionServiceAsync; |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
60 import de.intevation.flys.client.client.services.GetArtifactService; |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
61 import de.intevation.flys.client.client.services.GetArtifactServiceAsync; |
598
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
62 import de.intevation.flys.client.client.services.SetCollectionNameService; |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
63 import de.intevation.flys.client.client.services.SetCollectionNameServiceAsync; |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
64 import de.intevation.flys.client.client.services.SetCollectionTTLService; |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
65 import de.intevation.flys.client.client.services.SetCollectionTTLServiceAsync; |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
66 import de.intevation.flys.client.client.services.UserCollectionsService; |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
67 import de.intevation.flys.client.client.services.UserCollectionsServiceAsync; |
3473
60bf22a14ed8
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3381
diff
changeset
|
68 import de.intevation.flys.client.shared.model.Artifact; |
60bf22a14ed8
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3381
diff
changeset
|
69 import de.intevation.flys.client.shared.model.Collection; |
60bf22a14ed8
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3381
diff
changeset
|
70 import de.intevation.flys.client.shared.model.CollectionItem; |
60bf22a14ed8
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3381
diff
changeset
|
71 import de.intevation.flys.client.shared.model.CollectionRecord; |
60bf22a14ed8
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3381
diff
changeset
|
72 import de.intevation.flys.client.shared.model.Recommendation; |
60bf22a14ed8
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3381
diff
changeset
|
73 import de.intevation.flys.client.shared.model.User; |
60bf22a14ed8
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3381
diff
changeset
|
74 |
60bf22a14ed8
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3381
diff
changeset
|
75 import java.util.ArrayList; |
60bf22a14ed8
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3381
diff
changeset
|
76 import java.util.Date; |
60bf22a14ed8
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3381
diff
changeset
|
77 import java.util.List; |
60bf22a14ed8
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3381
diff
changeset
|
78 import java.util.Map; |
60bf22a14ed8
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3381
diff
changeset
|
79 import java.util.MissingResourceException; |
60bf22a14ed8
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3381
diff
changeset
|
80 |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
81 |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
82 /** |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
83 * The project list shows a list of projects of a specific user. |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
84 * |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
85 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
86 */ |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
87 public class ProjectList |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
88 extends VLayout |
885
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
89 implements CollectionChangeHandler, EditCompleteHandler, FilterHandler |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
90 { |
585
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
91 /** Interval to refresh the user's projects.*/ |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
92 public static final int UPDATE_INTERVAL = 30000; |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
93 |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
94 /** Min Interval to refresh the user's projects.*/ |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
95 public static final int MIN_UPDATE_INTERVAL = 5000; |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
96 |
606
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
97 /** The initial width of this panel.*/ |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
98 public static final int MIN_WIDTH = 300; |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
99 |
613
471ca61b83b5
#165 Set the max length of project names to 50 characters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
608
diff
changeset
|
100 /** The max length for new project names.*/ |
471ca61b83b5
#165 Set the max length of project names to 50 characters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
608
diff
changeset
|
101 public static final int MAX_NAME_LENGTH = 50; |
471ca61b83b5
#165 Set the max length of project names to 50 characters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
608
diff
changeset
|
102 |
606
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
103 public static final String COLUMN_DATE_WIDTH = "100px"; |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
104 |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
105 public static final String COLUMN_TITLE_WIDTH = "*"; |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
106 |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
107 public static final String COLUMN_FAVORITE_WIDTH = "75px"; |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
108 |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
109 /** The interface that provides i18n messages. */ |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
110 private final FLYSConstants messages = GWT.create(FLYSConstants.class); |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
111 |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
112 /** The UserService used to retrieve information about the current user. */ |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
113 protected UserCollectionsServiceAsync userCollectionsService = |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
114 GWT.create(UserCollectionsService.class); |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
115 |
598
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
116 /** The service used to set the name of a project.*/ |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
117 protected SetCollectionNameServiceAsync nameService = |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
118 GWT.create(SetCollectionNameService.class); |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
119 |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
120 /** The service used to set the name of a project.*/ |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
121 protected SetCollectionTTLServiceAsync ttlService = |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
122 GWT.create(SetCollectionTTLService.class); |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
123 |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
124 /** The service used to set the name of a project.*/ |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
125 protected DeleteCollectionServiceAsync deleteService = |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
126 GWT.create(DeleteCollectionService.class); |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
127 |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
128 /** The DescribeCollectionService used to update the existing collection. */ |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
129 protected DescribeCollectionServiceAsync describeCollectionService = |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
130 GWT.create(DescribeCollectionService.class); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
131 |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
132 /** The ArtifactService used to communicate with the Artifact server. */ |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
133 protected ArtifactServiceAsync createArtifactService = |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
134 GWT.create(ArtifactService.class); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
135 |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
136 /** The ArtifactService used to communicate with the Artifact server. */ |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
137 protected CreateCollectionServiceAsync createCollectionService = |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
138 GWT.create(CreateCollectionService.class); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
139 |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
140 /** The AddArtifactService used to add an artifact to a collection. */ |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
141 protected AddArtifactServiceAsync addArtifactService = |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
142 GWT.create(AddArtifactService.class); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
143 |
3380
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
144 /** The GetArtifactService used to open an existing collection. */ |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
145 protected GetArtifactServiceAsync getArtifactService = |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
146 GWT.create(GetArtifactService.class); |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
147 |
225
9040663aee01
Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
148 /** A pointer to the FLYS instance.*/ |
9040663aee01
Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
149 protected FLYS flys; |
9040663aee01
Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
150 |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
151 /** The user whose projects should be displayed.*/ |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
152 protected User user; |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
153 |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
154 /** The grid that contains the project rows.*/ |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
155 protected ListGrid grid; |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
156 |
885
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
157 /** All user collections.*/ |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
158 protected List<Collection> collections; |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
159 |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
160 /** The collections visible in the grid.*/ |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
161 protected List<Collection> filteredCollections; |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
162 |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
163 /** The collection to clone*/ |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
164 protected Collection cloneCollection; |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
165 |
3380
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
166 /** The message class that provides i18n strings.*/ |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
167 protected FLYSConstants MSG = GWT.create(FLYSConstants.class); |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
168 |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
169 |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
170 /** |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
171 * The default constructor that creates a new ProjectList for a specific |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
172 * user. |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
173 * |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
174 * @param user The user. |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
175 */ |
225
9040663aee01
Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
176 public ProjectList(FLYS flys, User user) { |
3531
718e5c6c992e
Maybe squashed issue531.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3501
diff
changeset
|
177 super(); |
225
9040663aee01
Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
178 this.flys = flys; |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
179 this.user = user; |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
180 |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
181 filteredCollections = new ArrayList<Collection>(); |
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
182 collections = new ArrayList<Collection>(); |
226
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
183 grid = new ListGrid(); |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
184 initGrid(); |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
185 init(); |
585
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
186 initTimer(); |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
187 |
597
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
188 grid.addEditCompleteHandler(this); |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
189 |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
190 updateUserCollections(); |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
191 } |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
192 |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
193 |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
194 protected void initGrid() { |
606
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
195 grid.setWidth100(); |
3709
9969e3b0d860
Scrolling the project list is now more robust.
Christian Lins <christian.lins@intevation.de>
parents:
3531
diff
changeset
|
196 grid.setAutoFitData(Autofit.VERTICAL); |
606
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
197 grid.setAutoFitMaxWidth(500); |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
198 grid.setEmptyMessage(messages.no_projects()); |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
199 grid.setLoadingDataMessage(messages.load_projects()); |
606
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
200 grid.setCanEdit(false); |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
201 grid.setEditEvent(ListGridEditEvent.NONE); |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
202 grid.setShowHeaderContextMenu(false); |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
203 grid.setShowSortArrow(SortArrow.NONE); |
226
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
204 grid.setSortDirection(SortDirection.DESCENDING); |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
205 grid.setSortField(0); |
606
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
206 grid.setSelectionType(SelectionStyle.SINGLE); |
877
f343b4c2d135
Set header fields to fixed order in project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
778
diff
changeset
|
207 grid.setCanReorderFields(false); |
2446
caae9d686372
Removed the scrollbar placeholder of the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1534
diff
changeset
|
208 grid.setLeaveScrollbarGap(false); |
3709
9969e3b0d860
Scrolling the project list is now more robust.
Christian Lins <christian.lins@intevation.de>
parents:
3531
diff
changeset
|
209 grid.setBorder("0px"); |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
210 |
226
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
211 ListGridField date = buildDateField(); |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
212 ListGridField name = buildNameField(); |
587
53ad6dd2cb2b
The project list displays the favorite state of a collection now. A gold star means, that a collection is a owner's favorite project and will never die. A silver star means, that the project is a common project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
585
diff
changeset
|
213 ListGridField fav = buildFavoriteField(); |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
214 |
587
53ad6dd2cb2b
The project list displays the favorite state of a collection now. A gold star means, that a collection is a owner's favorite project and will never die. A silver star means, that the project is a common project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
585
diff
changeset
|
215 grid.setFields(date, name, fav); |
220
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
216 |
1391
f554dce42d66
Issue 355.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1261
diff
changeset
|
217 grid.addHeaderDoubleClickHandler(new HeaderDoubleClickHandler() { |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
218 @Override |
1391
f554dce42d66
Issue 355.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1261
diff
changeset
|
219 public void onHeaderDoubleClick(HeaderDoubleClickEvent event) { |
3380
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
220 // Cancel the event. |
1391
f554dce42d66
Issue 355.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1261
diff
changeset
|
221 return; |
f554dce42d66
Issue 355.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1261
diff
changeset
|
222 } |
f554dce42d66
Issue 355.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1261
diff
changeset
|
223 }); |
f554dce42d66
Issue 355.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1261
diff
changeset
|
224 |
3380
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
225 // Add a handler to set / unset the favorite state of a project. |
597
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
226 grid.addCellClickHandler(new CellClickHandler() { |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
227 @Override |
597
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
228 public void onCellClick(CellClickEvent event) { |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
229 if (event.getColNum() != 2) { |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
230 return; |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
231 } |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
232 |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
233 CollectionRecord r = (CollectionRecord) event.getRecord(); |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
234 Collection c = r.getCollection(); |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
235 |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
236 c.setTTL(c.getTTL() == 0 ? -1 : 0); |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
237 updateCollectionTTL(c); |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
238 } |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
239 }); |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
240 |
3380
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
241 // Add a handler to open a project. |
253
aea3ab5997b2
Added a doubleclick listener to the project list to open a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
229
diff
changeset
|
242 grid.addCellDoubleClickHandler(new CellDoubleClickHandler() { |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
243 @Override |
253
aea3ab5997b2
Added a doubleclick listener to the project list to open a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
229
diff
changeset
|
244 public void onCellDoubleClick(CellDoubleClickEvent e) { |
aea3ab5997b2
Added a doubleclick listener to the project list to open a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
229
diff
changeset
|
245 CollectionRecord record = (CollectionRecord) e.getRecord(); |
aea3ab5997b2
Added a doubleclick listener to the project list to open a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
229
diff
changeset
|
246 String uuid = record != null |
aea3ab5997b2
Added a doubleclick listener to the project list to open a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
229
diff
changeset
|
247 ? record.getCollection().identifier() |
aea3ab5997b2
Added a doubleclick listener to the project list to open a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
229
diff
changeset
|
248 : ""; |
aea3ab5997b2
Added a doubleclick listener to the project list to open a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
229
diff
changeset
|
249 getFlys().openProject(uuid); |
aea3ab5997b2
Added a doubleclick listener to the project list to open a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
229
diff
changeset
|
250 } |
aea3ab5997b2
Added a doubleclick listener to the project list to open a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
229
diff
changeset
|
251 }); |
aea3ab5997b2
Added a doubleclick listener to the project list to open a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
229
diff
changeset
|
252 |
3380
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
253 // Add a handler to open a context menu. |
220
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
254 grid.addRowContextClickHandler(new RowContextClickHandler() { |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
255 @Override |
220
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
256 public void onRowContextClick(RowContextClickEvent event) { |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
257 CollectionRecord record = (CollectionRecord) event.getRecord(); |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
258 |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
259 Menu menu = createContextMenu(record); |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
260 grid.setContextMenu(menu); |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
261 menu.showContextMenu(); |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
262 |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
263 event.cancel(); |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
264 } |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
265 }); |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
266 } |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
267 |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
268 |
585
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
269 /** |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
270 * Initializes a repeating timer that updates the user's collections. The |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
271 * interval is specified by the constant <i>UPDATE_INTERVAL</i>. |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
272 */ |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
273 protected void initTimer() { |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
274 Config config = Config.getInstance(); |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
275 int interval = config.getProjectListUpdateInterval(); |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
276 |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
277 interval = interval > MIN_UPDATE_INTERVAL ? interval : UPDATE_INTERVAL; |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
278 |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
279 GWT.log("Update project list every " + interval + " milliseconds."); |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
280 |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
281 Timer t = new Timer() { |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
282 @Override |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
283 public void run() { |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
284 updateUserCollections(); |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
285 } |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
286 }; |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
287 |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
288 t.scheduleRepeating(interval); |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
289 } |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
290 |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
291 |
225
9040663aee01
Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
292 public FLYS getFlys() { |
9040663aee01
Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
293 return flys; |
9040663aee01
Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
294 } |
9040663aee01
Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
295 |
9040663aee01
Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
296 |
220
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
297 /** |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
298 * Creates a new context menu that interacts with a CollectionRecord. |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
299 * |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
300 * @param record The selected record. |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
301 * |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
302 * @return the context menu with operations that interact with |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
303 * <i>record</i>. |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
304 */ |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
305 protected Menu createContextMenu(final CollectionRecord record) { |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
306 Menu menu = new Menu(); |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
307 |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
308 MenuItem open = new MenuItem(messages.open_project()); |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
309 open.addClickHandler(new ClickHandler() { |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
310 @Override |
220
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
311 public void onClick(MenuItemClickEvent evt) { |
225
9040663aee01
Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
312 getFlys().openProject(record.getCollection().identifier()); |
220
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
313 } |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
314 }); |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
315 |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
316 MenuItem del = new MenuItem(messages.delete_project()); |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
317 del.addClickHandler(new ClickHandler() { |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
318 @Override |
220
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
319 public void onClick(MenuItemClickEvent evt) { |
606
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
320 SC.ask(messages.really_delete(), new BooleanCallback() { |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
321 @Override |
606
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
322 public void execute(Boolean value) { |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
323 if (value) { |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
324 deleteCollection(record.getCollection()); |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
325 } |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
326 } |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
327 }); |
220
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
328 } |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
329 }); |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
330 |
597
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
331 MenuItem rename = new MenuItem(messages.rename_project()); |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
332 rename.addClickHandler(new ClickHandler() { |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
333 @Override |
597
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
334 public void onClick(MenuItemClickEvent evt) { |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
335 int row = grid.getRecordIndex(record); |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
336 grid.startEditing(row, 1, false); |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
337 } |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
338 }); |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
339 |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
340 MenuItem clone = new MenuItem(messages.clone_project()); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
341 clone.addClickHandler(new ClickHandler() { |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
342 @Override |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
343 public void onClick(MenuItemClickEvent evt) { |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
344 cloneProject(record.getCollection()); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
345 } |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
346 }); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
347 |
220
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
348 menu.addItem(open); |
778
e14dc5fed6bb
Reordered delete and rename in project context menu, add separator.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
613
diff
changeset
|
349 menu.addItem(rename); |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
350 menu.addItem(clone); |
778
e14dc5fed6bb
Reordered delete and rename in project context menu, add separator.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
613
diff
changeset
|
351 menu.addItem(new MenuItemSeparator()); |
220
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
352 menu.addItem(del); |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
353 |
35094660f91a
Implemented a context menu for the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
211
diff
changeset
|
354 return menu; |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
355 } |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
356 |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
357 |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
358 /** |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
359 * The init() method handles the layout stuff for this widget. |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
360 */ |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
361 protected void init() { |
606
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
362 setWidth(MIN_WIDTH); |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
363 setMinWidth(MIN_WIDTH); |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
364 setHeight100(); |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
365 setShowResizeBar(true); |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
366 setShowEdges(false); |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
367 setLayoutMargin(0); |
79
17815a7354bc
Customized background and ProjectList styles.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
25
diff
changeset
|
368 setLayoutAlign(VerticalAlignment.TOP); |
3709
9969e3b0d860
Scrolling the project list is now more robust.
Christian Lins <christian.lins@intevation.de>
parents:
3531
diff
changeset
|
369 setOverflow(Overflow.AUTO); |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
370 |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
371 Label title = new Label(messages.projects()); |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
372 title.setHeight("20"); |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
373 title.setMargin(5); |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
374 title.setWidth100(); |
79
17815a7354bc
Customized background and ProjectList styles.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
25
diff
changeset
|
375 title.setStyleName("fontLightSmall"); |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
376 |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
377 Canvas titleWrapper = new Canvas(); |
79
17815a7354bc
Customized background and ProjectList styles.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
25
diff
changeset
|
378 titleWrapper.setStyleName("bgBlueDark"); |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
379 titleWrapper.setWidth100(); |
79
17815a7354bc
Customized background and ProjectList styles.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
25
diff
changeset
|
380 titleWrapper.setHeight("20px"); |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
381 titleWrapper.addChild(title); |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
382 |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
383 Canvas gridWrapper = new Canvas(); |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
384 gridWrapper.setPadding(0); |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
385 titleWrapper.setWidth100(); |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
386 gridWrapper.addChild(grid); |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
387 |
885
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
388 TableFilter filter = new TableFilter(); |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
389 filter.setHeight("30px"); |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
390 filter.addFilterHandler(this); |
3709
9969e3b0d860
Scrolling the project list is now more robust.
Christian Lins <christian.lins@intevation.de>
parents:
3531
diff
changeset
|
391 filter.setBorder("1px solid gray"); |
885
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
392 |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
393 addMember(titleWrapper); |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
394 addMember(gridWrapper); |
885
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
395 addMember(filter); |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
396 } |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
397 |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
398 |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
399 @Override |
885
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
400 public void onFilterCriteriaChanged(StringFilterEvent event) { |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
401 String search = event.getFilter(); |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
402 if (search != null && search.length() > 0) { |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
403 // Filter the records. |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
404 filterCollections(search); |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
405 } |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
406 else { |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
407 filteredCollections.clear(); |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
408 for(int i = 0; i < collections.size(); i++) { |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
409 filteredCollections.add(collections.get(i)); |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
410 } |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
411 updateGrid(); |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
412 } |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
413 } |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
414 |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
415 |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
416 @Override |
1534
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1493
diff
changeset
|
417 public void onFilterCriteriaChanged(RangeFilterEvent event) { |
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1493
diff
changeset
|
418 //Empty. No Ranges to filter. |
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1493
diff
changeset
|
419 } |
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1493
diff
changeset
|
420 |
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1493
diff
changeset
|
421 |
3531
718e5c6c992e
Maybe squashed issue531.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3501
diff
changeset
|
422 /** On collection change, update list (probably name change or similar). */ |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
423 @Override |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
424 public void onCollectionChange(CollectionChangeEvent event) { |
585
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
425 if (event.getOldValue() == null) { |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
426 updateUserCollections(); |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
427 } |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
428 } |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
429 |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
430 |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
431 @Override |
597
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
432 public void onEditComplete(EditCompleteEvent event) { |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
433 if (event.getColNum() != 1) { |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
434 return; |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
435 } |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
436 |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
437 int row = event.getRowNum(); |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
438 |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
439 CollectionRecord r = (CollectionRecord) grid.getRecord(row); |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
440 Collection c = r.getCollection(); |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
441 |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
442 Map<?, ?> newValues = event.getNewValues(); |
597
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
443 String name = (String) newValues.get("name"); |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
444 |
613
471ca61b83b5
#165 Set the max length of project names to 50 characters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
608
diff
changeset
|
445 int maxLength = getMaxNameLength(); |
471ca61b83b5
#165 Set the max length of project names to 50 characters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
608
diff
changeset
|
446 int length = name != null ? name.length() : 0; |
471ca61b83b5
#165 Set the max length of project names to 50 characters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
608
diff
changeset
|
447 |
471ca61b83b5
#165 Set the max length of project names to 50 characters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
608
diff
changeset
|
448 if (length <= 0 || length > maxLength) { |
471ca61b83b5
#165 Set the max length of project names to 50 characters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
608
diff
changeset
|
449 String msg = messages.project_name_too_long(); |
471ca61b83b5
#165 Set the max length of project names to 50 characters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
608
diff
changeset
|
450 msg = msg.replace("$LEN", String.valueOf(maxLength)); |
471ca61b83b5
#165 Set the max length of project names to 50 characters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
608
diff
changeset
|
451 SC.warn(msg); |
471ca61b83b5
#165 Set the max length of project names to 50 characters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
608
diff
changeset
|
452 |
471ca61b83b5
#165 Set the max length of project names to 50 characters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
608
diff
changeset
|
453 ListGridRecord[] rs = grid.getRecords(); |
471ca61b83b5
#165 Set the max length of project names to 50 characters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
608
diff
changeset
|
454 rs[row] = (ListGridRecord) event.getOldRecord(); |
471ca61b83b5
#165 Set the max length of project names to 50 characters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
608
diff
changeset
|
455 grid.setRecords(rs); |
471ca61b83b5
#165 Set the max length of project names to 50 characters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
608
diff
changeset
|
456 |
471ca61b83b5
#165 Set the max length of project names to 50 characters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
608
diff
changeset
|
457 return; |
471ca61b83b5
#165 Set the max length of project names to 50 characters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
608
diff
changeset
|
458 } |
471ca61b83b5
#165 Set the max length of project names to 50 characters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
608
diff
changeset
|
459 |
597
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
460 c.setName(name); |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
461 updateCollectionName(c); |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
462 } |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
463 |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
464 |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
465 /** |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
466 * Set the name of the collection <i>c</i> to a new value. If the update |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
467 * process succeeded, the project list is refreshed. |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
468 * |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
469 * @param c The Collection with a new name. |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
470 */ |
895
9acbd3f98262
Update the collection view title when the project name changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
889
diff
changeset
|
471 protected void updateCollectionName(final Collection c) { |
597
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
472 if (c == null) { |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
473 return; |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
474 } |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
475 |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
476 GWT.log("Update Collection name: " + c.identifier()); |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
477 GWT.log("=> New name = " + c.getName()); |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
478 |
1425
bc06a671ef60
Removed the URL parameter from service calls. The service
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1391
diff
changeset
|
479 nameService.setName(c, new AsyncCallback<Void>(){ |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
480 @Override |
598
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
481 public void onFailure(Throwable caught) { |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
482 String msg = caught.getMessage(); |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
483 |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
484 try { |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
485 SC.warn(messages.getString(msg)); |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
486 } |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
487 catch (MissingResourceException mre) { |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
488 SC.warn(msg); |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
489 } |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
490 } |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
491 |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
492 @Override |
598
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
493 public void onSuccess(Void v) { |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
494 updateUserCollections(); |
896
fe23bbf0ea11
Fixed a problem with renaming collection view title and duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
895
diff
changeset
|
495 if(flys.getWorkspace().hasView(c.identifier())) { |
fe23bbf0ea11
Fixed a problem with renaming collection view title and duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
895
diff
changeset
|
496 flys.getWorkspace().updateTitle(c.identifier(), c.getName()); |
fe23bbf0ea11
Fixed a problem with renaming collection view title and duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
895
diff
changeset
|
497 } |
598
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
498 } |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
499 }); |
597
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
500 } |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
501 |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
502 |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
503 /** |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
504 * Set the ttl of the collection <i>c</i> to a new value. If the update |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
505 * process succeeded, the project list is refreshed. |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
506 * |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
507 * @param c The Collection with a new ttl. |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
508 */ |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
509 protected void updateCollectionTTL(Collection c) { |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
510 if (c == null) { |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
511 return; |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
512 } |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
513 |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
514 GWT.log("Update Collection TTL: " + c.identifier()); |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
515 GWT.log("=> New ttl = " + c.getTTL()); |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
516 |
1425
bc06a671ef60
Removed the URL parameter from service calls. The service
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1391
diff
changeset
|
517 ttlService.setTTL(c, new AsyncCallback<Void>() { |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
518 @Override |
598
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
519 public void onFailure(Throwable caught) { |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
520 String msg = caught.getMessage(); |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
521 |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
522 try { |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
523 SC.warn(messages.getString(msg)); |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
524 } |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
525 catch (MissingResourceException mre) { |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
526 SC.warn(msg); |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
527 } |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
528 } |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
529 |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
530 @Override |
598
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
531 public void onSuccess(Void v) { |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
532 updateUserCollections(); |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
533 } |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
534 }); |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
535 } |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
536 |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
537 |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
538 /** |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
539 * Delete the collection <i>c</i>. |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
540 * |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
541 * @param c The Collection that should be deleted. |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
542 */ |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
543 public void deleteCollection(final Collection c) { |
598
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
544 if (c == null) { |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
545 return; |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
546 } |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
547 |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
548 GWT.log("Delete Collection: " + c.identifier()); |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
549 |
1425
bc06a671ef60
Removed the URL parameter from service calls. The service
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1391
diff
changeset
|
550 deleteService.delete(c, new AsyncCallback<Void>(){ |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
551 @Override |
598
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
552 public void onFailure(Throwable caught) { |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
553 String msg = caught.getMessage(); |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
554 |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
555 try { |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
556 SC.warn(messages.getString(msg)); |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
557 } |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
558 catch (MissingResourceException mre) { |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
559 SC.warn(msg); |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
560 } |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
561 } |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
562 |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
563 @Override |
598
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
564 public void onSuccess(Void v) { |
600
347cf4a5a486
Open projects are removed from screen if the user deletes them (via project list).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
599
diff
changeset
|
565 flys.getWorkspace().destroyProject(c.identifier()); |
598
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
566 updateUserCollections(); |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
567 } |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
568 }); |
597
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
569 } |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
570 |
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
571 |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
572 protected void updateUserCollections() { |
585
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
573 GWT.log("==> ProjectList updates user collections!"); |
ab7ec931bae2
#22 Introduced a polling mechanism to refresh the projects of a user in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
554
diff
changeset
|
574 |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
575 Config config = Config.getInstance(); |
229
924da6695800
Each service is now called with the name of the current locale to set the request object's locale manually in the HttpClient.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
226
diff
changeset
|
576 String locale = config.getLocale(); |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
577 |
1493
07b9404d7170
Removed unused method calls.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1425
diff
changeset
|
578 userCollectionsService.getUserCollections(locale, user.identifier(), |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
579 new AsyncCallback<Collection[]>() { |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
580 @Override |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
581 public void onFailure(Throwable caught) { |
598
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
582 String msg = caught.getMessage(); |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
583 |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
584 try { |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
585 SC.warn(messages.getString(msg)); |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
586 } |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
587 catch (MissingResourceException mre) { |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
588 SC.warn(msg); |
031357c3e23e
Added stubs to set the name and ttl of a collection and to delete a collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
597
diff
changeset
|
589 } |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
590 } |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
591 |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
592 @Override |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
593 public void onSuccess(Collection[] collections) { |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
594 int num = collections != null ? collections.length : 0; |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
595 |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
596 GWT.log("Received " + num + " user collections."); |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
597 |
885
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
598 updateGridDataSource(collections); |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
599 } |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
600 } |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
601 ); |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
602 } |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
603 |
3380
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
604 |
885
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
605 /** |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
606 * Delete all entries in the ListGrid. |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
607 */ |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
608 protected void clearGrid() { |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
609 ListGridRecord[] records = grid.getRecords(); |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
610 |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
611 for (ListGridRecord record: records) { |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
612 grid.removeData(record); |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
613 } |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
614 } |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
615 |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
616 |
885
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
617 /** |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
618 * Update the collections data source. |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
619 * |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
620 * First removes all collections to avoid duplicates, then add new entries. |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
621 * |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
622 * @param c Collections to set to the data source. |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
623 */ |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
624 protected void updateGridDataSource (Collection[] c) { |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
625 collections.clear(); |
889
2c9c3448e499
Fixed some minor problems and strings in projectlist.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
887
diff
changeset
|
626 if(c == null) { |
2c9c3448e499
Fixed some minor problems and strings in projectlist.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
887
diff
changeset
|
627 clearGrid(); |
2c9c3448e499
Fixed some minor problems and strings in projectlist.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
887
diff
changeset
|
628 return; |
2c9c3448e499
Fixed some minor problems and strings in projectlist.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
887
diff
changeset
|
629 } |
885
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
630 for (Collection coll : c) { |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
631 this.collections.add(coll); |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
632 } |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
633 filterCollections(""); |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
634 } |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
635 |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
636 |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
637 /** |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
638 * Updates the ListGrid. |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
639 */ |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
640 protected void updateGrid() { |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
641 clearGrid(); |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
642 |
885
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
643 if (filteredCollections == null || |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
644 filteredCollections.size() == 0) { |
599
1dbffe4c6d12
Implemented the RPC stubs to set the TTL and name of a collection and to delete an existing collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
598
diff
changeset
|
645 return; |
1dbffe4c6d12
Implemented the RPC stubs to set the TTL and name of a collection and to delete an existing collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
598
diff
changeset
|
646 } |
1dbffe4c6d12
Implemented the RPC stubs to set the TTL and name of a collection and to delete an existing collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
598
diff
changeset
|
647 |
885
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
648 for (Collection c: filteredCollections) { |
97
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
649 grid.addData(new CollectionRecord(c)); |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
650 } |
0bec0112c8b3
Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
79
diff
changeset
|
651 } |
226
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
652 |
3380
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
653 |
885
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
654 /** |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
655 * Filter for the user collections. |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
656 * |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
657 * @param search String to search for in collection names. |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
658 */ |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
659 protected void filterCollections(String search) { |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
660 int j = 0; |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
661 |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
662 // Clear the collection list. |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
663 filteredCollections.clear(); |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
664 |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
665 // Filter the list. |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
666 for (int i = 0; i < collections.size(); i++) { |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
667 String name; |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
668 |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
669 // Get the collection name. |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
670 if (collections.get(i).getName().equals("") || |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
671 collections.get(i).getName() == null) { |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
672 name = collections.get(i).identifier(); |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
673 } |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
674 else { |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
675 name = collections.get(i).getName(); |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
676 } |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
677 |
889
2c9c3448e499
Fixed some minor problems and strings in projectlist.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
887
diff
changeset
|
678 name = name.toLowerCase(); |
885
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
679 // Add a collection to the filtered list if the search string |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
680 // matches. |
889
2c9c3448e499
Fixed some minor problems and strings in projectlist.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
887
diff
changeset
|
681 if (name.contains(search.toLowerCase())) { |
885
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
682 filteredCollections.add(collections.get(i)); |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
683 j++; |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
684 } |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
685 } |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
686 updateGrid(); |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
687 } |
eeea6a02d62c
Added filter functionality to the project list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
877
diff
changeset
|
688 |
226
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
689 |
613
471ca61b83b5
#165 Set the max length of project names to 50 characters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
608
diff
changeset
|
690 public int getMaxNameLength() { |
471ca61b83b5
#165 Set the max length of project names to 50 characters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
608
diff
changeset
|
691 return MAX_NAME_LENGTH; |
471ca61b83b5
#165 Set the max length of project names to 50 characters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
608
diff
changeset
|
692 } |
471ca61b83b5
#165 Set the max length of project names to 50 characters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
608
diff
changeset
|
693 |
471ca61b83b5
#165 Set the max length of project names to 50 characters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
608
diff
changeset
|
694 |
226
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
695 /** |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
696 * Builds the field in the grid that displays the creation time of a |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
697 * project. |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
698 * |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
699 * @return the grid field. |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
700 */ |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
701 protected ListGridField buildDateField() { |
606
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
702 ListGridField date = new ListGridField( |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
703 "creationTime", messages.projectlist_creationTime()); |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
704 |
226
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
705 date.setType(ListGridFieldType.DATE); |
597
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
706 date.setCanEdit(false); |
226
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
707 |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
708 date.setCellFormatter(new CellFormatter() { |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
709 @Override |
226
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
710 public String format(Object value, ListGridRecord rec, int r, int c) { |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
711 if (value == null) { |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
712 return null; |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
713 } |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
714 |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
715 DateTimeFormat dtf = DateTimeFormat.getFormat( |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
716 messages.datetime_format()); |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
717 |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
718 return dtf.format((Date)value); |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
719 } |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
720 }); |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
721 |
606
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
722 date.setWidth(COLUMN_DATE_WIDTH); |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
723 date.setAlign(Alignment.CENTER); |
226
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
724 |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
725 return date; |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
726 } |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
727 |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
728 |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
729 /** |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
730 * Builds the field in the grid that displays the name of a project. |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
731 * |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
732 * @return the grid field. |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
733 */ |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
734 protected ListGridField buildNameField() { |
606
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
735 ListGridField name = new ListGridField( |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
736 "name", messages.projectlist_title()); |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
737 |
226
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
738 name.setType(ListGridFieldType.TEXT); |
606
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
739 name.setShowHover(true); |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
740 name.setHoverCustomizer(new HoverCustomizer() { |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
741 @Override |
606
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
742 public String hoverHTML( |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
743 Object value, |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
744 ListGridRecord record, |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
745 int row, |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
746 int col) |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
747 { |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
748 CollectionRecord r = (CollectionRecord) record; |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
749 Collection c = r.getCollection(); |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
750 |
607
3acc631efdf0
Escape project's names in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
606
diff
changeset
|
751 String name = r.getName(); |
606
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
752 |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
753 return name != null && name.length() > 0 |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
754 ? name |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
755 : c.identifier(); |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
756 } |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
757 }); |
226
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
758 |
606
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
759 name.setWidth(COLUMN_TITLE_WIDTH); |
226
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
760 name.setAlign(Alignment.LEFT); |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
761 |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
762 return name; |
a13382876e5d
The project list is sorted now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
225
diff
changeset
|
763 } |
587
53ad6dd2cb2b
The project list displays the favorite state of a collection now. A gold star means, that a collection is a owner's favorite project and will never die. A silver star means, that the project is a common project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
585
diff
changeset
|
764 |
53ad6dd2cb2b
The project list displays the favorite state of a collection now. A gold star means, that a collection is a owner's favorite project and will never die. A silver star means, that the project is a common project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
585
diff
changeset
|
765 |
53ad6dd2cb2b
The project list displays the favorite state of a collection now. A gold star means, that a collection is a owner's favorite project and will never die. A silver star means, that the project is a common project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
585
diff
changeset
|
766 protected ListGridField buildFavoriteField() { |
606
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
767 ListGridField fav = new ListGridField( |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
768 "ttl", messages.projectlist_favorite()); |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
769 |
587
53ad6dd2cb2b
The project list displays the favorite state of a collection now. A gold star means, that a collection is a owner's favorite project and will never die. A silver star means, that the project is a common project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
585
diff
changeset
|
770 fav.setType(ListGridFieldType.IMAGE); |
53ad6dd2cb2b
The project list displays the favorite state of a collection now. A gold star means, that a collection is a owner's favorite project and will never die. A silver star means, that the project is a common project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
585
diff
changeset
|
771 String base = GWT.getHostPageBaseURL(); |
53ad6dd2cb2b
The project list displays the favorite state of a collection now. A gold star means, that a collection is a owner's favorite project and will never die. A silver star means, that the project is a common project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
585
diff
changeset
|
772 fav.setImageURLPrefix(base + "images/"); |
53ad6dd2cb2b
The project list displays the favorite state of a collection now. A gold star means, that a collection is a owner's favorite project and will never die. A silver star means, that the project is a common project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
585
diff
changeset
|
773 fav.setImageURLSuffix(".png"); |
606
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
774 fav.setWidth(COLUMN_FAVORITE_WIDTH); |
69c0a6ecad57
#165 (part 1) Added tooltips and table headers in the project list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
600
diff
changeset
|
775 fav.setAlign(Alignment.CENTER); |
597
14e5e51a7de4
Improved the project list - listeners are notified after setting the name and ttl of a project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
587
diff
changeset
|
776 fav.setCanEdit(false); |
587
53ad6dd2cb2b
The project list displays the favorite state of a collection now. A gold star means, that a collection is a owner's favorite project and will never die. A silver star means, that the project is a common project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
585
diff
changeset
|
777 |
53ad6dd2cb2b
The project list displays the favorite state of a collection now. A gold star means, that a collection is a owner's favorite project and will never die. A silver star means, that the project is a common project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
585
diff
changeset
|
778 return fav; |
53ad6dd2cb2b
The project list displays the favorite state of a collection now. A gold star means, that a collection is a owner's favorite project and will never die. A silver star means, that the project is a common project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
585
diff
changeset
|
779 } |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
780 |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
781 |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
782 protected void cloneProject(Collection c) { |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
783 Config config = Config.getInstance(); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
784 String locale = config.getLocale(); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
785 |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
786 cloneCollection = c; |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
787 |
1425
bc06a671ef60
Removed the URL parameter from service calls. The service
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1391
diff
changeset
|
788 describeCollectionService.describe(c.identifier(), locale, |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
789 new AsyncCallback<Collection>() { |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
790 @Override |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
791 public void onFailure(Throwable caught) { |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
792 GWT.log("Could not DESCRIBE collection."); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
793 SC.warn(messages.getString(caught.getMessage())); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
794 } |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
795 |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
796 |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
797 @Override |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
798 public void onSuccess(Collection newCollection) { |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
799 GWT.log("Successfully DESCRIBED collection."); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
800 String uuid = getMasterArtifact(newCollection); |
3380
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
801 cloneArtifact(uuid, newCollection); |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
802 } |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
803 } |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
804 ); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
805 } |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
806 |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
807 |
3380
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
808 /** Get master artifacts UUID of a collection. */ |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
809 protected String getMasterArtifact(Collection newCollection) { |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
810 String uuid = newCollection.getItem(0).identifier(); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
811 // The master artifact uuid. |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
812 return uuid; |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
813 } |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
814 |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
815 |
3380
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
816 /** Clone artifact/create collection, using the refArtifacts factory. */ |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
817 protected void cloneArtifact(String uuid, Artifact refArtifact, |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
818 final String locale) { |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
819 Recommendation recommendation = new Recommendation( |
3380
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
820 refArtifact.getName(), |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
821 null, |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
822 uuid, |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
823 null); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
824 |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
825 String factory = recommendation.getFactory(); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
826 createArtifactService.create( |
1425
bc06a671ef60
Removed the URL parameter from service calls. The service
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1391
diff
changeset
|
827 locale, factory, recommendation, |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
828 new AsyncCallback<Artifact>() { |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
829 @Override |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
830 public void onFailure(Throwable caught) { |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
831 GWT.log("Error loading recommendations: " + |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
832 caught.getMessage()); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
833 } |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
834 |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
835 @Override |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
836 public void onSuccess(Artifact artifact) { |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
837 GWT.log("Created new artifact: " + artifact.getUuid()); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
838 createCollection(artifact); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
839 } |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
840 } |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
841 ); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
842 } |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
843 |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
844 |
3380
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
845 /** |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
846 * Clone a project (collection). |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
847 */ |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
848 protected void cloneArtifact(final String uuid, Collection newCollection) { |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
849 Config config = Config.getInstance(); |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
850 final String locale = config.getLocale(); |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
851 |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
852 // Find out which factory to use for cloning. |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
853 CollectionItem master = newCollection.getItem(0); |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
854 getArtifactService.getArtifact( |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
855 locale, |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
856 master.identifier(), |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
857 master.hash(), |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
858 new AsyncCallback<Artifact>() { |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
859 @Override |
3380
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
860 public void onFailure(Throwable caught) { |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
861 SC.warn(MSG.getString(caught.getMessage())); |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
862 } |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
863 |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
864 @Override |
3380
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
865 public void onSuccess(Artifact artifact) { |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
866 cloneArtifact(uuid, artifact, locale); |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
867 } |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
868 }); |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
869 } |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
870 |
f6519c699fca
Respect factory of cloned artifact when cloning.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2446
diff
changeset
|
871 |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
872 protected void createCollection(final Artifact artifact) { |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
873 Config config = Config.getInstance(); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
874 final String locale = config.getLocale(); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
875 final String ownerid = user.identifier(); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
876 |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
877 createCollectionService.create( |
1425
bc06a671ef60
Removed the URL parameter from service calls. The service
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1391
diff
changeset
|
878 locale, |
bc06a671ef60
Removed the URL parameter from service calls. The service
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1391
diff
changeset
|
879 ownerid, |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
880 new AsyncCallback<Collection>() { |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
881 @Override |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
882 public void onFailure(Throwable caught) { |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
883 GWT.log("Could not create the new collection."); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
884 SC.warn(messages.getString(caught.getMessage())); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
885 } |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
886 |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
887 @Override |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
888 public void onSuccess(Collection collection) { |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
889 GWT.log("Successfully created a new collection."); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
890 addArtifactToCollection(artifact, collection); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
891 } |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
892 } |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
893 ); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
894 } |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
895 |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
896 |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
897 protected void addArtifactToCollection(Artifact a, Collection c) { |
1493
07b9404d7170
Removed unused method calls.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1425
diff
changeset
|
898 Config config = Config.getInstance(); |
07b9404d7170
Removed unused method calls.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1425
diff
changeset
|
899 final String locale = config.getLocale(); |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
900 |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
901 addArtifactService.add( |
1425
bc06a671ef60
Removed the URL parameter from service calls. The service
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1391
diff
changeset
|
902 c, a, locale, |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
903 new AsyncCallback<Collection>() { |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
904 @Override |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
905 public void onFailure(Throwable caught) { |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
906 GWT.log("An error occured while adding artifact."); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
907 SC.warn(messages.getString(caught.getMessage())); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
908 } |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
909 |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3473
diff
changeset
|
910 @Override |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
911 public void onSuccess(Collection newColl) { |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
912 String name = cloneCollection.getName(); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
913 if(name == null || name.equals("")) { |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
914 name = cloneCollection.identifier(); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
915 } |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
916 |
889
2c9c3448e499
Fixed some minor problems and strings in projectlist.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
887
diff
changeset
|
917 newColl.setName(messages.copy_of() + ": " + name); |
887
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
918 |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
919 updateCollectionName(newColl); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
920 if(cloneCollection.getTTL() == 0) { |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
921 newColl.setTTL(0); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
922 updateCollectionTTL(newColl); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
923 } |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
924 updateUserCollections(); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
925 } |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
926 } |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
927 ); |
6a27949c7022
Issue234/266: Added feature for duplicating projects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
885
diff
changeset
|
928 } |
4
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
929 } |
89976499e013
Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
930 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |