Class ActionTable<R>
- 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:
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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
ActionTable.AddAction
protected class
ActionTable.DeleteAction
protected class
ActionTable.EditAction
static interface
ActionTable.IField<R>
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
configPage
protected java.util.List<ActionTable.IField<R>>
fields
-
Fields inherited from class com.inductiveautomation.ignition.gateway.web.components.ConfigPanel
feedback, returnPanel
-
-
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 componentprotected 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 tableprotected 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 com.inductiveautomation.ignition.gateway.web.components.ConfigPanel
getHelpResourceKey, getHelpTopicId, getMenuLocation, getMenuPath, getTipLabelKey, getTipLabelModel, getTitleKey, getTitleModel, initTitleArea, isEscapeHtmlInTipLabel, isFeedbackEnabled, isTitleVisible, log, renderHead
-
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
-
-
-
-
Field Detail
-
configPage
protected IConfigPage configPage
-
fields
protected java.util.List<ActionTable.IField<R>> fields
-
-
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
-
getFields
protected java.util.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 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.
-
-