Hi

I am able to remove the panel by accessing the top most component (form)
and setting visible to false. This removes the panel from the page, however
I am having difficulty adding the panel back to the page. I get and Ajax
error saying component id can't be found.

The source is availble here
https://github.com/dmbeer/wicket-bootstrap-example/tree/master/src/main/java/exampleUserAccountPage
and the Panel's there.

The Wicket Ajax Debug Content is as follows;

*INFO: *Received ajax response (1570 characters)
*INFO: *
<?xml version="1.0" encoding="UTF-8"?><ajax-response><component
id="form1c" ><![CDATA[]]></component><component
id="link_dsiable_password17" ><![CDATA[<a id="link_dsiable_password17"
href="javascript:;" class="btn-link  btn">
            Enable Password Panel
        </a>]]></component><header-contribution encoding="wicket1"
><![CDATA[<head xmlns:wicket="
http://wicket.apache.org";><link rel="stylesheet" type="text/css" href="//
netdna.bootstrapcdn.com/bootswatch/3.1.1/spacelab/bootstrap.min.css" />
<script type="text/javascript" src="
http://code.jquery.com/jquery-1.11.0.min.js";></script>
<script type="text/javascript"
src="./wicket/resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-event-jquery-ver-1392391424000.js"></script>
<script type="text/javascript"
src="./wicket/resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-ajax-jquery-ver-1392391424000.js"></script>
<script type="text/javascript"
src="./wicket/resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-ajax-jquery-debug-ver-1392391424000.js"></script>
<script type="text/javascript" id="wicket-ajax-debug-enable">
/*<![CDATA[*/
Wicket.Ajax.DebugWindow.enabled=true;
/*]^]^>*/
</script>
<script type="text/javascript" id="wicket-ajax-base-url">
/*<![CDATA[*/
Wicket.Ajax.baseUrl="account?1";
/*]^]^>*/
</script>
</head>]]></header-contribution><evaluate><![CDATA[(function(){Wicket.Ajax.ajax({"u":"./account?1-1.IBehaviorListener.0-link~dsiable~password","e":"click","c":"link_dsiable_password17"});})();]]></evaluate></ajax-response>
 *INFO: *Response processed successfully.
*INFO: *refocus last focused component not needed/allowed
*INFO: *Received ajax response (2916 characters)
*INFO: *
<?xml version="1.0" encoding="UTF-8"?><ajax-response><component
id="form1c" ><![CDATA[<form id="form1c" method="post"
action="./account?1-1.IFormSubmitListener-change~password-form"
class="form-horizontal"><div
style="width:0px;height:0px;position:absolute;left:-100px;top:-100px;overflow:hidden"><input
type="hidden" name="form1c_hf_0" id="form1c_hf_0" /></div>
            <div class=" form-group">
            <label class="control-label" for="password14">Password</label>


                <input type="password" value=""
name="formGroupPassword:formGroupPassword_body:password"
id="password14"/>




        </div>
            <div class=" form-group">
            <label class="control-label"
for="confirmPassword15">Confirm Password</label>


                <input type="password" value=""
name="formGroupConfirmPassword:formGroupConfirmPassword_body:confirmPassword"
id="confirmPassword15"/>




        </div>
            <div class=" form-group">



                <div class="col-md-offset-2 col-md-10">
                    <button type="submit" class=" btn-default btn
btn-default btn"
name="formGroupButton:formGroupButton_body:submit-button"
id="submit_button16">
            Submit
        </button>
                </div>




        </div>
        </form>]]></component><component id="link_dsiable_password17"
><![CDATA[<a id="link_dsiable_password17" href="javascript:;"
class="btn-link  btn">
            Disable Password Change
        </a>]]></component><header-contribution encoding="wicket1"
><![CDATA[<head xmlns:wicket="
http://wicket.apache.org";><link rel="stylesheet" type="text/css" href="//
netdna.bootstrapcdn.com/bootswatch/3.1.1/spacelab/bootstrap.min.css" />
<script type="text/javascript" src="
http://code.jquery.com/jquery-1.11.0.min.js";></script>
<script type="text/javascript"
src="./wicket/resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-event-jquery-ver-1392391424000.js"></script>
<script type="text/javascript"
src="./wicket/resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-ajax-jquery-ver-1392391424000.js"></script>
<script type="text/javascript"
src="./wicket/resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-ajax-jquery-debug-ver-1392391424000.js"></script>
<script type="text/javascript" id="wicket-ajax-debug-enable">
/*<![CDATA[*/
Wicket.Ajax.DebugWindow.enabled=true;
/*]^]^>*/
</script>
<script type="text/javascript" id="wicket-ajax-base-url">
/*<![CDATA[*/
Wicket.Ajax.baseUrl="account?1";
/*]^]^>*/
</script>
</head>]]></header-contribution><evaluate><![CDATA[(function(){Wicket.Ajax.ajax({"u":"./account?1-1.IBehaviorListener.0-link~dsiable~password","e":"click","c":"link_dsiable_password17"});})();]]></evaluate></ajax-response>
 *ERROR: *
Wicket.Ajax.Call.processComponent: Component with id [[form1c]] was
not found while trying to perform markup update. Make sure you called
component.setOutputMarkupId(true) on the component whose markup you
are trying to update.
 *INFO: *Response processed successfully.
*INFO: *refocus last focused component not needed/allowed

How can I re-enable the component.

Thanks

David




On 1 April 2014 12:37, David Beer <david.m.b...@gmail.com> wrote:

> Hi Martin
>
> Thanks for your information here. So if I had a page which extends from a
> base page and adds the header footer, then added the content which is
> basically two column, in order to use a menu on the left to change some of
> the content on the right I could use a combination of Ajax to swap the
> content.
>
> Thanks
>
> David
>
>
>
> On 1 April 2014 08:04, Martin Grigorov <mgrigo...@apache.org> wrote:
>
>> Hi,
>>
>>
>> On Mon, Mar 31, 2014 at 1:53 PM, David Beer <david.m.b...@gmail.com>
>> wrote:
>>
>> > Hi All
>> >
>> > I am in the process of building a user account page, which will have a
>> menu
>> > on the left, and the related content on the right.
>> >
>> > I would like the content on the right to be swapped depending on the
>> > selection on the left. As in the content on the right might well be
>> > generated by panels or fragments and then added to the page and the
>> > previous unrelated removed.
>> >
>> > Is it better to have all the code added to the html and then hide
>> certain
>> > components and then re-enable them on selection and disable them or is
>> it
>> > better to use a panels and a page hierarchy and to pass information
>> between
>> > panels and parent page.
>> >
>>
>> In my experience I have preferred the second approach - a mix of pages and
>> panels.
>> If you want to replace the right part with Ajax then you need to replace
>> panels.
>> If Ajax is not required then you can show a sub page that inherits the
>> base
>> layout from a main page and has something custom in the right part.
>>
>>
>> >
>> > Any thoughts and examples are always appreciated.
>> >
>> > Thanks
>> >
>> > David
>> >
>>
>
>

Reply via email to