Class AbstractAutoCompleteTextField<T,​C>

  • Type Parameters:
    T - the model object type
    C - the model of choices
    All Implemented Interfaces:
    com.googlecode.wicket.jquery.core.IJQueryWidget, IAutoCompleteListener, 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.IGenericComponent<T,​org.apache.wicket.markup.html.form.FormComponent<T>>, org.apache.wicket.IMetadataContext<Serializable,​org.apache.wicket.Component>, org.apache.wicket.markup.html.form.IFormModelUpdateListener, org.apache.wicket.markup.html.form.IFormVisitorParticipant, org.apache.wicket.markup.html.form.ILabelProvider<String>, 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
    Direct Known Subclasses:
    AutoCompleteTextField

    public abstract class AbstractAutoCompleteTextField<T,​C>
    extends org.apache.wicket.markup.html.form.TextField<T>
    implements com.googlecode.wicket.jquery.core.IJQueryWidget, IAutoCompleteListener
    Provides the base class for a Kendo UI auto-complete widget.
    Caution: in this base class, the model object is not set and there is no converter
    Author:
    Sebastien Briquet - sebfz1
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.apache.wicket.markup.html.form.AbstractTextComponent

        org.apache.wicket.markup.html.form.AbstractTextComponent.ITextFormatProvider
      • Nested classes/interfaces inherited from interface com.googlecode.wicket.jquery.core.IJQueryWidget

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

      • Fields inherited from class org.apache.wicket.markup.html.form.FormComponent

        FLAG_CONVERT_EMPTY_INPUT_STRING_TO_NULL, VALUE_SEPARATOR
      • 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
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected CharSequence getCallbackUrl()
      Gets the ChoiceModelBehavior callback url
      List<C> getChoices()  
      protected abstract List<C> getChoices​(String input)  
      int getListWidth()
      Gets the (inner) list width.
      com.googlecode.wicket.jquery.core.renderer.ITextRenderer<? super C> getRenderer()
      Gets the ITextRenderer
      String getTemplateToken()
      Gets the template script token/id
      boolean isChangeEventEnabled()
      Indicates whether the 'change' event is enabled.
      If true, the IAutoCompleteListener.onChange(AjaxRequestTarget, String) event will be triggered
      protected com.googlecode.wicket.jquery.core.behavior.ChoiceModelBehavior<C> newChoiceModelBehavior()
      Gets a new ChoiceModelBehavior
      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." and should be identified in the list returned by IJQueryTemplate.getTextProperties() (without "data.")
      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, String value)
      Triggered when the value has changed
      protected void onComponentTag​(org.apache.wicket.markup.ComponentTag tag)  
      void onConfigure​(com.googlecode.wicket.jquery.core.JQueryBehavior behavior)  
      protected void onConfigure​(KendoDataSource dataSource)
      Configure the KendoDataSource with additional options
      protected void onInitialize()  
      void onSelect​(org.apache.wicket.ajax.AjaxRequestTarget target, int index)
      Triggered when a selection has been made
      protected void onSelected​(org.apache.wicket.ajax.AjaxRequestTarget target, C choice)
      Triggered when the user selects an item from results that matched its input
      AbstractAutoCompleteTextField<T,​C> setListWidth​(int width)
      Sets the (inner) list width.
      • Methods inherited from class org.apache.wicket.markup.html.form.TextField

        getInputTypes
      • Methods inherited from class org.apache.wicket.markup.html.form.AbstractTextComponent

        convertInput, getConvertEmptyInputStringToNull, isInputNullable, onBeforeRender, setConvertEmptyInputStringToNull
      • Methods inherited from class org.apache.wicket.markup.html.form.FormComponent

        add, add, checkRequired, clearInput, convertValue, error, getConvertedInput, getDefaultLabel, getDefaultLabel, getForm, getInput, getInputAsArray, getInputName, getModelValue, getParameterValues, getRawInput, getType, getValidatorKeyPrefix, getValidators, getValue, hasRawInput, inputAsInt, inputAsInt, inputAsIntArray, inputChanged, internalOnModelChanged, invalid, isMultiPart, isRequired, isValid, newValidatable, newValidationError, onDetach, onDisabled, onInvalid, onValid, processChildren, processInput, remove, reportRequiredError, setConvertedInput, setLabel, setModelValue, setRequired, setType, shouldTrimInput, trim, updateAutoLabels, updateCollectionModel, updateModel, valid, validate, validateRequired, validateValidators, visitComponentsPostOrder, visitFormComponentsPostOrder
      • Methods inherited from class org.apache.wicket.markup.html.form.LabeledWebMarkupContainer

        getLabel
      • 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, onRender, queue, remove, remove, removeAll, renderAll, 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, internalRenderComponent, internalRenderHead, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isInitialized, isRenderAllowed, isRendering, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, newMarkupSourcingStrategy, onAfterRender, 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
      • Methods inherited from interface org.apache.wicket.IGenericComponent

        getDefaultModel, getDefaultModelObject, getModel, getModelObject, setDefaultModel, setDefaultModelObject, setModel, setModelObject
    • Constructor Detail

      • AbstractAutoCompleteTextField

        public AbstractAutoCompleteTextField​(String id)
        Constructor
        Parameters:
        id - the markup id
      • AbstractAutoCompleteTextField

        public AbstractAutoCompleteTextField​(String id,
                                             com.googlecode.wicket.jquery.core.renderer.ITextRenderer<? super C> renderer)
        Constructor
        Parameters:
        id - the markup id
        renderer - the ChoiceRenderer
      • AbstractAutoCompleteTextField

        public AbstractAutoCompleteTextField​(String id,
                                             Class<T> type)
        Constructor
        Parameters:
        id - the markup id
        type - type for field validation
      • AbstractAutoCompleteTextField

        public AbstractAutoCompleteTextField​(String id,
                                             com.googlecode.wicket.jquery.core.renderer.ITextRenderer<? super C> renderer,
                                             Class<T> type)
        Constructor
        Parameters:
        id - the markup id
        renderer - the ChoiceRenderer
        type - type for field validation
      • AbstractAutoCompleteTextField

        public AbstractAutoCompleteTextField​(String id,
                                             org.apache.wicket.model.IModel<T> model)
        Constructor
        Parameters:
        id - the markup id
        model - the IModel
      • AbstractAutoCompleteTextField

        public AbstractAutoCompleteTextField​(String id,
                                             org.apache.wicket.model.IModel<T> model,
                                             com.googlecode.wicket.jquery.core.renderer.ITextRenderer<? super C> renderer)
        Constructor
        Parameters:
        id - the markup id
        model - the IModel
        renderer - the ChoiceRenderer
      • AbstractAutoCompleteTextField

        public AbstractAutoCompleteTextField​(String id,
                                             org.apache.wicket.model.IModel<T> model,
                                             Class<T> type)
        Constructor
        Parameters:
        id - the markup id
        model - the IModel
        type - type for field validation
      • AbstractAutoCompleteTextField

        public AbstractAutoCompleteTextField​(String id,
                                             org.apache.wicket.model.IModel<T> model,
                                             com.googlecode.wicket.jquery.core.renderer.ITextRenderer<? super C> renderer,
                                             Class<T> type)
        Constructor
        Parameters:
        id - the markup id
        model - the IModel
        renderer - the ChoiceRenderer
        type - type for field validation
    • Method Detail

      • getCallbackUrl

        protected CharSequence getCallbackUrl()
        Gets the ChoiceModelBehavior callback url
        Returns:
        the ChoiceModelBehavior callback url
      • getTemplateToken

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

        public int getListWidth()
        Gets the (inner) list width.
        Returns:
        the list width
      • setListWidth

        public AbstractAutoCompleteTextField<T,​C> setListWidth​(int width)
        Sets the (inner) list width.
        Parameters:
        width - the list width
        Returns:
        this, for chaining
      • getRenderer

        public com.googlecode.wicket.jquery.core.renderer.ITextRenderer<? super C> getRenderer()
        Gets the ITextRenderer
        Returns:
        the ITextRenderer
      • getChoices

        public List<C> getChoices()
      • getChoices

        protected abstract List<C> getChoices​(String input)
      • 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
      • onComponentTag

        protected void onComponentTag​(org.apache.wicket.markup.ComponentTag tag)
        Overrides:
        onComponentTag in class org.apache.wicket.markup.html.form.TextField<T>
      • onChange

        public void onChange​(org.apache.wicket.ajax.AjaxRequestTarget target,
                             String value)
        Description copied from interface: IAutoCompleteListener
        Triggered when the value has changed
        Specified by:
        onChange in interface IAutoCompleteListener
        Parameters:
        target - the AjaxRequestTarget
        value - the
      • onSelect

        public final void onSelect​(org.apache.wicket.ajax.AjaxRequestTarget target,
                                   int index)
        Description copied from interface: IAutoCompleteListener
        Triggered when a selection has been made
        Specified by:
        onSelect in interface IAutoCompleteListener
        Parameters:
        target - the AjaxRequestTarget
        index - the index of the selected item
      • onSelected

        protected void onSelected​(org.apache.wicket.ajax.AjaxRequestTarget target,
                                  C choice)
        Triggered when the user selects an item from results that matched its input
        Parameters:
        target - the AjaxRequestTarget
        choice - the selected choice
      • 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." and should be identified in the list returned by IJQueryTemplate.getTextProperties() (without "data.")
        Returns:
        null by default
      • newChoiceModelBehavior

        protected com.googlecode.wicket.jquery.core.behavior.ChoiceModelBehavior<C> newChoiceModelBehavior()
        Gets a new ChoiceModelBehavior
        Returns:
        a new ChoiceModelBehavior