Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/FLYSHeader.java @ 8644:c15cebcf60da
Remove JavaScript greeting exception.
This fixes the Error "$wnd.unHighlight" is not a function
exception at startup. This apperantly did not do anything
(as the function does not exist) and was not necessary
(as everything works as expected) So just throw it away.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Fri, 27 Mar 2015 19:10:02 +0100 |
parents | 9f3ffb218bc0 |
children | 5e38e2924c07 |
rev | line source |
---|---|
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
9 package org.dive4elements.river.client.client.ui; |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
11 import com.google.gwt.core.client.GWT; |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
12 import com.google.gwt.i18n.client.LocaleInfo; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
13 import com.google.gwt.user.client.Window; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
14 import com.google.gwt.user.client.rpc.AsyncCallback; |
6602
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
15 import com.google.gwt.user.client.ui.HTML; |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
16 import com.smartgwt.client.types.Alignment; |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
17 import com.smartgwt.client.types.VerticalAlignment; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
18 import com.smartgwt.client.util.BooleanCallback; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
19 import com.smartgwt.client.util.SC; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
20 import com.smartgwt.client.widgets.Button; |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
21 import com.smartgwt.client.widgets.Img; |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 import com.smartgwt.client.widgets.Label; |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
23 import com.smartgwt.client.widgets.events.ClickEvent; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
24 import com.smartgwt.client.widgets.events.ClickHandler; |
6437
0341504e9deb
Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents:
5993
diff
changeset
|
25 import com.smartgwt.client.widgets.layout.HLayout; |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
26 |
6437
0341504e9deb
Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents:
5993
diff
changeset
|
27 import org.dive4elements.river.client.client.Config; |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
28 import org.dive4elements.river.client.client.FLYS; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
29 import org.dive4elements.river.client.client.FLYSConstants; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
30 import org.dive4elements.river.client.client.services.UserService; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
31 import org.dive4elements.river.client.client.services.UserServiceAsync; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
32 import org.dive4elements.river.client.shared.model.User; |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
33 |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
34 |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
35 /** |
6437
0341504e9deb
Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents:
5993
diff
changeset
|
36 * Header of the FLYS webpage/app. |
0341504e9deb
Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents:
5993
diff
changeset
|
37 * |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 */ |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 public class FLYSHeader extends HLayout { |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 /** The interface that provides the message resources. */ |
6437
0341504e9deb
Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents:
5993
diff
changeset
|
43 private final FLYSConstants MESSAGES = GWT.create(FLYSConstants.class); |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
44 |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
45 /** The height used for this header.*/ |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
46 public static final int HEIGHT = 56; |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
48 /** The height used for the images.*/ |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
49 public static final int IMG_HEIGHT = 50; |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
51 /** The user that is currently logged in. */ |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
52 private User currentUser; |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
53 |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
54 /** The label that displays the current logged in user. */ |
6437
0341504e9deb
Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents:
5993
diff
changeset
|
55 private final Label userText; |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
56 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
57 /** The button to log the current user out.*/ |
6437
0341504e9deb
Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents:
5993
diff
changeset
|
58 private final Button logout; |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
59 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
60 /** The button to open the project list.*/ |
6437
0341504e9deb
Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents:
5993
diff
changeset
|
61 private final Button projectList; |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
62 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
63 /** The button to switch between the english and german version.*/ |
6437
0341504e9deb
Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents:
5993
diff
changeset
|
64 private final Button language; |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
65 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
66 /** The button to open an info panel.*/ |
6437
0341504e9deb
Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents:
5993
diff
changeset
|
67 private final Button info; |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
68 |
6437
0341504e9deb
Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents:
5993
diff
changeset
|
69 private final UserServiceAsync userService = |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
70 GWT.create(UserService.class); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
71 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
72 /** An instance to FLYS.*/ |
6437
0341504e9deb
Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents:
5993
diff
changeset
|
73 private final FLYS flys; |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
74 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
75 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
76 public FLYSHeader(FLYS flys) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
77 this.flys = flys; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
78 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
79 String guest = MESSAGES.user() + " " + MESSAGES.guest(); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
80 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
81 userText = new Label(guest); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
82 projectList = new Button(MESSAGES.manage_projects()); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
83 logout = new Button(MESSAGES.logout()); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
84 language = new Button(MESSAGES.switch_language()); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
85 info = new Button(MESSAGES.info()); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
86 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
87 projectList.addClickHandler(new ClickHandler() { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
88 @Override |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
89 public void onClick(ClickEvent event) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
90 GWT.log("Clicked 'Open ProjectList' button."); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
91 getFlys().openProjectList(); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
92 } |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
93 }); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
94 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
95 logout.addClickHandler(new ClickHandler() { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
96 @Override |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
97 public void onClick(ClickEvent event) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
98 GWT.log("Clicked 'logout' button."); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
99 userService.logoutCurrentUser(new AsyncCallback<Void>() { |
6437
0341504e9deb
Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents:
5993
diff
changeset
|
100 @Override |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
101 public void onFailure(Throwable caught) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
102 } |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
103 |
6437
0341504e9deb
Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents:
5993
diff
changeset
|
104 @Override |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
105 public void onSuccess(Void result) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
106 /* Just reload the page. GGInAFilter is goint to redirect |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
107 * to the correct login page */ |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
108 Window.Location.reload(); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
109 } |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
110 }); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
111 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
112 } |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
113 }); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
114 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
115 language.addClickHandler(new ClickHandler() { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
116 @Override |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
117 public void onClick(ClickEvent event) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
118 LocaleInfo info = LocaleInfo.getCurrentLocale(); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
119 final String currentLocale = info.getLocaleName(); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
120 final String newLocale = currentLocale.equals("de") |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
121 ? "en" |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
122 : "de"; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
123 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
124 SC.confirm(MESSAGES.warning(), MESSAGES.warning_language(), |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
125 new BooleanCallback() { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
126 @Override |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
127 public void execute(Boolean value) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
128 if (value) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
129 switchLanguage(currentLocale, newLocale); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
130 } |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
131 } |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
132 }); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
133 } |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
134 }); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
135 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
136 info.addClickHandler(new ClickHandler() { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
137 @Override |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
138 public void onClick(ClickEvent event) { |
6437
0341504e9deb
Info-Button now leads to $WIKI_URL/Info. Ticket for authentication not implemented yet.
Christian Lins <christian.lins@intevation.de>
parents:
5993
diff
changeset
|
139 String wikiLink = Config.getInstance().getWikiUrl() + "/Info"; |
6546
7106f9b75004
Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents:
6437
diff
changeset
|
140 |
6602
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
141 // Create a form which contains the SAML session |
6546
7106f9b75004
Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents:
6437
diff
changeset
|
142 // for the user which is currently logged in |
6602
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
143 String html = WikiLinks.imageLinkForm( |
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
144 getFlys(), wikiLink, "", "wikiLinkForm"); |
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
145 HTML htmlObj = new HTML(html); |
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
146 info.addChild(htmlObj); |
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
147 fireWikiLinkSubmit(); |
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
148 htmlObj.removeFromParent(); |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
149 } |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
150 }); |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
151 init(); |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
152 } |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
153 |
6602
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
154 /** |
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
155 * Calls the JS submit() function on the dynamically added |
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
156 * wikiLinkForm. This is a workaround for a SmartGWT issue(?) that |
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
157 * clears all form fields when using DynamicForm.submit() or .submitForm(). |
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
158 */ |
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
159 protected native void fireWikiLinkSubmit() /*-{ |
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
160 $doc.wikiLinkForm.submit(); |
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
161 }-*/; |
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
162 |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
163 public void init() { |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
164 setStyleName("header"); |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
165 setWidth100(); |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
166 setHeight(HEIGHT); |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
167 setBackgroundColor("#a9c9e6"); |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
168 setLayoutLeftMargin(5); |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
169 setLayoutRightMargin(5); |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
170 |
1399 | 171 String baseUrl = GWT.getHostPageBaseURL(); |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
172 |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
173 Img flys = new Img( |
1399 | 174 baseUrl + MESSAGES.flysLogo(), |
175 50, | |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
176 IMG_HEIGHT); |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
177 |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
178 Img bfg = new Img( |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
179 baseUrl + MESSAGES.bfgLogoSmall(), |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
180 150, |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
181 IMG_HEIGHT); |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
182 |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
183 Label fullname = new Label(MESSAGES.fullname()); |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
184 fullname.setHeight(HEIGHT - IMG_HEIGHT); |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
185 fullname.setStyleName("fontBlackMid"); |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
186 |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
187 HLayout left = new HLayout(); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
188 left.setDefaultLayoutAlign(VerticalAlignment.CENTER); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
189 left.setMembersMargin(3); |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
190 left.addMember(flys); |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
191 left.addMember(fullname); |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
192 |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
193 HLayout right = new HLayout(); |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
194 right.setAlign(Alignment.RIGHT); |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
195 right.setDefaultLayoutAlign(Alignment.RIGHT); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
196 right.setDefaultLayoutAlign(VerticalAlignment.CENTER); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
197 right.setMembersMargin(3); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
198 right.setLayoutRightMargin(5); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
199 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
200 projectList.setStyleName("manageProjects"); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
201 userText.setStyleName("fontBlackSmall"); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
202 logout.setStyleName("fontLightSmall"); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
203 language.setStyleName("fontLightSmall"); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
204 info.setStyleName("fontLightSmall"); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
205 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
206 userText.setAlign(Alignment.RIGHT); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
207 userText.setWidth(200); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
208 logout.setWidth(70); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
209 info.setWidth(40); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
210 language.setWidth(70); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
211 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
212 left.addMember(projectList); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
213 if (this.flys.isProjectListVisible()) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
214 hideProjectButton(); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
215 } |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
216 else { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
217 showProjectButton(); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
218 } |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
219 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
220 right.addMember(userText); |
8503
9f3ffb218bc0
(issue1777) Hide logout button if it is configured.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
6602
diff
changeset
|
221 if (!Config.getInstance().getHideLogout()) { |
9f3ffb218bc0
(issue1777) Hide logout button if it is configured.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
6602
diff
changeset
|
222 right.addMember(logout); |
9f3ffb218bc0
(issue1777) Hide logout button if it is configured.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
6602
diff
changeset
|
223 } |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
224 right.addMember(language); |
6602
244beb29418e
Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents:
6558
diff
changeset
|
225 right.addMember(info); |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
226 right.addMember(bfg); |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
227 |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
228 addMember(left); |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
229 addMember(right); |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
230 } |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
231 |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
232 /** |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
233 * Returns the FLYS instance stored in this class. |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
234 * |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
235 * @return the flys instance. |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
236 */ |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
237 private FLYS getFlys() { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
238 return flys; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
239 } |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
240 |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
241 /** |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
242 * This method triggers the language switch between the <i>currentLocale</i> |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
243 * and the <i>newLocale</i>. The switch is done by replacing a "locale=" |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
244 * parameter in the url of the application. We could use the GWT UrlBuilder |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
245 * class to create a new URL, but - in my eyes - this class is a bit |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
246 * inconsistens in its implementation. |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
247 * |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
248 * @param currentLocale The current locale string (e.g. "en"). |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
249 * @param newLocale The new locale string (e.g. "de"). |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
250 */ |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
251 private void switchLanguage(String currentLocale, String newLocale) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
252 String newLocation = Window.Location.getHref(); |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
253 |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
254 if (newLocation.endsWith("/")) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
255 newLocation = newLocation.substring(0, newLocation.length()-1); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
256 } |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
257 |
4602
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
258 String replace = null; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
259 String replaceWith = null; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
260 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
261 if (newLocation.indexOf("&locale=") >= 0) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
262 replace = currentLocale.equals("de") |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
263 ? "&locale=de" |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
264 : "&locale=en"; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
265 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
266 replaceWith = "&locale=" + newLocale; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
267 } |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
268 else if (newLocation.indexOf("?locale=") >= 0) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
269 replace = currentLocale.equals("de") |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
270 ? "?locale=de" |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
271 : "?locale=en"; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
272 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
273 replaceWith = "?locale=" + newLocale; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
274 } |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
275 else { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
276 newLocation += newLocation.indexOf("?") >= 0 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
277 ? "&locale=" + newLocale |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
278 : "?locale=" + newLocale; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
279 } |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
280 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
281 if (replace != null && replaceWith != null) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
282 newLocation = newLocation.replace(replace, replaceWith); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
283 } |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
284 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
285 Window.open(newLocation, "_self", ""); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
286 } |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
287 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
288 /** |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
289 * Update the text field that shows the current user. If no user is |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
290 * currently logged in, the text will display {@link FLYSConstants.guest()}. |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
291 */ |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
292 private void updateCurrentUser() { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
293 String name = currentUser != null |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
294 ? currentUser.getName() |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
295 : MESSAGES.guest(); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
296 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
297 GWT.log("Update the current user: " + name); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
298 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
299 String username = MESSAGES.user() + " " + name; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
300 userText.setContents(username); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
301 } |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
302 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
303 /** |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
304 * Set the current {@link User} and call {@link updateCurrentUser()} |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
305 * afterwards. |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
306 * |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
307 * @param user the new user. |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
308 */ |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
309 public void setCurrentUser(User currentUser) { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
310 this.currentUser = currentUser; |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
311 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
312 updateCurrentUser(); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
313 } |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
314 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
315 public void hideProjectButton() { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
316 this.projectList.hide(); |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
317 } |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
318 |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
319 public void showProjectButton() { |
33bb8bf3899a
Merge the MainMenu into the FLYSHeader
Björn Ricks <bjoern.ricks@intevation.de>
parents:
1401
diff
changeset
|
320 this.projectList.show(); |
27
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
321 } |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
322 } |
e4155a6833a9
Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
323 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |