Skip to main content

angular-stack


4.2.0 (2024-01-11)

Added

  • Added ngx-ns-core version 0.0.2
  • Added net.democritus.test:expanders-assert: 0.1.4

Refactored

  • Started refactoring tests to expanders-assert
  • Breadcrumbs refactored. Breaking change: in routing change name and isBreadcrumb data entries to breadcrumb. The former is replaced by breadcrumb and the latter has become obsolete.
  • Styling setup. Breaking change: _theme-to-material-component-exposer.scss has been replaced with _theme-to-component-exposer.scss. Material expose mixin _theme-to-css-classes-exposer.scss has been deleted. Behaviour can be re-added custom if wanted.
  • Changed to Material symbols instead of Material icons. Introduced the option legacy.iconFont.enabled to allow gradual change.

Changed

  • Rejuvenations:
    • net.democritus.metamodel:nsx-metamodel-stack: 2023.9.1 -> 2023.12.0
    • net.democritus:prime-data: 2023.1.2 -> 2023.2.2
    • net.democritus.metamodel:prime-metamodel: 2023.9.1 -> 2023.12.0
    • net.democritus.model:model-builder-expanders: 2.2.3 -> 2.3.0
    • net.democritus.maven.plugins:expanders.maven.plugin: 2023.7.0 -> 2023.8.3
    • net.democritus:Expanders: 5.37.5 -> 6.2.2
    • net.democritus:rest-jaxrs-stack: 3.33.0 -> 4.8.0
    • net.democritus:querysearch-expanders: 2.20.0 -> 2.22.0
    • net.democritus:base-components-model: 2023.14.2 -> 2023.14.5
    • net.democritus.metamodel:prime-core: 2023.9.1 -> 2023.10.1
    • net.democritus.model:modelTransmutations-core: 2.2.3 -> 2.3.0
    • com.fasterxml.jackson.core:jackson-databind: 2.15.3 -> 2.16.1
    • org.apache.maven.plugins:maven-surefire-plugin: 3.2.2 -> 3.2.3
    • net.democritus.validations.model:validations-core: 3.3.2 -> 3.4.1
  • Updated layout component:
    • Updated sidebar component to new design
    • Updated header component to new design
  • Updated alert component
  • Updated login screen to match with the designs
  • Added mobile-viewport mode for login screen
  • Changed PrettyPrinter config of .json5 to .json file conversion.
  • Upgrade to angular 17 and angular material 17

4.1.1 (2023-10-23)

Merged 4.0.13 into main branch.

Changed

  • Rejuvenations:
    • net.democritus:Expanders: 5.37.3 -> 5.37.5
    • net.democritus:base-components-model: 2023.14.0 -> 2023.14.2
    • net.democritus.maven.plugins:nsx-versions-maven-plugin: 2023.1.2 -> 2023.2.0
    • net.democritus:querysearch-expanders: 2.18.0 -> 2.20.0

4.1.0 (2023-10-17)

Changed

  • Refactored styling:
    • Added 2 extra expanded folders: layout and pages
    • Changed src/styles.scss to src/styles/main.scss
    • Refactored content of original styles.scss to better follow the '7-1 file system' pattern.
  • Upgrade to angular 16:
    • Upgraded package versions.
    • Changed AuthGuard implementation to follow new 'Functional router guards' guidelines.
    • Removed polyfills.ts file, zone.js is now added in the angular.json file.
    • Removed .browserlistrc file, a default is used. When this needs to be different, you can add it as an ext file.
    • Removed @angular/flex-layout implementation with regular css flex.
    • Used legacy version of Angular Material components. !IMPORTANT!: Reasoning for this is, we will redesign everything in the next release, meaning that a temporary upgrade of components would be wasted resources. Caution, when using this release you should use legacy Angular Material components in custom code!

4.0.13 (2023-10-23)

Fixed

  • Added trailing comma to NgxTranslate package.json FeatureExpander.

4.0.12 (2023-10-17)

Fixed

  • Fixed nullpointer in stg file of ModelTsExpander.
  • Made DataConnector expanders only look at Ln02 LinkFields.

Changed

  • Rejuvenations:
    • net.democritus:Expanders: 5.37.1 -> 5.37.3
    • com.fasterxml.jackson.core:jackson-databind: 2.15.2 -> 2.15.3
    • org.jacoco:jacoco-maven-plugin: 0.8.10 -> 0.8.11
    • net.democritus:rest-jaxrs-stack: 3.31.0 -> 3.33.0

4.0.11 (2023-10-13)

