-
Introduced new SimpleComponentTypeRenderer to handle simple components that do not fall into the existing classifiers like Field, Group, External, and View.
-
Allow for top-level menu items (menu items that have a configured URL without child menu items) to be rendered and displayed in the Navigation menu.
-
Additionally, if a parent menu item only has one child menu item visible, the menu items will be flattened so that the child menu item is displayed at the root level and the parent menu item is hidden.
This behavior is controlled by the VITE_ENABLE_NAVIGATION_FLATTEN_SINGLE_MENU_ITEM environment variable, which is true by default.
-
Single-value fields were updated to be able to render raw data according to their types.
If the field’s metadata has the displayOnly attribute set to true, then the field will be displayed as a plain or raw text representation.
There is also a placeholder value to be displayed when there is no value for the field.
-
Added the ability to "Select All" tiles from the Product Browse Tile Grid similar to how it is supported on the list grid view. Used for bulk operations.
-
Handle pre-selected items in grids by looking for $selected on the row
-
Handle paginated results when using a transformMapper to map data from the response. Previously, it expected the response to be an array. Added support for checking the content if it exists.
-
This has no impact on any grids unless a transformResponse is added to the grids metadata
-
Introduced a MoneyTileComponent for TileGrid to display money fields
-
Introduced a ToggleTileComponent for TileGrid elements to display boolean fields as toggles.
-
Introduced a description prop to CollapsibleGroup components.
-
Introduced a overrideMaxWidth prop to SlideOver components to allow overriding the max width that is calculated by default.
-
Added mobile breakpoints for TileGrid components to allow for better responsiveness on smaller screens
-
Added ModalFormView that handles Update, Create and simple ModalViews
-
Support targeting Auth token claims in field conditionals
-
Auth claims can be targeted by prefixing $authClaims to the name of the claims, e.g., $authClaims.3pidp_client_registration_id
-
Example usage: Make an Admin User’s email read-only if they authenticated with Google.
-
Enhanced display of display-only Rule Builders so that they are more human-readable
-
Introduced support for Computed Dates in DateField component.
-
Introduced a new DateRangeField component to display dates in a range format, e.g., "Start Date - End Date".
-
Introduced new DurationField and DurationColumn components to display duration values given specific base units, e.g., "2 weeks".
-
Added support for displaying a success toast notification message when a new entity is created. This is driven by the successNotificationOnCreate attribute. Additionally, a custom message can be set via the successNotificationMessage attribute, otherwise it will fall back to a default success message.
-
Updated the ActionListGridSelectAction to display a toast notification to indicate when the sort action is in process, and another to notify that the sort action was applied successfully.
-
Updated components to support displaying metadata-driven icons in action buttons:
-
Updated the ActionListGridAdvancedSearch component to display a button with a filter icon instead of the original "Filters" label. This icon can be modified via the filterIconName metadata attribute.
-
Updated the ActionListGridModalFormButton component to support displaying a button with a custom icon instead of the action definition’s label. This is driven by the iconName metadata attribute, and if it is not set, it will fall back to displaying the label as before.
-
Updated the custom Export and Import views to also display icons in their buttons and allow for customization via the iconName metadata attribute. By default, these views will display an upload icon and download icon, respectively.
-
Updated the BetterSearchInput component to display an explicit search button, instead of relying on the user to press enter after typing in their search query. This also allows for better accessibility.
-
Added a new selectableWhenMutableOnly metadata attribute to the ActionListGrid component. This is helpful to disable row selection and thus prevent the use of actions on entities that are not mutable.
-
Added a new forceCatalogSelector metadata attribute to Entity Forms that forces displaying the Catalog Selector, overriding the default behavior where it is only shown in Create forms.
-
The Rule Builder is now able to render lookups that are dependent upon the values from the parent form. To achieve this, the $parent prop is now being passed to the RuleBuilderQueryBuilder component.
-
The Grid Create Action now supports refetching on action success based on the new readOnSuccess metadata attribute.
-
Introduced components to support the new Interdependent Grid Concept
-
Implemented custom behaviors in the FieldArrayGrid component to support custom messages for Boolean Attribute Choices, defaulting the choice labels to "Yes" and "No".
-
Updated the main navigation to display the Application Logo instead of the Application Portrait and added environment properties to provide better control over this selection:
-
VITE_USE_PORTRAIT_ASSET_IN_MAIN_NAV: reverts to using the Application Portrait in the main navigation when set to true. This property is false by default.
-
VITE_USE_PORTRAIT_ASSET_IN_APPLICATION_SELECTOR: allows using the first letter of the Application Name instead of the portrait asset as the portrait in the application selector when set to false. This property is true by default.
-
Allowed metadata for entity forms to define a isCatalogOverrideFallbackHintField attribute that can be used as a fallback to determine if the current entity is a catalog override in the current context, even if its ContextState data does not indicate that it is an override.
-
The exemplifying use-case here is a Product from parentCatalog which has characteristics defined in childCatalog. If viewing the entity from the childCatalog context, Product.contextState may not have field changes and will not seem like an override, but the new characteristicsOverriddenHint field in CatalogServices will be used as a fallback to ensure the 'undo overrides' button still appears.
-
isProductionCatalogEntity is now exported as a public method out of CatalogUtils to allow its direct invocation in Delete.tsx