Author: mlusetti
Date: Wed Oct  5 14:37:26 2011
New Revision: 1179241

URL: http://svn.apache.org/viewvc?rev=1179241&view=rev
Log:
TAP5-1677 Grid's parameter defaults to Symbol values

Added:
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ParameterConstants.java
   (with props)
Modified:
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Grid.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/GridColumns.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/GridPager.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/grid/GridConstants.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java

Added: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ParameterConstants.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ParameterConstants.java?rev=1179241&view=auto
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ParameterConstants.java
 (added)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ParameterConstants.java
 Wed Oct  5 14:37:26 2011
@@ -0,0 +1,59 @@
+package org.apache.tapestry5;
+
+/**
+ * Constants for core component parameters defined by {@link 
org.apache.tapestry5.ioc.annotations.Symbol}
+ *
+ * @since 5.3
+ */
+public class ParameterConstants
+{
+    /**
+     * The default number for how many rows to display in a
+     * {@link org.apache.tapestry5.corelib.components.Grid} page.
+     */
+    public static final String GRID_ROWS_PER_PAGE = 
"tapestry.components.grid_rows_per_page";
+
+    /**
+     * The default position of the {@link 
org.apache.tapestry5.corelib.components.Grid}
+     * pager.
+     */
+    public static final String GRID_PAGER_POSITION = 
"tapestry.components.grid_pager_position";
+
+    /**
+     * The default name of the {@link org.apache.tapestry5.Block} used to 
display an empty
+     * {@link org.apache.tapestry5.corelib.components.Grid}.
+     */
+    public static final String GRID_EMPTY_BLOCK = 
"tapestry.components.grid_empty_block";
+
+
+    /**
+     * The default name of the CSS class for the <table> element of the
+     * {@link org.apache.tapestry5.corelib.components.Grid} component.
+     */
+    public static final String GRID_TABLE_CSS_CLASS = 
"tapestry.components.grid_table_css_class";
+
+    /**
+     * The default number of page range to display in the
+     * {@link org.apache.tapestry5.corelib.components.GridPager} before and 
after the current page.
+     */
+    public static final String GRIDPAGER_PAGE_RANGE = 
"tapestry.components.gridpager_page_range";
+
+    /**
+     * The default {@link org.apache.tapestry5.Asset} to display in
+     * {@link org.apache.tapestry5.corelib.components.GridColumns} header for 
ascending sort action.
+     */
+    public static final String GRIDCOLUMNS_ASCENDING_ASSET = 
"tapestry.components.gridcolumns_ascending_asset";
+
+    /**
+     * The default {@link org.apache.tapestry5.Asset} to display in
+     * {@link org.apache.tapestry5.corelib.components.GridColumns} header for 
descending sort action.
+     */
+    public static final String GRIDCOLUMNS_DESCENDING_ASSET = 
"tapestry.components.gridcolumns_descending_asset";
+
+    /**
+     * The default {@link org.apache.tapestry5.Asset} to display in
+     * {@link org.apache.tapestry5.corelib.components.GridColumns} header for 
identifying a sortable column.
+     */
+    public static final String GRIDCOLUMNS_SORTABLE_ASSET = 
"tapestry.components.gridcolumns_sortable_asset";
+
+}

Propchange: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/ParameterConstants.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Grid.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Grid.java?rev=1179241&r1=1179240&r2=1179241&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Grid.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Grid.java
 Wed Oct  5 14:37:26 2011
@@ -18,14 +18,7 @@ import java.io.IOException;
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.tapestry5.Binding;
-import org.apache.tapestry5.BindingConstants;
-import org.apache.tapestry5.Block;
-import org.apache.tapestry5.ComponentAction;
-import org.apache.tapestry5.ComponentResources;
-import org.apache.tapestry5.MarkupWriter;
-import org.apache.tapestry5.PropertyOverrides;
-import org.apache.tapestry5.ValueEncoder;
+import org.apache.tapestry5.*;
 import org.apache.tapestry5.annotations.Component;
 import org.apache.tapestry5.annotations.Environmental;
 import org.apache.tapestry5.annotations.Parameter;
