FilterForm requires focus-tracker and focus-restore be added as children in the 
markup
--------------------------------------------------------------------------------------

                 Key: WICKET-2467
                 URL: https://issues.apache.org/jira/browse/WICKET-2467
             Project: Wicket
          Issue Type: Bug
          Components: wicket-extensions
    Affects Versions: 1.4.0
            Reporter: Steve Lowery


When using a FilterForm, the following error is received:

WicketMessage: The component(s) below failed to render. A common problem is 
that you have added a component in code but forgot to reference it in the 
markup (thus the component will never be rendered).

1. [MarkupContainer [Component id = focus-tracker]]
2. [MarkupContainer [Component id = focus-restore]]

The tags have to manually be added to the markup to use the Filter Form.  This 
could be the only way to get this component to work, but this would be the 
first component I've used thusfar where I was required to create children with 
specific ids in the markup.

Here is the java code:
        public AbstractFilteredPanel(String id, T filter) {
                super(id);
                this.filter = filter;

                AbstractFilteredPanelDataProvider dataProvider = new 
AbstractFilteredPanelDataProvider();

                FilterForm form = new FilterForm("filterForm", dataProvider);
                add(form);

                AjaxFallbackDefaultDataTable<T> data = new 
AjaxFallbackDefaultDataTable<T>("data", getColumns(), getDataProvider(), 
getRowsPerPage());
                data.addTopToolbar(new FilterToolbar(data, form, dataProvider));
                form.add(data);
        }

And the markup:
<html xmlns:wicket="http://wicket.apache.org/";>
<wicket:panel>
        <form wicket:id="filterForm">
                <table wicket:id="data"></table>
        </form>
</wicket:panel>
</html>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to