is it not possible to post the whole page where you insert the
ImagePreviewPanel ? I don't need the HTML just the java side

On 05/12/2007, Andrew Moore <[EMAIL PROTECTED]> wrote:
>
>
> The ajax stuff is firing (as I can see in the ajax debug window) but the
> panel does not get updated.
>
> I know I'm getting the id from the drop down and the ajax bit itself is
> fine
> as I can get the value of the drop down and append it to a test label on
> the
> form that's used to store the dropdown details.
>
> I think it's mostly my lack of understanding of what actually fires with
> the
> ajax call, as I need to be able to refresh the values from the database.
> Should I be creating a Model overriding the setObject to do this?
>
>
>
> wicket user wrote:
> >
> > Hi Andrew,
> >
> > So what's actually happening? Anything? Exceptions or does the image
> just
> > stay the same?
> >
> >
> >
> > On 05/12/2007, Andrew Moore <[EMAIL PROTECTED]> wrote:
> >>
> >>
> >> Hi,
> >> I've got a page, which includes a drop down choice box, and a panel
> (with
> >> a
> >> list of images).
> >>
> >> The drop down box holds an id (which ties back to a list of images),
> what
> >> I'm wanting to be able to do is that if the user changes the drop down
> >> choice, the panel refreshes via ajax with the new images.
> >>
> >> Here's a few snippets of code:
> >>
> >>
> >>
> -------------------------------------------------------------------------------------------------
> >> //insert the image preview panel
> >> final ImagePreviewPanel imagePreviewPanel = new
> >> ImagePreviewPanel("imagePreviewPanel", generalPage.getImageCollectionId
> >> ());
> >> imagePreviewPanel.setOutputMarkupId(true);
> >> form.add(imagePreviewPanel);
> >> form.setOutputMarkupId(true);
> >>
> >> //add the OnChange for the ajax call
> >> OnChangeAjaxBehavior onChangeAjaxBehavior = new OnChangeAjaxBehavior(){
> >>             protected void onUpdate(AjaxRequestTarget target) {
> >>                 FormComponent fc = getFormComponent();
> >>                 fc.getForm();
> >>                 GeneralPage aGeneralPage = (GeneralPage)
> >> fc.getForm().getModelObject();
> >>                 //get the drop down image collection id
> >>                 if (aGeneralPage.getImageCollectionOption() != null){
> >>                         String keyValue =
> >> aGeneralPage.getImageCollectionOption().getKey();
> >>
> >>                         imagePreviewPanel.setImageCollectionId(new
> >> Long(aGeneralPage.getImageCollectionOption().getKey()));
> >>                 }
> >>                 target.addComponent(imagePreviewPanel);
> >>             }
> >>         };
> >>
> >>
> >>
> -------------------------------------------------------------------------------------------------
> >>
> >> Then I've got the panel (which I've cut down on the details here to
> make
> >> it
> >> a bit easier to understand)
> >>
> >>
> >>
> -------------------------------------------------------------------------------------------------
> >> public class ImagePreviewPanel extends Panel
> >> {
> >>         private Long imageCollectionId;
> >>         private String galleryCounterText = "";
> >>         private List imageList = new ArrayList();
> >>
> >>         public ImagePreviewPanel(final String componentId, Long
> >> anImageCollectionId){
> >>                 super(componentId);
> >>                 //set up the instance variable from the constructor
> >>                 setImageCollectionId(anImageCollectionId);
> >>
> >>                 //now add the image previews
> >>                 //first get the images if there are any
> >>                 ImageCollection imageCollection =
> >> imageCollectionDao.findByImageCollectionId(imageCollectionId);
> >>
> >>                 WebMarkupContainer dataImagecontainer = new
> >> WebMarkupContainer("dataimage");
> >>                 dataImagecontainer.setOutputMarkupId(true);
> >>                 add(dataImagecontainer);
> >>
> >>                 //display the total number of images in the list
> >>                 galleryCounterText = imageCollection.getImages
> ().size();
> >>                 add(new Label("galleryCounter",new PropertyModel(this,
> >> "galleryCounterText")).setOutputMarkupId(true));
> >>
> >>                 //get the collection of images from the imageCollection
> >> object
> >>                 imageList = imageCollection.getImages();
> >>
> >>                 final PageableListView imageView;
> >>                 dataImagecontainer.add(imageView = new
> >> PageableListView("galleryList", new
> >> CompoundPropertyModel(imageList), 20){
> >>                         public void populateItem(final ListItem
> >> listItem){
> >>                                 final Image image =
> >> (Image)listItem.getModelObject();
> >>
> >>                                 //set up default image element
> >> description
> >>                                 String imageElementDescription = new
> >> StringResourceModel("noImageElementDescription", this,
> null).getString();
> >>
> >>                                 //set up image element description if a
> >> better one exists
> >>                                 StaticImage staticImage = new
> >> StaticImage("previewImage",
> >> image.getImageHref());
> >>                                 staticImage.setOutputMarkupId(true);
> >>                                 listItem.add(staticImage);
> >>                         }
> >>                 });
> >>                 imageView.setOutputMarkupId(true);
> >>         }
> >>
> >>
> >>         public Long getImageCollectionId() {
> >>                 return imageCollectionId;
> >>         }
> >>
> >>         public void setImageCollectionId(Long imageCollectionId) {
> >>                 this.imageCollectionId = imageCollectionId;
> >>         }
> >> }
> >>
> >>
> >>
> >>
> >>
> >>
> -------------------------------------------------------------------------------------------------
> >> The only thing is, don't feel like I've got my head completely around
> the
> >> wicket models and I'm having trouble working out what I need to do to
> the
> >> page and panel to get the panel to refresh via ajax.
> >>
> >> Sorry for the amount of code, but it's the only way I think to try and
> >> describe what I've currently got.
> >> Thanks
> >> Andrew
> >> --
> >> View this message in context:
> >>
> http://www.nabble.com/Using-ajax-to-update-a-panel-tf4949239.html#a14170394
> >> Sent from the Wicket - User mailing list archive at Nabble.com.
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Using-ajax-to-update-a-panel-tf4949239.html#a14171495
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to