Actually notesField = localNotesfield = TextArea(...) ** Martin
2011/8/12 Martin Makundi <[email protected]>: > Hi! > >> i have some questions for usage of this. >> 1. Where do i have to put my instance of reusemanager? > > Where you want to keep the values? What is your "common denominator". > It can be a page or it can be in session... I normally use a Panel and > it keeps values of listview items' formcomponents during ajax rebuild > of listview. > >> 2. What is MarkupUtils.fakeRawInput and MarkupUtils.replaceReporter doing? > > > rawInputField = FormComponent.class.getDeclaredField("rawInput"); > rawInputField.setAccessible(true); > reporterField = FeedbackMessage.class.getDeclaredField("reporter"); > reporterField.setAccessible(true); > > /** > * @param formComponent > * @param <T> > * @param existingComponent > */ > public static <T extends FormComponent<?>> void fakeRawInput(T > formComponent, T existingComponent) { > try { > String rawInput = (String) rawInputField.get(existingComponent); > fakeRawInput(formComponent, rawInput); > } catch (Exception e) { > Utils.errorLog(WicketUtils.class, "Fatal Error: Form field > access failed.", e); > } > } > > /** > * @param formComponent > * @param <T> > * @param value > */ > public static <T extends FormComponent<?>> void fakeRawInput(T > formComponent, String value) { > try { > rawInputField.set(formComponent, value); > } catch (Exception e) { > Utils.errorLog(WicketUtils.class, "Fatal Error: Form field > access failed.", e); > } > } > > /** > * @param feedbackMessage > * @param formComponent > */ > public static void replaceReporter(FeedbackMessage feedbackMessage, > FormComponent<?> formComponent) { > try { > reporterField.set(feedbackMessage, formComponent); > } catch (Exception e) { > throw new RuntimeException(e); > } > } > >> 3. I don't have any persistent id (rowid) for usage. > > Rowid can be something which is unique for each component. In listview > it is the item model object. If you don't have rows, it can be > something else, even a string index or component id or something. > Depends what you are making and how complex your page is. > >> 4. Do you have a working example for me? > > It's quite simple, really. Here are two examples one with string index > and another with model object id: > > { > // A > String taskIndex = dailyContainer.getIndex() + ":task." + > reuseManager.getUniqueIndex(task); > > notesField = reuseManager.rememberOrReuse(taskIndex, > NOTES_TD, > localNotesField); > > notesContainer.add(notesField); > > } > > { > // B > protected void populateItem(final ListItem<Vacation> rowItem) { > SqlDateTextField startDateField; > startDateField = reuseManager.rememberOrReuse(vacation, > START_DATE, startDateField); > rowItem.add(startDateField.setRequired(true)); > > } > > > > Ah yes, and you might want to call reuseManager.clear if you want to > reset your context (similar to form.clearInput()) > > ** > Martin > > > ** > Martin > >> >> Thanks >> Mike >> >>> Is possible using reuseManager, but you need to keep reference to it >>> somewhere. >>> >>> >>> http://apache-wicket.1842946.n4.nabble.com/Check-box-loses-checked-state-after-error-td1855690.html >>> >>> ** >>> Martin >>> >>> 2011/8/11 Bruno Borges<[email protected]>: >>>> >>>> In your GoBack button's submit method (dpf = false), call >>>> >>>> form.updateFormComponentModels() >>>> >>>> >>>> >>>> *Bruno Borges * >>>> www.brunoborges.com.br >>>> +55 21 76727099 >>>> >>>> >>>> >>>> On Thu, Aug 11, 2011 at 12:08 PM, Mike Mander<[email protected]> wrote: >>>> >>>>> Am 11.08.2011 16:54, schrieb Bruno Borges: >>>>> >>>>>> You want to go back to another page without having to fill the form, >>>>>> but >>>>>> you >>>>>> also don't want to lose data you typed in in the previous screen? Seems >>>>>> weird to me. >>>>>> >>>>>> Have you considered to add Ajax update behaviour? onBlur of components, >>>>>> you >>>>>> could update the model of each component. >>>>>> *Bruno Borges* >>>>>> www.brunoborges.com.br >>>>>> +55 21 76727099 >>>>>> >>>>>> >>>>>> >>>>>> On Thu, Aug 11, 2011 at 11:50 AM, Mike Mander<[email protected]> >>>>>> wrote: >>>>>> >>>>>> Am 11.08.2011 16:36, schrieb Bruno Borges: >>>>>>> >>>>>>> Shouldn't you be submitting that button anyway? dfp = true >>>>>>>> >>>>>>>> *Bruno Borges* >>>>>>>> www.brunoborges.com.br >>>>>>>> +55 21 76727099 >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Aug 11, 2011 at 10:44 AM, Mike Mander<[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>>> i've added a domain model globally to my session. >>>>>>>>> >>>>>>>>> A form for editing this data is provided on page A. On this i have 2 >>>>>>>>> submit >>>>>>>>> buttons. One with setDefaultFormProcessing false (to previous page) >>>>>>>>> and >>>>>>>>> one >>>>>>>>> with true (to next step). >>>>>>>>> >>>>>>>>> If i press the main submit (next step | dfp = true) then everything >>>>>>>>> works >>>>>>>>> as expected. If i press the other (previous page |dfp = false) and >>>>>>>>> redirect >>>>>>>>> to Page A all data are lost. I'm absolutely aware of the issue that >>>>>>>>> false >>>>>>>>> in >>>>>>>>> defaultFormProcessing is not submitting the data. >>>>>>>>> >>>>>>>>> But because i cannot reproduce the input changed part of the form >>>>>>>>> processing, i can't submit the invalid data manually. Is there any >>>>>>>>> way >>>>>>>>> to >>>>>>>>> achieve my goal? >>>>>>>>> >>>>>>>>> Thanks >>>>>>>>> Mike >>>>>>>>> >>>>>>>>> ------------------------------******--------------------------**--** >>>>>>>>> --**--------- >>>>>>>>> To unsubscribe, e-mail: users-unsubscribe@wicket.****apa**che.org< >>>>>>>>> http://apache.org**> >>>>>>>>> <users-unsubscribe@**wicket.**apache.org<http://wicket.apache.org>< >>>>>>>>> >>>>>>>>> users-unsubscribe@**wicket.apache.org<[email protected]> >>>>>>>>> For additional commands, e-mail: [email protected] >>>>>>>>> >>>>>>>>> >>>>>>>>> Then i can't goback to previous page without filling the form. >>>>>>>>> >>>>>>>> The scenario is >>>>>>> >>>>>>> 1. goto basket >>>>>>> 2. goto checkout (Page A in post) enter some data >>>>>>> 3. goback to basket (dfp = false) validation should be bypassed >>>>>>> 4. goto checkout => all entered data are present >>>>>>> >>>>>>> But until now with this scenario i lost all data in step 4 >>>>>>> >>>>>>> Thanks >>>>>>> Mike >>>>>>> >>>>>>> PS: I use buttons to stay in javascript-less mode :-) >>>>>>> >>>>>>> >>>>>>> ------------------------------****----------------------------** >>>>>>> --**--------- >>>>>>> To unsubscribe, e-mail: >>>>>>> users-unsubscribe@wicket.**apa**che.org<http://apache.org> >>>>>>> >>>>>>> <users-unsubscribe@**wicket.apache.org<[email protected]> >>>>>>> For additional commands, e-mail: [email protected] >>>>>>> >>>>>>> >>>>>>> Ajax is not an option - i have to stay javascript-less. >>>>> >>>>> You want to go back to another page without having to fill the form, >>>>> but >>>>>> >>>>>> you >>>>>> also don't want to lose data you typed in in the previous screen? >>>>>> Seems >>>>>> weird to me. >>>>>> >>>>> Not the previous screen. The current screen. >>>>> >>>>> I come from basket. I goto checkout. I start typing. I think oops what >>>>> was >>>>> the option in basket >>>>> and goback to basket (dfp = false). I check the basket option and think >>>>> ok >>>>> let's go on checkout. >>>>> And on checkout i think - damn all typed data have gone. So i leave the >>>>> shop. >>>>> >>>>> That's the scenario i try to catch. >>>>> >>>>> >>>>> Thanks >>>>> Mike >>>>> >>>>> >>>>> >>>>> >>>>> ------------------------------**------------------------------**--------- >>>>> To unsubscribe, e-mail: >>>>> users-unsubscribe@wicket.**apache.org<[email protected]> >>>>> For additional commands, e-mail: [email protected] >>>>> >>>>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >>> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
