Page History
...
Table of Contents | ||
---|---|---|
|
Configuration
New
...
keys in magnolia.properties (empty-webapp)
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
# Change to point at your custom Vaadin widgetset and theme
# Your widgetset should always inherit magnolia's default widgetset (info.magnolia.ui.vaadin.gwt.MagnoliaWidgetSet)
# Your theme should always include magnolia's default theme (admincentral)
magnolia.ui.vaadin.widgetset= | ||||||||
Advanced Tables - Table Plus | ||||||||
| ||||||||
Node name | Value | |||||||
modules | ||||||||
ui-admincentral | ||||||||
config | ||||||||
widgetset | ||||||||
Paragraph |
AdmincentralUIProvider
Package: info.magnolia.ui.admincentral
This is a custom Vaadin UIProvider. It gets the MagnoliaConfigurationProperties via injection, and checks for property values when queried for widgetset or theme. Vaadin's DefaultUIProvider can only resolve widgetsets and themes either from servlet parameters or via annotation.
Property keys are mostly defined as constants in the SystemProperty (info.magnolia.cms.core) deprecated class.
...
In want of a better location for generic magnolia_ui properties, the widgetset and theme properties keys are defined here.
Code Block | ||||
---|---|---|---|---|
| ||||
public static final String MAGNOLIA_UI_VAADIN_WIDGETSET = "magnolia.ui.vaadin.widgetset";
public static final String MAGNOLIA_UI_VAADIN_THEME = "magnolia.ui.vaadin.theme"; |
It also holds fallback constants in case widgetset and theme cannot be determined:
Code Block | ||||
---|---|---|---|---|
| ||||
public static final String DEFAULT_WIDGETSET_NAME = "info.magnolia.ui.vaadin.gwt.MagnoliaWidgetSet";
public static final String DEFAULT_THEME_NAME = "admincentral"; |
...
New definitions
- info.magnolia.ui.api.vaadin
WidgetsetDefinition
ThemeDefinition
ConfiguredWidgetsetDefinition
ConfiguredThemeDefinition
New class
- info.magnolia.ui.admincentral
AdmincentralUIProvider
Widgetset structure
git repo | groupId | artifactId | Widgetset name (.gwt.xml) | gwt:compiled | comments | |
---|---|---|---|---|---|---|
EE | ee-bundle | info.magnolia.eebundle | magnolia-enterprise-bundle-widgetset | info.magnolia.eebundle.MagnoliaEnterpriseBundleWidgetSet | check for 5.1 EE | |
enterprise / content-dependencies | info.magnolia.dependencies | magnolia-content-dependencies-widgetset | info.magnolia.dependencies.ContentDependenciesWidgetSet | just here as a ee module example | ||
CE | ce-bundle | info.magnolia.bundle | magnolia-bundle-widgetset | info.magnolia.bundle.MagnoliaBundleWidgetSet | replaces MagnoliaWidgetSet (5.0) - integration and compiler options | |
modules / dam | info.magnolia.dam | magnolia-dam-widgetset | info.magnolia.dam.DamWidgetSet | just here as a ce module example | ||
magnolia_ui / pages | info.magnolia.pages | magnolia-pages-widgetset | info.magnolia.pages.PagesWidgetSet | replaces PageEditorWidgetSet (5.0) | ||
UI | magnolia_ui | info.magnolia.ui | magnolia-ui-widgetset | info.magnolia.ui.MagnoliaUiWidgetSet | replaces CommonWidgetSet (5.0) | |
magnolia_ui / magnolia-ui-widgetset | info.magnolia.ui.vaadin | magnolia-ui-vaadin-table | info.magnolia.ui.vaadin.TableWidgetSet | extracted from CommonWidgetSet (5.0) | ||
magnolia_ui / magnolia-ui-widgetset | info.magnolia.ui.vaadin | magnolia-ui-vaadin-contextmenu | info.magnolia.ui.vaadin.ContextMenuWidgetSet | extracted from CommonWidgetSet (5.0) | ||
magnolia_ui / magnolia-ui-actionbar | info.magnolia.ui.actionbar | magnolia-ui-actionbar-widgetset | info.magnolia.ui.actionbar.ActionBarWidgetSet | just here as examples for further ui modularization | ||
magnolia_ui / magnolia-ui-mediaeditor | info.magnolia.ui.mediaeditor | magnolia-ui-mediaeditor-widgetset | info.magnolia.ui.mediaeditor.MediaEditorWidgetSet | |||
RAW | magnolia-vaadin-widgetset | info.magnolia.vaadin.widgetset | magnolia-vaadin-widgetset | info.magnolia.vaadin.MagnoliaWidgetSet | M5-agnostic vaadin components - not for now |
Theme structure
-
Implementation details
- Changing widgetset/theme config currently requires a server restart
- most likely AdmincentralUIProvider injected instance in servlet is not refreshed when module configuration changes
- don't store definition references, only module reference and query dynamically for configured definitions