@@ -98,14 +91,15 @@ public class Grid implements GridModel
      * the rows into "pages" and (normally) provide a pager to allow the user 
to navigate within the overall result
      * set.
      */
-    @Parameter("25")
+    @Parameter(BindingConstants.SYMBOL + ":" + 
ParameterConstants.GRID_ROWS_PER_PAGE)
     private int rowsPerPage;
 
     /**
      * Defines where the pager (used to navigate within the "pages" of 
results) should be displayed: "top", "bottom",
      * "both" or "none".
      */
-    @Parameter(value = "top", defaultPrefix = BindingConstants.LITERAL)
+    @Parameter(value = BindingConstants.SYMBOL + ":" + 
ParameterConstants.GRID_PAGER_POSITION,
+            defaultPrefix = BindingConstants.LITERAL)
     private GridPagerPosition pagerPosition;
 
     /**
@@ -188,14 +182,16 @@ public class Grid implements GridModel
      * "There is no data to display". This parameter is used to customize that 
message, possibly including components to
      * allow the user to create new objects.
      */
-    @Parameter(value = "block:empty", defaultPrefix = BindingConstants.LITERAL)
+    @Parameter(value = BindingConstants.SYMBOL + ":" + 
ParameterConstants.GRID_EMPTY_BLOCK,
+            defaultPrefix = BindingConstants.LITERAL)
     private Block empty;
 
     /**
      * CSS class for the <table> element. In addition, informal 
parameters to the Grid are rendered in the table
      * element.
      */
-    @Parameter(name = "class", defaultPrefix = BindingConstants.LITERAL, value 
= "t-data-grid")
+    @Parameter(name = "class", defaultPrefix = BindingConstants.LITERAL,
+            value = BindingConstants.SYMBOL + ":" + 
ParameterConstants.GRID_TABLE_CSS_CLASS)
     @Property(write = false)
     private String tableClass;
 

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/GridColumns.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/GridColumns.java?rev=1179241&r1=1179240&r2=1179241&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/GridColumns.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/GridColumns.java
 Wed Oct  5 14:37:26 2011
@@ -14,10 +14,7 @@
 
 package org.apache.tapestry5.corelib.components;
 
-import org.apache.tapestry5.Asset;
-import org.apache.tapestry5.Block;
-import org.apache.tapestry5.ComponentResources;
-import org.apache.tapestry5.PropertyOverrides;
+import org.apache.tapestry5.*;
 import org.apache.tapestry5.annotations.*;
 import org.apache.tapestry5.beaneditor.PropertyModel;
 import org.apache.tapestry5.grid.ColumnSort;
@@ -75,15 +72,15 @@ public class GridColumns
     private EventLink sort, sort2;
 
     @Inject
-    @Path("sort-asc.png")
+    @Path("${" + ParameterConstants.GRIDCOLUMNS_ASCENDING_ASSET + "}")
     private Asset ascendingAsset;
 
     @Inject
-    @Path("sort-desc.png")
+    @Path("${" + ParameterConstants.GRIDCOLUMNS_DESCENDING_ASSET + "}")
     private Asset descendingAsset;
 
     @Inject
-    @Path("sortable.png")
+    @Path("${" + ParameterConstants.GRIDCOLUMNS_SORTABLE_ASSET + "}")
     private Asset sortableAsset;
 
     @Inject

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/GridPager.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/GridPager.java?rev=1179241&r1=1179240&r2=1179241&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/GridPager.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/GridPager.java
 Wed Oct  5 14:37:26 2011
@@ -57,7 +57,7 @@ public class GridPager
      * Number of pages before and after the current page in the range. The 
pager always displays links for 2 * range + 1
      * pages, unless that's more than the total number of available pages.
      */
