Skip to content

2.0.7

Key updates October 2024

CXBOX (Demo)

Changed: Grouping Hierarchy widget - compact look

Hierarchies now expanded in a more compact way. If grouping fields are empty or contain a single item, the hierarchy displays as expanded by default, reducing unnecessary clicks.

groupingHierarchyCompactAfter.png)

groupingHierarchyCompactBefore.png

Added: Grouping Hierarchy widget - default hierarchy

You can now (optionally) provide default hierarchy structure, that will be displayed even, when widget has no data

defaultHierarchyOn.png

defaultHierarchyOff.png

If data is provided from backend, frontend merges it with the default hierarchy. Default hierarchy and all data from backend are guarantied to be shown

defaultHierarchyWithBack.png

defaultHierarchyOffWithBack.png

Added: Info widget - field title mode

We have updated the info widget display options for both single-column and multi-column layouts. You can now set titleMode to left or top in the settings. The default is left for backward compatibility

multiColumnTitleLeft.png

multiColumnTitleTop.png

Added: Money field - currency support

The Money field now supports currency. Constant currency value per widget field is supported in this release. Dynamic and editable currency value support will be added in next releases

moneyCurrency.png

moneyNoCurrency.png

Added: Checkbox field - placeholder support

We have added placeholder support for checkbox. The value set for placeholder will be displayed on the right next to the checkbox itself. Note that it will not disappear once you click on the checkbox.

checkboxPlaceholder.gif

Added: FormPopup widget - multiple popups support

It is now possible to set different FormPopup widgets for different buttons on the same bc/widget.

preInvokeWidgetsOnOneBc.gif

Changed: Checkbox field - uniformed look

We have improved the checkbox look by aligning it with other field types

Other Changes

see cxbox-demo changelog

CXBOX (Core Ui)

Changed: Actions logic when required fields are left empty

We have adjusted the logic of actions with withoutAutoSaveBefore() when required fields are left empty. Now, unsaved changes notification pop-up will appear.

buttonLogicAndRequiredFields.gif

Changed: Improved data loading logic for child components with hidden parent

We have adjusted the logic of loading data into child business components when their parent widget is hidden

showConditionHiddenParent.gif

Other Changes

see cxbox-ui changelog

CXBOX 4.0.0-M10 (Core)

Added: FieldMetaBuilder class - getParentField() method support

This update makes getParentField() method available in FieldMetaBuilder. We have also introduced a new method getBc() in FieldMetaBuilder and *ResponseService classes

Added: FieldMetaBuilder class - defaultGroupingHierarchy method support

Example 1: explicitly provided default hierarchy tree (grouped by two Enum fields document and then briefing):

fields.defaultGroupingHierarchy(
MeetingDocumentsDTO_.document,
MeetingDocumentsDTO_.briefing,
lvl -> lvl
  .add(
    Documents.POLICY,
    lvl2 -> lvl2
      .add(Briefings.PROJECT)
      .add(Briefings.SECURITY)
   )
  .add(
    Documents.COMPLIANCE
  )
);

Example 2: dynamically provided default hierarchy tree. Can be convenient, when default hierarchy structure is configurable through admin UI, so needed to be loaded from DB/microservice:

Map<Documents, Set<Briefings>> external = Map.of(
 Documents.REFERENCE, Set.of(Briefings.FINANCIAL, Briefings.PROJECT),
 Documents.POLICY, new HashSet<>()
);
fields.defaultGroupingHierarchy(
 MeetingDocumentsDTO_.document,
 MeetingDocumentsDTO_.briefing,
 lvl1 -> external.entrySet().stream().collect(Hierarchy.toHierarchy(
   Entry::getKey,
   (doc, lvl2) -> doc.getValue().stream().collect(Hierarchy.toHierarchy(brief -> brief))
  )
 )
);

Other Changes

see cxbox changelog

CXBOX plugin

We've updated the plugin to version 1.7.7. New version of Plugin is currently being reviewed by JetBrains and will be available in a few business days

Added: *.screen.json - inspection when "type" : "standard"

We have added inspections for screens that have explicitly set "type"="standard" in .screen.json. These include making sure each viewName is unique, detecting empty arrays. We have also improved view generation (triggered by + icon click)

Added: *.widget.json - auto-completion and navigation for actionKey

Previous plugin versions provided navigation for actions referenced in options->actionGroups of .widget.json. In this release we added same feature for actions referenced in options->buttons->actionKey tag of .widget.json used for files drag-and-drop configuration.

actionKey.gif

Added: *.widget.json - inspection for actionGroups location.

We have added an inspection for actionGroups tag in .widget.json to ensure it is located within options.

actionGroupsLocation.gif

CXBOX documentation

Added: PickListPopup widget - documentation article

We have added a description of PickListPopup.

Added: List, Form, Info Widget's - showCondition documentation article

We have added a full description of Show Condition and showCondition option for three main widgets (Form, Info, List).

Added: Money field - currency property section

We have added a currency property description in Money field.