Notable Changes¶
Autocomplete RT is deprecated¶
Autocomplete RT is using Coral2 component, which will not be supported any longer.
Use dedicated component for the purpose, such as PathField,
or build your own field based on foundation-autocomplete.
Field RT: Support for tooltipPosition¶
Field RT now supports tooltipPosition property
to change the position of the tooltip relative to the field.
It is useful when the tooltip is truncated.
Select RT: Support for forceIgnoreFreshness¶
Select RT now supports forceIgnoreFreshness property.
It is useful when you have a newly introduced field in the form, and there is a need to specifically set the default selected item.
foundation-workflowstatus¶
We introduce foundation-workflowstatus to standardize the presentation of workflows in the UI.
IncludeClientlibs RT: Support rendercondition¶
IncludeClientlibs RT now supports render condition.
DatePicker RT: Support typeHint property¶
DatePicker RT now exposes typeHint property, which is defaulted to Date.
There is a request to save the field’s value as string. This is mainly to support the Classic UI behaviour. However, it is still recommended to save the value as native date in JCR as the best practice.
foundation-toggleable-control: Support Caching Attribute¶
We introduce [data-foundation-toggleable-control-cache] to foundation-toggleable-control
to configure if the .foundation-toggleable content loaded at [data-foundation-toggleable-control-src] should be cached.
The primary purpose of this attribute is to disable caching of the loaded content that is dynamic and thus needs to be always loaded freshly.
Accessibility¶
We significantly improve our UI’s accessibility by applying ARIA attributes,
such as aria-label, aria-labelledby, role="region", role="main", and role="heading" to our components.
We are continuing our investment to make our UI accessible.
Form Default Value Handling¶
We review the handling of default values of the form fields.
Form RT now supports nameNotFoundMode property
to handle the scenario when the FormData doesn’t have an entry of a certain name.
This mechanic uses FormData.class that we also introduce. To understand deeper about this mode, please consult FormData.NameNotFoundMode.
FormData.class¶
We introduce FormData.class to better handle the form values.
The key feature of this class is FormData.NameNotFoundMode, which is a mode on how to handle the scenario when the FormData doesn’t have an entry of a certain name.
RenderConditionHelper.class¶
We introduce RenderConditionHelper.class to allow getting render condition without ComponentHelper.
Button and Link RTs: Support for command and actionConfigName¶
Add command and actionConfigName properties to the following components:
/libs/granite/ui/components/coral/foundation/button/libs/granite/ui/components/coral/foundation/anchorbutton/libs/granite/ui/components/coral/foundation/collection/action/libs/granite/ui/components/coral/foundation/collection/actionlink
command is the property to specify the keyboard shortcut of the action,
while actionConfigName property is to specify the path to the central configuration of the action.
Multifield RT: Support composite and nested multifields¶
Multifield RT now supports composite property
to handle the form content value as composite.
Composite multifield supports nesting another multifield (composite or not). However, non-composite one doesn’t support nesting.
NumberField RT: Support for any as step¶
NumberField RT now supports any value for step property.
step property only allowed number before.
Select RT: Support render conditions in the items¶
Select RT now supports
render condition in the items.
Include RT: Support passing Option class¶
Include RT was only passing Tag class as the param to during include.
There was an enhancement in the past to be able to pass a more generic Option class.
So, we update the implementation to pass the option instead of just the tag.
Before:
cmp.include(targetResource, cfg.get("resourceType", String.class), cmp.consumeTag());
After:
cmp.include(targetResource, cfg.get("resourceType", String.class), cmp.getOptions());
foundation-form: Manage multiple submissions¶
At times, there can be a scenario where there are two consecutive form submissions in the quick succession. We improve foundation-form by queeing up the submissions serially.
foundation-command¶
We improve keyboard support in our UI, hence we introduce foundation-command vocabulary to standardize it.
foundation-time¶
In the UI we often display a date for the purpose of presentation. Before, we mixed relative and absolute formatting, often having arbitrary formats that hard to internationalize. Thus, we introduce foundation-time to standardize the presentation.
foundation-preference¶
We introduce foundation-preference to read/write user preferences.
foundation.form.response.ui.success: foundation.collection.reload¶
We add a new form response success handler named foundation.collection.reload
to reload the foundation-collection when the form is successfully submitted.