* 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
* AAE-31996 Refresh button on filters not working code fix test
* AAE-31996 Altering the notification service for Refresh button
* AAE-31996 Refrehs button notifications issues fix
* updating to match develop
* AAE-31996 resolving PR comments and removing unwanted changes
* AAE-31996 resolving PR comments for units
* [AAE-31996] Refresh button on filters not working code fix test
* [AAE-31996] Altering the notification service for Refresh button
* [AAE-31996] Update typo in display-rich-text
* [ACS-8782] Added possibility to hide drag and drop hint from document list
* [ACS-8782] Unit tests for changes in document list component
* [ACS-8782] Added documentation for displayDragAndDropHint property
* [ACS-8782] Corrected path
* [MNT-24456] Allow to select multiple users and groups for task form
* [MNT-24456] Inputs styling
* [MNT-24456] Unit tests, fixed issue for selecting single group
* [MNT-24456] Fixed issue when completing forms with null instead of empty array
* [MNT-24456] Used UnitTestingUtils where possible
* Migrate to NG17
* [ci:force] - fixed deps
* [ci:force] - fixed build for testing 1
* Fixed build for all the packages
* [ci:force] - fixing lint
* [ci:force] - Fixed lint
* AAE-26163 Fix infinite loop when authentication error event occured (#10272)
* AAE-26163 Logout user after 3 login attempts failed, avoiding infinite loop when an authentication error occured, like when a user machine clock is significantly out of sync
* AAE-26163 Wait to discovery document to be loaded and user not authenticated to perform a ssoLogin, logout user if login fails after 3 attempts
* AAE-26163 Fix missed id_token_hint invoking logout when a login error occured due to a clock significantly out of sync
* AAE-26163 Add fake observable to unit test
* AAE-26163 Show oauth event logs if showDebugInformation is enabled, remove auth items if access token is not valid
* AAE-26163 Improve tryLogin error message
* AAE-26163 Check if token has expired to fix case when user access the application after the token is expired and with a clock significantly out of sync
* AAE-26163 Test logout when clock is out of sync
* AAE-26163 Create a service to check if local machine time is out of sync
* AAE-26163 Update oauthErrorEvent$ and combinedOAuthErrorsStream$ to return errors
* AAE-26163 Output error within combined oauth error event subscription
* AAE-26163 Fix lint problems
* AAE-26163 Logout user when token refresh error happens for the second time, if the token is not refreshed properly after first refresh error
* AAE-26163 Logout user once an oauth error event occur due to clock out of sync
* AAE-26163 Fix retry login error message if the OAuthErrorEvent doesn t return reason
* AAE-26163 Fix the issue where the logout API call is canceled by the authorize call when login fails due to clock synchronization problems, causing an infinite loop.
* remove console.log
* AAE-26163 Fix retry login error message if the OAuthErrorEvent reason is an empty object
* Cherry picked commit from oidc and run fix lint
* [MIGRATION] - fixed build and lint
* [MIGRATION] - Added injectionContext to avoid error NG0203 for unit tests
* [MIGRATION] - Moving mocha to jest
* [MIGRATION] - Fixing failing migrated tests
* [MIGRATION] - Migrating to Jest - working but some tests fails
* Trying to fix js-api unit tests
* Removing testing lib to sync with develop
* Fixed two excluded unit tests
* Removed unused project parts
* Removed unused project parts
* Reduced tserrors on building storybook
* Fixed sonarqube errors
* Removing temporarily eslint rule from publishing
* [MIGRATION] - Fixed lint
* [MIGRATION] - Fixed type
* [MIGRATION] - Rebased
* [MIGRATION] - Readded removed action
* [MIGRATION] - Checking deps
* [MIGRATION] - updated lock
* [ACS-9052] manage versions close button is too low (#10466)
* [ci:force] - Fixed lint
* [ACS-9052] Fixed close button in version manager position
* [ACS-9052] Reverted unwanted changes
---------
Co-authored-by: VitoAlbano <vito.albano.123@gmail.com>
* [MIGRATION] - fixed storybook builds
* [MIGRATION] - Checking if now eslint is releasable
* [MIGRATION] - Changing the building executor for eslint-rules
* Readded rule for peer deps
* Fixed wrong rule
* [ACS-9075] Fixed incorrect buttons labels color (#10489)
* Update package.json
* Fix ACA pipeline
* [ACS-9084] Fixed incorrect color for notification bell icon (#10513)
* Change dialog label padding
* [AAE-26767] - Fixed lint
* [AAE-26767] - Fixed lint
* updated dependencies
* AAE-30733 Fix incorrect alignment of icons in permission list header
* [MIGRATION] - sync package-lock
* [MIGRATION] - Fixed package on core lib
* [MIGRATION] - Removed unused lock
* Fixed licence
* [MIGRATION] - sync lock file
* [MIGRATION] - fixed lint issues
* [ACS-9271][ACA] Login page input labels are cut if the input is not empty (#10637)
* AAE-31453 Override card-view-textitem readonly color
---------
Co-authored-by: Amedeo Lepore <amedeo.lepore@hyland.com>
Co-authored-by: Ehsan Rezaei <ehsan.rezaei@hyland.com>
Co-authored-by: AleksanderSklorz <115619721+AleksanderSklorz@users.noreply.github.com>
Co-authored-by: DominikIwanek <dominik.iwanek@hyland.com>
Co-authored-by: swapnil-verma-gl <92505353+swapnil-verma-gl@users.noreply.github.com>
Co-authored-by: Wojciech Duda <69160975+wojd0@users.noreply.github.com>
Co-authored-by: dominikiwanekhyland <141320833+dominikiwanekhyland@users.noreply.github.com>
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).
@@ -200,7 +200,7 @@ The viewer component consists of separate Views that handle particular file type
For those extensions and mime types that cannot be natively displayed in the browser, the Viewer will try to fetch the corresponding rendition using the [renditions service api](../services/renditions.service.md).
For the full list of supported types please refer to: [File types that support preview and thumbnail generation](http://docs.alfresco.com/5.2/references/valid-transformations-preview.html).
For the full list of supported types please refer to: [File types that support preview and thumbnail generation](https://support.hyland.com/r/Alfresco/Alfresco-Content-Services/23.3/Alfresco-Content-Services/Administer/Transformation/File-types-that-support-preview-and-thumbnail-generation).
### Configuring PDF.js library
@@ -245,16 +245,17 @@ The Viewer supports dynamically-loaded viewer preview extensions, to know more a
You can define your own custom handler to override supported file formats or handle other file formats that are not yet supported by
the component. Below is an example that shows how to use the `adf-viewer-extension`
to handle 3D data files:
to handle 3D data files. `contentLoaded` should be an `EventEmitter` that will emit as soon as the component responsible for rendering finishes.
@@ -39,7 +39,7 @@ Implements a [search widget](../../../lib/content-services/src/lib/search/models
| Name | Type | Description |
| ---- | ---- | ----------- |
| field | string | Field to to use |
| format | string | Value format. Uses string substitution to allow all sorts of [range queries](https://docs.alfresco.com/5.2/concepts/rm-searchsyntax-ranges.html). |
| format | string | Value format. Uses string substitution to allow all sorts of [range queries](https://support.hyland.com/r/Alfresco/Alfresco-Search-Services/2.0/Alfresco-Search-Services/Using/Full-text-search-reference/Search-for-ranges). |
| hideDefaultAction | boolean | Show/hide the widget actions. By default is false. |
## Details
@@ -50,7 +50,7 @@ in a search query.
#### Range query format
See the [Search for ranges](https://docs.alfresco.com/5.2/concepts/rm-searchsyntax-ranges.html) page in the ACS docs for more information about the date range format.
See the [Search for ranges](https://support.hyland.com/r/Alfresco/Alfresco-Governance-Services/23.4/Alfresco-Governance-Services/Using/Searching-records/Advanced-search-options) page in the ACS docs for more information about the date range format.
The `format` setting specifies how the date is displayed textually. Most of the format is
displayed as-is but you can use `{FROM}` and `{TO}` markers to interpolate the range limits
@@ -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.
@@ -69,7 +69,7 @@ Displays the Start [`Form`](../../../lib/process-services/src/lib/task-list/mode
The [Start Process component](../../process-services/components/start-process.component.md) uses the Start [`Form`](../../../lib/process-services/src/lib/task-list/models/form.model.ts) component
@@ -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
@@ -205,22 +206,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
@@ -185,10 +187,9 @@ npm install pdfjs-dist
```ts
// PDF.js
require('pdfjs-dist/web/compatibility.js');
constpdfjsLib=require('pdfjs-dist');
pdfjsLib.PDFJS.workerSrc='./pdf.worker.js';
require('pdfjs-dist/web/pdf_viewer.js');
pdfjsLib.PDFJS.workerSrc='./pdf.worker.min.mjs';
require('pdfjs-dist/web/pdf_viewer.mjs');
```
- Update the `plugins` section of the `webpack.common.js` file with the following lines:
Returns a value of the form variable that matches the identifier. Provides additional conversion of types (date, boolean).
-`getProcessVariableValue(name: string): any`
Returns a process variable value. When mapping a process variable with a form variable the mapping is already resolved by the rest API with the name of variables.formVariableName.
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
@@ -111,6 +111,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. |
## Details
@@ -252,13 +253,29 @@ There are two other functions that can be very useful when you need to control f
### Field Validators
You can supply a set of validator objects to the form using the `fieldValidators`
property. Each validator implements a check for a particular type of data (eg, a
date validator might check that the date in the field falls between 1980 and 2017).
You can supply a set of validator objects to the form using the `fieldValidators` property. To do this you must use Token `FORM_CLOUD_FIELD_VALIDATORS_TOKEN`. This is a A DI token that allows to inject additional form field validators. Each validator implements a check for a particular type of data (eg, a date validator might check that the date in the field falls between 1980 and 2017).
ADF supplies a standard set of validators that handle most common cases but you can
also implement your own custom validators to replace or extend the set. See the
[Form Field Validator](../../core/interfaces/form-field-validator.interface.md) interface for full details and examples.
| 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 v7.0.0
---
# Changelog
- [d5bd97e3d2](git@github.com:Alfresco/alfresco-ng2-components/commit/d5bd97e3d2) [AAE-27160] Fix the structure of data returned from service-tasks API (#10711)
- [5912423f96](git@github.com:Alfresco/alfresco-ng2-components/commit/5912423f96) [AAE-32862] Unit Tests not triggered in pull request for alfresco-ng2-components (process-services-cloud) (#10718)
- [f692c1620f](git@github.com:Alfresco/alfresco-ng2-components/commit/f692c1620f) AAE-28935 Add form-styling-process to simpleapp (#10713)
- [1f0f8dc6fd](git@github.com:Alfresco/alfresco-ng2-components/commit/1f0f8dc6fd) [ACS-9371] Migrate docs from docs.alfresco to support.hyland (#10708)
- [677150e9d3](git@github.com:Alfresco/alfresco-ng2-components/commit/677150e9d3) AAE 31996 refresh button on filters not working as expected (#10712)
- [a74388513e](git@github.com:Alfresco/alfresco-ng2-components/commit/a74388513e) AAE-32255 Start Process button in start event is showing and failing for form with custom outcomes (#10697)
- [08fd1f3d12](git@github.com:Alfresco/alfresco-ng2-components/commit/08fd1f3d12) Revert "AAE 31996 refresh button on filters not working as expected (#10698)" (#10709)
- [fe372dba59](git@github.com:Alfresco/alfresco-ng2-components/commit/fe372dba59) AAE-30886 Upgrade editorjs-html version in process-services-cloud (#10707)
- [946fe889e1](git@github.com:Alfresco/alfresco-ng2-components/commit/946fe889e1) AAE 31996 refresh button on filters not working as expected (#10698)
- [f8f72edeb9](git@github.com:Alfresco/alfresco-ng2-components/commit/f8f72edeb9) AAE-32493 Add error handling for loading task (#10692)
- [f7e521607c](git@github.com:Alfresco/alfresco-ng2-components/commit/f7e521607c) [MNT-24909] Check if property constraint is handled by validators available in ADF (#10696)
- [97970735fe](git@github.com:Alfresco/alfresco-ng2-components/commit/97970735fe) AAE-32478 Asynchronous Form - update datatable on variable change (#10693)
- [b1ff467b9a](git@github.com:Alfresco/alfresco-ng2-components/commit/b1ff467b9a) [AAE-30886] - Upgrade to latest editorjs (#10672)
- [cc9eca6bea](git@github.com:Alfresco/alfresco-ng2-components/commit/cc9eca6bea) Move Storybook under dev-dependencies (#10690)
- [8dceb5fb1d](git@github.com:Alfresco/alfresco-ng2-components/commit/8dceb5fb1d) [ACS-9225] serious a11y testing side bar elements must meet minimum color contrast ratio thresholds (#10687)
- [1422604991](git@github.com:Alfresco/alfresco-ng2-components/commit/1422604991) [ACS-9233] a11y testing: Edit Aspects - Interactive controls must not be nested (#10680)
- [ac11fa8a65](git@github.com:Alfresco/alfresco-ng2-components/commit/ac11fa8a65) AAE-30141 Replace ngIf for asterix with style visibility (#10665)
- [58fa965d3f](git@github.com:Alfresco/alfresco-ng2-components/commit/58fa965d3f) [ACS-9224] Fixed critical accessibility issues in datatable.component (#10679)
- [0c725a1c90](git@github.com:Alfresco/alfresco-ng2-components/commit/0c725a1c90) [AAE-30863] updated validators to set proper button state (#10667)
- [1e98f2f472](git@github.com:Alfresco/alfresco-ng2-components/commit/1e98f2f472) AAE-30777 Add process and form that allow checking all widget inputs in the e2e tests (#10678)
- [7bfe27dda9](git@github.com:Alfresco/alfresco-ng2-components/commit/7bfe27dda9) [ACS-8782] list of frozen files under a hold (#10663)
- [f39f104d45](git@github.com:Alfresco/alfresco-ng2-components/commit/f39f104d45) AAE-30864 Refactored services to accept injected validators (#10660)
- [70d899f5ba](git@github.com:Alfresco/alfresco-ng2-components/commit/70d899f5ba) AAE-31453 Revert change to text cardview color (#10657)
- [3c7e8e84ff](git@github.com:Alfresco/alfresco-ng2-components/commit/3c7e8e84ff) AAE-31712 Custom theme fix after ng17 update (#10661)
- [ca4dcf85f4](git@github.com:Alfresco/alfresco-ng2-components/commit/ca4dcf85f4) [ACS-9223] a11y testing: Data Table - Form elements must have labels (#10659)
- [e4feb68381](git@github.com:Alfresco/alfresco-ng2-components/commit/e4feb68381) [ACS-9266][ACS-9234] Make notification and user menu accessible with keyboard (#10647)
- [808f836259](git@github.com:Alfresco/alfresco-ng2-components/commit/808f836259) [MNT-24456] aps with adw multi user and group fields do not accept multiple values (#10636)
- [430ca84c77](git@github.com:Alfresco/alfresco-ng2-components/commit/430ca84c77) [AAE-0000] - bumping the prerelease version (#10645)
- [ca1842e93f](git@github.com:Alfresco/alfresco-ng2-components/commit/ca1842e93f) AAE-30827 correction in simpleapp - removed invalid form outcome for previously added form (#10642)
- [2284ede0c7](git@github.com:Alfresco/alfresco-ng2-components/commit/2284ede0c7) AAE-30110 Render sections in runtime (#10599)
- [287519ee24](git@github.com:Alfresco/alfresco-ng2-components/commit/287519ee24) [ACS-9252] Create Button Not Enabled After Resolving Duplicate Folder Name Warning (#10635)
- [2784310556](git@github.com:Alfresco/alfresco-ng2-components/commit/2784310556) [ACS-9230] a11y testing: Search Page / Search Filters / Certain ARIA roles must contain particular children (#10627)
- [0edbae8c59](git@github.com:Alfresco/alfresco-ng2-components/commit/0edbae8c59) AAE-25579 Toggle logs for skipped karma unit tests (#10601)
- [97fdeb4d34](git@github.com:Alfresco/alfresco-ng2-components/commit/97fdeb4d34) [AAE-30888] - used updated package to handle change font size (#10624)
- [265c8e8a56](git@github.com:Alfresco/alfresco-ng2-components/commit/265c8e8a56) AAE-28655 Fix for datatable not scrolling back up after paginations (#10605)
- [e5281e7ff0](git@github.com:Alfresco/alfresco-ng2-components/commit/e5281e7ff0) HXPMNT-542 display email for people (#10622)
- [dcb7e4067c](git@github.com:Alfresco/alfresco-ng2-components/commit/dcb7e4067c) AAE-25571 Add column title to widget (#10620)
- [a1a3f97ec8](git@github.com:Alfresco/alfresco-ng2-components/commit/a1a3f97ec8) [AAE-30879] - removed unsupported minimatch version in favor or a ESM… (#10617)
- [0c753278e5](git@github.com:Alfresco/alfresco-ng2-components/commit/0c753278e5) AAE-27984 Fix fieldValueChanged called on init and blur for date widgets (#10621)
- [1fc0f0a6a4](git@github.com:Alfresco/alfresco-ng2-components/commit/1fc0f0a6a4) AAE-30563 Fix for dropdown IsRequired validator (#10616)
- [34855a840a](git@github.com:Alfresco/alfresco-ng2-components/commit/34855a840a) AAE-30563 Required Form Drop down with default selection (#10614)
- [43f3a5b55f](git@github.com:Alfresco/alfresco-ng2-components/commit/43f3a5b55f) AAE-30771 Show username on hover in people component (#10603)
- [3b95e4ab25](git@github.com:Alfresco/alfresco-ng2-components/commit/3b95e4ab25) [ACS-9119] Fixed textOrientation getting reset on arabic after browser refresh (#10591)
- [4124a49f41](git@github.com:Alfresco/alfresco-ng2-components/commit/4124a49f41) AAE-30141 Fix broken amount field (#10588)
- [056268e6c7](git@github.com:Alfresco/alfresco-ng2-components/commit/056268e6c7) AAE-30170 uploading simpleapp version 62
- [9d7b985f91](git@github.com:Alfresco/alfresco-ng2-components/commit/9d7b985f91) 30170 - update simpleapp for XAT-1209 - adding process and form
- [cdd93dbe57](git@github.com:Alfresco/alfresco-ng2-components/commit/cdd93dbe57) AAE-30170 added : to readme
- [ac29c2b294](git@github.com:Alfresco/alfresco-ng2-components/commit/ac29c2b294) updated simpleapp for AAE-30170
- [91ffd96100](git@github.com:Alfresco/alfresco-ng2-components/commit/91ffd96100) AAE-30168 Form Display Value does not show date variable (#10593)
- [40d9c750d6](git@github.com:Alfresco/alfresco-ng2-components/commit/40d9c750d6) Revert "updated simpleapp for AAE-30170" (#10597)
- [eaa1008018](git@github.com:Alfresco/alfresco-ng2-components/commit/eaa1008018) [ACS-8824] Disable node properties save button if values are invalid (#10560)
- [1634716bbe](git@github.com:Alfresco/alfresco-ng2-components/commit/1634716bbe) [ACS-4749] add button is enabled for comment contains only spaces (#10577)
- [e6278109d8](git@github.com:Alfresco/alfresco-ng2-components/commit/e6278109d8) [ACS-8582] Introduce UnitTestingUtils class and transform existing tests in core library (#10571)
- [c4b3b9f3d4](git@github.com:Alfresco/alfresco-ng2-components/commit/c4b3b9f3d4) AAE-30596 Fix required reactive widgets do not visibility conditions (#10595)
- [35aec24c0f](git@github.com:Alfresco/alfresco-ng2-components/commit/35aec24c0f) Revert "Revert "[ACS-9166] Migrate Saved Searches to preferences API from con…" (#10594)
- [78e527f7df](git@github.com:Alfresco/alfresco-ng2-components/commit/78e527f7df) AAE-30170 added : to readme
- [86283f087f](git@github.com:Alfresco/alfresco-ng2-components/commit/86283f087f) updated simpleapp for AAE-30170
- [35a1f0b885](git@github.com:Alfresco/alfresco-ng2-components/commit/35a1f0b885) Post release version bump (#10589)
- [8b95829e95](git@github.com:Alfresco/alfresco-ng2-components/commit/8b95829e95) AAE-29996 Fix task filter counters in new API (#10590)
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)
@@ -124,7 +124,7 @@ In this release, the [Viewer component](../core/components/viewer.component.md)
- Thumbnails for PDF view, with the option to provide your own Thumbnails template if needed
- Image view now features a floating action toolbar with extra actions: zoom in/out, rotate, reset to default size
- Image view now supports panning of the images. Hardware-accelerated styles were used to enable panning of zoomed in or large images with the highest performance and efficiency
- The viewer has greatly improved maintenance of the Renditions (see possible conversion options here: [File types that support preview and thumbnail generation | Alfresco Documentation](https://docs.alfresco.com/5.2/references/valid-transformations-preview.html) )
- The viewer has greatly improved maintenance of the Renditions (see possible conversion options here: [File types that support preview and thumbnail generation | Alfresco Documentation](https://support.hyland.com/r/Alfresco/Alfresco-Content-Services/23.3/Alfresco-Content-Services/Administer/Transformation/File-types-that-support-preview-and-thumbnail-generation) )
- Support for "carousel" modes and document navigation options (extra buttons you can enable and provide handlers for). This feature will be fully demonstrated in the upcoming "Alfresco Content Application" release.
- It is now possible to provide custom menu buttons for the Viewer toolbar. See more details in the docs: [alfresco-ng2-components/viewer.component.md at development · Alfresco/alfresco-ng2-components · GitHub ](../core/components/viewer.component.md#custom-toolbar-buttons)
@@ -125,7 +125,7 @@ The **[`Form`](../../lib/process-services/src/lib/task-list/models/form.model.ts
### Share link with expiry date
Some extra information is now available for shared links: expiry date. The earliest date accepted is at least 24h after the time you created it (following the ACS specification : [here](https://docs.alfresco.com/5.2/concepts/repository-properties.html) is the link). This is embedded into the **[Share Dialog Component](../../lib/content-services/content-node-share/content-node-share.dialog.ts)** and will be automatically shown when the share dialog is displayed.
Some extra information is now available for shared links: expiry date. The earliest date accepted is at least 24h after the time you created it (following the ACS specification : [here](https://support.hyland.com/r/Alfresco/Alfresco-Content-Services/23.3/Alfresco-Content-Services/Administer/Content-stores) is the link). This is embedded into the **[Share Dialog Component](../../lib/content-services/content-node-share/content-node-share.dialog.ts)** and will be automatically shown when the share dialog is displayed.
| [**Prerequisites and the requirements**](creating-your-first-adf-application.md) | Basic | In this tutorial you are going to learn how to create a very basic (and almost “empty”) ADF-based application that you can start enriching with features, behaviors and customizations. The creation of this basic ADF-based application is possible through a scaffolding tool called [Yeoman]\(https://yeoman.io/ "https://yeoman.io/"), which makes this task very straightforward. |
| [**Creating your Alfresco JavaScript application**](creating-javascript-app-using-alfresco-js-api.md) | Basic | In this tutorial you will learn how to create an application in JavaScript from scratch to interact with Alfresco. |
| [**Using ADF Components**](using-components.md) | Basic | In this tutorial, you will learn how to extend, use, and configure ADF Components. |
| [**Basic theming**](basic-theming.md) | Beginner | In this tutorial you will see how to theme an ADF app by modifying the CSS. |
| [**Working with a Data Table**](working-with-data-table.md) | Intermediate | In this tutorial you will learn how to populate a DataTable component. |
| [**Working with the Nodes API Service**](working-with-nodes-api-service.md) | Intermediate | In this tutorial you will learn how to use the [`NodesApiService`](../core/services/nodes-api.service.md). |
| [**Working with Nodes using the JS API**](working-with-nodes-js-api.md) | Intermediate | In this tutorial you will learn how to use the [`AlfrescoCoreRestApi`](https://github.com/Alfresco/alfresco-js-api/tree/master/src/alfresco-core-rest-api). |
In this tutorial you will see how to theme an ADF app by modifying the CSS.
As detailed in the [user guide page about theming](../user-guide/theming.md), you can easily customize the [Cascading Style Sheets](https://en.wikipedia.org/wiki/Cascading_Style_Sheets) used by an ADF application. The focus of this tutorial is ADF apps built using Yeoman, but you can use the same principles to customize the themes in any ADF application.
## About the `adf-core` theming
As described in the [user guide about theming](../user-guide/theming.md), eveything happens in the `src/custom-style.scss` file defining the *primary*, the *accent* and the *warn* set of palettes. For a detailed description of the different types of palettes, check the [user guide about theming](../user-guide/theming.md).
As you can see directly in the `css` file, the sets of palettes are configured using some predefined variables used in the source code as described below.
$primary: mat-palette($alfresco-accent-orange);
$accent: mat-palette($alfresco-accent-purple);
$warn: mat-palette($alfresco-warn);
The `mat-palette` function is used to define the [Material Design](https://material.io/design/introduction/) Palettes from a collection of colors and `$alfresco-ecm-cyan`, `$alfresco-accent-purple` and `$alfresco-warn` are variables declared locally in the project to define the colors to be used in the application.
As you would expect, changing the parameter of the `mat-palette` function will change the colours of the entire application together.
All the available variables containing the set of palettes for the application can be found in the `node_modules/@alfresco/adf-core/_theming.css` file. In that file you can find:
- `$alfresco-ecm-cyan`
- `$alfresco-dev-teal`
- `$alfresco-ecm-blue`
- `$alfresco-bpm-green`
- `$alfresco-warn`
- `$alfresco-accent-purple`
- `$alfresco-accent-orange`
Check the `_theming.css` file to see the latest changes and how the variables are structured and defined.
## Changing the palette of your application
As an example, let's change the set of palettes for the primary colours. In the `src/custom-style.scss` file, change the `$primary` definition as follows.
$primary: mat-palette($alfresco-ecm-blue);
Once done, save the `custom-style.scss` file and you will see the application refreshed with different colours. That's all there is to it.
## Developing your own palette
In some cases you might want to do something more "customized", and you might want to choose your preferred colours for your application. In this case you simply need to develop your own palette in a local variable and use it as the primary, accent or warn palette.
As an example, let's edit the `src/custom-style.scss` file adding the following source code immediately before the definition of the `$primary` variable.
$my-own-brown: (
50: #f9f2ec,
100: #ecd9c6,
200: #dfbf9f,
300: #d2a679,
400: #c68c53,
500: #ac7339,
600: #86592d,
700: #604020,
800: #392613,
900: #130d06,
A100: #e6ccb3,
A200: #cc9966,
A400: #996633,
A700: #4d3319,
contrast: (
50: $black-87-opacity,
100: $black-87-opacity,
200: $black-87-opacity,
300: $black-87-opacity,
400: $black-87-opacity,
500: white,
600: white,
700: white,
800: $white-87-opacity,
900: $white-87-opacity,
A100: $black-87-opacity,
A200: white,
A400: white,
A700: white,
)
);
When you have done this, replace the `$primary` definition as follows and save the `custom-style.scss` file:
$primary: mat-palette($my-own-brown);
After a few seconds you will see the application refreshing with different colours in the upper menu. In the following screenshot you can see how the new palette looks:
> The configuration values are for migration purposes only.
> Please refer to the documentation for more details on the configuration settings and values.
## Library versions
Update the `package.json` file with the latest library versions:
- Angular: 14.1.3
- Alfresco Component Libraries: 6.9.0
- Alfresco JS-API: 7.6.1
```json
{
"dependencies": {
"@alfresco/adf-core": "6.9.0",
"@alfresco/adf-content-services": "6.9.0",
"@alfresco/adf-process-services-cloud": "6.9.0",
"@alfresco/adf-insights": "6.9.0",
"@alfresco/js-api": "7.6.1"
}
}
```
> [!NOTE]
> You can also refer to the Alfresco Content Application [4.4.1 release](https://github.com/Alfresco/alfresco-content-app/blob/4.4.1/package.json) for the latest version of the libraries.
### Remove old dependencies
```json
{
"dependencies": {
"@angular/material-moment-adapter": "14.1.3",
"@mat-datetimepicker/moment": "^9.0.68",
"moment": "^2.29.4",
"moment-es6": "1.0.0",
"@angular/flex-layout": "^14.0.0-beta.40"
}
}
```
### Add extra dependencies
```json
{
"dependencies": {
"@angular/material-date-fns-adapter": "14.1.3",
"date-fns": "^2.30.0"
}
}
```
Reinstall your dependencies and make initial build
```sh
npm i --legacy-peer-deps
npm run build
```
### Update code
If you are using the `@alfresco/js-api` library, make sure to update the code according to the latest version:
| Before | After |
|------------------------|--------------------|
| MinimalNodeEntity | NodeEntry |
| SiteBody | SiteBodyCreate |
| MinimalNodeEntryEntity | Node |
| MinimalNode | Node |
| PathInfoEntity | PathInfo |
| SiteBody | SiteBodyCreate |
| FavoriteBody | FavoriteBodyCreate |
| PathElementEntity | PathElement |
#### NullInjectorError: No provider for RedirectAuthService!
If you are facing the `NullInjectorError: No provider for RedirectAuthService!` error, make sure to add the `AuthModule` to the `AppModule`:
```typescript
import { AuthModule } from '@alfresco/adf-core';
@NgModule({
imports: [
// other imports
AuthModule.forRoot({ useHash: true })
]
})
export class AppModule {}
```
For the development purposes, you may want to update the `app.config.json`:
```json5
{
"oauth2": {
// other configurations
"skipIssuerCheck": true,
"strictDiscoveryDocumentValidation": false
}
}
```
### Document List component
For document list components, remove the `display` property if used:
```html
[display]="documentDisplayMode$ | async"
```
## Final steps
After you have updated the code, make sure to test your application thoroughly to ensure that everything is working as expected.
You can build and run your application using the following commands:
Angular updates can be done with "Update Guide" from Angular documentation.
### Added libraries:
- eslint-plugin-storybook
- jasmine-marbles
- @editorjs/paragraph
- editorjs-text-alignment-blocktune
- graphql-ws
### Deleted libraries:
- protractor
- selenium-webdriver
- webdriver-manager
- shx
- monaco-editor
- ngx-monaco-editor-v2
- @types/selenium-webdriver
- protractor-retry-angular-cli
- protractor-screenshoter-plugin
- protractor-smartrunner
Reinstall your dependencies and make initial build:
```shell
npm i
npm run build
```
Review your applications as some styles and classes of Angular Material components might have changed.
## Demo-Shell and e2e
Demo shell and its e2e tests have been deleted.
## Material module
Material module is deprecated and will be removed in a future release. Please import components and modules independently.
## Standalone components
Most components have been changed to "standalone" and their modules have been deleted. Please import components directly.
| Deleted modules |
|--------------------------------|
| AttachmentModule |
| AppsListModule |
| TaskListModule |
| ProcessListModule |
| ProcessUserInfoModule |
| TaskCommentsModule |
| ProcessCommentsModule |
| PeopleModule |
| DynamicTableModule |
| ContentWidgetModule |
| AnalyticsProcessModule |
| DiagramsModule |
| ButtonsMenuModule |
| SitesDropdownModule |
| DataColumnModule |
| ContentUserInfoModule |
| AppCardViewModule |
| AppCloudSharedModule |
| FileViewModule |
| AppProcessListModule |
| FolderDirectiveModule |
| ContentTypeModule |
| SortingPickerModule |
| ProcessServicesCloudPipeModule |
| StartTaskCloudModule |
| ProcessDirectiveModule |
| StartProcessCloudModule |
| TaskDirectiveModule |
## Removed components, directives and pipes
| Deleted components, directives and pipes |
|------------------------------------------|
| IsIncludedPipe |
| TabLabelsPipe |
| BooleanPipe |
| FilterOutArrayObjectsByPropPipe |
| LocalizedRolePipe |
| MimeTypeIconPipe |
| FilterStringPipe |
| ProcessNameCloudPipe |
| FormStylePipe |
| CancelProcessDirective |
| MomentDateTimePipe |
| MomentDatePipe |
## A11y changes
Components have been reviewed and changed to fix most important issues with accessibility. Please test your application thoroughly to ensure that everything is working as expected, as some components have changed their structure, html roles or attributes.
| Tooltips | Tooltips have been changed from Angular Material to standard tooltip |
| Search Page and Search Filters | mat-chip-option replaced with mat-chip |
| Columns Selector | role attribute changes |
| DataTable | role attribute changes |
| Aspect List | structure of html changed |
## Guards
All guards have been converted to functional guards (using the new Angular functional route guard pattern). Please review any custom guards in your application and adapt them to the functional pattern as needed.
Example of converting a class-based guard to a functional guard:
| TaskDetailsModel | TaskRepresentation | Rename all instances |
| IdentityUserFilterInterface | Removed | Use type definitions instead |
| IdentityUserServiceInterface | Removed | Use type definitions instead |
| TaskCloudServiceInterface | Removed | Use type definitions instead |
## Final steps
After you have updated the code, make sure to test your application thoroughly to ensure that everything is working as expected. Pay special attention to areas that use the renamed models or interfaces, and make sure all components are properly imported as standalone components.
If you encounter any issues during the upgrade process, refer to the Angular update guide or the ADF community for assistance.
Major version updates have been applied to the following core libraries:
- Angular: 19.2.6
- Angular Material: 19.2.9
- Typescript: 5.8.2
> Details on Angular update can be found in *Update Guide* from Angular documentation.
### Added libraries
```json
{
"dependencies": {
"node-fetch": "^3.3.2"
},
"devDependencies": {
"resize-observer-polyfill": "^1.5.1",
"webdriver-manager": "12.1.9"
}
}
```
### Deleted libraries
```json
{
"devDependencies": {
"mini-css-extract-plugin": "X.X.X",
"css-loader": "X.X.X"
}
}
```
Reinstall your dependencies and perform an initial build:
```shell
npm i
npm run build
```
Review your applications as some styles and classes of Angular Material components might have changed.
## Deprecations
The following table lists deprecated features and modules that will be removed in upcoming releases. Consider replacing them as soon as you update ADF to minimize future technical debt.
You can start using the new features and APIs introduced in the 8.0.0 release.
### XMLHttpRequest.withCredentials
Support for disabling the `withCredentials` property in `app.config.json` for identity providers that disallow credentials has been introduced. You can configure it as shown below:
```json
{
"auth": {
"withCredentials": false
}
}
```
### provideShell
The new provideShell API for providing the main application layout can replace the `withRoutes(routes: Routes | AppShellRoutesConfig)` method, as shown below.
```typescript
import { provideShell } from '@alfresco/adf-core/shell';
provideShell(
{
routes: [],
appService: AppService,
authGuard: AuthGuard,
navBar: {
minWidth: 0,
maxWidth: 100
}
}
)
```
### provideI18N
The new `provideI18N` API for providing translation can replace `provideTranslations('app', 'assets')` method, as shown below.
```typescript
import { provideI18N } from '@alfresco/adf-core';
provideI18N(
{
defaultLanguage: "en", // optional, defaults to "en"
After updating your code, thoroughly test your application to ensure everything works as expected.
If you encounter any issues during the upgrade process, refer to the Angular update guide or seek assistance from the ADF community.
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.