Class DataView<T>

  • Type Parameters:
    T - the model object type
    All Implemented Interfaces:
    com.googlecode.wicket.jquery.core.IJQueryWidget, IListViewListener, Serializable, Iterable<org.apache.wicket.Component>, org.apache.wicket.event.IEventSink, org.apache.wicket.event.IEventSource, org.apache.wicket.feedback.IFeedbackContributor, org.apache.wicket.IConverterLocator, org.apache.wicket.IMetadataContext<Serializable,​org.apache.wicket.Component>, org.apache.wicket.markup.html.IHeaderContributor, org.apache.wicket.request.component.IRequestableComponent, org.apache.wicket.util.IHierarchical<org.apache.wicket.Component>, org.apache.wicket.util.io.IClusterable

    public class DataView<T>
    extends org.apache.wicket.markup.html.WebMarkupContainer
    implements com.googlecode.wicket.jquery.core.IJQueryWidget, IListViewListener
    Provides a DataView based on Kendo UI listView
    Author:
    Sebastien Briquet - sebfz1
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface com.googlecode.wicket.jquery.core.IJQueryWidget

        com.googlecode.wicket.jquery.core.IJQueryWidget.JQueryWidget
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected com.googlecode.wicket.jquery.core.Options options  
      • Fields inherited from class org.apache.wicket.Component

        ENABLE, FLAG_INITIALIZED, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER, RFLAG_CONTAINER_DEQUEING, RFLAG_CONTAINER_HAS_REMOVALS
    • Constructor Summary

      Constructors 
      Constructor Description
      DataView​(String id, org.apache.wicket.markup.repeater.data.IDataProvider<T> provider)
      Constructor
      DataView​(String id, org.apache.wicket.markup.repeater.data.IDataProvider<T> provider, com.googlecode.wicket.jquery.core.Options options)
      Constructor
      DataView​(String id, org.apache.wicket.markup.repeater.data.IDataProvider<T> provider, com.googlecode.wicket.jquery.core.renderer.ITextRenderer<? super T> renderer)
      Constructor
      DataView​(String id, org.apache.wicket.markup.repeater.data.IDataProvider<T> provider, com.googlecode.wicket.jquery.core.renderer.ITextRenderer<? super T> renderer, com.googlecode.wicket.jquery.core.Options options)
      Main constructor
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected CharSequence getCallbackUrl()
      Gets the data-provider behavior's url
      org.apache.wicket.markup.repeater.data.IDataProvider<T> getDataProvider()
      Gets the IDataProvider
      protected long getRowCount()
      Gets the number of rows per page to be displayed
      String getTemplateToken()
      Gets the template script token/id
      void hide​(org.apache.wicket.core.request.handler.IPartialPageRequestHandler handler)
      Hides the DataView
      boolean isSelectable()
      Indicates whether item(s) can be selected.
      If true, the IListViewListener.onChange(AjaxRequestTarget, JSONArray) event will be triggered
      protected org.apache.wicket.behavior.AbstractAjaxBehavior newDataProviderBehavior​(org.apache.wicket.markup.repeater.data.IDataProvider<T> provider, com.googlecode.wicket.jquery.core.renderer.ITextRenderer<? super T> renderer, com.googlecode.wicket.jquery.core.template.IJQueryTemplate template)
      protected KendoDataSource newDataSource()
      Gets a new KendoDataSource to be used by the underlying ListViewBehavior
      protected com.googlecode.wicket.jquery.core.template.IJQueryTemplate newTemplate()
      Gets a new IJQueryTemplate to customize the rendering
      The properties used in the template text (ie: ${data.name}) should be of the prefixed by "data."

      Note: DataView uses a JsonRenderer by default, making IJQueryTemplate.getTextProperties() not required to override (see JQueryTemplate)
      com.googlecode.wicket.jquery.core.JQueryBehavior newWidgetBehavior​(String selector)  
      void onBeforeRender​(com.googlecode.wicket.jquery.core.JQueryBehavior behavior)  
      void onChange​(org.apache.wicket.ajax.AjaxRequestTarget target, com.github.openjson.JSONArray items)
      Triggered when item(s) is/are selected
      void onConfigure​(com.googlecode.wicket.jquery.core.JQueryBehavior behavior)  
      protected void onConfigure​(KendoDataSource dataSource)
      Configure the KendoDataSource with additional options
      void onCreate​(org.apache.wicket.ajax.AjaxRequestTarget target, com.github.openjson.JSONObject object)
      Triggered when datasource 'create' function is raised
      void onDelete​(org.apache.wicket.ajax.AjaxRequestTarget target, com.github.openjson.JSONObject object)
      Triggered when datasource 'destroy' function is raised
      void onHide​(org.apache.wicket.core.request.handler.IPartialPageRequestHandler handler)
      Triggered when the DataView hides
      protected void onInitialize()  
      void onShow​(org.apache.wicket.core.request.handler.IPartialPageRequestHandler handler)
      Triggered when the DataView shows
      void onUpdate​(org.apache.wicket.ajax.AjaxRequestTarget target, com.github.openjson.JSONObject object)
      Triggered when datasource 'update' function is raised
      void refresh​(org.apache.wicket.core.request.handler.IPartialPageRequestHandler handler)
      Refreshes the DataView by reading from the datasource
      void reload​(org.apache.wicket.core.request.handler.IPartialPageRequestHandler handler)
      Reloads the DataView
      Equivalent to handler.add(table)
      void show​(org.apache.wicket.core.request.handler.IPartialPageRequestHandler handler)
      Shows the DataView
      String widget()
      Gets the Kendo UI widget
      • Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer

        getWebApplication, getWebPage, getWebRequest, getWebResponse, getWebSession
      • Methods inherited from class org.apache.wicket.MarkupContainer

        add, addDequeuedComponent, addOrReplace, autoAdd, canDequeueTag, contains, dequeue, dequeue, dequeuePreamble, findChildComponent, findComponentToDequeue, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkup, getMarkupType, getRegionMarkup, internalAdd, internalInitialize, iterator, iterator, newDequeueContext, onComponentTagBody, onDetach, onRender, queue, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, stream, streamChildren, toString, toString, visitChildren, visitChildren
      • Methods inherited from class org.apache.wicket.Component

        add, addStateChange, beforeRender, canCallListener, canCallListenerAfterExpiry, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, clearOriginalDestination, configure, continueToOriginalDestination, createConverter, debug, detach, detachModel, detachModels, determineVisibility, error, exceptionMessage, fatal, findMarkupStream, findPage, findParent, findParentWithAssociatedMarkup, getAjaxRegionMarkupId, getApplication, getBehaviorById, getBehaviorId, getBehaviors, getBehaviors, getClassRelativePath, getConverter, getDefaultModel, getDefaultModelObject, getDefaultModelObjectAsString, getDefaultModelObjectAsString, getEscapeModelStrings, getFeedbackMessages, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkup, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdFromMarkup, getMarkupIdImpl, getMarkupSourcingStrategy, getMarkupTag, getMetaData, getModelComparator, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getRequestFlag, getResponse, getSession, getSizeInBytes, getStatelessHint, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalOnModelChanged, internalRenderComponent, internalRenderHead, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isInitialized, isRenderAllowed, isRendering, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, newMarkupSourcingStrategy, onAfterRender, onBeforeRender, onComponentTag, onConfigure, onEvent, onModelChanged, onModelChanging, onReAdd, onRemove, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderPart, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, urlFor, urlFor, urlFor, urlForListener, urlForListener, visitParents, visitParents, warn, wrap
    • Field Detail

      • options

        protected final com.googlecode.wicket.jquery.core.Options options
    • Constructor Detail

      • DataView

        public DataView​(String id,
                        org.apache.wicket.markup.repeater.data.IDataProvider<T> provider)
        Constructor
        Parameters:
        id - the markup id
        provider - the IDataProvider
      • DataView

        public DataView​(String id,
                        org.apache.wicket.markup.repeater.data.IDataProvider<T> provider,
                        com.googlecode.wicket.jquery.core.Options options)
        Constructor
        Parameters:
        id - the markup id
        provider - the IDataProvider
        options - the Options
      • DataView

        public DataView​(String id,
                        org.apache.wicket.markup.repeater.data.IDataProvider<T> provider,
                        com.googlecode.wicket.jquery.core.renderer.ITextRenderer<? super T> renderer)
        Constructor
        Parameters:
        id - the markup id
        provider - the IDataProvider
        renderer - the ITextRenderer
      • DataView

        public DataView​(String id,
                        org.apache.wicket.markup.repeater.data.IDataProvider<T> provider,
                        com.googlecode.wicket.jquery.core.renderer.ITextRenderer<? super T> renderer,
                        com.googlecode.wicket.jquery.core.Options options)
        Main constructor
        Parameters:
        id - the markup id
        provider - the IDataProvider
        renderer - the ITextRenderer
        options - the Options
    • Method Detail

      • widget

        public String widget()
        Gets the Kendo UI widget
        Returns:
        the jQuery object
      • show

        public final void show​(org.apache.wicket.core.request.handler.IPartialPageRequestHandler handler)
        Shows the DataView
        Parameters:
        handler - the IPartialPageRequestHandler
      • hide

        public final void hide​(org.apache.wicket.core.request.handler.IPartialPageRequestHandler handler)
        Hides the DataView
        Parameters:
        handler - the IPartialPageRequestHandler
      • reload

        public void reload​(org.apache.wicket.core.request.handler.IPartialPageRequestHandler handler)
        Reloads the DataView
        Equivalent to handler.add(table)
        Parameters:
        handler - the IPartialPageRequestHandler
      • refresh

        public void refresh​(org.apache.wicket.core.request.handler.IPartialPageRequestHandler handler)
        Refreshes the DataView by reading from the datasource
        Parameters:
        handler - the IPartialPageRequestHandler
      • getDataProvider

        public org.apache.wicket.markup.repeater.data.IDataProvider<T> getDataProvider()
        Gets the IDataProvider
        Returns:
        the IDataProvider
      • getRowCount

        protected long getRowCount()
        Gets the number of rows per page to be displayed
        Returns:
        ROWS by default
      • getCallbackUrl

        protected final CharSequence getCallbackUrl()
        Gets the data-provider behavior's url
        Returns:
        the data-provider behavior's url
      • getTemplateToken

        public String getTemplateToken()
        Gets the template script token/id
        Returns:
        the template script token/id
      • onInitialize

        protected void onInitialize()
        Overrides:
        onInitialize in class org.apache.wicket.MarkupContainer
      • onConfigure

        public void onConfigure​(com.googlecode.wicket.jquery.core.JQueryBehavior behavior)
        Specified by:
        onConfigure in interface com.googlecode.wicket.jquery.core.IJQueryWidget
      • onBeforeRender

        public void onBeforeRender​(com.googlecode.wicket.jquery.core.JQueryBehavior behavior)
        Specified by:
        onBeforeRender in interface com.googlecode.wicket.jquery.core.IJQueryWidget
      • onShow

        public void onShow​(org.apache.wicket.core.request.handler.IPartialPageRequestHandler handler)
        Triggered when the DataView shows
        Parameters:
        handler - the IPartialPageRequestHandler
      • onHide

        public void onHide​(org.apache.wicket.core.request.handler.IPartialPageRequestHandler handler)
        Triggered when the DataView hides
        Parameters:
        handler - the IPartialPageRequestHandler
      • onCreate

        public void onCreate​(org.apache.wicket.ajax.AjaxRequestTarget target,
                             com.github.openjson.JSONObject object)
        Description copied from interface: IListViewListener
        Triggered when datasource 'create' function is raised
        Specified by:
        onCreate in interface IListViewListener
        Parameters:
        target - the AjaxRequestTarget
        object - the JSONObject holding the row data
      • onUpdate

        public void onUpdate​(org.apache.wicket.ajax.AjaxRequestTarget target,
                             com.github.openjson.JSONObject object)
        Description copied from interface: IListViewListener
        Triggered when datasource 'update' function is raised
        Specified by:
        onUpdate in interface IListViewListener
        Parameters:
        target - the AjaxRequestTarget
        object - the JSONObject holding the row data
      • onDelete

        public void onDelete​(org.apache.wicket.ajax.AjaxRequestTarget target,
                             com.github.openjson.JSONObject object)
        Description copied from interface: IListViewListener
        Triggered when datasource 'destroy' function is raised
        Specified by:
        onDelete in interface IListViewListener
        Parameters:
        target - the AjaxRequestTarget
        object - the JSONObject holding the row data
      • onChange

        public void onChange​(org.apache.wicket.ajax.AjaxRequestTarget target,
                             com.github.openjson.JSONArray items)
        Description copied from interface: IListViewListener
        Triggered when item(s) is/are selected
        Specified by:
        onChange in interface IListViewListener
        Parameters:
        target - the AjaxRequestTarget
        items - the JSONArray of retrieved JSONObjects
      • newWidgetBehavior

        public com.googlecode.wicket.jquery.core.JQueryBehavior newWidgetBehavior​(String selector)
        Specified by:
        newWidgetBehavior in interface com.googlecode.wicket.jquery.core.IJQueryWidget
      • newTemplate

        protected com.googlecode.wicket.jquery.core.template.IJQueryTemplate newTemplate()
        Gets a new IJQueryTemplate to customize the rendering
        The properties used in the template text (ie: ${data.name}) should be of the prefixed by "data."

        Note: DataView uses a JsonRenderer by default, making IJQueryTemplate.getTextProperties() not required to override (see JQueryTemplate)
        Returns:
        null by default
        See Also:
        JQueryTemplate
      • newDataProviderBehavior

        protected org.apache.wicket.behavior.AbstractAjaxBehavior newDataProviderBehavior​(org.apache.wicket.markup.repeater.data.IDataProvider<T> provider,
                                                                                          com.googlecode.wicket.jquery.core.renderer.ITextRenderer<? super T> renderer,
                                                                                          com.googlecode.wicket.jquery.core.template.IJQueryTemplate template)
        Parameters:
        provider - the IDataProvider
        renderer - the ITextRenderer
        template - the IJQueryTemplate
        Returns:
        the AbstractAjaxBehavior