Author: awiner
Date: Tue Jul 18 20:37:59 2006
New Revision: 423354

URL: http://svn.apache.org/viewvc?rev=423354&view=rev
Log:
ADFFACES-7: Add defaultSortOrder attribute to af:column.  Partially from a 
patch by Pierre-Luc Archambault

Modified:
    
incubator/adffaces/trunk/adf-faces/adf-faces-build/src/main/resources/META-INF/maven-faces-plugin/components/adf/core/CoreColumn.xml
    
incubator/adffaces/trunk/adf-faces/adf-faces-impl/src/main/java/org/apache/myfaces/adfinternal/renderkit/core/xhtml/ColumnGroupRenderer.java

Modified: 
incubator/adffaces/trunk/adf-faces/adf-faces-build/src/main/resources/META-INF/maven-faces-plugin/components/adf/core/CoreColumn.xml
URL: 
http://svn.apache.org/viewvc/incubator/adffaces/trunk/adf-faces/adf-faces-build/src/main/resources/META-INF/maven-faces-plugin/components/adf/core/CoreColumn.xml?rev=423354&r1=423353&r2=423354&view=diff
==============================================================================
--- 
incubator/adffaces/trunk/adf-faces/adf-faces-build/src/main/resources/META-INF/maven-faces-plugin/components/adf/core/CoreColumn.xml
 (original)
+++ 
incubator/adffaces/trunk/adf-faces/adf-faces-build/src/main/resources/META-INF/maven-faces-plugin/components/adf/core/CoreColumn.xml
 Tue Jul 18 20:37:59 2006
@@ -43,6 +43,19 @@
         <mfp:property-values>start end center left right</mfp:property-values>
       </property-extension>
     </property>
+
+     <property>
+      <description><![CDATA[The default sort order of the column. The legal 
values are "ascending" or "descending" for ascending sorting or descending 
sorting on a first click respectively. The default value is "ascending".]]>
+      </description>
+      <property-name>defaultSortOrder</property-name>
+      <property-class>java.lang.String</property-class>
+      <default-value>ascending</default-value>
+      <property-extension>
+        <mfp:required>false</mfp:required>
+        <mfp:property-values>ascending descending</mfp:property-values>
+      </property-extension>
+    </property>
+
     <property>
       <description><![CDATA[the preferred width of this column, e.g., "30%", 
"100px".]]></description>
       <property-name>width</property-name>

Modified: 
incubator/adffaces/trunk/adf-faces/adf-faces-impl/src/main/java/org/apache/myfaces/adfinternal/renderkit/core/xhtml/ColumnGroupRenderer.java
URL: 
http://svn.apache.org/viewvc/incubator/adffaces/trunk/adf-faces/adf-faces-impl/src/main/java/org/apache/myfaces/adfinternal/renderkit/core/xhtml/ColumnGroupRenderer.java?rev=423354&r1=423353&r2=423354&view=diff
==============================================================================
--- 
incubator/adffaces/trunk/adf-faces/adf-faces-impl/src/main/java/org/apache/myfaces/adfinternal/renderkit/core/xhtml/ColumnGroupRenderer.java
 (original)
+++ 
incubator/adffaces/trunk/adf-faces/adf-faces-impl/src/main/java/org/apache/myfaces/adfinternal/renderkit/core/xhtml/ColumnGroupRenderer.java
 Tue Jul 18 20:37:59 2006
@@ -73,6 +73,7 @@
     _widthKey = type.findKey("width");
     _sortableKey = type.findKey("sortable");
     _sortPropertyKey = type.findKey("sortProperty");
+    _defaultSortOrderKey = type.findKey("defaultSortOrder");
   }
 
 
@@ -150,6 +151,11 @@
     return toString(bean.getProperty(_sortPropertyKey));
   }
 
+  protected String getDefaultSortOrder(FacesBean bean)
+  {
+    return toString(bean.getProperty(_defaultSortOrderKey));
+  }
+
 
   static public String getDefaultHeaderStyleClass(TableRenderingContext 
tContext)
   {
@@ -465,11 +471,25 @@
     String formName = arc.getFormData().getName();
     String source   = tContext.getTableId();
     String value    = getSortProperty(bean);
-    String state = (sortability == SORT_ASCENDING)
-      ? XhtmlConstants.SORTABLE_ASCENDING
-      : (sortability == SORT_DESCENDING)
-      ? XhtmlConstants.SORTABLE_DESCENDING
-      : "";
+    // Note that "state" refers to the current state, not
+    // the state will be set after clicking
+    String state;
+    if (sortability == SORT_ASCENDING)
+    {
+      state = XhtmlConstants.SORTABLE_ASCENDING;
+    }
+    else if (sortability == SORT_DESCENDING)
+    {
+      state = XhtmlConstants.SORTABLE_DESCENDING;
+    }
+    else if ("descending".equals(getDefaultSortOrder(bean)))
+    {
+      state = XhtmlConstants.SORTABLE_ASCENDING;
+    }
+    else
+    {
+      state = "";
+    }
 
     StringBuffer buffer = new StringBuffer(33+
                                            formName.length() +
@@ -835,6 +855,7 @@
   private PropertyKey _widthKey;
   private PropertyKey _sortPropertyKey;
   private PropertyKey _sortableKey;
+  private PropertyKey _defaultSortOrderKey;
 
   private static final ADFLogger _LOG = 
ADFLogger.createADFLogger(ColumnGroupRenderer.class);
 }


Reply via email to