@Component(value="ui_PivotScreenBuilder")
@Scope(value="prototype")
public class PivotScreenBuilder
extends java.lang.Object
ShowPivotAction
Modifier and Type | Field and Description |
---|---|
protected io.jmix.core.AccessManager |
accessManager |
protected java.util.List<java.lang.String> |
additionalProperties |
protected java.util.List<DataItem> |
dataItems |
protected java.util.List<java.lang.String> |
excludedProperties |
protected io.jmix.core.FetchPlanRepository |
fetchPlanRepository |
protected java.util.List<java.lang.String> |
includedProperties |
protected io.jmix.core.Messages |
messages |
protected io.jmix.core.MessageTools |
messageTools |
protected io.jmix.core.Metadata |
metadata |
protected io.jmix.core.MetadataTools |
metadataTools |
protected java.lang.String |
nativeJson |
static java.lang.String |
SCREEN_ID |
protected ListComponent |
target |
Constructor and Description |
---|
PivotScreenBuilder(ListComponent target) |
Modifier and Type | Method and Description |
---|---|
Screen |
build() |
java.util.List<java.lang.String> |
getAdditionalProperties() |
protected io.jmix.core.FetchPlan |
getBaseFetchPlan(io.jmix.core.metamodel.model.MetaClass metaClass) |
protected io.jmix.core.metamodel.model.MetaClass |
getEmbeddedIdMetaClass(io.jmix.core.metamodel.model.MetaClass metaClass) |
protected java.util.List<java.lang.String> |
getEmbeddedIdProperties(io.jmix.core.metamodel.model.MetaClass metaClass) |
java.util.List<java.lang.String> |
getExcludedProperties() |
java.util.List<java.lang.String> |
getIncludedProperties() |
java.lang.String |
getNativeJson() |
protected java.util.List<java.lang.String> |
getPropertiesFromView(io.jmix.core.metamodel.model.MetaClass metaClass,
io.jmix.core.FetchPlan fetchPlan) |
protected java.util.Map<java.lang.String,java.lang.String> |
getPropertiesWithLocale() |
protected io.jmix.core.metamodel.model.MetaClass |
getPropertyMetaClass(io.jmix.core.metamodel.model.MetaProperty metaProperty) |
protected boolean |
hasEmbeddedId(io.jmix.core.metamodel.model.MetaClass metaClass) |
protected boolean |
isByteArray(io.jmix.core.metamodel.model.MetaProperty metaProperty) |
protected boolean |
isEmbeddedIdProperty(java.lang.String property,
io.jmix.core.metamodel.model.MetaClass metaClass) |
protected boolean |
isIdProperty(java.lang.String property,
io.jmix.core.metamodel.model.MetaClass metaClass)
Checks if current MetaClass contains given id property.
|
protected boolean |
isManagedProperty(io.jmix.core.metamodel.model.MetaProperty metaProperty,
io.jmix.core.metamodel.model.MetaClass metaClass) |
protected boolean |
isPermitted(io.jmix.core.metamodel.model.MetaClass metaClass,
io.jmix.core.metamodel.model.MetaProperty metaProperty) |
protected boolean |
isUuid(io.jmix.core.metamodel.model.MetaProperty metaProperty) |
protected java.util.List<java.lang.String> |
removeNonExistingProperties(java.util.List<java.lang.String> properties,
io.jmix.core.metamodel.model.MetaClass metaClass,
io.jmix.core.FetchPlan fetchPlan) |
protected void |
setAccessManager(io.jmix.core.AccessManager accessManager) |
protected void |
setFetchPlanRepository(io.jmix.core.FetchPlanRepository fetchPlanRepository) |
protected void |
setMessages(io.jmix.core.Messages messages) |
void |
setMessageTools(io.jmix.core.MessageTools messageTools) |
protected void |
setMetadata(io.jmix.core.Metadata metadata) |
void |
setMetadataTools(io.jmix.core.MetadataTools metadataTools) |
PivotScreenBuilder |
withAdditionalProperties(java.util.List<java.lang.String> additionalProperties)
Set properties which should be additionally included.
|
PivotScreenBuilder |
withExcludedProperties(java.util.List<java.lang.String> excludedProperties)
Set excluded properties list using fluent API method.
|
PivotScreenBuilder |
withIncludedProperties(java.util.List<java.lang.String> includedProperties)
Set included properties list using fluent API method.
|
PivotScreenBuilder |
withItems(java.util.Collection<? extends io.jmix.core.Entity> items)
Sets items that should be shown in PivotTable.
|
PivotScreenBuilder |
withNativeJson(java.lang.String nativeJson)
Set native json using fluent API method.
|
public static final java.lang.String SCREEN_ID
protected io.jmix.core.Metadata metadata
protected io.jmix.core.MetadataTools metadataTools
protected io.jmix.core.FetchPlanRepository fetchPlanRepository
protected io.jmix.core.Messages messages
protected io.jmix.core.MessageTools messageTools
protected io.jmix.core.AccessManager accessManager
protected java.util.List<java.lang.String> includedProperties
protected java.util.List<java.lang.String> excludedProperties
protected java.util.List<java.lang.String> additionalProperties
protected java.util.List<DataItem> dataItems
protected java.lang.String nativeJson
protected ListComponent target
public PivotScreenBuilder(ListComponent target)
@Autowired protected void setMetadata(io.jmix.core.Metadata metadata)
@Autowired protected void setFetchPlanRepository(io.jmix.core.FetchPlanRepository fetchPlanRepository)
@Autowired protected void setMessages(io.jmix.core.Messages messages)
@Autowired protected void setAccessManager(io.jmix.core.AccessManager accessManager)
@Autowired public void setMetadataTools(io.jmix.core.MetadataTools metadataTools)
@Autowired public void setMessageTools(io.jmix.core.MessageTools messageTools)
public java.util.List<java.lang.String> getIncludedProperties()
public PivotScreenBuilder withIncludedProperties(java.util.List<java.lang.String> includedProperties)
ShowPivotAction.setExcludedProperties(String)
is not set.includedProperties
- list of included propertiespublic java.util.List<java.lang.String> getExcludedProperties()
public PivotScreenBuilder withExcludedProperties(java.util.List<java.lang.String> excludedProperties)
ShowPivotAction.setExcludedProperties(String)
, excluded properties will be
applied for all properties in the fetch plan.excludedProperties
- list of excluded propertiespublic PivotScreenBuilder withAdditionalProperties(java.util.List<java.lang.String> additionalProperties)
additionalProperties
- list of additional propertiespublic java.util.List<java.lang.String> getAdditionalProperties()
public java.lang.String getNativeJson()
public PivotScreenBuilder withNativeJson(java.lang.String nativeJson)
{
"cols": ["localized property", "localized property"],
"rows": ["localized property"],
"editable": false,
"renderer": "heatmap",
"aggregation": {
"id": "d8fc3fdf-730d-c94f-a0c8-72a9ce3dcb3a",
"mode": "sumOverSum",
"properties": ["localized property", "localized property"]
}
}
for editable pivot table:
{
"cols": ["localized property"],
"rows": ["localized property"],
"editable": true,
"renderers": {
"selectedRenderer": "barChart"
},
"autoSortUnusedProperties": true,
"aggregationProperties": ["localized property", "localized property"],
"aggregations": {
"selectedAggregation": "count",
"aggregations": [{
"id": "647780f0-c6d0-6ade-a63a-542b5c8cdbd5",
"mode": "count",
"caption": "Count"
}, {
"id": "c2663238-2654-67f0-2dec-add6962d867c",
"mode": "sumOverSum"
}]
}
}
nativeJson
- configuration json of pivot tablepublic PivotScreenBuilder withItems(java.util.Collection<? extends io.jmix.core.Entity> items)
items
- collection of entitiespublic Screen build()
protected java.util.Map<java.lang.String,java.lang.String> getPropertiesWithLocale()
protected boolean isManagedProperty(io.jmix.core.metamodel.model.MetaProperty metaProperty, io.jmix.core.metamodel.model.MetaClass metaClass)
protected boolean isPermitted(io.jmix.core.metamodel.model.MetaClass metaClass, io.jmix.core.metamodel.model.MetaProperty metaProperty)
protected boolean isByteArray(io.jmix.core.metamodel.model.MetaProperty metaProperty)
protected boolean isUuid(io.jmix.core.metamodel.model.MetaProperty metaProperty)
protected java.util.List<java.lang.String> getPropertiesFromView(io.jmix.core.metamodel.model.MetaClass metaClass, io.jmix.core.FetchPlan fetchPlan)
protected io.jmix.core.FetchPlan getBaseFetchPlan(io.jmix.core.metamodel.model.MetaClass metaClass)
protected java.util.List<java.lang.String> getEmbeddedIdProperties(io.jmix.core.metamodel.model.MetaClass metaClass)
protected boolean hasEmbeddedId(io.jmix.core.metamodel.model.MetaClass metaClass)
protected io.jmix.core.metamodel.model.MetaClass getEmbeddedIdMetaClass(io.jmix.core.metamodel.model.MetaClass metaClass)
protected java.util.List<java.lang.String> removeNonExistingProperties(java.util.List<java.lang.String> properties, io.jmix.core.metamodel.model.MetaClass metaClass, io.jmix.core.FetchPlan fetchPlan)
protected boolean isIdProperty(java.lang.String property, io.jmix.core.metamodel.model.MetaClass metaClass)
property
- property to checkmetaClass
- metaClassprotected boolean isEmbeddedIdProperty(java.lang.String property, io.jmix.core.metamodel.model.MetaClass metaClass)
protected io.jmix.core.metamodel.model.MetaClass getPropertyMetaClass(io.jmix.core.metamodel.model.MetaProperty metaProperty)