* [ACS-10205]: updates base DataTableAdapter class with optional props
* [ACS-10205]: updates ShareDataTableAdapter with new props for focus handling
* [ACS-10205]: bind new focus props to template
* [ACS-10205]: uts update
* [ACS-10205]: uts refactor
* [ACS-10205]: fixes circullar deps
* AAE-40934 style: replace mat-raise-button with mat-flat-button
* AAE-40934 style: remove unnecessary color declarations from material buttons, rely on MD3 default primary button color
Implements the ability to close the dropdown list by pressing the Escape key.
This enhances the user experience by providing a keyboard shortcut to dismiss the dropdown, improving accessibility and efficiency.
* AAE-40359 Filter out service processes on start process
* AAE-40359 Filter out service processes on start process
* make triggerable optional
* make type more strict
* Replace shelljs with native node api
* Refactor command execution in audit and changelog scripts to use spawnSync for improved security and error handling
Adds the `quickRunDeployment` property to the `ApplicationInstanceModel` interface.
This allows the admin app to determine if an application instance is a quick run deployment, which is necessary to block upgrades and restores for those instances.
Relates to AAE-39821
* [ACS-10263] Exclude mark all as read button from menu items
* [ACS-10263] Keyboard navigation for notifications list
* [ACS-10263] Excluded load more button from screen reader list for notifications
* [ACS-10263] Excluded non list related elements from screen reading as list for columns visibility
* [ACS-10263] Unit tests
* [ACS-10263] Added readonly and private for constructor parameters
* [ACS-10263] Marked fields as readonly
* [AAE-37713] amount widget formats value based on locale
* [AAE-37713] added unit test with currency icon
* [AAE-37713] provided amount widget config as observable
* [AAE-37713] applied pr comments
* [AAE-37713] subscribed amount widget to changes from form rules
* [AAE-37713] applied pr comments
* [AAE-37713] moved getLocale to service
* [AAE-37713] moved getLocale to translation service
* AAE-39612 Remove click from base and add it directly to the implementations
* AAE-39612 Add unit tests for the Text Widgets
* AAE-39612 Add unit tests for the Date Widgets
* AAE-39612 Add unit tests for the UI Widgets
* AAE-39612 Add unit tests for the People Widgets
* AAE-39612 Add unit tests for the Display Text Widgets
* AAE-39612 Add unit tests for the Base Viewer Widget
* AAE-39612 Add unit tests for the Object View Widgets
* AAE-39612 Add unit tests for the File Upload Widgets
* AAE-39612 Add unit tests for the Data Table Widget
* [AAE-37713] amount widget formats value based on locale
* [AAE-37713] added unit test with currency icon
* [AAE-37713] provided amount widget config as observable
* [AAE-37713] applied pr comments
* [ACS-10083]: fixes setValue flow; handles initial stream values properly
* [ACS-10083]: migrates to category.id instead of column key for filter key
* [ACS-10083]: refactoring to prevent setting nullish query
* [ACS-10083]: unit tests
* [ACS-10083]: adds method for getting operator by category id
* [ACS-10083]: removes API call trigger from component on initial value set
* [ACS-10083]: adds data for building initial query after page reload
* [ACS-10083]: removes nodes API call if has filter in query
* [ACS-10083]: no need to call submit inside of the comp on initial value
* [ACS-10083]: updated unit tests
* [ACS-10083]: minor fixes and refactorings
* [ACS-10083]: removes redundant types
- Added support for 'pt' locale code in DateFnsUtils.getLocaleFromString()
- Both 'pt' and 'pt-BR' now correctly map to ptBR locale (dd/mm/yyyy format)
- Added comprehensive test coverage for all locale mappings using data-driven tests
- Fixed naming conflict by aliasing Italian locale import
Co-authored-by: Fabian Kindgen <39992669+fkindgen@users.noreply.github.com>
* Fixes WebSocket client re-initialization.
Ensures proper handling of WebSocket client re-initialization by
creating a unique client for each user session and token refresh, and removing the client on logout.
Addresses issues with deployment updates not being received due to
incorrect client handling. This change ensures that the WebSocket
connection is properly re-established when the user logs in again and when tokens are refreshed.
* reverts changes
* Removes HttpClientTestingModule import
Replaces the `HttpClientTestingModule` import with `provideHttpClientTesting`
to align with Angular's updated testing practices.
This change ensures compatibility and avoids potential issues
related to the deprecated module.
Fixes AAE-38919
* revert more changes
* Update lib/process-services-cloud/src/lib/services/web-socket.service.spec.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Adds the `lastModifiedAt` property to the `ApplicationInstanceModel`.
This allows the UI to display the last modification time of a workspace deployment, addressing the requirement to show when a deployment was last modified.
Fixes AAE-38881
* [ACS-10238] Fix screen reading clear icon for search filter and for searching for user for adding permissions
* [ACS-10238] Fix screen reading remove icon for removing user or group from list to add permissions
* Bonus Content: Remove warnings from console
* Fixes: Prevents display issues during form loading
Ensures the process definition card and start button are not rendered until the form is fully loaded or an error occurs during the loading process.
This prevents flickering and ensures a smoother user experience.
* BONUS content: calm down sonar cube
* Removes unnecessary error handling
Removes the error handler from the `subscribe` block of the `startProcess` method in `StartProcessCloudComponent`.
The error handling was redundant, as errors are already handled by other mechanisms.
This simplifies the code and avoids potential duplicate error handling.
* Uses `test` method for regex checks
Replaces the `exec` method with the `test` method for regular
expression checks to determine if a pattern exists within a string.
This resolves potential issues where the return value of `exec`
(an array or null) was not being properly evaluated as a boolean
condition, leading to incorrect logic execution.
---------
Co-authored-by: Fabian Kindgen <39992669+fkindgen@users.noreply.github.com>
* [AAE-30878] - Migrating from event-emitter to eventemitter3 which is ESM and commonJs compatibile
* [AAE-30878] - Using types to avoid compilation isues with the new ruels
* AAE-30878 - fixed lint issue on js-api
* AAE-30878 - reverted misplaced changes
* [AAE-30882] - migrating from superagent to axios
* AAE-30882 - Fixed unit test for js-api
* AAE-30882 - Fixed unit test for js-api
* AAE-30882 - Fixed unit test for js-api
* AAE-30882 - Improved some unit tests
* [ci:force]
* AAE-30882 - Checking why is ok locally but fails on CI
* AAE-30882 - Start fixing some unit tests - check 1
* AAE-30882 - Start fixing some unit tests - check 2
* [AAE-30882] - rebased
* [AAE-30882] - added missing import
* CSX-73 Date and Select Satori
* CSX-73 Fix process-header unit test
* CSX-73 Fix core unit test
* CSX-73 Fix core unit test
* CSX-73 Fix task-header unit test
* CSX-73 Fix task-header unit test
* CSX-73 Fix task-header unit test
* CSX-73 Fix card-view dateitem
* CSX-73 Fix card-view dateitem
---------
Co-authored-by: Sahana Ghosal <sahana.ghosal@hyland.com>
* AAE-37073 fix error location and make field highlight red if error
* AAE-37073 code review update - revert change from TranslateModule back to TranslatePipe
* Removes showNextTaskCheckbox input
Removes the `showNextTaskCheckbox` input from the `UserTaskCloudComponent` and related files.
The `showNextTaskCheckbox` input is no longer needed, instead the visibility of the 'Open next task' checkbox will depend on the canCompleteTask() method.
This change simplifies the component's API and ensures that the checkbox is always displayed when it should be.
* Adds option to open next task after completion
Introduces a new checkbox on the task screen that, when checked, automatically navigates the user to the next available task upon completion of the current one.
It enhances user experience by streamlining task completion workflows, eliminating the need for manual navigation.
* revert changes
* review
* [ADF-5582] Update NodeCommentsService to take userId as an argument in getUserImage
* [ADF-5582] Add unit tests for avatar caching and retrieval in NodeCommentsService
* Refactor NodeCommentsService unit tests to avoid accessing private members
* [ADF-5582] Remove picture Id from getUserImage
* [ADF-5582] Add comment to getAvatarCache and fix sonarcloud issues
* Update node-comments.service.spec.ts
* Trigger sonar
* [ADF-5582] Add method to return avatar url in people api
* [ADF-5582] Fix sonar cloud issue
* [ADF-5582] Add comment to getUserImage and fix request address for getAvatarImageUrl
* Handles error messages with wrong JSON format
Handles cases where the error message from the backend is not a valid JSON.
If the message is not a valid JSON, it displays the error as a string.
This prevents the application from crashing when receiving error messages with wrong JSON format.
Fixes AAE-36869
* SonarCloud solution
* Displays the error message from the response
The error message is now extracted from the response body,
providing more context when process start fails.
This change ensures that the user sees the specific error
message returned by the service when a process instance
cannot be started, improving the user experience.
* Refactors start process template to use `@if` blocks
Migrates the start process component template from `*ngIf` directives to the new Angular `@if` syntax for improved readability and performance.
This change enhances the structure and efficiency of conditional rendering within the template.
* prettier
* cleanup deprecated AppConfigModule
* migrate factory to initializer
* add provideAppExtensions() api to allow deprecating ExtensionsModule in apps
* fix viewer render import
* use Angular control flow instead of NgIf
* use Angular control flow instead of NgSwitch
* temp checkin to share
* add id attribute
* [AAE-36536] test fix for form.model.ts changes
---------
Co-authored-by: Alex Molodyh <alex.molodyh@hyland.com>
* update api docs and clean dead code
* update api docs and clean dead code
rebasing onto develop branch
* [ACS-8770] fix unit test after auth refactor
* [ACS-8770] fix sonarcube issues
* [ACS-8770] update auth service doc file
* [ACS-8770] clean up demo-shell artifacts
---------
Co-authored-by: Anton Ramanovich <Anton.Ramanovich@hyland.com>
* AAE-36368 fixing labels and form-fields on content-ee and apa
* AAE-36368 removing padding for ACA
* AAE-36368 fixing the PR for ACA issues
* AAE-36368 resolving PR comments removing adf-form-field-input class
* [ACS-9790] Fix Tags and Categories content is missing during editing other panel in metadata sidebar
* [ACS-9790] remove commented code
* [ACS-9790] cr fix
* [ADF-5581] Reset filterValue when navigating to a new folder to ensure filters are cleared
* [ADF-5581] Added unit tests to verify filterValue reset
* [ADF-5581] Add unit tests to verify filter reset on navigation and preservation on sorting
* [ADF-5581] Use SpyObj<ShareDataTableAdapter> in unit test to avoid any type
* [ADF-5581] Remove redundant type on mockData declaration in unit test
* Revert loadFolder() to reload() in onSortingChanged and update unit test accordingly
* [ADF-5580] emit commentAdded event from adf-comments component
* [ADF-5580] Emit commentAdded event from adf-comments and expose it in adf-node-comments
* [ADF-5580] Emit commentAdded event from NodeCommentsComponent, add unit test, and update docs
* [ADF-5580] Add unit test for commentAdded output in NodeCommentsComponent, update docs and create testing utils
* [ADF-5580] Mark debugElement as readOnly
* [ADF-5580] Add mock services and fix unit test setup
* [ADF-5580] Reuse shared comment mocks across multiple test files
* [ADF-5580] Align comments component documentation
* [ADF-5580] Remove redundant setup and use ContentTestingModule in comment components tests
* AAE-35976 adding auto-required instead of manually handling required using asterisks inside mat-form-field elements
* AAE-35976 removing hiderequiredmarker as it'll be handled by the form-fields itself
Resolving merge conflicts with develop
* AAE-35976 fixing units
* AAE-35976 adding isVisible condition with the required field
* AAE-35976 removing the method call from html and using the variable instead for conditions
* AAE-34482 fixing card view datetime component in adf using mat-label
* AAE-34482 fixing the padding for mat-form-field labels
* AAE-34482 resolving the pr review comments
* AAE-34482 changing the floatType from 'auto' to null
* AAE-34482 changing the scss class name as per the review comment
* AAE-34482 fixing the left units
* AAE-34902 updating styles for input controls to maintain the ui consistency with studio-hxp
* AAE-34902 changing class prefix-names from hxp to adf
* AAE-34902 float level conditional on placeholder
* AAE-34902 fixing the placeholder in text-widgets
* AAE-34902 fixing the left and right side margins on workspace forms
* AAE-35882 fixing the double asterix issue on require fields on preview and form-editors and workspace
* AAE-35882 altering one unit as the asterisks are now handled by mat-form-fields
* Adds loading state accessibility
Improves accessibility by adding screen reader support to loading indicators.
This ensures that users with disabilities are informed when the document is loading, improving the overall user experience.
* Trigger Build
* Fixes accessibility issue on loading spinner
Removes the redundant `attr.` prefix from the `aria-labelledby` attribute in the loading spinner.
This resolves an accessibility issue where the spinner's label was not correctly associated, enhancing the user experience for assistive technologies.
* Trigger Build
Improves accessibility by adding screen reader support to loading indicators.
This ensures that users with disabilities are informed when the document is loading, improving the overall user experience.
* Handles null values in number widget
Ensures the number widget correctly handles null, undefined, and empty string values, setting the field value to null in these cases.
This change prevents unexpected behavior when the user clears the input field, ensuring data consistency.
* Adds test for readonly number widget
Adds a test case to verify the behavior of the number widget when it's in readonly mode.
The test checks if the displayValue is correctly set using the decimalNumberPipe when the readOnly property is true.
* Refactors number widget tests
Updates number widget tests to use `overrideComponent` for providing mocked dependencies. This approach ensures proper isolation and avoids potential issues with shared state between tests.
Additionally, it adds a test case to verify the `displayValue` is correctly set using the mocked `DecimalNumberPipe`.
---------
Co-authored-by: Eugenio Romano <eromano@users.noreply.github.com>
* [ACS-9377] Added function for file plans to get file plan roles
* [ACS-9377] Types and documentation
* [ACS-9377] Unit tests
* [ACS-9377] Fixed sonar cloud issue
* AAE-34959 Run security options loader when alfresco-api-v2-loader.serfvice is initialized because on content app the app-config.loader is run after AlfrescoApiLoaderService.init and the callback function that should setDefaultSecurityOption is not executed
* AAE-34959 Provide SecurityOptionsLoaderService in root to fix No Provider error
* AAE-34482 fixing label and alignment issues in forms
* AAE-34482 fixing margin issues
* AAE-34482 adding span inside mat-label
* AAE-34482 fixing units
* AAE-34482 removing unwanted unit
* AAE-34482 fixing unit
* AAE-34482 fixing native element class in unit tests
* [AAE-33907] Adds input for 'Open next task' checkbox
* Adds input for 'Open next task' checkbox
Adds an input to the task screen component to determine whether the "Open next task" checkbox is checked by default.
Also, adds an output that emits an event when the state of the "Open next task" checkbox changes.
* [AAE-33907] added condition for isNextTaskCheckboxChecked
* [AAE-33907] added showNextTaskCheckbox property and moved condition
* Adds next task checkbox functionality.
* Adds support for next task navigation
* Enhances screen cloud component testing
* Makes openNextTask optional for complete task
* removed tests
* Cleans up unnecessary blank lines in spec file
* fixed unit test
* AAE-34885 Form tabs preview frame size and width fix
* AAE-34885 fixing form preview in modeling app
* AAE-34485 workspace-app form scroll fix
* AAE-34485 fixing margin issues on the modeling app form preview
* fixing width issues on preview
---------
Co-authored-by: Eugenio Romano <eromano@users.noreply.github.com>
* Fix the "open next task" checkbox is not showing anymore in the process start section
* Add test
* adjust description of the test
* revert the format changes
* prettier
* rebase changes fix
* prettier
* fix tests
* [AAE-33090] Add optional checkbox for 'open next task' feature
* [AAE-33090] move translation to LABEL property
* [33090] add unit tests
* add tests for checkbox value
* [AAE-33090] remove some comments
* [AAE-33090] update documentation
* AAE-33090 kind of a typo
* AAE-33090 remove all comments
* Add rerun function after first approval is there.
* Adjust pull request with github pr number as var
* Add check label step to check "do not merge" label
* cleanup
* [ACS-5184] show progress spinner on file navigation
* [ACS-5184] show spinner unitl content is ready
* [ACS-5184] unit test fix
* [ACS-5184] cr fix
* [ACS-5184] spelling error fix
* [ACS-9406] Add getContentRenditionTypePreview to process-content service
* [ACS-9406] remove extra space
* [ACS-9406] fix unit tests
* [ACS-9406] fix unit tests
* [ACS-9406] cr fixes
* [AAE-32763] fixed retrieving preferences from local storage
* [AAE-32763] added a test
* [AAE-32763] Reverted to old implementation
* [AAE-32763] renamed test
* [AAE-32763] Be able to use getitems from local storage in the same way as cloud storage
* [AAE-32763] added more tests
@@ -103,8 +103,6 @@ Create a file next to the project's `package.json`, call it `proxy.conf.json` an
Note that if you are running the App, Content Service or Process Service on different ports, you should change the ports accordingly in your local configuration.
For further details about how to configure a webpack proxy please refer to the [official documentation](https://github.com/angular/angular-cli/blob/master/docs/documentation/stories/proxy.md).
| [Avatar](core/components/avatar.component.md) | Displays user avatars. |
| [Button](core/components/button.component.md) | A standard button component. |
| [Progress](core/components/progress.component.md) | A progress bar component. |
| [Header](core/components/adf-header.component.md) | A simple reusable application header component. |
### Components
@@ -114,7 +111,6 @@ A collection of Angular components for generic use.
| [Json Cell component](core/components/json-cell.component.md) | Shows a JSON-formatted value inside a datatable component. | [Source](../lib/core/src/lib/datatable/components/json-cell/json-cell.component.ts) |
| [Language Menu component](core/components/language-menu.component.md) | Displays all the languages that are present in "app.config.json" and the default (EN). | [Source](../lib/core/src/lib/language-menu/language-menu.component.ts) |
| [Login Dialog Panel component](core/components/login-dialog-panel.component.md) | Shows and manages a login dialog. | [Source](../lib/core/src/lib/login/components/login-dialog-panel.component.ts) |
| [Login Dialog component](core/components/login-dialog.component.md) | Allows a user to perform a login via a dialog. | [Source](../lib/core/src/lib/login/components/login-dialog.component.ts) |
| [Login component](core/components/login.component.md) | Authenticates to Alfresco Content Services and Alfresco Process Services. | [Source](../lib/core/src/lib/login/components/login.component.ts) |
| [Notification History component](core/components/notification-history.component.md)  | This component is in the current status just an experimental component. The main purpose of the Notification history component is list all the notification received in the current session. They will disappear from the list after the refresh. | [Source](../lib/core/src/lib/notifications/components/notification-history.component.ts) | |
| [Pagination Component](core/components/pagination.component.md) | Adds pagination to the component it is used with. | [Source](../lib/core/src/lib/pagination/pagination.component.ts) |
@@ -142,7 +138,7 @@ A collection of Angular components for generic use.
| [Logout directive](core/directives/logout.directive.md) | Logs the user out when the decorated element is clicked. | [Source](../lib/core/src/lib/directives/logout.directive.ts) |
| [Node Download directive](core/directives/node-download.directive.md) | Allows folders and/or files to be downloaded, with multiple nodes packed as a '.ZIP' archive. | [Source](../lib/content-services/src/lib/directives/node-download.directive.ts) |
| [Upload Directive](core/directives/upload.directive.md) | Uploads content in response to file drag and drop. | [Source](../lib/core/src/lib/directives/upload.directive.ts) |
| [CardViewPropertyValidator Directive](core/directives/card-view-property-validator.directive.md) | Checks validators defined on property.| [Source](../lib/core/src/lib/card-view/directives/card-view-property-validator.directive.ts) |
### Dialogs
| Name | Description | Source link |
@@ -181,8 +177,6 @@ A collection of Angular components for generic use.
| [Format Space pipe](core/pipes/format-space.pipe.md) | Replaces all the white space in a string with a supplied character. | [Source](../lib/core/src/lib/pipes/format-space.pipe.ts) |
| [Full name pipe](core/pipes/full-name.pipe.md) | Joins the first and last name properties from a `UserLike` object into a single string. | [Source](../lib/core/src/lib/pipes/full-name.pipe.ts) |
| [Localized Date pipe](core/pipes/localized-date.pipe.md) | Converts a date to a given format and locale. | [Source](../lib/core/src/lib/pipes/localized-date.pipe.ts) |
| [Multi Value Pipe](core/pipes/multi-value.pipe.md) | Takes an array of strings and turns it into one string where items are separated by a separator. The default separator applied to the list is the comma , however, you can set your own separator in the params of the pipe. | [Source](../lib/core/src/lib/pipes/multi-value.pipe.ts) |
| [Node Name Tooltip pipe](core/pipes/node-name-tooltip.pipe.md) | Formats the tooltip for a Node. | [Source](../lib/content-services/src/lib/pipes/node-name-tooltip.pipe.ts) |
| [Text Highlight pipe](core/pipes/text-highlight.pipe.md) | Adds highlighting to words or sections of text that match a search string. | [Source](../lib/core/src/lib/pipes/text-highlight.pipe.ts) |
| [Time Ago pipe](core/pipes/time-ago.pipe.md) | Converts a recent past date into a number of days ago. | [Source](../lib/core/src/lib/pipes/time-ago.pipe.ts) |
| [User Initial pipe](core/pipes/user-initial.pipe.md) | Takes the name fields of a `UserLike` object and extracts and formats the initials. | [Source](../lib/core/src/lib/pipes/user-initial.pipe.ts) |
@@ -223,7 +217,6 @@ A collection of Angular components for generic use.
| [Identity user service](core/services/identity-user.service.md) | Gets OAuth2 personal details and roles for users and performs CRUD operations on identity users. | [Source](../lib/process-services-cloud/src/lib/people/services/identity-user.service.ts) |
| [JWT helper service](core/services/jwt-helper.service.md) | Decodes a JSON Web Token (JWT) to a JavaScript object. | [Source](../lib/core/src/lib/auth/services/jwt-helper.service.ts) |
| [Nodes Api service](core/services/nodes-api.service.md) | Accesses and manipulates ACS document nodes using their node IDs. | [Source](../lib/content-services/src/lib/common/services/nodes-api.service.ts) |
| [Notification Service](core/services/notification.service.md) | Shows a notification message with optional feedback. | [Source](../lib/core/src/lib/notifications/services/notification.service.ts) |
| [Page Title service](core/services/page-title.service.md) | Sets the page title. | [Source](../lib/core/src/lib/common/services/page-title.service.ts) |
@@ -324,7 +317,6 @@ for more information about installing and using the source code.
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Auto Focus directive](content-services/directives/auto-focus.directive.md) | Automatically focuses HTML element after content is initialized. | [Source](../lib/content-services/src/lib/directives/auto-focus.directive.ts) |
| [Check Allowable Operation directive](content-services/directives/check-allowable-operation.directive.md) | Selectively disables an HTML element or Angular component. | [Source](../lib/content-services/src/lib/directives/check-allowable-operation.directive.ts) |
| [Node Public File Share Directive](content-services/directives/content-node-share.directive.md) | Creates and manages public shared links for files. | [Source](../lib/content-services/src/lib/content-node-share/content-node-share.directive.ts) |
| [File Draggable directive](content-services/directives/file-draggable.directive.md) | Provides drag-and-drop features for an element such as a div. | [Source](../lib/content-services/src/lib/upload/directives/file-draggable.directive.ts) |
| [Inherit Permission directive](content-services/directives/inherited-button.directive.md) | Update the current node by adding/removing the inherited permissions. | [Source](../lib/content-services/src/lib/permission-manager/components/inherited-button.directive.ts) |
@@ -347,7 +339,6 @@ for more information about installing and using the source code.
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Base Card View Content Update interface](content-services/interfaces/base-card-view-content-update.interface.md) | Specifies required properties and methods for Card View Content Update service. Extends from BaseCardViewUpdate. | [Source](../lib/content-services/src/lib/interfaces/base-card-view-content-update.interface.ts) | |
| [Process Audit Directive](process-services/directives/process-audit.directive.md) | Fetches the Process Audit information in PDF or JSON format. | [Source](../lib/process-services/src/lib/process-list/components/process-audit/process-audit.directive.ts) |
| [Form cloud custom outcomes component](process-services-cloud/components/form-cloud-custom-outcome.component.md) | Supplies custom outcome buttons to be included in Form cloud component. | [Source](../lib/process-services-cloud/src/lib/form/components/form-cloud-custom-outcomes.component.ts) |
| [Form cloud component](process-services-cloud/components/form-cloud.component.md) | Shows a form from Process Services. | [Source](../lib/process-services-cloud/src/lib/form/components/form-cloud.component.ts) |
| [Form Definition Selector Cloud](process-services-cloud/components/form-definition-selector-cloud.component.md) | Allows one form to be selected from a dropdown list. For forms to be displayed in this component they will need to be compatible with standAlone tasks. | [Source](../lib/process-services-cloud/src/lib/form/components/form-definition-selector-cloud.component.ts) |
This guide for migrating ADF from Angular version 15 to version 16. Follow these steps to ensure a smooth transition.
## 1. Update Nx
First, update the Nx development dependencies. Use the `nx migrate` command for this purpose.
```bash
npx nx migrate 16.10.0
```
Updated Nx dependencies:
```json
{
"nx":"16.10.0",
"@nx/angular":"16.10.0",
"@nx/eslint-plugin":"16.10.0",
"@nx/js":"16.10.0",
"@nx/node":"16.10.0",
"@nx/storybook":"19.6.2",
"@nx/workspace":"16.10.0"
}
```
**As of Nx 16 package scope has changed from `@nrwl/*` to `@nx/*`.**
Nx's migration scripts will replace all `@nrwl` references in the project with `@nx`. This includes any imports, configuration files, and scripts.
## 2. Run Nx migrations
After the initial update a `migrations.json` file will be created containing all the additional changes that need to be made. You can run the migration script to apply these changes.
```bash
npx nx migrate --run-migrations
```
Those migrations should update required packages to the Angular 16 compatible version including Angular itself, Storybook, and others.
```json
{
"@angular/animations":"16.2.9",
"@angular/cdk":"16.2.9",
"@angular/common":"16.2.9",
"@angular/compiler":"16.2.9",
"@angular/core":"16.2.9",
"@angular/forms":"16.2.9",
"@angular/material":"16.2.9",
"@angular/material-date-fns-adapter":"16.2.9",
"@angular/platform-browser":"16.2.9",
"@angular/platform-browser-dynamic":"16.2.9",
"@angular/router":"16.2.9",
"@schematics/angular":"16.2.9",
"ng-packagr":"16.2.3"
}
```
Reference `storybook-migration-summary.md` file for more details on Storybook migration.
## 3. Manually update other dependencies
There are a few dependencies that require manual update, here is the list:
After running the migration script, you may need to manually fix some issues. Run common build targets to identify any problems.
```bash
npx nx run-many --target=build --skip-nx-cache
```
Work through all the problems topic by topic. If blocked by linting issues, disable the linting rules in the affected files. You can re-enable them in the next step.
### Lint jobs
After getting the build to work, run the lint jobs. Re-enable previously disabled linting rules and fix any issues that arise.
```bash
npx nx run-many --target=lint --skip-nx-cache
```
### Unit tests
Despite Angular 16 not introducing major breaking changes, you may still encounter issues with unit tests. Run the unit tests and fix any problems that arise.
- delete `test-old-mocha` job from the project configuration
## 4. Fixing CI/CD issues
### General migration issues
After running the migration script, you may need to manually fix some issues. Run common build targets to identify any problems.
```bash
npx nx run-many --target=build --skip-nx-cache
```
Work through all the problems topic by topic. If blocked by linting issues, disable the linting rules in the affected files. You can re-enable them in the next step.
### Lint jobs
After getting the build to work, run the lint jobs. Re-enable previously disabled linting rules and fix any issues that arise.
```bash
npx nx run-many --target=lint --skip-nx-cache
```
### Unit tests
Despite Angular 16 not introducing major breaking changes, you may still encounter issues with unit tests. Run the unit tests and fix any problems that arise.
This guide describes how to migrate ADF from Angular version 17 to version 18. Follow these steps to ensure a smooth transition.
## 1. Update changed dependencies
Update the following packages in your `package.json`:
### dependencies
```json
{
"@angular/animations":"18.2.13",
"@angular/cdk":"18.2.14",
"@angular/common":"18.2.13",
"@angular/compiler":"18.2.13",
"@angular/core":"18.2.13",
"@angular/forms":"18.2.13",
"@angular/material":"18.2.14",
"@angular/material-date-fns-adapter":"18.2.14",
"@angular/platform-browser":"18.2.13",
"@angular/platform-browser-dynamic":"18.2.13",
"@angular/router":"18.2.13",
"@apollo/client":"3.13.1",
"@mat-datetimepicker/core":"14.0.0",
"apollo-angular":"10.0.3",
"minimatch-browser":"1.0.0",
"node-fetch":"^3.3.2",
"zone.js":"0.14.10"
}
```
### devDependencies
```json
{
"@angular-devkit/architect":"0.1802.13",
"@angular-devkit/build-angular":"18.2.14",
"@angular-devkit/core":"18.2.13",
"@angular-devkit/schematics":"18.2.13",
"@angular/compiler-cli":"18.2.13",
"@nx/angular":"19.2.0",
"@nx/js":"18.3.5",
"@nx/workspace":"18.3.5",
"@storybook/angular":"8.4.7",
"ng-packagr":"18.2.1",
"npm-run-all":"^4.1.5",
"postcss":"8.4.41",
"postcss-sass":"^0.5.0",
"tsconfig-paths":"^4.1.1",
"typescript":"5.5.4",
"webpack-cli":"^5.1.4"
}
```
## 2. Material mixins update
Angular Material 18 introduced Material 3 mixins as new default. As we are still using Material 2, we need to ensure that we are still using the Material 2 version.
In order to use Material 2 mixins, you need to add a `m2-` prefix to the mixins in your stylesheets. For example:
```scss
mat.define-typography-config()
mat.get-color-from-palette()
```
should be changed to:
```scss
mat.m2-define-typography-config()
mat.m2-get-color-from-palette()
```
## 3. Fixing CI/CD issues
After running the migration script, you may need to manually fix some issues. Run common build targets to identify any problems.
```bash
npx nx run-many --target=build --skip-nx-cache
```
If blocked by linting issues, disable the linting rules in the affected files. You can re-enable them in the next step.
### Lint jobs
After getting the build to work, run the lint jobs. Re-enable previously disabled linting rules and fix any issues that arise.
```bash
npx nx run-many --target=lint --skip-nx-cache
```
### Unit tests
Run the unit tests and fix any problems that arise.
```bash
npx nx run-many --target=test --skip-nx-cache
```
## 4. Review Angular 18 breaking changes
Angular 18 is a minor update with no major breaking changes for most projects. However, always review the [Angular 18 changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md) and [official update guide](https://angular.dev/update-guide?v=17.0-18.0).
@@ -378,7 +378,7 @@ displayed. The aspects to be displayed are calculated as an intersection of the
## Multi value card properties
Multi value properties are displayed one after another separated by a comma. This card makes use of the [Multi Value Pipe](../../core/pipes/multi-value.pipe.ts).
Multi value properties are displayed one after another separated by a comma.
To customize the separator used by this card you can set it in your `app.config.json` inside your content-metadata configuration:
| imageResolver | `any \| null` | null | Custom function to choose image file paths to show. See the [Image Resolver Model](image-resolver.model.md) page for more information. |
| field | string | Field to apply the query to. Required value |
| maxDate | string | A fixed date (default format: dd-MMM-yy) or the string `"today"` that will set the maximum searchable date. Default is today. |
| dateFormat | string | Date format. Dates used by the datepicker are Javascript Date objects, using [date-fns](https://date-fns.org/v2.30.0/docs/format) for formatting, so you can use any date format supported by the library. Default is 'dd-MMM-yy (sample date - 07-Jun-23) |
| initialValue | SearchDateRange | Initial value for the component |
| field | string | Field to apply the query to. Required value |
| maxDate | string | A fixed date (default format: dd-MMM-yy) or the string `"today"` that will set the maximum searchable date. Default is today. |
| dateFormat | string | Date format. Dates used by the datepicker are Javascript Date objects, using [date-fns](https://date-fns.org/v2.30.0/docs/format) for formatting, so you can use any date format supported by the library. Default is 'dd-MMM-yy (sample date - 07-Jun-23) |
| initialValue | SearchDateRange | Initial value for the component |
The [Check Allowable Operation Directive](../../../lib/content-services/src/lib/directives/check-allowable-operation.directive.ts) lets you disable an HTML element or Angular component
by taking a collection of [`NodeEntry`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/NodeEntry.md) instances and checking their permissions.
The decorated element will be disabled if:
- there are no nodes in the collection
- at least one of the nodes does not have the required permission
### HTML element example
A typical use case is to bind a [Document List](../components/document-list.component.md)
selection property to a toolbar button. In the following example, the "Delete" button should
be disabled if no selection is present or if user does not have permission to delete at least one node in the selection:
```html
<adf-toolbartitle="toolbar example">
<buttonmat-icon-button
adf-check-allowable-operation="delete"
[adf-nodes]="documentList.selection">
<mat-icon>delete</mat-icon>
</button>
</adf-toolbar>
<adf-document-list#documentList...>
...
</adf-document-list>
```
The button will be disabled by default and will change state when the user selects or deselects
one or more documents that they have permission to delete.
### Angular component example
You can add the directive to any Angular component that implements the [`NodeAllowableOperationSubject`](../../../lib/content-services/src/lib/interfaces/node-allowable-operation-subject.interface.ts)
interface (the [Upload Drag Area component](../components/upload-drag-area.component.md),
for example). You can also use it in much the same way as you would with an HTML element:
```html
<alfresco-upload-drag-area
[rootFolderId]="..."
[versioning]="..."
[adf-check-allowable-operation]="'create'"
[adf-nodes]="getCurrentDocumentListNode()">
...
</alfresco-upload-drag-area>
```
To enable your own component to work with this directive, you need to implement the
[`NodeAllowableOperationSubject`](../../../lib/content-services/src/lib/interfaces/node-allowable-operation-subject.interface.ts) interface and also define it as an
### Implementing the NodeAllowableOperationSubject interface
The component must implement the [`NodeAllowableOperationSubject`](../../../lib/content-services/src/lib/interfaces/node-allowable-operation-subject.interface.ts) interface which means it must have a
boolean `disabled` property. This is the property that will be set by the directive:
**Note:** the usage of **viewProviders** (instead of **providers**) is very important, especially if you want to use this directive on a transcluded component.
@@ -47,12 +47,13 @@ Manages Document List information that is specific to a user.
-_includeFields:_`string[]` - List of data field names to include in the results
-_where:_`string` - (Optional) A string to restrict the returned objects by using a predicate
-**Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`NodePaging`](https://github.com/Alfresco/alfresco-js-api/blob/develop/src/api/content-rest-api/docs/NodePaging.md)`>` - List of favorite files
-_pagination:_ [`PaginationModel`](../../../lib/core/src/lib/models/pagination.model.ts) - Specifies how to paginate the results
-_includeFields:_`string[]` - List of data field names to include in the results
-_where:_`string` - (Optional) Filters the Node list using the _where_ condition of the REST API (for example, isFolder=true). See the REST API documentation for more information.
-_filters:_`string[]` - Specifies additional filters to apply (joined with **AND**). Applied for '-recent-' only.
-**Returns**`any` - List of items contained in the folder
@@ -20,7 +20,7 @@ Adds and retrieves comments for nodes in Content Services.
Gets all comments that have been added to a task.
-_id:_`string` - ID of the target task
-**Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`CommentModel`](../../../lib/core/src/lib/models/comment.model.ts)`[]>` - Details for each comment
@@ -23,10 +23,10 @@ Manages tags in Content Services.
-_nodeId:_`string` - Id of node to which tags should be assigned.
-_tags:_`TagBody[]` - List of tags to create and assign or just assign if they already exist.
-**Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TagPaging`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/TagPaging.md)`|`[`TagEntry`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/TagEntry.md)`>` - Just linked tags to node or single tag if linked only one tag.
-**Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TagEntry`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/TagEntry.md)`[]>` - Created tags.
-**Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TagEntry`](../../../lib/js-api/src/api/content-rest-api/docs/TagsApi.md#TagEntry) `|` [`TagPaging`](../../../lib/js-api/src/api/content-rest-api/docs/TagsApi.md#TagPaging)`>` - Created tags.
# [Icon Component](../../../lib/core/src/lib/icon/icon.component.ts "Defined in icon.component.ts")
@@ -29,7 +29,9 @@ Provides a universal way of rendering registered and named icons.
| Name | Type | Default value | Description |
| ---- | ---- | ------------- | ----------- |
| color | [`ThemePalette`](https://github.com/angular/components/blob/master/src/material/core/common-behaviors/color.ts) | | Theme color palette for the component. |
| fontSet | `string` | | Icon font set. |
| value | `string` | | Icon value, which can be either a ligature name or a custom icon in the format `[namespace]:[name]`. |
| isSvg | `boolean` | false | Is icon of type svg. |
## Details
@@ -78,6 +80,73 @@ using the `adf:` namespace.
<adf-iconvalue="adf:image/gif"></adf-icon>
```
### Icon alias mapping
The Icon Alias Mapping feature allows you to provide custom icon value mappings at runtime using the `ICON_ALIAS_MAP_TOKEN` injection token. When an icon value matches a key in the alias map, the component automatically replaces it with the mapped value. This is useful for creating consistent icon conventions across your application without modifying component code.
**How icon name replacement works:**
When you provide an alias map, the component checks if the icon value matches any key in the map. If a match is found, the icon name is replaced with the corresponding mapped value. This happens automatically and transparently:
- Original icon name: `icon-mock`
- Alias map entry: `'icon-mock': 'alias-mock'`
- Result: Icon renders as `alias-mock` instead of `icon-mock`
This allows you to:
- **Rename icons** without changing component code
- **Support legacy icon names** by mapping them to new ones
- **Centralize icon naming conventions** in your application
- **Create icon aliases** for shorter or more descriptive names
# [Login Dialog component](../../../lib/core/src/lib/login/components/login-dialog.component.ts "Defined in login-dialog.component.ts")
Allows a user to perform a login via a dialog.
## Details
The [Login Dialog component](login-dialog.component.md) allows you to perform a login via a dialog.
### Showing the dialog
Unlike most components, the [Login Dialog Component](login-dialog.component.md) is typically shown in a dialog box
rather than the main page and you are responsible for opening the dialog yourself. You can use the
[Angular Material Dialog](https://material.angular.io/components/dialog/overview) for this,
as shown in the usage example. ADF provides the [`LoginDialogComponentData`](../../../lib/core/src/lib/login/components/login-dialog-component-data.interface.ts) interface
//action called when an action or cancel is clicked on the dialog
this.dialog.closeAll();
});
}
```
All the results will be streamed to the logged [subject](http://reactivex.io/rxjs/manual/overview.html#subject) present in the [`LoginDialogComponentData`](../../../lib/core/src/lib/login/components/login-dialog-component-data.interface.ts) object passed to the dialog.
When the dialog action is selected by clicking, the `data.logged` stream will be completed.
@@ -64,6 +64,7 @@ Using with file [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob):
| urlFile | `string` | "" | If you want to load an external file that does not come from ACS you can use this URL to specify where to load the file from. |
| viewerTemplateExtensions | [`TemplateRef`](https://angular.io/api/core/TemplateRef)`<any>` | null | Template containing ViewerExtensionDirective instances providing different viewer extensions based on supported file extension. |
| nodeId | `string` | null | Identifier of a node opened by a viewer. |
| customError | `string` | undefined | Custom error message to be displayed in the viewer. |
### Events
@@ -75,12 +76,14 @@ Using with file [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob):
| Left | Invoke 'Navigate before' action. Disabled in image edit mode. |
| Right | Invoke 'Navigate next' action. Disabled in image edit mode. |
| Shift + Arrow Key | Increase image crop area. Active only in image edit mode. |
| Alt + Arrow Key | Decrease image crop area. Active only in image edit mode. |
| Ctrl+F | Activate full-screen mode. |
## Details
@@ -205,22 +208,24 @@ The Viewer supports dynamically-loaded viewer preview extensions, to know more a
#### Code extension mechanism
You can define your own custom handler to override supported file formats or handle other file formats that are not yet supported by
the [Viewer render component](viewer.component.md). In order to do that first you need to define a template containing at least one `adf-viewer-extension`:
the [Viewer render component](viewer.component.md). In order to do that first you need to define a template containing at least one `adf-viewer-extension`. `contentLoaded` should be an `EventEmitter` that will emit as soon as the component responsible for rendering finishes.
| overlayMode | `boolean` | false | If`true` then show the Viewer as a full page over the current content. Otherwise fit inside the parent div. |
| readOnly | `boolean` | true | Enable when where is possible the editing functionalities |
| allowedEditActions | `{ [key: string]: boolean }` | `{ rotate: true, crop: true }` | Controls which editing actions are enabled when not in read-only mode. Allows granular control over actions like rotation and cropping. |
| showLeftSidebar | `boolean` | false | Toggles left sidebar visibility. Requires `allowLeftSidebar` to be set to `true`. |
| showRightSidebar | `boolean` | false | Toggles right sidebar visibility. Requires `allowRightSidebar` to be set to `true`. |
| showToolbar | `boolean` | true | Hide or show the toolbar |
| showViewer | `boolean` | true | Hide or show the viewer |
| sidebarLeftTemplate | [`TemplateRef`](https://angular.io/api/core/TemplateRef)`<any>` | null | The template for the left sidebar. The template context contains the loaded node data. |
| sidebarLeftTemplateContext | | null | Context object available for binding by the local sidebarLeftTemplate with let declarations. |
| sidebarRightTemplate | [`TemplateRef`](https://angular.io/api/core/TemplateRef)`<any>` | null | The template for the right sidebar. The template context contains the loaded node data. |
| sidebarRightTemplateContext | | null | Context object available for binding by the local sidebarRightTemplate with let declarations. |
| tracks | [`Track`](../../../lib/core/src/lib/viewer/models/viewer.model.ts)`[]` | \[] | media subtitles for the media player |
| urlFile | `string` | "" | If you want to load an external file that does not come from ACS you can use this URL to specify where to load the file from. |
| viewerExtensions | [`TemplateRef`](https://angular.io/api/core/TemplateRef)`<any>` | null | Template containing ViewerExtensionDirective instances providing different viewer extensions based on supported file extension. |
| nodeId | `string` | null | Identifier of a node opened by a viewer. |
| nodeMimeType | `string` | undefined | Original node mime type, should be provided when renditiona mime type is different. |
| overlayMode | `boolean` | false | If `true` then show the Viewer as a full page over the current content. Otherwise fit inside the parent div. |
| readOnly | `boolean` | true | Enable when where is possible the editing functionalities |
| allowedEditActions | `{ [key: string]: boolean }` | `{ rotate: true, crop: true }` | Controls which editing actions are enabled when not in read-only mode. Allows granular control over actions like rotation and cropping. |
| showLeftSidebar | `boolean` | false | Toggles left sidebar visibility. Requires `allowLeftSidebar` to be set to `true`. |
| showRightSidebar | `boolean` | false | Toggles right sidebar visibility. Requires `allowRightSidebar` to be set to `true`. |
| showToolbar | `boolean` | true | Hide or show the toolbar |
| showViewer | `boolean` | true | Hide or show the viewer |
| sidebarLeftTemplate | [`TemplateRef`](https://angular.io/api/core/TemplateRef)`<any>` | null | The template for the left sidebar. The template context contains the loaded node data. |
| sidebarLeftTemplateContext | | null | Context object available for binding by the local sidebarLeftTemplate with let declarations. |
| sidebarRightTemplate | [`TemplateRef`](https://angular.io/api/core/TemplateRef)`<any>` | null | The template for the right sidebar. The template context contains the loaded node data. |
| sidebarRightTemplateContext | | null | Context object available for binding by the local sidebarRightTemplate with let declarations. |
| tracks | [`Track`](../../../lib/core/src/lib/viewer/models/viewer.model.ts)`[]` | \[] | media subtitles for the media player |
| urlFile | `string` | "" | If you want to load an external file that does not come from ACS you can use this URL to specify where to load the file from. |
| viewerExtensions | [`TemplateRef`](https://angular.io/api/core/TemplateRef)`<any>` | null | Template containing ViewerExtensionDirective instances providing different viewer extensions based on supported file extension. |
| nodeId | `string` | null | Identifier of a node opened by a viewer. |
| nodeMimeType | `string` | undefined | Original node mime type, should be provided when renditiona mime type is different. |
| customError | `string` | undefined | Custom error message to be displayed in the viewer. |
### Events
@@ -103,12 +105,14 @@ See the [Custom layout](#custom-layout) section for full details of all availabl
| property | [`CardViewBaseItemModel`](../../../lib/core/src/lib/card-view/models/card-view-baseitem.model.ts) | | Property for which validations should be triggered. |
| validated | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<string[]>` | Emitted after validation. Emits list of errors or empty array if input is valid. |
@@ -43,6 +43,7 @@ Contains the value and metadata for a field of a [`Form`](../../../lib/process-s
| displayText | string | | Displayed text for Hyperlink widgets |
| isVisible | boolean | true | Is the field shown on the form? |
| visibilityCondition | [`WidgetVisibilityModel`](../../../lib/core/src/lib/form/models/widget-visibility.model.ts) | null | Defines a expression that determines whether the field is visible or not, based on its logical relation to values in other fields |
| checkParentVisibilityForValidation | boolean | false | When enabled (and `FormModel.enableParentVisibilityCheck` is true), validation will be skipped if the field's parent container/group/section is hidden, even if the field itself is visible. |
| enableFractions | boolean | false | Are numeric values allowed to contain a decimal point? |
| currency | string | null | Currency symbol for Amount widgets |
|enableParentVisibilityCheck| boolean | false|Enables checking parent container/group/section visibility for validation. When enabled, fields with `checkParentVisibilityForValidation: true` will skip validation if their parent is hidden.|
## Methods
@@ -112,3 +113,5 @@ Contains the value and metadata for a form.
Checks if a field or any of its parent containers/groups/sections is hidden. Returns true if the field should skip validation. Only checks parent visibility if `enableParentVisibilityCheck` is true and the field has `checkParentVisibilityForValidation` set to true.
# [Multi Value Pipe](../../../lib/core/src/lib/pipes/multi-value.pipe.ts "Defined in multi-value.pipe.ts")
Takes an array of strings and turns it into one string where items are separated by a separator. The default separator applied to the list is the comma `,` however, you can set your own separator in the params of the pipe.
Gets information about the user currently logged into APS.
-**Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`UserRepresentation`](https://github.com/Alfresco/alfresco-js-api/blob/develop/src/api/activiti-rest-api/docs/UserRepresentation.md)`>` - User information
-**getBpmUsername**(): `string`<br/>
Gets the BPM username
-**Returns**`string` - The BPM username
-**getEcmUsername**(): `string`<br/>
Gets the ECM username.
-**Returns**`string` - The ECM username
-**getRedirect**(): `string`<br/>
Gets the URL to redirect to after login.
-**Returns**`string` - The redirect URL
-**getTicketBpm**(): `string|null`<br/>
Gets the BPM ticket stored in the Storage.
-**Returns**`string|null` - The ticket or `null` if none was found
-**getTicketEcm**(): `string|null`<br/>
Gets the ECM ticket stored in the Storage.
-**Returns**`string|null` - The ticket or `null` if none was found
-**getTicketEcmBase64**(): `string|null`<br/>
Gets the BPM ticket from the Storage in Base 64 format.
-**Returns**`string|null` - The ticket or `null` if none was found
-_rememberMe:_`boolean` - Stores the user's login details if true
-**Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<Function>` - Object with auth type ("ECM", "BPM" or "ALL") and auth ticket
-_rememberMe:_`boolean` - (Optional) Stores the user's login details if true
-**Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<{ type: string; ticket: any }>` - An Observable that emits an object containing the authentication type (`type`) and the authentication ticket (`ticket`) upon successful login.
-**logout**(): [`Observable`](http://reactivex.io/documentation/observable.html)`<any>`<br/> Logs the user out.
-**Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<any>` - Response event called when logout is complete
-_url:_ [`RedirectionModel`](../../../lib/core/src/lib/auth/models/redirection.model.ts) - (Optional) URL to redirect to
-**ssoImplicitLogin**()<br/>
Logs the user in with SSO
-**reset**(): `void`<br/>Resets the authentication state of the service.
-**on**(event: `string`, listener: `Function`): `void`<br/> Adds an event listener for the specified event.
-**off**(event: `string`, listener?: `Function`): `void`<br/> Removes an event listener for the specified event.
-**once**(event: `string`, listener: `Function`): `void`<br/> Adds a one-time event listener for the specified event.
-**emit**(event: `string`, ...args: `any[]`): `void`<br/> Emits an event with optional arguments.
-**onLogin**: [`Subject`](https://reactivex.io/documentation/subject)`<any>`<br/> Emitted when the user logs in successfully.
-**onLogout**: [`Subject`](https://reactivex.io/documentation/subject)`<any>`<br/> Emitted when the user logs out.
-**onTokenReceived**: [`Subject`](https://reactivex.io/documentation/subject)`<any>`<br/> Emitted when an authentication token is received.
-**onError**: [`Observable`](http://reactivex.io/documentation/observable.html)`<any>`<br/> An Observable that emits an error object when an authentication-related error occurs.
@@ -40,6 +40,10 @@ Manipulates content related to a Process Instance or Task Instance in APS.
Gets the thumbnail for a related content file.
-_contentId:_`number` - ID of the related content
-**Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob)`>` - Binary data of the thumbnail image
Gets the preview rendition for a related content file.
-_contentId:_`number` - ID of the related content
-**Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob)`>` - Binary data of the related content
As soon as you assign the storage prefix, all settings that you get or set via the [`UserPreferencesService`](../../core/services/user-preferences.service.md) will be saved to a dedicated profile.
As soon as you assign the storage prefix, all settings that you get or set via the `UserPreferencesService` will be saved to a dedicated profile.
You can import the service into your controller and use its APIs as shown below:
@@ -96,7 +96,7 @@ The service also provides quick access to a set of the "known" properties used a
| ---- | ---- | ----------- |
| authType | `string` | Authorization type (can be "ECM", "BPM" or "ALL"). |
| disableCSRF | `boolean` | Prevents the CSRF Token from being submitted if true. Only valid for Process Services. |
@@ -112,7 +112,13 @@ whole set of user properties. This is useful when a component needs to react to
```
You can also use the `select` method to get notification when a particular property is changed.
A set of basic properties is added into the enumeration [`UserPreferenceValues`](lib/core/src/lib/services/user-preferences.service.ts) which gives you the key value to access the standard user preference service properties: **PaginationSize**, **DisableCSRF**, **Locale**, **SupportedPageSizes** and **ExpandedSideNavStatus**.
A set of basic properties is added into the enumeration `UserPreferenceValues` which gives you the key value to access the standard user preference service properties:
-`PaginationSize`
-`DisableCSRF`
-`Locale`
-`SupportedPageSizes`
-`ExpandedSideNavStatus`
```ts
userPreferences.disableCSRF=true;
@@ -120,3 +126,58 @@ A set of basic properties is added into the enumeration [`UserPreferenceValues`]
console.log(CSRFflag);//this will be true;
});
```
### Convenience Observables and Signals
For commonly accessed preferences like `locale`, the service provides both observables and signals that simplify access patterns.
#### Using Signals (Recommended - No Subscription Needed!)
Signals automatically handle cleanup and don't require manual unsubscription:
// Observable - requires takeUntilDestroyed() to prevent memory leaks
this.userPreferences.locale$
.pipe(takeUntilDestroyed())
.subscribe(locale=>{
this.currentLocale=locale;
});
}
```
Available observables:
-`locale$` - Observable for locale changes
-`paginationSize$` - Observable for pagination size changes
-`supportedPageSizes$` - Observable for supported page sizes changes
**Note:** When subscribing to observables from a singleton service in a component, always use `takeUntilDestroyed()` or `takeUntil()` to prevent memory leaks.
@@ -96,6 +96,7 @@ The template defined inside `empty-form` will be shown when no form definition i
| showValidationIcon | `boolean` | true | Toggle rendering of the validation icon next to the form title. |
| taskId | `string` | | Task id to fetch corresponding form and values. |
| displayModeConfigurations | [`FormCloudDisplayModeConfiguration`](../../../lib/process-services-cloud/src/lib/services/form-fields.interfaces.ts)`[]` | | The available display configurations for the form |
| enableParentVisibilityCheck | `boolean` | false | Toggle to enable parent visibility check for validation. When enabled, fields inside hidden groups/sections will skip validation. |
### Events
@@ -111,6 +112,7 @@ The template defined inside `empty-form` will be shown when no form definition i
| formSaved | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`FormModel`](../../../lib/core/src/lib/form/components/widgets/core/form.model.ts)`>` | Emitted when the form is submitted with the `Save` or custom outcomes. |
| displayModeOn | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`FormCloudDisplayModeConfiguration`](../../../lib/process-services-cloud/src/lib/services/form-fields.interfaces.ts)`>` | Emitted when a display mode configuration is turned on. |
| displayModeOff | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`FormCloudDisplayModeConfiguration`](../../../lib/process-services-cloud/src/lib/services/form-fields.interfaces.ts)`>` | Emitted when a display mode configuration is turned off. |
| nextTaskCheckboxCheckedChanged | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`MatCheckboxChange`](https://material.angular.io/components/checkbox/api#MatCheckboxChange)`>` | Emitted when the `Open next task` checkbox was toggled. |
# [Form Definition Selector Cloud](../../../lib/process-services-cloud/src/lib/form/components/form-definition-selector-cloud.component.ts "Defined in form-definition-selector-cloud.component.ts")
Allows one form to be selected from a dropdown list. For forms to be displayed in this component they will need to be compatible with standAlone tasks.
## Basic Usage
```html
<adf-cloud-form-definition-selector
[appName]="'simple-app'"
(selectForm)="onFormSelect($event)">
</adf-cloud-form-definition-selector>
```
## Class members
### Properties
| Name | Type | Default value | Description |
| ---- | ---- | ------------- | ----------- |
| appName | `string` | "" | Name of the application. If specified, this shows the users who have access to the app. |
### Events
| Name | Type | Description |
| ---- | ---- | ----------- |
| selectForm | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<string>` | Emitted when a form is selected. |
| displayModeConfigurations | [`FormCloudDisplayModeConfiguration`](../../../lib/process-services-cloud/src/lib/services/form-fields.interfaces.ts)`[]` | | The available display configurations for the form (start process event can have assigned form). |
| enableParentVisibilityCheck | `boolean` | false | Toggle to enable parent visibility check for validation. When enabled, fields inside hidden groups/sections will skip validation. |
| values | [`TaskVariableCloud`](../../../lib/process-services-cloud/src/lib/form/models/task-variable-cloud.model.ts)`[]` | | Parameter to pass form field values in the start form if one is associated. |
| variables | `any` | | Variables to attach to the payload. |
| cancelClick | `EventEmitter<string>` | Emitted when the cancel button is clicked. |
| error | `EventEmitter<any>` | Emitted when any error occurs. |
| executeOutcome | `EventEmitter<FormOutcomeEvent>` | Emitted when any outcome is executed. Default behaviour can be prevented via `event.preventDefault()`. |
| formCompleted | `EventEmitter<FormModel>` | Emitted when the form is submitted with the `Complete` outcome. |
| formContentClicked | `EventEmitter<ContentLinkModel>` | Emitted when form content is clicked. |
| formSaved | `EventEmitter<FormModel>` | Emitted when the form is saved. |
| onTaskLoaded | `EventEmitter<TaskDetailsCloudModel>` | Emitted when a task is loaded. |
| taskClaimed | `EventEmitter<string>` | Emitted when the task is claimed. |
| taskCompleted | `EventEmitter<string>` | Emitted when the task is completed. |
| taskUnclaimed | `EventEmitter<string>` | Emitted when the task is unclaimed. |
| displayModeOn | `EventEmitter<FormCloudDisplayModeConfiguration>` | Emitted when a display mode configuration is turned on. |
| displayModeOff | `EventEmitter<FormCloudDisplayModeConfiguration>` | Emitted when a display mode configuration is turned off. |
| cancelClick | `EventEmitter<string>` | Emitted when the cancel button is clicked. |
| error | `EventEmitter<any>` | Emitted when any error occurs. |
| executeOutcome | `EventEmitter<FormOutcomeEvent>` | Emitted when any outcome is executed. Default behaviour can be prevented via `event.preventDefault()`. |
| formCompleted | `EventEmitter<FormModel>` | Emitted when the form is submitted with the `Complete` outcome. |
| formContentClicked | `EventEmitter<ContentLinkModel>` | Emitted when form content is clicked. |
| formSaved | `EventEmitter<FormModel>` | Emitted when the form is saved. |
| onTaskLoaded | `EventEmitter<TaskDetailsCloudModel>` | Emitted when a task is loaded. |
| taskClaimed | `EventEmitter<string>` | Emitted when the task is claimed. |
| taskCompleted | `EventEmitter<string>` | Emitted when the task is completed. |
| taskUnclaimed | `EventEmitter<string>` | Emitted when the task is unclaimed. |
| displayModeOn | `EventEmitter<FormCloudDisplayModeConfiguration>` | Emitted when a display mode configuration is turned on. |
| displayModeOff | `EventEmitter<FormCloudDisplayModeConfiguration>` | Emitted when a display mode configuration is turned off. |
#### Enabling fullscreen display for the form of the task
| cancelClick | `EventEmitter<string>` | Emitted when the cancel button is clicked. |
| error | `EventEmitter<any>` | Emitted when any error occurs. |
| executeOutcome | `EventEmitter<FormOutcomeEvent>` | Emitted when any outcome is executed. Default behaviour can be prevented via `event.preventDefault()`. |
| formContentClicked | `EventEmitter<ContentLinkModel>` | Emitted when form content is clicked. |
| formSaved | `EventEmitter<FormModel>` | Emitted when the form is saved. |
| onTaskLoaded | `EventEmitter<TaskDetailsCloudModel>` | Emitted when a task is loaded. |
| taskClaimed | `EventEmitter<string>` | Emitted when the task is claimed. |
| taskCompleted | `EventEmitter<string>`| Emitted when the task is completed. |
| taskUnclaimed | `EventEmitter<string>`| Emitted when the task is unclaimed. |
| cancelClick | `EventEmitter<string>` | Emitted when the cancel button is clicked. |
| error | `EventEmitter<any>` | Emitted when any error occurs. |
| executeOutcome | `EventEmitter<FormOutcomeEvent>` | Emitted when any outcome is executed. Default behaviour can be prevented via `event.preventDefault()`. |
| formContentClicked | `EventEmitter<ContentLinkModel>` | Emitted when form content is clicked. |
| formSaved | `EventEmitter<FormModel>` | Emitted when the form is saved. |
| nextTaskCheckboxCheckedChanged | `EventEmitter<MatCheckboxChange>` | Emitted when the `Open next task` checkbox was toggled. |
| onTaskLoaded | `EventEmitter<TaskDetailsCloudModel>` | Emitted when a task is loaded. |
| taskClaimed | `EventEmitter<string>` | Emitted when the task is claimed. |
| taskCompleted | `EventEmitter<string>` | Emitted when the task is completed. |
| taskUnclaimed | `EventEmitter<string>` | Emitted when the task is unclaimed. |
#### Enabling fullscreen display for the form of the task
Title:Changelog for alfresco-ng2-components v8.0.0
---
# Changelog
- [7aa07ef525](https://github.com/Alfresco/alfresco-ng2-components/commit/7aa07ef525) AAE-36614 new provideShell api (#11006)
- [2ebee4c024](https://github.com/Alfresco/alfresco-ng2-components/commit/2ebee4c024) AAE-36615 new provideI18N api (#11007)
- [b563e283c1](https://github.com/Alfresco/alfresco-ng2-components/commit/b563e283c1) [ACS-9789] Multiple styles issues for metadata sidebar (#11015)
- [f1bdbf63b0](https://github.com/Alfresco/alfresco-ng2-components/commit/f1bdbf63b0) AAE-36368 Fixing labels and form-fields on content-ee and apa (#10982)
- [0651dc25d5](https://github.com/Alfresco/alfresco-ng2-components/commit/0651dc25d5) [ACS-9790] Fix Tags and Categories content is missing during editing other panel (#11004)
- [ec145fb73c](https://github.com/Alfresco/alfresco-ng2-components/commit/ec145fb73c) [ADF-5583] Update style to make version visible outside dialog (#11005)
- [450a4a0a49](https://github.com/Alfresco/alfresco-ng2-components/commit/450a4a0a49) [ACS-9789] Multiple styles issues for metadata sidebar (#11002)
- [11cb2ea688](https://github.com/Alfresco/alfresco-ng2-components/commit/11cb2ea688) AAE-36484 improved standalone support for Core (#10998)
- [6a3623bd76](https://github.com/Alfresco/alfresco-ng2-components/commit/6a3623bd76) AAE-35676 Cleanup Open Next Task (#10952)
- [5438eef9db](https://github.com/Alfresco/alfresco-ng2-components/commit/5438eef9db) AAE-36260 global test setup (#10970)
- [e96f5b3c48](https://github.com/Alfresco/alfresco-ng2-components/commit/e96f5b3c48) [AAE-36397] ADF viewer image is no longer cropped (#10996)
- [9bed60befc](https://github.com/Alfresco/alfresco-ng2-components/commit/9bed60befc) AAE-30842 Fix rendering small devices again (#10986)
- [c863da0c5d](https://github.com/Alfresco/alfresco-ng2-components/commit/c863da0c5d) [MNT-24459] Aspect list get all aspects when not all were fetched by first call (#10980)
- [c7f28d54d6](https://github.com/Alfresco/alfresco-ng2-components/commit/c7f28d54d6) [ADF-5581] Reset filterValue when navigating to a new folder to ensur… (#10978)
- [d776c7c77d](https://github.com/Alfresco/alfresco-ng2-components/commit/d776c7c77d) AAE-35310 Displaying different text fields on an eform doesn't align vertically or horizontally (#10979)
- [6dafcb4447](https://github.com/Alfresco/alfresco-ng2-components/commit/6dafcb4447) [ADF-5580] emit commentAdded event from adf-comments component (#10966)
- [5d043e6987](https://github.com/Alfresco/alfresco-ng2-components/commit/5d043e6987) [PRODSEC-10305] Bump @nx/webpack & webpack-dev-server (#10976)
- [57713dbe6e](https://github.com/Alfresco/alfresco-ng2-components/commit/57713dbe6e) [MNT-25175] configured scripts to execute are listed by node id and not by script name (#10969)
- [8b3b6ffbca](https://github.com/Alfresco/alfresco-ng2-components/commit/8b3b6ffbca) AAE-36173 switch to TranslatePipe (#10968)
- [16f42be08e](https://github.com/Alfresco/alfresco-ng2-components/commit/16f42be08e) AAE-35976 Adding auto required instead of manually handling styles manually (#10956)
- [dcab68d78a](https://github.com/Alfresco/alfresco-ng2-components/commit/dcab68d78a) AAE-35632 Priority filter unit tests (#10965)
- [f40107de33](https://github.com/Alfresco/alfresco-ng2-components/commit/f40107de33) AAE-34482 Modelling inconsistencies in mat form fields label alignments ii (#10929)
- [c16417cbff](https://github.com/Alfresco/alfresco-ng2-components/commit/c16417cbff) [ACS-9250] Adjust viewer to display properly under parent without overlay mode (#10950)
- [27502d5d67](https://github.com/Alfresco/alfresco-ng2-components/commit/27502d5d67) AAE-34902 Updating styles for input controls to maintain the ui consistency with studio hxp (#10900)
- [a4072aca74](https://github.com/Alfresco/alfresco-ng2-components/commit/a4072aca74) AAE-35694 Update section-start-form with Sections in Row (#10947)
- [22b62804d5](https://github.com/Alfresco/alfresco-ng2-components/commit/22b62804d5) AAE-35882 Studio modelling forms required dropdown has double asterisk (#10948)
- [eda59a1de8](https://github.com/Alfresco/alfresco-ng2-components/commit/eda59a1de8) [ACS-8746] yellow warning color (#10883)
- [cdc7553915](https://github.com/Alfresco/alfresco-ng2-components/commit/cdc7553915) [MNT-24923] legal hold hold capabilities are not verified properly (#10930)
- [2c4764f89e](https://github.com/Alfresco/alfresco-ng2-components/commit/2c4764f89e) Adds loading state accessibility (#10926)
- [e2693f9304](https://github.com/Alfresco/alfresco-ng2-components/commit/e2693f9304) AAE-35668 Sending empty string instead of null after clearing value from numeric field (#10925)
- [5d9acaec0d](https://github.com/Alfresco/alfresco-ng2-components/commit/5d9acaec0d) [AAE-35649] Viewer renderer wait until subsequent renderers will finish (#10924)
- [0c147513cc](https://github.com/Alfresco/alfresco-ng2-components/commit/0c147513cc) AAE-35521 Refactor AuthenticationService unit tests (#10922)
- [920b7d3585](https://github.com/Alfresco/alfresco-ng2-components/commit/920b7d3585) AAE-34641 Fix ViewerRenderComponent hanging when in a mat-tab (#10913)
- [a6ab5fcbdd](https://github.com/Alfresco/alfresco-ng2-components/commit/a6ab5fcbdd) [ACS-9696] fix failing upgrade rxjs from 7.8.1 to 7.8.2 (#10911)
- [35970b4278](https://github.com/Alfresco/alfresco-ng2-components/commit/35970b4278) AAE-21284 Add migration guide for Angular 17 to 18 (#10910)
- [379fbbb508](https://github.com/Alfresco/alfresco-ng2-components/commit/379fbbb508) [MNT-25043] Skip adding json as content type for FormData body requests (#10903)
- [cdb65bf204](https://github.com/Alfresco/alfresco-ng2-components/commit/cdb65bf204) [ACS-9377] remove the join button for records management library for user s without permissions for that library (#10901)
- [8cb7a1719f](https://github.com/Alfresco/alfresco-ng2-components/commit/8cb7a1719f) AAE-34656 Hide all counters in Workspace which do not provide value (#10896)
- [1971980216](https://github.com/Alfresco/alfresco-ng2-components/commit/1971980216) [ACS-9619] Issues with trimming file's name in viewer (#10858)
- [467a19f3ec](https://github.com/Alfresco/alfresco-ng2-components/commit/467a19f3ec) AAE-34959 Fix withCredentials can not be set by app.config.json (#10897)
- [79163cbae0](https://github.com/Alfresco/alfresco-ng2-components/commit/79163cbae0) AAE-34482 Fixing label and alignment issues in forms (#10898)
- [06921783bf](https://github.com/Alfresco/alfresco-ng2-components/commit/06921783bf) AAE-33907 Adds input for 'Open next task' checkbox (#10823)
- [1462560e6e](https://github.com/Alfresco/alfresco-ng2-components/commit/1462560e6e) AAE-35057 Change position of adf-cloud-form-content-card-fullscreen to relative (#10888)
- [f2fa458fe5](https://github.com/Alfresco/alfresco-ng2-components/commit/f2fa458fe5) AAE-33909 Ensure onProcessFinish event triggers when invoked from onFormLoaded event (#10867)
- [e37ef279e4](https://github.com/Alfresco/alfresco-ng2-components/commit/e37ef279e4) AAE-32986 Add custom-form-widget process to simpleapp (#10881)
- [2cc3ba4d6b](https://github.com/Alfresco/alfresco-ng2-components/commit/2cc3ba4d6b) [ACS-7706] create tags return promise tag paging instead of tag entry (#10869)
- [3fea334468](https://github.com/Alfresco/alfresco-ng2-components/commit/3fea334468) [AAE-34479] added class for custom outcome button (#10882)
- [b3900b96ed](https://github.com/Alfresco/alfresco-ng2-components/commit/b3900b96ed) AAE-34972 Test PR for adf link (#10861)
- [2fd960bf5c](https://github.com/Alfresco/alfresco-ng2-components/commit/2fd960bf5c) AAE-34885 Form with tabs has incomplete frame in preview (#10880)
- [fe53c5d5a8](https://github.com/Alfresco/alfresco-ng2-components/commit/fe53c5d5a8) MNT-25095 Update the documentation (#10864)
- [051b82684f](https://github.com/Alfresco/alfresco-ng2-components/commit/051b82684f) AAE-34959 Allow disabling withCredentials for the identity providers that disallow credentials (#10859)
- [28137d8a09](https://github.com/Alfresco/alfresco-ng2-components/commit/28137d8a09) Revert "AAE-34641 Fix form loading when tab is changed (#10843)" (#10862)
- [58a5732043](https://github.com/Alfresco/alfresco-ng2-components/commit/58a5732043) AAE-34888 fixing padding issues in form widgets (#10853)
- [685bc387b5](https://github.com/Alfresco/alfresco-ng2-components/commit/685bc387b5) AAE-34641 Fix form loading when tab is changed (#10843)
- [f0c90594ca](https://github.com/Alfresco/alfresco-ng2-components/commit/f0c90594ca) AAE-34731 Hide the open next task checkbox for the Start Process view (#10842)
- [f2845a36c6](https://github.com/Alfresco/alfresco-ng2-components/commit/f2845a36c6) [AAE-29434] Adding process with process variables to simpleapp (#10845)
- [acf9e3e11c](https://github.com/Alfresco/alfresco-ng2-components/commit/acf9e3e11c) Improvement/aae 30909 enhance user experience with tab navigation within the form (#10844)
- [adeb82c137](https://github.com/Alfresco/alfresco-ng2-components/commit/adeb82c137) AAE-34335 fix for styling discrepancies in form-widgets (#10841)
- [48defa2b5f](https://github.com/Alfresco/alfresco-ng2-components/commit/48defa2b5f) AAE-34594 Remove redundant scroll bar from form renderer (#10840)
- [9ee0e5ee3e](https://github.com/Alfresco/alfresco-ng2-components/commit/9ee0e5ee3e) AAE-19688 Persist feature flag overrides in session storage (#10832)
- [0f1200b5a2](https://github.com/Alfresco/alfresco-ng2-components/commit/0f1200b5a2) AAE-34514 Disable next task checkbox for forms (#10824)
- [f34bbf59be](https://github.com/Alfresco/alfresco-ng2-components/commit/f34bbf59be) AAE-33589 Get task variables when preferences are updated (#10813)
- [d6317a7b87](https://github.com/Alfresco/alfresco-ng2-components/commit/d6317a7b87) [ACS-9227] Fixed interactive controls must not be nested issue in datatable.component.html (#10681)
- [d829d8eefb](https://github.com/Alfresco/alfresco-ng2-components/commit/d829d8eefb) AAE-34390 Clean old theming files (#10800)
- [4cfda763b6](https://github.com/Alfresco/alfresco-ng2-components/commit/4cfda763b6) Simulate a change to upstream adf (#10814)
- [ff0885c265](https://github.com/Alfresco/alfresco-ng2-components/commit/ff0885c265) AAE-34328 Remove additional space in amount widget currency (#10812)
- [068bcc89d3](https://github.com/Alfresco/alfresco-ng2-components/commit/068bcc89d3) Create a git tag for every release (#10811)
- [fdd4f6c081](https://github.com/Alfresco/alfresco-ng2-components/commit/fdd4f6c081) AAE-22975 update to the latest version of pdfjs-dist library (#10780)
- [0dc45e95af](https://github.com/Alfresco/alfresco-ng2-components/commit/0dc45e95af) [MNT-24715] App with APS does not show display value of dynamic table (#10799)
- [1f73f7fe40](https://github.com/Alfresco/alfresco-ng2-components/commit/1f73f7fe40) AAE-33955 Add placeholder for data table widget (preview) (#10796)
- [6fb9474d46](https://github.com/Alfresco/alfresco-ng2-components/commit/6fb9474d46) [ACS-9552] Add obsolete task list filters migration (#10798)
- [014fb9cfa8](https://github.com/Alfresco/alfresco-ng2-components/commit/014fb9cfa8) AAE-34100 Add group-with-sections process to simpleapp (#10791)
- [a426338f94](https://github.com/Alfresco/alfresco-ng2-components/commit/a426338f94) [MNT-24950] Fix process file preview button state (#10790)
- [c8f9bd21ea](https://github.com/Alfresco/alfresco-ng2-components/commit/c8f9bd21ea) [ACS-9454] Create upgrade guide for ADF 7.0.0 (#10779)
- [8eef4e6eec](https://github.com/Alfresco/alfresco-ng2-components/commit/8eef4e6eec) [ACS-9440] Language in lang attribute is not changed after changing language (#10776)
- [cd63f67e0a](https://github.com/Alfresco/alfresco-ng2-components/commit/cd63f67e0a) [ACS-5184] Show progress spinner on file navigation (#10596)
- [2d21340947](https://github.com/Alfresco/alfresco-ng2-components/commit/2d21340947) [AAE-33096] added rootProcessInstanceId to dynamic component (#10762)
- [8e0ea373f0](https://github.com/Alfresco/alfresco-ng2-components/commit/8e0ea373f0) [ACS-9406] Add getContentRenditionTypePreview to process-content service (#10743)
- [555e6c027f](https://github.com/Alfresco/alfresco-ng2-components/commit/555e6c027f) AAE-33025 Updated process definition type to support constant values (#10751)
- [142c6ae754](https://github.com/Alfresco/alfresco-ng2-components/commit/142c6ae754) AAE-33340 Async Form Enrichment - Spinner doesnt hide on process completion (#10749)
- [abaf7df9c6](https://github.com/Alfresco/alfresco-ng2-components/commit/abaf7df9c6) AAE-33007 Display empty data table without error (#10744)
- [9bbbc8193d](https://github.com/Alfresco/alfresco-ng2-components/commit/9bbbc8193d) AAE-33137 Asynchronous Form Enrichment does Not Populate Date Fields (#10746)
- [6703b8b7da](https://github.com/Alfresco/alfresco-ng2-components/commit/6703b8b7da) AAE-32763 Custom column visibility is not persistent after refresh (#10728)
- [083755b41a](https://github.com/Alfresco/alfresco-ng2-components/commit/083755b41a) [ACS-5190] document name text alignement and long name trim issue (#10715)
- [015ce8a99e](https://github.com/Alfresco/alfresco-ng2-components/commit/015ce8a99e) [ACS-9375] Transparent background for hovered spinner (#10691)
- [b643054a15](https://github.com/Alfresco/alfresco-ng2-components/commit/b643054a15) AAE-32999 Removed subscriptions-transport-ws feature flag (#10727)
Title:Changelog for alfresco-ng2-components v8.1.0
---
# Changelog
- [2e20c3da45](https://github.com/Alfresco/alfresco-ng2-components/commit/2e20c3da45) [ACS-9978] DynamicChipListComponent not rendered as expected (#11132)
- [bf8c68e05f](https://github.com/Alfresco/alfresco-ng2-components/commit/bf8c68e05f) [ACS-9978] DynamicChipListComponent not rendered as expected (#11128)
- [f81348997b](https://github.com/Alfresco/alfresco-ng2-components/commit/f81348997b) [ACS-10010] [ACA] Label position problem in some perform actions like 'send-email' (#11117)
- [81e307c81e](https://github.com/Alfresco/alfresco-ng2-components/commit/81e307c81e) AAE-32587 new custom screen registration api (#11120)
- [0e4fced94e](https://github.com/Alfresco/alfresco-ng2-components/commit/0e4fced94e) AAE-37073 Fix error message location and field not highlighting red for card-view-textitem component (#11115)
- [794bc92b4a](https://github.com/Alfresco/alfresco-ng2-components/commit/794bc92b4a) AAE-37293 core auth provider api (#11104)
- [5213621023](https://github.com/Alfresco/alfresco-ng2-components/commit/5213621023) AAE-37287 provideExtensions provider api for Angular standalone (#11103)
- [1fe4dd6fc9](https://github.com/Alfresco/alfresco-ng2-components/commit/1fe4dd6fc9) AAE-36822 Removes showNextTaskCheckbox input for the feature flag (#11066)
- [9a0b75caa1](https://github.com/Alfresco/alfresco-ng2-components/commit/9a0b75caa1) [ADF-5582] Fix avatar rendering logic in adf-node-comments (#10995)
- [8ef0aee768](https://github.com/Alfresco/alfresco-ng2-components/commit/8ef0aee768) AAE-36869 Handles error messages with wrong JSON format (#11078)
- [3eead3917e](https://github.com/Alfresco/alfresco-ng2-components/commit/3eead3917e) AAE-36582 Fix forms misalignment in form renderer (#11062)
- [b67d0a7886](https://github.com/Alfresco/alfresco-ng2-components/commit/b67d0a7886) [AAE-36538] Removed flex-direction:column for form section column large screens (#11090)
- [8978e24c79](https://github.com/Alfresco/alfresco-ng2-components/commit/8978e24c79) [AAE-36983] Updated translation keys in search-text-input.component.html (#11083)
- [bf7f7ebf9f](https://github.com/Alfresco/alfresco-ng2-components/commit/bf7f7ebf9f) AAE-36536 fix for root section and mobile form input layout (#11081)
- [a29d846f4a](https://github.com/Alfresco/alfresco-ng2-components/commit/a29d846f4a) AAE-35310 fixing alignment for checkboxes in sections (#11039)
- [7fbcfe7d6a](https://github.com/Alfresco/alfresco-ng2-components/commit/7fbcfe7d6a) AAE-36536 Allow form sections to be at the root level of form (#11070)
- [0706c9f6de](https://github.com/Alfresco/alfresco-ng2-components/commit/0706c9f6de) AAE-36388 Form Field alignment issues for one liner forms (#11054)
- [dcd15debf0](https://github.com/Alfresco/alfresco-ng2-components/commit/dcd15debf0) AAE-25571 Add title to file name (#11027)
- [19b69e024a](https://github.com/Alfresco/alfresco-ng2-components/commit/19b69e024a) AAE-33082 Fixing dropdown widget update value based on form rule (#11068)
- [71df219f94](https://github.com/Alfresco/alfresco-ng2-components/commit/71df219f94) AAE-36023 Making develop sync with ng18 backup branch (#11061)
- [49c0f44435](https://github.com/Alfresco/alfresco-ng2-components/commit/49c0f44435) Removed esm2022 check as is not supported anymore since Ng18 (#11058)
- [9a3ababb9c](https://github.com/Alfresco/alfresco-ng2-components/commit/9a3ababb9c) AAE-36716 fixing text-form-field blur mechanism in control Value Accessor (#11045)
- [d7ec3a1b77](https://github.com/Alfresco/alfresco-ng2-components/commit/d7ec3a1b77) AAE-35981 Form button customization (#11047)
- [06a9ddc068](https://github.com/Alfresco/alfresco-ng2-components/commit/06a9ddc068) AAE-36023 Some form fields are not properly aligned and cropped out ng19 (#11050)
- [0f9e4759ad](https://github.com/Alfresco/alfresco-ng2-components/commit/0f9e4759ad) AAE-0000 Added fix for stylus ban (#11051)
- [0b90affea4](https://github.com/Alfresco/alfresco-ng2-components/commit/0b90affea4) ACS-8770 Update the Auth Service api docs and deprecations (#9947)
- [45834e20f9](https://github.com/Alfresco/alfresco-ng2-components/commit/45834e20f9) AAE-36388 fixing form-field cut issue on preview (#11025)
- [f15014f295](https://github.com/Alfresco/alfresco-ng2-components/commit/f15014f295) [ACS-9880] Create ADF upgrade guide from 7.0.0 to 8.0.0 (#11029)
- [b28479b92b](https://github.com/Alfresco/alfresco-ng2-components/commit/b28479b92b) [AAE-32978] Move ADF "RichTextEditorComponent" to HxP monorepo (#10967)
- [89380f2905](https://github.com/Alfresco/alfresco-ng2-components/commit/89380f2905) [ACS-7266] checkboxes in sorting boxes are put on the right side of the text instead of the left side (#11009)
- [e5fcfde2ec](https://github.com/Alfresco/alfresco-ng2-components/commit/e5fcfde2ec) Post release version bump (#11021)
- [2e10d2c5c7](https://github.com/Alfresco/alfresco-ng2-components/commit/2e10d2c5c7) AAE-36718 Expose a landing page provider for the landing-page-token (#11020)
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.