Example usage for org.apache.wicket.ajax.attributes CallbackParameter explicit

List of usage examples for org.apache.wicket.ajax.attributes CallbackParameter explicit

Introduction

In this page you can find the example usage for org.apache.wicket.ajax.attributes CallbackParameter explicit.

Prototype

public static CallbackParameter explicit(String name) 

Source Link

Document

Add a parameter to the function declaration that is also passed to the AJAX callback.

Usage

From source file:com.googlecode.wicket.jquery.ui.calendar.CalendarBehavior.java

License:Apache License

/**
 * Gets the ajax behavior that will be triggered when the user clicks on a day cell
 *
 * @return the {@link JQueryAjaxBehavior}
 *///  w ww .ja  v a  2s.co  m
protected JQueryAjaxBehavior newOnDayClickBehavior() {
    return new JQueryAjaxBehavior(this) {

        private static final long serialVersionUID = 1L;

        @Override
        protected CallbackParameter[] getCallbackParameters() {
            //http://arshaw.com/fullcalendar/docs/mouse/dayClick/
            //function(date, allDay, jsEvent, view)
            return new CallbackParameter[] { CallbackParameter.converted("date", "date.getTime()"),
                    CallbackParameter.explicit("allDay"), CallbackParameter.context("jsEvent"),
                    CallbackParameter.context("view"), CallbackParameter.resolved("viewName", "view.name") };
        }

        @Override
        protected JQueryEvent newEvent() {
            return new DayClickEvent();
        }
    };
}

From source file:com.googlecode.wicket.jquery.ui.calendar.CalendarBehavior.java

License:Apache License

/**
 * Gets the ajax behavior that will be triggered when the user select a cell range
 *
 * @return the {@link JQueryAjaxBehavior}
 *///from   www  . jav a2  s.c  o m
protected JQueryAjaxBehavior newOnSelectBehavior() {
    return new JQueryAjaxBehavior(this) {

        private static final long serialVersionUID = 1L;

        @Override
        protected CallbackParameter[] getCallbackParameters() {
            //http://arshaw.com/fullcalendar/docs/selection/select_callback/
            //function(startDate, endDate, allDay, jsEvent, view) { }
            return new CallbackParameter[] { CallbackParameter.converted("startDate", "startDate.getTime()"),
                    CallbackParameter.converted("endDate", "endDate.getTime()"),
                    CallbackParameter.explicit("allDay"), CallbackParameter.context("jsEvent"),
                    CallbackParameter.context("view"), CallbackParameter.resolved("viewName", "view.name") };
        }

        @Override
        protected JQueryEvent newEvent() {
            return new SelectEvent();
        }
    };
}

From source file:com.googlecode.wicket.jquery.ui.calendar.CalendarBehavior.java

License:Apache License

/**
 * Gets the ajax behavior that will be triggered when the user moves (drag & drop) an event
 *
 * @return the {@link JQueryAjaxBehavior}
 *///from   ww  w . j  a  v  a 2  s .c  o m
protected JQueryAjaxBehavior newOnEventDropBehavior() {
    return new JQueryAjaxBehavior(this) {

        private static final long serialVersionUID = 1L;

        @Override
        protected CallbackParameter[] getCallbackParameters() {
            //http://arshaw.com/fullcalendar/docs/event_ui/eventResize/
            //function(event, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view) {  }
            return new CallbackParameter[] { CallbackParameter.context("event"),
                    CallbackParameter.explicit("dayDelta"), //retrieved
                    CallbackParameter.explicit("minuteDelta"), //retrieved
                    CallbackParameter.explicit("allDay"), //retrieved
                    CallbackParameter.context("revertFunc"), CallbackParameter.context("jsEvent"),
                    CallbackParameter.context("ui"), CallbackParameter.context("view"),
                    CallbackParameter.resolved("eventId", "event.id") //retrieved
            };
        }

        @Override
        protected JQueryEvent newEvent() {
            return new DropEvent();
        }
    };
}

From source file:com.googlecode.wicket.jquery.ui.calendar.CalendarBehavior.java

License:Apache License

/**
 * Gets the ajax behavior that will be triggered when the user resizes an event
 *
 * @return the {@link JQueryAjaxBehavior}
 *///from   ww w.  j a va 2  s .c o  m
