Module org.tentackle.fx.rdc
Package org.tentackle.fx.rdc.search
Class PdoSearch<T extends org.tentackle.pdo.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:
org.tentackle.fx.FxController,org.tentackle.pdo.PdoHolder<T>,org.tentackle.validate.ScopeConfigurator
@FxControllerService(binding=NO) public class PdoSearch<T extends org.tentackle.pdo.PersistentDomainObject<T>> extends org.tentackle.fx.AbstractFxController implements org.tentackle.pdo.PdoHolder<T>Search controller for PDOs.- Author:
- harald
-
-
Constructor Summary
Constructors Constructor Description PdoSearch()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidbindOkButton()Binds the ok button so that it is enabled only if a PDO is selected.voidcancel()Close and cancel.voidclearSelection()Clears the selection.voidclose()Close the search.voidconfigure()voidcreatePdo()Creates a new PDO.protected javafx.scene.NodecreatePlaceHolder()Creates the placeholder node for the empty search result in table view.voidfilterResult()Filters the result.voidfind()Runs the search and displays the results.org.tentackle.fx.container.FxHBoxgetButtonBox()Gets the HBox containing all buttons.java.util.function.Consumer<T>getDoubleClickHandler()Gets the double click handler.PdoFinder<T>getFinder()Gets the pdo finder.javafx.collections.ObservableList<T>getItems()Gets the items shown in the table or tree.java.lang.StringgetNoDataMessage()Gets the message displayed in tableview when there was no data found.TgetPdo()Gets the pdo.javafx.collections.ObservableList<T>getSelectedItems()Returns the selected PDOs.org.tentackle.fx.component.FxTableView<T>getTableView()Gets access to the table view.
If the tree is shown, it will be switched to the table view.javafx.collections.ObservableList<T>getTotalsItems()Gets the totals if shown.org.tentackle.fx.component.FxTreeView<T>getTreeView()Gets access to the tree view.
If the table is shown, it will be switched to the tree view.booleanisCreatePdoAllowed()Returns whether creating a new PDO is allowed.protected booleanisCrudShown()Returns whether a CRUD is currently shown for this search.booleanisFinderVisible()Returns whether the finder is visible.booleanisSingleSelectMode()Returns single selection mode.booleanisTreeShown()Returns whether the tree is shown instead of the table.voidsetCreatePdoAllowed(boolean allowed)Sets whether creating a new PDO is allowed.voidsetDoubleClickHandler(java.util.function.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).voidsetFinder(PdoFinder<T> finder)Sets 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 tovoidsetItems(javafx.collections.ObservableList<T> items)Shows the search results.voidsetNoDataMessage(java.lang.String noDataMessage)Sets the message displayed in tableview when there was no data found.voidsetPdo(T pdo)Sets 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.voidsetTotals(javafx.collections.ObservableList<T> totals)Sets the totals.
Shows the results fromPdoFinder.createTotals(javafx.collections.ObservableList<T>)or hides the totals if none.voidshowTable()Switches to the table view.voidshowTree()Switches to the tree view.voidupdateTitle()Updates 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, validateInjections
-
-
-
-
Method Detail
-
getNoDataMessage
public java.lang.String 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
public void setNoDataMessage(java.lang.String noDataMessage)
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
public java.util.function.Consumer<T> getDoubleClickHandler()
Gets the double click handler.- Returns:
- the handler, null if default handler
-
setDoubleClickHandler
public void setDoubleClickHandler(java.util.function.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).- Parameters:
doubleClickHandler- the handler, null to clear
-
getButtonBox
public org.tentackle.fx.container.FxHBox getButtonBox()
Gets the HBox containing all buttons.- Returns:
- the button container
-
setFinder
public void setFinder(PdoFinder<T> finder)
Sets the pdo finder.- Parameters:
finder- the finder
-
setPdo
public void setPdo(T pdo)
Sets the pdo as a template for the search.
-
getPdo
public T getPdo()
Gets 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
public void setTotals(javafx.collections.ObservableList<T> totals)
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:
TotalsTableView
-
getTotalsItems
public javafx.collections.ObservableList<T> 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.
-
setItems
public void setItems(javafx.collections.ObservableList<T> items)
Shows the search results.- Parameters:
items- the found PDOs
-
getItems
public javafx.collections.ObservableList<T> getItems()
Gets the items shown in the table or tree.- Returns:
- the items
-
filterResult
public void filterResult()
Filters the result.
-
getSelectedItems
public javafx.collections.ObservableList<T> 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
public org.tentackle.fx.component.FxTreeView<T> 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
public org.tentackle.fx.component.FxTableView<T> 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 interfaceorg.tentackle.fx.FxController- Overrides:
configurein classorg.tentackle.fx.AbstractFxController
-
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
-
-