Class JmixPivotTable<T>
- Type Parameters:
T- type of items contained
- All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier,com.vaadin.flow.component.DetachNotifier,com.vaadin.flow.component.HasElement,com.vaadin.flow.component.HasEnabled,com.vaadin.flow.component.HasSize,com.vaadin.flow.component.HasStyle,Serializable
- Direct Known Subclasses:
PivotTable
- See Also:
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanprotected static final Stringprotected final List<JmixPivotTable.PendingJsFunction>protected JmixPivotTableItems<T>protected com.vaadin.flow.shared.Registrationprotected PivotTableOptionsprotected JmixPivotTableSerializerprotected com.vaadin.flow.internal.StateTree.ExecutionRegistrationprotected com.vaadin.flow.internal.StateTree.ExecutionRegistration -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAggregationProperties(String... aggregationProperties) Original property name:vals.com.vaadin.flow.shared.RegistrationaddCellClickListener(com.vaadin.flow.component.ComponentEventListener<PivotTableCellClickEvent<T>> listener) Adds a listener to the pivot table cell click events.voidaddColumns(String... columns) Adds an array of attribute names to use as cols.voidaddExclusions(String property, String... exclusions) Adds property values to a given property which denote records to exclude from rendering; used to prepopulate the filter menus that appear on double-click.voidaddHiddenFromAggregations(String... hiddenFromAggregations) Adds attribute names to omit from the aggregation arguments dropdowns.voidaddHiddenFromDragDrop(String... hiddenFromDragDrop) Adds attribute names to omit from the drag'n'drop portion of the UI.voidaddHiddenProperties(String... hiddenProperties) Adds attribute names to omit from the UI.voidaddInclusions(String property, String... inclusions) Adds property values to a given property which denote records to include in rendering; used to prepopulate the filter menus that appear on double-click (overridesgetExclusions()).voidaddProperties(Map<String, String> properties) Adds properties and their localized valuesvoidaddProperty(String property, String value) Adds property and its localized valuecom.vaadin.flow.shared.RegistrationaddRefreshEventListener(com.vaadin.flow.component.ComponentEventListener<PivotTableRefreshEvent> listener) Adds a listener to the pivot table refresh events.voidAdds an array of attribute names to use as rows.protected voidcallJsFunction(String function, elemental.json.JsonObject resultJson) protected voidcallPendingJsFunction(String function, elemental.json.JsonObject resultJson) Execute JavaScript function with theresultJsonpassed.protected PivotTableOptionsprotected JmixPivotTableSerializergetItems()getRows()protected voidprotected voidisShowUI()protected voidonAttach(com.vaadin.flow.component.AttachEvent attachEvent) protected voidonDetach(com.vaadin.flow.component.DetachEvent detachEvent) protected voidprotected voidonRefresh(PivotTableRefreshEvent event) protected voidperformUpdateItems(com.vaadin.flow.internal.ExecutionContext context) protected voidperformUpdateOptions(com.vaadin.flow.internal.ExecutionContext context) protected voidready()protected voidprotected voidvoidsetAggregation(Aggregation aggregation) Original property name:aggregator.voidsetAggregationProperties(List<String> aggregationProperties) Original property name:vals.voidsetAggregations(Aggregations aggregations) Original property name:aggregators.voidsetAutoSortUnusedProperties(Boolean autoSortUnusedProperties) Original property name:autoSortUnusedAttrs.voidsetColumnOrder(Order columnOrder) Sets the order in which column data is provided to the renderer.voidsetColumns(List<String> columns) Sets a collection of attribute names to use as cols.voidsetDerivedProperties(DerivedProperties derivedProperties) Original property name:derivedAttributes.voidsetEmptyDataMessage(String emptyDataMessage) Sets the message that will be displayed in case of empty data.voidsetExclusions(String property, List<String> exclusions) Sets a list whose values are arrays of attribute values which denote records to exclude from rendering; used to prepopulate the filter menus that appear on double-click.voidsetExclusions(Map<String, List<String>> exclusions) Sets a map whose keys are attribute names and values are arrays of attribute values which denote records to exclude from rendering; used to prepopulate the filter menus that appear on double-click.voidsetFilterFunction(JsFunction filter) Original property name:filter.voidsetHiddenFromAggregations(List<String> hiddenFromAggregations) Sets attribute names to omit from the aggregation arguments dropdowns.voidsetHiddenFromDragDrop(List<String> hiddenFromDragDrop) Sets attribute names to omit from the drag'n'drop portion of the UI.voidsetHiddenProperties(List<String> hiddenProperties) Sets attribute names to omit from the UI.voidsetInclusions(String property, List<String> inclusions) Sets a list whose values are arrays of attribute values which denote records to include in rendering; used to prepopulate the filter menus that appear on double-click (overridesgetExclusions()).voidsetInclusions(Map<String, List<String>> inclusions) Sets a map whose keys are attribute names and values are arrays of attribute values which denote records to include in rendering; used to prepopulate the filter menus that appear on double-click (overridesgetExclusions()).voidsetItems(JmixPivotTableItems<T> items) Sets theJmixPivotTableItemsinstance to use as data provider.voidsetMenuLimit(Integer menuLimit) Sets the maximum number of values to list in the attribute values dialogvoidsetProperties(Map<String, String> properties) Sets properties and their localized valuesvoidsetRenderer(Renderer renderer) Sets a descriptor of an object which will generate output from pivot data structure (see documentation).voidsetRendererOptions(RendererOptions rendererOptions) Sets an object that is passed through to renderer as options.voidsetRenderers(Renderers renderers) Sets an object that represents a list of rendering functions (see documentation).voidsetRowOrder(Order rowOrder) Sets the order in which row data is provided to the renderer.voidSets a collection of attribute names to use as rows.voidsetShowColumnTotals(Boolean showColumnTotals) Shows an additional column of totals for each colvoidsetShowRowTotals(Boolean showRowTotals) Shows an additional column of totals for each rowvoidShow pivot table in the UI mode.voidsetSortersFunction(JsFunction sorters) Original property name:sorters.voidsetUnusedPropertiesVertical(UnusedPropertiesVertical unusedPropertiesVertical) Original property name:unusedAttrsVertical.protected voidMethods inherited from class com.vaadin.flow.component.Component
addListener, findAncestor, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getListeners, getLocale, getParent, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, onEnabledStateChanged, removeFromParent, scrollIntoView, scrollIntoView, set, setElement, setId, setVisibleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.vaadin.flow.component.AttachNotifier
addAttachListenerMethods inherited from interface com.vaadin.flow.component.DetachNotifier
addDetachListenerMethods inherited from interface com.vaadin.flow.component.HasElement
getElementMethods inherited from interface com.vaadin.flow.component.HasEnabled
isEnabled, setEnabledMethods inherited from interface com.vaadin.flow.component.HasSize
getHeight, getHeightUnit, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getWidth, getWidthUnit, setHeight, setHeight, setHeightFull, setMaxHeight, setMaxHeight, setMaxWidth, setMaxWidth, setMinHeight, setMinHeight, setMinWidth, setMinWidth, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthFullMethods inherited from interface com.vaadin.flow.component.HasStyle
addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassName
-
Field Details
-
DATA_ITEM_ID_PROPERTY_NAME
- See Also:
-
jmixPivotTableItems
-
jmixPivotTableItemsChangeRegistration
protected com.vaadin.flow.shared.Registration jmixPivotTableItemsChangeRegistration -
options
-
serializer
-
clientReady
protected volatile boolean clientReady -
functions
-
synchronizeOptionsExecution
protected com.vaadin.flow.internal.StateTree.ExecutionRegistration synchronizeOptionsExecution -
synchronizeItemsExecution
protected com.vaadin.flow.internal.StateTree.ExecutionRegistration synchronizeItemsExecution
-
-
Constructor Details
-
JmixPivotTable
public JmixPivotTable()
-
-
Method Details
-
getItems
-
addRefreshEventListener
public com.vaadin.flow.shared.Registration addRefreshEventListener(com.vaadin.flow.component.ComponentEventListener<PivotTableRefreshEvent> listener) Adds a listener to the pivot table refresh events. Fired only for editable PivotTable.- Parameters:
listener- a listener to add- Returns:
- subscription
-
addCellClickListener
public com.vaadin.flow.shared.Registration addCellClickListener(com.vaadin.flow.component.ComponentEventListener<PivotTableCellClickEvent<T>> listener) Adds a listener to the pivot table cell click events. Fired only for table renderers (table, heatmap, table barchart, col heatmap, row heatmap).- Parameters:
listener- a listener to add- Returns:
- subscription
-
getProperties
- Returns:
- map of properties and their localized values
-
setProperties
Sets properties and their localized values- Parameters:
properties- map with properties and their localized values
-
addProperties
Adds properties and their localized values- Parameters:
properties- map with properties and their localized values
-
addProperty
Adds property and its localized value- Parameters:
property- property namevalue- property localized value
-
getRows
- Returns:
- a collection of attribute names to use as rows
-
setRows
Sets a collection of attribute names to use as rows.- Parameters:
rows- a collection of attribute names to use as rows
-
addRows
Adds an array of attribute names to use as rows.- Parameters:
rows- an array of attribute names to add
-
getColumns
- Returns:
- a collection of attribute names to use as cols
-
setColumns
Sets a collection of attribute names to use as cols.- Parameters:
columns- a collection of attribute names to use as cols
-
addColumns
Adds an array of attribute names to use as cols.- Parameters:
columns- an array of attribute names to add
-
getAggregation
- Returns:
- an object which will aggregate results per cell
-
setAggregation
Original property name:aggregator.Sets a descriptor of an object which will aggregate results per cell (see documentation).
Applies only when
this.isShowUI() == false.- Parameters:
aggregation- an object which will aggregate results per cell
-
getRenderer
- Returns:
- an object which will generate output from pivot data structure
-
setRenderer
Sets a descriptor of an object which will generate output from pivot data structure (see documentation).Applies only when
this.isShowUI() == false.- Parameters:
renderer- an object which will generate output from pivot data structure
-
getAggregationProperties
- Returns:
- attribute names to prepopulate in vals area
-
setAggregationProperties
Original property name:vals.Sets attribute names to prepopulate in vals area (gets passed to aggregator generating function).
Applies only when
this.isShowUI() == true.- Parameters:
aggregationProperties- attribute names to prepopulate in vals area
-
addAggregationProperties
Original property name:vals.Adds attribute names to prepopulate in vals area (gets passed to aggregator generating function).
Applies only when
this.isShowUI() == true.- Parameters:
aggregationProperties- attribute names to prepopulate in vals area
-
getAggregations
- Returns:
- an object that represents a list of generators for aggregation functions in dropdown
-
setAggregations
Original property name:aggregators.Sets an object that represents a list of generators for aggregation functions in dropdown (see documentation).
Applies only when
this.isShowUI() == true.- Parameters:
aggregations- an object that represents a list of generators for aggregation functions in dropdown
-
getRenderers
- Returns:
- n object that represents a list of rendering functions
-
setRenderers
Sets an object that represents a list of rendering functions (see documentation).Applies only when
this.isShowUI() == true.- Parameters:
renderers- n object that represents a list of rendering functions
-
getHiddenProperties
- Returns:
- attribute names to omit from the UI
-
setHiddenProperties
Sets attribute names to omit from the UI.Applies only when
this.isShowUI() == true.- Parameters:
hiddenProperties- attribute names to omit from the UI
-
addHiddenProperties
Adds attribute names to omit from the UI.Applies only when
this.isShowUI() == true.- Parameters:
hiddenProperties- attribute names to omit from the UI
-
getHiddenFromAggregations
- Returns:
- attribute names to omit from the aggregation arguments dropdowns
-
setHiddenFromAggregations
Sets attribute names to omit from the aggregation arguments dropdowns.Applies only when
this.isShowUI() == true.- Parameters:
hiddenFromAggregations- attribute names to omit from the aggregation arguments dropdowns
-
addHiddenFromAggregations
Adds attribute names to omit from the aggregation arguments dropdowns.Applies only when
this.isShowUI() == true.- Parameters:
hiddenFromAggregations- attribute names to omit from the aggregation arguments dropdowns
-
getHiddenFromDragDrop
- Returns:
- attribute names to omit from the drag'n'drop portion of the UI
-
setHiddenFromDragDrop
Sets attribute names to omit from the drag'n'drop portion of the UI.Applies only when
this.isShowUI() == true.- Parameters:
hiddenFromDragDrop- attribute names to omit from the drag'n'drop portion of the UI
-
addHiddenFromDragDrop
Adds attribute names to omit from the drag'n'drop portion of the UI.Applies only when
this.isShowUI() == true.- Parameters:
hiddenFromDragDrop- attribute names to omit from the drag'n'drop portion of the UI
-
getColumnOrder
- Returns:
- the order in which column data is provided to the renderer
-
setColumnOrder
Sets the order in which column data is provided to the renderer.Ordering by value orders by column total.
- Parameters:
columnOrder- the order in which column data is provided to the renderer
-
getRowOrder
- Returns:
- the order in which row data is provided to the renderer
-
setRowOrder
Sets the order in which row data is provided to the renderer.Ordering by value orders by row total.
- Parameters:
rowOrder- the order in which row data is provided to the renderer
-
getMenuLimit
- Returns:
- the maximum number of values to list in the attribute values dialog
-
setMenuLimit
Sets the maximum number of values to list in the attribute values dialogApplies only when
this.isShowUI() == true.- Parameters:
menuLimit- the maximum number of values to list in the attribute values dialog
-
getAutoSortUnusedProperties
- Returns:
- whether or not unused attributes are kept sorted in the UI
-
setAutoSortUnusedProperties
Original property name:autoSortUnusedAttrs.Sets whether or not unused attributes are kept sorted in the UI.
Applies only when
this.isShowUI() == true.- Parameters:
autoSortUnusedProperties- whether or not unused attributes are kept sorted in the UI
-
getUnusedPropertiesVertical
- Returns:
- whether or not unused attributes are shown vertically
-
setUnusedPropertiesVertical
Original property name:unusedAttrsVertical.Sets whether or not unused attributes are shown vertically instead of the default which is horizontally.
truemeans always vertical,falsemeans always horizontal. If set to a number (as is the default) then if the attributes' names' combined length in characters exceeds the number then the attributes will be shown vertically.Applies only when
this.isShowUI() == true.- Parameters:
unusedPropertiesVertical- whether or not unused attributes are shown vertically
-
getFilterFunction
- Returns:
- a filter function that is called on each record
-
setFilterFunction
Original property name:filter.Sets a filter function that is called on each record, returns
falseif the record is to be excluded from the input before rendering ortrueotherwise.- Parameters:
filter- a filter function that is called on each record
-
getSortersFunction
- Returns:
- a sorter function
-
setSortersFunction
Original property name:sorters.Sets a sorter function that is called with an attribute name and can return a function which can be used as an argument to
Array.sortfor output purposes. If no function is returned, the default sorting mechanism is a built-in "natural sort" implementation. Useful for sorting attributes like month names.- Parameters:
sorters- a sorter function
-
getRendererOptions
- Returns:
- an object that is passed through to renderer as options
-
setRendererOptions
Sets an object that is passed through to renderer as options.- Parameters:
rendererOptions- an object that is passed through to renderer as options
-
getInclusions
- Returns:
- a map whose keys are attribute names and values are arrays of attribute values
- See Also:
-
setInclusions
Sets a map whose keys are attribute names and values are arrays of attribute values which denote records to include in rendering; used to prepopulate the filter menus that appear on double-click (overridesgetExclusions()).Applies only when
this.isShowUI() == true.- Parameters:
inclusions- a map whose keys are attribute names and values are arrays of attribute values- See Also:
-
setInclusions
Sets a list whose values are arrays of attribute values which denote records to include in rendering; used to prepopulate the filter menus that appear on double-click (overridesgetExclusions()).Applies only when
this.isShowUI() == true.- Parameters:
property- a property for which set inclusionsinclusions- a list of property values- See Also:
-
addInclusions
Adds property values to a given property which denote records to include in rendering; used to prepopulate the filter menus that appear on double-click (overridesgetExclusions()).Applies only when
this.isShowUI() == true.- Parameters:
property- a property for which set inclusionsinclusions- an array of property values- See Also:
-
getExclusions
- Returns:
- a map whose keys are attribute names and values are arrays of attribute values
-
setExclusions
Sets a map whose keys are attribute names and values are arrays of attribute values which denote records to exclude from rendering; used to prepopulate the filter menus that appear on double-click.Applies only when
this.isShowUI() == true.- Parameters:
exclusions- a map whose keys are attribute names and values are arrays of attribute values- See Also:
-
setExclusions
Sets a list whose values are arrays of attribute values which denote records to exclude from rendering; used to prepopulate the filter menus that appear on double-click.Applies only when
this.isShowUI() == true.- Parameters:
property- a property for which set exclusionsexclusions- a map whose keys are attribute names and values are arrays of attribute values- See Also:
-
addExclusions
Adds property values to a given property which denote records to exclude from rendering; used to prepopulate the filter menus that appear on double-click.Applies only when
this.isShowUI() == true.- Parameters:
property- a property for which set exclusionsexclusions- a map whose keys are attribute names and values are arrays of attribute values- See Also:
-
getDerivedProperties
- Returns:
- an object that represents derived properties
-
setDerivedProperties
Original property name:derivedAttributes.Sets an object that represents derived properties (see documentation).
- Parameters:
derivedProperties- an object that represents derived properties
-
setEmptyDataMessage
Sets the message that will be displayed in case of empty data.- Parameters:
emptyDataMessage- the message that will be displayed in case of empty data
-
getEmptyDataMessage
- Returns:
- the message that will be displayed in case of empty data
-
setShowUI
Show pivot table in the UI mode.- Parameters:
showUI-trueif pivot table UI is shown,falseif not.
-
isShowUI
- Returns:
trueif pivot table UI is shown,falseif not.
-
setShowRowTotals
Shows an additional column of totals for each row- Parameters:
showRowTotals-trueif row totals are shown,falseif not.
-
isShowRowTotals
- Returns:
trueif row totals are shown,falseif not.
-
setShowColumnTotals
Shows an additional column of totals for each col- Parameters:
showColumnTotals-trueif col totals are shown,falseif not.
-
isShowColumnTotals
- Returns:
trueif col totals are shown,falseif not.
-
setItems
Sets theJmixPivotTableItemsinstance to use as data provider.- Parameters:
items- theJmixPivotTableItemsinstance to use
-
initComponent
protected void initComponent() -
createOptions
-
createSerializer
-
initComponentListeners
protected void initComponentListeners() -
onOptionsChange
-
onRefresh
-
updateOptionsAfterRefresh
-
requestUpdateOptions
protected void requestUpdateOptions() -
requestUpdateItems
protected void requestUpdateItems() -
performUpdateOptions
protected void performUpdateOptions(com.vaadin.flow.internal.ExecutionContext context) -
performUpdateItems
protected void performUpdateItems(com.vaadin.flow.internal.ExecutionContext context) -
onAttach
protected void onAttach(com.vaadin.flow.component.AttachEvent attachEvent) - Overrides:
onAttachin classcom.vaadin.flow.component.Component
-
ready
@ClientCallable protected void ready() -
onDetach
protected void onDetach(com.vaadin.flow.component.DetachEvent detachEvent) - Overrides:
onDetachin classcom.vaadin.flow.component.Component
-
callPendingJsFunction
Execute JavaScript function with theresultJsonpassed. Execution will be delayed till the client-side is ready.- Parameters:
function- JavaScript function to executeresultJson- resultJson
-
callJsFunction
-