Hi,

try to setOutputMarkupPlaceholderTag(true) on your expandable, otherwise
your component doesn't render at all when setVisible(false)...


Bye
   Stef

Entropy wrote:
> I have a list view that will have a button on the left to expand or contract
> a section that starts out hidden.  this section will have some additional
> details.  Code and HTML below.  
> 
> When I click the button, the event arrives in my onActivityLogExpansion, and
> the wicket ajax debug control turns red.  The log says the following, that I
> did not setOutputMarkupdId to true.  But I did as you can see in the code.
> 
> INFO: focus set on ui-id-3
> INFO: focus removed from ui-id-3
> INFO: focus set on btnExpander8
> INFO: focus removed from btnExpander8
> INFO: Received ajax response (771 characters)
> INFO: 
> <?xml version="1.0" encoding="UTF-8"?><ajax-response><component
> id="expandable17" ></component></ajax-response>
> ERROR: Wicket.Ajax.Call.processComponent: Component with id [[expandable17]]
> was not found while trying to perform markup update. Make sure you called
> component.setOutputMarkupId(true) on the component whose markup you are
> trying to update.
> INFO: Response processed successfully.
> INFO: refocus last focused component not needed/allowed
> INFO: focus set on btnExpander8
> INFO: focus removed from btnExpander8
> INFO: focus set on wicketDebugLink
> INFO: focus removed from wicketDebugLink
> 
> 
> CODE:
>           PropertyListView<ShareActivityPlusDecode> activityLog = new
> PropertyListView<ShareActivityPlusDecode>("activityLog", activities) {
>                       private static final long serialVersionUID = 1L;
> 
>                       @Override
>               protected void populateItem(ListItem<ShareActivityPlusDecode> 
> item)
> {
>                               ShareActivityPlusDecode activity = 
> (ShareActivityPlusDecode)
> item.getDefaultModelObject();
>                   item.add(new Label("CREATION_TIMESTAMP"));
>                   item.add(new Label("ACTIVITY_DC"));
>                   item.add(new ExternalLink("mailTo", "mailto:"; +
> activity.getEMAIL_ADR()).add(new Label("CREATED_BY_USER_ID")));
>                               item.add(new Label("USER_PH"));
>                   item.add(new AjaxButton("btnExpander"){
>                                       private static final long 
> serialVersionUID = 1L;
>                                       public void onSubmit(AjaxRequestTarget 
> target, Form form) {
>                                               WebMarkupContainer wmc = 
> (WebMarkupContainer)
> this.getParent().get("expandable");
>                                               onActivityLogExpansion(target, 
> wmc, this);
>                                       }
>                   }).setOutputMarkupId(true);
>                   
>                               WebMarkupContainer expandable = new 
> WebMarkupContainer("expandable", new
> Model<ShareActivityPlusDecode>((ShareActivityPlusDecode)
> item.getDefaultModel().getObject()));
>                               expandable.add(new 
> Label("EMAIL_ADR").setOutputMarkupId(true));
>                               expandable.add(new 
> Label("COMMENT").setOutputMarkupId(true));
>                               boolean reject =
> item.getModelObject().getACTIVITY_CD().equals(ACTIVITY_REJECT) ||
> item.getModelObject().getACTIVITY_CD().equals(ACTIVITY_PENDING_AMENDMENT);
>                               expandable.add(new Label("rejectionReasons", new
> Model<String>("")).setVisible(reject).setEnabled(reject).setOutputMarkupId(true));
>                               expandable.setVisible(false);
>                               expandable.setOutputMarkupId(true);
>                               item.add(expandable);
>               }
>           };
>           logForm.add(activityLog);
> 
> [...]
> 
>       private void onActivityLogExpansion(AjaxRequestTarget target,
> WebMarkupContainer wmc, AjaxButton invokingButton) {
>               Label rejectionReasons = (Label) wmc.get("rejectionReasons");
>               ShareActivityPlusDecode activity = (ShareActivityPlusDecode)
> wmc.getDefaultModelObject();
>               if(rejectionReasons.isEnabled() &&
> rejectionReasons.getDefaultModelObjectAsString().length()==0) {
>                       //populate rejection reasons as this is a rejection 
> activity and the
> value isn't set yet
>                       List<String> reasonDecodes =
> this.sharingService.fetchRejectionReasons(activity.getACTIVITY_CD());
>                       StringBuilder sb = new StringBuilder();
>                       for(String reason:reasonDecodes)
>                               sb.append(reason).append(", ");
>                       if(sb.length()>=2)
>                               sb.delete(sb.length()-2, sb.length());
>                       Model<String> model = (Model<String>) 
> rejectionReasons.getDefaultModel();
>                       model.setObject(sb.toString());
>               }
>               wmc.setVisible(!wmc.isVisible());
>               target.add(wmc);
>               if(wmc.isVisible())
>                       invokingButton.setLabel(new Model<String>("-"));
>               else
>                       invokingButton.setLabel(new Model<String>("+"));
>       }
> 
> 
> 
> HTML:
>                               
> 
>                               
> 
>                                               
>                                               Date
>                                       Activity
>                                       Request Decision
>                                       User Phone
>                               
>                               <wicket:container wicket:id="activityLog">
>                               
> 
>                                               <input type="button" 
> wicket:id="btnExpander" value="+">
>                                               01/10/2014
>                                       01/15/2014
>                                        <span wicket:id="CREATED_BY_USER_ID"> 
> <#>
> Rejected-Pending Amendment 
>                                       Rejected-Pending Amendment
>                               
>                               <wicket:container wicket:id="expandable">
>                               
> 
>                                               
>                                               <label>Email:</label> 
>                                               
>                                       
>                               
>                               
> 
>                                               
>                                               <label>Rejection 
> Reasons:</label> 
>                                               
>                                       
>                               
>                               
> 
>                                               
>                                               <label>Comments:</label> 
>                                               
>                                       
>                               
>                               </wicket:container>
>                               </wicket:container>
>                           
> 
> 
> 
> --
> View this message in context: 
> http://apache-wicket.1842946.n4.nabble.com/Expandable-section-in-ListView-tp4665014.html
> Sent from the Users forum mailing list archive at Nabble.com.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
> 

-- 
im Auftrag der eFonds Solutions AG, +49-89-579494-3417


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to