@StudioFacet(xmlElement="dataLoadCoordinator", caption="DataLoadCoordinator", category="Facets", description="Controls triggering of data loaders and provides support for automatic linking data loaders to data containers and visual components", defaultProperty="id", icon="io/jmix/ui/icon/facet/dataLoadCoordinator.svg") public interface DataLoadCoordinator extends Facet
Modifier and Type | Interface and Description |
---|---|
static class |
DataLoadCoordinator.LikeClause
Type of the LIKE clause.
|
static interface |
DataLoadCoordinator.Trigger
Load trigger.
|
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DEFAULT_COMPONENT_PREFIX |
static java.lang.String |
DEFAULT_CONTAINER_PREFIX |
Modifier and Type | Method and Description |
---|---|
void |
addOnComponentValueChangedLoadTrigger(DataLoader loader,
Component component,
java.lang.String param,
DataLoadCoordinator.LikeClause likeClause)
Adds trigger on visual component
ValueChangeEvent . |
void |
addOnContainerItemChangedLoadTrigger(DataLoader loader,
InstanceContainer container,
java.lang.String param)
Adds trigger on data container
ItemChangeEvent . |
void |
addOnFrameOwnerEventLoadTrigger(DataLoader loader,
java.lang.Class eventClass)
Adds trigger on screen/fragment event.
|
void |
configureAutomatically()
Configures triggers automatically relying upon parameter prefixes.
|
java.util.List<DataLoadCoordinator.Trigger> |
getTriggers()
Returns configured triggers.
|
void |
setComponentPrefix(java.lang.String value)
Sets parameter prefix to denote a visual component.
|
void |
setContainerPrefix(java.lang.String value)
Sets parameter prefix to denote a data container.
|
static final java.lang.String DEFAULT_CONTAINER_PREFIX
static final java.lang.String DEFAULT_COMPONENT_PREFIX
@StudioProperty(name="containerPrefix", defaultValue="container_") void setContainerPrefix(java.lang.String value)
@StudioProperty(name="componentPrefix", defaultValue="component_") void setComponentPrefix(java.lang.String value)
void addOnFrameOwnerEventLoadTrigger(DataLoader loader, java.lang.Class eventClass)
loader
- loadereventClass
- event classvoid addOnContainerItemChangedLoadTrigger(DataLoader loader, InstanceContainer container, @Nullable java.lang.String param)
ItemChangeEvent
.loader
- loadercontainer
- master data containerparam
- loader parametervoid addOnComponentValueChangedLoadTrigger(DataLoader loader, Component component, @Nullable java.lang.String param, DataLoadCoordinator.LikeClause likeClause)
ValueChangeEvent
.loader
- loadercomponent
- component which must implement HasValue
param
- loader parameterlikeClause
- whether the condition using the parameter is a LIKE clause@StudioProperty(name="auto", type=BOOLEAN, defaultValue="false", initialValue="true") void configureAutomatically()
BeforeShowEvent
or AttachEvent
.@StudioElementsGroup(caption="Refresh", xmlElement="refresh", icon="io/jmix/ui/icon/facet/refresh.svg", maxOccurs=UNBOUNDED) java.util.List<DataLoadCoordinator.Trigger> getTriggers()