- Variants Support in the Designer. If you use the latest Boostrapcomponent 2022.12 or higher, you enabled variants for certain components (for now button and labels). If you create a new solution in the media there is now a default "variants.json" file, which describes for what category there are special variants. So for a label or button we now have a few default variants. Variants are a set of classes, so you can have something like "btn", "btn-success", "btn-lg", "font-weight-bold" which is then a specific button that has those classes by default. (the other styleClass defaults are removed). Bootstrap Button/Label now have a "variants" property which is filled in with the variant name when you DnD a variant on the form. This value dictates at runtime what classes should be set by default. this also means that if you change a variant later on, that this will reflect all buttons that have that variant setin that property. This way a designer can introduce a certain set of wanted UI for Buttons and Labels that can then be used by other developers so you get a consistent LnF through the application. This Variants are configured in a module! (because also the less/styling is configured at that level). So if you want to use variants and the styling, make sure that variants and the default solution styling is really configured in a module that other modules then will depend on. So if you only have "variants.json" in your main solution, the modules of that solution will not see this. You need to move the variants and also all the styling to a module (so the default set of less files, including the theme) And the module should just have that as its style class, and the main solutiojn doesn't have to have it then configured in its style class.
- databaseManager.disableRelatedSiblingsPrefetch: disable the prefetch that we do for relations and then siblings, so order -> order lines, when disabled we don't query other orderlines related foundsets based on different orders (siblings) then the order you ask it for.
- application.clearUserProperties(): clears all users properties at once, (these are stored for ngclient in the local storage of the browser)
- added ViewFoundset.getName()/duplicatFoundset()/getRecordIndex(ViewRecord) api to be more in line with a normal JSFoundset api.
- ViewFoundset columns now really return the resulting columns instead of the underlying database columns (https://support.servoy.com/browse/SVY-17462)
- ECMA improvements, added Arrays.xxxx functions and also introduced Map and Set objects.
- CSP.form-action is now also an overridable action on the admin page. If you want to post to another domain the "self"