From 243ee05f1a4297957357942769449a1c24b262d4 Mon Sep 17 00:00:00 2001 From: Jeremy Grelle Date: Thu, 20 Mar 2008 15:01:35 +0000 Subject: [PATCH] Adding an tag for enabling proper inclusion of the stylesheets required by Spring Faces components in the --- .../faces/ui/DojoStyleRenderer.java | 23 +++++++++++++++++++ .../faces/ui/DynamicComponent.java | 11 +++++++++ .../main/resources/META-INF/faces-config.xml | 11 +++++++++ .../resources/META-INF/springfaces.taglib.xml | 7 ++++++ 4 files changed, 52 insertions(+) create mode 100644 spring-faces/src/main/java/org/springframework/faces/ui/DojoStyleRenderer.java create mode 100644 spring-faces/src/main/java/org/springframework/faces/ui/DynamicComponent.java diff --git a/spring-faces/src/main/java/org/springframework/faces/ui/DojoStyleRenderer.java b/spring-faces/src/main/java/org/springframework/faces/ui/DojoStyleRenderer.java new file mode 100644 index 00000000..e4c9b460 --- /dev/null +++ b/spring-faces/src/main/java/org/springframework/faces/ui/DojoStyleRenderer.java @@ -0,0 +1,23 @@ +package org.springframework.faces.ui; + +import java.io.IOException; + +import javax.faces.component.UIComponent; +import javax.faces.context.FacesContext; +import javax.faces.render.Renderer; + +import org.springframework.faces.ui.resource.ResourceHelper; + +public class DojoStyleRenderer extends Renderer { + + private String dijitThemePath = "/dijit/themes/"; + + private String dijitTheme = "tundra"; + + private ResourceHelper resourceHelper = new ResourceHelper(); + + public void encodeBegin(FacesContext context, UIComponent component) throws IOException { + + resourceHelper.renderStyleLink(context, dijitThemePath + dijitTheme + "/" + dijitTheme + ".css"); + } +} diff --git a/spring-faces/src/main/java/org/springframework/faces/ui/DynamicComponent.java b/spring-faces/src/main/java/org/springframework/faces/ui/DynamicComponent.java new file mode 100644 index 00000000..72656221 --- /dev/null +++ b/spring-faces/src/main/java/org/springframework/faces/ui/DynamicComponent.java @@ -0,0 +1,11 @@ +package org.springframework.faces.ui; + +import javax.faces.component.UIComponentBase; + +public class DynamicComponent extends UIComponentBase { + + public String getFamily() { + return "spring.faces.DynamicComponent"; + } + +} diff --git a/spring-faces/src/main/resources/META-INF/faces-config.xml b/spring-faces/src/main/resources/META-INF/faces-config.xml index 2a9ed428..352e1e4d 100644 --- a/spring-faces/src/main/resources/META-INF/faces-config.xml +++ b/spring-faces/src/main/resources/META-INF/faces-config.xml @@ -37,6 +37,11 @@ org.springframework.faces.ui.AjaxEventInterceptor + + spring.faces.DojoIncludeStyles + org.springframework.faces.ui.DynamicComponent + + spring.faces.DojoClientTextValidator org.springframework.faces.ui.DojoClientTextValidator @@ -120,6 +125,12 @@ spring.faces.ValidateAll org.springframework.faces.ui.ValidateAllRenderer + + + spring.faces.DynamicComponent + spring.faces.DojoStyleRenderer + org.springframework.faces.ui.DojoStyleRenderer + diff --git a/spring-faces/src/main/resources/META-INF/springfaces.taglib.xml b/spring-faces/src/main/resources/META-INF/springfaces.taglib.xml index 34c7cbab..9a23a9c2 100644 --- a/spring-faces/src/main/resources/META-INF/springfaces.taglib.xml +++ b/spring-faces/src/main/resources/META-INF/springfaces.taglib.xml @@ -4,6 +4,13 @@ "http://java.sun.com/dtd/facelet-taglib_1_0.dtd"> http://www.springframework.org/tags/faces + + includeStyles + + spring.faces.DojoIncludeStyles + spring.faces.DojoStyleRenderer + + commandButton