Fixed

  • Fixed angular.migration.filter option to be able to use LN02 fields correctly. Retrieve String SimpleValueType from DataRegistry instead of creating a new one that is missing the needed NativeTypes.
  • Removed canExecute check in write manifest file test. This check is OS dependent and actually does not add value.

Changed

  • Rejuvenations:
    • net.democritus:Expanders: 5.36.5 -> 5.37.1
    • net.democritus.model:modelTransmutations-core: 2.2.2 -> 2.2.3
    • net.democritus.maven.plugins:expanders.maven.plugin: 2023.6.0 -> 2023.7.0
    • net.democritus.metamodel:prime-core: 2023.8.0 -> 2023.9.1
    • net.democritus:base-components-model: 2023.12.0 -> 2023.14.0
    • net.democritus:rest-jaxrs-stack: 3.29.1 -> 3.31.0

4.0.10 (2023-10-06)

Fixed

  • Resolved issue when functionalKey has 'name' as value.

4.0.9 (2023-10-05)

Fixed

  • Fixed infinite error loop for http errors.

4.0.8 (2023-10-05)

Fixed

  • Fixed inconsistent naming of formGroup in list page.
  • Fixed isRequired issue.
  • Temp fix for DataElementModel fill in create and edit submit.

Changed

  • Rejuvenations:
    • NSX Metamodels and Expanders: 5.36.4 -> 5.36.5

4.0.7 (2023-10-03)

Fixed

  • Fixed broken oidc auth implementation.

Changed

  • Refactored auth module: removed auth routing and regular module. Instead now the login component is standalone and for oidc a module is added that handles oidc implementation.
  • Made CopyImagesStep synchronized and added better FileSystem check.

4.0.6 (2023-10-02)

Fixed

  • Deprecation warnings.
  • Name check of AngularApp now also checks if isAsciiAlphaNumeric.

Changed

  • Added quality of life improvements to Jenkinsfile.
  • Refactored expansion/harvest code. Added root as ext folder with depth 1.
  • Made manifest artifacts.xml read-only.
  • Rejuvenations:
    • net.democritus:base-components-model: 2023.11.0 -> 2023.12.0
    • NSX Metamodels and Expanders: 5.36.3 -> 5.36.4
    • net.democritus:rest-jaxrs-stack: 3.29.0 -> 3.29.1

4.0.5 (2023-09-26)

Fixed

  • Corrected baseUrl of HttpService to camelCase of AngularApp name.

Added

  • Added rule that checks if AngularApp is kebab-case of Application name.
  • Support for string[] filter type in HttpService.

4.0.4 (2023-09-25)

Changed

  • Upgrade transmutation is now called UpgradeToAngularProject, it also has added functionality concerning angular.migration.filter option and naming op elements.
  • Updated validations concerning naming: FeatureModule and AngularApp need to be kebab-case.
  • Altered angular.auth.basic.enable and angular.auth.oidc.enable options to angular.basicAuth.enable and angular.oidcAuth.enable respectively. This was needed for the upgrade transmutation. The old options are still active on Application but deprecated.

4.0.3 (2023-09-22)

  • Added transmutations:
    • Upgrade: Run on Application element. Creates for every DataElement with a angular.model or angular.view option, a MetaModel setup with a DataConnector and a DataConnector with DataView respectively. It creates FeatureModules based on packageName of the DataElement in question, e.g. org.normalizedsystems.users will become the FeatureModule users. If this contains a already existing predefined module name (core, shared, auth, translation) it takes the Application shortName.
    • AddDefaultAngularCrud: Run on DataElement. Creates a MetaModel setup with a DataConnector and a DataView. This is placed in the FeatureModule defined as described above.
  • Added validations:
    • <expansionResource name="net.democritus.angular:angularProjects-validation" version="4.0.3"/> can be added to enable the validations. This is also packaged in the stack.
    • AngularApp prefix should be kebab-case.
    • FeatureModule name should be kebab-case.
    • DataConnector name should be same as DataElement.
    • DataView name should be same as DataElement.

4.0.2 (2023-09-19)

  • Removed sonar build from stack deploy.

4.0.1 (2023-09-19)

  • Fixed malfunctioning jenkinsfile.

4.0.0 (2023-09-19)

  • Added metamodel support.
  • Changed expand and harvest logic to not use gen/ext folders anymore, but to use a manifest file containing all the expanded artifacts.
  • Changed expanded folder structure.
  • Refactored DataElementService.
  • Refactored table component.
  • Added backend support for filtering.
  • More small tweaks and refactorings.
  • Changed groupId to net.democritus.angular.

