Commit 7c2d851ad077a468106e2d2dd486d6bcc6cc8a78
1 parent
b08cfa90
JavaScript updates and some more cosmetics.
Showing
11 changed files
with
387 additions
and
130 deletions
| @@ -13,7 +13,7 @@ | @@ -13,7 +13,7 @@ | ||
| 13 | <superclass>org.richfaces.component.UINotify</superclass> | 13 | <superclass>org.richfaces.component.UINotify</superclass> | 
| 14 | <description> | 14 | <description> | 
| 15 | <![CDATA[ | 15 | <![CDATA[ | 
| 16 | - ]]> | 16 | + ]]> | 
| 17 | </description> | 17 | </description> | 
| 18 | <renderer generate="false" override="true"> | 18 | <renderer generate="false" override="true"> | 
| 19 | <name>org.richfaces.NotifyRenderer</name> | 19 | <name>org.richfaces.NotifyRenderer</name> | 
| @@ -31,7 +31,7 @@ | @@ -31,7 +31,7 @@ | ||
| 31 | <superclassname>org.ajax4jsf.tests.AbstractJspTestCase</superclassname> | 31 | <superclassname>org.ajax4jsf.tests.AbstractJspTestCase</superclassname> | 
| 32 | </test> | 32 | </test> | 
| 33 | --> | 33 | --> | 
| 34 | - | 34 | + | 
| 35 | </tag> | 35 | </tag> | 
| 36 | &ui_component_attributes; | 36 | &ui_component_attributes; | 
| 37 | &ajax_output_attributes; | 37 | &ajax_output_attributes; | 
| @@ -50,8 +50,8 @@ | @@ -50,8 +50,8 @@ | ||
| 50 | </description> | 50 | </description> | 
| 51 | <defaultvalue>""</defaultvalue> | 51 | <defaultvalue>""</defaultvalue> | 
| 52 | </property> | 52 | </property> | 
| 53 | - | ||
| 54 | - | 53 | + | 
| 54 | + | ||
| 55 | <property> | 55 | <property> | 
| 56 | <name>styleClass</name> | 56 | <name>styleClass</name> | 
| 57 | <classname>java.lang.String</classname> | 57 | <classname>java.lang.String</classname> | 
| @@ -13,7 +13,7 @@ | @@ -13,7 +13,7 @@ | ||
| 13 | <superclass>org.richfaces.component.UINotifyMessages</superclass> | 13 | <superclass>org.richfaces.component.UINotifyMessages</superclass> | 
| 14 | <description> | 14 | <description> | 
| 15 | <![CDATA[ | 15 | <![CDATA[ | 
| 16 | - ]]> | 16 | + ]]> | 
| 17 | </description> | 17 | </description> | 
| 18 | <renderer generate="false" override="true"> | 18 | <renderer generate="false" override="true"> | 
| 19 | <name>org.richfaces.NotifyMessagesRenderer</name> | 19 | <name>org.richfaces.NotifyMessagesRenderer</name> | 
| @@ -31,7 +31,7 @@ | @@ -31,7 +31,7 @@ | ||
| 31 | <superclassname>org.ajax4jsf.tests.AbstractJspTestCase</superclassname> | 31 | <superclassname>org.ajax4jsf.tests.AbstractJspTestCase</superclassname> | 
| 32 | </test> | 32 | </test> | 
| 33 | --> | 33 | --> | 
| 34 | - | 34 | + | 
| 35 | </tag> | 35 | </tag> | 
| 36 | &ui_component_attributes; | 36 | &ui_component_attributes; | 
| 37 | &ajax_output_attributes; | 37 | &ajax_output_attributes; | 
| 1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> | 
| 2 | -<!DOCTYPE components PUBLIC "-//AJAX4JSF//CDK Generator config/EN" "http://labs.jboss.com/jbossrichfaces/component-config.dtd" > | 2 | +<!DOCTYPE components PUBLIC "-//AJAX4JSF//CDK Generator config/EN" | 
| 3 | + "http://labs.jboss.com/jbossrichfaces/component-config.dtd" > | ||
| 3 | <components> | 4 | <components> | 
| 4 | <component> | 5 | <component> | 
| 5 | <name>org.richfaces.NotifyStack</name> | 6 | <name>org.richfaces.NotifyStack</name> | 
| @@ -8,7 +9,7 @@ | @@ -8,7 +9,7 @@ | ||
| 8 | <superclass>org.richfaces.component.UINotifyStack</superclass> | 9 | <superclass>org.richfaces.component.UINotifyStack</superclass> | 
| 9 | <description> | 10 | <description> | 
| 10 | <![CDATA[ | 11 | <![CDATA[ | 
| 11 | - ]]> | 12 | + ]]> | 
| 12 | </description> | 13 | </description> | 
| 13 | <renderer generate="false" override="false"> | 14 | <renderer generate="false" override="false"> | 
| 14 | <name>org.richfaces.NotifyStackRenderer</name> | 15 | <name>org.richfaces.NotifyStackRenderer</name> | 
| @@ -26,7 +27,7 @@ | @@ -26,7 +27,7 @@ | ||
| 26 | <superclassname>org.ajax4jsf.tests.AbstractJspTestCase</superclassname> | 27 | <superclassname>org.ajax4jsf.tests.AbstractJspTestCase</superclassname> | 
| 27 | </test> | 28 | </test> | 
| 28 | --> | 29 | --> | 
| 29 | - | 30 | + | 
| 30 | </tag> | 31 | </tag> | 
| 31 | &ui_component_attributes; | 32 | &ui_component_attributes; | 
| 32 | <property> | 33 | <property> | 
| 1 | +/* | ||
| 2 | + * JBoss, Home of Professional Open Source | ||
| 3 | + * Copyright , Red Hat, Inc. and individual contributors | ||
| 4 | + * by the @authors tag. See the copyright.txt in the distribution for a | ||
| 5 | + * full listing of individual contributors. | ||
| 6 | + * | ||
| 7 | + * This is free software; you can redistribute it and/or modify it | ||
| 8 | + * under the terms of the GNU Lesser General Public License as | ||
| 9 | + * published by the Free Software Foundation; either version 2.1 of | ||
| 10 | + * the License, or (at your option) any later version. | ||
| 11 | + * | ||
| 12 | + * This software is distributed in the hope that it will be useful, | ||
| 13 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 15 | + * Lesser General Public License for more details. | ||
| 16 | + * | ||
| 17 | + * You should have received a copy of the GNU Lesser General Public | ||
| 18 | + * License along with this software; if not, write to the Free | ||
| 19 | + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA | ||
| 20 | + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. | ||
| 21 | + */ | ||
| 22 | + | ||
| 1 | package org.richfaces.component; | 23 | package org.richfaces.component; | 
| 2 | 24 | ||
| 25 | +import org.richfaces.cdk.annotations.Attribute; | ||
| 26 | + | ||
| 3 | public interface NotifyAttributes { | 27 | public interface NotifyAttributes { | 
| 4 | 28 | ||
| 5 | - public abstract boolean isSticky(); | 29 | + @Attribute | 
| 30 | + boolean isSticky(); | ||
| 6 | 31 | ||
| 7 | - public abstract void setSticky(boolean sticky); | 32 | + void setSticky(boolean sticky); | 
| 8 | 33 | ||
| 9 | - public abstract Integer getStayTime(); | 34 | + @Attribute | 
| 35 | + Integer getStayTime(); | ||
| 10 | 36 | ||
| 11 | - public abstract void setStayTime(Integer time); | 37 | + void setStayTime(Integer time); | 
| 12 | 38 | ||
| 13 | - public abstract Integer getDelay(); | 39 | + @Attribute | 
| 40 | + Integer getDelay(); | ||
| 14 | 41 | ||
| 15 | - public abstract void setDelay(Integer delay); | 42 | + void setDelay(Integer delay); | 
| 16 | 43 | ||
| 17 | - public abstract String getStyleClass(); | 44 | + @Attribute | 
| 45 | + String getStyleClass(); | ||
| 18 | 46 | ||
| 19 | - public abstract void setStyleClass(String styleClass); | 47 | + void setStyleClass(String styleClass); | 
| 20 | 48 | ||
| 21 | - public abstract String getAppearAnimation(); | 49 | + @Attribute | 
| 50 | + String getAppearAnimation(); | ||
| 22 | 51 | ||
| 23 | - public abstract void setAppearAnimation(String appearAnimation); | 52 | + void setAppearAnimation(String appearAnimation); | 
| 24 | 53 | ||
| 25 | - public abstract String getHideAnimation(); | 54 | + @Attribute | 
| 55 | + String getHideAnimation(); | ||
| 26 | 56 | ||
| 27 | - public abstract void setHideAnimation(String hideAnimation); | 57 | + void setHideAnimation(String hideAnimation); | 
| 28 | 58 | ||
| 29 | - public abstract Integer getAnimationSpeed(); | 59 | + @Attribute | 
| 60 | + Integer getAnimationSpeed(); | ||
| 30 | 61 | ||
| 31 | - public abstract void setAnimationSpeed(Integer animationSpeed); | 62 | + void setAnimationSpeed(Integer animationSpeed); | 
| 32 | 63 | ||
| 33 | - public abstract boolean isShowHistory(); | 64 | + @Attribute | 
| 65 | + boolean isShowHistory(); | ||
| 34 | 66 | ||
| 35 | - public abstract void setShowHistory(boolean showHistory); | 67 | + void setShowHistory(boolean showHistory); | 
| 36 | 68 | ||
| 37 | - public abstract boolean isNonblocking(); | 69 | + @Attribute | 
| 70 | + boolean isNonblocking(); | ||
| 38 | 71 | ||
| 39 | - public abstract void setNonblocking(boolean nonblocking); | 72 | + void setNonblocking(boolean nonblocking); | 
| 40 | 73 | ||
| 41 | - public abstract boolean isShowShadow(); | 74 | + @Attribute | 
| 75 | + boolean isShowShadow(); | ||
| 42 | 76 | ||
| 43 | - public abstract void setShowShadow(boolean showShadow); | 77 | + void setShowShadow(boolean showShadow); | 
| 44 | 78 | ||
| 45 | - public abstract boolean isShowCloseButton(); | 79 | + @Attribute(defaultValue = "true") | 
| 80 | + boolean isShowCloseButton(); | ||
| 46 | 81 | ||
| 47 | - public abstract void setShowCloseButton(boolean showCloseButton); | 82 | + void setShowCloseButton(boolean showCloseButton); | 
| 48 | 83 | ||
| 49 | - public abstract Double getNonblockingOpacity(); | 84 | + @Attribute | 
| 85 | + Double getNonblockingOpacity(); | ||
| 50 | 86 | ||
| 51 | - public abstract void setNonblockingOpacity(Double nonblockingOpacity); | 87 | + void setNonblockingOpacity(Double nonblockingOpacity); | 
| 52 | 88 | ||
| 53 | - public abstract String getStack(); | 89 | + @Attribute | 
| 90 | + String getStack(); | ||
| 54 | 91 | ||
| 55 | - public abstract void setStack(String stack); | 92 | + void setStack(String stack); | 
| 56 | } | 93 | } | 
| @@ -7,6 +7,8 @@ public abstract class UINotify extends UIComponentBase implements NotifyAttribut | @@ -7,6 +7,8 @@ public abstract class UINotify extends UIComponentBase implements NotifyAttribut | ||
| 7 | public static final String COMPONENT_TYPE = "org.richfaces.Notify"; | 7 | public static final String COMPONENT_TYPE = "org.richfaces.Notify"; | 
| 8 | public static final String COMPONENT_FAMILY = "org.richfaces.Notify"; | 8 | public static final String COMPONENT_FAMILY = "org.richfaces.Notify"; | 
| 9 | 9 | ||
| 10 | + public static final double DEFAULT_NONBLOCKING_OPACITY = .2; | ||
| 11 | + | ||
| 10 | public abstract String getTitle(); | 12 | public abstract String getTitle(); | 
| 11 | 13 | ||
| 12 | public abstract void setTitle(String title); | 14 | public abstract void setTitle(String title); | 
| 1 | package org.richfaces.component; | 1 | package org.richfaces.component; | 
| 2 | 2 | ||
| 3 | -import javax.faces.component.UIMessages; | ||
| 4 | import org.ajax4jsf.component.AjaxOutput; | 3 | import org.ajax4jsf.component.AjaxOutput; | 
| 5 | 4 | ||
| 5 | +import javax.faces.component.UIMessages; | ||
| 6 | + | ||
| 6 | public abstract class UINotifyMessages extends UIMessages implements AjaxOutput, NotifyAttributes { | 7 | public abstract class UINotifyMessages extends UIMessages implements AjaxOutput, NotifyAttributes { | 
| 7 | 8 | ||
| 8 | public static final String COMPONENT_TYPE = "org.richfaces.NotifyMessages"; | 9 | public static final String COMPONENT_TYPE = "org.richfaces.NotifyMessages"; | 
| 1 | +/* | ||
| 2 | + * JBoss, Home of Professional Open Source | ||
| 3 | + * Copyright , Red Hat, Inc. and individual contributors | ||
| 4 | + * by the @authors tag. See the copyright.txt in the distribution for a | ||
| 5 | + * full listing of individual contributors. | ||
| 6 | + * | ||
| 7 | + * This is free software; you can redistribute it and/or modify it | ||
| 8 | + * under the terms of the GNU Lesser General Public License as | ||
| 9 | + * published by the Free Software Foundation; either version 2.1 of | ||
| 10 | + * the License, or (at your option) any later version. | ||
| 11 | + * | ||
| 12 | + * This software is distributed in the hope that it will be useful, | ||
| 13 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 15 | + * Lesser General Public License for more details. | ||
| 16 | + * | ||
| 17 | + * You should have received a copy of the GNU Lesser General Public | ||
| 18 | + * License along with this software; if not, write to the Free | ||
| 19 | + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA | ||
| 20 | + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. | ||
| 21 | + */ | ||
| 22 | + | ||
| 1 | package org.richfaces.renderkit.html; | 23 | package org.richfaces.renderkit.html; | 
| 2 | 24 | ||
| 25 | +import org.ajax4jsf.renderkit.RendererUtils; | ||
| 26 | +import org.ajax4jsf.renderkit.RendererUtils.HTML; | ||
| 27 | +import org.richfaces.component.UINotify; | ||
| 28 | +import org.richfaces.component.UINotifyMessages; | ||
| 29 | + | ||
| 30 | +import javax.faces.application.FacesMessage; | ||
| 3 | import javax.faces.component.UIComponent; | 31 | import javax.faces.component.UIComponent; | 
| 4 | import javax.faces.context.FacesContext; | 32 | import javax.faces.context.FacesContext; | 
| 33 | +import javax.faces.context.ResponseWriter; | ||
| 5 | import java.io.IOException; | 34 | import java.io.IOException; | 
| 6 | import java.util.Iterator; | 35 | import java.util.Iterator; | 
| 7 | -import javax.faces.application.FacesMessage; | ||
| 8 | -import javax.faces.context.ResponseWriter; | ||
| 9 | -import org.ajax4jsf.renderkit.RendererUtils.HTML; | ||
| 10 | -import org.richfaces.component.UINotify; | ||
| 11 | -import org.richfaces.component.UINotifyMessages; | ||
| 12 | 36 | ||
| 13 | public class NotifyMessagesRenderer extends NotifyRenderer { | 37 | public class NotifyMessagesRenderer extends NotifyRenderer { | 
| 14 | 38 | ||
| @@ -17,7 +41,7 @@ public class NotifyMessagesRenderer extends NotifyRenderer { | @@ -17,7 +41,7 @@ public class NotifyMessagesRenderer extends NotifyRenderer { | ||
| 17 | UINotifyMessages messagesComponent = (UINotifyMessages) component; | 41 | UINotifyMessages messagesComponent = (UINotifyMessages) component; | 
| 18 | ResponseWriter writer = context.getResponseWriter(); | 42 | ResponseWriter writer = context.getResponseWriter(); | 
| 19 | writer.startElement(HTML.DIV_ELEM, null); | 43 | writer.startElement(HTML.DIV_ELEM, null); | 
| 20 | - writer.writeAttribute(HTML.id_ATTRIBUTE, getUtils().clientId(context, component), "type"); | 44 | + writer.writeAttribute(HTML.id_ATTRIBUTE, RendererUtils.getInstance().clientId(context, component), "type"); | 
| 21 | Integer delay = messagesComponent.getDelay(); | 45 | Integer delay = messagesComponent.getDelay(); | 
| 22 | if (delay == null) { | 46 | if (delay == null) { | 
| 23 | delay = 0; | 47 | delay = 0; | 
| @@ -27,10 +51,12 @@ public class NotifyMessagesRenderer extends NotifyRenderer { | @@ -27,10 +51,12 @@ public class NotifyMessagesRenderer extends NotifyRenderer { | ||
| 27 | interval = 0; | 51 | interval = 0; | 
| 28 | } | 52 | } | 
| 29 | 53 | ||
| 30 | - Iterator<FacesMessage> messages = messagesComponent.isGlobalOnly() ? context.getMessages(null) : context.getMessages(); | 54 | + Iterator<FacesMessage> messages = messagesComponent.isGlobalOnly() | 
| 55 | + ? context.getMessages(null) : context.getMessages(); | ||
| 31 | while (messages.hasNext()) { | 56 | while (messages.hasNext()) { | 
| 32 | FacesMessage msg = messages.next(); | 57 | FacesMessage msg = messages.next(); | 
| 33 | - UINotify notify = (UINotify) context.getApplication().createComponent(UINotify.COMPONENT_TYPE); | 58 | + UINotify notify = (UINotify) context.getApplication() | 
| 59 | + .createComponent(UINotify.COMPONENT_TYPE); | ||
| 34 | notify.setAnimationSpeed(messagesComponent.getAnimationSpeed()); | 60 | notify.setAnimationSpeed(messagesComponent.getAnimationSpeed()); | 
| 35 | notify.setAppearAnimation(messagesComponent.getAppearAnimation()); | 61 | notify.setAppearAnimation(messagesComponent.getAppearAnimation()); | 
| 36 | notify.setDelay(delay); | 62 | notify.setDelay(delay); | 
| @@ -50,7 +76,7 @@ public class NotifyMessagesRenderer extends NotifyRenderer { | @@ -50,7 +76,7 @@ public class NotifyMessagesRenderer extends NotifyRenderer { | ||
| 50 | notify.setText(msg.getDetail()); | 76 | notify.setText(msg.getDetail()); | 
| 51 | } | 77 | } | 
| 52 | String styleClass = messagesComponent.getStyleClass(); | 78 | String styleClass = messagesComponent.getStyleClass(); | 
| 53 | - if(styleClass == null) { | 79 | + if (styleClass == null) { | 
| 54 | styleClass = ""; | 80 | styleClass = ""; | 
| 55 | } | 81 | } | 
| 56 | if (FacesMessage.SEVERITY_INFO.equals(msg.getSeverity())) { | 82 | if (FacesMessage.SEVERITY_INFO.equals(msg.getSeverity())) { | 
| 1 | +/* | ||
| 2 | + * JBoss, Home of Professional Open Source | ||
| 3 | + * Copyright , Red Hat, Inc. and individual contributors | ||
| 4 | + * by the @authors tag. See the copyright.txt in the distribution for a | ||
| 5 | + * full listing of individual contributors. | ||
| 6 | + * | ||
| 7 | + * This is free software; you can redistribute it and/or modify it | ||
| 8 | + * under the terms of the GNU Lesser General Public License as | ||
| 9 | + * published by the Free Software Foundation; either version 2.1 of | ||
| 10 | + * the License, or (at your option) any later version. | ||
| 11 | + * | ||
| 12 | + * This software is distributed in the hope that it will be useful, | ||
| 13 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 15 | + * Lesser General Public License for more details. | ||
| 16 | + * | ||
| 17 | + * You should have received a copy of the GNU Lesser General Public | ||
| 18 | + * License along with this software; if not, write to the Free | ||
| 19 | + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA | ||
| 20 | + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. | ||
| 21 | + */ | ||
| 22 | + | ||
| 1 | package org.richfaces.renderkit.html; | 23 | package org.richfaces.renderkit.html; | 
| 2 | 24 | ||
| 3 | -import javax.faces.component.UIComponent; | ||
| 4 | -import javax.faces.context.FacesContext; | ||
| 5 | -import javax.faces.context.ResponseWriter; | ||
| 6 | -import java.io.IOException; | ||
| 7 | -import java.util.*; | ||
| 8 | import org.ajax4jsf.javascript.JSFunction; | 25 | import org.ajax4jsf.javascript.JSFunction; | 
| 9 | import org.ajax4jsf.renderkit.HeaderResourcesRendererBase; | 26 | import org.ajax4jsf.renderkit.HeaderResourcesRendererBase; | 
| 10 | import org.ajax4jsf.renderkit.RendererUtils.HTML; | 27 | import org.ajax4jsf.renderkit.RendererUtils.HTML; | 
| @@ -12,24 +29,37 @@ import org.ajax4jsf.resource.InternetResource; | @@ -12,24 +29,37 @@ import org.ajax4jsf.resource.InternetResource; | ||
| 12 | import org.richfaces.component.UINotify; | 29 | import org.richfaces.component.UINotify; | 
| 13 | import org.richfaces.component.UINotifyStack; | 30 | import org.richfaces.component.UINotifyStack; | 
| 14 | 31 | ||
| 32 | +import javax.faces.component.UIComponent; | ||
| 33 | +import javax.faces.context.FacesContext; | ||
| 34 | +import javax.faces.context.ResponseWriter; | ||
| 35 | +import java.io.IOException; | ||
| 36 | +import java.util.Collection; | ||
| 37 | +import java.util.Collections; | ||
| 38 | +import java.util.HashMap; | ||
| 39 | +import java.util.Map; | ||
| 40 | + | ||
| 15 | public class NotifyRenderer extends HeaderResourcesRendererBase { | 41 | public class NotifyRenderer extends HeaderResourcesRendererBase { | 
| 16 | 42 | ||
| 17 | - private static final Map<String, Object> defaults = new HashMap<String, Object>(); | 43 | + private static final Map<String, Object> DEFAULTS; | 
| 18 | 44 | ||
| 19 | - { | ||
| 20 | - defaults.put("pnotify_addclass", ""); | ||
| 21 | - defaults.put("pnotify_nonblock", false); | ||
| 22 | - defaults.put("pnotify_nonblock_opacity", .2); | ||
| 23 | - defaults.put("pnotify_history", true); | ||
| 24 | - defaults.put("pnotify_animate_speed", "slow"); | ||
| 25 | - defaults.put("pnotify_opacity", 1); | ||
| 26 | - defaults.put("pnotify_shadow", false); | ||
| 27 | - defaults.put("pnotify_closer", true); | ||
| 28 | - defaults.put("pnotify_hide", true); | ||
| 29 | - defaults.put("pnotify_delay", 8000); | 45 | + static { | 
| 46 | + Map<String, Object> defaults = new HashMap<String, Object>(); | ||
| 47 | + defaults.put("styleClass", ""); | ||
| 48 | + defaults.put("nonblocking", false); | ||
| 49 | + defaults.put("nonblockingOpacity", UINotify.DEFAULT_NONBLOCKING_OPACITY); | ||
| 50 | + defaults.put("showHistory", true); | ||
| 51 | + defaults.put("animationSpeed", "slow"); | ||
| 52 | + defaults.put("opacity", 1); | ||
| 53 | + defaults.put("showShadow", false); | ||
| 54 | + defaults.put("showCloseButton", true); | ||
| 55 | + defaults.put("appearAnimation", "fade"); | ||
| 56 | + defaults.put("hideAnimation", "fade"); | ||
| 57 | + defaults.put("sticky", false); | ||
| 58 | + defaults.put("stayTime", 8000); | ||
| 30 | defaults.put("delay", 0); | 59 | defaults.put("delay", 0); | 
| 31 | - | 60 | + DEFAULTS = Collections.unmodifiableMap(defaults); | 
| 32 | } | 61 | } | 
| 62 | + | ||
| 33 | private final InternetResource[] scripts = { | 63 | private final InternetResource[] scripts = { | 
| 34 | getResource("/org/richfaces/renderkit/html/scripts/jquery-1.4.2.js"), | 64 | getResource("/org/richfaces/renderkit/html/scripts/jquery-1.4.2.js"), | 
| 35 | getResource("/org/richfaces/renderkit/html/scripts/jquery.pnotify.js"), | 65 | getResource("/org/richfaces/renderkit/html/scripts/jquery.pnotify.js"), | 
| @@ -60,29 +90,29 @@ public class NotifyRenderer extends HeaderResourcesRendererBase { | @@ -60,29 +90,29 @@ public class NotifyRenderer extends HeaderResourcesRendererBase { | ||
| 60 | * Include only attributes that are actually set. | 90 | * Include only attributes that are actually set. | 
| 61 | */ | 91 | */ | 
| 62 | Map<String, Object> options = new HashMap<String, Object>(); | 92 | Map<String, Object> options = new HashMap<String, Object>(); | 
| 63 | - addOptionIfSetAndNotDefault("pnotify_title", notify.getTitle(), options); | ||
| 64 | - addOptionIfSetAndNotDefault("pnotify_text", notify.getText(), options); | ||
| 65 | - addOptionIfSetAndNotDefault("pnotify_hide", !notify.isSticky(), options); | ||
| 66 | - addOptionIfSetAndNotDefault("pnotify_delay", notify.getStayTime(), options); | 93 | + addOptionIfSetAndNotDefault("title", notify.getTitle(), options); | 
| 94 | + addOptionIfSetAndNotDefault("text", notify.getText(), options); | ||
| 95 | + addOptionIfSetAndNotDefault("sticky", notify.isSticky(), options); | ||
| 96 | + addOptionIfSetAndNotDefault("stayTime", notify.getStayTime(), options); | ||
| 67 | Map<String, Object> animationOptions = new HashMap<String, Object>(); | 97 | Map<String, Object> animationOptions = new HashMap<String, Object>(); | 
| 68 | - addOptionIfSetAndNotDefault("effect_in", notify.getAppearAnimation(), animationOptions); | ||
| 69 | - addOptionIfSetAndNotDefault("effect_out", notify.getHideAnimation(), animationOptions); | ||
| 70 | - addOptionIfSetAndNotDefault("pnotify_animation", animationOptions, options); | ||
| 71 | - addOptionIfSetAndNotDefault("pnotify_animate_speed", notify.getAnimationSpeed(), options); | ||
| 72 | - addOptionIfSetAndNotDefault("pnotify_nonblock", notify.isNonblocking(), options); | ||
| 73 | - addOptionIfSetAndNotDefault("pnotify_nonblock_opacity", notify.getNonblockingOpacity(), options); | ||
| 74 | - addOptionIfSetAndNotDefault("pnotify_history", notify.isShowHistory(), options); | ||
| 75 | - addOptionIfSetAndNotDefault("pnotify_shadow", notify.isShowShadow(), options); | ||
| 76 | - addOptionIfSetAndNotDefault("pnotify_closer", notify.isShowCloseButton(), options); | 98 | + addOptionIfSetAndNotDefault("appearAnimation", notify.getAppearAnimation(), animationOptions); | 
| 99 | + addOptionIfSetAndNotDefault("hideAnimation", notify.getHideAnimation(), animationOptions); | ||
| 100 | + addOptionIfSetAndNotDefault("animation", animationOptions, options); | ||
| 101 | + addOptionIfSetAndNotDefault("animationSpeed", notify.getAnimationSpeed(), options); | ||
| 102 | + addOptionIfSetAndNotDefault("nonblocking", notify.isNonblocking(), options); | ||
| 103 | + addOptionIfSetAndNotDefault("nonblockingOpacity", notify.getNonblockingOpacity(), options); | ||
| 104 | + addOptionIfSetAndNotDefault("showHistory", notify.isShowHistory(), options); | ||
| 105 | + addOptionIfSetAndNotDefault("showShadow", notify.isShowShadow(), options); | ||
| 106 | + addOptionIfSetAndNotDefault("showCloseButton", notify.isShowCloseButton(), options); | ||
| 77 | UINotifyStack stack = getStackComponent(context, notify); | 107 | UINotifyStack stack = getStackComponent(context, notify); | 
| 78 | if (stack != null) { | 108 | if (stack != null) { | 
| 79 | - addOptionIfSetAndNotDefault("pnotify_stack", getUtils().clientId(context, stack), options); | 109 | + addOptionIfSetAndNotDefault("stack", getUtils().clientId(context, stack), options); | 
| 80 | } | 110 | } | 
| 81 | String styleClass = notify.getStyleClass(); | 111 | String styleClass = notify.getStyleClass(); | 
| 82 | if (styleClass == null) { | 112 | if (styleClass == null) { | 
| 83 | styleClass = ""; | 113 | styleClass = ""; | 
| 84 | } | 114 | } | 
| 85 | - addOptionIfSetAndNotDefault("pnotify_addclass", getStackStyleClass(context, notify) + " " + styleClass, options); | 115 | + addOptionIfSetAndNotDefault("styleClass", getStackStyleClass(context, notify) + " " + styleClass, options); | 
| 86 | addOptionIfSetAndNotDefault("delay", notify.getDelay(), options); | 116 | addOptionIfSetAndNotDefault("delay", notify.getDelay(), options); | 
| 87 | return options; | 117 | return options; | 
| 88 | } | 118 | } | 
| @@ -93,7 +123,10 @@ public class NotifyRenderer extends HeaderResourcesRendererBase { | @@ -93,7 +123,10 @@ public class NotifyRenderer extends HeaderResourcesRendererBase { | ||
| 93 | } | 123 | } | 
| 94 | 124 | ||
| 95 | protected void addOptionIfSetAndNotDefault(String optionName, Object value, Map<String, Object> options) { | 125 | protected void addOptionIfSetAndNotDefault(String optionName, Object value, Map<String, Object> options) { | 
| 96 | - if (value != null && value != "" && !value.equals(defaults.get(optionName))) { | 126 | + if (value != null && !"".equals(value) | 
| 127 | + && !value.equals(DEFAULTS.get(optionName)) | ||
| 128 | + && !(value instanceof Collection && ((Collection) value).size() == 0) | ||
| 129 | + && !(value instanceof Map && ((Map) value).size() == 0)) { | ||
| 97 | options.put(optionName, value); | 130 | options.put(optionName, value); | 
| 98 | } | 131 | } | 
| 99 | } | 132 | } | 
| 1 | +/* | ||
| 2 | + * JBoss, Home of Professional Open Source | ||
| 3 | + * Copyright , Red Hat, Inc. and individual contributors | ||
| 4 | + * by the @authors tag. See the copyright.txt in the distribution for a | ||
| 5 | + * full listing of individual contributors. | ||
| 6 | + * | ||
| 7 | + * This is free software; you can redistribute it and/or modify it | ||
| 8 | + * under the terms of the GNU Lesser General Public License as | ||
| 9 | + * published by the Free Software Foundation; either version 2.1 of | ||
| 10 | + * the License, or (at your option) any later version. | ||
| 11 | + * | ||
| 12 | + * This software is distributed in the hope that it will be useful, | ||
| 13 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 15 | + * Lesser General Public License for more details. | ||
| 16 | + * | ||
| 17 | + * You should have received a copy of the GNU Lesser General Public | ||
| 18 | + * License along with this software; if not, write to the Free | ||
| 19 | + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA | ||
| 20 | + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. | ||
| 21 | + */ | ||
| 22 | + | ||
| 1 | package org.richfaces.renderkit.html; | 23 | package org.richfaces.renderkit.html; | 
| 2 | 24 | ||
| 25 | +import org.ajax4jsf.javascript.JSFunction; | ||
| 26 | +import org.ajax4jsf.renderkit.HeaderResourcesRendererBase; | ||
| 27 | +import org.ajax4jsf.renderkit.RendererUtils; | ||
| 28 | +import org.ajax4jsf.resource.InternetResource; | ||
| 29 | +import org.richfaces.component.UINotifyStack; | ||
| 3 | 30 | ||
| 4 | import javax.faces.component.UIComponent; | 31 | import javax.faces.component.UIComponent; | 
| 5 | import javax.faces.context.FacesContext; | 32 | import javax.faces.context.FacesContext; | 
| @@ -7,11 +34,6 @@ import javax.faces.context.ResponseWriter; | @@ -7,11 +34,6 @@ import javax.faces.context.ResponseWriter; | ||
| 7 | import java.io.IOException; | 34 | import java.io.IOException; | 
| 8 | import java.util.HashMap; | 35 | import java.util.HashMap; | 
| 9 | import java.util.Map; | 36 | import java.util.Map; | 
| 10 | -import org.ajax4jsf.javascript.JSFunction; | ||
| 11 | -import org.ajax4jsf.renderkit.HeaderResourcesRendererBase; | ||
| 12 | -import org.ajax4jsf.renderkit.RendererUtils.HTML; | ||
| 13 | -import org.ajax4jsf.resource.InternetResource; | ||
| 14 | -import org.richfaces.component.UINotifyStack; | ||
| 15 | 37 | ||
| 16 | public class NotifyStackRenderer extends HeaderResourcesRendererBase { | 38 | public class NotifyStackRenderer extends HeaderResourcesRendererBase { | 
| 17 | 39 | ||
| @@ -25,12 +47,15 @@ public class NotifyStackRenderer extends HeaderResourcesRendererBase { | @@ -25,12 +47,15 @@ public class NotifyStackRenderer extends HeaderResourcesRendererBase { | ||
| 25 | return; | 47 | return; | 
| 26 | } | 48 | } | 
| 27 | ResponseWriter writer = context.getResponseWriter(); | 49 | ResponseWriter writer = context.getResponseWriter(); | 
| 28 | - writer.startElement(HTML.SCRIPT_ELEM, null); | ||
| 29 | - writer.writeText(new JSFunction("RichFaces.NotifyStack.register", getUtils().clientId(context, component), getOptions(context, (UINotifyStack) component)), null); | ||
| 30 | - writer.endElement(HTML.SCRIPT_ELEM); | 50 | + writer.startElement(RendererUtils.HTML.SCRIPT_ELEM, null); | 
| 51 | + writer.writeText(new JSFunction("RichFaces.NotifyStack.register", | ||
| 52 | + RendererUtils.getInstance().clientId(context, component), | ||
| 53 | + getOptions((UINotifyStack) component) | ||
| 54 | + ), null); | ||
| 55 | + writer.endElement(RendererUtils.HTML.SCRIPT_ELEM); | ||
| 31 | } | 56 | } | 
| 32 | 57 | ||
| 33 | - protected Map<String, Object> getOptions(FacesContext context, UINotifyStack stack) throws IOException { | 58 | + protected Map<String, Object> getOptions(UINotifyStack stack) throws IOException { | 
| 34 | /** | 59 | /** | 
| 35 | * Include only attributes that are actually set. | 60 | * Include only attributes that are actually set. | 
| 36 | */ | 61 | */ | 
| @@ -42,7 +67,7 @@ public class NotifyStackRenderer extends HeaderResourcesRendererBase { | @@ -42,7 +67,7 @@ public class NotifyStackRenderer extends HeaderResourcesRendererBase { | ||
| 42 | } | 67 | } | 
| 43 | 68 | ||
| 44 | protected void addOptionIfSet(String optionName, Object value, Map<String, Object> options) { | 69 | protected void addOptionIfSet(String optionName, Object value, Map<String, Object> options) { | 
| 45 | - if (value != null && value != "") { | 70 | + if (value != null && !"".equals(value)) { | 
| 46 | options.put(optionName, value); | 71 | options.put(optionName, value); | 
| 47 | } | 72 | } | 
| 48 | } | 73 | } | 
| 1 | +/* | ||
| 2 | + * JBoss, Home of Professional Open Source | ||
| 3 | + * Copyright , Red Hat, Inc. and individual contributors | ||
| 4 | + * by the @authors tag. See the copyright.txt in the distribution for a | ||
| 5 | + * full listing of individual contributors. | ||
| 6 | + * | ||
| 7 | + * This is free software; you can redistribute it and/or modify it | ||
| 8 | + * under the terms of the GNU Lesser General Public License as | ||
| 9 | + * published by the Free Software Foundation; either version 2.1 of | ||
| 10 | + * the License, or (at your option) any later version. | ||
| 11 | + * | ||
| 12 | + * This software is distributed in the hope that it will be useful, | ||
| 13 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 15 | + * Lesser General Public License for more details. | ||
| 16 | + * | ||
| 17 | + * You should have received a copy of the GNU Lesser General Public | ||
| 18 | + * License along with this software; if not, write to the Free | ||
| 19 | + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA | ||
| 20 | + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. | ||
| 21 | + */ | ||
| 22 | + | ||
| 1 | window.RichFaces = window.RichFaces || {}; | 23 | window.RichFaces = window.RichFaces || {}; | 
| 2 | -RichFaces.NotifyStack = (function(){ | 24 | +RichFaces.NotifyStack = (function() { | 
| 3 | var stacks = {}; | 25 | var stacks = {}; | 
| 4 | return { | 26 | return { | 
| 5 | - register: function(id,stack) { | 27 | + register: function(id, stack) { | 
| 6 | var existingStack = stacks[id]; | 28 | var existingStack = stacks[id]; | 
| 7 | - if(existingStack != null) { | ||
| 8 | - stack = jQuery.extend(existingStack,stack); | 29 | + if (existingStack != null) { | 
| 30 | + stack = jQuery.extend(existingStack, stack); | ||
| 9 | delete stack.addpos1; | 31 | delete stack.addpos1; | 
| 10 | delete stack.addpos2; | 32 | delete stack.addpos2; | 
| 11 | delete stack.animation; | 33 | delete stack.animation; | 
| @@ -14,13 +36,14 @@ RichFaces.NotifyStack = (function(){ | @@ -14,13 +36,14 @@ RichFaces.NotifyStack = (function(){ | ||
| 14 | delete stack.nextpos1; | 36 | delete stack.nextpos1; | 
| 15 | delete stack.nextpos2; | 37 | delete stack.nextpos2; | 
| 16 | } | 38 | } | 
| 39 | + stack.id = id; | ||
| 17 | stacks[id] = stack; | 40 | stacks[id] = stack; | 
| 18 | }, | 41 | }, | 
| 19 | getStack: function(id) { | 42 | getStack: function(id) { | 
| 20 | var stack = stacks[id]; | 43 | var stack = stacks[id]; | 
| 21 | - if(stack == null) { | ||
| 22 | - stack = {}; | ||
| 23 | - stacks[id] = stack; | 44 | + if (stack == null) { | 
| 45 | + stack = jQuery.extend({}, jQuery.pnotify.defaults.pnotify_stack); | ||
| 46 | + this.register(id, stack); | ||
| 24 | } | 47 | } | 
| 25 | return stack; | 48 | return stack; | 
| 26 | } | 49 | } | 
| @@ -28,16 +51,124 @@ RichFaces.NotifyStack = (function(){ | @@ -28,16 +51,124 @@ RichFaces.NotifyStack = (function(){ | ||
| 28 | })(); | 51 | })(); | 
| 29 | 52 | ||
| 30 | RichFaces.Notify = function(options) { | 53 | RichFaces.Notify = function(options) { | 
| 31 | - if(options!=null && typeof options.pnotify_stack == "string") { | ||
| 32 | - options.pnotify_stack = RichFaces.NotifyStack.getStack(options.pnotify_stack); | 54 | + /** | 
| 55 | + * Copies attributes from one objects to other object, but | ||
| 56 | + * can change the name of target attributes. | ||
| 57 | + */ | ||
| 58 | + function extend(target, source, translation) { | ||
| 59 | + for (var attr in source) { | ||
| 60 | + var targetAttr = translation[attr] != null ? translation[attr] : attr; | ||
| 61 | + target[targetAttr] = source[attr]; | ||
| 62 | + if (attr != 'stack' && target[targetAttr] instanceof Object) { | ||
| 63 | + target[targetAttr] = extend({}, target[targetAttr], translation); | ||
| 64 | + } | ||
| 65 | + } | ||
| 66 | + return target; | ||
| 67 | + } | ||
| 68 | + | ||
| 69 | + options = jQuery.extend({stack:'default'}, options); | ||
| 70 | + if (options != null && typeof options.stack == "string") { | ||
| 71 | + options.stack = RichFaces.NotifyStack.getStack(options.stack); | ||
| 72 | + } | ||
| 73 | + var delegateOptions = extend({}, options, { | ||
| 74 | + 'title':'pnotify_title' , | ||
| 75 | + 'text': 'pnotify_text', | ||
| 76 | + 'styleClass': 'pnotify_addclass', | ||
| 77 | + 'nonblocking': 'pnotify_nonblock', | ||
| 78 | + 'nonblockingOpacity': 'pnotify_nonblock_opacity', | ||
| 79 | + 'showHistory': 'pnotify_history', | ||
| 80 | + 'animation': 'pnotify_animation', | ||
| 81 | + 'appearAnimation': 'effect_in', | ||
| 82 | + 'hideAnimation': 'effect_out', | ||
| 83 | + 'animationSpeed': 'pnotify_animate_speed', | ||
| 84 | + 'opacity': 'pnotify_opacity', | ||
| 85 | + 'showShadow': 'pnotify_shadow', | ||
| 86 | + 'showCloseButton': 'pnotify_closer', | ||
| 87 | + 'sticky': 'pnotify_hide', | ||
| 88 | + 'stayTime': 'pnotify_delay', | ||
| 89 | + 'stack': 'pnotify_stack' | ||
| 90 | + }); | ||
| 91 | + if (options.sticky !== null) { | ||
| 92 | + delegateOptions.pnotify_hide = !options.sticky; | ||
| 33 | } | 93 | } | 
| 34 | jQuery(document).ready(function() { | 94 | jQuery(document).ready(function() { | 
| 35 | - if(options.delay) { | ||
| 36 | - setTimeout(function(){ | ||
| 37 | - jQuery.pnotify(options); | ||
| 38 | - },options.delay); | 95 | + if (options.delay) { | 
| 96 | + setTimeout(function() { | ||
| 97 | + jQuery.pnotify(delegateOptions); | ||
| 98 | + }, options.delay); | ||
| 39 | } else { | 99 | } else { | 
| 40 | - jQuery.pnotify(options); | 100 | + jQuery.pnotify(delegateOptions); | 
| 101 | + } | ||
| 102 | + }); | ||
| 103 | +}; | ||
| 104 | + | ||
| 105 | +//TODO remove this fix when it gets in to jquery.js | ||
| 106 | +(function() { | ||
| 107 | + var safariCompatMode; | ||
| 108 | + var getCompatMode = function() { | ||
| 109 | + var compatMode = document.compatMode; | ||
| 110 | + if (!compatMode && jQuery.browser.safari) { | ||
| 111 | + if (!safariCompatMode) { | ||
| 112 | + //detect compatMode as described in http://code.google.com/p/doctype/wiki/ArticleCompatMode | ||
| 113 | + var width = jQuery(document.createElement("div")).attr('style', 'position:absolute;width:0;height:0;width:1') | ||
| 114 | + .css('width'); | ||
| 115 | + safariCompatMode = compatMode = (width == '1px' ? 'BackCompat' : 'CSS1Compat'); | ||
| 116 | + } else { | ||
| 117 | + compatMode = safariCompatMode; | ||
| 118 | + } | ||
| 41 | } | 119 | } | 
| 120 | + | ||
| 121 | + return compatMode; | ||
| 122 | + }; | ||
| 123 | + | ||
| 124 | + | ||
| 125 | + // Create innerHeight, innerWidth, outerHeight and outerWidth methods | ||
| 126 | + jQuery.each([ "Height", "Width" ], function(i, name) { | ||
| 127 | + | ||
| 128 | + var tl = i ? "Left" : "Top", // top or left | ||
| 129 | + br = i ? "Right" : "Bottom", // bottom or right | ||
| 130 | + lower = name.toLowerCase(); | ||
| 131 | + | ||
| 132 | + // innerHeight and innerWidth | ||
| 133 | + jQuery.fn["inner" + name] = function() { | ||
| 134 | + return this[0] ? | ||
| 135 | + jQuery.css(this[0], lower, false, "padding") : | ||
| 136 | + null; | ||
| 137 | + }; | ||
| 138 | + | ||
| 139 | + // outerHeight and outerWidth | ||
| 140 | + jQuery.fn["outer" + name] = function(margin) { | ||
| 141 | + return this[0] ? | ||
| 142 | + jQuery.css(this[0], lower, false, margin ? "margin" : "border") : | ||
| 143 | + null; | ||
| 144 | + }; | ||
| 145 | + | ||
| 146 | + var type = name.toLowerCase(); | ||
| 147 | + | ||
| 148 | + jQuery.fn[ type ] = function(size) { | ||
| 149 | + // Get window width or height | ||
| 150 | + return this[0] == window ? | ||
| 151 | + // Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode | ||
| 152 | + getCompatMode() == "CSS1Compat" && document.documentElement[ "client" + name ] || | ||
| 153 | + document.body[ "client" + name ] : | ||
| 154 | + | ||
| 155 | + // Get document width or height | ||
| 156 | + this[0] == document ? | ||
| 157 | + // Either scroll[Width/Height] or offset[Width/Height], whichever is greater | ||
| 158 | + Math.max( | ||
| 159 | + document.documentElement["client" + name], | ||
| 160 | + document.body["scroll" + name], document.documentElement["scroll" + name], | ||
| 161 | + document.body["offset" + name], document.documentElement["offset" + name] | ||
| 162 | + ) : | ||
| 163 | + | ||
| 164 | + // Get or set width or height on the element | ||
| 165 | + size === undefined ? | ||
| 166 | + // Get width or height on the element | ||
| 167 | + (this.length ? jQuery.css(this[0], type) : null) : | ||
| 168 | + | ||
| 169 | + // Set the width or height on the element (default to pixels if value is unitless) | ||
| 170 | + this.css(type, typeof size === "string" ? size : size + "px"); | ||
| 171 | + }; | ||
| 172 | + | ||
| 42 | }); | 173 | }); | 
| 43 | -} | 174 | +}()); | 
| 1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> | 
| 2 | -<f:root | ||
| 3 | - xmlns:f="http://jsf.exadel.com/template" | ||
| 4 | - xmlns:vcp=" http://jsf.exadel.com/vcp" | ||
| 5 | - xmlns:ui=" http://jsf.exadel.com/ui" | ||
| 6 | - xmlns:x=" http://jsf.exadel.com/vcp" | ||
| 7 | - xmlns:u="http://jsf.exadel.com/util" | ||
| 8 | - xmlns:h="http://jsf.exadel.com/header" | ||
| 9 | - component="org.richfaces.component.UINotify" | ||
| 10 | - baseclass="org.ajax4jsf.renderkit.HeaderResourcesRendererBase" | ||
| 11 | - class="org.richfaces.renderkit.html.NotifyRenderer"> | 2 | +<f:root | 
| 3 | + xmlns:f="http://jsf.exadel.com/template" | ||
| 4 | + xmlns:vcp=" http://jsf.exadel.com/vcp" | ||
| 5 | + xmlns:ui=" http://jsf.exadel.com/ui" | ||
| 6 | + xmlns:x=" http://jsf.exadel.com/vcp" | ||
| 7 | + xmlns:u="http://jsf.exadel.com/util" | ||
| 8 | + xmlns:h="http://jsf.exadel.com/header" | ||
| 9 | + component="org.richfaces.component.UINotify" | ||
| 10 | + baseclass="org.ajax4jsf.renderkit.HeaderResourcesRendererBase" | ||
| 11 | + class="org.richfaces.renderkit.html.NotifyRenderer"> | ||
| 12 | <jsp:directive.page import="javax.faces.application.FacesMessage"/> | 12 | <jsp:directive.page import="javax.faces.application.FacesMessage"/> | 
| 13 | 13 | ||
| 14 | <h:scripts>/org/richfaces/renderkit/html/scripts/jquery-1.4.2.js, | 14 | <h:scripts>/org/richfaces/renderkit/html/scripts/jquery-1.4.2.js, | 
| 15 | - /org/richfaces/renderkit/html/scripts/jquery.pnotify.js</h:scripts> | 15 | + /org/richfaces/renderkit/html/scripts/jquery.pnotify.js</h:scripts> | 
| 16 | <h:styles>/org/richfaces/renderkit/html/css/jquery.pnotify.xcss</h:styles> | 16 | <h:styles>/org/richfaces/renderkit/html/css/jquery.pnotify.xcss</h:styles> | 
| 17 | <f:clientid var="clientId"/> | 17 | <f:clientid var="clientId"/> | 
| 18 | + | ||
| 18 | <div id="#{clientId}"> | 19 | <div id="#{clientId}"> | 
| 19 | <jsp:scriptlet> | 20 | <jsp:scriptlet> | 
| 20 | <![CDATA[ | 21 | <![CDATA[ | 
| 21 | - variables.setVariable("details",component.getDetails()); | ||
| 22 | - variables.setVariable("summary",component.getSummary()); | ||
| 23 | - variables.setVariable("showHistory",component.isShowHistory()); | ||
| 24 | - variables.setVariable("nonblocking",component.isNonblocking()); | ||
| 25 | - variables.setVariable("shadow",component.isShowShadow()); | ||
| 26 | - variables.setVariable("closeButton",component.isShowCloseButton()); | ||
| 27 | - variables.setVariable("nonblockingOpacity",component.getNonblockingOpacity()); | ||
| 28 | - variables.setVariable("appearAnimation",component.getAppearAnimation()); | ||
| 29 | - variables.setVariable("hideAnimation",component.getHideAnimation()); | ||
| 30 | - variables.setVariable("animationSpeed",component.getAnimationSpeed()); | ||
| 31 | - variables.setVariable("stackDirVertical",component.getStackDirVertical()); | ||
| 32 | - variables.setVariable("stackDirHorizontal",component.getStackDirHorizontal()); | ||
| 33 | - variables.setVariable("stackPush",component.getStackPush()); | ||
| 34 | - variables.setVariable("time",component.getStayTime()!=null ? component.getStayTime() : 0); | ||
| 35 | - variables.setVariable("styleClass",component.getStyleClass()==null?"":component.getStyleClass()); | 22 | + variables.setVariable("details", component.getDetails()); | 
| 23 | + variables.setVariable("summary", component.getSummary()); | ||
| 24 | + variables.setVariable("showHistory", component.isShowHistory()); | ||
| 25 | + variables.setVariable("nonblocking", component.isNonblocking()); | ||
| 26 | + variables.setVariable("shadow", component.isShowShadow()); | ||
| 27 | + variables.setVariable("closeButton", component.isShowCloseButton()); | ||
| 28 | + variables.setVariable("nonblockingOpacity", component.getNonblockingOpacity()); | ||
| 29 | + variables.setVariable("appearAnimation", component.getAppearAnimation()); | ||
| 30 | + variables.setVariable("hideAnimation", component.getHideAnimation()); | ||
| 31 | + variables.setVariable("animationSpeed", component.getAnimationSpeed()); | ||
| 32 | + variables.setVariable("stackDirVertical", component.getStackDirVertical()); | ||
| 33 | + variables.setVariable("stackDirHorizontal", component.getStackDirHorizontal()); | ||
| 34 | + variables.setVariable("stackPush", component.getStackPush()); | ||
| 35 | + variables.setVariable("time", component.getStayTime() != null ? component.getStayTime() : 0); | ||
| 36 | + variables.setVariable("styleClass", component.getStyleClass() == null ? "" : component.getStyleClass()); | ||
| 36 | ]]> | 37 | ]]> | 
| 37 | </jsp:scriptlet> | 38 | </jsp:scriptlet> | 
| 38 | <script type="text/javascript"> | 39 | <script type="text/javascript"> | 
Please
register
or
login
to post a comment