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]

Reply via email to