3.3.2 (2023-09-18)

  • Added custom anchors for allowedCommonJsDependencies in angular.json.

3.3.1 (2023-08-29)

  • [BUGFIX] Fixed dropdown components in add/edit/detail pages when no 'name' field is used.
  • Rejuvenation:
    • Expanders: 5.30.5 -> 5.32.0
    • Prime-core: 2023.5.3 -> 2023.5.4
    • Base-components: 2023.8.2 -> 2023.10.0

3.3.0 (2023-08-08)

  • [BUGFIX] Fixed front-end only expand when HyperLink is used in project.
  • Made tsconfig.json a json5 file.
  • Added custom anchor in tsconfig.json5.

3.2.0 (2023-07-11)

  • [BUGFIX] updated alertComponent scss to fix error, info, warn and success styles not being applied
  • [BUGFIX] updated contentProjection in multi-select-dropdown, this was missing from 3.1.4
  • [BUGFIX] ANG-33: added support for enteredAt and lastModifiedAt
  • [BUGFIX] Fixed front-end only expand when MarkupString is used in project.

3.1.4 (2023-06-23)

  • Added missing semicolon in basic AuthService.ts
  • [BUGFIX] Fixed contentProjection for mat-error and mat-hint in Dropdown, YesNoToggle and DatePicker.

MINOR BREAKING CHANGE:

Content-projection-identifiers have been changed to [matErrorContent] and [matHintContent], as the old identifiers [matErrors] and [matHint] do not represent the actual slot-function anymore.

Reasoning: Previous projection-slots did not behave like proper mat-errors and mat-hints. mat-error and mat-hint are forced to be a direct child of mat-form-field. But the old projetion just placed them inside the mat-form-field. Therefore, we have changed the setup such that the components use mat-error and mat-hint directly and have a contentSlot inside these elements, triggering the rename of the slots.


3.1.3 (2023-06-15)

  • Made frontend expand only possible again. Added base-components-model to dependencies.

3.1.2 (2023-06-13)

  • [BUGFIX] changed config.js script loading path to use absolute path instead of relative

3.1.1 (N/A)

  • Refactored oidc implementation to use the new Config construction. If no oidcIssuer, oidcClientId or oidcScope is given in the config.js, the application will still compile, but a white screen is shown. Following error will be seen in the console:
ERROR issuer  must use HTTPS (with TLS), or config value for property 'requireHttps' must be set to 'false' and allow HTTP (without TLS).

