You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by wo...@apache.org on 2009/04/17 20:49:34 UTC
svn commit: r766114 - in /portals/jetspeed-2/portal/trunk:
applications/jetspeed/src/main/webapp/WEB-INF/
components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/
jetspeed-api/src/main/java/org/apache/jetspeed/layout/
Author: woonsan
Date: Fri Apr 17 18:49:33 2009
New Revision: 766114
URL: http://svn.apache.org/viewvc?rev=766114&view=rev
Log:
JS2-961: Adding dojo configurations for dojo-enabled portlet contents.
Modified:
portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/WEB-INF/jetspeed_macros.vm
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolImpl.java
portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/JetspeedPowerTool.java
Modified: portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/WEB-INF/jetspeed_macros.vm
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/WEB-INF/jetspeed_macros.vm?rev=766114&r1=766113&r2=766114&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/WEB-INF/jetspeed_macros.vm (original)
+++ portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/WEB-INF/jetspeed_macros.vm Fri Apr 17 18:49:33 2009
@@ -78,6 +78,11 @@
#macro (includeHeaderResource)
#acquireHeaderResource()
$resourceHeader.getContent()
+#if ( $jetspeed.dojoEnabled )
+<script language="javascript">
+$jetspeed.dojoConfigurations
+</script>
+#end
#set($headElements = $jetspeed.headElements)
#foreach($kvPair in $headElements)
#set($headElemHtml = $jetspeed.getElementHtmlString($kvPair.value))
@@ -95,6 +100,16 @@
#macro (desktopIncludeHeaderContent)
#acquireHeaderResource()
$resourceHeader.getContent()
+#if ( $jetspeed.dojoEnabled )
+<script language="javascript">
+$jetspeed.dojoConfigurations
+</script>
+#end
+#set($headElements = $jetspeed.headElements)
+#foreach($kvPair in $headElements)
+#set($headElemHtml = $jetspeed.getElementHtmlString($kvPair.value))
+$headElemHtml
+#end
#end
#macro (acquireHeaderResource)
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolImpl.java?rev=766114&r1=766113&r2=766114&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolImpl.java Fri Apr 17 18:49:33 2009
@@ -49,6 +49,7 @@
import org.apache.jetspeed.locator.TemplateLocatorException;
import org.apache.jetspeed.om.page.ContentFragment;
import org.apache.jetspeed.om.page.Page;
+import org.apache.jetspeed.portlet.HeaderPhaseSupportConstants;
import org.apache.jetspeed.request.RequestContext;
import org.apache.jetspeed.util.ArgUtil;
import org.apache.jetspeed.util.DOMUtils;
@@ -854,5 +855,43 @@
{
return getHeadElements(getCurrentFragment());
}
+
+ public boolean isDojoEnabled(ContentFragment f)
+ {
+ try
+ {
+ for (KeyValue<String, Element> kvPair : getHeadElements(f))
+ {
+ Element element = kvPair.getValue();
+
+ if (element.hasAttribute(HeaderPhaseSupportConstants.HEAD_ELEMENT_CONTRIBUTION_MERGE_HINT_ATTRIBUTE)
+ && HeaderPhaseSupportConstants.HEAD_ELEMENT_CONTRIBUTION_MERGE_HINT_KEY_DOJO_JS_INCLUDE.equals(element.getAttribute(HeaderPhaseSupportConstants.HEAD_ELEMENT_CONTRIBUTION_MERGE_HINT_ATTRIBUTE)))
+ {
+ return true;
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ handleError(e, e.toString(), f);
+ }
+
+ return false;
+ }
+
+ public boolean isDojoEnabled()
+ {
+ return isDojoEnabled(getCurrentFragment());
+ }
+ public String getDojoConfigurations()
+ {
+ HttpServletRequest request = getRequestContext().getRequest();
+ StringBuilder sb = new StringBuilder(128);
+ sb.append("var djConfig = {jetspeed: {}};\r\n");
+ sb.append("djConfig.baseScriptUri = \"" + request.getContextPath() + "/javascript/dojo/\";\r\n");
+ sb.append("djConfig.jetspeed.servletPath = \"" + request.getServletPath() + "\";");
+ return sb.toString();
+ }
+
}
Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/JetspeedPowerTool.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/JetspeedPowerTool.java?rev=766114&r1=766113&r2=766114&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/JetspeedPowerTool.java (original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/JetspeedPowerTool.java Fri Apr 17 18:49:33 2009
@@ -261,6 +261,26 @@
* @return
* @throws Exception
*/
- List<KeyValue<String, Element>> getHeadElements() throws Exception;;
+ List<KeyValue<String, Element>> getHeadElements() throws Exception;
+
+ /**
+ * Returns true if any portlet contributes dojo include head element.
+ * @param f
+ * @return
+ */
+ boolean isDojoEnabled(ContentFragment f);
+
+ /**
+ * Returns true if any portlet contributes dojo include head element.
+ * @param f
+ * @return
+ */
+ boolean isDojoEnabled();
+
+ /**
+ * Returns dojo configurations script body text
+ * @return
+ */
+ String getDojoConfigurations();
}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org