Author: ilya_shaikovsky
Date: 2010-10-29 07:57:39 -0400 (Fri, 29 Oct 2010)
New Revision: 19761
Added:
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplete/clientFilter.xhtml
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplete/samples/clientFilter-sample.xhtml
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tooltip/
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tooltip/samples/
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tooltip/samples/tooltip-sample.xhtml
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tooltip/tooltip.xhtml
Removed:
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplete/samples/simpleAjax-sample.xhtml
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplete/simpleAjax.xhtml
Modified:
trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/autocomplete/AutocompleteBean.java
trunk/examples/richfaces-showcase/src/main/resources/org/richfaces/demo/data/common/navigation.xml
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplete/samples/cachedAjax-sample.xhtml
Log:
https://jira.jboss.org/browse/RF-9583
https://jira.jboss.org/browse/RF-9305
Modified:
trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/autocomplete/AutocompleteBean.java
===================================================================
---
trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/autocomplete/AutocompleteBean.java 2010-10-29
11:48:42 UTC (rev 19760)
+++
trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/autocomplete/AutocompleteBean.java 2010-10-29
11:57:39 UTC (rev 19761)
@@ -33,7 +33,12 @@
public List<String> autocomplete(String prefix) {
ArrayList<String> result = new ArrayList<String>();
- if (prefix.length() > 0) {
+ if ((prefix == null) || (prefix.length() == 0)) {
+ for (int i = 0; i < 10; i++) {
+ result.add(capitals.get(i).getState());
+ }
+
+ } else {
Iterator<Capital> iterator = capitals.iterator();
while (iterator.hasNext()) {
Capital elem = ((Capital) iterator.next());
@@ -42,11 +47,8 @@
result.add(elem.getState());
}
}
- }else{
- for (int i = 0; i < 10; i++) {
- result.add(capitals.get(i).getState());
- }
}
+
return result;
}
Modified:
trunk/examples/richfaces-showcase/src/main/resources/org/richfaces/demo/data/common/navigation.xml
===================================================================
---
trunk/examples/richfaces-showcase/src/main/resources/org/richfaces/demo/data/common/navigation.xml 2010-10-29
11:48:42 UTC (rev 19760)
+++
trunk/examples/richfaces-showcase/src/main/resources/org/richfaces/demo/data/common/navigation.xml 2010-10-29
11:57:39 UTC (rev 19761)
@@ -386,6 +386,16 @@
</sample>
</samples>
</demo>
+ <demo new="true">
+ <id>tooltip</id>
+ <name>rich:tooltip</name>
+ <samples>
+ <sample>
+ <id>tooltip</id>
+ <name>Simple tooltips</name>
+ </sample>
+ </samples>
+ </demo>
</demos>
</group>
<group>
@@ -399,6 +409,10 @@
<id>cachedAjax</id>
<name>Autocomplete in Cached Ajax mode</name>
</sample>
+ <sample>
+ <id>clientFilter</id>
+ <name>Custom client filter</name>
+ </sample>
</samples>
</demo>
<!--demo>
Copied:
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplete/clientFilter.xhtml
(from rev 19750,
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplete/simpleAjax.xhtml)
===================================================================
---
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplete/clientFilter.xhtml
(rev 0)
+++
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplete/clientFilter.xhtml 2010-10-29
11:57:39 UTC (rev 19761)
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html
xmlns="http://www.w3.org/1999/xhtml"
+
xmlns:h="http://java.sun.com/jsf/html"
+
xmlns:f="http://java.sun.com/jsf/core"
+
xmlns:ui="http://java.sun.com/jsf/facelets">
+
+<ui:composition>
+ <p>Except the server-side <b>"autocomplete"</b> method which
could
+ be used to collect suggestion strings according to entered prefix,
<b>rich:autocomplete</b>
+ allows to define similar method for filtering at client side. It should
+ be defined using <b>clientFilter</b> attribute which accepts custom
+ filter function name. Function should accepts two parameters
<b>subString</b>
+ and <b>value</b> and return boolean value which means if the value
+ satisfies the substring passed. The function will be called for every
+ available suggestion in order to construct new list of suggestions.</p>
+ <p>This sample shows how to change the client filtering to
+ <b>"contains"</b> instead of
<b>"startsWith"</b></p>
+ <ui:include src="#{demoNavigator.sampleIncludeURI}" />
+ <ui:include src="/templates/includes/source-view.xhtml">
+ <ui:param name="src" value="#{demoNavigator.sampleIncludeURI}"
/>
+ <ui:param name="sourceType" value="xhtml" />
+ <ui:param name="openLabel" value="View Source" />
+ <ui:param name="hideLabel" value="Hide Source" />
+ </ui:include>
+</ui:composition>
+
+</html>
\ No newline at end of file
Modified:
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplete/samples/cachedAjax-sample.xhtml
===================================================================
---
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplete/samples/cachedAjax-sample.xhtml 2010-10-29
11:48:42 UTC (rev 19760)
+++
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplete/samples/cachedAjax-sample.xhtml 2010-10-29
11:57:39 UTC (rev 19761)
@@ -7,26 +7,29 @@
xmlns:rich="http://richfaces.org/rich">
<p>Default autocomplete in cachedAjax mode</p>
<h:form>
- <rich:autocomplete mode="cachedAjax"
+ <rich:autocomplete mode="cachedAjax" minChars="0"
autocompleteMethod="#{autocompleteBean.autocomplete}" />
</h:form>
- <p>Autocomplete without direct suggestions to
input(<b>autoFill="false"</b>). Also in the sample comma and space
are input <b>tokens</b>, so separate
+ <p>Autocomplete without direct suggestions to
input(<b>autoFill="false"</b>).
+ Also in the sample comma and space are input <b>tokens</b>, so separate
autocompletion requests will be fired for different parts in input</p>
<h:form>
- <rich:autocomplete mode="cachedAjax" tokens=", "
autofill="false"
+ <rich:autocomplete mode="cachedAjax" tokens=", "
minChars="0"
+ autofill="false"
autocompleteMethod="#{autocompleteBean.autocomplete}" />
</h:form>
- <p>In that sample <b>selectFirst</b> set to false so pressing enter
will not choose the value from list
- but just submit currently entered value.</p>
+ <p>In that sample <b>selectFirst</b> set to false so pressing enter
+ will not choose the value from list but just submit currently entered
+ value.</p>
<h:form>
- <rich:autocomplete mode="cachedAjax" tokens=", "
autoFill="false" selectFirst="false"
+ <rich:autocomplete mode="cachedAjax" tokens=", "
minChars="0"
+ autoFill="false" selectFirst="false"
autocompleteMethod="#{autocompleteBean.autocomplete}" />
- </h:form>
- <fieldset>
- <legend><b>NOTE:</b> </legend>
- The developer has full control under filtering on server side according to prefix.
- But in client and cachedAjax modes - just built-in startWith method used. In near
future
- the component will be updated with one more attribute which will allow the developer
- to define client side comparator function to customize that behavior.
- </fieldset>
-</ui:composition>
+ </h:form>
+ <fieldset><legend><b>NOTE:</b> </legend> The developer
has
+ full control under filtering on server side according to prefix. But in
+ client and cachedAjax modes - just built-in startWith method used. In
+ near future the component will be updated with one more attribute which
+ will allow the developer to define client side comparator function to
+ customize that behavior.</fieldset>
+</ui:composition>
Copied:
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplete/samples/clientFilter-sample.xhtml
(from rev 19750,
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplete/samples/simpleAjax-sample.xhtml)
===================================================================
---
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplete/samples/clientFilter-sample.xhtml
(rev 0)
+++
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplete/samples/clientFilter-sample.xhtml 2010-10-29
11:57:39 UTC (rev 19761)
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition
xmlns="http://www.w3.org/1999/xhtml"
+
xmlns:h="http://java.sun.com/jsf/html"
+
xmlns:f="http://java.sun.com/jsf/core"
+
xmlns:ui="http://java.sun.com/jsf/facelets"
+
xmlns:a4j="http://richfaces.org/a4j"
+
xmlns:rich="http://richfaces.org/rich">
+ <h:form>
+ <rich:autocomplete mode="client" minChars="0"
autofill="false"
+ clientFilter="if(subString.length>=1) if(value.indexOf(subString)!=-1) return
true;"
+ autocompleteMethod="#{autocompleteBean.autocomplete}" />
+ </h:form>
+</ui:composition>
\ No newline at end of file
Deleted:
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplete/samples/simpleAjax-sample.xhtml
===================================================================
---
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplete/samples/simpleAjax-sample.xhtml 2010-10-29
11:48:42 UTC (rev 19760)
+++
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplete/samples/simpleAjax-sample.xhtml 2010-10-29
11:57:39 UTC (rev 19761)
@@ -1,25 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<ui:composition
xmlns="http://www.w3.org/1999/xhtml"
-
xmlns:h="http://java.sun.com/jsf/html"
-
xmlns:f="http://java.sun.com/jsf/core"
-
xmlns:ui="http://java.sun.com/jsf/facelets"
-
xmlns:a4j="http://richfaces.org/a4j"
-
xmlns:rich="http://richfaces.org/rich">
- <style>
-.outhello {
- font-weight: bold;
-}
-</style>
- <h:form>
- <h:panelGrid columns="3">
- <h:outputText value="Name:" />
- <h:inputText value="#{userBean.name}" />
- <a4j:commandButton value="Say Hello" render="out"
execute="@form" />
- </h:panelGrid>
- </h:form>
- <br />
- <a4j:outputPanel id="out">
- <h:outputText value="Hello #{userBean.name} !"
- rendered="#{not empty userBean.name}" styleClass="outhello" />
- </a4j:outputPanel>
-</ui:composition>
\ No newline at end of file
Deleted:
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplete/simpleAjax.xhtml
===================================================================
---
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplete/simpleAjax.xhtml 2010-10-29
11:48:42 UTC (rev 19760)
+++
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplete/simpleAjax.xhtml 2010-10-29
11:57:39 UTC (rev 19761)
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html
xmlns="http://www.w3.org/1999/xhtml"
-
xmlns:h="http://java.sun.com/jsf/html"
-
xmlns:f="http://java.sun.com/jsf/core"
-
xmlns:ui="http://java.sun.com/jsf/facelets">
-
-<ui:composition>
- <p>Autocomplete component - simple Input component which provides suggestions
during input.</p>
- <p>Could works using three modes:
- <ul>
- <li>Client - preloads data to the client side and makes suggestions according to
entered prefix on the client</li>
- <li>Ajax - fetches the data on every input change using ajax
requests</li>
- <li>Cached Ajax - loads data via ajax to make suggestions when the prefix length
satisfies minchars attribute. Then all the suggestions done at client side except the case
when initial prefix changed or token entered. Then loads data again.</li>
- </ul>
- </p>
- <p>There you could see simple client side autocomplete:</p>
- <ui:include src="#{demoNavigator.sampleIncludeURI}" />
- <ui:include src="/templates/includes/source-view.xhtml">
- <ui:param name="src" value="#{demoNavigator.sampleIncludeURI}"
/>
- <ui:param name="sourceType" value="xhtml" />
- <ui:param name="openLabel" value="View Source" />
- <ui:param name="hideLabel" value="Hide Source" />
- </ui:include>
-</ui:composition>
-
-</html>
\ No newline at end of file
Added:
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tooltip/samples/tooltip-sample.xhtml
===================================================================
---
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tooltip/samples/tooltip-sample.xhtml
(rev 0)
+++
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tooltip/samples/tooltip-sample.xhtml 2010-10-29
11:57:39 UTC (rev 19761)
@@ -0,0 +1,95 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition
xmlns="http://www.w3.org/1999/xhtml"
+
xmlns:h="http://java.sun.com/jsf/html"
+
xmlns:f="http://java.sun.com/jsf/core"
+
xmlns:ui="http://java.sun.com/jsf/facelets"
+
xmlns:a4j="http://richfaces.org/a4j"
+
xmlns:rich="http://richfaces.org/rich">
+ <style>
+.tooltip {
+ background-color: #{richSkin.generalBackgroundColor};
+ border-width:3px;
+ padding:10px;
+}
+.tooltip-text {
+ width: 350px;
+ height: 80px;
+ cursor: arrow;
+ border-width: 2px;
+ text-align: center;
+ display: table-cell;
+ vertical-align: middle;
+}
+
+.tooltipData {
+ font-weight: bold;
+}
+</style>
+
+ <h:panelGrid columns="2">
+ <rich:panel id="sample1" styleClass="tooltip-text"
+ bodyClass="rich-laguna-panel-no-header">
+ <p>Here you can see <b>default client-side</b> tool-tip</p>
+ <rich:tooltip target="sample1" id="tt1"
label="123123231">
+ <span style="white-space: nowrap"> This tool-tip content was
+ <strong>pre-rendered</strong> to the page.<br />
+ The look of this tool-tip is 100% defined by skin. </span>
+ </rich:tooltip>
+ </rich:panel>
+ <rich:panel id="sample2" styleClass="tooltip-text"
+ bodyClass="rich-laguna-panel-no-header">
+ <p>This tool-tip will <b>follow mouse</b>. Also this tool-tip has
+ a <b>delay 0.5 sec</b>, so be patient!</p>
+ <rich:tooltip followMouse="true"
+ showDelay="500" styleClass="tooltip">
+ <span style="white-space: nowrap"> This tool-tip content also
+ <strong>pre-rendered</strong> to the page.<br />
+ However, the look of this tool-tip is customized<br />
+ by styleClass attribute. </span>
+ </rich:tooltip>
+ </rich:panel>
+ <h:form>
+ <rich:panel id="sample3" styleClass="tooltip-text"
+ bodyClass="rich-laguna-panel-no-header">
+ <p>This tool-tip rendered on server <b>in separate request</b>.
+ </p>
+ <rich:tooltip mode="ajax" styleClass="tooltip"
+ layout="block">
+ <f:facet name="defaultContent">
+ <strong>Wait...</strong>
+ </f:facet>
+ <span style="white-space: nowrap">This tool-tip content was
+ <strong>rendered on server</strong> </span>
+ <h:panelGrid columns="2">
+ <h:outputText style="white-space:nowrap"
+ value="tooltips requested:" />
+ <h:outputText value="#{tooltipData.tooltipCounter}"
+ styleClass="tooltipData" />
+ </h:panelGrid>
+ </rich:tooltip>
+ </rich:panel>
+ </h:form>
+ <h:form>
+ <rich:panel id="sample4" styleClass="tooltip-text"
+ bodyClass="rich-laguna-panel-no-header">
+ <p>This tool-tip will be <b>activated on mouse click</b>. It
+ also has a <b>bottom-left</b> position.</p>
+ <rich:tooltip showEvent="click"
+ mode="ajax" styleClass="tooltip" layout="block">
+ <f:facet name="defaultContent">
+ <strong>Wait...</strong>
+ </f:facet>
+ <span style="white-space: nowrap">This tool-tip content was
+ <strong>rendered on server</strong><br />
+ </span>
+ <h:panelGrid columns="2">
+ <h:outputText style="white-space:nowrap"
+ value="tooltips requested:" />
+ <h:outputText value="#{tooltipData.tooltipCounter}"
+ styleClass="tooltipData" />
+ </h:panelGrid>
+ </rich:tooltip>
+ </rich:panel>
+ </h:form>
+ </h:panelGrid>
+</ui:composition>
\ No newline at end of file
Added: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tooltip/tooltip.xhtml
===================================================================
--- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tooltip/tooltip.xhtml
(rev 0)
+++
trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tooltip/tooltip.xhtml 2010-10-29
11:57:39 UTC (rev 19761)
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html
xmlns="http://www.w3.org/1999/xhtml"
+
xmlns:h="http://java.sun.com/jsf/html"
+
xmlns:f="http://java.sun.com/jsf/core"
+
xmlns:ui="http://java.sun.com/jsf/facelets">
+
+<ui:composition>
+ <p>DESC</p>
+
+ <ui:include src="#{demoNavigator.sampleIncludeURI}" />
+ <ui:include src="/templates/includes/source-view.xhtml">
+ <ui:param name="src" value="#{demoNavigator.sampleIncludeURI}"
/>
+ <ui:param name="sourceType" value="xhtml" />
+ <ui:param name="openLabel" value="View Source" />
+ <ui:param name="hideLabel" value="Hide Source" />
+ </ui:include>
+</ui:composition>
+
+</html>
\ No newline at end of file