You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mm...@apache.org on 2005/09/17 22:23:56 UTC
svn commit: r289848 - in
/myfaces/tomahawk/trunk/src/java/org/apache/myfaces: component/html/util/
custom/navmenu/jscookmenu/ custom/navmenu/jscookmenu/resource/ThemeIE/
custom/navmenu/jscookmenu/resource/ThemeOffice/
custom/navmenu/jscookmenu/resource...
Author: mmarinschek
Date: Sat Sep 17 13:23:46 2005
New Revision: 289848
URL: http://svn.apache.org/viewcvs?rev=289848&view=rev
Log:
fixed last problems with scripts, fixed jsCookMenu not rendering images
Modified:
myfaces/tomahawk/trunk/src/java/org/apache/myfaces/component/html/util/AddResource.java
myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/navmenu/jscookmenu/HtmlJSCookMenuRenderer.java
myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/navmenu/jscookmenu/resource/ThemeIE/theme.js
myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/navmenu/jscookmenu/resource/ThemeOffice/theme.js
myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/navmenu/jscookmenu/resource/ThemePanel/theme.js
Modified: myfaces/tomahawk/trunk/src/java/org/apache/myfaces/component/html/util/AddResource.java
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/src/java/org/apache/myfaces/component/html/util/AddResource.java?rev=289848&r1=289847&r2=289848&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/src/java/org/apache/myfaces/component/html/util/AddResource.java (original)
+++ myfaces/tomahawk/trunk/src/java/org/apache/myfaces/component/html/util/AddResource.java Sat Sep 17 13:23:46 2005
@@ -121,6 +121,16 @@
}
/**
+ * Adds the given Script to the document Header.
+ * If the style sheet is already has already been referenced, it's added only once.
+ */
+ public static void addInlineScriptToHeader(String inlineScript, FacesContext context){
+ AdditionalHeaderInfoToRender scriptInfo =
+ new AdditionalHeaderInfoToRender(AdditionalHeaderInfoToRender.TYPE_JS_INLINE, inlineScript);
+ addAdditionalHeaderInfoToRender(context, scriptInfo );
+ }
+
+ /**
* Get the Path used to retrieve an internal resource for a custom component.
* Example : You can use this to initialize javascript scripts so that they know the path of some other resources
* (image, css, ...).
@@ -385,6 +395,7 @@
static final int TYPE_JS = 0;
static final int TYPE_CSS = 1;
static final int TYPE_CSS_INLINE = 2;
+ static final int TYPE_JS_INLINE = 3;
public int type;
public boolean deferJS = false;
@@ -408,8 +419,8 @@
}
public AdditionalHeaderInfoToRender(int infoType, String inlineText) {
- if( infoType != TYPE_CSS_INLINE )
- log.error("This constructor only supports TYPE_CSS_INLINE");
+ if( infoType != TYPE_CSS_INLINE && infoType != TYPE_JS_INLINE)
+ log.error("This constructor only supports TYPE_CSS_INLINE or TYPE_JS_INLINE");
this.type = infoType;
this.inlineText = inlineText;
}
@@ -463,7 +474,9 @@
+"type=\"text/css\"/>\n";
case TYPE_CSS_INLINE:
return "<style type=\"text/css\">"+inlineText+"</style>\n";
- default:
+ case TYPE_JS_INLINE:
+ return "<script type=\"text/javascript\">"+inlineText+"</script>\n";
+ default:
log.warn("Unknown type:"+type);
return "<link href=\""+"\"/>\n";
}
Modified: myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/navmenu/jscookmenu/HtmlJSCookMenuRenderer.java
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/navmenu/jscookmenu/HtmlJSCookMenuRenderer.java?rev=289848&r1=289847&r2=289848&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/navmenu/jscookmenu/HtmlJSCookMenuRenderer.java (original)
+++ myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/navmenu/jscookmenu/HtmlJSCookMenuRenderer.java Sat Sep 17 13:23:46 2005
@@ -268,16 +268,41 @@
AddResource.addJavaScriptToHeader(HtmlJSCookMenuRenderer.class, "MyFacesHack.js", context);
if( theme.equals( "ThemeOffice" ) ){
- AddResource.addJavaScriptToHeader(HtmlJSCookMenuRenderer.class, "ThemeOffice/theme.js", context);
+ StringBuffer buf = new StringBuffer();
+ buf.append("myThemeOfficeBase='");
+ buf.append(AddResource.getResourceBasePath(HtmlJSCookMenuRenderer.class,context));
+ buf.append("/ThemeOffice/';");
+
+ AddResource.addInlineScriptToHeader(buf.toString(), context);
+
+ AddResource.addJavaScriptToHeader(HtmlJSCookMenuRenderer.class, "ThemeOffice/theme.js", context);
AddResource.addStyleSheet(HtmlJSCookMenuRenderer.class, "ThemeOffice/theme.css", context);
}else if( theme.equals( "ThemeMiniBlack" ) ){
- AddResource.addJavaScriptToHeader(HtmlJSCookMenuRenderer.class, "ThemeMiniBlack/theme.js", context);
+ StringBuffer buf = new StringBuffer();
+ buf.append("myThemeMiniBlackBase='");
+ buf.append(AddResource.getResourceBasePath(HtmlJSCookMenuRenderer.class,context));
+ buf.append("/ThemeMiniBlack/';");
+
+ AddResource.addInlineScriptToHeader(buf.toString(), context);
+ AddResource.addJavaScriptToHeader(HtmlJSCookMenuRenderer.class, "ThemeMiniBlack/theme.js", context);
AddResource.addStyleSheet(HtmlJSCookMenuRenderer.class, "ThemeMiniBlack/theme.css", context);
}else if( theme.equals( "ThemeIE" ) ){
- AddResource.addJavaScriptToHeader(HtmlJSCookMenuRenderer.class, "ThemeIE/theme.js", context);
+ StringBuffer buf = new StringBuffer();
+ buf.append("myThemeIEBase='");
+ buf.append(AddResource.getResourceBasePath(HtmlJSCookMenuRenderer.class,context));
+ buf.append("/ThemeIE/';");
+
+ AddResource.addInlineScriptToHeader(buf.toString(), context);
+ AddResource.addJavaScriptToHeader(HtmlJSCookMenuRenderer.class, "ThemeIE/theme.js", context);
AddResource.addStyleSheet(HtmlJSCookMenuRenderer.class, "ThemeIE/theme.css", context);
}else if( theme.equals( "ThemePanel" ) ){
- AddResource.addJavaScriptToHeader(HtmlJSCookMenuRenderer.class, "ThemePanel/theme.js", context);
+ StringBuffer buf = new StringBuffer();
+ buf.append("myThemePanelBase='");
+ buf.append(AddResource.getResourceBasePath(HtmlJSCookMenuRenderer.class,context));
+ buf.append("/ThemePanel/';");
+
+ AddResource.addInlineScriptToHeader(buf.toString(), context);
+ AddResource.addJavaScriptToHeader(HtmlJSCookMenuRenderer.class, "ThemePanel/theme.js", context);
AddResource.addStyleSheet(HtmlJSCookMenuRenderer.class, "ThemePanel/theme.css", context);
}
// Otherwise ?? bug ??
@@ -285,18 +310,37 @@
String menuId = getMenuId(context, component);
- writer.write("<div id=\"" + menuId + "\"></div>\n" +
- "<script type=\"text/javascript\"><!--\n" +
- "\tcmDraw ('" + menuId + "', " + menuId + ", '" + menu.getLayout() + "', cm" + theme + ", '" + theme + "');\n" +
- "--></script>\n");
+ writer.write("<div id=\"");
+ writer.write(menuId);
+ writer.write("\"></div>\n");
+ writer.startElement(HTML.SCRIPT_ELEM,menu);
+ writer.writeAttribute(HTML.SCRIPT_TYPE_ATTR,HTML.SCRIPT_TYPE_TEXT_JAVASCRIPT,null);
+
+ StringBuffer buf = new StringBuffer();
+ buf.append("\n");
+ buf.append("\tcmDraw ('").
+ append(menuId).
+ append("', ").
+ append(menuId).
+ append(", '").
+ append(menu.getLayout()).
+ append("', cm").
+ append(theme).
+ append(", '").
+ append(theme).
+ append("');");
+ buf.append("\n//");
+
+ writer.writeComment(buf.toString());
+ writer.endElement(HTML.SCRIPT_ELEM);
}
/**
- * TODO Give this a good comment.
+ * Fetch the very last part of the menu id.
*
* @param context
* @param component
- * @return
+ * @return String id of the menu
*/
private String getMenuId(FacesContext context, UIComponent component) {
String menuId = component.getClientId(context).replaceAll(":","_") + "_menu";
Modified: myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/navmenu/jscookmenu/resource/ThemeIE/theme.js
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/navmenu/jscookmenu/resource/ThemeIE/theme.js?rev=289848&r1=289847&r2=289848&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/navmenu/jscookmenu/resource/ThemeIE/theme.js (original)
+++ myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/navmenu/jscookmenu/resource/ThemeIE/theme.js Sat Sep 17 13:23:46 2005
@@ -1,6 +1,9 @@
var cmThemeIEBase = 'jscookmenu/ThemeIE/';
+if(myThemeIEBase)
+ cmThemeIEBase = myThemeIEBase;
+
var cmThemeIE =
{
// main menu display attributes
Modified: myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/navmenu/jscookmenu/resource/ThemeOffice/theme.js
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/navmenu/jscookmenu/resource/ThemeOffice/theme.js?rev=289848&r1=289847&r2=289848&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/navmenu/jscookmenu/resource/ThemeOffice/theme.js (original)
+++ myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/navmenu/jscookmenu/resource/ThemeOffice/theme.js Sat Sep 17 13:23:46 2005
@@ -1,6 +1,8 @@
-
// directory of where all the images are
var cmThemeOfficeBase = 'jscookmenu/ThemeOffice/';
+
+if(myThemeOfficeBase)
+ cmThemeOfficeBase = myThemeOfficeBase;
var cmThemeOffice =
{
Modified: myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/navmenu/jscookmenu/resource/ThemePanel/theme.js
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/navmenu/jscookmenu/resource/ThemePanel/theme.js?rev=289848&r1=289847&r2=289848&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/navmenu/jscookmenu/resource/ThemePanel/theme.js (original)
+++ myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/navmenu/jscookmenu/resource/ThemePanel/theme.js Sat Sep 17 13:23:46 2005
@@ -2,6 +2,9 @@
// directory of where all the images are
var cmThemePanelBase = 'jscookmenu/ThemePanel/';
+if(myThemePanelBase)
+ cmThemePanelBase = myThemePanelBase;
+
var cmThemePanel =
{
// main menu display attributes