From 2b75481b9fd84fee0e8791a3c301193684d18ede Mon Sep 17 00:00:00 2001
From: dfurrer <none@none>
Date: Tue, 3 Nov 2015 10:29:25 +0100
Subject: [PATCH] OO-1658: contextHelp cleanup

---
 .../contextHelp/ContextHelpComponent.java     | 36 +++-----------
 .../ContextHelpComponentRenderer.java         | 33 +++++++------
 .../olat/ims/cp/ui/CPContentController.java   |  7 ++-
 .../olat/ims/cp/ui/_chelp/cpeditorhelp.html   | 49 -------------------
 .../ims/qti/export/_chelp/arch-test-col.html  | 24 ---------
 .../ims/qti/export/_chelp/arch-test-csv.html  | 16 ------
 .../ims/qti/export/_content/delimchoose.html  |  1 -
 .../qti/export/_content/optionschoose.html    |  1 -
 .../collect/EPCollectStepForm03.java          |  2 +-
 .../artefacts/collect/_chelp/reflexion.html   |  2 -
 10 files changed, 30 insertions(+), 141 deletions(-)
 delete mode 100644 src/main/java/org/olat/ims/cp/ui/_chelp/cpeditorhelp.html
 delete mode 100644 src/main/java/org/olat/ims/qti/export/_chelp/arch-test-col.html
 delete mode 100644 src/main/java/org/olat/ims/qti/export/_chelp/arch-test-csv.html
 delete mode 100644 src/main/java/org/olat/portfolio/ui/artefacts/collect/_chelp/reflexion.html

diff --git a/src/main/java/org/olat/core/commons/contextHelp/ContextHelpComponent.java b/src/main/java/org/olat/core/commons/contextHelp/ContextHelpComponent.java
index b4124915f14..56eb3eba569 100644
--- a/src/main/java/org/olat/core/commons/contextHelp/ContextHelpComponent.java
+++ b/src/main/java/org/olat/core/commons/contextHelp/ContextHelpComponent.java
@@ -37,12 +37,9 @@ package org.olat.core.commons.contextHelp;
  * frentix GmbH, http://www.frentix.com
  * <p>
  */
-import java.util.Locale;
-
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.AbstractComponent;
 import org.olat.core.gui.components.ComponentRenderer;
