Package org.adempiere.webui.adwindow
Class ADSortTab
java.lang.Object
org.zkoss.zk.ui.AbstractComponent
org.zkoss.zk.ui.HtmlBasedComponent
org.zkoss.zul.impl.XulElement
org.zkoss.zul.Div
org.adempiere.webui.component.Panel
org.adempiere.webui.adwindow.ADSortTab
- All Implemented Interfaces:
Serializable
,Cloneable
,IADTabpanel
,Evaluatee
,org.zkoss.zk.ui.Component
,org.zkoss.zk.ui.ext.Scope
,org.zkoss.zk.ui.sys.ComponentCtrl
Tab to maintain Order/Sequence
- Author:
- Jorg Janke, Teo Sarca, SC ARHIPAC SERVICE SRL
FR [ 1779410 ] VSortTab: display ID for not visible columns, victor.perez@e-evolution.com, e-Evolution
FR [ 2826406 ] The Tab Sort without parent column
- https://sourceforge.net/p/adempiere/feature-requests/776/ Zk Port, Low Heng Sin, Juan David Arboleda : Refactoring Yes and No List to work with multiple choice.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.zkoss.zk.ui.HtmlBasedComponent
org.zkoss.zk.ui.HtmlBasedComponent.ExtraCtrl
Nested classes/interfaces inherited from class org.zkoss.zk.ui.AbstractComponent
org.zkoss.zk.ui.AbstractComponent.Children, org.zkoss.zk.ui.AbstractComponent.ForwardInfo, org.zkoss.zk.ui.AbstractComponent.TargetInfo
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final CLogger
Loggerprotected Listbox
protected SimpleListModel
protected Listbox
protected SimpleListModel
Fields inherited from class org.adempiere.webui.component.Panel
HORIZONTAL, VERTICAL
Fields inherited from class org.zkoss.zk.ui.HtmlBasedComponent
_zclass
Fields inherited from interface org.zkoss.zk.ui.Component
APPLICATION_SCOPE, COMPONENT_SCOPE, DESKTOP_SCOPE, PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, SPACE_SCOPE
Fields inherited from interface org.zkoss.zk.ui.sys.ComponentCtrl
AFTER_CHILD_ADDED, AFTER_CHILD_REMOVED, AFTER_PAGE_ATTACHED, AFTER_PAGE_DETACHED, AFTER_PARENT_CHANGED, CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE
Fields inherited from interface org.adempiere.webui.adwindow.IADTabpanel
ATTR_ON_ACTIVATE_POSTED, ON_ACTIVATE_EVENT
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
activate
(boolean b) Activate/deactivate this IADTabpanel instance.
Call by init or after tab selection changed.void
afterSave
(boolean onSaveEvent) Handle after save eventvoid
createUI()
Layout fields of the tab panelboolean
dataSave
(boolean onSaveEvent) Save changes.
CallGridTab.dataSave(boolean)
void
dynamicDisplay
(int i) Dynamic update of every field's UI properties ( visibility, filter and mandatory ).void
editRecord
(boolean b) Deprecated, for removal: This API element is subject to removal in a future version.get_ValueAsString
(String variableName) Get Variable ValueGet parent detail paneGet display logicGet GridTab of tabGet GridView componentint
Get record id of current rowGet table nameint
Get tab levelint
getTabNo()
Get tab nogetTitle()
Get title of tabList<org.zkoss.zul.Button>
Get toolbar buttonsGet tree panel componentvoid
init
(AbstractADWindowContent winPanel, GridTab gridTab) Initiateboolean
Is tab panel have been activatedboolean
Is tab has changesboolean
Is current row not stallboolean
Is tab panel in detail pane modeboolean
Is customize grid button enableboolean
Is process button enableboolean
Is quick form enabledboolean
Is tab panel showing grid viewvoid
loadData()
Load dataprotected void
migrateLists
(Listbox listFrom, Listbox listTo, int endIndex) Move an item from listFrom to listTo.protected void
migrateValueAcrossLists
(org.zkoss.zk.ui.event.Event event) Move an item between yes and no list.
Delegate tomigrateLists(Listbox, Listbox, int)
protected void
migrateValueWithinYesList
(int endIndex, List<org.adempiere.webui.adwindow.ADSortTab.ListElement> selObjects) Move items within Yes List with Drag Event and Multiple Choiceprotected void
migrateValueWithinYesList
(org.zkoss.zk.ui.event.Event event) Move an item within Yes Listboolean
needSave
(boolean rowChange, boolean onlyRealChange) void
After Find window closes switch to grid view if configuredboolean
Handle enter key eventvoid
query()
Execute query through the backedGridTab
instance.void
query
(boolean currentRows, int currentDays, int i) void
refresh()
Refresh data through the backedGridTab
instance.void
Set AD Window content part that own this ADSortTab instance.void
Reset detail data grid when current record of parent tab is new and not saved yet.
CallGridTab.resetDetailForNewParentRecord()
void
saveData()
Save changes to db.void
setDetailPane
(DetailPane detailPane) Set theDetailPane
part that own this IADTabpanel instancevoid
setDetailPaneMode
(boolean detailMode) Turn on/off detail mode, i.e whether tab panel is currently a header or detail tab of the window.void
setIsChanged
(boolean value) Set tab change status.void
setTabNo
(int tabNo) Set tab number/sequence within an AD_Windowvoid
Switch between grid and form viewvoid
updateDetailToolbar
(org.zkoss.zul.Toolbar toolbar) UpdateDetailPane
toolbar buttons statevoid
updateToolbar
(ADWindowToolbar toolbar) Update ADWindowToolbar buttons stateMethods inherited from class org.zkoss.zul.impl.XulElement
clone, getContext, getCtrlKeys, getPopup, getPropertyAccess, getTooltip, renderProperties, setContext, setContext, setContextAttributes, setCtrlKeys, setPopup, setPopup, setPopupAttributes, setTooltip, setTooltip, setTooltipAttributes
Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent
addSclass, evalCSSFlex, focus, getAction, getClientAction, getDraggable, getDroppable, getExtraCtrl, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTabindex, getTabindexInteger, getTooltiptext, getTop, getVflex, getWidth, getZclass, getZindex, getZIndex, removeSclass, removeSclass, service, setAction, setClass, setClientAction, setDraggable, setDroppable, setFocus, setHeight, setHeight0, setHeightDirectly, setHflex, setHflex0, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setStyle, setTabindex, setTabindex, setTooltiptext, setTop, setTopDirectly, setVflex, setVflex0, setVflexDirectly, setWidth, setWidth0, setWidthDirectly, setZclass, setZindex, setZIndex, setZIndexDirectly
Methods inherited from class org.zkoss.zk.ui.AbstractComponent
addAnnotation, addCallback, addClientEvent, addEventHandler, addEventListener, addEventListener, addForward, addForward, addForward, addForward, addMoved, addRedrawCallback, addScopeListener, addShadowRoot, addShadowRootBefore, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildAdded, beforeChildRemoved, beforeParentChanged, destroyIndexCacheMap, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableBindingAnnotation, disableClientUpdate, disableHostChanged, enableBindingAnnotation, enableHostChanged, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getAutag, getCallback, getChildren, getClientAttribute, getClientDataAttribute, getClientEvents, getDefaultMold, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getEventListenerMap, getEventListeners, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getForwards, getId, getIndexCacheMap, getLastChild, getMold, getNextSibling, getPage, getParent, getPreviousSibling, getRedrawCallback, getRoot, getShadowFellowIfAny, getShadowRoots, getShadowVariable, getShadowVariable, getShadowVariable0, getSpaceOwner, getSpecialRendererOutput, getStubonly, getSubBindingAnnotationCount, getTemplate, getTemplateNames, getUuid, getWidgetAttributeNames, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasBindingAnnotation, hasFellow, hasFellow, hasSubBindingAnnotation, initIndexCacheMap, insertBefore, invalidate, isChildable, isDisabledHostChanged, isInitialized, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onChildRemoved, onPageAttached, onPageDetached, onParentChanged, onWrongValue, query, queryAll, redraw, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeCallback, removeChild, removeEventListener, removeForward, removeForward, removeRedrawCallback, removeScopeListener, removeShadowRoot, render, render, render, renderPropertiesOnly, replace, response, response, response, service, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setAttribute, setAuService, setAutag, setClientAttribute, setClientDataAttribute, setDefinition, setDefinition, setId, setMold, setPage, setPageBefore, setParent, setStubonly, setStubonly, setSubBindingAnnotationCount, setTemplate, setVisible, setVisibleDirectly, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateByClient, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.zkoss.zk.ui.Component
addEventListener, addEventListener, addForward, addForward, addForward, addForward, appendChild, applyProperties, clone, detach, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getAutag, getChildren, getClientAttribute, getClientDataAttribute, getDefinition, getDesktop, getEventListeners, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getId, getLastChild, getMold, getNextSibling, getPage, getParent, getPreviousSibling, getRoot, getShadowVariable, getShadowVariable, getSpaceOwner, getStubonly, getTemplate, getTemplateNames, getUuid, getWidgetAttributeNames, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttributeOrFellow, hasFellow, hasFellow, insertBefore, invalidate, isInvalidated, isListenerAvailable, isVisible, query, queryAll, removeAttribute, removeAttribute, removeChild, removeEventListener, removeForward, removeForward, setAttribute, setAttribute, setAuService, setAutag, setClientAttribute, setClientDataAttribute, setId, setMold, setPage, setPageBefore, setParent, setStubonly, setStubonly, setTemplate, setVisible, setWidgetClass, setWidgetListener, setWidgetOverride
Methods inherited from interface org.adempiere.webui.adwindow.IADTabpanel
isDetailVisible
Methods inherited from interface org.zkoss.zk.ui.ext.Scope
addScopeListener, getAttribute, hasAttribute, removeAttribute, removeScopeListener, setAttribute
-
Field Details
-
log
Logger -
noModel
-
yesModel
-
noList
-
yesList
-
-
Constructor Details
-
ADSortTab
public ADSortTab()default constructor
-
-
Method Details
-
init
Initiate- Specified by:
init
in interfaceIADTabpanel
- Parameters:
winPanel
-gridTab
-
-
loadData
public void loadData()Load data -
setIsChanged
public void setIsChanged(boolean value) Set tab change status.- Parameters:
value
- true for dirty/changed state, false otherwise
-
isChanged
public boolean isChanged()Is tab has changes- Returns:
- true if tab has changes
-
migrateValueAcrossLists
protected void migrateValueAcrossLists(org.zkoss.zk.ui.event.Event event) Move an item between yes and no list.
Delegate tomigrateLists(Listbox, Listbox, int)
- Parameters:
event
-
-
migrateLists
Move an item from listFrom to listTo.- Parameters:
listFrom
-listTo
-endIndex
- destination index
-
migrateValueWithinYesList
protected void migrateValueWithinYesList(org.zkoss.zk.ui.event.Event event) Move an item within Yes List- Parameters:
event
- event
-
migrateValueWithinYesList
protected void migrateValueWithinYesList(int endIndex, List<org.adempiere.webui.adwindow.ADSortTab.ListElement> selObjects) Move items within Yes List with Drag Event and Multiple Choice- Parameters:
endIndex
- move items after endIndexselObjects
- selected items to move
-
registerAPanel
Set AD Window content part that own this ADSortTab instance.- Parameters:
panel
-
-
saveData
public void saveData()Save changes to db. -
activate
public void activate(boolean b) Description copied from interface:IADTabpanel
Activate/deactivate this IADTabpanel instance.
Call by init or after tab selection changed.- Specified by:
activate
in interfaceIADTabpanel
-
createUI
public void createUI()Description copied from interface:IADTabpanel
Layout fields of the tab panel- Specified by:
createUI
in interfaceIADTabpanel
-
dynamicDisplay
public void dynamicDisplay(int i) Description copied from interface:IADTabpanel
Dynamic update of every field's UI properties ( visibility, filter and mandatory ).- Specified by:
dynamicDisplay
in interfaceIADTabpanel
- Parameters:
i
- optional column name
-
editRecord
Deprecated, for removal: This API element is subject to removal in a future version. -
getDisplayLogic
Description copied from interface:IADTabpanel
Get display logic- Specified by:
getDisplayLogic
in interfaceIADTabpanel
- Returns:
- display logic
-
getGridTab
Description copied from interface:IADTabpanel
Get GridTab of tab- Specified by:
getGridTab
in interfaceIADTabpanel
- Returns:
GridTab
instance that back this IADTabpanel instance
-
getTabLevel
public int getTabLevel()Description copied from interface:IADTabpanel
Get tab level- Specified by:
getTabLevel
in interfaceIADTabpanel
- Returns:
- tab level
-
getTableName
Description copied from interface:IADTabpanel
Get table name- Specified by:
getTableName
in interfaceIADTabpanel
- Returns:
- table name from GridTab
-
getRecord_ID
public int getRecord_ID()Description copied from interface:IADTabpanel
Get record id of current row- Specified by:
getRecord_ID
in interfaceIADTabpanel
- Returns:
- record ID of current row
-
getTitle
Description copied from interface:IADTabpanel
Get title of tab- Specified by:
getTitle
in interfaceIADTabpanel
- Returns:
- title of tab
-
isCurrent
public boolean isCurrent()Description copied from interface:IADTabpanel
Is current row not stall- Specified by:
isCurrent
in interfaceIADTabpanel
- Returns:
- true if refresh is not needed
-
query
public void query()Description copied from interface:IADTabpanel
Execute query through the backedGridTab
instance.- Specified by:
query
in interfaceIADTabpanel
-
query
public void query(boolean currentRows, int currentDays, int i) Description copied from interface:IADTabpanel
- Specified by:
query
in interfaceIADTabpanel
-
refresh
public void refresh()Description copied from interface:IADTabpanel
Refresh data through the backedGridTab
instance.- Specified by:
refresh
in interfaceIADTabpanel
-
switchRowPresentation
public void switchRowPresentation()Description copied from interface:IADTabpanel
Switch between grid and form view- Specified by:
switchRowPresentation
in interfaceIADTabpanel
-
onAfterFind
public void onAfterFind()Description copied from interface:IADTabpanel
After Find window closes switch to grid view if configured- Specified by:
onAfterFind
in interfaceIADTabpanel
-
get_ValueAsString
Description copied from interface:Evaluatee
Get Variable Value- Specified by:
get_ValueAsString
in interfaceEvaluatee
- Parameters:
variableName
- name- Returns:
- value
-
afterSave
public void afterSave(boolean onSaveEvent) Description copied from interface:IADTabpanel
Handle after save event- Specified by:
afterSave
in interfaceIADTabpanel
-
onEnterKey
public boolean onEnterKey()Description copied from interface:IADTabpanel
Handle enter key event- Specified by:
onEnterKey
in interfaceIADTabpanel
- Returns:
- true if the event is process
-
isGridView
public boolean isGridView()Description copied from interface:IADTabpanel
Is tab panel showing grid view- Specified by:
isGridView
in interfaceIADTabpanel
- Returns:
- true if current presentation of the tab panel is grid/list view
-
isActivated
public boolean isActivated()Description copied from interface:IADTabpanel
Is tab panel have been activated- Specified by:
isActivated
in interfaceIADTabpanel
- Returns:
- true if the tab panel have been activated
-
setDetailPaneMode
public void setDetailPaneMode(boolean detailMode) Description copied from interface:IADTabpanel
Turn on/off detail mode, i.e whether tab panel is currently a header or detail tab of the window.- Specified by:
setDetailPaneMode
in interfaceIADTabpanel
-
isDetailPaneMode
public boolean isDetailPaneMode()Description copied from interface:IADTabpanel
Is tab panel in detail pane mode- Specified by:
isDetailPaneMode
in interfaceIADTabpanel
- Returns:
- true if the panel is in detail mode (i.e a tab in DetailPane)
-
getGridView
Description copied from interface:IADTabpanel
Get GridView component- Specified by:
getGridView
in interfaceIADTabpanel
- Returns:
GridView
instance
-
needSave
public boolean needSave(boolean rowChange, boolean onlyRealChange) Description copied from interface:IADTabpanel
- Specified by:
needSave
in interfaceIADTabpanel
- Returns:
- true if there are pending changes
-
dataSave
public boolean dataSave(boolean onSaveEvent) Description copied from interface:IADTabpanel
Save changes.
CallGridTab.dataSave(boolean)
- Specified by:
dataSave
in interfaceIADTabpanel
- Returns:
- true if the save operation completed successfully
-
setTabNo
public void setTabNo(int tabNo) Description copied from interface:IADTabpanel
Set tab number/sequence within an AD_Window- Specified by:
setTabNo
in interfaceIADTabpanel
-
getTabNo
public int getTabNo()Description copied from interface:IADTabpanel
Get tab no- Specified by:
getTabNo
in interfaceIADTabpanel
- Returns:
- tab no ( ad_tab.tabno )
-
setDetailPane
Description copied from interface:IADTabpanel
Set theDetailPane
part that own this IADTabpanel instance- Specified by:
setDetailPane
in interfaceIADTabpanel
-
getDetailPane
Description copied from interface:IADTabpanel
Get parent detail pane- Specified by:
getDetailPane
in interfaceIADTabpanel
- Returns:
- the
DetailPane
part that own this IADTabpanel instance
-
resetDetailForNewParentRecord
public void resetDetailForNewParentRecord()Description copied from interface:IADTabpanel
Reset detail data grid when current record of parent tab is new and not saved yet.
CallGridTab.resetDetailForNewParentRecord()
- Specified by:
resetDetailForNewParentRecord
in interfaceIADTabpanel
-
getTreePanel
Description copied from interface:IADTabpanel
Get tree panel component- Specified by:
getTreePanel
in interfaceIADTabpanel
- Returns:
ADTreePanel
instance
-
isEnableQuickFormButton
public boolean isEnableQuickFormButton()Description copied from interface:IADTabpanel
Is quick form enabled- Specified by:
isEnableQuickFormButton
in interfaceIADTabpanel
- Returns:
- true if Quick Form Button is Enabled
-
getToolbarButtons
Description copied from interface:IADTabpanel
Get toolbar buttons- Specified by:
getToolbarButtons
in interfaceIADTabpanel
- Returns:
- List of toolbar buttons
-
isEnableCustomizeButton
public boolean isEnableCustomizeButton()Description copied from interface:IADTabpanel
Is customize grid button enable- Specified by:
isEnableCustomizeButton
in interfaceIADTabpanel
- Returns:
- true if customize grid button is enabled
-
isEnableProcessButton
public boolean isEnableProcessButton()Description copied from interface:IADTabpanel
Is process button enable- Specified by:
isEnableProcessButton
in interfaceIADTabpanel
- Returns:
- true if process Button is Enabled
-
updateToolbar
Description copied from interface:IADTabpanel
Update ADWindowToolbar buttons state- Specified by:
updateToolbar
in interfaceIADTabpanel
- Parameters:
toolbar
- -ADWindowToolbar
-
updateDetailToolbar
public void updateDetailToolbar(org.zkoss.zul.Toolbar toolbar) Description copied from interface:IADTabpanel
UpdateDetailPane
toolbar buttons state- Specified by:
updateDetailToolbar
in interfaceIADTabpanel
- Parameters:
toolbar
- -Toolbar
-