Is unclear a) what you are trying to accomplish and b) what is not working
expectedly c) what actions is user supposed to take for the expected
behavior to occur.

**
Martin

ke 12. elok. 2020 klo 13.37 Zimen, Michal (michal.zi...@anasoft.com)
kirjoitti:

> I finally have found a hint what should be done to "properly" refresh
> components after nested form is submitted.
>
> In my onSubmit handler, I created a new component(panel) and set the model
> with values from the dialog. Then replaced it via
> component.replaceWith(newComponent).
>
> protected void onInitialize() {
> ...
>         personModel = new Model<Person>(ComponentFactory.createPerson());
>         if (defaultPerson != null)
>                 personModel.setObject(defaultPerson.copy());
> ...
>         mandatePayerNamePersonPanel = new MandatePayerNamePersonEditPanel(
>                 "payerNamePersonPanel",
>                 new PropertyModel<PersonName>(personModel, "personName")
>         );
>
>
>
>
>
> Are there any other solutions to do it better? Maybe without replacing the
> components?
>
>
> Thanks,
>
>       M.
>
> -----Original Message-----
> From: Martin Terra <martin.te...@koodaripalvelut.com>
> Sent: Tuesday, August 4, 2020 4:45 PM
> To: users@wicket.apache.org
> Subject: POSSIBLY SPOOFED: Re: Issues with refreshing panel with form
>
> Did you debug clearinput and model detach whether they occur expectedly?
> Snipplet is too small to see the big picture, and at the same time it
> seems too complex to get the big picture quickly from code (maybe you could
> share a 15 line pseudocode spec for the form, what it's intended to do)?
>
> **
> Martin
>
> ti 4. elok. 2020 klo 15.43 Zimen, Michal (michal.zi...@anasoft.com)
> kirjoitti:
>
> > Hi,
> >
> >
> >
> > The dialogB(without nested form) of panelB uses this snippet to update
> > the models of the components in the root panel.
> > It works perfectly unless other nested form is submitted in advance.
> >
> >    onClose(.... target) {
> >             mandatePayerEditPanel.detachModels(); // this is the
> > reference to the root panels compoent, which needs to be updated.
> >                                                   // It’s passed via
> > constructor in the
> >             final Person productIsPerson = (Person)
> > productIsClient.getParty();
> >             final PersonImpl person = (PersonImpl)
> > mandatePayerEditPanel.getPersonModel().getObject();
> >
> >             person.setPersonName(productIsPerson.getPersonName().copy());
> >     // sets the new value
> >
> >             final IModel<Address> domesticAddressModel =
> > mandatePayerEditPanel.getAddressPersonPanel().getDomesticAddressModel();
> >             domesticAddressModel.detach();
> >
> >
> > domesticAddressModel.setObject(productIsPerson.getContact().getAddress
> > ().copy());
> > // sets the new value
> >
> >             // now comes the stuff for refreshing components with ajax
> > response
> >             target.add(componentsToRefreshOnVerificationFill);
> >             List<Component> list = new ArrayList<Component>();
> >
> > mandatePayerEditPanel.addComponentsToRefreshOnVerificationFill(list);
> >             mandatePayerEditPanel.setOutputMarkupId(true);
> >             mandatePayerEditPanel.setOutputMarkupPlaceholderTag(true);
> >             mandatePayerEditPanel.markRendering(true);
> >             mandatePayerEditPanel.setVisibilityAllowed(true);
> >             mandatePayerEditPanel.modelChanged();
> >             mandatePayerEditPanel.configure();
> >             target.add(mandatePayerEditPanel);
> >     }
> >
> >
> >
> >
> >
> > m.
> >
> >
> >
> > -----Original Message-----
> > From: Martin Grigorov <mgrigo...@apache.org>
> > Sent: Tuesday, August 4, 2020 2:25 PM
> > To: users@wicket.apache.org
> > Subject: Re: Issues with refreshing panel with form
> >
> >
> >
> > On Tue, Aug 4, 2020 at 2:53 PM Zimen, Michal <michal.zi...@anasoft.com
> > <mailto:michal.zi...@anasoft.com>>
> >
> > wrote:
> >
> >
> >
> > > Thanks,
> >
> > >
> >
> > >  Well, snippets from source code might come later. My concerns are,
> >
> > > that the issue I’m facing is related to this
> >
> > > https://issues.apache.org/jira/browse/WICKET-6041
> >
> > > None weird logs have been found on both sides.
> >
> > >
> >
> > > DialogA with a nested form uses POST to update its stuff, but the
> >
> > > dialogB handle its work through GET only(no form submission).
> >
> > >
> >
> > > I was trying to catch the root form submission in form.onSubmit(),
> > > but
> >
> > > I found out, that this is not called, since the
> >
> > > wantSubmitOnNestedFormSubmit() returns false.
> >
> > > Therefore I conclude, that after POST request, other references
> > > among
> >
> > > components are broken.
> >
> > >
> >
> >
> >
> > What do you mean with this ?
> >
> >
> >
> >
> >
> > >
> >
> > > The question might be: How to "refresh" or keep these references
> > > after
> >
> > > nested form is submitted?
> >
> > >
> >
> > > Thanks a lot,
> >
> > >
> >
> > >
> >
> > >  M.
> >
> > >
> >
> > > -----Original Message-----
> >
> > > From: Martin Grigorov
> > > <mgrigo...@apache.org<mailto:mgrigo...@apache.org
> > >>
> >
> > > Sent: Tuesday, August 4, 2020 10:31 AM
> >
> > > To: users@wicket.apache.org<mailto:users@wicket.apache.org>
> >
> > > Subject: Re: Issues with refreshing panel with form
> >
> > >
> >
> > > Hi,
> >
> > >
> >
> > > On Mon, Aug 3, 2020 at 2:53 PM Zimen, Michal
> >
> > > <michal.zi...@anasoft.com<mailto:michal.zi...@anasoft.com>>
> >
> > > wrote:
> >
> > >
> >
> > > > Hi Wicket Users,
> >
> > > >
> >
> > > >
> >
> > > >    I've just started to learn the Wicket by fixing some issues in
> >
> > > > our legacy backlog repository.
> >
> > > >
> >
> > > > Therefore, I need some clarification to manage my blockpoints.
> >
> > > > Having spent enough time to fix it by myself, I finally must turn
> >
> > > > out to this help.
> >
> > > >
> >
> > > > The weird problem could be described following:
> >
> > > >
> >
> > > >
> >
> > > >   1.  A base form contains components and links to
> >
> > > > AbstractFormDialog(Jquery-ui) for user inputs.
> >
> > > >   2.  When the formDialogA is submitted, some parent components
> > > > are
> >
> > > > updated, some remain empty, as it is expected.
> >
> > > >   3.  Another modal formDialogB is open and submitted and
> > > > expecting
> >
> > > > components are not updated.
> >
> > > >
> >
> > > > When this procedure is done in swapped sequence - firstly
> >
> > > > formDialogB and then formDialogA is opened, everything works ok.
> >
> > > >
> >
> > > > Seems as if, the submitting formDialogA breaks the references for
> >
> > > > submission formDialogB.
> >
> > > >
> >
> > > > Could you please clarify me, what should be checked to avoid this
> >
> > > problem?
> >
> > > >
> >
> > >
> >
> > > I'd suggest these two things:
> >
> > > 1) check for errors both in the server logs and in the browser
> >
> > > 2) use a FeedbackPanel to show any validation errors in all Forms.
> >
> > > I.e. if you override #onSubmit()/#onUpdate() then make sure you also
> >
> > > override
> >
> > > #onError() and if you use Ajax then add the FeedbackPanel to the
> >
> > > AjaxRequestTarget
> >
> > >
> >
> > >
> >
> > > >
> >
> > > > Thanks,
> >
> > > >
> >
> > > >        M.
> >
> > > >
> >
> > > >
> >
> > > >
> >
> > > > Michal Zimen
> >
> > > > e-mail: michal.zi...@anasoft.com<mailto:michal.zi...@anasoft.com>
> >
> > > >
> >
> > > >
> >
> > >
> >
>

Reply via email to