Broadleaf Microservices
  • v1.0.0-latest-prod

Unified Admin Release Notes for 1.10.2

Important Updates

  • Now supports Node 18. Node 14 has reached end-of-life and we recommend upgrading to Node 18 as soon as possible since Node 16 reaches end of life in September 2023.

    • Upgrading Node is not required to use this update.

Features & Enhancements

  • Added support for targeting tracking context by metadata conditionals.

    • This can allow some fields or groups to be hidden in different contexts like tenant, application, or catalog.

    • Example:

      • Conditionals.when("$tracking.tenantId").equalTo("tenant_id")

      • Conditionals.when("$tracking.applicationId").equalTo("app_id")

      • Conditionals.when("$tracking.catalog.currentCatalogId").equalTo("catalog_id")

  • Made FulfillmentItemSummary, FulfillmentCardBody, FulfillmentCardHeader, and sub-components overridable in OMS screens.

    • This makes use of the enableOverrides mechanic where a component can be overridden by registering a new component with a key of the form blComponentName, e.g., blButton.

  • Enabled Trigger Form Component to update the form state after submission.

    • Set attribute useResponse to true in metadata.

  • Enabled Trigger Form Component to be a Primary action.

    • Previously it was only secondary (same placement as most delete actions for entity forms).

  • Added support for none type transformation when using a Derived Field.

    • Before the source field’s value would always undergo some type of text transformation: kebab, camel, or snake.

  • Added new external type, FIELD_GROUP, that allows fetching a single entity with an endpoint and displaying its fields nested inside another entity’s form.

    • Before there were only lookups which only show an entity’s name and grids for lists for external components.

    • This could be used for reading an associated, one-to-one entity, grouping its fields together.

  • Added the ability to reverse the colors of values for boolean column.

    • This is typically used when wanting to swap the colors for true and false—true becoming red and false becoming green.

    • In metadata, add .attribute("swapColors", true);.

  • Added dropdown display for Fulfillment Adjustments Total to allow showing the breakdown in Order Details screens.

    • This allows showing the codes used to apply a discount and the amount of the related discount.

  • Added "reason code" select field when created Return Authorizations for Orders.

    • The reason values should be passed in on the action in metadata as the statusChangeReasons attribute: CreateReturnAction.attributes("statusChangeReasons", ReturnChangeReasonsEnum.toOptions()).

  • Added trackable (catalog, tenant, sandbox) information to entity forms' states to allow targeting by conditions.

    • This allows something like a metadata conditional that restricts a field or group to a specific application or tenant context:

      .conditional(Conditionals.when("$tracking.tenantId")
              .equalTo("tenant_id"))
  • Made FulfillmentCardHeader component overridable.

    • To do so, register a component with type blFulfillmentCardHeader.

  • Made FulfillmentViewDetails component overridable.

    • To do so, register a component with type blFulfillmentViewDetails.

  • Made sub-components of FulfillmentCardBody and FulfillmentCardHeader component overridable.

    • To do so, register a component with a type that is the sub-component’s name prefixed with bl.

  • Made FulfillmentItemSummary and sub-components overridable.

Bug Fixes

  • Fixed validation of the augmentation field validations not triggering.

    • This is relevant when adding a new custom field in the Admin using the "Customize Form" action.

    • Before, invalid validation methods could be specified because validation did not trigger.

  • Fixed product read not being triggered when change summaries change.

    • After a product change is saved, the app will poll the change summaries endpoint to make sure the changes have propagated before refreshing the product’s state.

  • ActionListGridImport now gets contextParams from props instead of initializing them as empty.

    • This fixes an issue where imported entities were created with incorrect tracking details.

  • Fixed columns not rendering for Category Search Grid

  • Fixed My Changes list grid not paginating

  • Fixed not being able to set read-only conditions for External fields such as ExternalGridCollection or ProductPriceDataGridCollection

  • Fixed dynamic fields not updating initial form state

  • Fixed display value of list grid filters not updating when modified

    • When the value of an existing filter was updated, the active filters continued to display the value from when the filter was first added

  • Fixed not being able to make a FieldArrayGrid type field readonly using metadata.

  • Fixed not being able to make ResidentGridCollections readonly using metadata.

  • Fixed catalogs not being hydrated at the tenant level on the first page render.

    • This fixes an issue where some dropdowns were not populating.

  • ActionListGridImport now gets contextParams from props instead of initializing them as empty.

    • This fixes an issue where imported entities were created with incorrect tracking details.

  • Fixed the Category and Menu Search pages not displaying results correctly. Added column classifier from metadata headers to be included as grid headers.