v2.0.4
Key updates August 2024
CXBOX (Demo)
New version core
New version core CXBOX 4.0.0-M6
File API authorization
Added: File upload is now available only for authorized users. An authorization token is passed while uploading a single file or multiple files. Otherwise, file upload option will not be available. The same logic is applicable to file preview and file download processes.
Creating a Line in the InlinePickList Popup
Added: We have extended the possibility of creating a new line in picklist and inline-picklist fields. One can now create new row in picklist/inline-picklist during parent edit/creation process (Parent force save is not triggered anymore. As a result required fields do not block row creation in picklist anymore, parent changes can be correctly cancelled even after new row creation in picklist and so on). New special method for fetching parent DTO field with single line of code introduced
Tab functionality
Added: we added type tag for different tab schemas (just like field types and widget types). Default tab schema has type='standard' now. Few fixes in it:
1) Fixed: resolved an error that occurred when navigating between screens via a link to a related entity on the same screen
2) Fixed: the work of third-level tabs
3) Fixed: default display hidden view of the first level
We have added a restriction for displaying hidden views in navigation. Now, if a hidden view is specified in the metadata, it will not be displayed when the screen is opened. For the application to work correctly, the following rule must be observed: at each navigation level (aggregate or single), there must be at least one visible view.
Added fulltext search option in pop-up (pickListPopup and inlinePickList)
A search bar has been added.When the user types in the full text search input area, then widget filters the rows that match the search query (search criteria is configurable and will usually check if at least one column has corresponding value). This feature makes it easier for users to quickly find the information they are looking for within a List widget.
Other Changes
CXBOX 4.0.0-M6 (Core)
Creation of new record directly in Popup (picklist, inlinePicklist and so on)
- Added: abstractAnySourceResponseService and AbstractResponseService now have new method
getParentField(<PARENT_DTO>_.<parent_field>, bc)
to get Parent bc DTO field with single line of code - Added: support of creation new records directly in popups (picklist and so on) without force saving parent bc. AbstractAnySourceResponseService and AbstractResponseService can be used for this popups services with the only restriction -- one must use new method
getParentField
instead ofrepository.findById(bc.getParentIdAsLong())
to get parent values if needed - Fixed: BcStateAware now cleans cache only for exact bc (for user session), when terminal action request completed (instead of whole cache for user session)
LOV sorting in filter and edit dropdowns by display_order
- Added: java doc for
setDictionaryTypeWithAllValues
andsetAllFilterValuesByLovType
methods describing, that this methods sort items by display_order, then by key. Deleted duplication methodssetAllFilterValuesByLovTypeOrdered
andsetDictionaryTypeWithAllValuesOrdered
- Fixed:
setAllFilterValuesByLovType
method signature - redundant argument fields removed - Fixed:
setDictionaryTypeWithAllValues
method signature - redundant argument fields removed - Fixed: LOV dictionary loader : NOW: sorting items by display_order, then by key (display_order can be null) WAS: sorting items by display_order (display_order could not be null)
Other Changes
see cxbox changelog
CXBOX plugin
We've updated the plugin to version 1.7.5.
New. For new field code generation plugin uses setIfChanged
For new field code generation plugin uses setIfChanged single line mapping where possible
Fix. Generation of pickList/inline-pickList fields types unique name
For new field code generation of pickList/inline-pickList fields types plugin now generates unique name for popup corresponding classes
Fix. For new field code generation when you do not have DTO_ class
For new field code generation when you do not have DTO_ class (generated with maven plugin), then plugin auto generates DTO_ for you (also it will now automatically create auto generated sources folder in /target and add it as sources root to IDE)