3.1.0 upgrade notes

  • To upgrade to the 3.1.0+ release, you will need to update your docker setup.
  • An example of the setup can be found in the demo-project
  • Here is an overview of the most important changes
    • Ensure that projectName>docker>frontend>entrypoint.sh contains the following:
    for FILE in /app/config/*; do echo "$(envsubst < $FILE)" > $FILE; done;
    mv /app/config/config.template.js /app/config/config.js
    • Ensure that projectName>docker>frontend>Dockerfile ends with the following:
    COPY entrypoint.sh /
    RUN dos2unix /entrypoint.sh
    RUN chmod +x /entrypoint.sh
    ENTRYPOINT [ "/entrypoint.sh" ]
    • You no longer need the older env.js file. You can delete it and remove it from your index.html

3.1.0 (N/A)

  • Added pretty print to output of json5.
  • Added translations to expanded components and pages.
  • Added custom anchors for module-imports.
  • [BUGFIX] support for valueTypes in ListHtml pages.
  • [BUGFIX] temp fix for dropdown entries (show 100).
  • [BUGFIX] use functionalKey for dropdown if name is not present.
  • [BUGFIX] made formControl empty string for link fields.
  • [BUGFIX] fixed kebab-case redirect for edit save.
  • [BUGFIX] fixed menu example to show title instead if name.
  • Added default logo's.
  • Reworked login page.
  • Made basic auth possible without custom code additions. Changed 'angular.auth.basic.enable' option to have a value, which is the endpoint used to do the login.
  • Altered docker environment substitution. No more is a window env subst in de environment.ts file recommended. Instead add docker substituted entries in de 'config.js' and 'config.template.js' files. Also alter the config.interface.ts interface to have typescripted variables. Use it in files as follows:
import {Config} from "~/config.interface";
declare let __config: Config;
...
__config.baseUrl

3.0.6 (2023-05-09)

  • [BUGFIX] Fixed table shortcomings
  • Added support for GET filter value on exposeRestField option for OutputModel.

3.0.5 (2023-04-26)

  • [BUGFIX] Fixed routing
  • [BUGFIX] Fixed login css
  • [BUGFIX] Fixed yes-no-toggle component being unable to use an initial value from the formControl
  • [BUGFIX] Split dual functionality in DropdownCompoment into separate DropdownComponent and MultiSelectDropdownComponent.
  • [BUGFIX] Fixed DropdownComponent being unable to use an initial value from the formControl
  • Refactored YesNoToggle and DropdownComponent to use translate pipe
  • Upgraded package-versions to latest Angular V14 compatible releases
  • Added anchors in app.module
  • [EXPERIMENTAL] MultiSelectDropdownComponent is considered experimental, as it lacks proper testing. Feedback or bugreports are welcome.

3.0.4 (2023-03-29)

  • [BUGFIX] Fixed yes-no-toggle component not passing the @Input color to the yes/no chips

3.0.3 (2023-03-14)

  • [BUGFIX] Added clean harvest functionality

3.0.2 (2023-03-13)

  • Authentication refactor: angular.auth.oidc.enable and angular.auth.basic.enable authentication options added for Application element
  • Model validation added to block use of both options at the same time
  • Added expansion step for automatic json5 conversion
  • Added extra anchors in angular.json5 and package.json5
  • Updated yes-no-toggle, datepicker and dropdown UI components. Dropdown now also have multiselect.
  • Added support for svgIcons in the menu
  • [BUGFIX] Changed TopBarComponent to look for logo in 'assets/ext/images' instead of 'assets/images'
  • [BUGFIX] Corrected Outputmodel to show linkFields for DataElements with the option angular.model
  • [BUGFIX] Added missing page query param to Pagination

3.0.1 (N/A)

  • ngx-translate added
  • [BUGFIX] ReferenceModel duplicate name field fix

3.0.0 (N/A)

  • refactored to angular material approach. See it as a big reset.

2.3.1 (2022-08-05)

Fixed

  • Corrected usage of functionalKey option in the expander mappings.

2.3.0 (2022-01-10)

  • translations_default.ts: Add some default translations for buttons, notifications, texts
  • TableControlComponent: Fix styling

2.2.0 (2021-12-30)

BackendConnectorService

  • Fix anchor name
  • Remove unused fields and methods

SelectDropdown

  • Only display maximum 5 options in the dropdown

AppRoutingModule

  • Remove route to PageNotFoundModule

PageNotFound

  • Do not expand this component anymore

package.json

  • Remove keycloak packages: keycloak-angular and keycloak-js. For application that uses those packages, please create a package.json overlay file

SearchComponent

  • Change button to link => allow 'Open in new tab'
  • Pass pagination from ListComponent to SearchComponent instead of just pageSize

LinkButtonComponent

  • Add expander for this Angular component
  • This is a link element that looks like a button

[DataElement]ListComponent

  • Change some buttons to links (use LinkButtonComponent instead of ButtonComponent)
  • Removed methods:
    • buttonNames()
    • goTo[DataElement]DetailPage() (with custom anchor: anchor:custom-go-to-detail-page)
    • goToAdd[DataElement]Form() (with custom anchor: anchor:custom-go-to-new-page)
    • goToEdit[DataElement]Form() (with custom anchor: custom-go-to-edit-page)
  • Removed custom anchors:
    • anchor:custom-new-button-click-handler
    • anchor:custom-detail-button-click-handler
    • anchor:custom-edit-button-click-handler

[DataElement]AdvancedSearchComponent

  • Change a button to link (use LinkButtonComponent instead of ButtonComponent)
  • Removed methods:
    • buttonNames()
    • goTo[DataElement]DetailPage() (with custom anchor: anchor:custom-go-to-detail-page)
  • Removed custom anchors:
    • anchor:custom-detail-button-click-handler

[DataElement]DetailComponent

  • Change a button to link (use LinkButtonComponent instead of ButtonComponent)
  • Removed methods:
    • buttonNames()
    • goToEdit[DataElement]Form() (with custom anchor: anchor:custom-go-to-edit-page)
  • Removed custom anchors:
    • anchor:custom-edit-button-click-handler

2.1.0 (2021-12-08)

AdvancedSearchComponent

  • Add method statusCssClass back to advanced-search.component.ts expander (must have been deleted by accident before)

2.0.0 (2021-11-18)

  • Do not use Angular runtime anymore

1.0.0 (2021-04-29)

  • Initial version, containing Angular expander and angular runtime