Module org.tentackle.fx.rdc
Package org.tentackle.fx.rdc.search
Class PdoSearch<T extends PersistentDomainObject<T>>
java.lang.Object
org.tentackle.fx.AbstractFxController
org.tentackle.fx.rdc.search.PdoSearch<T>
- Type Parameters:
T- the PDO type
- All Implemented Interfaces:
FxController,PdoController<T>,PdoProvider<T>,org.tentackle.validate.ScopeConfigurator
@FxControllerService(binding=NO)
public class PdoSearch<T extends PersistentDomainObject<T>>
extends AbstractFxController
implements PdoController<T>
Search controller for PDOs.
- Author:
- harald
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidBinds the ok button so that it is enabled only if a PDO is selected.voidcancel()Close and cancel.voidClears the selection.voidclose()Close the search.voidvoidCreates a new PDO.protected javafx.scene.NodeCreates the placeholder node for the empty search result in table view.voidFilters the result.protected javafx.collections.ObservableList<T>filterViewablePdos(List<T> pdos) Filters the viewable PDOs from the list and converts toObservableList.voidfind()Runs the search and displays the results.Gets the HBox containing all buttons.Gets the double click handler.Gets the pdo finder.javafx.collections.ObservableList<T>getItems()Gets the items shown in the table or tree.Gets the message displayed in tableview when there was no data found.getPdo()Gets the pdo.javafx.collections.ObservableList<T>Returns the selected PDOs.Gets access to the table view.
If the tree is shown, it will be switched to the table view.javafx.collections.ObservableList<T>Gets the totals if shown.Gets access to the tree view.
If the table is shown, it will be switched to the tree view.booleanReturns whether creating a new PDO is allowed.protected booleanReturns whether a CRUD is currently shown for this search.booleanReturns whether the finder is visible.booleanReturns single selection mode.booleanReturns whether the tree is shown instead of the table.voidsetCreatePdoAllowed(boolean allowed) Sets whether creating a new PDO is allowed.voidsetDoubleClickHandler(Consumer<T> doubleClickHandler) Sets the double-click handler.
If the search dialog is non-modal and the user double-clicks on a row of the table view, this handler will be invoked instead of the default (showing the PDO editor, if any provided).voidSets the pdo finder.voidsetFinderVisible(boolean visible) Sets the visibility of the finder.
The method must be invoked after setPdo because the finder will be made visible according tovoidShows the search results.voidsetNoDataMessage(String noDataMessage) Sets the message displayed in tableview when there was no data found.voidSets the pdo as a template for the search.voidsetSingleSelectMode(boolean singleSelectMode) Sets the single selection mode.
This mode is usually used in a modal dialog to select exactly one PDO.voidSets the totals.
Shows the results fromPdoFinder.createTotals(javafx.collections.ObservableList<T>)or hides the totals if none.voidSwitches to the table view.voidshowTree()Switches to the tree view.voidUpdates the window title if attached to its own stage.Methods inherited from class org.tentackle.fx.AbstractFxController
createBinder, getBinder, getContainer, getDefaultScopes, getFXMLFields, getFXMLMethods, getStage, getView, setView, validateInjectionsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.tentackle.fx.FxController
getBinder, getContainer, getFXMLFields, getFXMLMethods, getStage, getView, setView, validateInjectionsMethods inherited from interface org.tentackle.pdo.PdoProvider
on
-
Constructor Details
-
PdoSearch
public PdoSearch()
-
-
Method Details
-
getNoDataMessage
Gets the message displayed in tableview when there was no data found.- Returns:
- the placeholder message, null if default message, empty if no message at all
-
setNoDataMessage
Sets the message displayed in tableview when there was no data found.- Parameters:
noDataMessage- the placeholder message, null if default message, empty if no message at all
-
getDoubleClickHandler
Gets the double click handler.- Returns:
- the handler, null if default handler
-
setDoubleClickHandler
Sets the double-click handler.
If the search dialog is non-modal and the user double-clicks on a row of the table view, this handler will be invoked instead of the default (showing the PDO editor, if any provided).- Parameters:
doubleClickHandler- the handler, null to clear
-
getButtonBox
Gets the HBox containing all buttons.- Returns:
- the button container
-
setFinder
Sets the pdo finder.- Parameters:
finder- the finder
-
getFinder
Gets the pdo finder.- Returns:
- the finder
-
setPdo
Sets the pdo as a template for the search.- Specified by:
setPdoin interfacePdoController<T extends PersistentDomainObject<T>>- Parameters:
pdo- the pdo
-
getPdo
Gets the pdo.- Specified by:
getPdoin interfacePdoProvider<T extends PersistentDomainObject<T>>- Returns:
- the pdo
-
setFinderVisible
public void setFinderVisible(boolean visible) Sets the visibility of the finder.
The method must be invoked after setPdo because the finder will be made visible according to- Parameters:
visible- true if visible
-
isFinderVisible
public boolean isFinderVisible()Returns whether the finder is visible.- Returns:
- true if visible
-
setSingleSelectMode
public void setSingleSelectMode(boolean singleSelectMode) Sets the single selection mode.
This mode is usually used in a modal dialog to select exactly one PDO.- Parameters:
singleSelectMode- true if select a single PDO
-
isSingleSelectMode
public boolean isSingleSelectMode()Returns single selection mode.- Returns:
- true if select a single PDO
-
setCreatePdoAllowed
public void setCreatePdoAllowed(boolean allowed) Sets whether creating a new PDO is allowed.- Parameters:
allowed- true if allowed
-
isCreatePdoAllowed
public boolean isCreatePdoAllowed()Returns whether creating a new PDO is allowed.- Returns:
- true if allowed
-
setTotals
Sets the totals.
Shows the results fromPdoFinder.createTotals(javafx.collections.ObservableList<T>)or hides the totals if none.- Parameters:
totals- the totals (usually one item), null or empty if none- See Also:
-
getTotalsItems
Gets the totals if shown.- Returns:
- the totals, null if no totals
-
updateTitle
public void updateTitle()Updates the window title if attached to its own stage. -
find
public void find()Runs the search and displays the results. -
filterViewablePdos
Filters the viewable PDOs from the list and converts toObservableList.- Parameters:
pdos- the pdos, null is treated as empty- Returns:
- the PDOs with view permission
-
setItems
Shows the search results.- Parameters:
pdos- the found PDO, null or empty to clear
-
getItems
Gets the items shown in the table or tree.- Returns:
- the items
-
filterResult
public void filterResult()Filters the result. -
getSelectedItems
Returns the selected PDOs.- Returns:
- the selected PDOs, empty list, if nothing selected
-
clearSelection
public void clearSelection()Clears the selection. -
isTreeShown
public boolean isTreeShown()Returns whether the tree is shown instead of the table.- Returns:
- true if tree shown, else table shown
-
showTree
public void showTree()Switches to the tree view. -
getTreeView
Gets access to the tree view.
If the table is shown, it will be switched to the tree view.- Returns:
- the table view
-
showTable
public void showTable()Switches to the table view. -
getTableView
Gets access to the table view.
If the tree is shown, it will be switched to the table view.- Returns:
- the table view
-
cancel
public void cancel()Close and cancel. -
close
public void close()Close the search. -
createPdo
public void createPdo()Creates a new PDO. -
configure
public void configure()- Specified by:
configurein interfaceFxController- Overrides:
configurein classAbstractFxController
-
bindOkButton
protected void bindOkButton()Binds the ok button so that it is enabled only if a PDO is selected. -
isCrudShown
protected boolean isCrudShown()Returns whether a CRUD is currently shown for this search.- Returns:
- true if shown
-
createPlaceHolder
protected javafx.scene.Node createPlaceHolder()Creates the placeholder node for the empty search result in table view.- Returns:
- the node, null if use tableview's default placeholder
-