Page History
...
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.
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)
...