Author: ivaynberg
Date: Thu Aug 30 20:19:55 2007
New Revision: 571360

URL: http://svn.apache.org/viewvc?rev=571360&view=rev
Log:
applied WICKET-853

Modified:
    
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterForm.java
    
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterToolbar.html
    
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterToolbar.java

Modified: 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterForm.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterForm.java?rev=571360&r1=571359&r2=571360&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterForm.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterForm.java
 Thu Aug 30 20:19:55 2007
@@ -19,10 +19,13 @@
 import org.apache.wicket.Component;
 import org.apache.wicket.behavior.AbstractBehavior;
 import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.MarkupStream;
+import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.FormComponent;
 import org.apache.wicket.markup.html.form.HiddenField;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.util.string.AppendingStringBuffer;
 
 /**
  * A form with filter-related special functionality for its form components.
@@ -49,8 +52,9 @@
 
                this.locator = locator;
 
+               // add hidden field used for managing current focus
                hidden = new HiddenField("focus-tracker", new Model());
-
+               
                hidden.add(new AbstractBehavior()
                {
                        private static final long serialVersionUID = 1L;
@@ -61,8 +65,20 @@
                                super.onComponentTag(component, tag);
                        }
                });
-
                add(hidden);
+               
+               // add javascript to restore focus to a filter component
+               add(new WebMarkupContainer("focus-restore")
+               {
+                       private static final long serialVersionUID = 1L;
+
+                       protected void onComponentTagBody(MarkupStream 
markupStream, ComponentTag openTag)
+                       {
+                               AppendingStringBuffer script = new 
AppendingStringBuffer("<script>_filter_focus_restore('").append(
+                                               
getFocusTrackerFieldCssId()).append("');</script>");
+                               replaceComponentTagBody(markupStream, openTag, 
script);
+                       }
+               });
        }
 
        /**
@@ -74,6 +90,7 @@
                return hidden.getPageRelativePath();
        }
 
+
        /**
         * @return IFilterStateLocator passed to this form
         */
@@ -123,7 +140,6 @@
        {
                return ("_filter_focus(this, '" + getFocusTrackerFieldCssId() + 
"');");
        }
-
 
        /**
         * Model that uses filter state locator as a passthrough for model 
objects

Modified: 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterToolbar.html
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterToolbar.html?rev=571360&r1=571359&r2=571360&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterToolbar.html
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterToolbar.html
 Thu Aug 30 20:19:55 2007
@@ -36,13 +36,9 @@
 
 </wicket:head>
 <wicket:panel>
-<tr class="filters-tr">
-       <form wicket:id="filter-form">
-               <input type="hidden" name="tracker" wicket:id="focus-tracker"/>
+       <tr class="filters-tr">
                <span wicket:id="filters">
                        <td wicket:id="filter" class="filter-td">[filter]</td>
                </span>
-       </form>
-       <span wicket:id="focus-restore">[call to focus restore script]</span>
-</tr>
+       </tr>
 </wicket:panel>

Modified: 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterToolbar.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterToolbar.java?rev=571360&r1=571359&r2=571360&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterToolbar.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterToolbar.java
 Thu Aug 30 20:19:55 2007
@@ -20,11 +20,8 @@
 import 
org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractToolbar;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.DataTable;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
-import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.MarkupStream;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.repeater.RepeatingView;
-import org.apache.wicket.util.string.AppendingStringBuffer;
 
 
 /**
@@ -49,7 +46,7 @@
         *            locator responsible for finding object used to store 
filter's
         *            state
         */
-       public FilterToolbar(final DataTable table, final IFilterStateLocator 
stateLocator)
+       public FilterToolbar(final DataTable table, final FilterForm form, 
final IFilterStateLocator stateLocator)
        {
                super(table);
 
@@ -62,37 +59,11 @@
                        throw new IllegalArgumentException("argument 
[stateLocator] cannot be null");
                }
 
-               // create the form used to contain all filter components
-
-               final FilterForm form = new FilterForm("filter-form", 
stateLocator)
-               {
-                       private static final long serialVersionUID = 1L;
-
-                       protected void onSubmit()
-                       {
-                               table.setCurrentPage(0);
-                       }
-               };
-               add(form);
-
-               // add javascript to restore focus to a filter component
-
-               add(new WebMarkupContainer("focus-restore")
-               {
-                       private static final long serialVersionUID = 1L;
-
-                       protected void onComponentTagBody(MarkupStream 
markupStream, ComponentTag openTag)
-                       {
-                               AppendingStringBuffer script = new 
AppendingStringBuffer("<script>_filter_focus_restore('").append(
-                                               
form.getFocusTrackerFieldCssId()).append("');</script>");
-                               replaceComponentTagBody(markupStream, openTag, 
script);
-                       }
-               });
-
                // populate the toolbar with components provided by filtered 
columns
 
                RepeatingView filters = new RepeatingView("filters");
-               form.add(filters);
+               filters.setRenderBodyOnly(true);
+               add(filters);
 
                IColumn[] cols = table.getColumns();
                for (int i = 0; i < cols.length; i++)
@@ -102,13 +73,13 @@
 
                        IColumn col = cols[i];
                        Component filter = null;
-
+                       
                        if (col instanceof IFilteredColumn)
                        {
                                IFilteredColumn filteredCol = 
(IFilteredColumn)col;
                                filter = 
filteredCol.getFilter(FILTER_COMPONENT_ID, form);
                        }
-
+       
                        if (filter == null)
                        {
                                filter = new NoFilter(FILTER_COMPONENT_ID);
@@ -126,10 +97,19 @@
                        }
 
                        item.add(filter);
-
+                       
                        filters.add(item);
                }
 
        }
 
+       protected void onBeforeRender()
+       {
+               if (findParent(FilterForm.class)==null) 
+               { 
+                       throw new IllegalStateException("FilterToolbar must be 
contained within a Form");
+               }
+               super.onBeforeRender();
+       }
+       
 }


Reply via email to