Class ActionTable<R>

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Iterable<org.apache.wicket.Component>, org.apache.wicket.event.IEventSink, org.apache.wicket.event.IEventSource, org.apache.wicket.IConverterLocator, 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:
    UserSourceEditPage.GroupActionTable, UserSourceEditPage.UserActionTable

    public abstract class ActionTable<R>
    extends ConfigPanel
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected IConfigPage configPage  
      protected java.util.List<ActionTable.IField<R>> fields  
      • Fields inherited from class org.apache.wicket.markup.html.panel.Panel

        PANEL
      • Fields inherited from class org.apache.wicket.Component

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

      Constructors 
      Constructor Description
      ActionTable​(IConfigPage configPage, java.lang.String id, java.lang.String titleKey)  
      ActionTable​(IConfigPage configPage, java.lang.String id, java.lang.String titleKey, org.apache.wicket.model.IModel<java.util.List<R>> model)
      Creates a RecordActionTable using a custom model to list the records
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected abstract void addActions​(org.apache.wicket.markup.repeater.RepeatingView view)
      Provides a hook to add record actions, like "Add new.." to the bottom of the panel.
      protected abstract void addInstanceActions​(org.apache.wicket.markup.repeater.RepeatingView view, R record)
      Provides an opportunity to add any actions that deal with specific item instances.
      protected org.apache.wicket.Component createFooter​(java.lang.String id)
      Override this to add a footer component
      protected org.apache.wicket.model.IModel<java.util.List<R>> createModel()  
      protected ConfigPanel getActionParentPanel()
      Returns the panel that will be used by actions as the parent.
      protected java.lang.String getCalculatedFieldDisplayValue​(java.lang.Object value)  
      protected java.util.List<ActionTable.IField<R>> getFields()  
      protected int getInstanceActionMaxRowCount()
      Returns the maximum number of instance actions per row.
      protected abstract java.util.List<R> getItems()
      Load the items that get listed by this action table
      protected java.lang.String getNoRowsKey()
      Return a bundle key for the message to display when there are no rows to display.
      protected void initComponents​(ActionTable.IField<R>... fieldsArr)
      Subclasses MUST call this to initialize the UI
      • Methods inherited from class org.apache.wicket.markup.html.panel.Panel

        newMarkupSourcingStrategy
      • Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer

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

        add, addOrReplace, autoAdd, contains, get, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkup, getMarkupType, internalAdd, internalInitialize, iterator, iterator, onAfterRenderChildren, onComponentTagBody, onRender, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, swap, toString, toString, visitChildren, visitChildren, visitChildren, visitChildren
      • Methods inherited from class org.apache.wicket.Component

        add, addStateChange, afterRender, beforeRender, canCallListenerInterface, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, configure, continueToOriginalDestination, 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, 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, internalPrepareForRender, internalRenderComponent, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isRenderAllowed, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, onAfterRender, onBeforeRender, onComponentTag, onConfigure, onDetach, onEvent, onInitialize, onModelChanged, onModelChanging, onRemove, prepareForRender, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderHead, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setRequestFlag, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, urlFor, urlFor, urlFor, urlFor, urlFor, visitParents, visitParents, warn, wrap
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.lang.Iterable

        forEach, spliterator
    • Constructor Detail

      • ActionTable

        public ActionTable​(IConfigPage configPage,
                           java.lang.String id,
                           java.lang.String titleKey)
      • ActionTable

        public ActionTable​(IConfigPage configPage,
                           java.lang.String id,
                           java.lang.String titleKey,
                           org.apache.wicket.model.IModel<java.util.List<R>> model)
        Creates a RecordActionTable using a custom model to list the records
    • Method Detail

      • createModel

        protected org.apache.wicket.model.IModel<java.util.List<R>> createModel()
      • getItems

        protected abstract java.util.List<R> getItems()
        Load the items that get listed by this action table
      • getActionParentPanel

        protected ConfigPanel getActionParentPanel()
        Returns the panel that will be used by actions as the parent. By default is "this", but can be overridden for cases where multiple action tables are used inside of another panel.
      • initComponents

        protected void initComponents​(ActionTable.IField<R>... fieldsArr)
        Subclasses MUST call this to initialize the UI
      • getInstanceActionMaxRowCount

        protected int getInstanceActionMaxRowCount()
        Returns the maximum number of instance actions per row. If there are more actions than this, they a new column will be started. Default is 3
      • getCalculatedFieldDisplayValue

        protected java.lang.String getCalculatedFieldDisplayValue​(java.lang.Object value)
      • createFooter

        protected org.apache.wicket.Component createFooter​(java.lang.String id)
        Override this to add a footer component
      • addInstanceActions

        protected abstract void addInstanceActions​(org.apache.wicket.markup.repeater.RepeatingView view,
                                                   R record)
        Provides an opportunity to add any actions that deal with specific item instances. For example:

         WebMarkupContainer test = new AbstractLinkAction(view.newChildId(), configPage, getActionParentPanel()) {
        
          @Override
          public ConfigPanel getPanel() {
              // Return the panel to go to here
          }
        
          @Override
          public IModel getLabel() {
              // the text for the label
          }
        
          @Override
          protected String getCssClass() {
              // The css class, e.g. "edit"
          }
         };
         view.add(test);
         
      • addActions

        protected abstract void addActions​(org.apache.wicket.markup.repeater.RepeatingView view)
        Provides a hook to add record actions, like "Add new.." to the bottom of the panel. Make sure that the wicket ids of the children are obtained via view.newChildId().
      • getNoRowsKey

        protected java.lang.String getNoRowsKey()
        Return a bundle key for the message to display when there are no rows to display.