JBoss Rich Faces SVN: r4874 - in trunk/ui/drag-drop/src/main: java/org/richfaces/renderkit and 1 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: abelevich
Date: 2007-12-17 12:36:39 -0500 (Mon, 17 Dec 2007)
New Revision: 4874
Modified:
trunk/ui/drag-drop/src/main/config/component/dropSupport.xml
trunk/ui/drag-drop/src/main/java/org/richfaces/renderkit/DropzoneRendererContributor.java
trunk/ui/drag-drop/src/main/resources/org/richfaces/renderkit/html/scripts/simple-dropzone.js
Log:
add drop cursors support
Modified: trunk/ui/drag-drop/src/main/config/component/dropSupport.xml
===================================================================
--- trunk/ui/drag-drop/src/main/config/component/dropSupport.xml 2007-12-17 17:20:41 UTC (rev 4873)
+++ trunk/ui/drag-drop/src/main/config/component/dropSupport.xml 2007-12-17 17:36:39 UTC (rev 4874)
@@ -74,6 +74,14 @@
<defaultvalue>""</defaultvalue>
</property>
+ <property>
+ <name>cursorTypeMapping</name>
+ <classname>java.lang.Object</classname>
+ <description>
+ mapping between drop types and acceptable cursors
+ </description>
+ </property>
+
<!--
<property>
<name>param</name>
Modified: trunk/ui/drag-drop/src/main/java/org/richfaces/renderkit/DropzoneRendererContributor.java
===================================================================
--- trunk/ui/drag-drop/src/main/java/org/richfaces/renderkit/DropzoneRendererContributor.java 2007-12-17 17:20:41 UTC (rev 4873)
+++ trunk/ui/drag-drop/src/main/java/org/richfaces/renderkit/DropzoneRendererContributor.java 2007-12-17 17:36:39 UTC (rev 4874)
@@ -116,6 +116,17 @@
}
addOption("typeMapping", typeMapping);
+ Object cursorTypeMapping = zone.getCursorTypeMapping();
+ if (cursorTypeMapping instanceof String) {
+ try {
+ cursorTypeMapping = new JSONMap((String)cursorTypeMapping);
+ } catch (JSONException e) {
+ throw new FacesException(e);
+ }
+ }
+
+ addOption("cursorTypeMapping", cursorTypeMapping);
+
String acceptCursors = zone.getAcceptCursors();
if (!acceptCursors.equals("")) {
acceptCursors = convertCursorStyle(acceptCursors);
Modified: trunk/ui/drag-drop/src/main/resources/org/richfaces/renderkit/html/scripts/simple-dropzone.js
===================================================================
--- trunk/ui/drag-drop/src/main/resources/org/richfaces/renderkit/html/scripts/simple-dropzone.js 2007-12-17 17:20:41 UTC (rev 4873)
+++ trunk/ui/drag-drop/src/main/resources/org/richfaces/renderkit/html/scripts/simple-dropzone.js 2007-12-17 17:36:39 UTC (rev 4874)
@@ -23,6 +23,12 @@
this.typeMapping = {};
}
+ if (options.cursorTypeMapping) {
+ this.cursorTypeMapping = options.cursorTypeMapping;
+ } else {
+ this.cursorTypeMapping = {};
+ }
+
this.mouseoverBound = this.mouseover.bindAsEventListener(this);
this.mouseoutBound = this.mouseout.bindAsEventListener(this);
this.mouseupBound = this.mouseup.bindAsEventListener(this);
@@ -74,6 +80,11 @@
getTypeMapping: function() {
return this.typeMapping;
},
+
+ getCursorTypeMapping: function() {
+ return this.cursorTypeMapping;
+ },
+
drop: function(event, drag){
alert('I drop');
},
16 years, 10 months
JBoss Rich Faces SVN: r4873 - branches/3.1.x/docs/userguide/en/src/main/docbook/included.
by richfaces-svn-commits@lists.jboss.org
Author: vkorluzhenko
Date: 2007-12-17 12:20:41 -0500 (Mon, 17 Dec 2007)
New Revision: 4873
Modified:
branches/3.1.x/docs/userguide/en/src/main/docbook/included/orderingList.desc.xml
branches/3.1.x/docs/userguide/en/src/main/docbook/included/orderingList.xml
Log:
http://jira.jboss.com/jira/browse/RF-1184 - fixed errors
Modified: branches/3.1.x/docs/userguide/en/src/main/docbook/included/orderingList.desc.xml
===================================================================
--- branches/3.1.x/docs/userguide/en/src/main/docbook/included/orderingList.desc.xml 2007-12-17 17:20:01 UTC (rev 4872)
+++ branches/3.1.x/docs/userguide/en/src/main/docbook/included/orderingList.desc.xml 2007-12-17 17:20:41 UTC (rev 4873)
@@ -23,7 +23,8 @@
<listitem>Reordering and sorting possibilities for list items</listitem>
<!--listitem>Customizable component layout (captions, headers, list items and ordering control set)</listitem-->
<!--listitem>Disabled/enabled ordering controls</listitem-->
- <listitem>Multiple selection of list items</listitem>
+ <listitem>Multiple selection of list items</listitem>
+ <listitem>Keyboard support</listitem>
<!--listitem>Possibility to manage selection from
<itemizedlist>
<listitem>Keyboard</listitem>
Modified: branches/3.1.x/docs/userguide/en/src/main/docbook/included/orderingList.xml
===================================================================
--- branches/3.1.x/docs/userguide/en/src/main/docbook/included/orderingList.xml 2007-12-17 17:20:01 UTC (rev 4872)
+++ branches/3.1.x/docs/userguide/en/src/main/docbook/included/orderingList.xml 2007-12-17 17:20:41 UTC (rev 4873)
@@ -59,7 +59,7 @@
<f:facet name="header">
<h:outputText value="Name" />
</f:facet>
- <h:inputText value="#{item.name}" />
+ <h:inputText value="#{list.name}" />
</rich:column>
<rich:orderingList>
...]]></programlisting>
@@ -98,21 +98,21 @@
<property> "value"</property>
</emphasis> and <emphasis>
<property>"var" </property>
- </emphasis> attributes are used to access the values of a list.
- </para>
-
- <para>Controls rendering is based on the <emphasis>
+ </emphasis> attributes are used to access the values of a list. </para>
+
+ <!--para>Controls rendering is based on the <emphasis>
<property>"controlsType" </property>
- </emphasis> attribute. Possible types are button<!--, link--> or none.
- </para>
-
- <para>
- The <emphasis>
+ </emphasis> attribute. Possible types are button or none.
+ </para-->
+
+ <para> The <emphasis>
<property>"selection" </property>
- </emphasis> attribute stores the collection of items selected by user. After submitting the form the current collection is placed in the object's property and then
- <emphasis role="bold"><property><rich:dataTable></property></emphasis> with selected items will be shown.
- </para>
-
+ </emphasis> attribute stores the collection of items selected by user. In the example
+ below after submitting the form the current collection is placed in the object's
+ property and then <emphasis role="bold">
+ <property><rich:dataTable></property>
+ </emphasis> with selected items will be shown. </para>
+
<para>
<emphasis role="bold">Example:</emphasis>
</para>
@@ -137,16 +137,12 @@
<para> The <emphasis role="bold">
<property><rich:orderingList></property>
</emphasis> component allows to use <emphasis>
- <property>"caption"</property>
- </emphasis>, <emphasis>
<property>"header"</property>
- </emphasis>
-
+ </emphasis>
<!--and <emphasis>
<property>"footer" </property>
- </emphasis> --> facets. A caption could be also defined with <emphasis>
- <property>"captionLabel"</property>
- </emphasis> attribute.</para>
+ </emphasis> -->
+ facets. </para>
<!-- ADD SCREENSHOT-->
@@ -176,16 +172,19 @@
<!-- ordering control set-->
<para>The <emphasis role="bold">
- <property><rich:orderingList></property>
- </emphasis> component provides the possibility to use <property>ordering controls
- set</property>, which performs reordering. Every control has possibility to be disabled.
- </para>
- <para>An <property>ordering controls set</property> could be defined with
- <emphasis><property>"topControlLabel"</property></emphasis>, <emphasis><property>"bottomControlLabel"</property></emphasis>,
- <emphasis><property>"upControlLabel"</property></emphasis>, <emphasis><property>"downControlLabel"</property></emphasis>attributes.
- </para>
- <para>It is also possible to use
- <emphasis>
+ <property><rich:orderingList></property>
+ </emphasis> component provides the possibility to use <property>ordering controls
+ set</property>, which performs reordering. Every control has possibility to be disabled. </para>
+ <para>An <property>ordering controls set</property> could be defined with <emphasis>
+ <property>"topControlLabel"</property>
+ </emphasis>, <emphasis>
+ <property>"bottomControlLabel"</property>
+ </emphasis>, <emphasis>
+ <property>"upControlLabel"</property>
+ </emphasis>, <emphasis>
+ <property>"downControlLabel"</property>
+ </emphasis>attributes. </para>
+ <para>It is also possible to use <emphasis>
<property> "topControl" </property>
</emphasis>, <emphasis>
<property>"topControlDisabled"</property>
@@ -201,8 +200,7 @@
<property> "downControl"</property>
</emphasis> , <emphasis>
<property> "downControlDisabled" </property>
- </emphasis> facets in order to replace the default controls with facets content.
- </para>
+ </emphasis> facets in order to replace the default controls with facets content. </para>
<para>
<emphasis role="bold">Example:</emphasis>
</para>
@@ -328,12 +326,8 @@
already present in a list</entry>
</row>
<row>
- <entry>Space</entry>
- <entry>Inverts selection on the active element</entry>
- </row>
- <row>
<entry>Up, Down arrows</entry>
- <entry>Changes the active elements to the next or previous in a list</entry>
+ <entry>Changes the active and selected elements to the next or previous in a list</entry>
</row>
</tbody>
</tgroup>
@@ -352,11 +346,11 @@
<tbody>
<!--Sorting API -->
<row>
- <entry>Top</entry>
+ <entry>Page Up</entry>
<entry>Moves selected set to the top of a list</entry>
</row>
<row>
- <entry>Bottom</entry>
+ <entry>Page Down</entry>
<entry>Moves selected set to the bottomof a list</entry>
</row>
<row>
@@ -399,7 +393,7 @@
<entry>Inverts current sorting</entry>
</row>
-->
-
+
<!--Controls common API -->
<row>
<entry>Hide()</entry>
@@ -475,7 +469,7 @@
<section>
<title>Skin Parameters Redefinition</title>
-
+
<table>
<title>Skin parameters redefinition for a wrapper <div> element of a list</title>
<tgroup cols="2">
@@ -497,7 +491,7 @@
</tbody>
</tgroup>
</table>
-
+
<table>
<title>Skin parameters redefinition for a header cell of a list</title>
<tgroup cols="2">
@@ -524,7 +518,7 @@
<entry>headerSizeFont</entry>
<entry>font-size</entry>
</row>
-
+
<row>
<entry>tableBorderWidth</entry>
<entry>border-right-width</entry>
@@ -544,7 +538,7 @@
</tbody>
</tgroup>
</table>
-
+
<table>
<title>Skin parameters redefinition for caption element</title>
<tgroup cols="2">
@@ -570,7 +564,7 @@
</tbody>
</tgroup>
</table>
-
+
<table>
<title>Skin parameters redefinition for row element</title>
<tgroup cols="2">
@@ -588,7 +582,7 @@
</tbody>
</tgroup>
</table>
-
+
<table>
<title>Skin parameters redefinition for selected row element</title>
<tgroup cols="2">
@@ -606,7 +600,7 @@
</tbody>
</tgroup>
</table>
-
+
<table>
<title>Skin parameters redefinition for cell element</title>
<tgroup cols="2">
@@ -632,7 +626,7 @@
</tbody>
</tgroup>
</table>
-
+
<table>
<title>Skin parameters redefinition for selected cell element</title>
<tgroup cols="2">
@@ -658,7 +652,7 @@
</tbody>
</tgroup>
</table>
-
+
<table>
<title>Skin parameters redefinition for active cell element</title>
<tgroup cols="2">
@@ -680,7 +674,7 @@
</tbody>
</tgroup>
</table>
-
+
<table>
<title>Skin parameters redefinition for a button</title>
<tgroup cols="2">
@@ -710,7 +704,7 @@
</tbody>
</tgroup>
</table>
-
+
<table>
<title>Skin parameters redefinition for a disabled button</title>
<tgroup cols="2">
@@ -740,7 +734,7 @@
</tbody>
</tgroup>
</table>
-
+
<table>
<title>Skin parameters redefinition for a button highlight</title>
<tgroup cols="2">
@@ -778,7 +772,7 @@
</tbody>
</tgroup>
</table>
-
+
<table>
<title>Skin parameters redefinition for a pressed button</title>
<tgroup cols="2">
@@ -816,7 +810,7 @@
</tbody>
</tgroup>
</table>
-
+
<table>
<title>Skin parameters redefinition for a button content</title>
<tgroup cols="2">
@@ -838,7 +832,7 @@
</tbody>
</tgroup>
</table>
-
+
<table>
<title>Skin parameters redefinition for a button selection</title>
<tgroup cols="2">
@@ -856,9 +850,10 @@
</tbody>
</tgroup>
</table>
-
+
<table>
- <title>Skin parameters redefinition for top, bottom, up, down controls and for controls in disabled state</title>
+ <title>Skin parameters redefinition for top, bottom, up, down controls and for controls
+ in disabled state</title>
<tgroup cols="2">
<thead>
<row>
@@ -874,7 +869,7 @@
</tbody>
</tgroup>
</table>
-
+
</section>
<section>
@@ -885,7 +880,7 @@
<figure>
<title>Style classes</title>
-
+
<mediaobject>
<imageobject>
<imagedata fileref="images/orderingList_classes.png" scalefit="1"/>
@@ -909,11 +904,13 @@
</row>
<row>
<entry>rich-ordering-list-output</entry>
- <entry>Defines styles for a wrapper <div> element of a list</entry>
+ <entry>Defines styles for a wrapper <div> element of a
+ list</entry>
</row>
<row>
<entry>rich-ordering-list-items</entry>
- <entry>Defines styles for a wrapper table element of items in the list</entry>
+ <entry>Defines styles for a wrapper table element of items in the
+ list</entry>
</row>
<row>
<entry>rich-ordering-list-content</entry>
@@ -921,11 +918,13 @@
</row>
<row>
<entry>rich-ordering-list-header</entry>
- <entry>Defines styles for a wrapper <div> element for a list header</entry>
+ <entry>Defines styles for a wrapper <div> element for a list
+ header</entry>
</row>
<row>
<entry>rich-ordering-list-table-header</entry>
- <entry>Defines styles for a wrapper <tr> element for a list header</entry>
+ <entry>Defines styles for a wrapper <tr> element for a list
+ header</entry>
</row>
<row>
<entry>rich-ordering-list-table-header-cell</entry>
@@ -934,7 +933,7 @@
</tbody>
</tgroup>
</table>
-
+
<table>
<title>Classes names that define a caption representation</title>
<tgroup cols="2">
@@ -961,7 +960,7 @@
</tgroup>
</table>
-
+
<table>
<title>Classes names that define rows representation</title>
<tgroup cols="2">
@@ -1057,18 +1056,20 @@
</row>
<row>
<entry>rich-ordering-list-button-valign</entry>
- <entry>Defines styles for a wrapper <td> element for buttons vertical align</entry>
+ <entry>Defines styles for a wrapper <td> element for buttons
+ vertical align</entry>
</row>
<row>
<entry>rich-ordering-list-button-layout</entry>
- <entry>Defines styles for a wrapper <div> element of buttons layout</entry>
+ <entry>Defines styles for a wrapper <div> element of buttons
+ layout</entry>
</row>
</tbody>
</tgroup>
</table>
-
-
-
+
+
+
<table>
<title>Classes names that define controls representation</title>
<tgroup cols="2">
@@ -1117,13 +1118,14 @@
<property><rich:orderingList></property>
</emphasis> component attributes.</para>
</section>
-
+
<section>
<title>Relevant Resources Links</title>
- <para><ulink url="http://livedemo.exadel.com/richfaces-demo/richfaces/orderingList.jsf?c=or..."
- >Here</ulink> you can see an example of <emphasis role="bold">
+ <para><ulink
+ url="http://livedemo.exadel.com/richfaces-demo/richfaces/orderingList.jsf?c=or..."
+ >Here</ulink> you can see an example of <emphasis role="bold">
<property><rich:orderingList></property>
</emphasis> usage and sources for the given example. </para>
</section>
-
+
</section>
16 years, 10 months
JBoss Rich Faces SVN: r4872 - branches/3.1.x/docs/userguide/en/src/main/docbook/included.
by richfaces-svn-commits@lists.jboss.org
Author: vkorluzhenko
Date: 2007-12-17 12:20:01 -0500 (Mon, 17 Dec 2007)
New Revision: 4872
Modified:
branches/3.1.x/docs/userguide/en/src/main/docbook/included/listShuttle.desc.xml
branches/3.1.x/docs/userguide/en/src/main/docbook/included/listShuttle.xml
Log:
http://jira.jboss.com/jira/browse/RF-1174-fixed errors
Modified: branches/3.1.x/docs/userguide/en/src/main/docbook/included/listShuttle.desc.xml
===================================================================
--- branches/3.1.x/docs/userguide/en/src/main/docbook/included/listShuttle.desc.xml 2007-12-17 15:43:36 UTC (rev 4871)
+++ branches/3.1.x/docs/userguide/en/src/main/docbook/included/listShuttle.desc.xml 2007-12-17 17:20:01 UTC (rev 4872)
@@ -23,6 +23,7 @@
<listitem>Highly customizable look and feel</listitem>
<listitem>Reordering and sorting possibilities for lists items</listitem>
<listitem>Multiple selection of lists items</listitem>
+ <listitem>Keyboard support</listitem>
<!--listitem> Built-In Drag-and-Drop support</listitem-->
</itemizedlist>
</section>
Modified: branches/3.1.x/docs/userguide/en/src/main/docbook/included/listShuttle.xml
===================================================================
--- branches/3.1.x/docs/userguide/en/src/main/docbook/included/listShuttle.xml 2007-12-17 15:43:36 UTC (rev 4871)
+++ branches/3.1.x/docs/userguide/en/src/main/docbook/included/listShuttle.xml 2007-12-17 17:20:01 UTC (rev 4872)
@@ -13,7 +13,7 @@
<emphasis role="bold">Example:</emphasis>
</para>
<programlisting role="XML"><![CDATA[...
-<rich:listShuttle var="item" sourceValue="#{bean.source}" targetValue="#{bean.target}" sourceSelection="#{bean.sourceSelection}" targetSelection="#{bean.targetSelection}">
+<rich:listShuttle var="item" sourceValue="#{bean.source}" targetValue="#{bean.target}" converter="listShuttleconverter">
<f:facet name="sourceCaption">
<h:outputText value="Cars Store #1" />
</f:facet>
@@ -46,45 +46,19 @@
</emphasis> component consists of the following parts: <itemizedlist>
<listitem>two <property>item lists</property> (source and target). List consists of
items. Each item has three different representations: common, selected, active</listitem>
- <listitem>optional <property>caption</property>, <property>header</property><!--(sorted
- and non-sorted), <property>footer</property>--> elements</listitem>
- <listitem><property>copy/moving controls set</property> is a set of controls, which
- performs moving/copying items between lists</listitem>
<listitem><property>optional ordering controls set</property> is a set of controls
that performs reordering</listitem>
</itemizedlist>
</para>
- <para>The <emphasis role="bold">
- <property><rich:listShuttle></property>
- </emphasis> component provides to use <emphasis>
- <property>"source"</property>
- </emphasis> and <emphasis>
- <property>"target"</property>
- </emphasis> facets. It is possible to use the facets only together defined. In case the
- facets definition skipped both lists contain the columns defined nested to listShuttle
- component.</para>
- <para>Here is a simple example as it could be used on a page.</para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
-<rich:listShuttle var="item" sourceValue="#{bean.source}" targetValue="#{bean.target}" sourceSelection="#{bean.sourceSelection}" targetSelection="#{bean.targetSelection}">
- <f:facet name="source">
- <rich:column>
- <h:outputText value="#{list.text}"/>
- </rich:column>
- </f:facet>
- <f:facet name="target">
- <rich:column>
- <h:outputText value="#{item.name}" />
- </rich:column>
- <rich:column>
- <h:outputText value="#{item.price}" />
- </rich:column>
- </f:facet>
-<rich:listShuttle>
-...]]></programlisting>
- <!-- ADD SCREESHOT-->
+ <para> The <emphasis>
+ <property>"sourceValue" </property>
+ </emphasis> attribute defines the collection to be shown in source list.</para>
+ <para>The <emphasis>
+ <property>"targetValue" </property>
+ </emphasis> attribute defines the collection to store the value from target list.</para>
+ <para> The <emphasis>
+ <property>"var" </property>
+ </emphasis> could be shared between both collections to defined lists on the page.</para>
<para>Captions could be added to a list only after it was defined as a <emphasis>
<property>"sourceCaption"</property>
</emphasis> and <emphasis>
@@ -144,55 +118,10 @@
<rich:orderingList>
...
]]></programlisting>
- <!-- copy/move control set -->
- <para>The <emphasis role="bold">
- <property><rich:listShuttle></property>
- </emphasis>component also provides 4 predefined controls in <property>move/copy
- controls set</property> for moving or copying items between source and target lists.
- Every control has possibility to be disabled. </para>
- <para>A <property>move/copy
- controls set</property> could be defined with
- <emphasis><property>"copyControlLabel"</property></emphasis>, <emphasis><property>"removeControlLabel"</property></emphasis>,
- <emphasis><property>"copyAllControlLabel"</property></emphasis>, <emphasis><property>"removeAllControlLabel"</property></emphasis>attributes.
- </para>
- <para>It is also possible to use
- <emphasis>
- <property>"copyControl" </property>
- </emphasis>,
- <!--<emphasis>
- <property>"copy_disabled" </property>
- </emphasis>, -->
- <emphasis>
- <property>"removeControl" </property>
- </emphasis>,
- <!--<emphasis>
- <property>"remove_disabled" </property>
- </emphasis>, -->
- <emphasis>
- <property>"copyAllControl" </property>
- </emphasis>,
- <!--<emphasis>
- <property>"copyAll_disabled" </property>
- </emphasis>, -->
- <emphasis>
- <property>"removeAllControl" </property>
- </emphasis>
- <!--<emphasis>
- <property>"removeAll_disabled" </property>
- </emphasis>--> facets in order to replace the default controls with facets content.
- </para>
- <!-- attributes -->
- <para> The <emphasis>
- <property>"sourceValue" </property>
- </emphasis> attribute defines the collection to be shown in source list.</para>
- <para>The <emphasis>
- <property>"targetValue" </property>
- </emphasis> attribute defines the collection to store the value from target list.</para>
- <para> The <emphasis>
- <property>"var" </property>
- </emphasis> could be shared between both collections to defined lists on the page.</para>
+
+
<!--para>Controls rendering is based on the <emphasis>
<property>"controlsType" </property>
</emphasis> attribute. Possible types are <property>button</property> and
@@ -260,13 +189,9 @@
already present in a list</entry>
</row>
<row>
- <entry>Space</entry>
- <entry>Inverts selection on the active element</entry>
- </row>
- <row>
<entry>Up, Down arrows</entry>
<entry>Changes the active element to the next or previous in a list and make
- it the only selected. Scroll should follow the selection to keep it
+ it the only selected. Scroll follows the selection to keep it
visible</entry>
</row>
</tbody>
16 years, 10 months
JBoss Rich Faces SVN: r4871 - trunk/ui/calendar/src/main/java/org/richfaces/renderkit.
by richfaces-svn-commits@lists.jboss.org
Author: akushunin
Date: 2007-12-17 10:43:36 -0500 (Mon, 17 Dec 2007)
New Revision: 4871
Modified:
trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
Log:
RF-1461 additional commit
Modified: trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
===================================================================
--- trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java 2007-12-17 15:18:47 UTC (rev 4870)
+++ trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java 2007-12-17 15:43:36 UTC (rev 4871)
@@ -31,6 +31,7 @@
import java.util.Iterator;
import java.util.Locale;
import java.util.Map;
+import java.util.MissingResourceException;
import java.util.ResourceBundle;
import java.util.Set;
@@ -522,17 +523,40 @@
ResponseWriter writer = context.getResponseWriter();
writer.writeText("\n labels:{", null);
- if (null != bundle && messageBundle.contains("rich_calendar_labels")) {
-
- String applyLabel = bundle.getString("applyLabel");
- writer.writeText("apply:'"+applyLabel + "', ", null);
- String todayLabel = bundle.getString("todayLabel");
- writer.writeText("today:'"+todayLabel + "', ", null);
- String cleanLabel = bundle.getString("cleanLabel");
- writer.writeText("clean:'"+cleanLabel + "', ", null);
- String closeLabel = bundle.getString("closeLabel");
- writer.writeText("close:'"+closeLabel+"', ", null);
+ if (null != bundle && messageBundle.contains("calendar")) {
+ try {
+ String applyLabel = bundle.getString("applyLabel");
+ writer.writeText("apply:'"+applyLabel + "', ", null);
+ } catch (MissingResourceException e) {
+ // Current key wasn't found in bundle use default
+ writer.writeText("apply:'Apply', ", null);
+ }
+
+ try {
+ String todayLabel = bundle.getString("todayLabel");
+ writer.writeText("today:'"+todayLabel + "', ", null);
+ } catch (MissingResourceException e) {
+ // Current key wasn't found in bundle use default
+ writer.writeText("today:'Today', ", null);
+ }
+
+ try {
+ String cleanLabel = bundle.getString("cleanLabel");
+ writer.writeText("clean:'"+cleanLabel + "', ", null);
+ } catch (MissingResourceException e) {
+ // Current key wasn't found in bundle use default
+ writer.writeText("clean:'Clean', ", null);
+ }
+
+ try {
+ String closeLabel = bundle.getString("closeLabel");
+ writer.writeText("close:'"+closeLabel+"', ", null);
+ } catch (MissingResourceException e) {
+ // Current key wasn't found in bundle use default
+ writer.writeText("close:'Close', ", null);
+ }
+
}else{
writer.writeText("apply:'Apply', today:'Today', clean:'Clean', close:'X'", null);
}
16 years, 10 months
JBoss Rich Faces SVN: r4870 - in trunk/ui/calendar/src/main: templates/org/richfaces and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: akushunin
Date: 2007-12-17 10:18:47 -0500 (Mon, 17 Dec 2007)
New Revision: 4870
Modified:
trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
trunk/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx
Log:
RF-1416 Server side code implemented.
Modified: trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
===================================================================
--- trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java 2007-12-15 03:03:34 UTC (rev 4869)
+++ trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java 2007-12-17 15:18:47 UTC (rev 4870)
@@ -21,8 +21,6 @@
package org.richfaces.renderkit;
-
-
import java.io.IOException;
import java.text.DateFormatSymbols;
import java.text.Format;
@@ -33,6 +31,7 @@
import java.util.Iterator;
import java.util.Locale;
import java.util.Map;
+import java.util.ResourceBundle;
import java.util.Set;
import javax.faces.component.UIComponent;
@@ -72,9 +71,10 @@
public static final String DATE_SCROLL = "DateScroll";
protected static final String MARKUP_SUFFIX = "Markup";
-
- private final static Log log = LogFactory.getLog(CalendarRendererBase.class);
+ private final static Log log = LogFactory
+ .getLog(CalendarRendererBase.class);
+
/*
* (non-Javadoc)
*
@@ -90,16 +90,13 @@
AjaxContext ajaxContext = AjaxContext.getCurrentInstance(context);
Set ajaxRenderedAreas = ajaxContext.getAjaxRenderedAreas();
String clientId = component.getClientId(context);
-
+
if (ajaxContext.isAjaxRequest() && ajaxRenderedAreas.contains(clientId)) {
- ajaxRenderedAreas.add(
- clientId + "Popup");
+ ajaxRenderedAreas.add(clientId + "Popup");
- ajaxRenderedAreas.add(
- clientId + "IFrame");
+ ajaxRenderedAreas.add(clientId + "IFrame");
- ajaxRenderedAreas.add(
- clientId + "Script");
+ ajaxRenderedAreas.add(clientId + "Script");
}
}
@@ -210,7 +207,7 @@
if (facet != null && facet.isRendered()) {
ResponseWriter writer = context.getResponseWriter();
writer.writeText(",\n " + facetName + MARKUP_SUFFIX + ": ", null);
- writeMarkupScriptBody(context, facet, false);
+ writeMarkupScriptBody(context, facet, false);
}
}
@@ -338,16 +335,15 @@
public String getInputValue(FacesContext context, UIComponent component) {
UICalendar input = (UICalendar) component;
// XXX nick - nick - can contain either Date or String instance
- //Fix for myFaces 1.1.x RF-997
+ // Fix for myFaces 1.1.x RF-997
Date value = null;
try {
value = input.getAsDate(input.getSubmittedValue());
} catch (Exception e) {
if (log.isDebugEnabled()) {
- log.debug(" InputValue: "
- + e.toString(), e);
+ log.debug(" InputValue: " + e.toString(), e);
}
- value = null;
+ value = null;
}
Date curVal = input.getAsDate(input.getValue());
@@ -454,38 +450,39 @@
return String.valueOf(cal.getMinimalDaysInFirstWeek());
}
- public String getCurrentDateAsString(FacesContext context, UICalendar calendar, Date date)
- throws IOException {
-
+ public String getCurrentDateAsString(FacesContext context,
+ UICalendar calendar, Date date) throws IOException {
+
Format formatter = new SimpleDateFormat("MM/yyyy");
return formatter.format(date);
}
- public String getCurrentDate(FacesContext context, UICalendar calendar, Date date)
- throws IOException {
+ public String getCurrentDate(FacesContext context, UICalendar calendar,
+ Date date) throws IOException {
return ScriptUtils.toScript(formatDate(date));
}
public String getSelectedDate(FacesContext context, UICalendar calendar)
throws IOException {
-
- //Fix for myFaces 1.1.x RF-997
- Date date;
- if(calendar.isValid()){
- Date submittedValue = calendar.getAsDate(calendar.getSubmittedValue());
+
+ // Fix for myFaces 1.1.x RF-997
+ Date date;
+ if (calendar.isValid()) {
+ Date submittedValue = calendar.getAsDate(calendar
+ .getSubmittedValue());
if (submittedValue != null) {
date = submittedValue;
} else {
date = calendar.getAsDate(calendar.getValue());
}
- }else{
+ } else {
date = calendar.getAsDate(calendar.getValue());
- //Date submittedValue = null;
- }
+ // Date submittedValue = null;
+ }
if (date != null) {
return ScriptUtils.toScript(formatSelectedDate(date));
- //TODO KAA Add ServerTime Processing;
+ // XXX KAA Add ServerTime Processing;
}
return ScriptUtils.toScript(null);
@@ -501,7 +498,7 @@
return result;
}
-
+
public static Object formatSelectedDate(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
@@ -509,9 +506,36 @@
result.addParameter(Integer.valueOf(calendar.get(Calendar.YEAR)));
result.addParameter(Integer.valueOf(calendar.get(Calendar.MONTH)));
result.addParameter(Integer.valueOf(calendar.get(Calendar.DATE)));
- result.addParameter(Integer.valueOf(calendar.get(Calendar.HOUR_OF_DAY)));
+ result
+ .addParameter(Integer.valueOf(calendar
+ .get(Calendar.HOUR_OF_DAY)));
result.addParameter(Integer.valueOf(calendar.get(Calendar.MINUTE)));
- result.addParameter(new Integer(0));
+ result.addParameter(new Integer(0));
return result;
}
+
+ public void writeLabels(FacesContext context, UICalendar calendar)
+ throws IOException {
+
+ String messageBundle = context.getApplication().getMessageBundle();
+ ResourceBundle bundle = ResourceBundle.getBundle(messageBundle);
+ ResponseWriter writer = context.getResponseWriter();
+ writer.writeText("\n labels:{", null);
+
+ if (null != bundle && messageBundle.contains("rich_calendar_labels")) {
+
+ String applyLabel = bundle.getString("applyLabel");
+ writer.writeText("apply:'"+applyLabel + "', ", null);
+ String todayLabel = bundle.getString("todayLabel");
+ writer.writeText("today:'"+todayLabel + "', ", null);
+ String cleanLabel = bundle.getString("cleanLabel");
+ writer.writeText("clean:'"+cleanLabel + "', ", null);
+ String closeLabel = bundle.getString("closeLabel");
+ writer.writeText("close:'"+closeLabel+"', ", null);
+
+ }else{
+ writer.writeText("apply:'Apply', today:'Today', clean:'Clean', close:'X'", null);
+ }
+ writer.writeText("};\n", null);
+ }
}
Modified: trunk/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx
===================================================================
--- trunk/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx 2007-12-15 03:03:34 UTC (rev 4869)
+++ trunk/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx 2007-12-17 15:18:47 UTC (rev 4870)
@@ -12,7 +12,7 @@
<h:scripts>new org.ajax4jsf.javascript.PrototypeScript(),new org.ajax4jsf.javascript.AjaxScript(),/org/richfaces/renderkit/html/scripts/events.js,/org/richfaces/renderkit/html/scripts/utils.js,/org/richfaces/renderkit/html/scripts/json/json-dom.js,/org/richfaces/renderkit/html/scripts/scriptaculous/effects.js,/org/richfaces/renderkit/html/scripts/jquery/jquery.js,/org/richfaces/renderkit/html/scripts/jquery/jquery.js,/org/richfaces/renderkit/html/scripts/JQuerySpinBtn.js,/org/richfaces/renderkit/html/scripts/calendar.js</h:scripts>
<h:styles>/org/richfaces/renderkit/html/css/calendar.xcss</h:styles>
-
+
<f:call name="addPopupToAjaxRendered" />
<span id="#{clientId}Popup"
@@ -50,7 +50,7 @@
<f:resource
name="org.richfaces.renderkit.html.iconimages.DisabledCalendarIcon"
var="disabledIcon" />
-
+
<input id="#{clientId}InputDate"
name="#{clientId}InputDate"
value="#{this:getInputValue(context,component)}" type="#{type}"
@@ -228,6 +228,7 @@
writePreloadBody(context, component);
/*]]>*/</jsp:scriptlet>
);
+ <f:call name="writeLabels" />
</script>
</div>
</f:root>
16 years, 10 months
JBoss Rich Faces SVN: r4869 - trunk/extensions/portletbridge/portletbridge-impl/src/main/java/org/ajax4jsf/portlet.
by richfaces-svn-commits@lists.jboss.org
Author: wesleyhales
Date: 2007-12-14 22:03:34 -0500 (Fri, 14 Dec 2007)
New Revision: 4869
Modified:
trunk/extensions/portletbridge/portletbridge-impl/src/main/java/org/ajax4jsf/portlet/ExceptionHandlerImpl.java
Log:
initial implementation of seam portlet error handling
Modified: trunk/extensions/portletbridge/portletbridge-impl/src/main/java/org/ajax4jsf/portlet/ExceptionHandlerImpl.java
===================================================================
--- trunk/extensions/portletbridge/portletbridge-impl/src/main/java/org/ajax4jsf/portlet/ExceptionHandlerImpl.java 2007-12-14 19:21:13 UTC (rev 4868)
+++ trunk/extensions/portletbridge/portletbridge-impl/src/main/java/org/ajax4jsf/portlet/ExceptionHandlerImpl.java 2007-12-15 03:03:34 UTC (rev 4869)
@@ -1,34 +1,185 @@
/**
- *
+ *
*/
package org.ajax4jsf.portlet;
+import org.ajax4jsf.portlet.application.PortletViewState;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.w3c.dom.Document;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Node;
+import org.xml.sax.SAXException;
+
+
import javax.faces.context.FacesContext;
+import javax.faces.context.FacesContextFactory;
import javax.portlet.faces.BridgeException;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathFactory;
+import javax.xml.xpath.XPathExpressionException;
+import java.io.IOException;
+import java.io.InputStream;
-import org.ajax4jsf.portlet.application.PortletViewState;
-
/**
* @author asmirnov
- *
+ * @author <a href="mailto:whales@redhat.com">Wesley Hales</a>
*/
-public class ExceptionHandlerImpl implements ExceptionHandler {
- /* (non-Javadoc)
- * @see org.ajax4jsf.portlet.ExceptionHandler#processActionException(javax.faces.context.FacesContext, org.ajax4jsf.portlet.application.PortletViewState, java.lang.Exception)
- */
- public void processActionException(FacesContext context,
- PortletViewState windowState, Exception e) throws BridgeException {
- throw new BridgeException("Error processing action lifecycle",e);
+public class ExceptionHandlerImpl implements ExceptionHandler
+{
+ protected static final Log log = LogFactory.getLog(ExceptionHandlerImpl.class);
- }
+ private static final String seamPages = "WEB-INF/pages.xml";
- /* (non-Javadoc)
- * @see org.ajax4jsf.portlet.ExceptionHandler#processRenderException(javax.faces.context.FacesContext, org.ajax4jsf.portlet.application.PortletViewState, java.lang.Exception)
- */
- public void processRenderException(FacesContext context,
- PortletViewState windowState, Exception e) throws BridgeException {
- throw new BridgeException("Error processing render lifecycle",e);
- }
+ private Document getPagesDocument(String file)
+ {
+ Document document = null;
+ InputStream stream = getResourceAsStream(file);
+ if (stream == null)
+ {
+ log.info("no pages.xml file found: " + file);
+ }
+ else
+ {
+ log.debug("reading pages.xml file: " + file);
+ try
+ {
+ //get the dom from pages.xml
+ document = parse(stream);
+ }
+ catch (IOException ioe)
+ {
+ log.error("error reading pages.xml file:" + ioe);
+ }
+ catch (SAXException sax)
+ {
+ log.error("sax exception:" + sax);
+ Exception embed = sax.getException();
+ embed.printStackTrace();
+ }
+ catch (ParserConfigurationException pce)
+ {
+ log.error("parser configuration issue while reading pages.xml file:" + pce);
+ }
+ }
+ return document;
+ }
+
+ /* (non-Javadoc)
+ * @see org.ajax4jsf.portlet.ExceptionHandler#processActionException(javax.faces.context.FacesContext, org.ajax4jsf.portlet.application.PortletViewState, java.lang.Exception)
+ */
+ public void processActionException(FacesContext context,
+ PortletViewState windowState, Exception e) throws BridgeException
+ {
+ throw new BridgeException("Error processing action lifecycle", e);
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.ajax4jsf.portlet.ExceptionHandler#processRenderException(javax.faces.context.FacesContext, org.ajax4jsf.portlet.application.PortletViewState, java.lang.Exception)
+ */
+ public void processRenderException(FacesContext context,
+ PortletViewState windowState, Exception e) throws BridgeException
+ {
+ Document seamPagesDoc = getPagesDocument(seamPages);
+
+ if (seamPagesDoc != null)
+ {
+ try
+ {
+ //TODO
+ context.getExternalContext().redirect(getExceptionViewId(seamPagesDoc, e));
+ }
+ catch (IOException e1)
+ {
+ e1.printStackTrace();
+ }
+ catch (XPathExpressionException e1)
+ {
+ e1.printStackTrace();
+ }
+
+ }
+ else
+ {
+ log.info("seam pages.xml not installed");
+ }
+ throw new BridgeException("Error processing render lifecycle", e);
+ }
+
+ private Document parse(InputStream stream) throws IOException, SAXException, ParserConfigurationException
+ {
+ DocumentBuilderFactory factory =
+ DocumentBuilderFactory.newInstance();
+
+ DocumentBuilder builder = factory.newDocumentBuilder();
+
+ return builder.parse(stream);
+ }
+
+ private String getExceptionViewId(Document document, Exception e) throws XPathExpressionException
+ {
+ XPathFactory xfactory = XPathFactory.newInstance();
+ XPath xpath = xfactory.newXPath();
+ NodeList nodes = document.getElementsByTagName("exception");
+ String redirectViewId = null;
+ boolean exceptionMatch = false;
+
+ //atleast one exception is defined in xml
+ if (nodes != null)
+ {
+ for (int i = 0; i < nodes.getLength(); i++)
+ {
+ Node node = nodes.item(i);
+ String className = xpath.evaluate("@class", node);
+ String loadedClassName = null;
+
+
+ if (className.length() > 0)
+ {
+ //compare exception class names
+ if (e.getClass().getName().equals(className))
+ {
+ return xpath.evaluate("redirect/@view-id", node);
+ }
+ }
+ else
+ {
+ //no class was defined in attribute so check for general exception handler
+ redirectViewId = xpath.evaluate("redirect/@view-id", node);
+ }
+
+ }
+ }
+ return redirectViewId;
+ }
+
+ static InputStream getResourceAsStream(String resource)
+ {
+ ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+ InputStream inputStream = null;
+ if (classLoader != null)
+ {
+ inputStream = classLoader.getResourceAsStream(resource);
+ }
+ return inputStream;
+ }
+
+ public static Class classForName(String name) throws ClassNotFoundException
+ {
+ try
+ {
+ return Thread.currentThread().getContextClassLoader().loadClass(name);
+ }
+ catch (Exception e)
+ {
+ return Class.forName(name);
+ }
+ }
+
}
16 years, 10 months
JBoss Rich Faces SVN: r4868 - trunk/framework/impl.
by richfaces-svn-commits@lists.jboss.org
Author: alexsmirnov
Date: 2007-12-14 14:21:13 -0500 (Fri, 14 Dec 2007)
New Revision: 4868
Modified:
trunk/framework/impl/pom.xml
Log:
Remove deprecated extend.js from aggregated library.
Modified: trunk/framework/impl/pom.xml
===================================================================
--- trunk/framework/impl/pom.xml 2007-12-14 19:06:11 UTC (rev 4867)
+++ trunk/framework/impl/pom.xml 2007-12-14 19:21:13 UTC (rev 4868)
@@ -100,6 +100,7 @@
<exclude>**/*.pack.js</exclude>
<!-- exclude parts of the scriptaculous, so big file already included -->
<exclude>**/scriptaculous/*.js</exclude>
+ <exclude>**/extend-min.js</exclude>
<exclude>**/jquery.jcarousel-min.js</exclude>
<exclude>**/compressed.css</exclude>
</excludes>
16 years, 10 months
JBoss Rich Faces SVN: r4867 - in branches/3.1.x: framework/impl and 1 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: alexsmirnov
Date: 2007-12-14 14:06:11 -0500 (Fri, 14 Dec 2007)
New Revision: 4867
Modified:
branches/3.1.x/cdk/maven-javascript-plugin/src/main/java/net/sf/alchim/mojo/yuicompressor/YuiCompressorMojo.java
branches/3.1.x/framework/impl/pom.xml
branches/3.1.x/ui/assembly/pom.xml
Log:
fix http://jira.jboss.com/jira/browse/RF-1647 .
Modified: branches/3.1.x/cdk/maven-javascript-plugin/src/main/java/net/sf/alchim/mojo/yuicompressor/YuiCompressorMojo.java
===================================================================
--- branches/3.1.x/cdk/maven-javascript-plugin/src/main/java/net/sf/alchim/mojo/yuicompressor/YuiCompressorMojo.java 2007-12-14 19:02:51 UTC (rev 4866)
+++ branches/3.1.x/cdk/maven-javascript-plugin/src/main/java/net/sf/alchim/mojo/yuicompressor/YuiCompressorMojo.java 2007-12-14 19:06:11 UTC (rev 4867)
@@ -182,6 +182,8 @@
compressor.compress(out, linebreakpos);
}
getLog().debug("end compression");
+ // Close output file before rename.
+ IOUtil.close(out);out=null;
FileUtils.forceDelete(outFile);
FileUtils.rename(outFileTmp, outFile);
} finally {
Modified: branches/3.1.x/framework/impl/pom.xml
===================================================================
--- branches/3.1.x/framework/impl/pom.xml 2007-12-14 19:02:51 UTC (rev 4866)
+++ branches/3.1.x/framework/impl/pom.xml 2007-12-14 19:06:11 UTC (rev 4867)
@@ -83,7 +83,7 @@
</execution>
</executions>
</plugin>
- <!--plugin>
+ <plugin>
<groupId>org.richfaces.cdk</groupId>
<artifactId>maven-javascript-plugin</artifactId>
<version>${project.version}</version>
@@ -127,6 +127,9 @@
**/scriptaculous/*.js
</exclude>
<exclude>
+ **/extend/*.js
+ </exclude>
+ <exclude>
**/jquery.jcarousel-min.js
</exclude>
<exclude>
@@ -151,7 +154,7 @@
</execution>
</executions>
- </plugin-->
+ </plugin>
</plugins>
</build>
<dependencies>
Modified: branches/3.1.x/ui/assembly/pom.xml
===================================================================
--- branches/3.1.x/ui/assembly/pom.xml 2007-12-14 19:02:51 UTC (rev 4866)
+++ branches/3.1.x/ui/assembly/pom.xml 2007-12-14 19:06:11 UTC (rev 4867)
@@ -225,7 +225,7 @@
</outputDirectory>
</configuration>
</plugin>
- <!--plugin>
+ <plugin>
<groupId>org.richfaces.cdk</groupId>
<artifactId>maven-javascript-plugin</artifactId>
<version>${project.version}</version>
@@ -292,7 +292,7 @@
<include>**/*.js</include>
</includes>
</configuration>
- </plugin-->
+ </plugin>
</plugins>
</build>
16 years, 10 months
JBoss Rich Faces SVN: r4866 - branches/3.1.x/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2007-12-14 14:02:51 -0500 (Fri, 14 Dec 2007)
New Revision: 4866
Modified:
branches/3.1.x/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts/ListShuttle.js
Log:
ListShuttle was canceling tab presses: fixed
Modified: branches/3.1.x/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts/ListShuttle.js
===================================================================
--- branches/3.1.x/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts/ListShuttle.js 2007-12-14 18:18:17 UTC (rev 4865)
+++ branches/3.1.x/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts/ListShuttle.js 2007-12-14 19:02:51 UTC (rev 4866)
@@ -115,7 +115,10 @@
onkeydownHandler : function(event, component) {
component._onkeydownHandler(event);
this.controlListManager();
- Event.stop(event);
+
+ if (event.keyCode != Event.KEY_TAB) {
+ Event.stop(event);
+ }
},
controlsProcessing : function(disabledControls , action) {
16 years, 10 months
JBoss Rich Faces SVN: r4865 - in branches/3.1.x/ui: listShuttle/src/test/java/org/richfaces/renderkit and 2 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: sergeyhalipov
Date: 2007-12-14 13:18:17 -0500 (Fri, 14 Dec 2007)
New Revision: 4865
Modified:
branches/3.1.x/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/css/listShuttle.xcss
branches/3.1.x/ui/listShuttle/src/test/java/org/richfaces/renderkit/ListShuttleRenderingTest.java
branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingComponentRendererBase.java
branches/3.1.x/ui/orderingList/src/test/java/org/richfaces/renderkit/OrderingListRenderingTest.java
Log:
http://jira.jboss.com/jira/browse/RF-1643
Modified: branches/3.1.x/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/css/listShuttle.xcss
===================================================================
--- branches/3.1.x/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/css/listShuttle.xcss 2007-12-14 18:04:49 UTC (rev 4864)
+++ branches/3.1.x/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/css/listShuttle.xcss 2007-12-14 18:18:17 UTC (rev 4865)
@@ -105,6 +105,11 @@
color: inherit;
}
+.rich-list-shuttle-button-a-disabled {
+ cursor: default;
+ text-decoration: none;
+}
+
.rich-list-shuttle-caption {
text-align: left;
padding : 1px;
@@ -154,7 +159,7 @@
]]>
</f:verbatim>
-
+
<u:selector name=".rich-list-shuttle">
<!--u:style name="background-color" skin="additionalBackgroundColor" />
<u:style name="border-color" skin="tableBorderColor" />
@@ -178,7 +183,7 @@
<u:style name="border-right-color" skin="tableBorderColor" />
<u:style name="border-bottom-color" skin="tableBorderColor" />
</u:selector>
-
+
<u:selector name=".rich-shuttle-header-tab-cell-last">
<u:style name="border-right-width" value="0px" />
</u:selector>
@@ -268,6 +273,10 @@
<u:style name="display" value="block" />
</u:selector>
+ <u:selector name="a.rich-list-shuttle-button-a-disabled a">
+ <u:style name="color" skin="tabDisabledTextColor"/>
+ </u:selector>
+
<u:selector name=".rich-shuttle-source-caption, .rich-shuttle-target-caption">
<u:style name="font-family" skin="headerFamilyFont" />
<u:style name="font-size" skin="headerSizeFont" />
Modified: branches/3.1.x/ui/listShuttle/src/test/java/org/richfaces/renderkit/ListShuttleRenderingTest.java
===================================================================
--- branches/3.1.x/ui/listShuttle/src/test/java/org/richfaces/renderkit/ListShuttleRenderingTest.java 2007-12-14 18:04:49 UTC (rev 4864)
+++ branches/3.1.x/ui/listShuttle/src/test/java/org/richfaces/renderkit/ListShuttleRenderingTest.java 2007-12-14 18:18:17 UTC (rev 4865)
@@ -298,6 +298,10 @@
element = (HtmlElement) element.getParentNode();
assertNotNull(element);
+ if ("a".equalsIgnoreCase(element.getNodeName())) {
+ element = (HtmlElement) element.getParentNode();
+ assertNotNull(element);
+ }
assertEquals("div", element.getNodeName());
element = (HtmlElement) element.getParentNode();
Modified: branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingComponentRendererBase.java
===================================================================
--- branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingComponentRendererBase.java 2007-12-14 18:04:49 UTC (rev 4864)
+++ branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingComponentRendererBase.java 2007-12-14 18:18:17 UTC (rev 4865)
@@ -317,14 +317,18 @@
writer.writeAttribute(HTML.onmouseout_ATTRIBUTE, "this.className='" + baseStyle + "'", null);
}
- if (helper.enable) {
+ writer.startElement(HTML.a_ELEMENT, orderingList);
+ writer.writeAttribute(HTML.id_ATTRIBUTE, controlId + "link", null); //FIXME:
+ writer.writeAttribute(HTML.HREF_ATTR, "#", null);
+ writer.writeAttribute(HTML.onclick_ATTRIBUTE, "return false;", null);
+ if (!helper.enable) {
+ writer.writeAttribute(HTML.DISABLED_ATTR, "disabled", null);
+ writer.writeAttribute(HTML.class_ATTRIBUTE, baseStyle + "-a-disabled", null);
writer.startElement(HTML.a_ELEMENT, orderingList);
- writer.writeAttribute(HTML.id_ATTRIBUTE, controlId + "link", null); //FIXME:
- writer.writeAttribute(HTML.HREF_ATTR, "#", null);
+ } else {
writer.writeAttribute(HTML.class_ATTRIBUTE, baseStyle + "-selection", null);
writer.writeAttribute(HTML.onblur_ATTRIBUTE, "Control.onblur(this);", null);
writer.writeAttribute(HTML.onfocus_ATTRIBUTE, "Control.onfocus(this);", null);
- writer.writeAttribute(HTML.onclick_ATTRIBUTE, "return false;", null);
}
writer.startElement(HTML.DIV_ELEM, orderingList);
@@ -375,9 +379,10 @@
if (!useFacet) {
writer.endElement(HTML.DIV_ELEM);
- if (helper.enable) {
+ if (!helper.enable) {
writer.endElement(HTML.a_ELEMENT);
}
+ writer.endElement(HTML.a_ELEMENT);
writer.endElement(HTML.DIV_ELEM);
}
writer.endElement(HTML.DIV_ELEM);
Modified: branches/3.1.x/ui/orderingList/src/test/java/org/richfaces/renderkit/OrderingListRenderingTest.java
===================================================================
--- branches/3.1.x/ui/orderingList/src/test/java/org/richfaces/renderkit/OrderingListRenderingTest.java 2007-12-14 18:04:49 UTC (rev 4864)
+++ branches/3.1.x/ui/orderingList/src/test/java/org/richfaces/renderkit/OrderingListRenderingTest.java 2007-12-14 18:18:17 UTC (rev 4865)
@@ -270,10 +270,13 @@
assertEquals("a", element.getNodeName());
String href = element.getAttributeValue("href");
assertNotNull(href);
- assertTrue("#".equals(href));
element = (HtmlElement) element.getParentNode();
assertNotNull(element);
+ if ("a".equalsIgnoreCase(element.getNodeName())) {
+ element = (HtmlElement) element.getParentNode();
+ assertNotNull(element);
+ }
assertEquals("div", element.getNodeName());
clazz = element.getAttributeValue("class");
assertNotNull(clazz);
16 years, 10 months