You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Rodrigo Heffner <ro...@gmail.com> on 2011/08/23 18:27:01 UTC

Cannot render slider inside modal window

Hi all,

I have a modal window and I want to add a jqwicket slider to it. The slider
works normally if it's added directly to my page, but not inside the modal
window (I can inspect the html and see that my WebMarkupContainer is
rendered, but the slider isn't shown). Here's the code:

add(new WebMarkupContainer("slider").add(new SliderBehavior(new
SliderOptions().min(10).max(100).value(20))));

<div wicket:id="slider"></div>

I've read this thread
http://apache-wicket.1842946.n4.nabble.com/How-to-access-div-on-wicket-modal-dialog-td2310678.htmlbut
I couldn't work out a solution to my problem yet.

I've also tried using jqwicket's AjaxSlider class, still no luck:

public abstract class AjaxSlider extends WebMarkupContainer {

    private static final long serialVersionUID = 1L;

    public AjaxSlider(String id) {
        super(id);
        super.setOutputMarkupId(true);
    }

    public abstract void onValueChanged(AjaxRequestTarget target,
            int newValue);

    @Override
    protected void onInitialize() {
        super.onInitialize();
        AbstractDefaultAjaxBehavior ajaxBehavior = new
AbstractDefaultAjaxBehavior() {

            private static final long serialVersionUID = 1L;

            @Override
            protected void respond(AjaxRequestTarget target) {
                String sliderValue =
RequestCycle.get().getRequest().getParameter("sv");
                if (Utils.isNotBlank(sliderValue)) {
                    onValueChanged(target, Integer.valueOf(sliderValue));
                }
            }

//            @Override
//            public void renderHead(IHeaderResponse response) {
//                super.renderHead(response);
//                response.renderOnDomReadyJavascript("");
//            }
        };
        super.add(ajaxBehavior);
        super.add(new SliderBehavior(new
SliderOptions().changeEvent(wicketAjaxGet(
                ajaxBehavior,
                new MapBuilder<String, Object>().add("sv",
js("ui.value")).build()))));
    }
}

Thanks in advance,

-- 
Rodrigo H M Bezerra