Page History
...
The issues are briefly summarised in
Jira | ||||||||
---|---|---|---|---|---|---|---|---|
|
Jira | ||||||||
---|---|---|---|---|---|---|---|---|
|
...
Transfomers
should now assume they work with just one locale - no need to be able to track several locales all at once.- Simplify i18n support:
BasicTransformer#i18NPropertyName
becomes unnecessary - we don't need to set it externally, we can injectI18NAuthroingSupport
and generate i18n-aware property name via it internally.TransformedProperty
's i18n-related methods (hasI18NSupport
andfireI18nValueChange
) become also redundant sinceTransformedProperties
will be regenerated.For read-only state support: add read-only state setter/getter to
Transformer
interface and makeTransformedProperty
delegate to it:@Override
public boolean isReadOnly() {
return super.isReadOnly() && transformer.isReadOnly();
}Delegating transformers should adapt to one locale case:
- i.e.
DelegatingMultiValueFieldTransformer#items
which tracks separate items for all locales - should be replaced with a single item for the current locale. - TBD: research and prove with PoC.
- i.e.
Other consequences:
DefaultI18NAuthoringSupport#i18nize()
wouldn't be needed any longer - all the ugliness could go away.- Default values and read-only states would be much better and logically respected during locale changes since
FieldFactories
would re-apply those on form re-generation.
What to do (initial thoughts)
Default value/read-only state
...
Transformer
object could get additional methods on the interface (e.g.get/setReadonly()
andget/setDefaultValue())
- Then transformer could resolve read-only state based on additional info coming from the underlying item (i.e. would still claim it's read-only if the item it is connected to cannot be modified).
- Transformer would also be capable of setting a default value for any property it creates.
Effort source:
https://git.magnolia-cms.com/gitweb/?p=magnolia_ui.git;a=shortlog;h=refs/heads/refactor/MGNLUI-3490
...