-import org.olat.core.util.Util;
 
 /**
  * 
@@ -53,13 +50,14 @@ import org.olat.core.util.Util;
  *
  */
 public class ContextHelpComponent extends AbstractComponent {
-	
-	private static final ComponentRenderer RENDERER = new ContextHelpComponentRenderer();
-	
-	private final String hoverTextKey;
-	private final String packageName;
-	private final String pageName;
-	
+
+	private static ComponentRenderer RENDERER ;
+
+	public ContextHelpComponent(String name) {
+		super(name);
+		RENDERER = new ContextHelpComponentRenderer(name);
+	}
+
 	/**
 	 * 
 	 * @param name Name of the component
@@ -68,25 +66,7 @@ public class ContextHelpComponent extends AbstractComponent {
 	 * @param hoverTextKey i18n key of the tooltip
 	 * @param locale Locale of the user
 	 */
-	public ContextHelpComponent(String name, String packageName, String pageName, String hoverTextKey, Locale locale) {
-		super(name, Util.createPackageTranslator(packageName, locale, null));
-		setDomReplacementWrapperRequired(false);
-		this.pageName = pageName;
-		this.packageName = packageName;
-		this.hoverTextKey = hoverTextKey;
-	}
 
-	public String getHoverTextKey() {
-		return hoverTextKey;
-	}
-
-	public String getPackageName() {
-		return packageName;
-	}
-
-	public String getPageName() {
-		return pageName;
-	}
 
 	@Override
 	protected void doDispatchRequest(UserRequest ureq) {
diff --git a/src/main/java/org/olat/core/commons/contextHelp/ContextHelpComponentRenderer.java b/src/main/java/org/olat/core/commons/contextHelp/ContextHelpComponentRenderer.java
index 1ee316d7574..bc514dff9c8 100644
--- a/src/main/java/org/olat/core/commons/contextHelp/ContextHelpComponentRenderer.java
+++ b/src/main/java/org/olat/core/commons/contextHelp/ContextHelpComponentRenderer.java
@@ -19,7 +19,11 @@
  */
 package org.olat.core.commons.contextHelp;
 
+import java.util.Locale;
+
 import org.apache.commons.lang.StringEscapeUtils;
+import org.olat.core.CoreSpringFactory;
+import org.olat.core.commons.services.help.HelpModule;
 import org.olat.core.gui.components.Component;
 import org.olat.core.gui.components.DefaultComponentRenderer;
 import org.olat.core.gui.render.RenderResult;
@@ -38,25 +42,24 @@ import org.olat.core.gui.translator.Translator;
  */
 public class ContextHelpComponentRenderer extends DefaultComponentRenderer {
 
+	private final String page;
+
+	public ContextHelpComponentRenderer(String page) {
+		this.page = page;
+	}
+
 	@Override
 	public void render(Renderer renderer, StringOutput sb, Component source, URLBuilder ubu,
 			Translator translator, RenderResult renderResult, String[] args) {
 
-		ContextHelpComponent cmp = (ContextHelpComponent)source;
-		String hoverTextKey = cmp.getHoverTextKey();
-		String packageName = cmp.getPackageName();
-		String pageName = cmp.getPageName();
-		String cId = cmp.getDispatchID();
-
-		String hooverText = translator.translate(hoverTextKey);
-		if (hooverText != null) {
-			hooverText = StringEscapeUtils.escapeHtml(hooverText);
-		}
-		sb.append("<a id='").append(cId).append("' href=\"javascript:contextHelpWindow('");
-		Renderer.renderNormalURI(sb, "help/");
-		sb.append(translator.getLocale().toString()).append("/").append(packageName).append("/").append(pageName)
-		  .append("')\" title=\"").append(hooverText).append("\" class=\"o_chelp\"><i class='o_icon o_icon_help'></i> ")
-		  .append(translator.translate("help"))
+		HelpModule helpModule = CoreSpringFactory.getImpl(HelpModule.class);
+		Locale locale = renderer.getTranslator().getLocale();
+		String title = StringEscapeUtils.escapeHtml(renderer.getTranslator().translate("help.button"));
+		String url = helpModule.getHelpProvider().getURL(locale, page);
+		  sb.append("<a href=\"").append(url)
+		  .append("\" class=\"o_chelp\" target=\"_blank\" title=\"").append(title).append("\"><i class='o_icon o_icon_help'></i> ")
+		  .append(renderer.getTranslator().translate("help"))
 		  .append("</a>");
+
 	}
 }
diff --git a/src/main/java/org/olat/ims/cp/ui/CPContentController.java b/src/main/java/org/olat/ims/cp/ui/CPContentController.java
index edba7d97979..e73b706d97f 100644
--- a/src/main/java/org/olat/ims/cp/ui/CPContentController.java
+++ b/src/main/java/org/olat/ims/cp/ui/CPContentController.java
@@ -104,10 +104,9 @@ public class CPContentController extends BasicController {
 		previewLink.setIconLeftCSS("o_icon o_icon-lg o_icon_preview");
 		previewLink.setTooltip(translate("contentcontroller.previewlink_title"));
 		toolbar.addTool(previewLink, Align.right);
-		
-		ContextHelpComponent contextHelp = new ContextHelpComponent("cpeditorhelp",
-				"org.olat.ims.cp.ui", "cpeditorhelp.html", "chelp.cpeditorhelp.hover", getLocale());
-		
+
+		ContextHelpComponent contextHelp = new ContextHelpComponent("CP Editor");
+
 		toolbar.addTool(contextHelp, Align.right);
 	}
 
diff --git a/src/main/java/org/olat/ims/cp/ui/_chelp/cpeditorhelp.html b/src/main/java/org/olat/ims/cp/ui/_chelp/cpeditorhelp.html
deleted file mode 100644
index 2c3fc50134b..00000000000
--- a/src/main/java/org/olat/ims/cp/ui/_chelp/cpeditorhelp.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<p>
-	$r.translate("chelp.cpeditorhelp.intro")
-</p>
-<p>
-	<a href="http://www.imsglobal.org/content/packaging/" target="_blank"><i class="o_icon o_icon_link_extern"> </i> http://www.imsglobal.org/content/packaging/</a>
-</p>
-<p>
-	$r.translate("chelp.cpeditorhelp.toolbar.left")
-	<ul>
-		<li>$r.translate("cptreecontroller.newlink_title")</li>
-		<li>$r.translate("cptreecontroller.copylink_title")</li>
-		<li>$r.translate("cptreecontroller.importlink_title")</li>
-		<li>$r.translate("cptreecontroller.deletelink_title")</li>
-	</ul>
-</p>
-<p>	
-	$r.translate("chelp.cpeditorhelp.toolbar.right")
-	<ul>
-		<li>$r.translate("contentcontroller.previewlink_title")</li>
-		<li>$r.translate("contentcontroller.editlink_title")</li>
-		<li>$r.translate("help")</li>
-	</ul>	
-</p>
-
-<hr />
-
-<h3><i class="o_icon o_icon_add"> </i> $r.translate("chelp.cpeditorhelp.add.title")</h3>	
-<p>$r.translate("chelp.cpeditorhelp.add")</p>
-
-<h3><i class="o_icon o_icon_copy"> </i> $r.translate("chelp.cpeditorhelp.copy.title")</h3>	
-<p>$r.translate("chelp.cpeditorhelp.copy")</p>
-
-<h3><i class="o_icon o_icon_import"> </i> $r.translate("chelp.cpeditorhelp.import.title")</h3>	
-<p>$r.translate("chelp.cpeditorhelp.import")</p>
-
-<h3>$r.translate("chelp.cpeditorhelp.move.title")</h3>	
-<p>$r.translate("chelp.cpeditorhelp.move")</p>
-
-<h3><i class="o_icon o_icon_delete"> </i> $r.translate("chelp.cpeditorhelp.delete.title")</h3>	
-<p>$r.translate("chelp.cpeditorhelp.delete")</p>
-
-<h3>$r.translate("chelp.cpeditorhelp.rename.title")</h3>	
-<p>$r.translate("chelp.cpeditorhelp.rename")</p>
-
-<h3><i class="o_icon o_icon_edit"> </i> $r.translate("chelp.cpeditorhelp.edit.title")</h3>	
-<p>$r.translate("chelp.cpeditorhelp.edit")</p>
-
-<h3><i class="o_icon o_icon_preview"> </i> $r.translate("chelp.cpeditorhelp.preview.title")</h3>	
-<p>$r.translate("chelp.cpeditorhelp.preview")</p>
\ No newline at end of file
diff --git a/src/main/java/org/olat/ims/qti/export/_chelp/arch-test-col.html b/src/main/java/org/olat/ims/qti/export/_chelp/arch-test-col.html
deleted file mode 100644
index 4c13f4c1026..00000000000
--- a/src/main/java/org/olat/ims/qti/export/_chelp/arch-test-col.html
+++ /dev/null
@@ -1,24 +0,0 @@
-$r.translate("chelp.col1") $r.translate("chelp.col2")
-<br />
-<br />
-$r.translate("chelp.col3") $r.translate("chelp.col4")
-<br />
-<br />
-$r.translate("chelp.col5") $r.translate("chelp.col6") $r.translate("chelp.col7")
-<br />
-<br />
-$r.translate("chelp.col20")
-<br />
-$r.translate("chelp.col21")
-<br />
-$r.translate("chelp.col22")
-<br />
-$r.translate("chelp.col23")
-<br />
-$r.translate("chelp.col24")
-<br />
-<br />
-$r.translate("chelp.col8")
-<br />
-<br />
-$r.translate("chelp.col9")
diff --git a/src/main/java/org/olat/ims/qti/export/_chelp/arch-test-csv.html b/src/main/java/org/olat/ims/qti/export/_chelp/arch-test-csv.html
deleted file mode 100644
index e2c82e73ede..00000000000
--- a/src/main/java/org/olat/ims/qti/export/_chelp/arch-test-csv.html
+++ /dev/null
@@ -1,16 +0,0 @@
-$r.translate("chelp.csv1")
-<br />
-<br />
-$r.translate("chelp.csv2")
-<br />
-<br />
-$r.translate("chelp.csv3")
-<br />
-<br />
-$r.translate("chelp.csv4")
-<br />
-<br />
-$r.translate("chelp.csv5")
-<br />
-<br />
-$r.translate("chelp.csv6")
diff --git a/src/main/java/org/olat/ims/qti/export/_content/delimchoose.html b/src/main/java/org/olat/ims/qti/export/_content/delimchoose.html
index 89a992bf860..0cc97f80d9d 100644
--- a/src/main/java/org/olat/ims/qti/export/_content/delimchoose.html
+++ b/src/main/java/org/olat/ims/qti/export/_content/delimchoose.html
@@ -1,4 +1,3 @@
-$r.contextHelpWithWrapper("org.olat.ims.qti.export","arch-test-csv.html","help.arch-test-csv")
 $r.render("backLink")
 <br />
 <br />
diff --git a/src/main/java/org/olat/ims/qti/export/_content/optionschoose.html b/src/main/java/org/olat/ims/qti/export/_content/optionschoose.html
index 40332c92b4b..58e592975db 100644
--- a/src/main/java/org/olat/ims/qti/export/_content/optionschoose.html
+++ b/src/main/java/org/olat/ims/qti/export/_content/optionschoose.html
@@ -8,7 +8,6 @@ var boxes = $('o_optionchoose_form').getElementsByTagName("input");
 }
 /* ]]> */
 </script>
-$r.contextHelpWithWrapper("org.olat.ims.qti.export","arch-test-col.html","help.arch-test-col")
 $r.render("backLink")
 <br />
 <br />
diff --git a/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStepForm03.java b/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStepForm03.java
index 92a31bed30e..9486bafde8c 100644
--- a/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStepForm03.java
+++ b/src/main/java/org/olat/portfolio/ui/artefacts/collect/EPCollectStepForm03.java
@@ -131,7 +131,7 @@ public class EPCollectStepForm03 extends StepFormBasicController {
 	@Override
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
 		setFormDescription("step3.short.descr");
-		setFormContextHelp("org.olat.portfolio.ui.artefacts.collect", "reflexion.html", "step3.chelp.hover");
+		setFormContextHelp("Personal Menu#");
 
 		if (showNoReflexionOnStructLinkYetWarning) {
 			uifactory.addStaticTextElement("hint", "info.no.reflexion.yet", "", formLayout);
diff --git a/src/main/java/org/olat/portfolio/ui/artefacts/collect/_chelp/reflexion.html b/src/main/java/org/olat/portfolio/ui/artefacts/collect/_chelp/reflexion.html
deleted file mode 100644
index 99299343bdc..00000000000
--- a/src/main/java/org/olat/portfolio/ui/artefacts/collect/_chelp/reflexion.html
+++ /dev/null
@@ -1,2 +0,0 @@
-$r.translate("chelp.reflexion.intro") <br/>
-$r.translate("chelp.reflexion.detail") <br/>
\ No newline at end of file
-- 
GitLab