protected JQueryAjaxBehavior newOnEventResizeBehavior() {
    return new JQueryAjaxBehavior(this) {

        private static final long serialVersionUID = 1L;

        @Override
        protected CallbackParameter[] getCallbackParameters() {
            //http://arshaw.com/fullcalendar/docs/event_ui/eventResize/
            //function(event, dayDelta, minuteDelta, revertFunc, jsEvent, ui, view) {  }
            return new CallbackParameter[] { CallbackParameter.context("event"),
                    CallbackParameter.explicit("dayDelta"), //retrieved
                    CallbackParameter.explicit("minuteDelta"), //retrieved
                    CallbackParameter.context("revertFunc"), CallbackParameter.context("jsEvent"),
                    CallbackParameter.context("ui"), CallbackParameter.context("view"),
                    CallbackParameter.resolved("eventId", "event.id") //retrieved
            };
        }

        @Override
        protected JQueryEvent newEvent() {
            return new ResizeEvent();
        }
    };
}

From source file:name.martingeisse.webide.features.ecosim.terminal.TerminalPanel.java

License:Open Source License

@Override
public void renderHead(final IHeaderResponse response) {
    super.renderHead(response);
    MyInputBehavior inputBehavior = getBehaviors(MyInputBehavior.class).get(0);
    CharSequence callbackFunction = inputBehavior.getCallbackFunction(CallbackParameter.explicit("inputText"));
    response.render(OnDomReadyHeaderItem
            .forScript("initializeTerminalPanel(" + callbackFunction + ", '" + getMarkupId() + "')"));
}

From source file:name.martingeisse.wicket.component.select.SelectableElementsBehavior.java

License:Open Source License

@Override
public void renderHead(final Component component, final IHeaderResponse response) {
    super.renderHead(component, response);
    WicketHeadUtil.includeClassJavascript(response, SelectableElementsBehavior.class);

    final CallbackParameter[] parameters = new CallbackParameter[] { CallbackParameter.explicit("interaction"),
            CallbackParameter.explicit("selectedValues"), CallbackParameter.explicit("data"), };

    final StringBuilder builder = new StringBuilder();
    builder.append("\t$('#").append(component.getMarkupId()).append("').selectableElements({\n");
    builder.append("\t\telementSelector: '" + elementSelector + "',\n");
    builder.append("\t\tvalueExtractor: function(element) {return " + valueExpression + ";},\n");
    builder.append("\t\tajaxCallback: ").append(getCallbackFunction(parameters).toString().replace("\n", " "))
            .append(",");
    builder.append("\t\tnotSelectedStyle: {'background-color': ''},\n");
    builder.append("\t\tselectedStyle: {'background-color': '#f00'},\n");
    builder.append("\t\tcontextMenuData: ");
    if (contextMenu != null) {
        ContextMenu.renderHead(response);
        contextMenu.buildCreateExpression(builder, "#" + component.getMarkupId(), this);
    } else {/*from ww  w .  j  ava 2  s  .  co  m*/
        builder.append("null");
    }
    builder.append(",\n");
    builder.append("\t});\n");

    final AjaxRequestTarget target = component.getRequestCycle().find(AjaxRequestTarget.class);
    if (target == null) {
        response.render(OnDomReadyHeaderItem.forScript(builder.toString()));
    } else {
        target.appendJavaScript(builder);
    }

}

From source file:name.martingeisse.wicket.component.tree.TreeAjaxBehavior.java

License:Open Source License

/**
 * Returns a Javascript expression that specifies the AJAX callback function.
 *//*w  ww. ja va 2 s  . c  o  m*/
String getCallbackSpecifier() {
    final CallbackParameter[] parameters = new CallbackParameter[] { CallbackParameter.explicit("interaction"),
            CallbackParameter.explicit("selectedNodes"), CallbackParameter.explicit("data"), };
    return getCallbackFunction(parameters).toString().replace("\n", " ");
}

From source file:net.dontdrinkandroot.extensions.wicket.jqueryui.SortableBehavior.java

