I would like to build a simple form whose markup looks like the
following:

 

<wicket:panel>

       <form wicket:id="form">

              <table>

                     <thead>

                           <tr>

                                  <th>[Label]</th>

                                  <th><a
wicket:id="editLink">[edit]</a></th>

                           </tr>

                     </thead>

                     <tbody>

                           <tr>

                                  <td>[attr1]</td>

                                  <td><input type="text"
wicket:id="attr1"/></td>

                           </tr>

                           <tr>

                                  <td>[attr2]</td>

                                  <td><input type="text"
wicket:id="longitude"/></td>

                           </tr>

                     </tbody>

                     <tfoot>

                           <tr>

                                  <td colspan="2">

                                         <button
wicket:id="submit">[submit]</button>

                                         <button
wicket:id="cancel">[cancel]</button>

                                  </td>

                           </tr>

                     </tfoot>

              </table>

       </form>

</wicket:panel>

 

I call setEnabled(false) on the Form when it is constructed which makes
its FormComponents disabled making a "read only" version of the form.
I'd then like the editLink.onClick() to enable the form, which will
enable it's components.  However, since the editLink is a child of the
Form which is initially disabled, that link is disabled.  I am looking
for a way to not have the link be disabled eventhough the form it is in
is disabled.  My thought was for that link, I could override
isEnabledInHierarchy() to just negate the value returned by super (if
the form is disabled the link is enabled and vice versa), but that
method is final, so no can do.

 

Is anyone aware of another way I could go about doing this?  I know I
could create a wicket component on say the tbody element and have it be
disabled, but then the link would have to be passed which element(s) it
needs to enable when clicked and I was hoping to just be able to use the
hierarchy so I can make the EditLink a reusable component since this is
a very common use case for us (having read only forms that become
editable with a click).

 

Thanks in advance!

Steve

Reply via email to