<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"xmlns:ui="http://java.sun.com/jsf/facelets"xmlns:f="http://java.sun.com/jsf/core"xmlns:h="http://java.sun.com/jsf/html"xmlns:a4j="http://richfaces.org/a4j"xmlns:rich="http://richfaces.org/rich"xmlns:notify="http://richfaces.org/sandbox/notify"><head><title>Notify sample</title><style type="text/css">.black.rf-ny-co{background:#000;color:#fff;}.mail.rf-ny-co{padding:010px;}.mail.rf-ny-cl{margin-top:4px;}.mail.rf-ny-ic{display:block;background-image:url(mail.png);background-position:50%50%;background-repeat:no-repeat;width:18px;height:20px;}.topLeft{bottom:auto;left:10px;top:10px;right:auto;}.topRight{bottom:auto;right:10px;top:10px;left:auto;}.bottomLeft{bottom:10px;left:10px;top:auto;right:auto;}.bottomRight{bottom:10px;right:10px;top:auto;left:auto;}</style></head><bodyclass="rich-container"><ui:includesrc="menu.xhtml"/><p> Some attributes require propper combination. stackDirHorizontal:right,styleClass:bottom</p><h:form><a4j:outputPanelajaxRendered="true"><notify:notifyStackid="customStack"stackDir1="#{greeter.stackDir1}"stackDir2="#{greeter.stackDir2}"push="#{greeter.stackPush}"styleClass="#{greeter.stackStyleClass}"/><notify:notifytitle="#{greeter.title}"text="#{greeter.text}"nonblocking="#{greeter.nonblocking}"showShadow="#{greeter.showShadow}"showHistory="#{greeter.showHistory}"showCloseButton="#{greeter.showCloseButton}"sticky="#{greeter.sticky}"stayTime="#{greeter.stayTime}"appearAnimation="#{greeter.appearAnimation}"hideAnimation="#{greeter.hideAnimation}"animationSpeed="#{greeter.animationSpeed}"nonblockingOpacity="#{greeter.nonblockingOpacity}"styleClass="#{greeter.styleClass}"stackDir1="#{greeter.stackDir1}"stackDir2="#{greeter.stackDir2}"stackPush="#{greeter.stackPush}"stack="customStack"/></a4j:outputPanel><notify:notifyMessagesinterval="#{greeter.interval}"nonblocking="#{greeter.nonblocking}"showShadow="#{greeter.showShadow}"showHistory="#{greeter.showHistory}"showCloseButton="#{greeter.showCloseButton}"sticky="#{greeter.sticky}"stayTime="#{greeter.stayTime}"appearAnimation="#{greeter.appearAnimation}"hideAnimation="#{greeter.hideAnimation}"animationSpeed="#{greeter.animationSpeed}"nonblockingOpacity="#{greeter.nonblockingOpacity}"styleClass="#{greeter.styleClass}"stackDir1="#{greeter.stackDir1}"stackDir2="#{greeter.stackDir2}"stackPush="#{greeter.stackPush}"stack="customStack"/><a4j:commandButtonvalue="Say Hello"action="#{greeter.sayHello}"/><a4j:commandButtonvalue="Warn me"action="#{greeter.warnMe}"/><a4j:commandButtonvalue="Say error"action="#{greeter.sayError}"/><a4j:commandButtonvalue="Say fatal"action="#{greeter.sayFatal}"/><h:panelGridcolumns="2"><rich:panel><f:facetname="header">Common</f:facet><h:panelGridcolumns="2"><h:outputLabelvalue="Nonblocking"for="nonblocking"/><h:selectBooleanCheckboxvalue="#{greeter.nonblocking}"id="nonblocking"/><h:outputLabelvalue="Show detail"for="showDetail"/><h:selectBooleanCheckboxvalue="#{greeter.showDetail}"id="showDetail"/><h:outputLabelvalue="Show summary"for="showSummary"/><h:selectBooleanCheckboxvalue="#{greeter.showSummary}"id="showSummary"/><h:outputLabelvalue="Sticky"for="sticky"/><h:selectBooleanCheckboxvalue="#{greeter.sticky}"id="sticky"/><h:outputLabelvalue="Show history"for="showHistory"/><h:selectBooleanCheckboxvalue="#{greeter.showHistory}"id="showHistory"/><h:outputLabelvalue="Show shadow"for="showShadow"/><h:selectBooleanCheckboxvalue="#{greeter.showShadow}"id="showShadow"/><h:outputLabelvalue="Show close button"for="showCloseButton"/><h:panelGroup><h:selectBooleanCheckboxvalue="#{greeter.showCloseButton}"id="showCloseButton"/> Applicable only with nonblocking set to false.</h:panelGroup><h:outputLabelvalue="Stay time"for="stayTime"/><h:inputTextvalue="#{greeter.stayTime}"id="stayTime"/><h:outputLabelvalue="Delay"for="delay"/><h:inputTextvalue="#{greeter.delay}"id="delay"/><h:outputLabelvalue="Nonblocking opacity"for="nonblockingOpacity"/><h:inputTextvalue="#{greeter.nonblockingOpacity}"id="nonblockingOpacity"/><h:outputLabelvalue="Animation speed"for="animationSpeed"/><h:inputTextvalue="#{greeter.animationSpeed}"id="animationSpeed"/><h:outputLabelvalue="Style class"for="styleClass"/><h:selectOneListboxvalue="#{greeter.styleClass}"id="styleClass"size="1"><f:selectItemitemValue=""itemLabel="(none)"/><f:selectItemitemValue="mail"itemLabel="mail"/><f:selectItemitemValue="rf-ny-error"itemLabel="rf-ny-error"/><f:selectItemitemValue="black"itemLabel="black"/></h:selectOneListbox><h:outputLabelvalue="Appear animation"for="appearAnimation"/><h:selectOneListboxvalue="#{greeter.appearAnimation}"id="appearAnimation"size="1"><f:selectItemitemValue="none"itemLabel="none"/><f:selectItemitemValue="show"itemLabel="show"/><f:selectItemitemValue="fade"itemLabel="fade"/><f:selectItemitemValue="slide"itemLabel="slide"/></h:selectOneListbox><h:outputLabelvalue="Hide animation"for="hideAnimation"/><h:selectOneListboxvalue="#{greeter.hideAnimation}"id="hideAnimation"size="1"><f:selectItemitemValue="none"itemLabel="none"/><f:selectItemitemValue="show"itemLabel="show"/><f:selectItemitemValue="fade"itemLabel="fade"/><f:selectItemitemValue="slide"itemLabel="slide"/></h:selectOneListbox></h:panelGrid></rich:panel><h:panelGroup><rich:panel><f:facetname="header">Notify</f:facet><h:panelGridcolumns="2"><h:outputLabelvalue="title"for="title"/><h:inputTextvalue="#{greeter.title}"id="title"/><h:outputLabelvalue="text"for="text"/><h:inputTextvalue="#{greeter.text}"id="text"/></h:panelGrid></rich:panel><rich:panel><f:facetname="header">NotifyMessages</f:facet><h:panelGridcolumns="2"><h:outputLabelvalue="Interval"for="interval"/><h:inputTextvalue="#{greeter.interval}"id="interval"/></h:panelGrid></rich:panel><rich:panel><f:facetname="header">Stack</f:facet><h:panelGridcolumns="2"><h:outputLabelvalue="Stacking direction 1"for="stackDir1"/><h:selectOneRadiovalue="#{greeter.stackDir1}"id="stackDir1"size="1"><f:selectItemitemValue="up"itemLabel="up"/><f:selectItemitemValue="down"itemLabel="down"/><f:selectItemitemValue="left"itemLabel="left"/><f:selectItemitemValue="right"itemLabel="right"/></h:selectOneRadio><h:outputLabelvalue="Stacking direction 2"for="stackDir2"/><h:selectOneRadiovalue="#{greeter.stackDir2}"id="stackDir2"size="1"><f:selectItemitemValue="up"itemLabel="up"/><f:selectItemitemValue="down"itemLabel="down"/><f:selectItemitemValue="left"itemLabel="left"/><f:selectItemitemValue="right"itemLabel="right"/></h:selectOneRadio><h:outputLabelvalue="Stack push"for="stackPush"/><h:selectOneRadiovalue="#{greeter.stackPush}"id="stackPush"size="1"><f:selectItemitemValue="top"itemLabel="top"/><f:selectItemitemValue="bottom"itemLabel="bottom"/></h:selectOneRadio><h:outputLabelvalue="Stack position"for="stackStyleClass"/><h:selectOneListboxvalue="#{greeter.stackStyleClass}"id="stackStyleClass"size="1"><f:selectItemitemValue="topLeft"itemLabel="topLeft"/><f:selectItemitemValue="topRight"itemLabel="topRight"/><f:selectItemitemValue="bottomLeft"itemLabel="bottomLeft"/><f:selectItemitemValue="bottomRight"itemLabel="bottomRight"/></h:selectOneListbox><ul>Good combinations are :<li>right,down,bottom,topLeft</li><li>left,down,bottom,topRight</li><li>right,up,bottom,bottomLeft</li><li>left,up,bottom,bottomRight</li></ul></h:panelGrid> Changing stack attributes is bad if messages are added in ajax mode, because current widget implementation does not allow to refresh messages styleClass that should be borrowed from stack (this is done on server side)</rich:panel></h:panelGroup></h:panelGrid></h:form><rich:insertsrc="/notify_1.xhtml"highlight="xhtml"rendered="#{showSource!=false}"/></body></html>