Example usage for org.apache.wicket.ajax AjaxChannel AjaxChannel

List of usage examples for org.apache.wicket.ajax AjaxChannel AjaxChannel

Introduction

In this page you can find the example usage for org.apache.wicket.ajax AjaxChannel AjaxChannel.

Prototype

public AjaxChannel(final String name) 

Source Link

Document

Construct.

Usage

From source file:org.sakaiproject.sitestats.tool.wicket.components.AjaxLazyLoadFragment.java

License:Educational Community License

/**
 * @param id//from w  w w.  j  a v  a2  s.c om
 */
public AjaxLazyLoadFragment(final String id) {
    super(id);
    setOutputMarkupId(true);

    final AbstractDefaultAjaxBehavior behavior = new AbstractDefaultAjaxBehavior() {
        @Override
        protected void respond(AjaxRequestTarget target) {
            Fragment fragment = getLazyLoadFragment("content");
            AjaxLazyLoadFragment.this.replace(fragment.setRenderBodyOnly(true));
            target.add(AjaxLazyLoadFragment.this);
            setState((byte) 2);
        }

        @Override
        public void renderHead(Component component, IHeaderResponse response) {
            response.render(OnDomReadyHeaderItem.forScript(getCallbackScript().toString()));
            super.renderHead(component, response);
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);

            attributes.setChannel(new AjaxChannel(getId()));
        }

        @Override
        public boolean isEnabled(Component component) {
            return state < 2;
        }
    };
    add(behavior);

}

From source file:org.sakaiproject.sitestats.tool.wicket.components.AjaxLazyLoadImage.java

License:Educational Community License

private void init() {
    setOutputMarkupId(true);// w w w  .  j  a va  2 s.c  om

    // render chart by ajax, uppon request
    chartRenderAjaxBehavior = new AbstractDefaultAjaxBehavior() {
        private static final long serialVersionUID = 1L;

        @Override
        protected void respond(AjaxRequestTarget target) {
            //System.out.println("chartRenderAjaxBehavior.Responding for "+ getId());
            renderImage(target, true);
        }

        @Override
        public boolean isEnabled(Component component) {
            return state < 2;
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);

            attributes.setChannel(new AjaxChannel(getId()));
        }
    };
    add(chartRenderAjaxBehavior);

    // fields for maximized chart size
    setDefaultModel(new CompoundPropertyModel(this));
    form = new Form("chartForm");
    form.add(new HiddenField("maxWidth"));
    form.add(new HiddenField("maxHeight"));
    add(form);
}

From source file:org.sakaiproject.sitestats.tool.wicket.components.AjaxLazyLoadImage.java

License:Educational Community License

public void setAutoDetermineChartSizeByAjax(final String jquerySelectorForContainer) {
    autoDetermineChartSizeByAjax = true;
    AbstractDefaultAjaxBehavior determineChartSizeBehavior = new AbstractDefaultAjaxBehavior() {
        private static final long serialVersionUID = 1L;

        @Override//from   ww  w  .j  a  va 2  s. com
        protected void respond(AjaxRequestTarget target) {
            // parse desired image size
            Request req = RequestCycle.get().getRequest();

            selectedWidth = req.getQueryParameters().getParameterValue("width").toInt(400);

            selectedHeight = req.getQueryParameters().getParameterValue("height").toInt(200);
            if (selectedHeight < 200) {
                selectedHeight = 200;
            }
            // render chart image
            renderImage(target, true);
        }

        @Override
        public void renderHead(Component component, IHeaderResponse response) {

            super.renderHead(component, response);
            response.render(OnDomReadyHeaderItem.forScript(getCallbackScript(component)));
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);

            attributes.setChannel(new AjaxChannel(getId()));

            String dynamicExtraParams = "return { 'height': jQuery('" + jquerySelectorForContainer
                    + "').height(), 'width': jQuery('" + jquerySelectorForContainer + "').width() }";
            attributes.getDynamicExtraParameters().add(dynamicExtraParams);
        }
    };

    add(determineChartSizeBehavior);
}