web-styles
2025.3.0 (2025-11-06)
Added
- (struts) Added methods and @anchors on
StrutsAgentto convert to and from API entities. - (jaxrs) Added @anchors on
JaxRsAgentto add additional conversions.
Changed
- (struts)
StrutsActionsnow first convert the input (as details) through the agent before submitting.
2025.2.2 (2025-10-21)
Fixed
JaxRsAgentdid not send JSON:API resource type onPOST/PATCHfor a REST resource.JaxRsAgentdid not send JSON:API resource identifier onPATCHfor a REST resource.
2025.2.0 (2025-10-07)
Changed
- Changed linkFieldInput tags to work on Field.
- Options
view.knockout.linkFieldInputandlegacy.view.knockout.forceStruts2now cascade toField,DataCommandandConnectorField
2025.1.1 (2025-08-27)
Fixed
- Correct usage and implementation of
mapDetailToFormFieldsinFinderMapperExpanderto includefieldOptionsparameter.
2025.1.0 (2025-07-31)
Changed
knockout-jaxrs-stdapi-expandersis now a symbiotic dependency inweb-styles.- Updated
expanders-coreto version8.2.4. - Updated TinyMCE to version
6.8.6.
2025.0.0 (2025-07-07)
Added
- groupBy parameter to field-model + parsing logic in form-model to facilitate unwrapping of nested data structures
- support for error handling in nested data structures in nsx-forms
- extracted detail-model-to-form-model mapping logic to separate function and added support for nested data structures
- default anchors around fields in
- InstanceFormHtmlExpander
- InstanceFormJsExpander
- InstanceModelJsExpander
- InstanceViewHtmlExpander
- ListHtmlExpander
- KoDetailHtmlExpander
- KoFormHtmlExpander
- KoListHtmlExpander
- KoMapperJsExpander
- SortingJsExpander
- FinderFormExpander
- FinderMapperExpander
Removed
<customAnchor/>definitions in FinderMapperExpander
2024.8.1 (2025-02-20)
Changed
- Updated Expanders dependency to 8.0.5 to fix issue with SNAPSHOT dependency.
- [VEGA-399] Moved
WebStylesDirectoryCopierSteptoafter-expansionto fix issue. - [VEGA-399] Moved
WebStylesCopierReportExpandertoafter-overlay.
2024.7.0 (2024-10-16)
Changed
- [NSX-425] Added support for collection link fields in knockout UI with jaxrs-standard-api.
2024.6.1 (2024-09-12)
Fixed
- Use
maven.groupIdoption to determine application level packageName. - [NSX-522] Fixed issue with login page when using the combination JAX-RS Standard API and Struts to render pages.
- Do not use jQuery bundled with TinyMCE to load TinyMCE.
- Fixed id for TinyMCE field to avoid the knockout binding from randomly failing.
Changed
- Updated TinyMC from
6.8.1to6.8.4. (CVE-2023-6378,CVE-2024-38357,CVE-2024-38356) - Enabled
convert_unsafe_embedsin TinyMCE.
2024.6.0 (2024-09-09)
Added
- Added
after-login-optionsanchors on the login pages after additional login methods.
Changed
- Updated TinyMCE to
6.8.1. (CVE-2024-29881,CVE-2024-29203,CVE-2024-38357,CVE-2024-38356)
2024.5.0 (2024-08-09)
Changed
- [NSX-449] Changed implementation for HTML pages to use expanded servlets, which can manage authentication and authorization.
Fixed
- [NSX-511] Fixed issue with pagination caused by NaN values.
- Fixed issues in nsx/menu causing user and account pages to break.
2024.4.2 (2024-07-08)
Fixed
- [NSX-490] Fixed pagination offset issues by forcing all agent implementations to always use 0-based pagination.
- Fixed a number of issues with the linkfieldInput binding, which is enabled by default with JAX-RS:
- Fixed console errors caused by trying to retrieve
findallfinder instead of the actual findall finder. - Correctly implemented disable for linkfieldInput. Parent fields should now be correctly disabled in child forms.
- Fixed error breaking pagination for multi-select picklists.
- Fixed undefined errors caused by selection being undefined.
- Fixed finder button not showing.
- Fixed console errors caused by trying to retrieve
- Improved error handling in JAX-RS agent:
- Prevent find requests if page is
NaN, which would often cause an infinite loop. - Check content-type of error response. If it is not json, default to
something went wrong. This should fix the UI breaking when a response returns an html body.
- Prevent find requests if page is
- Map
ns:labeltonameif no name is present in jax-rs agent, fixing issues with empty dropdowns and empty select fields. - Fixed expander comment and basic html properties for index.html
2024.4.1 (2024-06-17)
Fixed
- Fixed same infinite refresh in multi-select picklist when using
view.knockout.linkFieldInputwith JAX-RS standard api.
2024.4.0 (2024-06-14)
Added
- Added
perform(command)method to javascript agent. - Added
getAgent(element)method tonsx-agent, an async method which returns the expanded agent class or the old implementation if the former is not available. - Added
(create|modify|delete)-beforeanchors to the JAX-RS javascript agent.
Changed
perform-command-actionnow uses expanded agent class if available.
Fixed
- Fixed
deleteInstance()andgetProjection()on JAX-RS javascript agent not taking into account that the id of an instance could be a number. - Fixed infinite refresh in picklist when using
view.knockout.linkFieldInputwith JAX-RS standard api.
2024.3.2 (2024-05-21)
Fixed
- Fixed issue where changing the focus using tab jumps over fields of type markupString
2024.3.1 (2024-05-16)
Fixed
- [NSX-475] Fixed tag on KnockoutToJaxrsClient, which caused the Feature to apply to Struts as well, in turn causing issues with features like assets.embeddedUpload.
- [NSX-328] Automatically close dropdowns when opening other dropdowns.
2024.3.0 (2024-05-13)
Added
- Added new
knockout-jaxrs-stdapi-expandersexpansion resource that contains core expanders to enable the Knockout UI to integrate with the standard JAX-RS API.
Changed
web-stylesis now a stack resource and the original contents have been moved toweb-styles-expanders.
2024.2.0 (2024-04-26)
Added
- linkFieldInput binding:
picklist.displayFieldscan now contain objects{ name: 'someField', displayFunction: (item) => '...'}to change how fields are shown in the picklist.
Fixed
- [NSX-390] Fixed disabled field for data-picker data-binding, which is used by the timezone fix.
2024.1.1 (2024-04-16)
Added
- [NSX-460] Added logic to pages to refresh tokens when using OIDC tokens to authenticate.
Fixed
- Fixed duplicated custom code in login JSP files
2024.1.0 (2024-04-08)
Changed
command-button-builder#define{*}Button()now has a new optionrequiredAccessRight. The button no longer checks for access-rights if the option is not defined. To keep the behaviour the same, therequiredAccessRightshould be equal to thenameoption. However, keep in mind that since version 2024.0.4, undefined access-rights are rejected.
2024.0.4 (2024-04-03)
Added
- Added features to expose static files and pages with the option
experimental.control.web.defaultServlet. - Added HTML alternatives to replace JSP files when we cannot rely on Struts2 to render the JSP files.
- Added OIDC implementation that logs in to the OpenId issuer and uses the resulting token to authenticate each request.
Fixed
- Added compatibility script for logic where JqXHR objects were replaced with Promise objects.
Changed
- Merged several expanders for login, relogin and duplicateSession jsp files.
- Access-rights now uses app-actions, and rejects action right requests which are not defined.
2024.0.2 (2024-03-21)
Fixed
- Fix error on login screen if there is no login screen (e.g. with OpenID Connect)
2024.0.1 (2024-03-18)
Changed
- [NSX-453] Changed the condition for using the new pagination. It now activates only when the standard JAX-RS API is
used or if the option
experimental.view.pagination.v2is added.
Fixed
- [NSX-453] Fixed broken pagination for Struts backend by activating compatibility feature in agent.js.
2024.0.0 (2024-03-15)
Added
- [NSX-285] Added implementation for pagination that makes use of links provided by JAXRS api.
Changed
WebStylesDirectoryCopierStepnow also works without presentationSettings- 'items' in pagination is now translated to 'artikelen' in Dutch
- web-styles javascript files now require
es6 - [NSX-442] Static files are now copied to
view/gen/*instead ofstruts/
2023.2.1 (2023-11-09)
Changed
WebStylesDirectoryCopierStepwas changed to only copy web-styles ifVIEW_LAYERis present in the program type.- Updated expander dependencies:
net.democritus:Expanders:5.38.1 -> 5.39.0net.democritus:prime-core:2023.9.2 -> 2023.9.3
2023.2.0 (2023-11-08)
Added
- Added icon for ForgeRock to show on login page.
Changed
- Updated expander dependencies (minimum version) to address security vulnerabilities:
net.democritus:Expanders:5.21.1 -> 5.38.0net.democritus:prime-core:2023.2.2 -> 2023.9.2net.democritus:prime-data:2023.0.3 -> 2023.1.2
Fixed
- [VEGA-314] Fixed maven build warning around war-default-timestamp
2023.1.2 (2023-05-17)
Fixed
- Fixed formatting in data-picker data-binding and set default datetime format to
dd-MM-yyyy HH:mm:ss
2023.1.0 (2023-04-20)
Added
Added Application option view.date.fixTimezone. This fixes some inconsistencies regarding timezones:
- It provides a better time format to struts, so that timestamps in json include the correct timezone.
- It replaces the input and display knockout bindings with bindings that can display times in local time.
- It also provides the option
valueType.date.utc, which you can add to a new timestamp valueType. This option changes the behaviour to always display the values in UTC.
2023.0.5 (2023-04-07)
Fixed
linkfieldInputbinding now properly updates if the parameters are observable.
2023.0.3 (2023-03-23)
Changed
- Updated jquery
3.6.0=>3.6.4 - Updated moment-js
2.29.1=>2.29.4 - Updated pubsub-js
1.9.3=>1.9.4 - Updated tinymce
5.2.1=>5.10.7
2023.0.2 (2023-02-23)
Changed
- Changed fieldTypes.js to expander to automatically create list of builtin types.
- Reverted changes to fieldMarkupBuilder.js
2023.0.0 (2023-02-01)
Fixed
- Added missing versioning of require for
scripts-before.jspf.
Changed
- Updated prime-core 2023.0.2
Removed
- Removed deprecated ValueFieldTypes, which were no longer supported or even caused errors on expansions:
IntSpinnerLongSpinnerStringDateStringLinkStringMail
2022.4.3 (2022-10-17)
Added
- Added an option to nsx-notification to add a close button to the notification
Fixed
- Added missing favicon in
header.jspffor old UI
2022.4.2 (2022-09-14)
Fixed
- [NSX-310][richText] Fixed issue with editor keeping old values
- [VEGA-221] Changed nsx-form.js to also attach errorMessages to custom ValueFieldType fields
2022.4.1 (2022-06-22)
Fixed
- Fixed shortcuts not triggering because tag-names were checked in lowercase
2022.4.0 (2022-05-30)
Changed
- Updated 3rd party dependencies in expanders project (not in expanded code):
- Libraries:
commons-io:commons-io:2.6 -> 2.11.0(2.6has known vulnerabilities)
- Maven plugins:
org.apache.maven.plugins:maven-jar-plugin:3.0.2 -> 3.2.2org.apache.maven.plugins:maven-resources-plugin:2.7 -> 3.2.0org.codehaus.mojo:build-helper-maven-plugin:3.0.0 -> 3.3.0
- Libraries:
- Updated NSX Maven plugin in expanders project (not in expanded code):
net.democritus.maven.plugins:expanders-maven-plugin:2021.5.13 -> 2022.1.6
- Updated expander dependencies (minimum version) to address security vulnerabilities:
net.democritus:Expanders:5.1.0 -> 5.9.3net.democritus:prime-data:2021.3.1 -> 2021.3.8net.democritus.metamodel:metamodel-stack:4.1.1 -> 4.7.3
2022.3.1 (2022-05-16)
Fixed
- Fixed bug in data-download-action resulting in undefined error
Changed
- Updated typescript
3.9.10=>4.6.4
2022.3.0 (2022-03-16)
Added
- [NSX-221] Added support for multiselect picklist to
linkfieldInputbinding
2022.2.0 (2022-02-25)
Added
- Added option
sizeto popup, which can be set tolargeto make the popup bigger. - [command-button-creator] Added messages from successful Commands to the notification popup
- [command-button-creator] Fixed issue with ButtonType SINGLE_INSTANCE when the table does not support multi-select
2022.1.0 (2022-02-17)
Added
- [NSX-214] Added possibility to add
jsToFormModelmethod to finder mapper to add additional options to the viewModel of the finder form. (e.g. options for thelinkfieldInputbinding) - [NSX-224] Added optional parameters
searchMethodanddetailstodata-download-action.tsto provide search parameters when exporting data.
2022.0.0 (2022-02-07)
Added
- Added
command-button-creatorto add buttons to execute commands in various ways
2021.2.16 (2022-01-21)
Fixed
- Fixed missing oxide skin for tinymce
- [linkfieldInput] Fixed select not showing selected value if selected value is not part of finder result
2021.2.15 (2022-01-18)
Changed
- [NSX-197] Only load instances when tab in waterfall is visible, and hence a parent element is selected, to reduce page load.
2021.2.14 (2022-01-12)
Fixed
- [NSX-174] Fix clear button on selectDependent
- [NSX-204] Added default minimum input length of 1 to trigger autocomplete, fixed some issues with autocomplete
Changed
- [Old UI] Use
nsx-navbar-static.cssby default, since it is less buggy. (There is a patch optionwebstyles.patch.navbar-fixedto revert this)
2021.2.13 (2022-01-04)
- Revert changes to nsx-navbar-fixed, since it can be replaced with
nsx-navbar-static.css
2021.2.12 (2022-01-04)
Re-release 2022.2.11
2021.2.11 (2022-01-04)
Fixed
- [NSX-204] Show the correct field in the dropdown menu when
displayFieldis enabled for the experimental linkfield. - [NSX-204] Show the correct item when observable is changed for the experimental linkfield.
- [NSX-204] Apply bindings to the selected finder correctly for the experimental linkfield's picklist.
- [NSX-204] Fix overlapping text in the case of long display fields for the experimental linkfield.
- [VEGA-208] Fix several require statements in old js files
Changed
- Change
nsx-navbar-fixed.cssto fix issues with responsiveness
2021.2.10 (2021-12-13)
Fixed
- Downgraded TinyMCE to 5.2.1, because the latest version causes issues
- Change build to not use
npm install, which resulted into libraries being updated automatically, without being checked
2021.2.8 (2021-12-06)
Fixed
- [NSX-201] Fixed loading for nsx-knockout-utils.js and nsx-interaction-model.js
Added
- [VEGA-202] Added patch option
webstyles.patch.command-field-typesfor reverting changes in fieldTypes.js
2021.2.5 (2021-11-24)
Fixed
- [NSX-198] Fixed tabs to always select the first tab on visibility changes until the user interacts with the tabs. From then on, the selected tab is preferred.
2021.2.4 (2021-11-16)
Changed
- [NSX-189] LinkFieldInput will now by default include the
more...option to show a picklist. In this case, the displayFields of the picklist will be based on the displayField of the dropdown. Setdropdown.includeMoretofalseto disable it.
Fixed
- Fixed an issue where selecting none in a linkFieldInput with autocomplete would not actually set the value, but error out.
2021.2.1 (2021-10-22)
Added
- [NSX-192] Added support for
finderDetailson autocomplete in newlinkfieldInputbinding - [NSX-189] Added support for
displayField: "dataRef"in newlinkfieldInputbinding - [NSX-189] Changed default finder to
findAllin newlinkfieldInputbinding
2021.2.0 (2021-10-20)
Added
- Support for the general OpenID Connect implementation added to base-components 2021.4.0.
Removed
- Removed support for the proprietary Google authentication implementation for OpenID Connect.
Fixed
- [NSX-120] access-rights.js: Update
approvedvariable before triggeringgranted - Fixed
webstyles.patch.unminifyoption
2021.1.1 (2021-09-24)
Changed
- Updated build to use latest metamodel expansion
- Updated Expanders dependency 4.5.0 -> 5.1.0
- Removed dependencies on elements layers (replaced with prime-core)
2021.1.0 (2021-09-22)
Added
- Added knockout binding for selecting linkFields:
linkfieldInput: Inserts an<input>with autocompletion and picklists. Designed to replace selectDataRef in the near future.
- Added support for bulk delete in knockout v1 (NSX KNOCKOUT OG)
Changed
- RequireConfig.js is now expanded by default
- Nsx js files are now minified. Add ApplicationInstance option
webstyles.patch.unminifyto instead expand original unminified files. - Cleanup of
js/libdirectory, excluding several unused files - requireConfig's
urlArgschanged from''to'v=${build.cache.version}'- this is filtered by maven with a current datetime (in format
yyyyMMddHHmmss) - can be overridden from root pom, or via command line by explicitly setting
build.cache.versionproperty
- this is filtered by maven with a current datetime (in format
- dataElement's perform command is no longer executed synchronously [NSX-182]
- page should keep active tabs active instead of always selecting the first one [NSX-173]
- renamed default favicon from
pageIcon.icotofavicon.ico
Fixed
- Fixed instance-id only replacing the first whitespace character
- Added some missing builtin valueTypes to fieldTypes.js (note: the observableInstanceBuilder is not actively supported)
Removed
- Removed obsolete/unused jqplot and all associated/dependent code
- for custom code loading compatibility, several empty files (
requireConfig-jqplot.js, etc.) are preserved
- for custom code loading compatibility, several empty files (
2021.0.4 (2021-06-07)
Fixed
- Removed
Helveticadefault fonts fromnsxbootstrapandnsxskeletonas changes to access of system fonts in Firefox 89 may cause issues when the entire font family is not present. - Packaged
Ralewayfont with webstyles.
2021.0.2 (2021-02-22)
Fixed
- Add patch to revert change to
tagValue.jsinv2021.0.0. Can be activated with applicationInstance optionwebstyles.patch.tag-value-search.
2021.0.1 (2021-02-10)
Fixed
- The contents of
duplicateSession.jspwere expanded overlogin.jspfor thensxbootstraptheme.duplicateSession.jspis now expanded correctly.
2021.0.0 (2021-01-14)
Fixed
- tagValue.js now uses modern search api, so that it does not break with expanders 4.12.0 (where searchDataRef methods are no longer included by default)
2020.7.1 (2020-11-27)
Added
- Use translation in pageSize-picker
- Provide translations for bulk delete
- Allow format() to be used in combination with translate() (e.g.
format(translate('my.message'), { ... })). In this case, escape the{}characters in the properties files by adding single quotes (e.g.'{'count'}')
2020.7.0 (2020-11-24)
Added
- Added multiselect-list-view
- nsx-knockout-bindings is now an expanded artifact with a feature and custom anchor
- Added clickCombination ko binding that allows you to bind different callbacks for clicking in combination with holding
ctrl,altorshift:<div data-bind="clickCombination: {
base: doX,
ctrl: doY,
alt: doZ
}">
...
</div>
Changed
- Refactored project structure to better allow unit testing
Changed
- Updated jquery v3.4.1 => v3.5.1
2020.6.6 (2020-10-09)
- Updated nsx-parent 2019.5 -> 2020.9.1
2020.6.5 (2020-09-24)
- Set nsx-shared-testing to test scope
2020.6.4 (2020-09-24)
- merged 2020.5.x branch
2020.6.3 (2020-08-05)
Fixed
- Fixed isApplicable condition on stylesheet expander for nsxskeleton layout
2020.6.2 (2020-08-04)
- cherry-picked fix from 2020.5.2
2020.6.1 (2020-07-17)
Fixed
- Implicit option refactor in base-components bundle was not refactored in web-styles, causing some parts of files not to be expanded correctly.
2020.6.0 (2020-07-16)
Fixed
- Renamed
attachment-generic-*icons toattachment-generic-*.
Added
- You may expand requireConfig.js with option
webstyles.require.expandconfig. this will replace the static requireConfig file and provide harvest and feature anchors. - The option
webstyles.require.bustcachewill insert the application version as extra argument to each requirejs call, so that changed files will be automatically reloaded. - Support for Google Authentication in both the
nsxbootstrapandnsxskeletonstyles when thebaseComponents.authentication.enableGoogleAuthoption is found on the ApplicationInstance. - Support for Google Authentication in both the
nsxbootstrapandnsxskeletonstyles when thebaseComponents.authentication.disableInternalAuthoption is found on the ApplicationInstance.
Changed
login.jsp,relogin.jspandduplicateSession.jspfiles have been converted to expanders with several anchors in both thensxbootstrapandnsxskeletonstyles.- The
nsxbootstrapandnsxskeletonstyles have a newly designed login page.
2020.5.3 (2020-08-25)
Fixed
- Fixed race condition in dropdowns that could lead to a locked dropdown menu and confused tests
Added
- Added mechanism for patches
- Created patch to convert
<span>tags with icons back to<i>tags, activated with the applicationInstance optionwebstyles.patch.icon-tags - Web-styles will now generate a report file in the root expansion directory that shows the web-resources, layout-resources and patches that have been installed.
- Patches are applied before layout-resources, preventing overlap with layouts. This means that any patch does not work if a layout overwrites a file patched by a web-styles patch.
2020.5.1 (2020-07-07)
Changed
- Web-styles now depends on elements 2020.6.7 and expanders 4.5.0. This will force users to update to these versions in their projects, but will make web-styles buildable for the NLBD.
- This version is functionally equivalent to 2020.5.0
2020.5.0 (2020-07-02)
Added
- Created
entershortcut to submit dialogs toglobal-shortcuts.js - ApplicationInstance option
webstyles.shortcuts.globalwill activate global shortcuts on each page
Fixed
- Fixed an issue where nsx-forms was trying to modify a boolean value
2020.4.0 (2020-05-29)
- Updated dependencies
2020.3.5 (2020-05-27)
Fixed
- Fixed issues related to the recent switch to strict mode for JS
- Duplicated jqplot css files to dist subdirectory until expanders and custom code is migrated
2020.3.2 (2020-05-04)
Added
- Added html view to StringLong editor
Fixed
- Fixed jqplot JS require paths
- Fixed accessRights canCreate being mapped to canEdit
2020.3.1 (2020-04-29)
Changed
- Convert
<i/>tags to<span/>for icons because this can cause issues with duplicated icons
2020.3.0 (2020-04-24)
Changed
- Web-styles are now an expansion-resource
- richText.js now uses tinyMCE version 5.2
2020.2.0 (2020-04-10)
Fixed
- An issue with csrfSecurity in combination with a file upload has been fixed
Changed
- Knockout has been updated to 3.4.67
- JQuery has been updated to 3.5.1
Removed
- Several js files that were added for a refactoring, but never used, have been deleted.
- Common directories for struts and cocoon have been removed as they are no longer used or supported by the expanders