annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/WikiLinks.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 bef9937a2dd9
children 5e38e2924c07
rev   line source
6197
cefad5546373 Fix Non-UTF8 Umlaut characters.
Christian Lins <christian.lins@intevation.de>
parents: 6189
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
6189
4365320750bb Add helpers for links into the Flys wiki with optional SSO support.
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
2 * Software engineering by Intevation GmbH
4365320750bb Add helpers for links into the Flys wiki with optional SSO support.
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
3 *
4365320750bb Add helpers for links into the Flys wiki with optional SSO support.
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
4365320750bb Add helpers for links into the Flys wiki with optional SSO support.
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
4365320750bb Add helpers for links into the Flys wiki with optional SSO support.
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
6 * documentation coming with Dive4Elements River for details.
4365320750bb Add helpers for links into the Flys wiki with optional SSO support.
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
7 */
4365320750bb Add helpers for links into the Flys wiki with optional SSO support.
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
8
4365320750bb Add helpers for links into the Flys wiki with optional SSO support.
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
9 package org.dive4elements.river.client.client.ui;
4365320750bb Add helpers for links into the Flys wiki with optional SSO support.
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
10
6546
7106f9b75004 Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents: 6512
diff changeset
11 import com.google.gwt.core.client.GWT;
7106f9b75004 Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents: 6512
diff changeset
12 import com.google.gwt.safehtml.shared.SafeHtmlUtils;
6272
24be0cc1c67c Replaced the 'old school' wiki link buttons with default links.
Raimund Renkert <rrenkert@intevation.de>
parents: 6230
diff changeset
13 import com.smartgwt.client.types.FormMethod;
24be0cc1c67c Replaced the 'old school' wiki link buttons with default links.
Raimund Renkert <rrenkert@intevation.de>
parents: 6230
diff changeset
14 import com.smartgwt.client.widgets.form.DynamicForm;
6546
7106f9b75004 Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents: 6512
diff changeset
15 import com.smartgwt.client.widgets.form.fields.HiddenItem;
6272
24be0cc1c67c Replaced the 'old school' wiki link buttons with default links.
Raimund Renkert <rrenkert@intevation.de>
parents: 6230
diff changeset
16 import com.smartgwt.client.widgets.form.fields.LinkItem;
24be0cc1c67c Replaced the 'old school' wiki link buttons with default links.
Raimund Renkert <rrenkert@intevation.de>
parents: 6230
diff changeset
17 import com.smartgwt.client.widgets.form.fields.events.ClickEvent;
24be0cc1c67c Replaced the 'old school' wiki link buttons with default links.
Raimund Renkert <rrenkert@intevation.de>
parents: 6230
diff changeset
18 import com.smartgwt.client.widgets.form.fields.events.ClickHandler;
6189
4365320750bb Add helpers for links into the Flys wiki with optional SSO support.
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
19
4365320750bb Add helpers for links into the Flys wiki with optional SSO support.
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
20 import org.dive4elements.river.client.client.FLYS;
6546
7106f9b75004 Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents: 6512
diff changeset
21 import org.dive4elements.river.client.shared.model.User;
6189
4365320750bb Add helpers for links into the Flys wiki with optional SSO support.
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
22
4365320750bb Add helpers for links into the Flys wiki with optional SSO support.
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
23 public class WikiLinks
4365320750bb Add helpers for links into the Flys wiki with optional SSO support.
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
24 {
6602
244beb29418e Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents: 6546
diff changeset
25 public static String imageLinkForm(FLYS instance, String url, String imageUrl, String formName) {
6230
954dbb0806f3 Add imageLinkHTML function to WikiLinks class
Andre Heinecke <aheinecke@intevation.de>
parents: 6197
diff changeset
26 String saml = null;
954dbb0806f3 Add imageLinkHTML function to WikiLinks class
Andre Heinecke <aheinecke@intevation.de>
parents: 6197
diff changeset
27 if (instance != null && instance.getCurrentUser() != null) {
954dbb0806f3 Add imageLinkHTML function to WikiLinks class
Andre Heinecke <aheinecke@intevation.de>
parents: 6197
diff changeset
28 saml = instance.getCurrentUser().getSamlXMLBase64();
954dbb0806f3 Add imageLinkHTML function to WikiLinks class
Andre Heinecke <aheinecke@intevation.de>
parents: 6197
diff changeset
29 }
954dbb0806f3 Add imageLinkHTML function to WikiLinks class
Andre Heinecke <aheinecke@intevation.de>
parents: 6197
diff changeset
30 String quotedUrl = SafeHtmlUtils.htmlEscape(url);
954dbb0806f3 Add imageLinkHTML function to WikiLinks class
Andre Heinecke <aheinecke@intevation.de>
parents: 6197
diff changeset
31 String quotedImage = SafeHtmlUtils.htmlEscape(imageUrl);
954dbb0806f3 Add imageLinkHTML function to WikiLinks class
Andre Heinecke <aheinecke@intevation.de>
parents: 6197
diff changeset
32
954dbb0806f3 Add imageLinkHTML function to WikiLinks class
Andre Heinecke <aheinecke@intevation.de>
parents: 6197
diff changeset
33 if (saml != null) {
954dbb0806f3 Add imageLinkHTML function to WikiLinks class
Andre Heinecke <aheinecke@intevation.de>
parents: 6197
diff changeset
34 return "<form method=\"POST\" target=\"_blank\" action=\""
6602
244beb29418e Fix for SAML authentication in FLYSHeader's Info button (#702).
Christian Lins <christian.lins@intevation.de>
parents: 6546
diff changeset
35 + quotedUrl + "\" " + "name=\"" + formName + "\">"
6230
954dbb0806f3 Add imageLinkHTML function to WikiLinks class
Andre Heinecke <aheinecke@intevation.de>
parents: 6197
diff changeset
36 + "<input type=\"hidden\" name=\"saml\" value=\""
954dbb0806f3 Add imageLinkHTML function to WikiLinks class
Andre Heinecke <aheinecke@intevation.de>
parents: 6197
diff changeset
37 + SafeHtmlUtils.htmlEscape(saml) + "\">"
954dbb0806f3 Add imageLinkHTML function to WikiLinks class
Andre Heinecke <aheinecke@intevation.de>
parents: 6197
diff changeset
38 + "<input type=\"image\" src=\""+ quotedImage + "\">"
954dbb0806f3 Add imageLinkHTML function to WikiLinks class
Andre Heinecke <aheinecke@intevation.de>
parents: 6197
diff changeset
39 + "</form>";
954dbb0806f3 Add imageLinkHTML function to WikiLinks class
Andre Heinecke <aheinecke@intevation.de>
parents: 6197
diff changeset
40 }
954dbb0806f3 Add imageLinkHTML function to WikiLinks class
Andre Heinecke <aheinecke@intevation.de>
parents: 6197
diff changeset
41 else {
954dbb0806f3 Add imageLinkHTML function to WikiLinks class
Andre Heinecke <aheinecke@intevation.de>
parents: 6197
diff changeset
42 return "<a href=\"" + quotedUrl + "\"><img src=\"" + quotedImage + "\"></a>";
954dbb0806f3 Add imageLinkHTML function to WikiLinks class
Andre Heinecke <aheinecke@intevation.de>
parents: 6197
diff changeset
43 }
954dbb0806f3 Add imageLinkHTML function to WikiLinks class
Andre Heinecke <aheinecke@intevation.de>
parents: 6197
diff changeset
44 }
954dbb0806f3 Add imageLinkHTML function to WikiLinks class
Andre Heinecke <aheinecke@intevation.de>
parents: 6197
diff changeset
45
6546
7106f9b75004 Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents: 6512
diff changeset
46 public static DynamicForm linkDynamicForm(FLYS flys, String url, String text) {
7106f9b75004 Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents: 6512
diff changeset
47 User currentUser = flys.getCurrentUser();
6189
4365320750bb Add helpers for links into the Flys wiki with optional SSO support.
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
48 String quotedUrl = SafeHtmlUtils.htmlEscape(url);
4365320750bb Add helpers for links into the Flys wiki with optional SSO support.
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
49 String quotedText = SafeHtmlUtils.htmlEscape(text);
6546
7106f9b75004 Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents: 6512
diff changeset
50
7106f9b75004 Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents: 6512
diff changeset
51 if (currentUser != null) {
7106f9b75004 Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents: 6512
diff changeset
52 String saml = currentUser.getSamlXMLBase64();
6986
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
53 if (saml != null) {
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
54 final DynamicForm form = new DynamicForm();
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
55 form.setMethod(FormMethod.POST);
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
56 form.setTarget("_blank");
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
57 form.setAction(quotedUrl);
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
58 form.setCanSubmit(true);
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
59 LinkItem item = new LinkItem("saml");
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
60 item.setTextBoxStyle("font-size: large;");
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
61 item.setShowTitle(false);
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
62 item.setLinkTitle(quotedText);
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
63 item.setValue(SafeHtmlUtils.htmlEscape(saml));
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
64 item.addClickHandler(new ClickHandler() {
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
65 @Override
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
66 public void onClick(ClickEvent event) {
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
67 form.submitForm();
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
68 }
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
69 });
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
70 form.setFields(item);
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
71 return form;
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
72 }
6189
4365320750bb Add helpers for links into the Flys wiki with optional SSO support.
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
73 }
6986
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
74 DynamicForm form = new DynamicForm();
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
75 LinkItem item = new LinkItem(quotedText);
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
76 item.setShowTitle(false);
7943
bef9937a2dd9 Fixed "pegelinfo"-wiki links.
Raimund Renkert <rrenkert@intevation.de>
parents: 6986
diff changeset
77 item.setLinkTitle(quotedText);
6986
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
78 item.setTarget(quotedUrl);
7943
bef9937a2dd9 Fixed "pegelinfo"-wiki links.
Raimund Renkert <rrenkert@intevation.de>
parents: 6986
diff changeset
79 form.setItems(item);
6986
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
80 return form;
6189
4365320750bb Add helpers for links into the Flys wiki with optional SSO support.
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
81 }
6546
7106f9b75004 Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents: 6512
diff changeset
82
7106f9b75004 Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents: 6512
diff changeset
83 public static DynamicForm dynamicForm(FLYS flys, String url) {
7106f9b75004 Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents: 6512
diff changeset
84 User currentUser = flys.getCurrentUser();
7106f9b75004 Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents: 6512
diff changeset
85 String quotedUrl = SafeHtmlUtils.htmlEscape(url);
7106f9b75004 Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents: 6512
diff changeset
86
7106f9b75004 Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents: 6512
diff changeset
87 if (currentUser != null) {
7106f9b75004 Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents: 6512
diff changeset
88 String saml = currentUser.getSamlXMLBase64();
6986
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
89 if (saml != null) {
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
90 saml = SafeHtmlUtils.htmlEscape(saml);
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
91 GWT.log("saml=" + saml);
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
92 DynamicForm form = new DynamicForm();
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
93 form.setID("wikiDynamicForm");
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
94 form.setMethod(FormMethod.POST);
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
95 form.setTarget("_blank");
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
96 form.setAction(quotedUrl);
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
97 form.setCanSubmit(true);
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
98 HiddenItem item = new HiddenItem("saml");
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
99 item.setDefaultValue(saml);
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
100 item.setValue(saml);
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
101 form.setFields(item);
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
102 //form.setValue("saml", saml);
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
103 return form;
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
104 }
6546
7106f9b75004 Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents: 6512
diff changeset
105 }
6986
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
106 DynamicForm form = new DynamicForm();
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
107 form.setTarget("_blank");
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
108 form.setAction(quotedUrl);
e562a9a42495 GWT client: Do not assumed there is always a SAML ticket when generating Wiki links.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6602
diff changeset
109 return form;
6546
7106f9b75004 Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents: 6512
diff changeset
110 }
6189
4365320750bb Add helpers for links into the Flys wiki with optional SSO support.
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
111 }

http://dive4elements.wald.intevation.org