java.lang.Object
org.apache.wicket.Component
org.apache.wicket.MarkupContainer
org.apache.wicket.markup.html.WebMarkupContainer
org.apache.wicket.markup.html.panel.Panel
com.inductiveautomation.ignition.gateway.web.components.ConfigPanel
com.inductiveautomation.ignition.gateway.web.components.actions.ActionTable<R>
All Implemented Interfaces:
Serializable, 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:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    protected class 
     
    protected class 
     
    protected class 
     
    static interface 
    Represents a field that will be turned into a table column in this action table.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected IConfigPage
     
     

    Fields inherited from class com.inductiveautomation.ignition.gateway.web.components.ConfigPanel

    feedback, returnPanel

    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, String id, String titleKey)
     
    ActionTable(IConfigPage configPage, String id, String titleKey, org.apache.wicket.model.IModel<List<R>> model)
    Creates a RecordActionTable using a custom model to list the records
  • Method Summary

    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
    Override this to add a footer component
    protected org.apache.wicket.model.IModel<List<R>>
     
    protected ConfigPanel
    Returns the panel that will be used by actions as the parent.
    protected String
     
     
    protected int
    Returns the maximum number of instance actions per row.
    protected abstract List<R>
    Load the items that get listed by this action table
    protected String
    Return a bundle key for the message to display when there are no rows to display.
    protected void
    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

    getWebApplication, 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, clearOriginalDestination, 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, isRendering, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, onAfterRender, onBeforeRender, onComponentTag, onConfigure, onDetach, onEvent, onInitialize, onModelChanged, onModelChanging, onReAdd, 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
  • Field Details

  • Constructor Details

    • ActionTable

      public ActionTable(IConfigPage configPage, String id, String titleKey)
    • ActionTable

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

    • createModel

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

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

      protected List<ActionTable.IField<R>> getFields()
    • 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 String getCalculatedFieldDisplayValue(Object value)
    • createFooter

      protected org.apache.wicket.Component createFooter(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 String getNoRowsKey()
      Return a bundle key for the message to display when there are no rows to display.