License:Apache License

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

    final CharSequence callbackFunction = this.getCallbackFunction(CallbackParameter.explicit("oldPosition"),
            CallbackParameter.explicit("newPosition"), CallbackParameter.explicit("out"),
            CallbackParameter.explicit("componentPath"));

    String containment = "";
    final Component containmentComponent = this.getContainment();
    if (containmentComponent != null) {
        containment = "#" + containmentComponent.getMarkupId();
    }//from   w  w w. j a  v  a2 s.  c  o m

    final PackageResourceReference sortableResourceReference = new PackageResourceReference(
            SortableBehavior.class, "sortable.js");

    final JavaScriptReferenceHeaderItem sortableHeaderItem = new JavaScriptReferenceHeaderItem(
            sortableResourceReference, null, "jqueryui.sortable", false, null, null) {

        @Override
        public List<HeaderItem> getDependencies() {
            return Collections.singletonList(SortableBehavior.this.getJQueryUiHeaderItem());
        }
    };

    String handle = this.getHandle();
    handle = handle == null ? "false" : "'" + handle + "'";
    final OnDomReadyHeaderItem initHeaderItem = new OnDomReadyHeaderItem(
            String.format("initSortable('%s', %s, '%s', '%s', '%s', '%s', %s)", component.getMarkupId(),
                    callbackFunction, component.getPageRelativePath(), this.itemSelector,
                    this.getPlaceHolderClass(), containment, handle)) {

        @Override
        public List<HeaderItem> getDependencies() {
            return Collections.singletonList((HeaderItem) sortableHeaderItem);
        }
    };

    response.render(initHeaderItem);
}

From source file:net.dontdrinkandroot.wicket.behavior.jqueryui.SortableBehavior.java

License:Apache License

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

    super.renderHead(component, response);

    CharSequence callbackFunction = this.getCallbackFunction(CallbackParameter.explicit("oldPosition"),
            CallbackParameter.explicit("newPosition"), CallbackParameter.explicit("out"),
            CallbackParameter.explicit("componentPath"));

    String containment = "";
    Component containmentComponent = this.getContainment();
    if (containmentComponent != null) {
        containment = "#" + containmentComponent.getMarkupId();
    }/*  ww  w .  ja v a 2  s  .  c  om*/

    PackageResourceReference sortableResourceReference = new PackageResourceReference(SortableBehavior.class,
            "sortable.js");

    final JavaScriptReferenceHeaderItem sortableHeaderItem = new JavaScriptReferenceHeaderItem(
            sortableResourceReference, null, "jqueryui.sortable", false, null, null) {

        @Override
        public Iterable<? extends HeaderItem> getDependencies() {

            return Collections.singletonList(new ExternalJQueryUiJsHeaderItem(false));
        }
    };

    OnDomReadyHeaderItem initHeaderItem = new OnDomReadyHeaderItem(String.format(
            "initSortable('%s', %s, '%s', '%s', '%s', '%s')", component.getMarkupId(), callbackFunction,
            component.getPageRelativePath(), this.itemSelector, this.getPlaceHolderClass(), containment)) {

        @Override
        public Iterable<? extends HeaderItem> getDependencies() {

            return Collections.singletonList(sortableHeaderItem);
        }
    };

    response.render(initHeaderItem);
}

From source file:org.apache.isis.viewer.wicket.ui.components.scalars.TextFieldWithDatePicker.java

License:Apache License

@Override
public JQueryBehavior newWidgetBehavior(String selector) {
    final DatePickerBehavior datePickerBehavior = new DatePickerBehavior(selector, this.options) {

        private static final long serialVersionUID = 1L;

        @Override/*from   w ww . jav  a2 s.  c o  m*/
        public boolean isOnSelectEventEnabled() {
            return TextFieldWithDatePicker.this.isOnSelectEventEnabled();
        }

        @Override
        public void onConfigure(Component component) {
            super.onConfigure(component);
            TextFieldWithDatePicker.this.onConfigure(this);
        }

        @Override
        public void onSelect(AjaxRequestTarget target, String date) {
            TextFieldWithDatePicker.this.onSelect(target, date);
        }

        @Override
        protected JQueryAjaxPostBehavior newOnSelectBehavior() {
            return new JQueryAjaxPostBehavior(this, TextFieldWithDatePicker.this) {

                private static final long serialVersionUID = 1L;

                @Override
                protected CallbackParameter[] getCallbackParameters() {
                    //function( dateText, inst ) { ... }
                    return new CallbackParameter[] { CallbackParameter.explicit("dateText"),
                            CallbackParameter.context("inst") };
                }

                @Override
                protected JQueryEvent newEvent() {
                    return new SelectEvent();
                }
            };
        }
    };
    return datePickerBehavior;
}