Package io.jmix.ui.sys.registration
Class CustomComponentsRegistry
java.lang.Object
io.jmix.ui.sys.registration.CustomComponentsRegistry
Registers external UI components that should be used by the framework.
For instance, in the spring Configuration
class create ComponentRegistration
bean.
@Configuration public class ComponentConfiguration { @Bean public ComponentRegistration extButton() { return ComponentRegistrationBuilder.create(ExtButton.NAME) .withComponentClass(ExtWebButton.class) .withComponentLoaderClass(ExtButtonLoader.class) .build(); } }
Note, the order of providing ComponentRegistration
beans is very important
because components with the same name will be filtered if they have lower priority.
For instance, the configuration provides two ComponentRegistration
with
the same name:
@Bean @Order(100) public ComponentRegistration extButton() { return ComponentRegistrationBuilder.create(ExtButton.NAME) .withComponentClass(ExtWebButton.class) .build(); } @Bean @Order(200) public ComponentRegistration extButton1() { return ComponentRegistrationBuilder.create(ExtButton.NAME) .withComponentClass(ExtWebButton.class) .withComponentLoaderClass(ExtButtonLoader.class) .build(); }Component with loader will be filtered as it has a lower priority. Another example, the configuration provides
ComponentRegistration
that overrides registration
from some add-on. In this case, if the component from the add-on has lower priority
it will not be registered at all. It means that our component registration must
provide full information: name, tag (if it not the same as name), component class,
and loader class.- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected List<ComponentRegistration>
protected CustomComponentsLoaderConfig
protected LoaderResolver
protected UiComponentsImpl
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
init
(org.springframework.context.event.ContextRefreshedEvent event) protected void
registerComponent
(ComponentRegistration registration) protected void
-
Field Details
-
componentRegistrations
-
uiComponents
-
loaderConfig
-
loaderResolver
-
-
Constructor Details
-
CustomComponentsRegistry
public CustomComponentsRegistry()
-
-
Method Details
-
init
@EventListener @Order(200) public void init(org.springframework.context.event.ContextRefreshedEvent event) -
registerComponents
protected void registerComponents() -
registerComponent
-