-    @Parameter("5")
+    @Parameter(BindingConstants.SYMBOL + ":" + 
ParameterConstants.GRIDPAGER_PAGE_RANGE)
     private int range;
 
     /**

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/grid/GridConstants.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/grid/GridConstants.java?rev=1179241&r1=1179240&r2=1179241&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/grid/GridConstants.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/grid/GridConstants.java
 Wed Oct  5 14:37:26 2011
@@ -40,4 +40,45 @@ public class GridConstants
      */
 
     public static final String SORT_DESCENDING_CLASS = 
"t-sort-column-descending";
+
+    /**
+     * Number of rows to diplay within each {@link 
org.apache.tapestry5.corelib.components.Grid} page.
+     */
+    public static final int ROWS_PER_PAGE = 25;
+
+    /**
+     * CSS class for the <table> element.
+     */
+    public static final String TABLE_CLASS = "t-data-grid";
+
+    /**
+     * Default pager position
+     */
+    public static final String PAGER_POSITION = "top";
+
+    /**
+     * Block name to display in place of an empty {@link 
org.apache.tapestry5.corelib.components.Grid}
+     */
+    public static final String EMPTY_BLOCK = "block:empty";
+
+    /**
+     * Default number of page to display before and after the current page in 
the
+     * {@link org.apache.tapestry5.corelib.components.GridPager}
+     */
+    public static final int PAGER_PAGE_RANGE = 5;
+
+    /**
+     * Default {@link org.apache.tapestry5.Asset} for ascending columns sort
+     */
+    public static final String COLUMNS_ASCENDING = "sort-asc.png";
+
+    /**
+     * Default {@link org.apache.tapestry5.Asset} for ascending columns sort
+     */
+    public static final String COLUMNS_DESCENDING = "sort-desc.png";
+
+    /**
+     * Default {@link org.apache.tapestry5.Asset} for sortable columns
+     */
+    public static final String COLUMNS_SORTABLE = "sortable.png";
 }

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java?rev=1179241&r1=1179240&r2=1179241&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java
 Wed Oct  5 14:37:26 2011
@@ -22,6 +22,7 @@ import org.apache.tapestry5.annotations.
 import org.apache.tapestry5.beaneditor.DataTypeConstants;
 import org.apache.tapestry5.beaneditor.Validate;
 import org.apache.tapestry5.corelib.ClientValidation;
+import org.apache.tapestry5.grid.GridConstants;
 import org.apache.tapestry5.grid.GridDataSource;
 import org.apache.tapestry5.internal.*;
 import org.apache.tapestry5.internal.alerts.AlertManagerImpl;
@@ -2363,6 +2364,16 @@ public final class TapestryModule
         configuration.add(SymbolConstants.UNKNOWN_COMPONENT_ID_CHECK_ENABLED, 
true);
 
         configuration.add(SymbolConstants.APPLICATION_FOLDER, "");
+
+        // Components parameters default
+        configuration.add(ParameterConstants.GRID_ROWS_PER_PAGE, 
GridConstants.ROWS_PER_PAGE);
+        configuration.add(ParameterConstants.GRID_PAGER_POSITION, 
GridConstants.PAGER_POSITION);
+        configuration.add(ParameterConstants.GRID_EMPTY_BLOCK, 
GridConstants.EMPTY_BLOCK);
+        configuration.add(ParameterConstants.GRID_TABLE_CSS_CLASS,  
GridConstants.TABLE_CLASS);
+        configuration.add(ParameterConstants.GRIDPAGER_PAGE_RANGE, 
GridConstants.PAGER_PAGE_RANGE);
+        configuration.add(ParameterConstants.GRIDCOLUMNS_SORTABLE_ASSET, 
GridConstants.COLUMNS_SORTABLE);
+        configuration.add(ParameterConstants.GRIDCOLUMNS_ASCENDING_ASSET, 
GridConstants.COLUMNS_ASCENDING);
+        configuration.add(ParameterConstants.GRIDCOLUMNS_DESCENDING_ASSET, 
GridConstants.COLUMNS_DESCENDING);
     }
 
     /**


Reply via email to