One more thing.
The problem occurs also when reloading the search (original) page. ie -
pressing the F5.


On Wed, Mar 12, 2008 at 2:18 PM, Eyal Golan <[EMAIL PROTECTED]> wrote:

> Hi,
> I made a select-all check box inside a table.
> I used the example from
> http://javathoughts.capesugarbird.com/2007/09/ajax-select-all-checkbox-for-wicket.html
> It works well in most cases.
>
> Here's some code:
>
> Adding the checkgroup to the panel:
>     private void addCheckGroup() {
>         checkGroup = new MyAjaxCheckBox("allChecked", new
> PropertyModel(this, "allChecked")) {
>             private static final long serialVersionUID = 1L;
>
>             @Override
>             protected void onUpdate(AjaxRequestTarget target) {
>                 final boolean isSelected = isChecked();
>                 if (isSelected) {
>                     checkGroupModel.addAll(entitiesList);
>                 } else {
>                     checkGroupModel.clear();
>                 }
>                 for (MyAjaxCheckBox check : checkboxes) {
>                     check.setOutputMarkupId(true);
>                     target.addComponent(check);
>                 }
>                 for (EntityWrapper entity : entitiesList) {
>                     entity.setSelect(isSelected);
>                 }
> //                target.addComponent(EntitiesPanel.this);
>                 EntitiesPanel.this.onUpdate(target);
>             }
>             @Override
>             public boolean isVisible() {
>                 return (withSelect && entitiesList != null &&
> entitiesList.size() > 0);
>             }
>         };
>         checkGroup.setOutputMarkupId(true);
> //        checkGroup.setVisible(false);
>         add(checkGroup);
>     }
>
> The Checkbox column inside the table, and the fragment it uses:
>     private AbstractColumn createCheckboxColumn() {
>         AbstractColumn p = new AbstractColumn(new Model()) {
>             private static final long serialVersionUID = 1L;
>
>             public void populateItem(Item cellItem, String componentId,
> IModel rowModel) {
>                 EntityWrapper confEntity = (EntityWrapper)
> rowModel.getObject();
>                 Fragment frag = new CheckboxEntityFrag(componentId,
> "checkboxFrag",
>                         EntitiesPanel.this, confEntity);
>                 cellItem.add(frag);
>             }
>         };
>         return p;
>     }
>
>         private CheckboxEntityFrag(String id, String markupId,
> MarkupContainer markupProvider,
>                 final EntityWrapper value) {
>             super(id, markupId, markupProvider);
>             checkbox = new MyAjaxCheckBox("entityCheckbox", new
> PropertyModel(value, "select")) {
>                 private static final long serialVersionUID = 1L;
>
>                 @Override
>                 protected void onUpdate(AjaxRequestTarget target) {
>                     if (isChecked()) {
>                         if (!checkGroupModel.contains(value))
>                             checkGroupModel.add(value);
>                     } else {
>                         checkGroupModel.remove(value);
>                     }
>                     setAllChecked(checkGroupModel.size() ==
> entitiesList.size());
>                     checkGroup.setOutputMarkupId(true);
>                     target.addComponent(checkGroup);
>                     EntitiesPanel.this.onUpdate(target);
>                 }
>             };
>             add(checkbox);
>             checkboxes.add(checkbox);
>         }
>     }
>
> The problem:
> someone else uses my panel for his purposes.
> He has a page (search page) that has my panel (with the table and the
> checkboxes).
> His page has a navigation button - NEXT that uses setResponsePage.
> The next page has a PREV button to go back.
> Going back is also with setResponsePage WITH THE ORIGINAL one.
>
> The scenario:
> Open the search page (with my panel) - the 'select-all' work fine.
> Press next.
> Press back.
>
> Press the 'select-all' again.
> I get an exception: java.lang.IllegalStateException: No Page found for
> component [MarkupContainer [Component id = entityCheckbox, page = <No Page>,
> path = 1:cells:1:cell:entityCheckbox.EntitiesPanel$CheckboxEntityFrag$1]]
>
> Is there something in a page's component's life cycle that I'm missing?
>
> Hope it's clear.
>
> (I'll be away for a few days so bare with me if I'm not answering)
>
> Thanks
> --
> Eyal Golan
> [EMAIL PROTECTED]
>
> Visit: http://jvdrums.sourceforge.net/




-- 
Eyal Golan
[EMAIL PROTECTED]

Visit: http://jvdrums.sourceforge.net/

Reply via email to