Compare commits

...
6 Commits
Author SHA1 Message Date
VitoAlbano 4e17dfd1a8 [ci:force] 2024-09-01 23:31:10 +01:00
VitoAlbano acf4e2dc7c [MIGRATION] - Fixed print-affected action 2024-09-01 23:30:51 +01:00
VitoAlbano caf2b5ccb4 [ci:force] 2024-09-01 23:24:35 +01:00
VitoAlbano 68c22819dd [MIGRATION] - Build fix and lint skipped rule 2024-09-01 23:04:17 +01:00
VitoAlbano 3330c62e5b NG16 - fixed the builds 2024-09-01 23:02:55 +01:00
VitoAlbano 8d66c782b9 NG-16 - migration step 1 2024-09-01 23:02:55 +01:00
112 changed files with 14013 additions and 14918 deletions
+2
View File
@@ -9,3 +9,5 @@ scripts
/angular.json
docs/**/*.md
lib/js-api/docs/**/*.md
webpack.config.js
.storybook
+6 -5
View File
@@ -12,7 +12,7 @@ module.exports = {
'**/docs'
],
plugins: ['@nrwl/nx'],
plugins: ['@nx'],
overrides: [
{
@@ -22,11 +22,10 @@ module.exports = {
createDefaultProgram: true
},
extends: [
'plugin:@nrwl/nx/typescript',
'plugin:@nrwl/nx/angular',
'plugin:@nx/typescript',
'plugin:@nx/angular',
'plugin:@cspell/recommended',
'plugin:@angular-eslint/ng-cli-compat',
'plugin:@angular-eslint/ng-cli-compat--formatting-add-on',
'plugin:@angular-eslint/recommended',
'plugin:@angular-eslint/template/process-inline-templates',
'plugin:jsdoc/recommended-typescript-error'
],
@@ -45,6 +44,7 @@ module.exports = {
rules: {
// Uncomment this to enable prettier checks as part of the ESLint
// 'prettier/prettier': 'error',
'ban/ban': [
'error',
{ name: 'eval', message: 'Calls to eval is not allowed.' },
@@ -75,6 +75,7 @@ module.exports = {
'@angular-eslint/no-input-prefix': 'error',
'@typescript-eslint/consistent-type-definitions': 'error',
'@typescript-eslint/dot-notation': 'off',
'@typescript-eslint/no-empty-function': 'off',
'@typescript-eslint/explicit-member-accessibility': [
'off',
{
File diff suppressed because it is too large Load Diff
@@ -2,7 +2,7 @@ const core = require('@actions/core');
const exec = require('@actions/exec');
async function run() {
const base = core.getInput('base', {required: false }) || '5288597580';
const base = core.getInput('base', { required: false }) || '5288597580';
core.setOutput('affected_is_empty', 'true');
let affected = '';
@@ -11,15 +11,15 @@ async function run() {
const options = {};
options.listeners = {
stdout: (data) => {
affected += data.toString()
},
affected += data.toString();
},
stderr: (data) => {
myError += data.toString();
}
};
await exec.exec(`npx nx print-affected --target=build --select=tasks.target.project --base=${base} --head=${head}`, [], options)
await exec.exec(`npx nx show projects --affected --target=build --select=tasks.target.project --base=${base} --head=${head}`, [], options);
const affectedTrimmed = affected.trim();
if (affectedTrimmed !== '') {
core.setOutput('affected_is_empty', 'false');
@@ -29,4 +29,4 @@ async function run() {
core.setOutput('affected', affectedTrimmed);
}
run();
run();
+1 -1
View File
@@ -208,7 +208,7 @@ jobs:
npx nx run js-api:bundle
npx nx run cli:bundle
npx nx run testing:bundle
- run: npx nx print-affected $NX_CALCULATION_FLAGS
- run: npx npx nx show projects --affected $NX_CALCULATION_FLAGS
- uses: ./.github/actions/upload-node-modules-and-artifacts
unit-tests:
+1 -1
View File
@@ -6,5 +6,5 @@ module.exports = {
staticDirs: [{ from: '../../../demo-shell/src/app.config.json', to: 'app.config.json' }],
docs: {},
stories: [],
addons: []
addons: ['@chromatic-com/storybook']
};
+1 -1
View File
@@ -2,4 +2,4 @@ export const parameters = {
docs: { inlineStories: true },
controls: { expanded: true }
};
export const tags = ['autodocs'];
export const tags = ['autodocs', 'autodocs', 'autodocs'];
+41 -43
View File
@@ -21,35 +21,35 @@
* - Delete and reinstall your node_modules
*/
const fs = require("fs");
const os = require("os");
const cp = require("child_process");
const isWindows = os.platform() === "win32";
const fs = require('fs');
const os = require('os');
const cp = require('child_process');
const isWindows = os.platform() === 'win32';
const output = require('nx/src/utils/output').output;
/**
* Paths to files being patched
*/
const angularCLIInitPath = "node_modules/@angular/cli/lib/cli/index.js";
const angularCLIInitPath = 'node_modules/@angular/cli/lib/cli/index.js';
/**
* Patch index.js to warn you if you invoke the undecorated Angular CLI.
*/
function patchAngularCLI(initPath) {
const angularCLIInit = fs.readFileSync(initPath, "utf-8").toString();
const angularCLIInit = fs.readFileSync(initPath, 'utf-8').toString();
if (!angularCLIInit.includes("NX_CLI_SET")) {
fs.writeFileSync(
initPath,
`
if (!angularCLIInit.includes('NX_CLI_SET')) {
fs.writeFileSync(
initPath,
`
if (!process.env['NX_CLI_SET']) {
const { output } = require('@nrwl/workspace');
const { output } = require('@nx/workspace');
output.warn({ title: 'The Angular CLI was invoked instead of the Nx CLI. Use "npx ng [command]" or "nx [command]" instead.' });
}
${angularCLIInit}
`
);
}
);
}
}
/**
@@ -57,39 +57,37 @@ ${angularCLIInit}
* invoke the Nx CLI and get the benefits of computation caching.
*/
function symlinkNgCLItoNxCLI() {
try {
const ngPath = "./node_modules/.bin/ng";
const nxPath = "./node_modules/.bin/nx";
if (isWindows) {
/**
* This is the most reliable way to create symlink-like behavior on Windows.
* Such that it works in all shells and works with npx.
*/
["", ".cmd", ".ps1"].forEach(ext => {
fs.writeFileSync(ngPath + ext, fs.readFileSync(nxPath + ext));
});
} else {
// If unix-based, symlink
cp.execSync(`ln -sf ./nx ${ngPath}`);
try {
const ngPath = './node_modules/.bin/ng';
const nxPath = './node_modules/.bin/nx';
if (isWindows) {
/**
* This is the most reliable way to create symlink-like behavior on Windows.
* Such that it works in all shells and works with npx.
*/
['', '.cmd', '.ps1'].forEach((ext) => {
fs.writeFileSync(ngPath + ext, fs.readFileSync(nxPath + ext));
});
} else {
// If unix-based, symlink
cp.execSync(`ln -sf ./nx ${ngPath}`);
}
} catch (e) {
output.error({
title: 'Unable to create a symlink from the Angular CLI to the Nx CLI:' + e.message
});
throw e;
}
} catch (e) {
output.error({
title:
"Unable to create a symlink from the Angular CLI to the Nx CLI:" +
e.message
});
throw e;
}
}
try {
symlinkNgCLItoNxCLI();
patchAngularCLI(angularCLIInitPath);
output.log({
title: "Angular CLI has been decorated to enable computation caching."
});
symlinkNgCLItoNxCLI();
patchAngularCLI(angularCLIInitPath);
output.log({
title: 'Angular CLI has been decorated to enable computation caching.'
});
} catch (e) {
output.error({
title: "Decoration of the Angular CLI did not complete successfully"
});
output.error({
title: 'Decoration of the Angular CLI did not complete successfully'
});
}
+6 -6
View File
@@ -173,26 +173,26 @@
"serve": {
"executor": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "demoshell:build",
"host": "0.0.0.0",
"port": 3000,
"proxyConfig": "demo-shell/proxy.conf.js",
"disableHostCheck": true
"disableHostCheck": true,
"buildTarget": "demoshell:build"
},
"configurations": {
"production": {
"browserTarget": "demoshell:build:production"
"buildTarget": "demoshell:build:production"
},
"canary": {
"browserTarget": "demoshell:build:canary"
"buildTarget": "demoshell:build:canary"
},
"e2e": {
"browserTarget": "demoshell:build:e2e"
"buildTarget": "demoshell:build:e2e"
}
}
},
"lint": {
"executor": "@nrwl/linter:eslint",
"executor": "@nx/eslint:lint",
"options": {
"lintFilePatterns": ["demo-shell/**/*.ts", "demo-shell/**/*.html"]
}
+6 -6
View File
@@ -18,7 +18,7 @@
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { NgChartsModule } from 'ng2-charts';
import { HttpClientModule } from '@angular/common/http';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
import { BrowserAnimationsModule, NoopAnimationsModule } from '@angular/platform-browser/animations';
import { TranslateModule } from '@ngx-translate/core';
import { AppConfigService, DebugAppConfigService, CoreModule, AuthModule, provideTranslations } from '@alfresco/adf-core';
@@ -34,12 +34,13 @@ import { RouterModule } from '@angular/router';
import { CoreAutomationService } from '../testing/automation.service';
@NgModule({
declarations: [AppComponent],
bootstrap: [AppComponent],
imports: [
BrowserModule,
environment.e2e ? NoopAnimationsModule : BrowserAnimationsModule,
RouterModule.forRoot(appRoutes, { useHash: true }),
AuthModule.forRoot({ useHash: true }),
HttpClientModule,
TranslateModule.forRoot(),
CoreModule.forRoot(),
ContentModule.forRoot(),
@@ -49,13 +50,12 @@ import { CoreAutomationService } from '../testing/automation.service';
NgChartsModule,
MonacoEditorModule.forRoot()
],
declarations: [AppComponent],
providers: [
{ provide: AppConfigService, useClass: DebugAppConfigService }, // not use this service in production
provideTranslations('app', 'resources'),
provideTranslations('adf-insights', 'assets/adf-insights')
],
bootstrap: [AppComponent]
provideTranslations('adf-insights', 'assets/adf-insights'),
provideHttpClient(withInterceptorsFromDi())
]
})
export class AppModule {
constructor(automationService: CoreAutomationService) {
@@ -64,7 +64,7 @@
<br>
<div *ngIf="selectedContextAction">
<span>Process Instance ID: {{ selectedContextAction.id }}</span><br>
<span>Action Type}: {{ selectedContextAction.actionType }}</span>
<span>Action Type: {{ selectedContextAction.actionType }}</span>
</div>
</div>
</div>
+4 -4
View File
@@ -4,10 +4,10 @@
@include mat.all-component-typographies;
@include mat.core;
$primary: mat.define-palette($alfresco-accent-orange);
$accent: mat.define-palette($alfresco-accent-purple);
$warn: mat.define-palette($alfresco-warn);
$theme: mat.define-light-theme(
$primary: mat.m2-define-palette($alfresco-accent-orange);
$accent: mat.m2-define-palette($alfresco-accent-purple);
$warn: mat.m2-define-palette($alfresco-warn);
$theme: mat.m2-define-light-theme(
(
color: (
primary: $primary,
+5 -5
View File
@@ -3,14 +3,14 @@
@include mat.all-component-typographies($alfresco-typography);
@include mat.core;
$primary: mat.define-palette($alfresco-accent-orange);
$accent: mat.define-palette($alfresco-accent-purple);
$warn: mat.define-palette($alfresco-warn);
$theme: mat.define-light-theme(
$primary: mat.m2-define-palette($alfresco-accent-orange);
$accent: mat.m2-define-palette($alfresco-accent-purple);
$warn: mat.m2-define-palette($alfresco-warn);
$theme: mat.m2-define-light-theme(
(
color: (
primary: $primary,
accent: $accent,
accent: $accent
)
)
);
+160 -161
View File
@@ -59,168 +59,167 @@ The following is a brief list of references to help you get started with the new
Please refer to the [official documentation](http://docs.alfresco.com/) for further details and suggestions.
## PR merged
* [Alfresco/alfresco-ng2-components#6023 - Bump mdast-util-toc from 2.1.0 to 5.0.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6023)
* [Alfresco/alfresco-ng2-components#6021 - Bump unist-util-select from 2.0.2 to 3.0.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6021)
* [Alfresco/alfresco-ng2-components#6012 - Bump mini-css-extract-plugin from 0.9.0 to 0.10.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6012)
* [Alfresco/alfresco-ng2-components#5997 - Bump mdast-zone from 3.0.4 to 4.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/5997)
* [Alfresco/alfresco-ng2-components#6037 - Bump @types/pdfjs-dist from 2.1.4 to 2.1.5](https://github.com/Alfresco/alfresco-ng2-components/pull/6037)
* [Alfresco/alfresco-ng2-components#6036 - Bump ng-packagr from 10.0.2 to 10.0.4](https://github.com/Alfresco/alfresco-ng2-components/pull/6036)
* [Alfresco/alfresco-ng2-components#6033 - Bump jasmine2-protractor-utils from 1.1.3 to 1.3.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6033)
* [Alfresco/alfresco-ng2-components#6032 - [ACA-3863] Add query-service call for E2E tests](https://github.com/Alfresco/alfresco-ng2-components/pull/6032)
* [Alfresco/alfresco-ng2-components#6034 - Bump scss-bundle from 2.3.2 to 3.1.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6034)
* [Alfresco/alfresco-ng2-components#6015 - Bump @nrwl/workspace from 10.0.10 to 10.0.12](https://github.com/Alfresco/alfresco-ng2-components/pull/6015)
* [Alfresco/alfresco-ng2-components#5983 - New Service create - AuditService](https://github.com/Alfresco/alfresco-ng2-components/pull/5983)
* [Alfresco/alfresco-ng2-components#6035 - Bump @types/node from 14.0.27 to 14.6.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6035)
* [Alfresco/alfresco-ng2-components#6013 - Bump graphql from 14.7.0 to 15.3.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6013)
* [Alfresco/alfresco-ng2-components#6049 - Revert "Bump scss-bundle from 2.3.2 to 3.1.2"](https://github.com/Alfresco/alfresco-ng2-components/pull/6049)
* [Alfresco/alfresco-ng2-components#6040 - fix flex-layout version](https://github.com/Alfresco/alfresco-ng2-components/pull/6040)
* [Alfresco/alfresco-ng2-components#6045 - Bump moment from 2.22.2 to 2.27.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6045)
* [Alfresco/alfresco-ng2-components#6046 - Bump concurrently from 3.6.1 to 5.3.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6046)
* [Alfresco/alfresco-ng2-components#6043 - Bump @angular-devkit/build-angular from 0.1000.3 to 0.1000.6](https://github.com/Alfresco/alfresco-ng2-components/pull/6043)
* [Alfresco/alfresco-ng2-components#6042 - Bump karma from 4.4.1 to 5.1.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6042)
* [Alfresco/alfresco-ng2-components#6041 - Bump codelyzer from 5.2.2 to 6.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6041)
* [Alfresco/alfresco-ng2-components#6048 - [ACA-3800]Add method to datatable PO for selecting row with CMD](https://github.com/Alfresco/alfresco-ng2-components/pull/6048)
* [Alfresco/alfresco-ng2-components#6044 - Bump typescript from 3.9.6 to 3.9.7](https://github.com/Alfresco/alfresco-ng2-components/pull/6044)
* [Alfresco/alfresco-ng2-components#6051 - Bump stylelint from 9.10.1 to 13.6.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6051)
* [Alfresco/alfresco-ng2-components#6055 - Bump sass-loader from 7.1.0 to 9.0.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6055)
* [Alfresco/alfresco-ng2-components#6056 - Bump ejs from 3.1.3 to 3.1.5](https://github.com/Alfresco/alfresco-ng2-components/pull/6056)
* [Alfresco/alfresco-ng2-components#6053 - Bump rxjs from 6.6.0 to 6.6.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6053)
* [Alfresco/alfresco-ng2-components#6052 - Bump jasmine-spec-reporter from 4.2.1 to 5.0.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6052)
* [Alfresco/alfresco-ng2-components#6047 - Bump cspell from 4.0.63 to 4.1.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6047)
* [Alfresco/alfresco-ng2-components#6050 - Bump jasmine-ajax from 3.2.0 to 4.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6050)
* [Alfresco/alfresco-ng2-components#6057 - add missing group role APIs](https://github.com/Alfresco/alfresco-ng2-components/pull/6057)
* [Alfresco/alfresco-ng2-components#6058 - [ACA-3737] Process cloud properties review labels](https://github.com/Alfresco/alfresco-ng2-components/pull/6058)
* [Alfresco/alfresco-ng2-components#6024 - [AAE-3273] Manage empty option in retrieve content metadata dropdowns](https://github.com/Alfresco/alfresco-ng2-components/pull/6024)
* [Alfresco/alfresco-ng2-components#6054 - Bump commander from 4.0.0 to 6.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6054)
* [Alfresco/alfresco-ng2-components#6062 - Bump sass-loader from 9.0.3 to 10.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6062)
* [Alfresco/alfresco-ng2-components#6059 - Bump mdast-util-compact from 1.0.4 to 2.0.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6059)
* [Alfresco/alfresco-ng2-components#6061 - Bump @angular-devkit/build-ng-packagr from 0.1000.6 to 0.1000.7](https://github.com/Alfresco/alfresco-ng2-components/pull/6061)
* [Alfresco/alfresco-ng2-components#6064 - Bump adf-tslint-rules from 0.0.6 to 0.0.7](https://github.com/Alfresco/alfresco-ng2-components/pull/6064)
* [Alfresco/alfresco-ng2-components#6065 - Update upgrade39-40.md](https://github.com/Alfresco/alfresco-ng2-components/pull/6065)
* [Alfresco/alfresco-ng2-components#6060 - Bump scss-bundle from 2.3.2 to 3.1.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6060)
* [Alfresco/alfresco-ng2-components#6063 - Bump markdownlint-cli from 0.16.0 to 0.23.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6063)
* [Alfresco/alfresco-ng2-components#6066 - fix http method regression](https://github.com/Alfresco/alfresco-ng2-components/pull/6066)
* [Alfresco/alfresco-ng2-components#6067 - publish improvements](https://github.com/Alfresco/alfresco-ng2-components/pull/6067)
* [Alfresco/alfresco-ng2-components#6075 - fix production builds](https://github.com/Alfresco/alfresco-ng2-components/pull/6075)
* [Alfresco/alfresco-ng2-components#6090 - [AAE-3338] Update simpleapp](https://github.com/Alfresco/alfresco-ng2-components/pull/6090)
* [Alfresco/alfresco-ng2-components#6087 - Fix e2e](https://github.com/Alfresco/alfresco-ng2-components/pull/6087)
* [Alfresco/alfresco-ng2-components#6085 - [ACA-3441] Add method to attach file widget PO](https://github.com/Alfresco/alfresco-ng2-components/pull/6085)
* [Alfresco/alfresco-ng2-components#6084 - [AAE-3406] - Fix advanced search inside content-node selector](https://github.com/Alfresco/alfresco-ng2-components/pull/6084)
* [Alfresco/alfresco-ng2-components#6086 - [ADF-5230] - Implement process date range filter](https://github.com/Alfresco/alfresco-ng2-components/pull/6086)
* [Alfresco/alfresco-ng2-components#6096 - Remove excluded test](https://github.com/Alfresco/alfresco-ng2-components/pull/6096)
* [Alfresco/alfresco-ng2-components#6099 - [MNT-21636] - added redirection when SSO is enabled for external link](https://github.com/Alfresco/alfresco-ng2-components/pull/6099)
* [Alfresco/alfresco-ng2-components#6069 - Bump selenium-webdriver from 4.0.0-alpha.5 to 4.0.0-alpha.7](https://github.com/Alfresco/alfresco-ng2-components/pull/6069)
* [Alfresco/alfresco-ng2-components#6101 - [ADF-4481] Fix Viewer peview for unsupported new versions](https://github.com/Alfresco/alfresco-ng2-components/pull/6101)
* [Alfresco/alfresco-ng2-components#6103 - Bump sass-loader from 10.0.0 to 10.0.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6103)
* [Alfresco/alfresco-ng2-components#6106 - Bump ts-node from 8.10.2 to 9.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6106)
* [Alfresco/alfresco-ng2-components#6104 - Bump ng-packagr from 10.0.4 to 10.1.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6104)
* [Alfresco/alfresco-ng2-components#6072 - Bump tslint from 5.20.0 to 6.1.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6072)
* [Alfresco/alfresco-ng2-components#6073 - Bump remark-frontmatter from 1.3.3 to 2.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6073)
* [Alfresco/alfresco-ng2-components#6107 - Bump karma from 5.2.0 to 5.2.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6107)
* [Alfresco/alfresco-ng2-components#6109 - Bump husky from 4.2.5 to 4.3.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6109)
* [Alfresco/alfresco-ng2-components#6105 - Bump css-loader from 3.6.0 to 4.3.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6105)
* [Alfresco/alfresco-ng2-components#6108 - Bump @angular-devkit/build-ng-packagr from 0.1000.7 to 0.1001.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6108)
* [Alfresco/alfresco-ng2-components#6094 - [AAE-3296] Add unit tests for Tooltips in Form Widgets](https://github.com/Alfresco/alfresco-ng2-components/pull/6094)
* [Alfresco/alfresco-ng2-components#5919 - [ACA-3637] - Add dueDate range filter](https://github.com/Alfresco/alfresco-ng2-components/pull/5919)
* [Alfresco/alfresco-ng2-components#6110 - Bump graphql-request from 1.8.2 to 3.1.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6110)
* [Alfresco/alfresco-ng2-components#6111 - Bump @types/node from 14.6.0 to 14.6.4](https://github.com/Alfresco/alfresco-ng2-components/pull/6111)
* [Alfresco/alfresco-ng2-components#6112 - Bump @angular/cli from 10.0.7 to 10.1.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6112)
* [Alfresco/alfresco-ng2-components#6113 - [ACA-3942] Enable assignee edit button only when userTask shared among the candidates](https://github.com/Alfresco/alfresco-ng2-components/pull/6113)
* [Alfresco/alfresco-ng2-components#6114 - [MNT-21789] ADW - Disable ACS Thumbnail Generation cause ADF Upload Service to fail any file upload with 501 error](https://github.com/Alfresco/alfresco-ng2-components/pull/6114)
* [Alfresco/alfresco-ng2-components#6102 - include attach file test](https://github.com/Alfresco/alfresco-ng2-components/pull/6102)
* [Alfresco/alfresco-ng2-components#6097 - [ACA-3877] Add the possibility to ADF Extension to be used in compila…](https://github.com/Alfresco/alfresco-ng2-components/pull/6097)
* [Alfresco/alfresco-ng2-components#6088 - Bump karma-coverage-istanbul-reporter from 2.1.0 to 3.0.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6088)
* [Alfresco/alfresco-ng2-components#6083 - [Docs] cloud custom form widget examples](https://github.com/Alfresco/alfresco-ng2-components/pull/6083)
* [Alfresco/alfresco-ng2-components#6120 - Bump snyk from 1.385.0 to 1.393.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6120)
* [Alfresco/alfresco-ng2-components#5871 - [ACA-3623] Process definition name filter in task list](https://github.com/Alfresco/alfresco-ng2-components/pull/5871)
* [Alfresco/alfresco-ng2-components#6079 - [AAE-3321] Select uploaded local files by default](https://github.com/Alfresco/alfresco-ng2-components/pull/6079)
* [Alfresco/alfresco-ng2-components#6076 - [ACA-3884]Attach cloud file - Ability to use the -appname- as placeholder in the destinationFolder ](https://github.com/Alfresco/alfresco-ng2-components/pull/6076)
* [Alfresco/alfresco-ng2-components#6130 - updated outcomebuttons process](https://github.com/Alfresco/alfresco-ng2-components/pull/6130)
* [Alfresco/alfresco-ng2-components#6126 - [AAE-3507] ADF - Change default destination folder alias -root- to -my-](https://github.com/Alfresco/alfresco-ng2-components/pull/6126)
* [Alfresco/alfresco-ng2-components#6122 - [ADF-5235] Facet fix and improve search test](https://github.com/Alfresco/alfresco-ng2-components/pull/6122)
* [Alfresco/alfresco-ng2-components#6143 - [ACA-3884] AttachFileCloud - Pass the replaced value](https://github.com/Alfresco/alfresco-ng2-components/pull/6143)
* [Alfresco/alfresco-ng2-components#6144 - Sanity check - Be able to pass params](https://github.com/Alfresco/alfresco-ng2-components/pull/6144)
* [Alfresco/alfresco-ng2-components#6137 - [ADF-5237] Unexclude C362240 and C362241](https://github.com/Alfresco/alfresco-ng2-components/pull/6137)
* [Alfresco/alfresco-ng2-components#5931 - [ACA-3722] - rename process name sort option](https://github.com/Alfresco/alfresco-ng2-components/pull/5931)
* [Alfresco/alfresco-ng2-components#6148 - [ACA-3973] K8s image - fetch all the namespaces and handle the missing container](https://github.com/Alfresco/alfresco-ng2-components/pull/6148)
* [Alfresco/alfresco-ng2-components#6142 - [AAE-3514] Create file viewer widget](https://github.com/Alfresco/alfresco-ng2-components/pull/6142)
* [Alfresco/alfresco-ng2-components#6147 - [ADF-5245] Fix C297478, C297485 and C297472](https://github.com/Alfresco/alfresco-ng2-components/pull/6147)
* [Alfresco/alfresco-ng2-components#6149 - [ADF-5241] [ADF-5243] [ADF-5244] Fix C291954, C291955, C291993 and C291995](https://github.com/Alfresco/alfresco-ng2-components/pull/6149)
* [Alfresco/alfresco-ng2-components#6128 - [ACA-3637] - DueDate filter fix translation and add missing option](https://github.com/Alfresco/alfresco-ng2-components/pull/6128)
* [Alfresco/alfresco-ng2-components#6131 - [AAE-3469] New Service Task List in Task List Cloud Component](https://github.com/Alfresco/alfresco-ng2-components/pull/6131)
* [Alfresco/alfresco-ng2-components#6150 - [ACA-3899] Viewer thumbnails cannot be accessed by keyboard](https://github.com/Alfresco/alfresco-ng2-components/pull/6150)
* [Alfresco/alfresco-ng2-components#5953 - [ADF-3499] Make Card View Text Item reactive to user input](https://github.com/Alfresco/alfresco-ng2-components/pull/5953)
* [Alfresco/alfresco-ng2-components#6154 - Revert "[AAE-3469] New Service Task List in Task List Cloud Component"](https://github.com/Alfresco/alfresco-ng2-components/pull/6154)
* [Alfresco/alfresco-ng2-components#6155 - [ACA-3973] K8s - namespaces - Replace all the occurrences](https://github.com/Alfresco/alfresco-ng2-components/pull/6155)
* [Alfresco/alfresco-ng2-components#6146 - Test improve](https://github.com/Alfresco/alfresco-ng2-components/pull/6146)
* [Alfresco/alfresco-ng2-components#6093 - [ACA-3683] - implement started date process filter](https://github.com/Alfresco/alfresco-ng2-components/pull/6093)
* [Alfresco/alfresco-ng2-components#6152 - Update protractor.excludes.json](https://github.com/Alfresco/alfresco-ng2-components/pull/6152)
* [Alfresco/alfresco-ng2-components#6145 - [ACA-3692] - Add completed date/due date/started date filter](https://github.com/Alfresco/alfresco-ng2-components/pull/6145)
* [Alfresco/alfresco-ng2-components#6156 - Test improve](https://github.com/Alfresco/alfresco-ng2-components/pull/6156)
* [Alfresco/alfresco-ng2-components#6138 - [ADF-5236] C246534 Failing](https://github.com/Alfresco/alfresco-ng2-components/pull/6138)
* [Alfresco/alfresco-ng2-components#6078 - [MNT-21705] - fixed column display for fields](https://github.com/Alfresco/alfresco-ng2-components/pull/6078)
* [Alfresco/alfresco-ng2-components#6157 - [ACA-3977] FE - Integrate new user assign API](https://github.com/Alfresco/alfresco-ng2-components/pull/6157)
* [Alfresco/alfresco-ng2-components#5924 - [ACA-3643] - add completedBy filter on tasks](https://github.com/Alfresco/alfresco-ng2-components/pull/5924)
* [Alfresco/alfresco-ng2-components#6098 - [ACA-3312] Add user-filter util class](https://github.com/Alfresco/alfresco-ng2-components/pull/6098)
* [Alfresco/alfresco-ng2-components#6092 - [ADF-5219] Refactor Document list Filters](https://github.com/Alfresco/alfresco-ng2-components/pull/6092)
* [Alfresco/alfresco-ng2-components#6159 - [ACA-3960] FE - Users that are part of a candidate group should not be able to see 'Assignee' property as editable when on that user task candidate group was set as assignment](https://github.com/Alfresco/alfresco-ng2-components/pull/6159)
* [Alfresco/alfresco-ng2-components#6158 - [AAE-3493] Update the documentation to provide the proper guidance on custom forms widgets for APA and APS developers](https://github.com/Alfresco/alfresco-ng2-components/pull/6158)
* [Alfresco/alfresco-ng2-components#6139 - Bump @angular/cli from 10.1.0 to 10.1.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6139)
* [Alfresco/alfresco-ng2-components#6164 - [ACA-3903] DocumentList - header filters are missing aria-labels](https://github.com/Alfresco/alfresco-ng2-components/pull/6164)
* [Alfresco/alfresco-ng2-components#6119 - Bump optimize-css-assets-webpack-plugin from 5.0.3 to 5.0.4](https://github.com/Alfresco/alfresco-ng2-components/pull/6119)
* [Alfresco/alfresco-ng2-components#6165 - [ACA-3689] Update customize filter locator](https://github.com/Alfresco/alfresco-ng2-components/pull/6165)
* [Alfresco/alfresco-ng2-components#6166 - [ADF-5219] Fix Production Build](https://github.com/Alfresco/alfresco-ng2-components/pull/6166)
* [Alfresco/alfresco-ng2-components#6153 - Ole tutorial updates](https://github.com/Alfresco/alfresco-ng2-components/pull/6153)
* [Alfresco/alfresco-ng2-components#6160 - [AAE-3410] NodeSelector - Use user alias (-my-) name as default for upload of type Alfresco Content only](https://github.com/Alfresco/alfresco-ng2-components/pull/6160)
* [Alfresco/alfresco-ng2-components#6167 - Test improve 2](https://github.com/Alfresco/alfresco-ng2-components/pull/6167)
* [Alfresco/alfresco-ng2-components#6172 - Bump mini-css-extract-plugin from 0.10.1 to 0.11.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6172)
* [Alfresco/alfresco-ng2-components#6161 - [AAE-3469] New Service Task Cloud Component](https://github.com/Alfresco/alfresco-ng2-components/pull/6161)
* [Alfresco/alfresco-ng2-components#6173 - [AAE-3469] Expose ServiceTaskListCloudComponent in public api](https://github.com/Alfresco/alfresco-ng2-components/pull/6173)
* [Alfresco/alfresco-ng2-components#6175 - Expose ServiceTaskFilterCloudService in public API](https://github.com/Alfresco/alfresco-ng2-components/pull/6175)
* [Alfresco/alfresco-ng2-components#6174 - [AAE-3651] FE - Export DateCloudFilterType from process-services-cloud lib](https://github.com/Alfresco/alfresco-ng2-components/pull/6174)
* [Alfresco/alfresco-ng2-components#6177 - Added switch to be able to check the form behaviour](https://github.com/Alfresco/alfresco-ng2-components/pull/6177)
* [Alfresco/alfresco-ng2-components#6180 - Fix broken e2e tests because of the lack of thrown error](https://github.com/Alfresco/alfresco-ng2-components/pull/6180)
* [Alfresco/alfresco-ng2-components#6181 - fix rxjs imports](https://github.com/Alfresco/alfresco-ng2-components/pull/6181)
* [Alfresco/alfresco-ng2-components#6171 - Bump moment from 2.27.0 to 2.29.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6171)
* [Alfresco/alfresco-ng2-components#6169 - Bump commander from 6.0.0 to 6.1.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6169)
* [Alfresco/alfresco-ng2-components#6182 - Update candidatebaseapp for variable mapping in tasks to work](https://github.com/Alfresco/alfresco-ng2-components/pull/6182)
* [Alfresco/alfresco-ng2-components#6184 - [ADF-5260] Fix Service task list initialization in DemoShell](https://github.com/Alfresco/alfresco-ng2-components/pull/6184)
* [Alfresco/alfresco-ng2-components#6141 - [ADF-4481] e2e test for uploading an unsupported file](https://github.com/Alfresco/alfresco-ng2-components/pull/6141)
* [Alfresco/alfresco-ng2-components#6185 - [ACA-3626] Cloud Task - completed date filter ](https://github.com/Alfresco/alfresco-ng2-components/pull/6185)
* [Alfresco/alfresco-ng2-components#6187 - Bump snyk from 1.393.0 to 1.404.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6187)
* [Alfresco/alfresco-ng2-components#6188 - Bump lint-staged from 10.2.13 to 10.4.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6188)
* [Alfresco/alfresco-ng2-components#6189 - Bump @types/node from 14.6.4 to 14.11.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6189)
* [Alfresco/alfresco-ng2-components#6170 - Bump pdfjs-dist from 2.4.456 to 2.5.207](https://github.com/Alfresco/alfresco-ng2-components/pull/6170)
* [Alfresco/alfresco-ng2-components#6168 - Bump @nrwl/workspace from 10.1.0 to 10.2.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6168)
* [Alfresco/alfresco-ng2-components#6176 - [ACA-3689] Update edit-process-filter-cloud-component PO](https://github.com/Alfresco/alfresco-ng2-components/pull/6176)
* [Alfresco/alfresco-ng2-components#6191 - LOC-258_Localised UI files for ADF 4.1 in 16 languages](https://github.com/Alfresco/alfresco-ng2-components/pull/6191)
* [Alfresco/alfresco-ng2-components#6190 - [ACA-3957] Added correct Icon for save-as button in task filter and p…](https://github.com/Alfresco/alfresco-ng2-components/pull/6190)
* [Alfresco/alfresco-ng2-components#6134 - [AAE-3199] - Add support for searchable content model properties (new search filters panel in the attach file widget)](https://github.com/Alfresco/alfresco-ng2-components/pull/6134)
* [Alfresco/alfresco-ng2-components#6195 - Bump typedoc from 0.18.0 to 0.19.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6195)
* [Alfresco/alfresco-ng2-components#6194 - Bump ng-packagr from 10.1.0 to 10.1.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6194)
* [Alfresco/alfresco-ng2-components#6196 - Bump codelyzer from 6.0.0 to 6.0.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6196)
* [Alfresco/alfresco-ng2-components#6198 - Bump @angular-devkit/build-angular from 0.1000.7 to 0.1001.4](https://github.com/Alfresco/alfresco-ng2-components/pull/6198)
* [Alfresco/alfresco-ng2-components#6192 - [ACA-3010] - Process/Task Cloud fix wrong date range](https://github.com/Alfresco/alfresco-ng2-components/pull/6192)
* [Alfresco/alfresco-ng2-components#6197 - Bump @angular/cli from 10.1.2 to 10.1.4](https://github.com/Alfresco/alfresco-ng2-components/pull/6197)
* [Alfresco/alfresco-ng2-components#6186 - [ACA-3627] - Add completedBy filter again](https://github.com/Alfresco/alfresco-ng2-components/pull/6186)
* [Alfresco/alfresco-ng2-components#6199 - [AAE-3694] Add new Service Method for service task integration](https://github.com/Alfresco/alfresco-ng2-components/pull/6199)
* [Alfresco/alfresco-ng2-components#6200 - add support for toolbar title i18n](https://github.com/Alfresco/alfresco-ng2-components/pull/6200)
* [Alfresco/alfresco-ng2-components#6201 - [ADF-5262] Fix query execution in BaseQueryBuilderService](https://github.com/Alfresco/alfresco-ng2-components/pull/6201)
* [Alfresco/alfresco-ng2-components#6202 - [ADF-5259] - addded unit test for custom widget](https://github.com/Alfresco/alfresco-ng2-components/pull/6202)
* [Alfresco/alfresco-ng2-components#6209 - [ADF-5263] Empty page displayed all the time when load content fix ](https://github.com/Alfresco/alfresco-ng2-components/pull/6209)
* [Alfresco/alfresco-ng2-components#6210 - add missing interface property](https://github.com/Alfresco/alfresco-ng2-components/pull/6210)
* [Alfresco/alfresco-ng2-components#6205 - Bump rxjs from 6.6.2 to 6.6.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6205)
* [Alfresco/alfresco-ng2-components#6212 - [ADF-5261] Fix excluded flaky tests C297689, C297690](https://github.com/Alfresco/alfresco-ng2-components/pull/6212)
* [Alfresco/alfresco-ng2-components#6211 - Bump mdast-util-compact from 2.0.1 to 3.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6211)
* [Alfresco/alfresco-ng2-components#6203 - Bump @angular-devkit/build-ng-packagr from 0.1001.0 to 0.1001.4](https://github.com/Alfresco/alfresco-ng2-components/pull/6203)
* [Alfresco/alfresco-ng2-components#6207 - Bump karma from 5.2.2 to 5.2.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6207)
* [Alfresco/alfresco-ng2-components#6206 - Bump ng2-charts from 2.3.3 to 2.4.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6206)
* [Alfresco/alfresco-ng2-components#6218 - Bump remark-frontmatter from 2.0.0 to 3.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6218)
* [Alfresco/alfresco-ng2-components#6193 - [AAE-3637] Attach file - Upload button is not disabled when the user is in search mode](https://github.com/Alfresco/alfresco-ng2-components/pull/6193)
* [Alfresco/alfresco-ng2-components#6221 - [AAE-3764]Fix typo for CLAIM button on form - process services](https://github.com/Alfresco/alfresco-ng2-components/pull/6221)
## PR merged
- [Alfresco/alfresco-ng2-components#6023 - Bump mdast-util-toc from 2.1.0 to 5.0.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6023)
- [Alfresco/alfresco-ng2-components#6021 - Bump unist-util-select from 2.0.2 to 3.0.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6021)
- [Alfresco/alfresco-ng2-components#6012 - Bump mini-css-extract-plugin from 0.9.0 to 0.10.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6012)
- [Alfresco/alfresco-ng2-components#5997 - Bump mdast-zone from 3.0.4 to 4.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/5997)
- [Alfresco/alfresco-ng2-components#6037 - Bump @types/pdfjs-dist from 2.1.4 to 2.1.5](https://github.com/Alfresco/alfresco-ng2-components/pull/6037)
- [Alfresco/alfresco-ng2-components#6036 - Bump ng-packagr from 10.0.2 to 10.0.4](https://github.com/Alfresco/alfresco-ng2-components/pull/6036)
- [Alfresco/alfresco-ng2-components#6033 - Bump jasmine2-protractor-utils from 1.1.3 to 1.3.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6033)
- [Alfresco/alfresco-ng2-components#6032 - [ACA-3863] Add query-service call for E2E tests](https://github.com/Alfresco/alfresco-ng2-components/pull/6032)
- [Alfresco/alfresco-ng2-components#6034 - Bump scss-bundle from 2.3.2 to 3.1.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6034)
- [Alfresco/alfresco-ng2-components#6015 - Bump @nx/workspace from 10.0.10 to 10.0.12](https://github.com/Alfresco/alfresco-ng2-components/pull/6015)
- [Alfresco/alfresco-ng2-components#5983 - New Service create - AuditService](https://github.com/Alfresco/alfresco-ng2-components/pull/5983)
- [Alfresco/alfresco-ng2-components#6035 - Bump @types/node from 14.0.27 to 14.6.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6035)
- [Alfresco/alfresco-ng2-components#6013 - Bump graphql from 14.7.0 to 15.3.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6013)
- [Alfresco/alfresco-ng2-components#6049 - Revert "Bump scss-bundle from 2.3.2 to 3.1.2"](https://github.com/Alfresco/alfresco-ng2-components/pull/6049)
- [Alfresco/alfresco-ng2-components#6040 - fix flex-layout version](https://github.com/Alfresco/alfresco-ng2-components/pull/6040)
- [Alfresco/alfresco-ng2-components#6045 - Bump moment from 2.22.2 to 2.27.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6045)
- [Alfresco/alfresco-ng2-components#6046 - Bump concurrently from 3.6.1 to 5.3.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6046)
- [Alfresco/alfresco-ng2-components#6043 - Bump @angular-devkit/build-angular from 0.1000.3 to 0.1000.6](https://github.com/Alfresco/alfresco-ng2-components/pull/6043)
- [Alfresco/alfresco-ng2-components#6042 - Bump karma from 4.4.1 to 5.1.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6042)
- [Alfresco/alfresco-ng2-components#6041 - Bump codelyzer from 5.2.2 to 6.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6041)
- [Alfresco/alfresco-ng2-components#6048 - [ACA-3800]Add method to datatable PO for selecting row with CMD](https://github.com/Alfresco/alfresco-ng2-components/pull/6048)
- [Alfresco/alfresco-ng2-components#6044 - Bump typescript from 3.9.6 to 3.9.7](https://github.com/Alfresco/alfresco-ng2-components/pull/6044)
- [Alfresco/alfresco-ng2-components#6051 - Bump stylelint from 9.10.1 to 13.6.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6051)
- [Alfresco/alfresco-ng2-components#6055 - Bump sass-loader from 7.1.0 to 9.0.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6055)
- [Alfresco/alfresco-ng2-components#6056 - Bump ejs from 3.1.3 to 3.1.5](https://github.com/Alfresco/alfresco-ng2-components/pull/6056)
- [Alfresco/alfresco-ng2-components#6053 - Bump rxjs from 6.6.0 to 6.6.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6053)
- [Alfresco/alfresco-ng2-components#6052 - Bump jasmine-spec-reporter from 4.2.1 to 5.0.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6052)
- [Alfresco/alfresco-ng2-components#6047 - Bump cspell from 4.0.63 to 4.1.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6047)
- [Alfresco/alfresco-ng2-components#6050 - Bump jasmine-ajax from 3.2.0 to 4.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6050)
- [Alfresco/alfresco-ng2-components#6057 - add missing group role APIs](https://github.com/Alfresco/alfresco-ng2-components/pull/6057)
- [Alfresco/alfresco-ng2-components#6058 - [ACA-3737] Process cloud properties review labels](https://github.com/Alfresco/alfresco-ng2-components/pull/6058)
- [Alfresco/alfresco-ng2-components#6024 - [AAE-3273] Manage empty option in retrieve content metadata dropdowns](https://github.com/Alfresco/alfresco-ng2-components/pull/6024)
- [Alfresco/alfresco-ng2-components#6054 - Bump commander from 4.0.0 to 6.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6054)
- [Alfresco/alfresco-ng2-components#6062 - Bump sass-loader from 9.0.3 to 10.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6062)
- [Alfresco/alfresco-ng2-components#6059 - Bump mdast-util-compact from 1.0.4 to 2.0.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6059)
- [Alfresco/alfresco-ng2-components#6061 - Bump @angular-devkit/build-ng-packagr from 0.1000.6 to 0.1000.7](https://github.com/Alfresco/alfresco-ng2-components/pull/6061)
- [Alfresco/alfresco-ng2-components#6064 - Bump adf-tslint-rules from 0.0.6 to 0.0.7](https://github.com/Alfresco/alfresco-ng2-components/pull/6064)
- [Alfresco/alfresco-ng2-components#6065 - Update upgrade39-40.md](https://github.com/Alfresco/alfresco-ng2-components/pull/6065)
- [Alfresco/alfresco-ng2-components#6060 - Bump scss-bundle from 2.3.2 to 3.1.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6060)
- [Alfresco/alfresco-ng2-components#6063 - Bump markdownlint-cli from 0.16.0 to 0.23.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6063)
- [Alfresco/alfresco-ng2-components#6066 - fix http method regression](https://github.com/Alfresco/alfresco-ng2-components/pull/6066)
- [Alfresco/alfresco-ng2-components#6067 - publish improvements](https://github.com/Alfresco/alfresco-ng2-components/pull/6067)
- [Alfresco/alfresco-ng2-components#6075 - fix production builds](https://github.com/Alfresco/alfresco-ng2-components/pull/6075)
- [Alfresco/alfresco-ng2-components#6090 - [AAE-3338] Update simpleapp](https://github.com/Alfresco/alfresco-ng2-components/pull/6090)
- [Alfresco/alfresco-ng2-components#6087 - Fix e2e](https://github.com/Alfresco/alfresco-ng2-components/pull/6087)
- [Alfresco/alfresco-ng2-components#6085 - [ACA-3441] Add method to attach file widget PO](https://github.com/Alfresco/alfresco-ng2-components/pull/6085)
- [Alfresco/alfresco-ng2-components#6084 - [AAE-3406] - Fix advanced search inside content-node selector](https://github.com/Alfresco/alfresco-ng2-components/pull/6084)
- [Alfresco/alfresco-ng2-components#6086 - [ADF-5230] - Implement process date range filter](https://github.com/Alfresco/alfresco-ng2-components/pull/6086)
- [Alfresco/alfresco-ng2-components#6096 - Remove excluded test](https://github.com/Alfresco/alfresco-ng2-components/pull/6096)
- [Alfresco/alfresco-ng2-components#6099 - [MNT-21636] - added redirection when SSO is enabled for external link](https://github.com/Alfresco/alfresco-ng2-components/pull/6099)
- [Alfresco/alfresco-ng2-components#6069 - Bump selenium-webdriver from 4.0.0-alpha.5 to 4.0.0-alpha.7](https://github.com/Alfresco/alfresco-ng2-components/pull/6069)
- [Alfresco/alfresco-ng2-components#6101 - [ADF-4481] Fix Viewer peview for unsupported new versions](https://github.com/Alfresco/alfresco-ng2-components/pull/6101)
- [Alfresco/alfresco-ng2-components#6103 - Bump sass-loader from 10.0.0 to 10.0.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6103)
- [Alfresco/alfresco-ng2-components#6106 - Bump ts-node from 8.10.2 to 9.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6106)
- [Alfresco/alfresco-ng2-components#6104 - Bump ng-packagr from 10.0.4 to 10.1.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6104)
- [Alfresco/alfresco-ng2-components#6072 - Bump tslint from 5.20.0 to 6.1.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6072)
- [Alfresco/alfresco-ng2-components#6073 - Bump remark-frontmatter from 1.3.3 to 2.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6073)
- [Alfresco/alfresco-ng2-components#6107 - Bump karma from 5.2.0 to 5.2.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6107)
- [Alfresco/alfresco-ng2-components#6109 - Bump husky from 4.2.5 to 4.3.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6109)
- [Alfresco/alfresco-ng2-components#6105 - Bump css-loader from 3.6.0 to 4.3.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6105)
- [Alfresco/alfresco-ng2-components#6108 - Bump @angular-devkit/build-ng-packagr from 0.1000.7 to 0.1001.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6108)
- [Alfresco/alfresco-ng2-components#6094 - [AAE-3296] Add unit tests for Tooltips in Form Widgets](https://github.com/Alfresco/alfresco-ng2-components/pull/6094)
- [Alfresco/alfresco-ng2-components#5919 - [ACA-3637] - Add dueDate range filter](https://github.com/Alfresco/alfresco-ng2-components/pull/5919)
- [Alfresco/alfresco-ng2-components#6110 - Bump graphql-request from 1.8.2 to 3.1.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6110)
- [Alfresco/alfresco-ng2-components#6111 - Bump @types/node from 14.6.0 to 14.6.4](https://github.com/Alfresco/alfresco-ng2-components/pull/6111)
- [Alfresco/alfresco-ng2-components#6112 - Bump @angular/cli from 10.0.7 to 10.1.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6112)
- [Alfresco/alfresco-ng2-components#6113 - [ACA-3942] Enable assignee edit button only when userTask shared among the candidates](https://github.com/Alfresco/alfresco-ng2-components/pull/6113)
- [Alfresco/alfresco-ng2-components#6114 - [MNT-21789] ADW - Disable ACS Thumbnail Generation cause ADF Upload Service to fail any file upload with 501 error](https://github.com/Alfresco/alfresco-ng2-components/pull/6114)
- [Alfresco/alfresco-ng2-components#6102 - include attach file test](https://github.com/Alfresco/alfresco-ng2-components/pull/6102)
- [Alfresco/alfresco-ng2-components#6097 - [ACA-3877] Add the possibility to ADF Extension to be used in compila…](https://github.com/Alfresco/alfresco-ng2-components/pull/6097)
- [Alfresco/alfresco-ng2-components#6088 - Bump karma-coverage-istanbul-reporter from 2.1.0 to 3.0.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6088)
- [Alfresco/alfresco-ng2-components#6083 - [Docs] cloud custom form widget examples](https://github.com/Alfresco/alfresco-ng2-components/pull/6083)
- [Alfresco/alfresco-ng2-components#6120 - Bump snyk from 1.385.0 to 1.393.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6120)
- [Alfresco/alfresco-ng2-components#5871 - [ACA-3623] Process definition name filter in task list](https://github.com/Alfresco/alfresco-ng2-components/pull/5871)
- [Alfresco/alfresco-ng2-components#6079 - [AAE-3321] Select uploaded local files by default](https://github.com/Alfresco/alfresco-ng2-components/pull/6079)
- [Alfresco/alfresco-ng2-components#6076 - [ACA-3884]Attach cloud file - Ability to use the -appname- as placeholder in the destinationFolder ](https://github.com/Alfresco/alfresco-ng2-components/pull/6076)
- [Alfresco/alfresco-ng2-components#6130 - updated outcomebuttons process](https://github.com/Alfresco/alfresco-ng2-components/pull/6130)
- [Alfresco/alfresco-ng2-components#6126 - [AAE-3507] ADF - Change default destination folder alias -root- to -my-](https://github.com/Alfresco/alfresco-ng2-components/pull/6126)
- [Alfresco/alfresco-ng2-components#6122 - [ADF-5235] Facet fix and improve search test](https://github.com/Alfresco/alfresco-ng2-components/pull/6122)
- [Alfresco/alfresco-ng2-components#6143 - [ACA-3884] AttachFileCloud - Pass the replaced value](https://github.com/Alfresco/alfresco-ng2-components/pull/6143)
- [Alfresco/alfresco-ng2-components#6144 - Sanity check - Be able to pass params](https://github.com/Alfresco/alfresco-ng2-components/pull/6144)
- [Alfresco/alfresco-ng2-components#6137 - [ADF-5237] Unexclude C362240 and C362241](https://github.com/Alfresco/alfresco-ng2-components/pull/6137)
- [Alfresco/alfresco-ng2-components#5931 - [ACA-3722] - rename process name sort option](https://github.com/Alfresco/alfresco-ng2-components/pull/5931)
- [Alfresco/alfresco-ng2-components#6148 - [ACA-3973] K8s image - fetch all the namespaces and handle the missing container](https://github.com/Alfresco/alfresco-ng2-components/pull/6148)
- [Alfresco/alfresco-ng2-components#6142 - [AAE-3514] Create file viewer widget](https://github.com/Alfresco/alfresco-ng2-components/pull/6142)
- [Alfresco/alfresco-ng2-components#6147 - [ADF-5245] Fix C297478, C297485 and C297472](https://github.com/Alfresco/alfresco-ng2-components/pull/6147)
- [Alfresco/alfresco-ng2-components#6149 - [ADF-5241] [ADF-5243] [ADF-5244] Fix C291954, C291955, C291993 and C291995](https://github.com/Alfresco/alfresco-ng2-components/pull/6149)
- [Alfresco/alfresco-ng2-components#6128 - [ACA-3637] - DueDate filter fix translation and add missing option](https://github.com/Alfresco/alfresco-ng2-components/pull/6128)
- [Alfresco/alfresco-ng2-components#6131 - [AAE-3469] New Service Task List in Task List Cloud Component](https://github.com/Alfresco/alfresco-ng2-components/pull/6131)
- [Alfresco/alfresco-ng2-components#6150 - [ACA-3899] Viewer thumbnails cannot be accessed by keyboard](https://github.com/Alfresco/alfresco-ng2-components/pull/6150)
- [Alfresco/alfresco-ng2-components#5953 - [ADF-3499] Make Card View Text Item reactive to user input](https://github.com/Alfresco/alfresco-ng2-components/pull/5953)
- [Alfresco/alfresco-ng2-components#6154 - Revert "[AAE-3469] New Service Task List in Task List Cloud Component"](https://github.com/Alfresco/alfresco-ng2-components/pull/6154)
- [Alfresco/alfresco-ng2-components#6155 - [ACA-3973] K8s - namespaces - Replace all the occurrences](https://github.com/Alfresco/alfresco-ng2-components/pull/6155)
- [Alfresco/alfresco-ng2-components#6146 - Test improve](https://github.com/Alfresco/alfresco-ng2-components/pull/6146)
- [Alfresco/alfresco-ng2-components#6093 - [ACA-3683] - implement started date process filter](https://github.com/Alfresco/alfresco-ng2-components/pull/6093)
- [Alfresco/alfresco-ng2-components#6152 - Update protractor.excludes.json](https://github.com/Alfresco/alfresco-ng2-components/pull/6152)
- [Alfresco/alfresco-ng2-components#6145 - [ACA-3692] - Add completed date/due date/started date filter](https://github.com/Alfresco/alfresco-ng2-components/pull/6145)
- [Alfresco/alfresco-ng2-components#6156 - Test improve](https://github.com/Alfresco/alfresco-ng2-components/pull/6156)
- [Alfresco/alfresco-ng2-components#6138 - [ADF-5236] C246534 Failing](https://github.com/Alfresco/alfresco-ng2-components/pull/6138)
- [Alfresco/alfresco-ng2-components#6078 - [MNT-21705] - fixed column display for fields](https://github.com/Alfresco/alfresco-ng2-components/pull/6078)
- [Alfresco/alfresco-ng2-components#6157 - [ACA-3977] FE - Integrate new user assign API](https://github.com/Alfresco/alfresco-ng2-components/pull/6157)
- [Alfresco/alfresco-ng2-components#5924 - [ACA-3643] - add completedBy filter on tasks](https://github.com/Alfresco/alfresco-ng2-components/pull/5924)
- [Alfresco/alfresco-ng2-components#6098 - [ACA-3312] Add user-filter util class](https://github.com/Alfresco/alfresco-ng2-components/pull/6098)
- [Alfresco/alfresco-ng2-components#6092 - [ADF-5219] Refactor Document list Filters](https://github.com/Alfresco/alfresco-ng2-components/pull/6092)
- [Alfresco/alfresco-ng2-components#6159 - [ACA-3960] FE - Users that are part of a candidate group should not be able to see 'Assignee' property as editable when on that user task candidate group was set as assignment](https://github.com/Alfresco/alfresco-ng2-components/pull/6159)
- [Alfresco/alfresco-ng2-components#6158 - [AAE-3493] Update the documentation to provide the proper guidance on custom forms widgets for APA and APS developers](https://github.com/Alfresco/alfresco-ng2-components/pull/6158)
- [Alfresco/alfresco-ng2-components#6139 - Bump @angular/cli from 10.1.0 to 10.1.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6139)
- [Alfresco/alfresco-ng2-components#6164 - [ACA-3903] DocumentList - header filters are missing aria-labels](https://github.com/Alfresco/alfresco-ng2-components/pull/6164)
- [Alfresco/alfresco-ng2-components#6119 - Bump optimize-css-assets-webpack-plugin from 5.0.3 to 5.0.4](https://github.com/Alfresco/alfresco-ng2-components/pull/6119)
- [Alfresco/alfresco-ng2-components#6165 - [ACA-3689] Update customize filter locator](https://github.com/Alfresco/alfresco-ng2-components/pull/6165)
- [Alfresco/alfresco-ng2-components#6166 - [ADF-5219] Fix Production Build](https://github.com/Alfresco/alfresco-ng2-components/pull/6166)
- [Alfresco/alfresco-ng2-components#6153 - Ole tutorial updates](https://github.com/Alfresco/alfresco-ng2-components/pull/6153)
- [Alfresco/alfresco-ng2-components#6160 - [AAE-3410] NodeSelector - Use user alias (-my-) name as default for upload of type Alfresco Content only](https://github.com/Alfresco/alfresco-ng2-components/pull/6160)
- [Alfresco/alfresco-ng2-components#6167 - Test improve 2](https://github.com/Alfresco/alfresco-ng2-components/pull/6167)
- [Alfresco/alfresco-ng2-components#6172 - Bump mini-css-extract-plugin from 0.10.1 to 0.11.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6172)
- [Alfresco/alfresco-ng2-components#6161 - [AAE-3469] New Service Task Cloud Component](https://github.com/Alfresco/alfresco-ng2-components/pull/6161)
- [Alfresco/alfresco-ng2-components#6173 - [AAE-3469] Expose ServiceTaskListCloudComponent in public api](https://github.com/Alfresco/alfresco-ng2-components/pull/6173)
- [Alfresco/alfresco-ng2-components#6175 - Expose ServiceTaskFilterCloudService in public API](https://github.com/Alfresco/alfresco-ng2-components/pull/6175)
- [Alfresco/alfresco-ng2-components#6174 - [AAE-3651] FE - Export DateCloudFilterType from process-services-cloud lib](https://github.com/Alfresco/alfresco-ng2-components/pull/6174)
- [Alfresco/alfresco-ng2-components#6177 - Added switch to be able to check the form behaviour](https://github.com/Alfresco/alfresco-ng2-components/pull/6177)
- [Alfresco/alfresco-ng2-components#6180 - Fix broken e2e tests because of the lack of thrown error](https://github.com/Alfresco/alfresco-ng2-components/pull/6180)
- [Alfresco/alfresco-ng2-components#6181 - fix rxjs imports](https://github.com/Alfresco/alfresco-ng2-components/pull/6181)
- [Alfresco/alfresco-ng2-components#6171 - Bump moment from 2.27.0 to 2.29.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6171)
- [Alfresco/alfresco-ng2-components#6169 - Bump commander from 6.0.0 to 6.1.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6169)
- [Alfresco/alfresco-ng2-components#6182 - Update candidatebaseapp for variable mapping in tasks to work](https://github.com/Alfresco/alfresco-ng2-components/pull/6182)
- [Alfresco/alfresco-ng2-components#6184 - [ADF-5260] Fix Service task list initialization in DemoShell](https://github.com/Alfresco/alfresco-ng2-components/pull/6184)
- [Alfresco/alfresco-ng2-components#6141 - [ADF-4481] e2e test for uploading an unsupported file](https://github.com/Alfresco/alfresco-ng2-components/pull/6141)
- [Alfresco/alfresco-ng2-components#6185 - [ACA-3626] Cloud Task - completed date filter ](https://github.com/Alfresco/alfresco-ng2-components/pull/6185)
- [Alfresco/alfresco-ng2-components#6187 - Bump snyk from 1.393.0 to 1.404.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6187)
- [Alfresco/alfresco-ng2-components#6188 - Bump lint-staged from 10.2.13 to 10.4.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6188)
- [Alfresco/alfresco-ng2-components#6189 - Bump @types/node from 14.6.4 to 14.11.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6189)
- [Alfresco/alfresco-ng2-components#6170 - Bump pdfjs-dist from 2.4.456 to 2.5.207](https://github.com/Alfresco/alfresco-ng2-components/pull/6170)
- [Alfresco/alfresco-ng2-components#6168 - Bump @nx/workspace from 10.1.0 to 10.2.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6168)
- [Alfresco/alfresco-ng2-components#6176 - [ACA-3689] Update edit-process-filter-cloud-component PO](https://github.com/Alfresco/alfresco-ng2-components/pull/6176)
- [Alfresco/alfresco-ng2-components#6191 - LOC-258_Localised UI files for ADF 4.1 in 16 languages](https://github.com/Alfresco/alfresco-ng2-components/pull/6191)
- [Alfresco/alfresco-ng2-components#6190 - [ACA-3957] Added correct Icon for save-as button in task filter and p…](https://github.com/Alfresco/alfresco-ng2-components/pull/6190)
- [Alfresco/alfresco-ng2-components#6134 - [AAE-3199] - Add support for searchable content model properties (new search filters panel in the attach file widget)](https://github.com/Alfresco/alfresco-ng2-components/pull/6134)
- [Alfresco/alfresco-ng2-components#6195 - Bump typedoc from 0.18.0 to 0.19.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6195)
- [Alfresco/alfresco-ng2-components#6194 - Bump ng-packagr from 10.1.0 to 10.1.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6194)
- [Alfresco/alfresco-ng2-components#6196 - Bump codelyzer from 6.0.0 to 6.0.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6196)
- [Alfresco/alfresco-ng2-components#6198 - Bump @angular-devkit/build-angular from 0.1000.7 to 0.1001.4](https://github.com/Alfresco/alfresco-ng2-components/pull/6198)
- [Alfresco/alfresco-ng2-components#6192 - [ACA-3010] - Process/Task Cloud fix wrong date range](https://github.com/Alfresco/alfresco-ng2-components/pull/6192)
- [Alfresco/alfresco-ng2-components#6197 - Bump @angular/cli from 10.1.2 to 10.1.4](https://github.com/Alfresco/alfresco-ng2-components/pull/6197)
- [Alfresco/alfresco-ng2-components#6186 - [ACA-3627] - Add completedBy filter again](https://github.com/Alfresco/alfresco-ng2-components/pull/6186)
- [Alfresco/alfresco-ng2-components#6199 - [AAE-3694] Add new Service Method for service task integration](https://github.com/Alfresco/alfresco-ng2-components/pull/6199)
- [Alfresco/alfresco-ng2-components#6200 - add support for toolbar title i18n](https://github.com/Alfresco/alfresco-ng2-components/pull/6200)
- [Alfresco/alfresco-ng2-components#6201 - [ADF-5262] Fix query execution in BaseQueryBuilderService](https://github.com/Alfresco/alfresco-ng2-components/pull/6201)
- [Alfresco/alfresco-ng2-components#6202 - [ADF-5259] - addded unit test for custom widget](https://github.com/Alfresco/alfresco-ng2-components/pull/6202)
- [Alfresco/alfresco-ng2-components#6209 - [ADF-5263] Empty page displayed all the time when load content fix ](https://github.com/Alfresco/alfresco-ng2-components/pull/6209)
- [Alfresco/alfresco-ng2-components#6210 - add missing interface property](https://github.com/Alfresco/alfresco-ng2-components/pull/6210)
- [Alfresco/alfresco-ng2-components#6205 - Bump rxjs from 6.6.2 to 6.6.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6205)
- [Alfresco/alfresco-ng2-components#6212 - [ADF-5261] Fix excluded flaky tests C297689, C297690](https://github.com/Alfresco/alfresco-ng2-components/pull/6212)
- [Alfresco/alfresco-ng2-components#6211 - Bump mdast-util-compact from 2.0.1 to 3.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6211)
- [Alfresco/alfresco-ng2-components#6203 - Bump @angular-devkit/build-ng-packagr from 0.1001.0 to 0.1001.4](https://github.com/Alfresco/alfresco-ng2-components/pull/6203)
- [Alfresco/alfresco-ng2-components#6207 - Bump karma from 5.2.2 to 5.2.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6207)
- [Alfresco/alfresco-ng2-components#6206 - Bump ng2-charts from 2.3.3 to 2.4.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6206)
- [Alfresco/alfresco-ng2-components#6218 - Bump remark-frontmatter from 2.0.0 to 3.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6218)
- [Alfresco/alfresco-ng2-components#6193 - [AAE-3637] Attach file - Upload button is not disabled when the user is in search mode](https://github.com/Alfresco/alfresco-ng2-components/pull/6193)
- [Alfresco/alfresco-ng2-components#6221 - [AAE-3764]Fix typo for CLAIM button on form - process services](https://github.com/Alfresco/alfresco-ng2-components/pull/6221)
Please refer to the [Alfresco issue tracker](https://issues.alfresco.com/jira/projects/ADF/issues/ADF-581?filter=allopenissues) for other known issues in this release. If you have any questions about the release, please contact us using [Gitter](https://gitter.im/Alfresco/alfresco-ng2-components).
+130 -130
View File
@@ -54,136 +54,136 @@ The following is a brief list of references to help you get started with the new
Please refer to the [official documentation](http://docs.alfresco.com/) for further details and suggestions.
## PR merged
## PR merged
* [Alfresco/alfresco-ng2-components#6244 - Bump snyk from 1.413.2 to 1.413.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6244)
* [Alfresco/alfresco-ng2-components#6230 - Bump moment from 2.29.0 to 2.29.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6230)
* [Alfresco/alfresco-ng2-components#6246 - Menu for ABN in regard of upgrade guides, vulnerability and licence info.](https://github.com/Alfresco/alfresco-ng2-components/pull/6246)
* [Alfresco/alfresco-ng2-components#6252 - adf-cli - Fix typo on namespace](https://github.com/Alfresco/alfresco-ng2-components/pull/6252)
* [Alfresco/alfresco-ng2-components#6249 - [ACA-4052] - Add today option back](https://github.com/Alfresco/alfresco-ng2-components/pull/6249)
* [Alfresco/alfresco-ng2-components#6248 - improved e2e login api](https://github.com/Alfresco/alfresco-ng2-components/pull/6248)
* [Alfresco/alfresco-ng2-components#6251 - [ACA-3662] Add setCompleteDateFilterDropDown() method](https://github.com/Alfresco/alfresco-ng2-components/pull/6251)
* [Alfresco/alfresco-ng2-components#6247 - Bump sass-loader from 10.0.2 to 10.0.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6247)
* [Alfresco/alfresco-ng2-components#6250 - Try new travis Graviton](https://github.com/Alfresco/alfresco-ng2-components/pull/6250)
* [Alfresco/alfresco-ng2-components#6257 - AAE renamed APA in guides and files.](https://github.com/Alfresco/alfresco-ng2-components/pull/6257)
* [Alfresco/alfresco-ng2-components#6259 - fix error message for CSRF](https://github.com/Alfresco/alfresco-ng2-components/pull/6259)
* [Alfresco/alfresco-ng2-components#6260 - Default login with admin if not to create user e2e](https://github.com/Alfresco/alfresco-ng2-components/pull/6260)
* [Alfresco/alfresco-ng2-components#6151 - [AAE-3587] Use grid to allow using rowspan](https://github.com/Alfresco/alfresco-ng2-components/pull/6151)
* [Alfresco/alfresco-ng2-components#6262 - Bump @angular-devkit/build-angular from 0.1001.4 to 0.1001.7](https://github.com/Alfresco/alfresco-ng2-components/pull/6262)
* [Alfresco/alfresco-ng2-components#6263 - Bump snyk from 1.413.3 to 1.415.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6263)
* [Alfresco/alfresco-ng2-components#6253 - [ADF-5279] Date range type filter selection triggers list reload](https://github.com/Alfresco/alfresco-ng2-components/pull/6253)
* [Alfresco/alfresco-ng2-components#6254 - [ADF-5280] [Cloud] Tasks - Created Date filter](https://github.com/Alfresco/alfresco-ng2-components/pull/6254)
* [Alfresco/alfresco-ng2-components#6265 - [ACA-3969]Add methods for people-cloud-component.page.ts](https://github.com/Alfresco/alfresco-ng2-components/pull/6265)
* [Alfresco/alfresco-ng2-components#6214 - [AAE-3719][AAE-3720] - Fix content node selector search should align with the filtering](https://github.com/Alfresco/alfresco-ng2-components/pull/6214)
* [Alfresco/alfresco-ng2-components#6269 - [AAE-3908] - fix clear value icon on card view text item](https://github.com/Alfresco/alfresco-ng2-components/pull/6269)
* [Alfresco/alfresco-ng2-components#5907 - [ACA-3619] - add task assignment filter](https://github.com/Alfresco/alfresco-ng2-components/pull/5907)
* [Alfresco/alfresco-ng2-components#6271 - [AAE-3405] - Optimise attach file widget UI](https://github.com/Alfresco/alfresco-ng2-components/pull/6271)
* [Alfresco/alfresco-ng2-components#6272 - [ACA-3976]Add a new process with 2 parallel user tasks in candidatebaseapp](https://github.com/Alfresco/alfresco-ng2-components/pull/6272)
* [Alfresco/alfresco-ng2-components#6274 - [AAE-3925] Add support for date type searchable properties in attach …](https://github.com/Alfresco/alfresco-ng2-components/pull/6274)
* [Alfresco/alfresco-ng2-components#6275 - [AAE-3886] Cleanup the customModels when the attach file widget compo…](https://github.com/Alfresco/alfresco-ng2-components/pull/6275)
* [Alfresco/alfresco-ng2-components#6276 - [ACA-4089] Add new method in DatePickerCalendarPage](https://github.com/Alfresco/alfresco-ng2-components/pull/6276)
* [Alfresco/alfresco-ng2-components#6077 - [ACA-3706] implement startedBy process filter property](https://github.com/Alfresco/alfresco-ng2-components/pull/6077)
* [Alfresco/alfresco-ng2-components#6280 - Fix the if condition on namespaces](https://github.com/Alfresco/alfresco-ng2-components/pull/6280)
* [Alfresco/alfresco-ng2-components#6281 - [ACA-3664] Add new method in ADF to validate tasks filtering by CreatedBy filter](https://github.com/Alfresco/alfresco-ng2-components/pull/6281)
* [Alfresco/alfresco-ng2-components#6279 - [ACA-4049] Improve check for content on lists](https://github.com/Alfresco/alfresco-ng2-components/pull/6279)
* [Alfresco/alfresco-ng2-components#6277 - [AAE-3750] - add possibility to exclude user from selection on people…](https://github.com/Alfresco/alfresco-ng2-components/pull/6277)
* [Alfresco/alfresco-ng2-components#6256 - [ADF-5170] [upload] not able to upload file/folder from external content service specfic path](https://github.com/Alfresco/alfresco-ng2-components/pull/6256)
* [Alfresco/alfresco-ng2-components#6270 - move users in the users object to make loginWithProgile general purpose](https://github.com/Alfresco/alfresco-ng2-components/pull/6270)
* [Alfresco/alfresco-ng2-components#6286 - Bump @angular-devkit/build-ng-packagr from 0.1001.4 to 0.1002.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6286)
* [Alfresco/alfresco-ng2-components#6283 - Bump chart.js from 2.9.3 to 2.9.4](https://github.com/Alfresco/alfresco-ng2-components/pull/6283)
* [Alfresco/alfresco-ng2-components#6284 - Bump lint-staged from 10.4.0 to 10.5.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6284)
* [Alfresco/alfresco-ng2-components#6289 - [ACA-4089] Modify setCompletedBy method to set the selected assignee](https://github.com/Alfresco/alfresco-ng2-components/pull/6289)
* [Alfresco/alfresco-ng2-components#6293 - [ACA-4057]Create process with random name](https://github.com/Alfresco/alfresco-ng2-components/pull/6293)
* [Alfresco/alfresco-ng2-components#6288 - [ACA-3870] Fix Version Compatibility Initialization](https://github.com/Alfresco/alfresco-ng2-components/pull/6288)
* [Alfresco/alfresco-ng2-components#6295 - remove spamming of i18n warnings to console log](https://github.com/Alfresco/alfresco-ng2-components/pull/6295)
* [Alfresco/alfresco-ng2-components#6298 - [ACA-4057] Add getProcessInstanceByName method](https://github.com/Alfresco/alfresco-ng2-components/pull/6298)
* [Alfresco/alfresco-ng2-components#6300 - Bump sass-loader from 10.0.3 to 10.0.5](https://github.com/Alfresco/alfresco-ng2-components/pull/6300)
* [Alfresco/alfresco-ng2-components#6296 - [ACA-4057]Add method to create process with values](https://github.com/Alfresco/alfresco-ng2-components/pull/6296)
* [Alfresco/alfresco-ng2-components#6307 - Bump lint-staged from 10.5.0 to 10.5.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6307)
* [Alfresco/alfresco-ng2-components#6308 - Bump @types/selenium-webdriver from 4.0.9 to 4.0.10](https://github.com/Alfresco/alfresco-ng2-components/pull/6308)
* [Alfresco/alfresco-ng2-components#6304 - [AAE-3966] FE - Disable the upload button when the user doesn't have permissions in a folder](https://github.com/Alfresco/alfresco-ng2-components/pull/6304)
* [Alfresco/alfresco-ng2-components#6294 - [ACA-4071] [ADW-Cloud]Task header takes too much to be loaded after claiming a task](https://github.com/Alfresco/alfresco-ng2-components/pull/6294)
* [Alfresco/alfresco-ng2-components#6301 - [AAE-3992] cleanup the code before refactoring](https://github.com/Alfresco/alfresco-ng2-components/pull/6301)
* [Alfresco/alfresco-ng2-components#6310 - Bump graphql from 15.3.0 to 15.4.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6310)
* [Alfresco/alfresco-ng2-components#6311 - Bump remark from 12.0.1 to 13.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6311)
* [Alfresco/alfresco-ng2-components#6299 - [ACA-4099] Fix search query in content node selector](https://github.com/Alfresco/alfresco-ng2-components/pull/6299)
* [Alfresco/alfresco-ng2-components#6309 - Bump @types/node from 14.11.2 to 14.14.6](https://github.com/Alfresco/alfresco-ng2-components/pull/6309)
* [Alfresco/alfresco-ng2-components#6297 - [AAE-3967] Add datetime-range search filter component](https://github.com/Alfresco/alfresco-ng2-components/pull/6297)
* [Alfresco/alfresco-ng2-components#6312 - exported search-datetime range component](https://github.com/Alfresco/alfresco-ng2-components/pull/6312)
* [Alfresco/alfresco-ng2-components#6306 - [MNT-22003] - fixed check on variable for visibility service](https://github.com/Alfresco/alfresco-ng2-components/pull/6306)
* [Alfresco/alfresco-ng2-components#6282 - Improve search filter component: hide a facet if there is no filter category](https://github.com/Alfresco/alfresco-ng2-components/pull/6282)
* [Alfresco/alfresco-ng2-components#6303 - [ACA-4057] Edit getProcessInstanceByName method to search the process instance directly by its name](https://github.com/Alfresco/alfresco-ng2-components/pull/6303)
* [Alfresco/alfresco-ng2-components#6317 - Bump @angular/cli from 10.1.4 to 10.2.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6317)
* [Alfresco/alfresco-ng2-components#6316 - Bump snyk from 1.415.0 to 1.424.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6316)
* [Alfresco/alfresco-ng2-components#6315 - Bump mdast-zone from 4.0.0 to 4.0.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6315)
* [Alfresco/alfresco-ng2-components#6313 - Bump mdast-util-heading-range from 2.1.4 to 2.1.5](https://github.com/Alfresco/alfresco-ng2-components/pull/6313)
* [Alfresco/alfresco-ng2-components#6318 - [ACA-828] Add showTitle input in TaskCloudForm component](https://github.com/Alfresco/alfresco-ng2-components/pull/6318)
* [Alfresco/alfresco-ng2-components#6319 - add missing env variables for proxy file](https://github.com/Alfresco/alfresco-ng2-components/pull/6319)
* [Alfresco/alfresco-ng2-components#6302 - [ADF-5223] Fix Amount widget styling](https://github.com/Alfresco/alfresco-ng2-components/pull/6302)
* [Alfresco/alfresco-ng2-components#6129 - [ACA-3373] Add e2e multi item select method in DataTable component](https://github.com/Alfresco/alfresco-ng2-components/pull/6129)
* [Alfresco/alfresco-ng2-components#6328 - Added optional on variable models to avoid breaking changes](https://github.com/Alfresco/alfresco-ng2-components/pull/6328)
* [Alfresco/alfresco-ng2-components#6329 - [ACS-827] - added whitelisted element and method for checking them](https://github.com/Alfresco/alfresco-ng2-components/pull/6329)
* [Alfresco/alfresco-ng2-components#6330 - AAE-3936 Tooltip card directive](https://github.com/Alfresco/alfresco-ng2-components/pull/6330)
* [Alfresco/alfresco-ng2-components#6322 - Bump unist-util-select from 3.0.1 to 3.0.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6322)
* [Alfresco/alfresco-ng2-components#6320 - [MNT-21920] Fix Card View Integers initialization when they are set to 0](https://github.com/Alfresco/alfresco-ng2-components/pull/6320)
* [Alfresco/alfresco-ng2-components#6327 - [ACS-721] Improve End/Cancel Editing UX (part 1) - implement single menu option & dialog](https://github.com/Alfresco/alfresco-ng2-components/pull/6327)
* [Alfresco/alfresco-ng2-components#6305 - [ACA-4124] Change name displayed for groups in Add Permission Panel Component](https://github.com/Alfresco/alfresco-ng2-components/pull/6305)
* [Alfresco/alfresco-ng2-components#6325 - Bump rxjs-tslint-rules from 4.34.1 to 4.34.5](https://github.com/Alfresco/alfresco-ng2-components/pull/6325)
* [Alfresco/alfresco-ng2-components#6332 - [AAE-3936] Fix error in directive component](https://github.com/Alfresco/alfresco-ng2-components/pull/6332)
* [Alfresco/alfresco-ng2-components#6335 - Fix clickUntilIsNotVisible by removing one return](https://github.com/Alfresco/alfresco-ng2-components/pull/6335)
* [Alfresco/alfresco-ng2-components#6337 - Fixed floating promise](https://github.com/Alfresco/alfresco-ng2-components/pull/6337)
* [Alfresco/alfresco-ng2-components#6347 - ix build](https://github.com/Alfresco/alfresco-ng2-components/pull/6347)
* [Alfresco/alfresco-ng2-components#6349 - Bump snyk from 1.424.2 to 1.427.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6349)
* [Alfresco/alfresco-ng2-components#6350 - Bump cspell from 4.1.0 to 4.2.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6350)
* [Alfresco/alfresco-ng2-components#6331 - [ACA-4123] Unify APS and Cloud event emitters for filters](https://github.com/Alfresco/alfresco-ng2-components/pull/6331)
* [Alfresco/alfresco-ng2-components#6348 - [ADF-5284] Restore original plugin functionality](https://github.com/Alfresco/alfresco-ng2-components/pull/6348)
* [Alfresco/alfresco-ng2-components#6336 - [DRAFT] Adding script for updating users on APS1](https://github.com/Alfresco/alfresco-ng2-components/pull/6336)
* [Alfresco/alfresco-ng2-components#6353 - Bump @nrwl/workspace from 10.2.1 to 10.4.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6353)
* [Alfresco/alfresco-ng2-components#6357 - Bump cspell from 4.2.0 to 4.2.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6357)
* [Alfresco/alfresco-ng2-components#6360 - Bump @types/node from 14.14.6 to 14.14.8](https://github.com/Alfresco/alfresco-ng2-components/pull/6360)
* [Alfresco/alfresco-ng2-components#6351 - [AAE-3638] - implement priority drodpown widget](https://github.com/Alfresco/alfresco-ng2-components/pull/6351)
* [Alfresco/alfresco-ng2-components#6359 - Bump stylelint from 13.7.2 to 13.8.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6359)
* [Alfresco/alfresco-ng2-components#6358 - Bump markdownlint-cli from 0.23.2 to 0.25.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6358)
* [Alfresco/alfresco-ng2-components#6355 - [ACA-3957] - Replace icons on process cloud](https://github.com/Alfresco/alfresco-ng2-components/pull/6355)
* [Alfresco/alfresco-ng2-components#6361 - Improve env check](https://github.com/Alfresco/alfresco-ng2-components/pull/6361)
* [Alfresco/alfresco-ng2-components#6371 - [ACA-4124] Display authorityName when authorityDisplayName is missing](https://github.com/Alfresco/alfresco-ng2-components/pull/6371)
* [Alfresco/alfresco-ng2-components#6370 - [AAE-4127] [process-services] [APS1] Return Create Filters API response instead of the default payload](https://github.com/Alfresco/alfresco-ng2-components/pull/6370)
* [Alfresco/alfresco-ng2-components#6374 - [AAE-4188] Fix 3 invalid processes in simpleapp](https://github.com/Alfresco/alfresco-ng2-components/pull/6374)
* [Alfresco/alfresco-ng2-components#6375 - [ACA-4168] - changed to public reset pagination](https://github.com/Alfresco/alfresco-ng2-components/pull/6375)
* [Alfresco/alfresco-ng2-components#6321 - [ACA-3712] Add appVersion multi-select dropdown in edit cloud process filter](https://github.com/Alfresco/alfresco-ng2-components/pull/6321)
* [Alfresco/alfresco-ng2-components#6377 - Bump nconf from 0.10.0 to 0.11.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6377)
* [Alfresco/alfresco-ng2-components#6366 - [AAE-1379] - fixed form rapresentation](https://github.com/Alfresco/alfresco-ng2-components/pull/6366)
* [Alfresco/alfresco-ng2-components#6373 - [AAE-4090] [ADW - Cloud] Warning message is displayed for one second in destination picker when Upload button is enabled](https://github.com/Alfresco/alfresco-ng2-components/pull/6373)
* [Alfresco/alfresco-ng2-components#6376 - Bump snyk from 1.427.0 to 1.430.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6376)
* [Alfresco/alfresco-ng2-components#6385 - [AAE-4077] - TaskCloud: Refactor priority](https://github.com/Alfresco/alfresco-ng2-components/pull/6385)
* [Alfresco/alfresco-ng2-components#6383 - LOC-268 - Fixed. All localised UI files updated in 16 languages](https://github.com/Alfresco/alfresco-ng2-components/pull/6383)
* [Alfresco/alfresco-ng2-components#6386 - Add upload license script](https://github.com/Alfresco/alfresco-ng2-components/pull/6386)
* [Alfresco/alfresco-ng2-components#6395 - Bump rxjs-tslint-rules from 4.34.5 to 4.34.7](https://github.com/Alfresco/alfresco-ng2-components/pull/6395)
* [Alfresco/alfresco-ng2-components#6394 - Bump snyk from 1.430.2 to 1.431.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6394)
* [Alfresco/alfresco-ng2-components#6393 - Bump cspell from 4.2.2 to 4.2.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6393)
* [Alfresco/alfresco-ng2-components#6391 - Fix versioncompatibility directive](https://github.com/Alfresco/alfresco-ng2-components/pull/6391)
* [Alfresco/alfresco-ng2-components#6397 - AAE-4023 fix BASE_PATH as /](https://github.com/Alfresco/alfresco-ng2-components/pull/6397)
* [Alfresco/alfresco-ng2-components#6404 - [ADF-5297] Success Snackbar messages showning as errors](https://github.com/Alfresco/alfresco-ng2-components/pull/6404)
* [Alfresco/alfresco-ng2-components#6405 - [ADF-5294] - fixed problem on form rendering](https://github.com/Alfresco/alfresco-ng2-components/pull/6405)
* [Alfresco/alfresco-ng2-components#6400 - ACA-4171 to ACA-4174 Display the number of activated and deactivated users](https://github.com/Alfresco/alfresco-ng2-components/pull/6400)
* [Alfresco/alfresco-ng2-components#6403 - Clean-up demo shell Error component](https://github.com/Alfresco/alfresco-ng2-components/pull/6403)
* [Alfresco/alfresco-ng2-components#6399 - [ADF-5295] Fix Session not reloaded after User logs in in other tab](https://github.com/Alfresco/alfresco-ng2-components/pull/6399)
* [Alfresco/alfresco-ng2-components#6378 - [ACA-2176] prevent Esc click event bubble into the Viewer](https://github.com/Alfresco/alfresco-ng2-components/pull/6378)
* [Alfresco/alfresco-ng2-components#6409 - fix jasmine and karma integration for IDEs](https://github.com/Alfresco/alfresco-ng2-components/pull/6409)
* [Alfresco/alfresco-ng2-components#6415 - Bump snyk from 1.431.2 to 1.434.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6415)
* [Alfresco/alfresco-ng2-components#6414 - Bump ts-node from 9.0.0 to 9.1.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6414)
* [Alfresco/alfresco-ng2-components#6417 - [ACA-3957] - replace task icon](https://github.com/Alfresco/alfresco-ng2-components/pull/6417)
* [Alfresco/alfresco-ng2-components#6413 - [ADF-5298] Fix Service Tasks not loading](https://github.com/Alfresco/alfresco-ng2-components/pull/6413)
* [Alfresco/alfresco-ng2-components#6422 - [ACA-4202] - caching with version number for the url](https://github.com/Alfresco/alfresco-ng2-components/pull/6422)
* [Alfresco/alfresco-ng2-components#6420 - [ACA-4205] reload on sorting only for server mode](https://github.com/Alfresco/alfresco-ng2-components/pull/6420)
* [Alfresco/alfresco-ng2-components#6423 - [AAE-3638] - update priority option](https://github.com/Alfresco/alfresco-ng2-components/pull/6423)
* [Alfresco/alfresco-ng2-components#6421 - [ACA-4208] - fix date filter by range](https://github.com/Alfresco/alfresco-ng2-components/pull/6421)
* [Alfresco/alfresco-ng2-components#6427 - Bump highlight.js from 10.2.0 to 10.4.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6427)
* [Alfresco/alfresco-ng2-components#6425 - Include back C587084](https://github.com/Alfresco/alfresco-ng2-components/pull/6425)
* [Alfresco/alfresco-ng2-components#6426 - AAE-4262 fix docker redirect with relative url](https://github.com/Alfresco/alfresco-ng2-components/pull/6426)
* [Alfresco/alfresco-ng2-components#6428 - Bump snyk from 1.434.0 to 1.434.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6428)
* [Alfresco/alfresco-ng2-components#6429 - Bump protractor-retry from 1.2.13 to 2.0.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6429)
* [Alfresco/alfresco-ng2-components#6430 - Bump lint-staged from 10.5.1 to 10.5.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6430)
Please refer to the [Alfresco issue tracker](https://issues.alfresco.com/jira/projects/ADF/issues/ADF-581?filter=allopenissues) for other known issues in this release. If you have any questions about the release, please contact us using [Gitter](https://gitter.im/Alfresco/alfresco-ng2-components).
- [Alfresco/alfresco-ng2-components#6244 - Bump snyk from 1.413.2 to 1.413.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6244)
- [Alfresco/alfresco-ng2-components#6230 - Bump moment from 2.29.0 to 2.29.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6230)
- [Alfresco/alfresco-ng2-components#6246 - Menu for ABN in regard of upgrade guides, vulnerability and licence info.](https://github.com/Alfresco/alfresco-ng2-components/pull/6246)
- [Alfresco/alfresco-ng2-components#6252 - adf-cli - Fix typo on namespace](https://github.com/Alfresco/alfresco-ng2-components/pull/6252)
- [Alfresco/alfresco-ng2-components#6249 - [ACA-4052] - Add today option back](https://github.com/Alfresco/alfresco-ng2-components/pull/6249)
- [Alfresco/alfresco-ng2-components#6248 - improved e2e login api](https://github.com/Alfresco/alfresco-ng2-components/pull/6248)
- [Alfresco/alfresco-ng2-components#6251 - [ACA-3662] Add setCompleteDateFilterDropDown() method](https://github.com/Alfresco/alfresco-ng2-components/pull/6251)
- [Alfresco/alfresco-ng2-components#6247 - Bump sass-loader from 10.0.2 to 10.0.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6247)
- [Alfresco/alfresco-ng2-components#6250 - Try new travis Graviton](https://github.com/Alfresco/alfresco-ng2-components/pull/6250)
- [Alfresco/alfresco-ng2-components#6257 - AAE renamed APA in guides and files.](https://github.com/Alfresco/alfresco-ng2-components/pull/6257)
- [Alfresco/alfresco-ng2-components#6259 - fix error message for CSRF](https://github.com/Alfresco/alfresco-ng2-components/pull/6259)
- [Alfresco/alfresco-ng2-components#6260 - Default login with admin if not to create user e2e](https://github.com/Alfresco/alfresco-ng2-components/pull/6260)
- [Alfresco/alfresco-ng2-components#6151 - [AAE-3587] Use grid to allow using rowspan](https://github.com/Alfresco/alfresco-ng2-components/pull/6151)
- [Alfresco/alfresco-ng2-components#6262 - Bump @angular-devkit/build-angular from 0.1001.4 to 0.1001.7](https://github.com/Alfresco/alfresco-ng2-components/pull/6262)
- [Alfresco/alfresco-ng2-components#6263 - Bump snyk from 1.413.3 to 1.415.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6263)
- [Alfresco/alfresco-ng2-components#6253 - [ADF-5279] Date range type filter selection triggers list reload](https://github.com/Alfresco/alfresco-ng2-components/pull/6253)
- [Alfresco/alfresco-ng2-components#6254 - [ADF-5280] [Cloud] Tasks - Created Date filter](https://github.com/Alfresco/alfresco-ng2-components/pull/6254)
- [Alfresco/alfresco-ng2-components#6265 - [ACA-3969]Add methods for people-cloud-component.page.ts](https://github.com/Alfresco/alfresco-ng2-components/pull/6265)
- [Alfresco/alfresco-ng2-components#6214 - [AAE-3719][AAE-3720] - Fix content node selector search should align with the filtering](https://github.com/Alfresco/alfresco-ng2-components/pull/6214)
- [Alfresco/alfresco-ng2-components#6269 - [AAE-3908] - fix clear value icon on card view text item](https://github.com/Alfresco/alfresco-ng2-components/pull/6269)
- [Alfresco/alfresco-ng2-components#5907 - [ACA-3619] - add task assignment filter](https://github.com/Alfresco/alfresco-ng2-components/pull/5907)
- [Alfresco/alfresco-ng2-components#6271 - [AAE-3405] - Optimise attach file widget UI](https://github.com/Alfresco/alfresco-ng2-components/pull/6271)
- [Alfresco/alfresco-ng2-components#6272 - [ACA-3976]Add a new process with 2 parallel user tasks in candidatebaseapp](https://github.com/Alfresco/alfresco-ng2-components/pull/6272)
- [Alfresco/alfresco-ng2-components#6274 - [AAE-3925] Add support for date type searchable properties in attach …](https://github.com/Alfresco/alfresco-ng2-components/pull/6274)
- [Alfresco/alfresco-ng2-components#6275 - [AAE-3886] Cleanup the customModels when the attach file widget compo…](https://github.com/Alfresco/alfresco-ng2-components/pull/6275)
- [Alfresco/alfresco-ng2-components#6276 - [ACA-4089] Add new method in DatePickerCalendarPage](https://github.com/Alfresco/alfresco-ng2-components/pull/6276)
- [Alfresco/alfresco-ng2-components#6077 - [ACA-3706] implement startedBy process filter property](https://github.com/Alfresco/alfresco-ng2-components/pull/6077)
- [Alfresco/alfresco-ng2-components#6280 - Fix the if condition on namespaces](https://github.com/Alfresco/alfresco-ng2-components/pull/6280)
- [Alfresco/alfresco-ng2-components#6281 - [ACA-3664] Add new method in ADF to validate tasks filtering by CreatedBy filter](https://github.com/Alfresco/alfresco-ng2-components/pull/6281)
- [Alfresco/alfresco-ng2-components#6279 - [ACA-4049] Improve check for content on lists](https://github.com/Alfresco/alfresco-ng2-components/pull/6279)
- [Alfresco/alfresco-ng2-components#6277 - [AAE-3750] - add possibility to exclude user from selection on people…](https://github.com/Alfresco/alfresco-ng2-components/pull/6277)
- [Alfresco/alfresco-ng2-components#6256 - [ADF-5170] [upload] not able to upload file/folder from external content service specfic path](https://github.com/Alfresco/alfresco-ng2-components/pull/6256)
- [Alfresco/alfresco-ng2-components#6270 - move users in the users object to make loginWithProgile general purpose](https://github.com/Alfresco/alfresco-ng2-components/pull/6270)
- [Alfresco/alfresco-ng2-components#6286 - Bump @angular-devkit/build-ng-packagr from 0.1001.4 to 0.1002.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6286)
- [Alfresco/alfresco-ng2-components#6283 - Bump chart.js from 2.9.3 to 2.9.4](https://github.com/Alfresco/alfresco-ng2-components/pull/6283)
- [Alfresco/alfresco-ng2-components#6284 - Bump lint-staged from 10.4.0 to 10.5.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6284)
- [Alfresco/alfresco-ng2-components#6289 - [ACA-4089] Modify setCompletedBy method to set the selected assignee](https://github.com/Alfresco/alfresco-ng2-components/pull/6289)
- [Alfresco/alfresco-ng2-components#6293 - [ACA-4057]Create process with random name](https://github.com/Alfresco/alfresco-ng2-components/pull/6293)
- [Alfresco/alfresco-ng2-components#6288 - [ACA-3870] Fix Version Compatibility Initialization](https://github.com/Alfresco/alfresco-ng2-components/pull/6288)
- [Alfresco/alfresco-ng2-components#6295 - remove spamming of i18n warnings to console log](https://github.com/Alfresco/alfresco-ng2-components/pull/6295)
- [Alfresco/alfresco-ng2-components#6298 - [ACA-4057] Add getProcessInstanceByName method](https://github.com/Alfresco/alfresco-ng2-components/pull/6298)
- [Alfresco/alfresco-ng2-components#6300 - Bump sass-loader from 10.0.3 to 10.0.5](https://github.com/Alfresco/alfresco-ng2-components/pull/6300)
- [Alfresco/alfresco-ng2-components#6296 - [ACA-4057]Add method to create process with values](https://github.com/Alfresco/alfresco-ng2-components/pull/6296)
- [Alfresco/alfresco-ng2-components#6307 - Bump lint-staged from 10.5.0 to 10.5.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6307)
- [Alfresco/alfresco-ng2-components#6308 - Bump @types/selenium-webdriver from 4.0.9 to 4.0.10](https://github.com/Alfresco/alfresco-ng2-components/pull/6308)
- [Alfresco/alfresco-ng2-components#6304 - [AAE-3966] FE - Disable the upload button when the user doesn't have permissions in a folder](https://github.com/Alfresco/alfresco-ng2-components/pull/6304)
- [Alfresco/alfresco-ng2-components#6294 - [ACA-4071] [ADW-Cloud]Task header takes too much to be loaded after claiming a task](https://github.com/Alfresco/alfresco-ng2-components/pull/6294)
- [Alfresco/alfresco-ng2-components#6301 - [AAE-3992] cleanup the code before refactoring](https://github.com/Alfresco/alfresco-ng2-components/pull/6301)
- [Alfresco/alfresco-ng2-components#6310 - Bump graphql from 15.3.0 to 15.4.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6310)
- [Alfresco/alfresco-ng2-components#6311 - Bump remark from 12.0.1 to 13.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6311)
- [Alfresco/alfresco-ng2-components#6299 - [ACA-4099] Fix search query in content node selector](https://github.com/Alfresco/alfresco-ng2-components/pull/6299)
- [Alfresco/alfresco-ng2-components#6309 - Bump @types/node from 14.11.2 to 14.14.6](https://github.com/Alfresco/alfresco-ng2-components/pull/6309)
- [Alfresco/alfresco-ng2-components#6297 - [AAE-3967] Add datetime-range search filter component](https://github.com/Alfresco/alfresco-ng2-components/pull/6297)
- [Alfresco/alfresco-ng2-components#6312 - exported search-datetime range component](https://github.com/Alfresco/alfresco-ng2-components/pull/6312)
- [Alfresco/alfresco-ng2-components#6306 - [MNT-22003] - fixed check on variable for visibility service](https://github.com/Alfresco/alfresco-ng2-components/pull/6306)
- [Alfresco/alfresco-ng2-components#6282 - Improve search filter component: hide a facet if there is no filter category](https://github.com/Alfresco/alfresco-ng2-components/pull/6282)
- [Alfresco/alfresco-ng2-components#6303 - [ACA-4057] Edit getProcessInstanceByName method to search the process instance directly by its name](https://github.com/Alfresco/alfresco-ng2-components/pull/6303)
- [Alfresco/alfresco-ng2-components#6317 - Bump @angular/cli from 10.1.4 to 10.2.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6317)
- [Alfresco/alfresco-ng2-components#6316 - Bump snyk from 1.415.0 to 1.424.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6316)
- [Alfresco/alfresco-ng2-components#6315 - Bump mdast-zone from 4.0.0 to 4.0.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6315)
- [Alfresco/alfresco-ng2-components#6313 - Bump mdast-util-heading-range from 2.1.4 to 2.1.5](https://github.com/Alfresco/alfresco-ng2-components/pull/6313)
- [Alfresco/alfresco-ng2-components#6318 - [ACA-828] Add showTitle input in TaskCloudForm component](https://github.com/Alfresco/alfresco-ng2-components/pull/6318)
- [Alfresco/alfresco-ng2-components#6319 - add missing env variables for proxy file](https://github.com/Alfresco/alfresco-ng2-components/pull/6319)
- [Alfresco/alfresco-ng2-components#6302 - [ADF-5223] Fix Amount widget styling](https://github.com/Alfresco/alfresco-ng2-components/pull/6302)
- [Alfresco/alfresco-ng2-components#6129 - [ACA-3373] Add e2e multi item select method in DataTable component](https://github.com/Alfresco/alfresco-ng2-components/pull/6129)
- [Alfresco/alfresco-ng2-components#6328 - Added optional on variable models to avoid breaking changes](https://github.com/Alfresco/alfresco-ng2-components/pull/6328)
- [Alfresco/alfresco-ng2-components#6329 - [ACS-827] - added whitelisted element and method for checking them](https://github.com/Alfresco/alfresco-ng2-components/pull/6329)
- [Alfresco/alfresco-ng2-components#6330 - AAE-3936 Tooltip card directive](https://github.com/Alfresco/alfresco-ng2-components/pull/6330)
- [Alfresco/alfresco-ng2-components#6322 - Bump unist-util-select from 3.0.1 to 3.0.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6322)
- [Alfresco/alfresco-ng2-components#6320 - [MNT-21920] Fix Card View Integers initialization when they are set to 0](https://github.com/Alfresco/alfresco-ng2-components/pull/6320)
- [Alfresco/alfresco-ng2-components#6327 - [ACS-721] Improve End/Cancel Editing UX (part 1) - implement single menu option & dialog](https://github.com/Alfresco/alfresco-ng2-components/pull/6327)
- [Alfresco/alfresco-ng2-components#6305 - [ACA-4124] Change name displayed for groups in Add Permission Panel Component](https://github.com/Alfresco/alfresco-ng2-components/pull/6305)
- [Alfresco/alfresco-ng2-components#6325 - Bump rxjs-tslint-rules from 4.34.1 to 4.34.5](https://github.com/Alfresco/alfresco-ng2-components/pull/6325)
- [Alfresco/alfresco-ng2-components#6332 - [AAE-3936] Fix error in directive component](https://github.com/Alfresco/alfresco-ng2-components/pull/6332)
- [Alfresco/alfresco-ng2-components#6335 - Fix clickUntilIsNotVisible by removing one return](https://github.com/Alfresco/alfresco-ng2-components/pull/6335)
- [Alfresco/alfresco-ng2-components#6337 - Fixed floating promise](https://github.com/Alfresco/alfresco-ng2-components/pull/6337)
- [Alfresco/alfresco-ng2-components#6347 - ix build](https://github.com/Alfresco/alfresco-ng2-components/pull/6347)
- [Alfresco/alfresco-ng2-components#6349 - Bump snyk from 1.424.2 to 1.427.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6349)
- [Alfresco/alfresco-ng2-components#6350 - Bump cspell from 4.1.0 to 4.2.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6350)
- [Alfresco/alfresco-ng2-components#6331 - [ACA-4123] Unify APS and Cloud event emitters for filters](https://github.com/Alfresco/alfresco-ng2-components/pull/6331)
- [Alfresco/alfresco-ng2-components#6348 - [ADF-5284] Restore original plugin functionality](https://github.com/Alfresco/alfresco-ng2-components/pull/6348)
- [Alfresco/alfresco-ng2-components#6336 - [DRAFT] Adding script for updating users on APS1](https://github.com/Alfresco/alfresco-ng2-components/pull/6336)
- [Alfresco/alfresco-ng2-components#6353 - Bump @nx/workspace from 10.2.1 to 10.4.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6353)
- [Alfresco/alfresco-ng2-components#6357 - Bump cspell from 4.2.0 to 4.2.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6357)
- [Alfresco/alfresco-ng2-components#6360 - Bump @types/node from 14.14.6 to 14.14.8](https://github.com/Alfresco/alfresco-ng2-components/pull/6360)
- [Alfresco/alfresco-ng2-components#6351 - [AAE-3638] - implement priority drodpown widget](https://github.com/Alfresco/alfresco-ng2-components/pull/6351)
- [Alfresco/alfresco-ng2-components#6359 - Bump stylelint from 13.7.2 to 13.8.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6359)
- [Alfresco/alfresco-ng2-components#6358 - Bump markdownlint-cli from 0.23.2 to 0.25.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6358)
- [Alfresco/alfresco-ng2-components#6355 - [ACA-3957] - Replace icons on process cloud](https://github.com/Alfresco/alfresco-ng2-components/pull/6355)
- [Alfresco/alfresco-ng2-components#6361 - Improve env check](https://github.com/Alfresco/alfresco-ng2-components/pull/6361)
- [Alfresco/alfresco-ng2-components#6371 - [ACA-4124] Display authorityName when authorityDisplayName is missing](https://github.com/Alfresco/alfresco-ng2-components/pull/6371)
- [Alfresco/alfresco-ng2-components#6370 - [AAE-4127] [process-services] [APS1] Return Create Filters API response instead of the default payload](https://github.com/Alfresco/alfresco-ng2-components/pull/6370)
- [Alfresco/alfresco-ng2-components#6374 - [AAE-4188] Fix 3 invalid processes in simpleapp](https://github.com/Alfresco/alfresco-ng2-components/pull/6374)
- [Alfresco/alfresco-ng2-components#6375 - [ACA-4168] - changed to public reset pagination](https://github.com/Alfresco/alfresco-ng2-components/pull/6375)
- [Alfresco/alfresco-ng2-components#6321 - [ACA-3712] Add appVersion multi-select dropdown in edit cloud process filter](https://github.com/Alfresco/alfresco-ng2-components/pull/6321)
- [Alfresco/alfresco-ng2-components#6377 - Bump nconf from 0.10.0 to 0.11.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6377)
- [Alfresco/alfresco-ng2-components#6366 - [AAE-1379] - fixed form rapresentation](https://github.com/Alfresco/alfresco-ng2-components/pull/6366)
- [Alfresco/alfresco-ng2-components#6373 - [AAE-4090] [ADW - Cloud] Warning message is displayed for one second in destination picker when Upload button is enabled](https://github.com/Alfresco/alfresco-ng2-components/pull/6373)
- [Alfresco/alfresco-ng2-components#6376 - Bump snyk from 1.427.0 to 1.430.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6376)
- [Alfresco/alfresco-ng2-components#6385 - [AAE-4077] - TaskCloud: Refactor priority](https://github.com/Alfresco/alfresco-ng2-components/pull/6385)
- [Alfresco/alfresco-ng2-components#6383 - LOC-268 - Fixed. All localised UI files updated in 16 languages](https://github.com/Alfresco/alfresco-ng2-components/pull/6383)
- [Alfresco/alfresco-ng2-components#6386 - Add upload license script](https://github.com/Alfresco/alfresco-ng2-components/pull/6386)
- [Alfresco/alfresco-ng2-components#6395 - Bump rxjs-tslint-rules from 4.34.5 to 4.34.7](https://github.com/Alfresco/alfresco-ng2-components/pull/6395)
- [Alfresco/alfresco-ng2-components#6394 - Bump snyk from 1.430.2 to 1.431.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6394)
- [Alfresco/alfresco-ng2-components#6393 - Bump cspell from 4.2.2 to 4.2.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6393)
- [Alfresco/alfresco-ng2-components#6391 - Fix versioncompatibility directive](https://github.com/Alfresco/alfresco-ng2-components/pull/6391)
- [Alfresco/alfresco-ng2-components#6397 - AAE-4023 fix BASE_PATH as /](https://github.com/Alfresco/alfresco-ng2-components/pull/6397)
- [Alfresco/alfresco-ng2-components#6404 - [ADF-5297] Success Snackbar messages showning as errors](https://github.com/Alfresco/alfresco-ng2-components/pull/6404)
- [Alfresco/alfresco-ng2-components#6405 - [ADF-5294] - fixed problem on form rendering](https://github.com/Alfresco/alfresco-ng2-components/pull/6405)
- [Alfresco/alfresco-ng2-components#6400 - ACA-4171 to ACA-4174 Display the number of activated and deactivated users](https://github.com/Alfresco/alfresco-ng2-components/pull/6400)
- [Alfresco/alfresco-ng2-components#6403 - Clean-up demo shell Error component](https://github.com/Alfresco/alfresco-ng2-components/pull/6403)
- [Alfresco/alfresco-ng2-components#6399 - [ADF-5295] Fix Session not reloaded after User logs in in other tab](https://github.com/Alfresco/alfresco-ng2-components/pull/6399)
- [Alfresco/alfresco-ng2-components#6378 - [ACA-2176] prevent Esc click event bubble into the Viewer](https://github.com/Alfresco/alfresco-ng2-components/pull/6378)
- [Alfresco/alfresco-ng2-components#6409 - fix jasmine and karma integration for IDEs](https://github.com/Alfresco/alfresco-ng2-components/pull/6409)
- [Alfresco/alfresco-ng2-components#6415 - Bump snyk from 1.431.2 to 1.434.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6415)
- [Alfresco/alfresco-ng2-components#6414 - Bump ts-node from 9.0.0 to 9.1.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6414)
- [Alfresco/alfresco-ng2-components#6417 - [ACA-3957] - replace task icon](https://github.com/Alfresco/alfresco-ng2-components/pull/6417)
- [Alfresco/alfresco-ng2-components#6413 - [ADF-5298] Fix Service Tasks not loading](https://github.com/Alfresco/alfresco-ng2-components/pull/6413)
- [Alfresco/alfresco-ng2-components#6422 - [ACA-4202] - caching with version number for the url](https://github.com/Alfresco/alfresco-ng2-components/pull/6422)
- [Alfresco/alfresco-ng2-components#6420 - [ACA-4205] reload on sorting only for server mode](https://github.com/Alfresco/alfresco-ng2-components/pull/6420)
- [Alfresco/alfresco-ng2-components#6423 - [AAE-3638] - update priority option](https://github.com/Alfresco/alfresco-ng2-components/pull/6423)
- [Alfresco/alfresco-ng2-components#6421 - [ACA-4208] - fix date filter by range](https://github.com/Alfresco/alfresco-ng2-components/pull/6421)
- [Alfresco/alfresco-ng2-components#6427 - Bump highlight.js from 10.2.0 to 10.4.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6427)
- [Alfresco/alfresco-ng2-components#6425 - Include back C587084](https://github.com/Alfresco/alfresco-ng2-components/pull/6425)
- [Alfresco/alfresco-ng2-components#6426 - AAE-4262 fix docker redirect with relative url](https://github.com/Alfresco/alfresco-ng2-components/pull/6426)
- [Alfresco/alfresco-ng2-components#6428 - Bump snyk from 1.434.0 to 1.434.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6428)
- [Alfresco/alfresco-ng2-components#6429 - Bump protractor-retry from 1.2.13 to 2.0.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6429)
- [Alfresco/alfresco-ng2-components#6430 - Bump lint-staged from 10.5.1 to 10.5.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6430)
Please refer to the [Alfresco issue tracker](https://issues.alfresco.com/jira/projects/ADF/issues/ADF-581?filter=allopenissues) for other known issues in this release. If you have any questions about the release, please contact us using [Gitter](https://gitter.im/Alfresco/alfresco-ng2-components).
Thanks to the whole application team and the amazing Alfresco community for the hard work.
+186 -186
View File
@@ -59,193 +59,193 @@ The following is a brief list of references to help you get started with the new
Please refer to the [official documentation](http://docs.alfresco.com/) for further details and suggestions.
## PR merged
## PR merged
* [Alfresco/alfresco-ng2-components#6442 - Removed the TODO placeholders from the release note.](https://github.com/Alfresco/alfresco-ng2-components/pull/6442)
* [Alfresco/alfresco-ng2-components#6440 - Bump @alfresco/js-api from 4.1.0 to 4.2.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6440)
* [Alfresco/alfresco-ng2-components#6438 - [ACA-4218] - fix tomorrow date range filter](https://github.com/Alfresco/alfresco-ng2-components/pull/6438)
* [Alfresco/alfresco-ng2-components#6424 - remove old context menu](https://github.com/Alfresco/alfresco-ng2-components/pull/6424)
* [Alfresco/alfresco-ng2-components#6446 - ACA-4175 Show number of user's home folders during environment scan](https://github.com/Alfresco/alfresco-ng2-components/pull/6446)
* [Alfresco/alfresco-ng2-components#6451 - Remove escaped characters to fix ABN publish](https://github.com/Alfresco/alfresco-ng2-components/pull/6451)
* [Alfresco/alfresco-ng2-components#6402 - Use hash strategy in demo shell as the other apps](https://github.com/Alfresco/alfresco-ng2-components/pull/6402)
* [Alfresco/alfresco-ng2-components#6467 - Bump highlight.js from 10.2.0 to 10.4.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6467)
* [Alfresco/alfresco-ng2-components#6464 - Bump markdownlint-cli from 0.25.0 to 0.26.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6464)
* [Alfresco/alfresco-ng2-components#6468 - Bump snyk from 1.431.2 to 1.437.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6468)
* [Alfresco/alfresco-ng2-components#6457 - Bump commander from 6.1.0 to 6.2.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6457)
* [Alfresco/alfresco-ng2-components#6461 - ACA-4176 & ACA-4177 Show number of groups, sites and files during environment scan](https://github.com/Alfresco/alfresco-ng2-components/pull/6461)
* [Alfresco/alfresco-ng2-components#6469 - Duplicated tutorial (because of the renaming)](https://github.com/Alfresco/alfresco-ng2-components/pull/6469)
* [Alfresco/alfresco-ng2-components#6365 - [ADF-5281][ADF] Can't go through a form with date/dateTime widgets only with Tab](https://github.com/Alfresco/alfresco-ng2-components/pull/6365)
* [Alfresco/alfresco-ng2-components#6476 - [AAE-3869] Update simpleapp adding custom model forms](https://github.com/Alfresco/alfresco-ng2-components/pull/6476)
* [Alfresco/alfresco-ng2-components#6478 - [ADF-5014] unit tests are added for using date fields as visibility conditions](https://github.com/Alfresco/alfresco-ng2-components/pull/6478)
* [Alfresco/alfresco-ng2-components#6487 - add missing toolbar title class](https://github.com/Alfresco/alfresco-ng2-components/pull/6487)
* [Alfresco/alfresco-ng2-components#6490 - [ACA-4231] Added a table format to the scan-env command](https://github.com/Alfresco/alfresco-ng2-components/pull/6490)
* [Alfresco/alfresco-ng2-components#6486 - [ACA-4227] [APS] Create a script to check Process Services Management plugin status before running e2e tests](https://github.com/Alfresco/alfresco-ng2-components/pull/6486)
* [Alfresco/alfresco-ng2-components#6495 - Bump @types/selenium-webdriver from 4.0.10 to 4.0.11](https://github.com/Alfresco/alfresco-ng2-components/pull/6495)
* [Alfresco/alfresco-ng2-components#6489 - add missing toolbar tests](https://github.com/Alfresco/alfresco-ng2-components/pull/6489)
* [Alfresco/alfresco-ng2-components#6492 - Bump cspell from 4.2.3 to 5.1.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6492)
* [Alfresco/alfresco-ng2-components#6491 - Bump js-yaml from 3.14.0 to 4.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6491)
* [Alfresco/alfresco-ng2-components#6496 - [AAE-4369] adf-cli - Build the docker image only once and create tag link](https://github.com/Alfresco/alfresco-ng2-components/pull/6496)
* [Alfresco/alfresco-ng2-components#6460 - [AAE-3472] e2e service task](https://github.com/Alfresco/alfresco-ng2-components/pull/6460)
* [Alfresco/alfresco-ng2-components#6502 - Fix - Add all-tags as additional option](https://github.com/Alfresco/alfresco-ng2-components/pull/6502)
* [Alfresco/alfresco-ng2-components#6503 - Revert "[DRAFT] Adding script for updating users on APS1"](https://github.com/Alfresco/alfresco-ng2-components/pull/6503)
* [Alfresco/alfresco-ng2-components#6504 - docker-publish fix - Push the image with tag](https://github.com/Alfresco/alfresco-ng2-components/pull/6504)
* [Alfresco/alfresco-ng2-components#6505 - updated simpleapp with dynamic callActivity](https://github.com/Alfresco/alfresco-ng2-components/pull/6505)
* [Alfresco/alfresco-ng2-components#6507 - Fix broken tutorial link](https://github.com/Alfresco/alfresco-ng2-components/pull/6507)
* [Alfresco/alfresco-ng2-components#6511 - Bump nconf from 0.11.0 to 0.11.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6511)
* [Alfresco/alfresco-ng2-components#6508 - Bump typedoc from 0.19.2 to 0.20.13](https://github.com/Alfresco/alfresco-ng2-components/pull/6508)
* [Alfresco/alfresco-ng2-components#6445 - fix typescript errors (latest typescript)](https://github.com/Alfresco/alfresco-ng2-components/pull/6445)
* [Alfresco/alfresco-ng2-components#6514 - [ADF-5308] excluded e2e C311290](https://github.com/Alfresco/alfresco-ng2-components/pull/6514)
* [Alfresco/alfresco-ng2-components#6513 - add missing app instance types](https://github.com/Alfresco/alfresco-ng2-components/pull/6513)
* [Alfresco/alfresco-ng2-components#6466 - [AAE-4311] Make sure we have unit test coverage of the error component.](https://github.com/Alfresco/alfresco-ng2-components/pull/6466)
* [Alfresco/alfresco-ng2-components#6515 - [AAE-4379] i18n fixes](https://github.com/Alfresco/alfresco-ng2-components/pull/6515)
* [Alfresco/alfresco-ng2-components#6516 - Bump typedoc from 0.20.13 to 0.20.14](https://github.com/Alfresco/alfresco-ng2-components/pull/6516)
* [Alfresco/alfresco-ng2-components#6512 - Fix loop scenario when the login page is not present in silent login](https://github.com/Alfresco/alfresco-ng2-components/pull/6512)
* [Alfresco/alfresco-ng2-components#6506 - [AAE-3467] - Fix Uploaded files are not being attached after selecting more files](https://github.com/Alfresco/alfresco-ng2-components/pull/6506)
* [Alfresco/alfresco-ng2-components#6412 - [AAE-4241] Populate date and datetime widgets on retrieve metadata](https://github.com/Alfresco/alfresco-ng2-components/pull/6412)
* [Alfresco/alfresco-ng2-components#6518 - adf-cli init-aae-env - Add request as dependency](https://github.com/Alfresco/alfresco-ng2-components/pull/6518)
* [Alfresco/alfresco-ng2-components#6522 - Bump sass-loader from 10.0.5 to 10.1.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6522)
* [Alfresco/alfresco-ng2-components#6521 - Bump @nrwl/workspace from 10.4.1 to 11.1.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6521)
* [Alfresco/alfresco-ng2-components#6473 - [ACA-3975]Add process definitions to simpleapp](https://github.com/Alfresco/alfresco-ng2-components/pull/6473)
* [Alfresco/alfresco-ng2-components#6524 - [ADF-5308] Unexclude C311290](https://github.com/Alfresco/alfresco-ng2-components/pull/6524)
* [Alfresco/alfresco-ng2-components#6528 - [ACA-3969]Add new process definition to simpleapp](https://github.com/Alfresco/alfresco-ng2-components/pull/6528)
* [Alfresco/alfresco-ng2-components#6526 - [AAE-4364] Add delete release api call](https://github.com/Alfresco/alfresco-ng2-components/pull/6526)
* [Alfresco/alfresco-ng2-components#6531 - [AAE-4295] E2E - Add retry api calls for delete descriptor and application](https://github.com/Alfresco/alfresco-ng2-components/pull/6531)
* [Alfresco/alfresco-ng2-components#6519 - [ACA-4233] Call the scan-env adf-cli command before and after each E2E job](https://github.com/Alfresco/alfresco-ng2-components/pull/6519)
* [Alfresco/alfresco-ng2-components#6525 - TestElement prototype to greatly reduce e2e coding time](https://github.com/Alfresco/alfresco-ng2-components/pull/6525)
* [Alfresco/alfresco-ng2-components#6536 - [ADF-5311] Extract infinite select scroll loading logic to a reusable component](https://github.com/Alfresco/alfresco-ng2-components/pull/6536)
* [Alfresco/alfresco-ng2-components#6532 - Bump snyk from 1.437.2 to 1.437.4](https://github.com/Alfresco/alfresco-ng2-components/pull/6532)
* [Alfresco/alfresco-ng2-components#6538 - adf-cli init aps env - Upload the APS default app](https://github.com/Alfresco/alfresco-ng2-components/pull/6538)
* [Alfresco/alfresco-ng2-components#6539 - [ACA-4247] Improve login error logs in scan-env command in adf-cli](https://github.com/Alfresco/alfresco-ng2-components/pull/6539)
* [Alfresco/alfresco-ng2-components#6542 - [ACA-4223] Add process definition name filter](https://github.com/Alfresco/alfresco-ng2-components/pull/6542)
* [Alfresco/alfresco-ng2-components#6540 - [AAE-4426] Add upload from local tab in attach file widget](https://github.com/Alfresco/alfresco-ng2-components/pull/6540)
* [Alfresco/alfresco-ng2-components#6517 - [MNT-22051] - Fix form field mapping when value is zero](https://github.com/Alfresco/alfresco-ng2-components/pull/6517)
* [Alfresco/alfresco-ng2-components#6546 - [ACA-4252] Update authentication to SSO](https://github.com/Alfresco/alfresco-ng2-components/pull/6546)
* [Alfresco/alfresco-ng2-components#6541 - Bump commander from 6.2.1 to 7.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6541)
* [Alfresco/alfresco-ng2-components#6548 - Bump typedoc from 0.20.14 to 0.20.16](https://github.com/Alfresco/alfresco-ng2-components/pull/6548)
* [Alfresco/alfresco-ng2-components#6551 - [ADF-5324] - Expose a new adf-cli command to initialise acs-env](https://github.com/Alfresco/alfresco-ng2-components/pull/6551)
* [Alfresco/alfresco-ng2-components#6523 - [ACA-4229] [ADW-AGS] Move Governance plugin check script to ADF CLI](https://github.com/Alfresco/alfresco-ng2-components/pull/6523)
* [Alfresco/alfresco-ng2-components#6559 - [AAE-4384] Add blank page component](https://github.com/Alfresco/alfresco-ng2-components/pull/6559)
* [Alfresco/alfresco-ng2-components#6566 - Revert "[AAE-4384] Add blank page component"](https://github.com/Alfresco/alfresco-ng2-components/pull/6566)
* [Alfresco/alfresco-ng2-components#6529 - [MNT-22063] - fix form cloud layout](https://github.com/Alfresco/alfresco-ng2-components/pull/6529)
* [Alfresco/alfresco-ng2-components#6564 - [MNT-21636] Fix redirect URL for viewer](https://github.com/Alfresco/alfresco-ng2-components/pull/6564)
* [Alfresco/alfresco-ng2-components#6544 - [ACA-3455] [ACA-4250] Create methods needed for candidate tasks](https://github.com/Alfresco/alfresco-ng2-components/pull/6544)
* [Alfresco/alfresco-ng2-components#6574 - Do redirect before implicit button](https://github.com/Alfresco/alfresco-ng2-components/pull/6574)
* [Alfresco/alfresco-ng2-components#6569 - Bump stylelint from 13.8.0 to 13.9.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6569)
* [Alfresco/alfresco-ng2-components#6576 - [AAE-4521] Remove process UI from test projects](https://github.com/Alfresco/alfresco-ng2-components/pull/6576)
* [Alfresco/alfresco-ng2-components#6571 - Bump typedoc from 0.20.14 to 0.20.18](https://github.com/Alfresco/alfresco-ng2-components/pull/6571)
* [Alfresco/alfresco-ng2-components#6570 - Bump husky from 4.3.0 to 4.3.8](https://github.com/Alfresco/alfresco-ng2-components/pull/6570)
* [Alfresco/alfresco-ng2-components#6545 - Getting started tutorial on ADF.](https://github.com/Alfresco/alfresco-ng2-components/pull/6545)
* [Alfresco/alfresco-ng2-components#6567 - [AAE-4384] Add blank page component](https://github.com/Alfresco/alfresco-ng2-components/pull/6567)
* [Alfresco/alfresco-ng2-components#6578 - [ACA-4262] Content node selector - show 2 tabs only in cloud attach f…](https://github.com/Alfresco/alfresco-ng2-components/pull/6578)
* [Alfresco/alfresco-ng2-components#6577 - Fix viewer page loading method](https://github.com/Alfresco/alfresco-ng2-components/pull/6577)
* [Alfresco/alfresco-ng2-components#6556 - [ACA-4258] Add Task Filter Counters](https://github.com/Alfresco/alfresco-ng2-components/pull/6556)
* [Alfresco/alfresco-ng2-components#6586 - "Empty content" centering fixes](https://github.com/Alfresco/alfresco-ng2-components/pull/6586)
* [Alfresco/alfresco-ng2-components#6587 - [AAE-4534] Logout directive - handle the route based on app config](https://github.com/Alfresco/alfresco-ng2-components/pull/6587)
* [Alfresco/alfresco-ng2-components#6591 - improve the init by failing in case the app are not running](https://github.com/Alfresco/alfresco-ng2-components/pull/6591)
* [Alfresco/alfresco-ng2-components#6593 - Check if the order matter](https://github.com/Alfresco/alfresco-ng2-components/pull/6593)
* [Alfresco/alfresco-ng2-components#6601 - [AAE-4546] Update simpleapp](https://github.com/Alfresco/alfresco-ng2-components/pull/6601)
* [Alfresco/alfresco-ng2-components#6614 - Install NX if is in Travis Update lint.sh](https://github.com/Alfresco/alfresco-ng2-components/pull/6614)
* [Alfresco/alfresco-ng2-components#6616 - [AAE-4547] Add new process and form to simpleapp](https://github.com/Alfresco/alfresco-ng2-components/pull/6616)
* [Alfresco/alfresco-ng2-components#6608 - [AAE-4553] Improve error logs in scan-env](https://github.com/Alfresco/alfresco-ng2-components/pull/6608)
* [Alfresco/alfresco-ng2-components#6575 - [AAE-4427] Embed upload progress dialog inside the upload from your d…](https://github.com/Alfresco/alfresco-ng2-components/pull/6575)
* [Alfresco/alfresco-ng2-components#6592 - [AAE-4430] Upload from local tab visibility with info icon error message](https://github.com/Alfresco/alfresco-ng2-components/pull/6592)
* [Alfresco/alfresco-ng2-components#6630 - [ADF-5328] - fix replacing priority values error](https://github.com/Alfresco/alfresco-ng2-components/pull/6630)
* [Alfresco/alfresco-ng2-components#6557 - [AAE-4504] FE - [ADF] Fetch destination Folder Path from a static path](https://github.com/Alfresco/alfresco-ng2-components/pull/6557)
* [Alfresco/alfresco-ng2-components#6635 - Bump @angular/cli from 10.2.0 to 11.1.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6635)
* [Alfresco/alfresco-ng2-components#6634 - Bump @types/node from 14.14.8 to 14.14.25](https://github.com/Alfresco/alfresco-ng2-components/pull/6634)
* [Alfresco/alfresco-ng2-components#6633 - Bump snyk from 1.437.4 to 1.445.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6633)
* [Alfresco/alfresco-ng2-components#6629 - Update simpleapp and candidatebaseapp: destinationFolderPath and add attach file widgets](https://github.com/Alfresco/alfresco-ng2-components/pull/6629)
* [Alfresco/alfresco-ng2-components#6627 - [AAE-4547] Add new process definition to simpleapp](https://github.com/Alfresco/alfresco-ng2-components/pull/6627)
* [Alfresco/alfresco-ng2-components#6580 - [ADF-4329][ASD-5330] plus Improve e2e](https://github.com/Alfresco/alfresco-ng2-components/pull/6580)
* [Alfresco/alfresco-ng2-components#6628 - [ACA-4265]Refactor attachFileFromLocal method](https://github.com/Alfresco/alfresco-ng2-components/pull/6628)
* [Alfresco/alfresco-ng2-components#6642 - Bump ejs from 3.1.5 to 3.1.6](https://github.com/Alfresco/alfresco-ng2-components/pull/6642)
* [Alfresco/alfresco-ng2-components#6643 - Bump snyk from 1.445.0 to 1.446.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6643)
* [Alfresco/alfresco-ng2-components#6626 - [ATS-854] Add media tracks to player from webvtt rendition](https://github.com/Alfresco/alfresco-ng2-components/pull/6626)
* [Alfresco/alfresco-ng2-components#6600 - Tutorial on creating ADF based applications.](https://github.com/Alfresco/alfresco-ng2-components/pull/6600)
* [Alfresco/alfresco-ng2-components#6641 - Bump stylelint from 13.8.0 to 13.9.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6641)
* [Alfresco/alfresco-ng2-components#6638 - Update branch for JS-API PR#3205](https://github.com/Alfresco/alfresco-ng2-components/pull/6638)
* [Alfresco/alfresco-ng2-components#6644 - Update simpleapp to use candidate group on attach-local-file-on-task …](https://github.com/Alfresco/alfresco-ng2-components/pull/6644)
* [Alfresco/alfresco-ng2-components#6620 - [AAE-4529] Refactor Notification History Component](https://github.com/Alfresco/alfresco-ng2-components/pull/6620)
* [Alfresco/alfresco-ng2-components#6639 - [ADF-5331] - Alpha ADF/JS-API update has been successfully created.](https://github.com/Alfresco/alfresco-ng2-components/pull/6639)
* [Alfresco/alfresco-ng2-components#6636 - [AAE-4569] Added readOnly property to breadcrumb components](https://github.com/Alfresco/alfresco-ng2-components/pull/6636)
* [Alfresco/alfresco-ng2-components#6650 - Update children script ](https://github.com/Alfresco/alfresco-ng2-components/pull/6650)
* [Alfresco/alfresco-ng2-components#6652 - Bump snyk from 1.446.0 to 1.448.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6652)
* [Alfresco/alfresco-ng2-components#6656 - [ACA-4266] Improve governance plugin check logs](https://github.com/Alfresco/alfresco-ng2-components/pull/6656)
* [Alfresco/alfresco-ng2-components#6654 - Bump typescript from 3.9.7 to 3.9.8](https://github.com/Alfresco/alfresco-ng2-components/pull/6654)
* [Alfresco/alfresco-ng2-components#6655 - Bump @nrwl/workspace from 11.1.2 to 11.2.11](https://github.com/Alfresco/alfresco-ng2-components/pull/6655)
* [Alfresco/alfresco-ng2-components#6657 - Bump ini from 1.3.5 to 1.3.7](https://github.com/Alfresco/alfresco-ng2-components/pull/6657)
* [Alfresco/alfresco-ng2-components#6543 - [ADF-5313] Merge both form-fields POs in one because are identical](https://github.com/Alfresco/alfresco-ng2-components/pull/6543)
* [Alfresco/alfresco-ng2-components#6658 - [MNT-21636] Refactor redirect URL](https://github.com/Alfresco/alfresco-ng2-components/pull/6658)
* [Alfresco/alfresco-ng2-components#6663 - updated simpleapp with outcome visibility](https://github.com/Alfresco/alfresco-ng2-components/pull/6663)
* [Alfresco/alfresco-ng2-components#6602 - [ADF-5316] - Content Type](https://github.com/Alfresco/alfresco-ng2-components/pull/6602)
* [Alfresco/alfresco-ng2-components#6668 - Bump @angular/cli from 11.1.3 to 11.2.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6668)
* [Alfresco/alfresco-ng2-components#6669 - Bump stylelint from 13.9.0 to 13.10.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6669)
* [Alfresco/alfresco-ng2-components#6666 - Bump @types/node from 14.14.25 to 14.14.26](https://github.com/Alfresco/alfresco-ng2-components/pull/6666)
* [Alfresco/alfresco-ng2-components#6667 - Bump snyk from 1.448.0 to 1.452.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6667)
* [Alfresco/alfresco-ng2-components#6664 - [AAE-4429] Add readOnly breadcrumb to upload from device tab](https://github.com/Alfresco/alfresco-ng2-components/pull/6664)
* [Alfresco/alfresco-ng2-components#6671 - Fix promise redirect](https://github.com/Alfresco/alfresco-ng2-components/pull/6671)
* [Alfresco/alfresco-ng2-components#6672 - Bump socket.io from 2.3.0 to 2.4.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6672)
* [Alfresco/alfresco-ng2-components#6670 - Update branch for JS-API PR#3207](https://github.com/Alfresco/alfresco-ng2-components/pull/6670)
* [Alfresco/alfresco-ng2-components#6651 - [ADF-5332] Login basic auth - Ability to override the successRoute from app.config.json](https://github.com/Alfresco/alfresco-ng2-components/pull/6651)
* [Alfresco/alfresco-ng2-components#6673 - excluded flaky test C260241](https://github.com/Alfresco/alfresco-ng2-components/pull/6673)
* [Alfresco/alfresco-ng2-components#6607 - [ACA-4259] Task filter counter notifications](https://github.com/Alfresco/alfresco-ng2-components/pull/6607)
* [Alfresco/alfresco-ng2-components#6674 - [AAE-3326] Content node selector - sort files by createdAt desc by de…](https://github.com/Alfresco/alfresco-ng2-components/pull/6674)
* [Alfresco/alfresco-ng2-components#6685 - configure dependabot excludes](https://github.com/Alfresco/alfresco-ng2-components/pull/6685)
* [Alfresco/alfresco-ng2-components#6688 - Avoid to recall the method if no change detect is affected](https://github.com/Alfresco/alfresco-ng2-components/pull/6688)
* [Alfresco/alfresco-ng2-components#6689 - Update branch for JS-API PR#3224](https://github.com/Alfresco/alfresco-ng2-components/pull/6689)
* [Alfresco/alfresco-ng2-components#6549 - [ADF-5305] - Added aspect list component](https://github.com/Alfresco/alfresco-ng2-components/pull/6549)
* [Alfresco/alfresco-ng2-components#6695 - Bump snyk from 1.452.0 to 1.456.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6695)
* [Alfresco/alfresco-ng2-components#6693 - Aspect List - added spinner and refresh](https://github.com/Alfresco/alfresco-ng2-components/pull/6693)
* [Alfresco/alfresco-ng2-components#6694 - Bump apollo-angular from 2.2.0 to 2.3.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6694)
* [Alfresco/alfresco-ng2-components#6665 - [AAE-4452] FE - [ADF] Fetch destination folder path from mapped variables](https://github.com/Alfresco/alfresco-ng2-components/pull/6665)
* [Alfresco/alfresco-ng2-components#6698 - Enabling default aspects for card component](https://github.com/Alfresco/alfresco-ng2-components/pull/6698)
* [Alfresco/alfresco-ng2-components#6697 - [ADF-5341] Add Apollo direct dependencies](https://github.com/Alfresco/alfresco-ng2-components/pull/6697)
* [Alfresco/alfresco-ng2-components#6699 - Improve update-project script to update adf-cli and adf-testing packages](https://github.com/Alfresco/alfresco-ng2-components/pull/6699)
* [Alfresco/alfresco-ng2-components#6691 - [MNT-21636] Use URLTree for redirect](https://github.com/Alfresco/alfresco-ng2-components/pull/6691)
* [Alfresco/alfresco-ng2-components#6690 - [AAE-4637] Fix varying height of dialog when clicking on the Upload from your device tab](https://github.com/Alfresco/alfresco-ng2-components/pull/6690)
* [Alfresco/alfresco-ng2-components#6700 - [ACA-3881] Able to start form with preselected ACS nodes](https://github.com/Alfresco/alfresco-ng2-components/pull/6700)
* [Alfresco/alfresco-ng2-components#6696 - [ADF-5339] ESCAPE should close opened dialog not the overlay viewer](https://github.com/Alfresco/alfresco-ng2-components/pull/6696)
* [Alfresco/alfresco-ng2-components#6706 - Update branch for JS-API PR#3232](https://github.com/Alfresco/alfresco-ng2-components/pull/6706)
* [Alfresco/alfresco-ng2-components#6704 - [AAE-4608] Use smartrunner version 2 and add SuperCache (workspaces + S3 combo)!](https://github.com/Alfresco/alfresco-ng2-components/pull/6704)
* [Alfresco/alfresco-ng2-components#6714 - [AAE-4701] ADF check env - Fail if the env is not reachable](https://github.com/Alfresco/alfresco-ng2-components/pull/6714)
* [Alfresco/alfresco-ng2-components#6715 - Auto PR - Add the ADF number to easily identify the version](https://github.com/Alfresco/alfresco-ng2-components/pull/6715)
* [Alfresco/alfresco-ng2-components#6684 - [ACA-4208] - Fix process date filter for range](https://github.com/Alfresco/alfresco-ng2-components/pull/6684)
* [Alfresco/alfresco-ng2-components#6710 - Bump concurrently from 5.3.0 to 6.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6710)
* [Alfresco/alfresco-ng2-components#6712 - Bump typedoc from 0.20.14 to 0.20.27](https://github.com/Alfresco/alfresco-ng2-components/pull/6712)
* [Alfresco/alfresco-ng2-components#6707 - [AAE-4661] Fix search results are still displayed when search term ge…](https://github.com/Alfresco/alfresco-ng2-components/pull/6707)
* [Alfresco/alfresco-ng2-components#6719 - [AAE-4203][AAE-4292] - Fix breadcrumb and folder navigation issues wh…](https://github.com/Alfresco/alfresco-ng2-components/pull/6719)
* [Alfresco/alfresco-ng2-components#6717 - [AAE-4624] - fix user initials for identity user with bpm](https://github.com/Alfresco/alfresco-ng2-components/pull/6717)
* [Alfresco/alfresco-ng2-components#6418 - [ADF-5285] Re-include test](https://github.com/Alfresco/alfresco-ng2-components/pull/6418)
* [Alfresco/alfresco-ng2-components#6723 - [AAE-4661] Fix not showing results when filtering by content model pr…](https://github.com/Alfresco/alfresco-ng2-components/pull/6723)
* [Alfresco/alfresco-ng2-components#6599 - [AAE-3992] Process Filter bug fixes and improvements](https://github.com/Alfresco/alfresco-ng2-components/pull/6599)
* [Alfresco/alfresco-ng2-components#6705 - Create Image from PR if request](https://github.com/Alfresco/alfresco-ng2-components/pull/6705)
* [Alfresco/alfresco-ng2-components#6724 - [AAE-4710] Error-proof scan-env](https://github.com/Alfresco/alfresco-ng2-components/pull/6724)
* [Alfresco/alfresco-ng2-components#6462 - cli init-aae - Remove useless properties](https://github.com/Alfresco/alfresco-ng2-components/pull/6462)
* [Alfresco/alfresco-ng2-components#6725 - Override the pr title in case already exists](https://github.com/Alfresco/alfresco-ng2-components/pull/6725)
* [Alfresco/alfresco-ng2-components#6730 - [ADF-5346] DocumentList - header is not scrollable when the width of the browser is small](https://github.com/Alfresco/alfresco-ng2-components/pull/6730)
* [Alfresco/alfresco-ng2-components#6732 - [ACA-4213] - Fix search datetime range in different timezones](https://github.com/Alfresco/alfresco-ng2-components/pull/6732)
* [Alfresco/alfresco-ng2-components#6713 - [REPO-5552] more filtering capabilities for aspect/type api ](https://github.com/Alfresco/alfresco-ng2-components/pull/6713)
* [Alfresco/alfresco-ng2-components#6727 - [ADF-5344] - fixed counter for custom aspects](https://github.com/Alfresco/alfresco-ng2-components/pull/6727)
* [Alfresco/alfresco-ng2-components#6726 - [ACA-4299] Add e2e tests for task counters and notifications](https://github.com/Alfresco/alfresco-ng2-components/pull/6726)
* [Alfresco/alfresco-ng2-components#6735 - Bump css-loader from 4.3.0 to 5.1.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6735)
* [Alfresco/alfresco-ng2-components#6740 - [ACA-4304] - Remove userinfo name on small screens (only profile icon…](https://github.com/Alfresco/alfresco-ng2-components/pull/6740)
* [Alfresco/alfresco-ng2-components#6741 - [ACA-4299] Fix C593066 e2e test - task counter](https://github.com/Alfresco/alfresco-ng2-components/pull/6741)
* [Alfresco/alfresco-ng2-components#6737 - [ADF-5347] Viewer - Closing PDF before all pages are loaded causes errors](https://github.com/Alfresco/alfresco-ng2-components/pull/6737)
* [Alfresco/alfresco-ng2-components#6736 - Bump mini-css-extract-plugin from 0.11.2 to 1.3.9](https://github.com/Alfresco/alfresco-ng2-components/pull/6736)
* [Alfresco/alfresco-ng2-components#6734 - Bump cspell from 5.1.3 to 5.3.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6734)
* [Alfresco/alfresco-ng2-components#6746 - [ADF-5345] - fixed border for aspect dialog](https://github.com/Alfresco/alfresco-ng2-components/pull/6746)
* [Alfresco/alfresco-ng2-components#6742 - [ATS-873] Fix Subtitles in audio files](https://github.com/Alfresco/alfresco-ng2-components/pull/6742)
* [Alfresco/alfresco-ng2-components#6731 - [AAE-3543] Attach button enabled only when all files uploaded](https://github.com/Alfresco/alfresco-ng2-components/pull/6731)
* [Alfresco/alfresco-ng2-components#6745 - [ADF-5349] WebSocket protocol based on BpmHost](https://github.com/Alfresco/alfresco-ng2-components/pull/6745)
* [Alfresco/alfresco-ng2-components#6748 - Bump snyk from 1.456.0 to 1.462.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6748)
* [Alfresco/alfresco-ng2-components#6749 - Bump husky from 4.3.8 to 5.1.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6749)
* [Alfresco/alfresco-ng2-components#6744 - [ADF-5348] - fix user info icons](https://github.com/Alfresco/alfresco-ng2-components/pull/6744)
* [Alfresco/alfresco-ng2-components#6752 - [ADF-5285] re-include test C299187](https://github.com/Alfresco/alfresco-ng2-components/pull/6752)
* [Alfresco/alfresco-ng2-components#6750 - Bump cspell from 5.3.1 to 5.3.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6750)
* [Alfresco/alfresco-ng2-components#6753 - [AAE-4547] Add getInputValue() in TestElement class](https://github.com/Alfresco/alfresco-ng2-components/pull/6753)
* [Alfresco/alfresco-ng2-components#6747 - Update branch for JS-API PR#3256](https://github.com/Alfresco/alfresco-ng2-components/pull/6747)
* [Alfresco/alfresco-ng2-components#6763 - [ACA-4202] - refreshing the preview when version has changed](https://github.com/Alfresco/alfresco-ng2-components/pull/6763)
* [Alfresco/alfresco-ng2-components#6764 - Revert "[AAE-4637] Fix varying height of dialog when clicking on the Upload from your device tab"](https://github.com/Alfresco/alfresco-ng2-components/pull/6764)
- [Alfresco/alfresco-ng2-components#6442 - Removed the TODO placeholders from the release note.](https://github.com/Alfresco/alfresco-ng2-components/pull/6442)
- [Alfresco/alfresco-ng2-components#6440 - Bump @alfresco/js-api from 4.1.0 to 4.2.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6440)
- [Alfresco/alfresco-ng2-components#6438 - [ACA-4218] - fix tomorrow date range filter](https://github.com/Alfresco/alfresco-ng2-components/pull/6438)
- [Alfresco/alfresco-ng2-components#6424 - remove old context menu](https://github.com/Alfresco/alfresco-ng2-components/pull/6424)
- [Alfresco/alfresco-ng2-components#6446 - ACA-4175 Show number of user's home folders during environment scan](https://github.com/Alfresco/alfresco-ng2-components/pull/6446)
- [Alfresco/alfresco-ng2-components#6451 - Remove escaped characters to fix ABN publish](https://github.com/Alfresco/alfresco-ng2-components/pull/6451)
- [Alfresco/alfresco-ng2-components#6402 - Use hash strategy in demo shell as the other apps](https://github.com/Alfresco/alfresco-ng2-components/pull/6402)
- [Alfresco/alfresco-ng2-components#6467 - Bump highlight.js from 10.2.0 to 10.4.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6467)
- [Alfresco/alfresco-ng2-components#6464 - Bump markdownlint-cli from 0.25.0 to 0.26.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6464)
- [Alfresco/alfresco-ng2-components#6468 - Bump snyk from 1.431.2 to 1.437.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6468)
- [Alfresco/alfresco-ng2-components#6457 - Bump commander from 6.1.0 to 6.2.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6457)
- [Alfresco/alfresco-ng2-components#6461 - ACA-4176 & ACA-4177 Show number of groups, sites and files during environment scan](https://github.com/Alfresco/alfresco-ng2-components/pull/6461)
- [Alfresco/alfresco-ng2-components#6469 - Duplicated tutorial (because of the renaming)](https://github.com/Alfresco/alfresco-ng2-components/pull/6469)
- [Alfresco/alfresco-ng2-components#6365 - [ADF-5281][ADF] Can't go through a form with date/dateTime widgets only with Tab](https://github.com/Alfresco/alfresco-ng2-components/pull/6365)
- [Alfresco/alfresco-ng2-components#6476 - [AAE-3869] Update simpleapp adding custom model forms](https://github.com/Alfresco/alfresco-ng2-components/pull/6476)
- [Alfresco/alfresco-ng2-components#6478 - [ADF-5014] unit tests are added for using date fields as visibility conditions](https://github.com/Alfresco/alfresco-ng2-components/pull/6478)
- [Alfresco/alfresco-ng2-components#6487 - add missing toolbar title class](https://github.com/Alfresco/alfresco-ng2-components/pull/6487)
- [Alfresco/alfresco-ng2-components#6490 - [ACA-4231] Added a table format to the scan-env command](https://github.com/Alfresco/alfresco-ng2-components/pull/6490)
- [Alfresco/alfresco-ng2-components#6486 - [ACA-4227] [APS] Create a script to check Process Services Management plugin status before running e2e tests](https://github.com/Alfresco/alfresco-ng2-components/pull/6486)
- [Alfresco/alfresco-ng2-components#6495 - Bump @types/selenium-webdriver from 4.0.10 to 4.0.11](https://github.com/Alfresco/alfresco-ng2-components/pull/6495)
- [Alfresco/alfresco-ng2-components#6489 - add missing toolbar tests](https://github.com/Alfresco/alfresco-ng2-components/pull/6489)
- [Alfresco/alfresco-ng2-components#6492 - Bump cspell from 4.2.3 to 5.1.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6492)
- [Alfresco/alfresco-ng2-components#6491 - Bump js-yaml from 3.14.0 to 4.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6491)
- [Alfresco/alfresco-ng2-components#6496 - [AAE-4369] adf-cli - Build the docker image only once and create tag link](https://github.com/Alfresco/alfresco-ng2-components/pull/6496)
- [Alfresco/alfresco-ng2-components#6460 - [AAE-3472] e2e service task](https://github.com/Alfresco/alfresco-ng2-components/pull/6460)
- [Alfresco/alfresco-ng2-components#6502 - Fix - Add all-tags as additional option](https://github.com/Alfresco/alfresco-ng2-components/pull/6502)
- [Alfresco/alfresco-ng2-components#6503 - Revert "[DRAFT] Adding script for updating users on APS1"](https://github.com/Alfresco/alfresco-ng2-components/pull/6503)
- [Alfresco/alfresco-ng2-components#6504 - docker-publish fix - Push the image with tag](https://github.com/Alfresco/alfresco-ng2-components/pull/6504)
- [Alfresco/alfresco-ng2-components#6505 - updated simpleapp with dynamic callActivity](https://github.com/Alfresco/alfresco-ng2-components/pull/6505)
- [Alfresco/alfresco-ng2-components#6507 - Fix broken tutorial link](https://github.com/Alfresco/alfresco-ng2-components/pull/6507)
- [Alfresco/alfresco-ng2-components#6511 - Bump nconf from 0.11.0 to 0.11.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6511)
- [Alfresco/alfresco-ng2-components#6508 - Bump typedoc from 0.19.2 to 0.20.13](https://github.com/Alfresco/alfresco-ng2-components/pull/6508)
- [Alfresco/alfresco-ng2-components#6445 - fix typescript errors (latest typescript)](https://github.com/Alfresco/alfresco-ng2-components/pull/6445)
- [Alfresco/alfresco-ng2-components#6514 - [ADF-5308] excluded e2e C311290](https://github.com/Alfresco/alfresco-ng2-components/pull/6514)
- [Alfresco/alfresco-ng2-components#6513 - add missing app instance types](https://github.com/Alfresco/alfresco-ng2-components/pull/6513)
- [Alfresco/alfresco-ng2-components#6466 - [AAE-4311] Make sure we have unit test coverage of the error component.](https://github.com/Alfresco/alfresco-ng2-components/pull/6466)
- [Alfresco/alfresco-ng2-components#6515 - [AAE-4379] i18n fixes](https://github.com/Alfresco/alfresco-ng2-components/pull/6515)
- [Alfresco/alfresco-ng2-components#6516 - Bump typedoc from 0.20.13 to 0.20.14](https://github.com/Alfresco/alfresco-ng2-components/pull/6516)
- [Alfresco/alfresco-ng2-components#6512 - Fix loop scenario when the login page is not present in silent login](https://github.com/Alfresco/alfresco-ng2-components/pull/6512)
- [Alfresco/alfresco-ng2-components#6506 - [AAE-3467] - Fix Uploaded files are not being attached after selecting more files](https://github.com/Alfresco/alfresco-ng2-components/pull/6506)
- [Alfresco/alfresco-ng2-components#6412 - [AAE-4241] Populate date and datetime widgets on retrieve metadata](https://github.com/Alfresco/alfresco-ng2-components/pull/6412)
- [Alfresco/alfresco-ng2-components#6518 - adf-cli init-aae-env - Add request as dependency](https://github.com/Alfresco/alfresco-ng2-components/pull/6518)
- [Alfresco/alfresco-ng2-components#6522 - Bump sass-loader from 10.0.5 to 10.1.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6522)
- [Alfresco/alfresco-ng2-components#6521 - Bump @nx/workspace from 10.4.1 to 11.1.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6521)
- [Alfresco/alfresco-ng2-components#6473 - [ACA-3975]Add process definitions to simpleapp](https://github.com/Alfresco/alfresco-ng2-components/pull/6473)
- [Alfresco/alfresco-ng2-components#6524 - [ADF-5308] Unexclude C311290](https://github.com/Alfresco/alfresco-ng2-components/pull/6524)
- [Alfresco/alfresco-ng2-components#6528 - [ACA-3969]Add new process definition to simpleapp](https://github.com/Alfresco/alfresco-ng2-components/pull/6528)
- [Alfresco/alfresco-ng2-components#6526 - [AAE-4364] Add delete release api call](https://github.com/Alfresco/alfresco-ng2-components/pull/6526)
- [Alfresco/alfresco-ng2-components#6531 - [AAE-4295] E2E - Add retry api calls for delete descriptor and application](https://github.com/Alfresco/alfresco-ng2-components/pull/6531)
- [Alfresco/alfresco-ng2-components#6519 - [ACA-4233] Call the scan-env adf-cli command before and after each E2E job](https://github.com/Alfresco/alfresco-ng2-components/pull/6519)
- [Alfresco/alfresco-ng2-components#6525 - TestElement prototype to greatly reduce e2e coding time](https://github.com/Alfresco/alfresco-ng2-components/pull/6525)
- [Alfresco/alfresco-ng2-components#6536 - [ADF-5311] Extract infinite select scroll loading logic to a reusable component](https://github.com/Alfresco/alfresco-ng2-components/pull/6536)
- [Alfresco/alfresco-ng2-components#6532 - Bump snyk from 1.437.2 to 1.437.4](https://github.com/Alfresco/alfresco-ng2-components/pull/6532)
- [Alfresco/alfresco-ng2-components#6538 - adf-cli init aps env - Upload the APS default app](https://github.com/Alfresco/alfresco-ng2-components/pull/6538)
- [Alfresco/alfresco-ng2-components#6539 - [ACA-4247] Improve login error logs in scan-env command in adf-cli](https://github.com/Alfresco/alfresco-ng2-components/pull/6539)
- [Alfresco/alfresco-ng2-components#6542 - [ACA-4223] Add process definition name filter](https://github.com/Alfresco/alfresco-ng2-components/pull/6542)
- [Alfresco/alfresco-ng2-components#6540 - [AAE-4426] Add upload from local tab in attach file widget](https://github.com/Alfresco/alfresco-ng2-components/pull/6540)
- [Alfresco/alfresco-ng2-components#6517 - [MNT-22051] - Fix form field mapping when value is zero](https://github.com/Alfresco/alfresco-ng2-components/pull/6517)
- [Alfresco/alfresco-ng2-components#6546 - [ACA-4252] Update authentication to SSO](https://github.com/Alfresco/alfresco-ng2-components/pull/6546)
- [Alfresco/alfresco-ng2-components#6541 - Bump commander from 6.2.1 to 7.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6541)
- [Alfresco/alfresco-ng2-components#6548 - Bump typedoc from 0.20.14 to 0.20.16](https://github.com/Alfresco/alfresco-ng2-components/pull/6548)
- [Alfresco/alfresco-ng2-components#6551 - [ADF-5324] - Expose a new adf-cli command to initialise acs-env](https://github.com/Alfresco/alfresco-ng2-components/pull/6551)
- [Alfresco/alfresco-ng2-components#6523 - [ACA-4229] [ADW-AGS] Move Governance plugin check script to ADF CLI](https://github.com/Alfresco/alfresco-ng2-components/pull/6523)
- [Alfresco/alfresco-ng2-components#6559 - [AAE-4384] Add blank page component](https://github.com/Alfresco/alfresco-ng2-components/pull/6559)
- [Alfresco/alfresco-ng2-components#6566 - Revert "[AAE-4384] Add blank page component"](https://github.com/Alfresco/alfresco-ng2-components/pull/6566)
- [Alfresco/alfresco-ng2-components#6529 - [MNT-22063] - fix form cloud layout](https://github.com/Alfresco/alfresco-ng2-components/pull/6529)
- [Alfresco/alfresco-ng2-components#6564 - [MNT-21636] Fix redirect URL for viewer](https://github.com/Alfresco/alfresco-ng2-components/pull/6564)
- [Alfresco/alfresco-ng2-components#6544 - [ACA-3455] [ACA-4250] Create methods needed for candidate tasks](https://github.com/Alfresco/alfresco-ng2-components/pull/6544)
- [Alfresco/alfresco-ng2-components#6574 - Do redirect before implicit button](https://github.com/Alfresco/alfresco-ng2-components/pull/6574)
- [Alfresco/alfresco-ng2-components#6569 - Bump stylelint from 13.8.0 to 13.9.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6569)
- [Alfresco/alfresco-ng2-components#6576 - [AAE-4521] Remove process UI from test projects](https://github.com/Alfresco/alfresco-ng2-components/pull/6576)
- [Alfresco/alfresco-ng2-components#6571 - Bump typedoc from 0.20.14 to 0.20.18](https://github.com/Alfresco/alfresco-ng2-components/pull/6571)
- [Alfresco/alfresco-ng2-components#6570 - Bump husky from 4.3.0 to 4.3.8](https://github.com/Alfresco/alfresco-ng2-components/pull/6570)
- [Alfresco/alfresco-ng2-components#6545 - Getting started tutorial on ADF.](https://github.com/Alfresco/alfresco-ng2-components/pull/6545)
- [Alfresco/alfresco-ng2-components#6567 - [AAE-4384] Add blank page component](https://github.com/Alfresco/alfresco-ng2-components/pull/6567)
- [Alfresco/alfresco-ng2-components#6578 - [ACA-4262] Content node selector - show 2 tabs only in cloud attach f…](https://github.com/Alfresco/alfresco-ng2-components/pull/6578)
- [Alfresco/alfresco-ng2-components#6577 - Fix viewer page loading method](https://github.com/Alfresco/alfresco-ng2-components/pull/6577)
- [Alfresco/alfresco-ng2-components#6556 - [ACA-4258] Add Task Filter Counters](https://github.com/Alfresco/alfresco-ng2-components/pull/6556)
- [Alfresco/alfresco-ng2-components#6586 - "Empty content" centering fixes](https://github.com/Alfresco/alfresco-ng2-components/pull/6586)
- [Alfresco/alfresco-ng2-components#6587 - [AAE-4534] Logout directive - handle the route based on app config](https://github.com/Alfresco/alfresco-ng2-components/pull/6587)
- [Alfresco/alfresco-ng2-components#6591 - improve the init by failing in case the app are not running](https://github.com/Alfresco/alfresco-ng2-components/pull/6591)
- [Alfresco/alfresco-ng2-components#6593 - Check if the order matter](https://github.com/Alfresco/alfresco-ng2-components/pull/6593)
- [Alfresco/alfresco-ng2-components#6601 - [AAE-4546] Update simpleapp](https://github.com/Alfresco/alfresco-ng2-components/pull/6601)
- [Alfresco/alfresco-ng2-components#6614 - Install NX if is in Travis Update lint.sh](https://github.com/Alfresco/alfresco-ng2-components/pull/6614)
- [Alfresco/alfresco-ng2-components#6616 - [AAE-4547] Add new process and form to simpleapp](https://github.com/Alfresco/alfresco-ng2-components/pull/6616)
- [Alfresco/alfresco-ng2-components#6608 - [AAE-4553] Improve error logs in scan-env](https://github.com/Alfresco/alfresco-ng2-components/pull/6608)
- [Alfresco/alfresco-ng2-components#6575 - [AAE-4427] Embed upload progress dialog inside the upload from your d…](https://github.com/Alfresco/alfresco-ng2-components/pull/6575)
- [Alfresco/alfresco-ng2-components#6592 - [AAE-4430] Upload from local tab visibility with info icon error message](https://github.com/Alfresco/alfresco-ng2-components/pull/6592)
- [Alfresco/alfresco-ng2-components#6630 - [ADF-5328] - fix replacing priority values error](https://github.com/Alfresco/alfresco-ng2-components/pull/6630)
- [Alfresco/alfresco-ng2-components#6557 - [AAE-4504] FE - [ADF] Fetch destination Folder Path from a static path](https://github.com/Alfresco/alfresco-ng2-components/pull/6557)
- [Alfresco/alfresco-ng2-components#6635 - Bump @angular/cli from 10.2.0 to 11.1.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6635)
- [Alfresco/alfresco-ng2-components#6634 - Bump @types/node from 14.14.8 to 14.14.25](https://github.com/Alfresco/alfresco-ng2-components/pull/6634)
- [Alfresco/alfresco-ng2-components#6633 - Bump snyk from 1.437.4 to 1.445.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6633)
- [Alfresco/alfresco-ng2-components#6629 - Update simpleapp and candidatebaseapp: destinationFolderPath and add attach file widgets](https://github.com/Alfresco/alfresco-ng2-components/pull/6629)
- [Alfresco/alfresco-ng2-components#6627 - [AAE-4547] Add new process definition to simpleapp](https://github.com/Alfresco/alfresco-ng2-components/pull/6627)
- [Alfresco/alfresco-ng2-components#6580 - [ADF-4329][ASD-5330] plus Improve e2e](https://github.com/Alfresco/alfresco-ng2-components/pull/6580)
- [Alfresco/alfresco-ng2-components#6628 - [ACA-4265]Refactor attachFileFromLocal method](https://github.com/Alfresco/alfresco-ng2-components/pull/6628)
- [Alfresco/alfresco-ng2-components#6642 - Bump ejs from 3.1.5 to 3.1.6](https://github.com/Alfresco/alfresco-ng2-components/pull/6642)
- [Alfresco/alfresco-ng2-components#6643 - Bump snyk from 1.445.0 to 1.446.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6643)
- [Alfresco/alfresco-ng2-components#6626 - [ATS-854] Add media tracks to player from webvtt rendition](https://github.com/Alfresco/alfresco-ng2-components/pull/6626)
- [Alfresco/alfresco-ng2-components#6600 - Tutorial on creating ADF based applications.](https://github.com/Alfresco/alfresco-ng2-components/pull/6600)
- [Alfresco/alfresco-ng2-components#6641 - Bump stylelint from 13.8.0 to 13.9.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6641)
- [Alfresco/alfresco-ng2-components#6638 - Update branch for JS-API PR#3205](https://github.com/Alfresco/alfresco-ng2-components/pull/6638)
- [Alfresco/alfresco-ng2-components#6644 - Update simpleapp to use candidate group on attach-local-file-on-task …](https://github.com/Alfresco/alfresco-ng2-components/pull/6644)
- [Alfresco/alfresco-ng2-components#6620 - [AAE-4529] Refactor Notification History Component](https://github.com/Alfresco/alfresco-ng2-components/pull/6620)
- [Alfresco/alfresco-ng2-components#6639 - [ADF-5331] - Alpha ADF/JS-API update has been successfully created.](https://github.com/Alfresco/alfresco-ng2-components/pull/6639)
- [Alfresco/alfresco-ng2-components#6636 - [AAE-4569] Added readOnly property to breadcrumb components](https://github.com/Alfresco/alfresco-ng2-components/pull/6636)
- [Alfresco/alfresco-ng2-components#6650 - Update children script ](https://github.com/Alfresco/alfresco-ng2-components/pull/6650)
- [Alfresco/alfresco-ng2-components#6652 - Bump snyk from 1.446.0 to 1.448.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6652)
- [Alfresco/alfresco-ng2-components#6656 - [ACA-4266] Improve governance plugin check logs](https://github.com/Alfresco/alfresco-ng2-components/pull/6656)
- [Alfresco/alfresco-ng2-components#6654 - Bump typescript from 3.9.7 to 3.9.8](https://github.com/Alfresco/alfresco-ng2-components/pull/6654)
- [Alfresco/alfresco-ng2-components#6655 - Bump @nx/workspace from 11.1.2 to 11.2.11](https://github.com/Alfresco/alfresco-ng2-components/pull/6655)
- [Alfresco/alfresco-ng2-components#6657 - Bump ini from 1.3.5 to 1.3.7](https://github.com/Alfresco/alfresco-ng2-components/pull/6657)
- [Alfresco/alfresco-ng2-components#6543 - [ADF-5313] Merge both form-fields POs in one because are identical](https://github.com/Alfresco/alfresco-ng2-components/pull/6543)
- [Alfresco/alfresco-ng2-components#6658 - [MNT-21636] Refactor redirect URL](https://github.com/Alfresco/alfresco-ng2-components/pull/6658)
- [Alfresco/alfresco-ng2-components#6663 - updated simpleapp with outcome visibility](https://github.com/Alfresco/alfresco-ng2-components/pull/6663)
- [Alfresco/alfresco-ng2-components#6602 - [ADF-5316] - Content Type](https://github.com/Alfresco/alfresco-ng2-components/pull/6602)
- [Alfresco/alfresco-ng2-components#6668 - Bump @angular/cli from 11.1.3 to 11.2.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6668)
- [Alfresco/alfresco-ng2-components#6669 - Bump stylelint from 13.9.0 to 13.10.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6669)
- [Alfresco/alfresco-ng2-components#6666 - Bump @types/node from 14.14.25 to 14.14.26](https://github.com/Alfresco/alfresco-ng2-components/pull/6666)
- [Alfresco/alfresco-ng2-components#6667 - Bump snyk from 1.448.0 to 1.452.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6667)
- [Alfresco/alfresco-ng2-components#6664 - [AAE-4429] Add readOnly breadcrumb to upload from device tab](https://github.com/Alfresco/alfresco-ng2-components/pull/6664)
- [Alfresco/alfresco-ng2-components#6671 - Fix promise redirect](https://github.com/Alfresco/alfresco-ng2-components/pull/6671)
- [Alfresco/alfresco-ng2-components#6672 - Bump socket.io from 2.3.0 to 2.4.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6672)
- [Alfresco/alfresco-ng2-components#6670 - Update branch for JS-API PR#3207](https://github.com/Alfresco/alfresco-ng2-components/pull/6670)
- [Alfresco/alfresco-ng2-components#6651 - [ADF-5332] Login basic auth - Ability to override the successRoute from app.config.json](https://github.com/Alfresco/alfresco-ng2-components/pull/6651)
- [Alfresco/alfresco-ng2-components#6673 - excluded flaky test C260241](https://github.com/Alfresco/alfresco-ng2-components/pull/6673)
- [Alfresco/alfresco-ng2-components#6607 - [ACA-4259] Task filter counter notifications](https://github.com/Alfresco/alfresco-ng2-components/pull/6607)
- [Alfresco/alfresco-ng2-components#6674 - [AAE-3326] Content node selector - sort files by createdAt desc by de…](https://github.com/Alfresco/alfresco-ng2-components/pull/6674)
- [Alfresco/alfresco-ng2-components#6685 - configure dependabot excludes](https://github.com/Alfresco/alfresco-ng2-components/pull/6685)
- [Alfresco/alfresco-ng2-components#6688 - Avoid to recall the method if no change detect is affected](https://github.com/Alfresco/alfresco-ng2-components/pull/6688)
- [Alfresco/alfresco-ng2-components#6689 - Update branch for JS-API PR#3224](https://github.com/Alfresco/alfresco-ng2-components/pull/6689)
- [Alfresco/alfresco-ng2-components#6549 - [ADF-5305] - Added aspect list component](https://github.com/Alfresco/alfresco-ng2-components/pull/6549)
- [Alfresco/alfresco-ng2-components#6695 - Bump snyk from 1.452.0 to 1.456.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6695)
- [Alfresco/alfresco-ng2-components#6693 - Aspect List - added spinner and refresh](https://github.com/Alfresco/alfresco-ng2-components/pull/6693)
- [Alfresco/alfresco-ng2-components#6694 - Bump apollo-angular from 2.2.0 to 2.3.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6694)
- [Alfresco/alfresco-ng2-components#6665 - [AAE-4452] FE - [ADF] Fetch destination folder path from mapped variables](https://github.com/Alfresco/alfresco-ng2-components/pull/6665)
- [Alfresco/alfresco-ng2-components#6698 - Enabling default aspects for card component](https://github.com/Alfresco/alfresco-ng2-components/pull/6698)
- [Alfresco/alfresco-ng2-components#6697 - [ADF-5341] Add Apollo direct dependencies](https://github.com/Alfresco/alfresco-ng2-components/pull/6697)
- [Alfresco/alfresco-ng2-components#6699 - Improve update-project script to update adf-cli and adf-testing packages](https://github.com/Alfresco/alfresco-ng2-components/pull/6699)
- [Alfresco/alfresco-ng2-components#6691 - [MNT-21636] Use URLTree for redirect](https://github.com/Alfresco/alfresco-ng2-components/pull/6691)
- [Alfresco/alfresco-ng2-components#6690 - [AAE-4637] Fix varying height of dialog when clicking on the Upload from your device tab](https://github.com/Alfresco/alfresco-ng2-components/pull/6690)
- [Alfresco/alfresco-ng2-components#6700 - [ACA-3881] Able to start form with preselected ACS nodes](https://github.com/Alfresco/alfresco-ng2-components/pull/6700)
- [Alfresco/alfresco-ng2-components#6696 - [ADF-5339] ESCAPE should close opened dialog not the overlay viewer](https://github.com/Alfresco/alfresco-ng2-components/pull/6696)
- [Alfresco/alfresco-ng2-components#6706 - Update branch for JS-API PR#3232](https://github.com/Alfresco/alfresco-ng2-components/pull/6706)
- [Alfresco/alfresco-ng2-components#6704 - [AAE-4608] Use smartrunner version 2 and add SuperCache (workspaces + S3 combo)!](https://github.com/Alfresco/alfresco-ng2-components/pull/6704)
- [Alfresco/alfresco-ng2-components#6714 - [AAE-4701] ADF check env - Fail if the env is not reachable](https://github.com/Alfresco/alfresco-ng2-components/pull/6714)
- [Alfresco/alfresco-ng2-components#6715 - Auto PR - Add the ADF number to easily identify the version](https://github.com/Alfresco/alfresco-ng2-components/pull/6715)
- [Alfresco/alfresco-ng2-components#6684 - [ACA-4208] - Fix process date filter for range](https://github.com/Alfresco/alfresco-ng2-components/pull/6684)
- [Alfresco/alfresco-ng2-components#6710 - Bump concurrently from 5.3.0 to 6.0.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6710)
- [Alfresco/alfresco-ng2-components#6712 - Bump typedoc from 0.20.14 to 0.20.27](https://github.com/Alfresco/alfresco-ng2-components/pull/6712)
- [Alfresco/alfresco-ng2-components#6707 - [AAE-4661] Fix search results are still displayed when search term ge…](https://github.com/Alfresco/alfresco-ng2-components/pull/6707)
- [Alfresco/alfresco-ng2-components#6719 - [AAE-4203][AAE-4292] - Fix breadcrumb and folder navigation issues wh…](https://github.com/Alfresco/alfresco-ng2-components/pull/6719)
- [Alfresco/alfresco-ng2-components#6717 - [AAE-4624] - fix user initials for identity user with bpm](https://github.com/Alfresco/alfresco-ng2-components/pull/6717)
- [Alfresco/alfresco-ng2-components#6418 - [ADF-5285] Re-include test](https://github.com/Alfresco/alfresco-ng2-components/pull/6418)
- [Alfresco/alfresco-ng2-components#6723 - [AAE-4661] Fix not showing results when filtering by content model pr…](https://github.com/Alfresco/alfresco-ng2-components/pull/6723)
- [Alfresco/alfresco-ng2-components#6599 - [AAE-3992] Process Filter bug fixes and improvements](https://github.com/Alfresco/alfresco-ng2-components/pull/6599)
- [Alfresco/alfresco-ng2-components#6705 - Create Image from PR if request](https://github.com/Alfresco/alfresco-ng2-components/pull/6705)
- [Alfresco/alfresco-ng2-components#6724 - [AAE-4710] Error-proof scan-env](https://github.com/Alfresco/alfresco-ng2-components/pull/6724)
- [Alfresco/alfresco-ng2-components#6462 - cli init-aae - Remove useless properties](https://github.com/Alfresco/alfresco-ng2-components/pull/6462)
- [Alfresco/alfresco-ng2-components#6725 - Override the pr title in case already exists](https://github.com/Alfresco/alfresco-ng2-components/pull/6725)
- [Alfresco/alfresco-ng2-components#6730 - [ADF-5346] DocumentList - header is not scrollable when the width of the browser is small](https://github.com/Alfresco/alfresco-ng2-components/pull/6730)
- [Alfresco/alfresco-ng2-components#6732 - [ACA-4213] - Fix search datetime range in different timezones](https://github.com/Alfresco/alfresco-ng2-components/pull/6732)
- [Alfresco/alfresco-ng2-components#6713 - [REPO-5552] more filtering capabilities for aspect/type api ](https://github.com/Alfresco/alfresco-ng2-components/pull/6713)
- [Alfresco/alfresco-ng2-components#6727 - [ADF-5344] - fixed counter for custom aspects](https://github.com/Alfresco/alfresco-ng2-components/pull/6727)
- [Alfresco/alfresco-ng2-components#6726 - [ACA-4299] Add e2e tests for task counters and notifications](https://github.com/Alfresco/alfresco-ng2-components/pull/6726)
- [Alfresco/alfresco-ng2-components#6735 - Bump css-loader from 4.3.0 to 5.1.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6735)
- [Alfresco/alfresco-ng2-components#6740 - [ACA-4304] - Remove userinfo name on small screens (only profile icon…](https://github.com/Alfresco/alfresco-ng2-components/pull/6740)
- [Alfresco/alfresco-ng2-components#6741 - [ACA-4299] Fix C593066 e2e test - task counter](https://github.com/Alfresco/alfresco-ng2-components/pull/6741)
- [Alfresco/alfresco-ng2-components#6737 - [ADF-5347] Viewer - Closing PDF before all pages are loaded causes errors](https://github.com/Alfresco/alfresco-ng2-components/pull/6737)
- [Alfresco/alfresco-ng2-components#6736 - Bump mini-css-extract-plugin from 0.11.2 to 1.3.9](https://github.com/Alfresco/alfresco-ng2-components/pull/6736)
- [Alfresco/alfresco-ng2-components#6734 - Bump cspell from 5.1.3 to 5.3.1](https://github.com/Alfresco/alfresco-ng2-components/pull/6734)
- [Alfresco/alfresco-ng2-components#6746 - [ADF-5345] - fixed border for aspect dialog](https://github.com/Alfresco/alfresco-ng2-components/pull/6746)
- [Alfresco/alfresco-ng2-components#6742 - [ATS-873] Fix Subtitles in audio files](https://github.com/Alfresco/alfresco-ng2-components/pull/6742)
- [Alfresco/alfresco-ng2-components#6731 - [AAE-3543] Attach button enabled only when all files uploaded](https://github.com/Alfresco/alfresco-ng2-components/pull/6731)
- [Alfresco/alfresco-ng2-components#6745 - [ADF-5349] WebSocket protocol based on BpmHost](https://github.com/Alfresco/alfresco-ng2-components/pull/6745)
- [Alfresco/alfresco-ng2-components#6748 - Bump snyk from 1.456.0 to 1.462.0](https://github.com/Alfresco/alfresco-ng2-components/pull/6748)
- [Alfresco/alfresco-ng2-components#6749 - Bump husky from 4.3.8 to 5.1.2](https://github.com/Alfresco/alfresco-ng2-components/pull/6749)
- [Alfresco/alfresco-ng2-components#6744 - [ADF-5348] - fix user info icons](https://github.com/Alfresco/alfresco-ng2-components/pull/6744)
- [Alfresco/alfresco-ng2-components#6752 - [ADF-5285] re-include test C299187](https://github.com/Alfresco/alfresco-ng2-components/pull/6752)
- [Alfresco/alfresco-ng2-components#6750 - Bump cspell from 5.3.1 to 5.3.3](https://github.com/Alfresco/alfresco-ng2-components/pull/6750)
- [Alfresco/alfresco-ng2-components#6753 - [AAE-4547] Add getInputValue() in TestElement class](https://github.com/Alfresco/alfresco-ng2-components/pull/6753)
- [Alfresco/alfresco-ng2-components#6747 - Update branch for JS-API PR#3256](https://github.com/Alfresco/alfresco-ng2-components/pull/6747)
- [Alfresco/alfresco-ng2-components#6763 - [ACA-4202] - refreshing the preview when version has changed](https://github.com/Alfresco/alfresco-ng2-components/pull/6763)
- [Alfresco/alfresco-ng2-components#6764 - Revert "[AAE-4637] Fix varying height of dialog when clicking on the Upload from your device tab"](https://github.com/Alfresco/alfresco-ng2-components/pull/6764)
Please refer to the [Alfresco issue tracker](https://issues.alfresco.com/jira/projects/ADF/issues/ADF-581?filter=allopenissues) for other known issues in this release. If you have any questions about the release, please contact us using [Gitter](https://gitter.im/Alfresco/alfresco-ng2-components).
+2 -2
View File
@@ -4,7 +4,7 @@
"overrides": [
{
"files": ["*.ts"],
"extends": ["plugin:@nrwl/nx/angular"],
"extends": ["plugin:@nx/angular"],
"parserOptions": {
"project": ["lib/cli/tsconfig.json"],
"createDefaultProgram": true
@@ -44,7 +44,7 @@
"project": ["lib/cli/tsconfig.json"],
"createDefaultProgram": true
},
"extends": ["plugin:@nrwl/nx/angular-template"],
"extends": ["plugin:@nx/angular-template"],
"rules": {}
}
]
+1 -1
View File
@@ -50,7 +50,7 @@
}
},
"lint": {
"executor": "@nrwl/linter:eslint",
"executor": "@nx/eslint:lint:eslint",
"options": {
"lintFilePatterns": ["lib/cli/**/*.ts", "lib/cli/**/*.html"]
}
+8 -4
View File
@@ -4,7 +4,7 @@
"overrides": [
{
"files": ["*.ts"],
"extends": ["plugin:@nrwl/nx/angular"],
"extends": ["plugin:@nx/angular"],
"parserOptions": {
"project": ["lib/content-services/tsconfig.lib.json", "lib/content-services/tsconfig.spec.json"],
"createDefaultProgram": true
@@ -15,7 +15,12 @@
"@typescript-eslint/consistent-type-assertions": "warn",
"@typescript-eslint/prefer-for-of": "warn",
"@typescript-eslint/member-ordering": "off",
"no-underscore-dangle": ["error", { "allowAfterThis": true }],
"no-underscore-dangle": [
"error",
{
"allowAfterThis": true
}
],
"no-shadow": "warn",
"quote-props": "warn",
"object-shorthand": "warn",
@@ -23,7 +28,6 @@
"arrow-body-style": "warn",
"@angular-eslint/no-output-native": "off",
"space-before-function-paren": "warn",
"@angular-eslint/component-selector": [
"error",
{
@@ -80,7 +84,7 @@
"project": ["lib/content-services/tsconfig.lib.json", "lib/content-services/tsconfig.spec.json"],
"createDefaultProgram": true
},
"extends": ["plugin:@nrwl/nx/angular-template"],
"extends": ["plugin:@nx/angular-template"],
"rules": {
"@angular-eslint/template/no-autofocus": "error",
"@angular-eslint/template/no-positive-tabindex": "error"
+1 -7
View File
@@ -17,11 +17,5 @@ module.exports = {
options: {}
},
docs: {
autodocs: true
},
core: {
builder: '@storybook/builder-webpack5'
}
docs: {}
};
+3 -2
View File
@@ -1,4 +1,5 @@
export const parameters = {
docs: { inlineStories: true },
controls: { expanded: true }
docs: { inlineStories: true },
controls: { expanded: true }
};
export const tags = ['autodocs', 'autodocs'];
+1 -1
View File
@@ -33,7 +33,7 @@
}
},
"lint": {
"executor": "@nrwl/linter:eslint",
"executor": "@nx/eslint:lint:eslint",
"options": {
"lintFilePatterns": ["lib/content-services/**/*.ts", "lib/content-services/**/*.html"]
}
@@ -27,7 +27,8 @@ import { AspectEntry, Node } from '@alfresco/js-api';
import { NodesApiService } from '../common/services/nodes-api.service';
import { By } from '@angular/platform-browser';
import { AspectListComponent } from './aspect-list.component';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { provideHttpClientTesting } from '@angular/common/http/testing';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
const aspectListMock: AspectEntry[] = [
{
@@ -114,7 +115,7 @@ describe('AspectListDialogComponent', () => {
excludedAspects: []
};
await TestBed.configureTestingModule({
imports: [HttpClientTestingModule, ContentTestingModule, MatDialogModule],
imports: [ContentTestingModule, MatDialogModule],
providers: [
{ provide: MAT_DIALOG_DATA, useValue: data },
{
@@ -124,7 +125,9 @@ describe('AspectListDialogComponent', () => {
backdropClick: () => of(null),
close: jasmine.createSpy('close')
}
}
},
provideHttpClient(withInterceptorsFromDi()),
provideHttpClientTesting()
]
}).compileComponents();
fixture = TestBed.createComponent(AspectListDialogComponent);
@@ -19,7 +19,8 @@ import { TestBed } from '@angular/core/testing';
import { AlfrescoApiService } from '@alfresco/adf-core';
import { AspectListService } from './aspect-list.service';
import { AspectPaging, AspectsApi, AspectEntry } from '@alfresco/js-api';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { provideHttpClientTesting } from '@angular/common/http/testing';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
const stdAspect1: AspectEntry = { entry: { id: 'std:standardAspectOne', description: 'Standard Aspect One', title: 'StandardAspectOne' } };
const stdAspect2: AspectEntry = { entry: { id: 'std:standardAspectTwo', description: 'Standard Aspect Two', title: 'StandardAspectTwo' } };
@@ -38,7 +39,8 @@ describe('AspectListService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule]
imports: [],
providers: [provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting()]
});
aspectListService = TestBed.inject(AspectListService);
@@ -20,7 +20,8 @@ import { ContentService } from './content.service';
import { AppConfigService, AuthenticationService, RedirectAuthService, StorageService } from '@alfresco/adf-core';
import { Node, PermissionsInfo } from '@alfresco/js-api';
import { EMPTY, of } from 'rxjs';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { provideHttpClientTesting } from '@angular/common/http/testing';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
describe('ContentService', () => {
let contentService: ContentService;
@@ -29,8 +30,14 @@ describe('ContentService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
providers: [ContentService, AuthenticationService, { provide: RedirectAuthService, useValue: { onLogin: EMPTY, onTokenReceived: of() } }]
imports: [],
providers: [
ContentService,
AuthenticationService,
{ provide: RedirectAuthService, useValue: { onLogin: EMPTY, onTokenReceived: of() } },
provideHttpClient(withInterceptorsFromDi()),
provideHttpClientTesting()
]
});
authService = TestBed.inject(AuthenticationService);
contentService = TestBed.inject(ContentService);
@@ -20,8 +20,9 @@ import { AlfrescoApiService, AlfrescoApiServiceMock, RedirectAuthService } from
import { PeopleContentQueryRequestModel, PeopleContentService } from './people-content.service';
import { TestBed } from '@angular/core/testing';
import { PersonPaging } from '@alfresco/js-api';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { provideHttpClientTesting } from '@angular/common/http/testing';
import { EMPTY, of } from 'rxjs';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
export const fakeEcmUser2 = {
id: 'another-fake-id',
@@ -68,11 +69,13 @@ describe('PeopleContentService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
imports: [],
providers: [
PeopleContentService,
{ provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock },
{ provide: RedirectAuthService, useValue: { onLogin: EMPTY, onTokenReceived: of() } }
{ provide: RedirectAuthService, useValue: { onLogin: EMPTY, onTokenReceived: of() } },
provideHttpClient(withInterceptorsFromDi()),
provideHttpClientTesting()
]
});
@@ -23,7 +23,8 @@ import { RepositoryInfo } from '@alfresco/js-api';
import { BehaviorSubject } from 'rxjs';
import { DiscoveryApiService } from '../../common/services/discovery-api.service';
import { FileModel, FileUploadStatus } from '../../common/models/file.model';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { provideHttpClientTesting } from '@angular/common/http/testing';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
declare let jasmine: any;
@@ -36,7 +37,7 @@ describe('UploadService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [AppConfigModule, HttpClientTestingModule],
imports: [AppConfigModule],
providers: [
UploadService,
{ provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock },
@@ -46,7 +47,9 @@ describe('UploadService', () => {
useValue: {
ecmProductInfo$: mockProductInfo
}
}
},
provideHttpClient(withInterceptorsFromDi()),
provideHttpClientTesting()
]
});
appConfigService = TestBed.inject(AppConfigService);
@@ -22,25 +22,24 @@ import { AspectOrientedConfigService } from './aspect-oriented-config.service';
import { LayoutOrientedConfigService } from './layout-oriented-config.service';
import { ContentMetadataConfigFactory } from './content-metadata-config.factory';
import { ContentMetadataConfig } from '../../interfaces/content-metadata.interfaces';
import { HttpClientModule } from '@angular/common/http';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
describe('ContentMetadataConfigFactory', () => {
let factory: ContentMetadataConfigFactory;
let appConfig: AppConfigService;
let config: ContentMetadataConfig;
beforeEach(() => {
TestBed.configureTestingModule({
imports: [
HttpClientModule
],
imports: [],
providers: [
{
provide: LogService, useValue: {
provide: LogService,
useValue: {
error: () => {}
}
}
},
provideHttpClient(withInterceptorsFromDi())
]
});
factory = TestBed.inject(ContentMetadataConfigFactory);
@@ -48,7 +47,6 @@ describe('ContentMetadataConfigFactory', () => {
});
describe('get', () => {
let logService: LogService;
beforeEach(() => {
@@ -57,7 +55,6 @@ describe('ContentMetadataConfigFactory', () => {
});
describe('get', () => {
it('should get back to default preset if no preset is provided as parameter', () => {
config = factory.get();
@@ -85,7 +82,6 @@ describe('ContentMetadataConfigFactory', () => {
});
describe('set', () => {
const setConfig = (presetName: string, presetConfig: any) => {
appConfig.config['content-metadata'] = {
presets: {
@@ -118,5 +114,5 @@ describe('ContentMetadataConfigFactory', () => {
expect(config).toEqual(jasmine.any(LayoutOrientedConfigService));
});
});
});
});
});
@@ -22,7 +22,8 @@ import { TestBed } from '@angular/core/testing';
import { NodeAllowableOperationSubject } from '../interfaces/node-allowable-operation-subject.interface';
import { RedirectAuthService } from '@alfresco/adf-core';
import { EMPTY, of } from 'rxjs';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { provideHttpClientTesting } from '@angular/common/http/testing';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
@Component({
selector: 'adf-text-subject',
@@ -37,8 +38,12 @@ describe('CheckAllowableOperationDirective', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
providers: [{ provide: RedirectAuthService, useValue: { onLogin: EMPTY, onTokenReceived: of() } }]
imports: [],
providers: [
{ provide: RedirectAuthService, useValue: { onLogin: EMPTY, onTokenReceived: of() } },
provideHttpClient(withInterceptorsFromDi()),
provideHttpClientTesting()
]
});
changeDetectorMock = { detectChanges: () => {} } as ChangeDetectorRef;
});
@@ -19,7 +19,8 @@ import { Component, ViewChild } from '@angular/core';
import { LibraryFavoriteDirective } from './library-favorite.directive';
import { TestBed, ComponentFixture } from '@angular/core/testing';
import { LibraryEntity } from '../interfaces/library-entity.interface';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { provideHttpClientTesting } from '@angular/common/http/testing';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
@Component({
standalone: true,
@@ -41,7 +42,8 @@ describe('LibraryFavoriteDirective', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule, TestComponent, LibraryFavoriteDirective]
imports: [TestComponent, LibraryFavoriteDirective],
providers: [provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting()]
});
fixture = TestBed.createComponent(TestComponent);
component = fixture.componentInstance;
@@ -21,7 +21,8 @@ import { SimpleChange } from '@angular/core';
import { of, throwError, Subject } from 'rxjs';
import { AlfrescoApiService, AlfrescoApiServiceMock } from '@alfresco/adf-core';
import { SitesService } from '../common/services/sites.service';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { provideHttpClientTesting } from '@angular/common/http/testing';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
describe('LibraryMembershipDirective', () => {
let alfrescoApiService: AlfrescoApiService;
@@ -37,8 +38,13 @@ describe('LibraryMembershipDirective', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
providers: [SitesService, { provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock }]
imports: [],
providers: [
SitesService,
{ provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock },
provideHttpClient(withInterceptorsFromDi()),
provideHttpClientTesting()
]
});
testSiteEntry = {
@@ -21,8 +21,9 @@ import { MatDialog, MatDialogModule } from '@angular/material/dialog';
import { Component, DebugElement, ViewChild } from '@angular/core';
import { AlfrescoApiService, AlfrescoApiServiceMock } from '@alfresco/adf-core';
import { NodeDownloadDirective } from './node-download.directive';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { provideHttpClientTesting } from '@angular/common/http/testing';
import { ContentApi } from '@alfresco/js-api';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
@Component({
standalone: true,
@@ -56,8 +57,12 @@ describe('NodeDownloadDirective', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule, MatDialogModule, TestComponent],
providers: [{ provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock }]
imports: [MatDialogModule, TestComponent],
providers: [
{ provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock },
provideHttpClient(withInterceptorsFromDi()),
provideHttpClientTesting()
]
});
fixture = TestBed.createComponent(TestComponent);
component = fixture.componentInstance;
@@ -19,7 +19,8 @@ import { SimpleChange } from '@angular/core';
import { fakeAsync, TestBed, tick } from '@angular/core/testing';
import { NodeFavoriteDirective } from './node-favorite.directive';
import { AlfrescoApiService, AlfrescoApiServiceMock, AppConfigService, AppConfigServiceMock } from '@alfresco/adf-core';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { provideHttpClientTesting } from '@angular/common/http/testing';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
describe('NodeFavoriteDirective', () => {
let directive: NodeFavoriteDirective;
@@ -27,10 +28,12 @@ describe('NodeFavoriteDirective', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
imports: [],
providers: [
{ provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock },
{ provide: AppConfigService, useClass: AppConfigServiceMock }
{ provide: AppConfigService, useClass: AppConfigServiceMock },
provideHttpClient(withInterceptorsFromDi()),
provideHttpClientTesting()
]
});
alfrescoApiService = TestBed.inject(AlfrescoApiService);
@@ -20,8 +20,9 @@ import { LockService } from './lock.service';
import { AuthenticationService, RedirectAuthService } from '@alfresco/adf-core';
import { Node } from '@alfresco/js-api';
import { addDays, subDays } from 'date-fns';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { provideHttpClientTesting } from '@angular/common/http/testing';
import { EMPTY, of } from 'rxjs';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
describe('LockService', () => {
let service: LockService;
@@ -33,8 +34,12 @@ describe('LockService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
providers: [{ provide: RedirectAuthService, useValue: { onLogin: EMPTY, onTokenReceived: of() } }]
imports: [],
providers: [
{ provide: RedirectAuthService, useValue: { onLogin: EMPTY, onTokenReceived: of() } },
provideHttpClient(withInterceptorsFromDi()),
provideHttpClientTesting()
]
});
service = TestBed.inject(LockService);
authenticationService = TestBed.inject(AuthenticationService);
@@ -19,8 +19,9 @@ import { TestBed } from '@angular/core/testing';
import { AlfrescoApiService, AlfrescoApiServiceMock, CommentModel, RedirectAuthService } from '@alfresco/adf-core';
import { fakeContentComment, fakeContentComments } from '../mocks/node-comments.mock';
import { NodeCommentsService } from './node-comments.service';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { provideHttpClientTesting } from '@angular/common/http/testing';
import { EMPTY, of } from 'rxjs';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
declare let jasmine: any;
@@ -29,10 +30,12 @@ describe('NodeCommentsService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
imports: [],
providers: [
{ provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock },
{ provide: RedirectAuthService, useValue: { onLogin: EMPTY, onTokenReceived: of() } }
{ provide: RedirectAuthService, useValue: { onLogin: EMPTY, onTokenReceived: of() } },
provideHttpClient(withInterceptorsFromDi()),
provideHttpClientTesting()
]
});
service = TestBed.inject(NodeCommentsService);
@@ -19,15 +19,16 @@ import { TestBed } from '@angular/core/testing';
import { mockError, fakeSearch } from '../mocks/search.service.mock';
import { SearchService } from './search.service';
import { NodePaging } from '@alfresco/js-api';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { provideHttpClientTesting } from '@angular/common/http/testing';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
describe('SearchService', () => {
let service: SearchService;
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
providers: [SearchService]
imports: [],
providers: [SearchService, provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting()]
});
service = TestBed.inject(SearchService);
});
@@ -23,8 +23,9 @@ import { VersionCompatibilityService } from './version-compatibility.service';
import { VersionInfo } from '@alfresco/js-api';
import { RedirectAuthService } from '@alfresco/adf-core';
import { EMPTY, of } from 'rxjs';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { provideHttpClientTesting } from '@angular/common/http/testing';
import { VersionCompatibilityDirective } from '@alfresco/adf-content-services';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
@Component({
template: `
@@ -51,9 +52,13 @@ describe('VersionCompatibilityDirective', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [VersionCompatibilityDirective, HttpClientTestingModule],
declarations: [TestComponent],
providers: [{ provide: RedirectAuthService, useValue: { onLogin: EMPTY, onTokenReceived: of() } }]
imports: [VersionCompatibilityDirective],
providers: [
{ provide: RedirectAuthService, useValue: { onLogin: EMPTY, onTokenReceived: of() } },
provideHttpClient(withInterceptorsFromDi()),
provideHttpClientTesting()
]
});
fixture = TestBed.createComponent(TestComponent);
versionCompatibilityService = TestBed.inject(VersionCompatibilityService);
+9 -5
View File
@@ -4,7 +4,7 @@
"overrides": [
{
"files": ["*.ts"],
"extends": ["plugin:@nrwl/nx/angular"],
"extends": ["plugin:@nx/angular"],
"parserOptions": {
"project": ["lib/core/tsconfig.lib.json", "lib/core/tsconfig.spec.json"],
"createDefaultProgram": true
@@ -15,7 +15,13 @@
"@typescript-eslint/consistent-type-assertions": "warn",
"@typescript-eslint/prefer-for-of": "off",
"@typescript-eslint/member-ordering": "off",
"no-underscore-dangle": ["error", { "allowAfterThis": true }],
"@typescript-eslint/no-empty-function": "off",
"no-underscore-dangle": [
"error",
{
"allowAfterThis": true
}
],
"no-shadow": "warn",
"quote-props": "warn",
"object-shorthand": "warn",
@@ -24,7 +30,6 @@
"arrow-body-style": "warn",
"@angular-eslint/no-output-native": "off",
"space-before-function-paren": "warn",
"@angular-eslint/component-selector": [
"error",
{
@@ -77,11 +82,10 @@
},
{
"files": ["*.html"],
"extends": ["plugin:@nrwl/nx/angular-template"],
"extends": ["plugin:@nx/angular-template"],
"rules": {
"@angular-eslint/template/no-autofocus": "error",
"@angular-eslint/template/no-positive-tabindex": "error",
"@angular-eslint/template/no-negated-async": "off"
}
}
+6 -1
View File
@@ -4,14 +4,19 @@ module.exports = {
...rootMain,
core: { ...rootMain.core, builder: 'webpack5' },
stories: [...rootMain.stories, '../**/*.stories.@(js|jsx|ts|tsx)'],
framework: {
name: "@storybook/angular",
options: (()=>console.log('loaded config!'))()
},
staticDirs: [
...rootMain.staticDirs,
{ from: __dirname + '/../src/lib/i18n', to: 'assets/adf-core/i18n' },
{ from: __dirname + '/../src/lib/assets/images', to: 'assets/images' }
],
addons: ['@storybook/addon-essentials', ...rootMain.addons]
addons: ['@storybook/addon-essentials', ...rootMain.addons],
docs: {}
};
+1
View File
@@ -3,3 +3,4 @@ const rootPreview = require('../../../.storybook/preview');
export const parameters = {
...rootPreview.preview
};
export const tags = ['autodocs', 'autodocs'];
@@ -16,8 +16,8 @@
*/
import { Emitters, RequestOptions, ResultListDataRepresentationTaskRepresentation, SecurityOptions } from '@alfresco/js-api';
import { HttpParams } from '@angular/common/http';
import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
import { HttpParams, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
import { HttpTestingController, provideHttpClientTesting } from '@angular/common/http/testing';
import { TestBed } from '@angular/core/testing';
import { AdfHttpClient } from './adf-http-client.service';
import { AlfrescoApiResponseError } from './alfresco-api/alfresco-api.response-error';
@@ -58,8 +58,8 @@ describe('AdfHttpClient', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
providers: [AdfHttpClient]
imports: [],
providers: [AdfHttpClient, provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting()]
});
angularHttpClient = TestBed.inject(AdfHttpClient);
controller = TestBed.inject(HttpTestingController);
+64 -81
View File
@@ -17,15 +17,7 @@
import { SHOULD_ADD_AUTH_TOKEN } from '@alfresco/adf-core/auth';
import { Emitters as JsApiEmitters, HttpClient as JsApiHttpClient } from '@alfresco/js-api';
import {
HttpClient,
HttpContext,
HttpErrorResponse,
HttpEvent,
HttpHeaders,
HttpParams,
HttpResponse
} from '@angular/common/http';
import { HttpClient, HttpContext, HttpErrorResponse, HttpEvent, HttpHeaders, HttpParams, HttpResponse } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable, of, Subject, throwError } from 'rxjs';
import { catchError, map, takeUntil } from 'rxjs/operators';
@@ -52,8 +44,7 @@ export interface Emitters {
@Injectable({
providedIn: 'root'
})
export class AdfHttpClient implements ee.Emitter,JsApiHttpClient {
export class AdfHttpClient implements ee.Emitter, JsApiHttpClient {
on: ee.EmitterMethod;
off: ee.EmitterMethod;
once: ee.EmitterMethod;
@@ -107,47 +98,43 @@ export class AdfHttpClient implements ee.Emitter,JsApiHttpClient {
const params = getQueryParamsWithCustomEncoder(options.queryParams, new AlfrescoApiParamEncoder());
const responseType = AdfHttpClient.getResponseType(options);
const context = new HttpContext().set(SHOULD_ADD_AUTH_TOKEN, true);
const security: SecurityOptions = {...this.defaultSecurityOptions, ...sc};
const security: SecurityOptions = { ...this.defaultSecurityOptions, ...sc };
const headers = this.getHeaders(options);
if (!emitters) {
emitters = this.getEventEmitters();
}
const request = this.httpClient.request(
options.httpMethod,
url,
{
context,
...(body && {body}),
...(responseType && {responseType}),
...security,
...(params && {params}),
headers,
observe: 'events',
reportProgress: true
}
);
const request = this.httpClient.request(options.httpMethod, url, {
context,
...(body && { body }),
...(responseType && { responseType }),
...security,
...(params && { params }),
headers,
observe: 'events',
reportProgress: true
});
return this.requestWithLegacyEventEmitters<T>(request, emitters, options.returnType);
}
post<T = any>(url: string, options?: RequestOptions, sc?: SecurityOptions, emitters?: JsApiEmitters): Promise<T> {
return this.request<T>(url, {...options, httpMethod: 'POST'}, sc, emitters);
return this.request<T>(url, { ...options, httpMethod: 'POST' }, sc, emitters);
}
put<T = any>(url: string, options?: RequestOptions, sc?: SecurityOptions, emitters?: JsApiEmitters): Promise<T> {
return this.request<T>(url, {...options, httpMethod: 'PUT'}, sc, emitters);
return this.request<T>(url, { ...options, httpMethod: 'PUT' }, sc, emitters);
}
get<T = any>(url: string, options?: RequestOptions, sc?: SecurityOptions, emitters?: JsApiEmitters): Promise<T> {
return this.request<T>(url, {...options, httpMethod: 'GET'}, sc, emitters);
return this.request<T>(url, { ...options, httpMethod: 'GET' }, sc, emitters);
}
delete<T = void>(url: string, options?: RequestOptions, sc?: SecurityOptions, emitters?: JsApiEmitters): Promise<T> {
return this.request<T>(url, {...options, httpMethod: 'DELETE'}, sc, emitters);
return this.request<T>(url, { ...options, httpMethod: 'DELETE' }, sc, emitters);
}
private addPromiseListeners<T = any>(promise: Promise<T>, eventEmitter: any) {
private addPromiseListeners<T = any>(promise: Promise<T>, eventEmitter: any) {
const eventPromise = Object.assign(promise, {
on() {
// eslint-disable-next-line prefer-spread, prefer-rest-params
@@ -189,58 +176,59 @@ export class AdfHttpClient implements ee.Emitter,JsApiHttpClient {
}
private requestWithLegacyEventEmitters<T = any>(request$: Observable<HttpEvent<T>>, emitters: JsApiEmitters, returnType: any): Promise<T> {
const abort$ = new Subject<void>();
const {eventEmitter, apiClientEmitter} = emitters;
const { eventEmitter, apiClientEmitter } = emitters;
const promise = request$.pipe(
map((res) => {
if (isHttpUploadProgressEvent(res)) {
const percent = Math.round((res.loaded / res.total) * 100);
eventEmitter.emit('progress', {loaded: res.loaded, total: res.total, percent});
}
const promise = request$
.pipe(
map((res) => {
if (isHttpUploadProgressEvent(res)) {
const percent = Math.round((res.loaded / res.total) * 100);
eventEmitter.emit('progress', { loaded: res.loaded, total: res.total, percent });
}
if (isHttpResponseEvent(res)) {
eventEmitter.emit('success', res.body);
return AdfHttpClient.deserialize(res, returnType);
}
}),
catchError((err: HttpErrorResponse): Observable<AlfrescoApiResponseError> => {
if (isHttpResponseEvent(res)) {
eventEmitter.emit('success', res.body);
return AdfHttpClient.deserialize(res, returnType);
}
}),
catchError((err: HttpErrorResponse): Observable<AlfrescoApiResponseError> => {
// since we can't always determinate ahead of time if the response is going to be xml or plain text response
// we need to handle false positive cases here.
// since we can't always determinate ahead of time if the response is going to be xml or plain text response
// we need to handle false positive cases here.
if (err.status === 200) {
eventEmitter.emit('success', err.error.text);
return of(err.error.text);
}
if (err.status === 200) {
eventEmitter.emit('success', err.error.text);
return of(err.error.text);
}
eventEmitter.emit('error', err);
apiClientEmitter.emit('error', { ...err, response: { req: err } });
eventEmitter.emit('error', err);
apiClientEmitter.emit('error', { ...err, response: { req: err } });
if (err.status === 401) {
eventEmitter.emit('unauthorized');
apiClientEmitter.emit('unauthorized');
}
if (err.status === 401) {
eventEmitter.emit('unauthorized');
apiClientEmitter.emit('unauthorized');
}
// for backwards compatibility we need to convert it to error class as the HttpErrorResponse only implements Error interface, not extending it,
// and we need to be able to correctly pass instanceof Error conditions used inside repository
// we also need to pass error as Stringify string as we are detecting statusCodes using JSON.parse(error.message) in some places
const msg = typeof err.error === 'string' ? err.error : JSON.stringify(err.error);
// for backwards compatibility we need to convert it to error class as the HttpErrorResponse only implements Error interface, not extending it,
// and we need to be able to correctly pass instanceof Error conditions used inside repository
// we also need to pass error as Stringify string as we are detecting statusCodes using JSON.parse(error.message) in some places
const msg = typeof err.error === 'string' ? err.error : JSON.stringify(err.error);
// for backwards compatibility to handle cases in code where we try read response.error.response.body;
// for backwards compatibility to handle cases in code where we try read response.error.response.body;
const error = {
...err,
body: err.error
};
const error = {
...err, body: err.error
};
const alfrescoApiError = new AlfrescoApiResponseError(msg, err.status, error);
return throwError(alfrescoApiError);
}),
takeUntil(abort$)
)
.toPromise();
const alfrescoApiError = new AlfrescoApiResponseError(msg, err.status, error);
return throwError(alfrescoApiError);
}),
takeUntil(abort$)
).toPromise();
(promise as any).abort = function() {
(promise as any).abort = function () {
eventEmitter.emit('abort');
abort$.next();
abort$.complete();
@@ -261,7 +249,7 @@ export class AdfHttpClient implements ee.Emitter,JsApiHttpClient {
}
if (isFormUrlEncoded) {
return new HttpParams({fromObject: removeNilValues(options.formParams)});
return new HttpParams({ fromObject: removeNilValues(options.formParams) });
}
return body;
@@ -273,8 +261,8 @@ export class AdfHttpClient implements ee.Emitter,JsApiHttpClient {
const optionsHeaders = {
...options.headerParams,
...(accept && {Accept: accept}),
...((contentType) && {'Content-Type': contentType})
...(accept && { Accept: accept }),
...(contentType && { 'Content-Type': contentType })
};
if (!this.disableCsrf) {
@@ -319,7 +307,6 @@ export class AdfHttpClient implements ee.Emitter,JsApiHttpClient {
return Boolean(contentType?.match(/^application\/json(;.*)?$/i));
}
private setCsrfToken(optionsHeaders: any) {
const token = this.createCSRFToken();
optionsHeaders['X-CSRF-TOKEN'] = token;
@@ -337,7 +324,6 @@ export class AdfHttpClient implements ee.Emitter,JsApiHttpClient {
}
private static getResponseType(options: RequestOptions): 'blob' | 'json' | 'text' {
const isBlobType = options.returnType?.toString().toLowerCase() === 'blob' || options.responseType?.toString().toLowerCase() === 'blob';
if (isBlobType) {
@@ -359,7 +345,6 @@ export class AdfHttpClient implements ee.Emitter,JsApiHttpClient {
* @returns deserialized object
*/
private static deserialize<T>(response: HttpResponse<T>, returnType?: Constructor<unknown> | 'blob'): any {
if (response === null) {
return null;
}
@@ -390,9 +375,7 @@ export class AdfHttpClient implements ee.Emitter,JsApiHttpClient {
return new returnType(body);
}
private static deserializeBlobResponse(response: HttpResponse<Blob>) {
return new Blob([response.body], {type: response.headers.get('Content-Type')});
return new Blob([response.body], { type: response.headers.get('Content-Type') });
}
}
@@ -36,42 +36,37 @@ export const SHOULD_ADD_AUTH_TOKEN = new HttpContextToken<boolean>(() => false);
@Injectable()
export class AuthenticationInterceptor implements HttpInterceptor {
constructor(private authService: Authentication) {}
constructor( private authService: Authentication) { }
intercept(
req: HttpRequest<any>,
next: HttpHandler
): Observable<HttpSentEvent | HttpHeaderResponse | HttpProgressEvent | HttpResponse<any> | HttpUserEvent<any>> {
if (req.context.get(SHOULD_ADD_AUTH_TOKEN)) {
return this.authService.addTokenToHeader(req.url, req.headers).pipe(
mergeMap((headersWithBearer) => {
const headerWithContentType = this.appendJsonContentType(headersWithBearer);
const kcReq = req.clone({ headers: headerWithContentType });
return next.handle(kcReq).pipe(catchError((error) => observableThrowError(error)));
})
);
}
intercept(req: HttpRequest<any>, next: HttpHandler):
Observable<HttpSentEvent | HttpHeaderResponse | HttpProgressEvent | HttpResponse<any> | HttpUserEvent<any>> {
if (req.context.get(SHOULD_ADD_AUTH_TOKEN)) {
return this.authService.addTokenToHeader(req.url, req.headers).pipe(
mergeMap((headersWithBearer) => {
const headerWithContentType = this.appendJsonContentType(headersWithBearer);
const kcReq = req.clone({ headers: headerWithContentType});
return next.handle(kcReq)
.pipe(
catchError((error) => observableThrowError(error))
);
})
);
}
return next.handle(req).pipe(catchError((error) => observableThrowError(error)));
return next.handle(req).pipe(catchError((error) => observableThrowError(error)));
}
private appendJsonContentType(headers: HttpHeaders): HttpHeaders {
// prevent adding any content type, to properly handle formData with boundary browser generated value,
// as adding any Content-Type its going to break the upload functionality
// prevent adding any content type, to properly handle formData with boundary browser generated value,
// as adding any Content-Type its going to break the upload functionality
if (headers.get('Content-Type') === 'multipart/form-data') {
return headers.delete('Content-Type');
}
if (headers.get('Content-Type') === 'multipart/form-data') {
return headers.delete('Content-Type');
}
if (!headers.get('Content-Type')) {
return headers.set('Content-Type', 'application/json;charset=UTF-8');
}
if (!headers.get('Content-Type')) {
return headers.set('Content-Type', 'application/json;charset=UTF-8');
}
return headers;
return headers;
}
}
@@ -2,15 +2,15 @@
@use '@angular/material' as mat;
@mixin adf-breadcrumb-theme($theme) {
$config: mat.get-color-config($theme);
$config: mat.m2-get-color-config($theme);
$foreground-palette: map.get($config, foreground);
$primary-palette: map.get($config, primary);
$text-color: mat.get-color-from-palette($foreground-palette, text);
$primary: mat.get-color-from-palette($primary-palette, text);
$text-color: mat.m2-get-color-from-palette($foreground-palette, text);
$primary: mat.m2-get-color-from-palette($primary-palette, text);
adf-breadcrumb {
.adf-breadcrumb__show-all-button-icon--rotate {
color: mat.get-color-from-palette($primary-palette, 500);
color: mat.m2-get-color-from-palette($primary-palette, 500);
}
.adf-breadcrumb__item-wrapper {
@@ -1,31 +1,27 @@
@use '@angular/material' as mat;
@import './default-colors.scss';
@import './custom-palette-creator.scss';
@import './default-colors';
@import './custom-palette-creator';
@function get-mat-palettes($primary-color, $accent-color) {
$mat-primary-palette: null;
@if ($primary-color) {
$custom-theme-primary-palette: create-color-palette($primary-color, 'primary');
$mat-primary-palette: mat.define-palette($custom-theme-primary-palette, 500);
$mat-primary-palette: mat.m2-define-palette($custom-theme-primary-palette, 500);
} @else {
$mat-primary-palette: mat.define-palette($default-primary, A100);
$mat-primary-palette: mat.m2-define-palette($default-primary, A100);
}
$mat-accent-palette: null;
@if ($accent-color) {
$custom-theme-accent-palette: create-color-palette($accent-color, 'accent');
$mat-accent-palette: mat.define-palette($custom-theme-accent-palette, 500);
$mat-accent-palette: mat.m2-define-palette($custom-theme-accent-palette, 500);
} @else {
$mat-accent-palette: mat.define-palette($default-accent);
$mat-accent-palette: mat.m2-define-palette($default-accent);
}
$mat-warn-palette: mat.define-palette($default-warn, A100);
$mat-warn-palette: mat.m2-define-palette($default-warn, A100);
@return (
primary: $mat-primary-palette,
accent: $mat-accent-palette,
warning: $mat-warn-palette,
);
@return (primary: $mat-primary-palette, accent: $mat-accent-palette, warning: $mat-warn-palette);
}
@@ -21,6 +21,6 @@
@use '@angular/material' as mat;
$default-primary: mat.$indigo-palette;
$default-accent: mat.$pink-palette;
$default-warn: mat.$red-palette;
$default-primary: mat.$m2-indigo-palette;
$default-accent: mat.$m2-pink-palette;
$default-warn: mat.$m2-red-palette;
+26 -26
View File
@@ -3,37 +3,37 @@
@import '../variables/font-family';
@function get-mat-typography($base-font-size, $font-family) {
$custom-typography: mat.define-typography-config(
$custom-typography: mat.m2-define-typography-config(
$font-family: 'Muli, Roboto, "Helvetica Neue", sans-serif',
$headline-1: mat.define-typography-level(112px, 112px, 300),
$headline-2: mat.define-typography-level(56px, 56px, 400),
$headline-3: mat.define-typography-level(45px, 48px, 400),
$headline-4: mat.define-typography-level(34px, 40px, 400),
$headline-5: mat.define-typography-level(24px, 32px, 400),
$headline-6: mat.define-typography-level(20px, 32px, 500),
$subtitle-1: mat.define-typography-level(16px, 28px, 400),
$body-1: mat.define-typography-level(15px, 24px, 400),
$subtitle-2: mat.define-typography-level(14px, 24px, 500),
$body-2: mat.define-typography-level(14px, 20px, 400),
$caption: mat.define-typography-level(12px, 20px, 400),
$button: mat.define-typography-level(14px, 14px, 500),
$headline-1: mat.m2-define-typography-level(112px, 112px, 300),
$headline-2: mat.m2-define-typography-level(56px, 56px, 400),
$headline-3: mat.m2-define-typography-level(45px, 48px, 400),
$headline-4: mat.m2-define-typography-level(34px, 40px, 400),
$headline-5: mat.m2-define-typography-level(24px, 32px, 400),
$headline-6: mat.m2-define-typography-level(20px, 32px, 500),
$subtitle-1: mat.m2-define-typography-level(16px, 28px, 400),
$body-1: mat.m2-define-typography-level(15px, 24px, 400),
$subtitle-2: mat.m2-define-typography-level(14px, 24px, 500),
$body-2: mat.m2-define-typography-level(14px, 20px, 400),
$caption: mat.m2-define-typography-level(12px, 20px, 400),
$button: mat.m2-define-typography-level(14px, 14px, 500),
// Line-height must be unit-less fraction of the font-size.
);
@if $base-font-size {
$custom-typography: mat.define-typography-config(
$headline-1: mat.define-typography-level(8rem, 8rem, 300),
$headline-2: mat.define-typography-level(4rem, 4rem, 400),
$headline-3: mat.define-typography-level(3.21rem, 3.21rem, 400),
$headline-4: mat.define-typography-level(2.42rem, 2.85rem, 400),
$headline-5: mat.define-typography-level(1.71rem, 2.28rem, 400),
$headline-6: mat.define-typography-level(1.42rem, 2.28rem, 500),
$subtitle-1: mat.define-typography-level(1.14rem, 2rem, 400),
$body-1: mat.define-typography-level(1.07rem, 1.71rem, 400),
$subtitle-2: mat.define-typography-level(1rem, 1.71rem, 500),
$body-2: mat.define-typography-level(1rem, 1.42rem, 400),
$caption: mat.define-typography-level(0.86rem, 1.42rem, 400),
$button: mat.define-typography-level(1rem, 1rem, 500),
$custom-typography: mat.m2-define-typography-config(
$headline-1: mat.m2-define-typography-level(8rem, 8rem, 300),
$headline-2: mat.m2-define-typography-level(4rem, 4rem, 400),
$headline-3: mat.m2-define-typography-level(3.21rem, 3.21rem, 400),
$headline-4: mat.m2-define-typography-level(2.42rem, 2.85rem, 400),
$headline-5: mat.m2-define-typography-level(1.71rem, 2.28rem, 400),
$headline-6: mat.m2-define-typography-level(1.42rem, 2.28rem, 500),
$subtitle-1: mat.m2-define-typography-level(1.14rem, 2rem, 400),
$body-1: mat.m2-define-typography-level(1.07rem, 1.71rem, 400),
$subtitle-2: mat.m2-define-typography-level(1rem, 1.71rem, 500),
$body-2: mat.m2-define-typography-level(1rem, 1.42rem, 400),
$caption: mat.m2-define-typography-level(0.86rem, 1.42rem, 400),
$button: mat.m2-define-typography-level(1rem, 1rem, 500),
$font-family: $default-font-family
);
}
@@ -17,13 +17,13 @@
import { Inject, Injectable, inject } from '@angular/core';
import { FeaturesServiceToken, IFeaturesService } from '../interfaces/features.interface';
import { CanMatch, Route } from '@angular/router';
import { Route } from '@angular/router';
import { Observable } from 'rxjs';
export const isFeatureOff = (flag: string) => () => inject(FeaturesServiceToken).isOff$(flag);
@Injectable({ providedIn: 'root' })
export class IsFeatureOff implements CanMatch {
export class IsFeatureOff {
constructor(@Inject(FeaturesServiceToken) private featuresServiceToken: IFeaturesService) {}
canMatch(route: Route): Observable<boolean> {
@@ -17,13 +17,13 @@
import { Inject, Injectable, inject } from '@angular/core';
import { FeaturesServiceToken, IFeaturesService } from '../interfaces/features.interface';
import { CanMatch, Route } from '@angular/router';
import { Route } from '@angular/router';
import { Observable } from 'rxjs';
export const isFeatureOn = (flag: string) => () => inject(FeaturesServiceToken).isOn$(flag);
@Injectable({ providedIn: 'root' })
export class IsFeatureOn implements CanMatch {
export class IsFeatureOn {
constructor(@Inject(FeaturesServiceToken) private featuresServiceToken: IFeaturesService) {}
canMatch(route: Route): Observable<boolean> {
@@ -17,12 +17,12 @@
import { Inject, Injectable, Optional, inject } from '@angular/core';
import { FlagsOverrideToken } from '../interfaces/features.interface';
import { CanMatch } from '@angular/router';
export const isFlagsOverrideOn = () => () => inject(FlagsOverrideToken) ?? false;
@Injectable({ providedIn: 'root' })
export class IsFlagsOverrideOn implements CanMatch {
export class IsFlagsOverrideOn {
constructor(@Optional() @Inject(FlagsOverrideToken) private devToolsToken: boolean) {}
canMatch(): boolean {
+1 -1
View File
@@ -38,7 +38,7 @@
}
},
"lint": {
"executor": "@nrwl/linter:eslint",
"executor": "@nx/eslint:lint:eslint",
"options": {
"lintFilePatterns": [
"lib/core/**/*.ts",
@@ -24,7 +24,7 @@ import { of, Subject } from 'rxjs';
import { ExtensionsModule } from '@alfresco/adf-extensions';
import { CommonModule } from '@angular/common';
import { ShellAppService, SHELL_APP_SERVICE } from '../../services/shell-app.service';
import { HttpClientModule } from '@angular/common/http';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { TranslateModule } from '@ngx-translate/core';
@@ -58,10 +58,10 @@ describe('AppLayoutComponent', () => {
};
TestBed.configureTestingModule({
schemas: [NO_ERRORS_SCHEMA],
imports: [
CommonModule,
NoopAnimationsModule,
HttpClientModule,
...LAYOUT_DIRECTIVES,
ExtensionsModule,
RouterModule.forChild([]),
@@ -76,9 +76,9 @@ describe('AppLayoutComponent', () => {
{
provide: SHELL_APP_SERVICE,
useValue: shellService
}
],
schemas: [NO_ERRORS_SCHEMA]
},
provideHttpClient(withInterceptorsFromDi())
]
});
fixture = TestBed.createComponent(ShellLayoutComponent);
@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { HttpClient, HttpClientModule } from '@angular/common/http';
import { HttpClient, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
import { TestBed } from '@angular/core/testing';
import { AppConfigService } from './app-config.service';
import { ExtensionConfig, ExtensionService } from '@alfresco/adf-extensions';
@@ -49,8 +49,8 @@ describe('AppConfigService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientModule],
providers: [{ provide: ExtensionService, useClass: TestExtensionService }]
imports: [],
providers: [{ provide: ExtensionService, useClass: TestExtensionService }, provideHttpClient(withInterceptorsFromDi())]
});
});
@@ -18,8 +18,15 @@
import { throwError as observableThrowError, Observable } from 'rxjs';
import { Injectable } from '@angular/core';
import {
HttpHandler, HttpInterceptor, HttpRequest,
HttpSentEvent, HttpHeaderResponse, HttpProgressEvent, HttpResponse, HttpUserEvent, HttpHeaders
HttpHandler,
HttpInterceptor,
HttpRequest,
HttpSentEvent,
HttpHeaderResponse,
HttpProgressEvent,
HttpResponse,
HttpUserEvent,
HttpHeaders
} from '@angular/common/http';
import { catchError, mergeMap } from 'rxjs/operators';
import { AuthenticationService } from '../services/authentication.service';
@@ -30,61 +37,52 @@ export class AuthBearerInterceptor implements HttpInterceptor {
private excludedUrlsRegex: RegExp[];
constructor(private authenticationService: AuthenticationService) { }
constructor(private authenticationService: AuthenticationService) {}
private loadExcludedUrlsRegex() {
const excludedUrls = this.bearerExcludedUrls;
this.excludedUrlsRegex = excludedUrls.map((urlPattern) => new RegExp(`^https?://[^/]+/${urlPattern}`, 'i')) || [];
}
intercept(req: HttpRequest<any>, next: HttpHandler):
Observable<HttpSentEvent | HttpHeaderResponse | HttpProgressEvent | HttpResponse<any> | HttpUserEvent<any>> {
if (!this.excludedUrlsRegex) {
this.loadExcludedUrlsRegex();
private loadExcludedUrlsRegex() {
const excludedUrls = this.bearerExcludedUrls;
this.excludedUrlsRegex = excludedUrls.map((urlPattern) => new RegExp(`^https?://[^/]+/${urlPattern}`, 'i')) || [];
}
const requestUrl = req.url;
const shallPass: boolean = this.excludedUrlsRegex.some((regex) => regex.test(requestUrl));
if (shallPass) {
return next.handle(req)
.pipe(
catchError((error) => observableThrowError(error))
intercept(
req: HttpRequest<any>,
next: HttpHandler
): Observable<HttpSentEvent | HttpHeaderResponse | HttpProgressEvent | HttpResponse<any> | HttpUserEvent<any>> {
if (!this.excludedUrlsRegex) {
this.loadExcludedUrlsRegex();
}
const requestUrl = req.url;
const shallPass: boolean = this.excludedUrlsRegex.some((regex) => regex.test(requestUrl));
if (shallPass) {
return next.handle(req).pipe(catchError((error) => observableThrowError(error)));
}
return this.authenticationService.addTokenToHeader(requestUrl, req.headers).pipe(
mergeMap((headersWithBearer) => {
const headerWithContentType = this.appendJsonContentType(headersWithBearer, req.body);
const kcReq = req.clone({ headers: headerWithContentType });
return next.handle(kcReq).pipe(catchError((error) => observableThrowError(error)));
})
);
}
return this.authenticationService.addTokenToHeader(requestUrl, req.headers)
.pipe(
mergeMap((headersWithBearer) => {
const headerWithContentType = this.appendJsonContentType(headersWithBearer, req.body);
const kcReq = req.clone({ headers: headerWithContentType});
return next.handle(kcReq)
.pipe(
catchError((error) => observableThrowError(error))
);
})
);
}
private appendJsonContentType(headers: HttpHeaders, reqBody: any): HttpHeaders {
// prevent adding any content type, to properly handle formData with boundary browser generated value,
// as adding any Content-Type its going to break the upload functionality
private appendJsonContentType(headers: HttpHeaders, reqBody: any): HttpHeaders {
if (headers.get('Content-Type') === 'multipart/form-data' && !(reqBody instanceof FormData)) {
return headers.delete('Content-Type');
}
// prevent adding any content type, to properly handle formData with boundary browser generated value,
// as adding any Content-Type its going to break the upload functionality
if (!headers.get('Content-Type') && !(reqBody instanceof FormData)) {
return headers.set('Content-Type', 'application/json;charset=UTF-8');
}
if (headers.get('Content-Type') === 'multipart/form-data' && !(reqBody instanceof FormData)) {
return headers.delete('Content-Type');
return headers;
}
if (!headers.get('Content-Type') && !(reqBody instanceof FormData)) {
return headers.set('Content-Type', 'application/json;charset=UTF-8');
}
return headers;
}
protected get bearerExcludedUrls(): readonly string[] {
return this._bearerExcludedUrls;
}
}
@@ -15,13 +15,14 @@
* limitations under the License.
*/
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { provideHttpClientTesting } from '@angular/common/http/testing';
import { TestBed } from '@angular/core/testing';
import { EMPTY } from 'rxjs';
import { AppConfigService } from '../../app-config/app-config.service';
import { AUTH_MODULE_CONFIG } from './auth-config';
import { AuthConfigService } from './auth-config.service';
import { OauthConfigModel } from '../models/oauth-config.model';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
describe('AuthConfigService', () => {
let service: AuthConfigService;
@@ -95,8 +96,12 @@ describe('AuthConfigService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
providers: [{ provide: AUTH_MODULE_CONFIG, useValue: { useHash: true } }]
imports: [],
providers: [
{ provide: AUTH_MODULE_CONFIG, useValue: { useHash: true } },
provideHttpClient(withInterceptorsFromDi()),
provideHttpClientTesting()
]
});
service = TestBed.inject(AuthConfigService);
spyOn<any>(service, 'getLocationOrigin').and.returnValue('http://localhost:3000');
@@ -15,27 +15,37 @@
* limitations under the License.
*/
import { HttpClientModule, HttpErrorResponse, HttpResponse } from '@angular/common/http';
import { HttpErrorResponse, HttpResponse, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
import { TestBed } from '@angular/core/testing';
import { of, throwError } from 'rxjs';
import { IdentityRoleResponseModel, IdentityRoleService } from './identity-role.service';
export const mockIdentityRole1 = {
id: 'mock-id-1', name: 'Mock_Role_1', description: 'Mock desc1', clientRole: true, composite: false
id: 'mock-id-1',
name: 'Mock_Role_1',
description: 'Mock desc1',
clientRole: true,
composite: false
};
export const mockIdentityRole2 = {
id: 'mock-id-2', name: 'Mock_Role_2', description: 'Mock desc2', clientRole: false, composite: true
id: 'mock-id-2',
name: 'Mock_Role_2',
description: 'Mock desc2',
clientRole: false,
composite: true
};
export const mockIdentityRole3 = {
id: 'mock-id-3', name: 'Mock_Role_3', description: 'Mock desc3', clientRole: false, composite: false
id: 'mock-id-3',
name: 'Mock_Role_3',
description: 'Mock desc3',
clientRole: false,
composite: false
};
export const mockIdentityRoles = {
entries: [
mockIdentityRole1, mockIdentityRole2, mockIdentityRole3
],
entries: [mockIdentityRole1, mockIdentityRole2, mockIdentityRole3],
pagination: {
skipCount: 1,
maxItems: 5,
@@ -50,9 +60,8 @@ describe('IdentityRoleService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [
HttpClientModule
]
imports: [],
providers: [provideHttpClient(withInterceptorsFromDi())]
});
service = TestBed.inject(IdentityRoleService);
});
@@ -75,31 +84,29 @@ describe('IdentityRoleService', () => {
statusText: 'Created'
});
spyOn(service, 'addRole').and.returnValue(of(response));
service.addRole(mockIdentityRole1).subscribe(
(res: any) => {
expect(res).toBeDefined();
expect(res.status).toEqual(201);
expect(res.statusText).toEqual('Created');
done();
}
);
service.addRole(mockIdentityRole1).subscribe((res: any) => {
expect(res).toBeDefined();
expect(res.status).toEqual(201);
expect(res.statusText).toEqual('Created');
done();
});
});
it('Should not add role if error occurred', () => {
const errorResponse = new HttpErrorResponse({
error: 'test 404 error',
status: 404, statusText: 'Not Found'
status: 404,
statusText: 'Not Found'
});
spyOn(service, 'addRole').and.returnValue(throwError(errorResponse));
service.addRole(mockIdentityRole1)
.subscribe(
() => fail('expected an error'),
(error) => {
expect(error.status).toEqual(404);
expect(error.statusText).toEqual('Not Found');
expect(error.error).toEqual('test 404 error');
}
);
service.addRole(mockIdentityRole1).subscribe(
() => fail('expected an error'),
(error) => {
expect(error.status).toEqual(404);
expect(error.statusText).toEqual('Not Found');
expect(error.error).toEqual('test 404 error');
}
);
});
it('should be able to delete role', (done) => {
@@ -109,30 +116,28 @@ describe('IdentityRoleService', () => {
statusText: 'No Content'
});
spyOn(service, 'deleteRole').and.returnValue(of(response));
service.deleteRole(mockIdentityRole1).subscribe(
(res: any) => {
expect(res).toBeDefined();
expect(res.status).toEqual(204);
expect(res.statusText).toEqual('No Content');
done();
}
);
service.deleteRole(mockIdentityRole1).subscribe((res: any) => {
expect(res).toBeDefined();
expect(res.status).toEqual(204);
expect(res.statusText).toEqual('No Content');
done();
});
});
it('Should not delete role if error occurred', () => {
const errorResponse = new HttpErrorResponse({
error: 'test 404 error',
status: 404, statusText: 'Not Found'
status: 404,
statusText: 'Not Found'
});
spyOn(service, 'deleteRole').and.returnValue(throwError(errorResponse));
service.deleteRole(mockIdentityRole1)
.subscribe(
() => fail('expected an error'),
(error) => {
expect(error.status).toEqual(404);
expect(error.statusText).toEqual('Not Found');
expect(error.error).toEqual('test 404 error');
}
);
service.deleteRole(mockIdentityRole1).subscribe(
() => fail('expected an error'),
(error) => {
expect(error.status).toEqual(404);
expect(error.statusText).toEqual('Not Found');
expect(error.error).toEqual('test 404 error');
}
);
});
});
@@ -19,7 +19,8 @@ import { TestBed } from '@angular/core/testing';
import { UserAccessService } from './user-access.service';
import { JwtHelperService } from './jwt-helper.service';
import { AppConfigService } from '../../app-config';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { provideHttpClientTesting } from '@angular/common/http/testing';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
describe('UserAccessService', () => {
let userAccessService: UserAccessService;
@@ -28,8 +29,8 @@ describe('UserAccessService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
providers: [UserAccessService]
imports: [],
providers: [UserAccessService, provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting()]
});
userAccessService = TestBed.inject(UserAccessService);
jwtHelperService = TestBed.inject(JwtHelperService);
@@ -17,7 +17,7 @@
/* eslint-disable no-console */
import { HttpClientModule } from '@angular/common/http';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
import { Component } from '@angular/core';
import { ComponentFixture, fakeAsync, TestBed } from '@angular/core/testing';
import { AppConfigService } from '../../app-config/app-config.service';
@@ -61,9 +61,9 @@ describe('LogService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientModule],
declarations: [ProvidesLogComponent],
providers: [LogService, AppConfigService]
imports: [],
providers: [LogService, AppConfigService, provideHttpClient(withInterceptorsFromDi())]
});
appConfigService = TestBed.inject(AppConfigService);
providesLogComponent = TestBed.createComponent(ProvidesLogComponent);
@@ -166,11 +166,9 @@ describe('LogService', () => {
it('message Observable', fakeAsync(() => {
appConfigService.config['logLevel'] = 'trace';
providesLogComponent.componentInstance.logService.onMessage.subscribe(
(message) => {
expect(message).toEqual({ text: 'Test message', type: 'LOG' });
}
);
providesLogComponent.componentInstance.logService.onMessage.subscribe((message) => {
expect(message).toEqual({ text: 'Test message', type: 'LOG' });
});
providesLogComponent.componentInstance.log();
}));
@@ -29,7 +29,7 @@ import { Subject } from 'rxjs';
providedIn: 'root'
})
export class LogService {
get currentLogLevel() {
get currentLogLevel(): number {
const configLevel: string = this.appConfig.get<string>(AppConfigValues.LOG_LEVEL);
if (configLevel) {
@@ -171,7 +171,7 @@ export class LogService {
* @param level Level name
* @returns Numeric log level
*/
getLogLevel(level: string): LogLevelsEnum {
getLogLevel(level: string): number {
const referencedLevel = logLevels.find((currentLevel: any) => currentLevel.name.toLocaleLowerCase() === level.toLocaleLowerCase());
return referencedLevel ? referencedLevel.level : 5;
+42 -38
View File
@@ -44,7 +44,7 @@ import { DirectionalityConfigService } from './common/services/directionality-co
import { SEARCH_TEXT_INPUT_DIRECTIVES } from './search-text/search-text-input.module';
import { AdfHttpClient } from '@alfresco/adf-core/api';
import { AuthenticationInterceptor, Authentication } from '@alfresco/adf-core/auth';
import { HttpClientModule, HttpClientXsrfModule, HTTP_INTERCEPTORS } from '@angular/common/http';
import { HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi, withXsrfConfiguration } from '@angular/common/http';
import { AuthenticationService } from './auth/services/authentication.service';
import { MAT_SNACK_BAR_DEFAULT_OPTIONS } from '@angular/material/snack-bar';
import { loadAppConfig } from './app-config/app-config.loader';
@@ -61,43 +61,6 @@ import { UnsavedChangesDialogComponent } from './dialogs';
import { MaterialModule } from './material.module';
@NgModule({
imports: [
TranslateModule,
...ABOUT_DIRECTIVES,
...VIEWER_DIRECTIVES,
...LAYOUT_DIRECTIVES,
...CORE_PIPES,
IdentityUserInfoComponent,
...CORE_DIRECTIVES,
AppConfigPipe,
...PAGINATION_DIRECTIVES,
...TOOLBAR_DIRECTIVES,
...CONTEXT_MENU_DIRECTIVES,
...CARD_VIEW_DIRECTIVES,
FormBaseModule,
CommentsComponent,
CommentListComponent,
...CLIPBOARD_DIRECTIVES,
...LOGIN_DIRECTIVES,
...LANGUAGE_MENU_DIRECTIVES,
...INFO_DRAWER_DIRECTIVES,
...DATATABLE_DIRECTIVES,
...TEMPLATE_DIRECTIVES,
IconComponent,
SortingPickerComponent,
...NOTIFICATION_HISTORY_DIRECTIVES,
...SEARCH_TEXT_INPUT_DIRECTIVES,
BlankPageComponent,
UnsavedChangesDialogComponent,
DynamicChipListComponent,
HttpClientModule,
HttpClientXsrfModule.withOptions({
cookieName: 'CSRF-TOKEN',
headerName: 'X-CSRF-TOKEN'
}),
MaterialModule
],
providers: [...CORE_PIPES],
exports: [
...ABOUT_DIRECTIVES,
...VIEWER_DIRECTIVES,
@@ -128,6 +91,47 @@ import { MaterialModule } from './material.module';
UnsavedChangesDialogComponent,
DynamicChipListComponent,
MaterialModule
],
imports: [
TranslateModule,
...ABOUT_DIRECTIVES,
...VIEWER_DIRECTIVES,
...LAYOUT_DIRECTIVES,
...CORE_PIPES,
IdentityUserInfoComponent,
...CORE_DIRECTIVES,
AppConfigPipe,
...PAGINATION_DIRECTIVES,
...TOOLBAR_DIRECTIVES,
...CONTEXT_MENU_DIRECTIVES,
...CARD_VIEW_DIRECTIVES,
FormBaseModule,
CommentsComponent,
CommentListComponent,
...CLIPBOARD_DIRECTIVES,
...LOGIN_DIRECTIVES,
...LANGUAGE_MENU_DIRECTIVES,
...INFO_DRAWER_DIRECTIVES,
...DATATABLE_DIRECTIVES,
...TEMPLATE_DIRECTIVES,
IconComponent,
SortingPickerComponent,
...NOTIFICATION_HISTORY_DIRECTIVES,
...SEARCH_TEXT_INPUT_DIRECTIVES,
BlankPageComponent,
UnsavedChangesDialogComponent,
DynamicChipListComponent,
MaterialModule
],
providers: [
...CORE_PIPES,
provideHttpClient(
withInterceptorsFromDi(),
withXsrfConfiguration({
cookieName: 'CSRF-TOKEN',
headerName: 'X-CSRF-TOKEN'
})
)
]
})
export class CoreModule {
@@ -16,7 +16,7 @@
*/
import { Injectable } from '@angular/core';
import { CanDeactivate } from '@angular/router';
import { Observable } from 'rxjs';
import { MatDialog } from '@angular/material/dialog';
import { UnsavedChangesDialogComponent } from './unsaved-changes-dialog.component';
@@ -28,7 +28,7 @@ import { tap } from 'rxjs/operators';
@Injectable({
providedIn: 'root'
})
export class UnsavedChangesGuard implements CanDeactivate<any> {
export class UnsavedChangesGuard {
unsaved = false;
constructor(private dialog: MatDialog) {}
@@ -28,7 +28,12 @@ import { MatDialogModule } from '@angular/material/dialog';
import { MatDatetimepickerModule, MatNativeDatetimeModule } from '@mat-datetimepicker/core';
import { MatDatepickerModule } from '@angular/material/datepicker';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
<<<<<<< HEAD
import { NoopTranslateModule } from '@alfresco/adf-core';
=======
import { provideHttpClientTesting } from '@angular/common/http/testing';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
>>>>>>> dda0cdf98 ([MIGRATION] - Build fix and lint skipped rule)
describe('DateTimeWidgetComponent', () => {
let loader: HarnessLoader;
@@ -40,14 +45,19 @@ describe('DateTimeWidgetComponent', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [
<<<<<<< HEAD
NoopTranslateModule,
=======
TranslateModule.forRoot(),
>>>>>>> dda0cdf98 ([MIGRATION] - Build fix and lint skipped rule)
NoopAnimationsModule,
MatDialogModule,
MatNativeDatetimeModule,
MatDatepickerModule,
MatDatetimepickerModule,
DateTimeWidgetComponent
]
],
providers: [provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting()]
});
fixture = TestBed.createComponent(DateTimeWidgetComponent);
@@ -11,59 +11,59 @@
$background: map-get($theme, background);
$defaults: (
--adf-card-view-background: mat.get-color-from-palette($background, card),
--adf-card-view-background: mat.m2-get-color-from-palette($background, card),
--adf-card-view-border: $adf-ref-card-border,
--adf-card-view-border-color: mat.get-color-from-palette($foreground, divider),
--adf-card-view-border-color: mat.m2-get-color-from-palette($foreground, divider),
--adf-card-view-border-radius: $adf-ref-card-border-radius-slim,
--adf-card-view-array-item-background: mat.get-color-from-palette($background, card),
--adf-card-view-array-item-background: mat.m2-get-color-from-palette($background, card),
--adf-card-view-array-item-border: $adf-ref-card-border,
--adf-card-view-array-item-border-color: mat.get-color-from-palette($foreground, divider),
--adf-card-view-array-item-border-color: mat.m2-get-color-from-palette($foreground, divider),
--adf-card-view-array-item-border-radius: $adf-ref-card-border-radius-slim,
--adf-edit-task-and-service-filter-header-title-color: mat.get-color-from-palette($foreground, text),
--adf-edit-task-and-service-filter-header-description-color: mat.get-color-from-palette($foreground, secondary-text),
--adf-edit-task-and-service-filter-content-text-label-color: mat.get-color-from-palette($foreground, secondary-text),
--adf-edit-task-and-service-filter-content-select-label-color: mat.get-color-from-palette($foreground, secondary-text),
--adf-edit-task-and-service-filter-header-title-color: mat.m2-get-color-from-palette($foreground, text),
--adf-edit-task-and-service-filter-header-description-color: mat.m2-get-color-from-palette($foreground, secondary-text),
--adf-edit-task-and-service-filter-content-text-label-color: mat.m2-get-color-from-palette($foreground, secondary-text),
--adf-edit-task-and-service-filter-content-select-label-color: mat.m2-get-color-from-palette($foreground, secondary-text),
--adf-edit-task-and-service-filter-header-height: $adf-ref-height-48,
--adf-about-panel-header-height: $adf-ref-height-48,
--adf-about-panel-header-title-color: mat.get-color-from-palette($foreground, text),
--adf-about-panel-header-title-color: mat.m2-get-color-from-palette($foreground, text),
--adf-edit-process-filter-header-height: $adf-ref-height-48,
--adf-edit-process-filter-header-title-color: mat.get-color-from-palette($foreground, text),
--adf-edit-process-filter-header-description-color: mat.get-color-from-palette($foreground, secondary-text),
--adf-edit-process-filter-content-text-label-color: mat.get-color-from-palette($foreground, secondary-text),
--adf-edit-process-filter-content-select-label-color: mat.get-color-from-palette($foreground, secondary-text),
--adf-about-server-settings-background: mat.get-color-from-palette($background, card),
--adf-about-server-settings-color: mat.get-color-from-palette($foreground, text),
--adf-edit-process-filter-header-title-color: mat.m2-get-color-from-palette($foreground, text),
--adf-edit-process-filter-header-description-color: mat.m2-get-color-from-palette($foreground, secondary-text),
--adf-edit-process-filter-content-text-label-color: mat.m2-get-color-from-palette($foreground, secondary-text),
--adf-edit-process-filter-content-select-label-color: mat.m2-get-color-from-palette($foreground, secondary-text),
--adf-about-server-settings-background: mat.m2-get-color-from-palette($background, card),
--adf-about-server-settings-color: mat.m2-get-color-from-palette($foreground, text),
--adf-about-server-settings-border-radius: $adf-ref-card-border-radius-normal,
--adf-about-server-settings-padding: $adf-ref-card-padding,
--adf-package-list-table-background: mat.get-color-from-palette($background, card),
--adf-package-list-table-background: mat.m2-get-color-from-palette($background, card),
--adf-package-list-table-header-min-height: $adf-ref-table-header-min-height,
--adf-package-list-table-header-cell-color: mat.get-color-from-palette($foreground, secondary-text),
--adf-package-list-table-header-cell-color: mat.m2-get-color-from-palette($foreground, secondary-text),
--adf-package-list-table-row-min-height: $adf-ref-table-row-min-height,
--adf-package-list-table-row-cell-color: mat.get-color-from-palette($foreground, text),
--adf-package-list-table-row-cell-color: mat.m2-get-color-from-palette($foreground, text),
--adf-identity-user-info-background: var(--adf-theme-primary-300),
--adf-identity-user-info-height: $adf-ref-height,
--adf-identity-user-info-width: $adf-ref-width,
--adf-identity-user-info-line-height: $adf-ref-line-height,
--adf-identity-user-info-font-size: var(--theme-adf-picture-1-font-size),
--adf-user-info-container-margin-right: $adf-ref-margin-right,
--adf-info-drawer-tab-default-color: mat.get-color-from-palette($accent),
--adf-info-drawer-tab-default-background: mat.get-color-from-palette($background, card),
--adf-info-drawer-tab-default-color: mat.m2-get-color-from-palette($accent),
--adf-info-drawer-tab-default-background: mat.m2-get-color-from-palette($background, card),
--adf-info-drawer-tab-default-bottom-line: $adf-ref-tab-bottom-line-default,
--adf-info-drawer-tab-hover-color: mat.get-color-from-palette($accent),
--adf-info-drawer-tab-hover-background: mat.get-color-from-palette($background, card),
--adf-info-drawer-tab-hover-color: mat.m2-get-color-from-palette($accent),
--adf-info-drawer-tab-hover-background: mat.m2-get-color-from-palette($background, card),
--adf-info-drawer-tab-hover-bottom-line: $adf-ref-tab-bottom-line-default,
--adf-info-drawer-tab-active-unfocused-color: mat.get-color-from-palette($primary),
--adf-info-drawer-tab-active-unfocused-background: mat.get-color-from-palette($background, card),
--adf-info-drawer-tab-active-unfocused-color: mat.m2-get-color-from-palette($primary),
--adf-info-drawer-tab-active-unfocused-background: mat.m2-get-color-from-palette($background, card),
--adf-info-drawer-tab-active-unfocused-bottom-line: $adf-ref-tab-bottom-line-default,
--adf-info-drawer-tab-active-focused-color: mat.get-color-from-palette($foreground, text),
--adf-info-drawer-tab-active-focused-background: mat.get-color-from-palette($primary),
--adf-info-drawer-tab-active-focused-color: mat.m2-get-color-from-palette($foreground, text),
--adf-info-drawer-tab-active-focused-background: mat.m2-get-color-from-palette($primary),
--adf-info-drawer-tab-active-focused-bottom-line: $adf-ref-tab-bottom-line-active,
--adf-people-cloud-input-label-default-color: mat.get-color-from-palette($foreground, secondary-text),
--adf-people-cloud-input-label-focus-color: mat.get-color-from-palette($primary),
--adf-people-cloud-autosuggest-result-active-color: mat.get-color-from-palette($foreground, text),
--adf-people-cloud-autosuggest-result-disabled-color: mat.get-color-from-palette($foreground, secondary-text),
--adf-people-cloud-input-caption-error-color: mat.get-color-from-palette($warn),
--adf-people-cloud-input-label-default-color: mat.m2-get-color-from-palette($foreground, secondary-text),
--adf-people-cloud-input-label-focus-color: mat.m2-get-color-from-palette($primary),
--adf-people-cloud-autosuggest-result-active-color: mat.m2-get-color-from-palette($foreground, text),
--adf-people-cloud-autosuggest-result-disabled-color: mat.m2-get-color-from-palette($foreground, secondary-text),
--adf-people-cloud-input-caption-error-color: mat.m2-get-color-from-palette($warn),
--adf-metadata-property-panel-border-color: $adf-ref-metadata-property-panel-border-color,
--adf-metadata-buttons-background-color: $adf-ref-metadata-buttons-background-color,
--adf-metadata-action-button-clear-color: $adf-ref-metadata-action-button-clear-color,
@@ -71,16 +71,16 @@
--adf-metadata-property-panel-label-color: $adf-ref-metadata-property-panel-label-color,
--adf-metadata-property-panel-title-color: $adf-ref-metadata-property-panel-title-color,
--adf-group-cloud-input-label-default-color: mat.get-color-from-palette($foreground, secondary-text),
--adf-group-cloud-input-label-focus-color: mat.get-color-from-palette($primary),
--adf-group-cloud-autosuggest-result-active-color: mat.get-color-from-palette($foreground, text),
--adf-group-cloud-autosuggest-result-disabled-color: mat.get-color-from-palette($foreground, secondary-text),
--adf-group-cloud-input-caption-error-color: mat.get-color-from-palette($warn),
--adf-task-assignment-filter-option-default-color: mat.get-color-from-palette($foreground, text),
--adf-task-assignment-filter-option-selected-color: mat.get-color-from-palette($primary),
--adf-task-assignment-filter-label-default-color: mat.get-color-from-palette($foreground, secondary-text),
--adf-task-assignment-filter-label-focus-color: mat.get-color-from-palette($primary),
--adf-process-header-cloud-card-background: mat.get-color-from-palette($background, card),
--adf-group-cloud-input-label-default-color: mat.m2-get-color-from-palette($foreground, secondary-text),
--adf-group-cloud-input-label-focus-color: mat.m2-get-color-from-palette($primary),
--adf-group-cloud-autosuggest-result-active-color: mat.m2-get-color-from-palette($foreground, text),
--adf-group-cloud-autosuggest-result-disabled-color: mat.m2-get-color-from-palette($foreground, secondary-text),
--adf-group-cloud-input-caption-error-color: mat.m2-get-color-from-palette($warn),
--adf-task-assignment-filter-option-default-color: mat.m2-get-color-from-palette($foreground, text),
--adf-task-assignment-filter-option-selected-color: mat.m2-get-color-from-palette($primary),
--adf-task-assignment-filter-label-default-color: mat.m2-get-color-from-palette($foreground, secondary-text),
--adf-task-assignment-filter-label-focus-color: mat.m2-get-color-from-palette($primary),
--adf-process-header-cloud-card-background: mat.m2-get-color-from-palette($background, card),
--adf-header-icon-button-default-color: $adf-ref-header-icon-color,
--adf-header-icon-button-default-border-radius: $adf-ref-header-icon-border-radius,
--adf-header-icon-button-hover-color: $adf-ref-header-icon-color,
@@ -89,7 +89,7 @@
--adf-danger-button-background: $adf-danger-button-background,
--adf-secondary-button-background: $adf-secondary-button-background,
--adf-display-external-property-widget-preview-selection-color: mat.get-color-from-palette($foreground, secondary-text)
--adf-display-external-property-widget-preview-selection-color: mat.m2-get-color-from-palette($foreground, secondary-text)
);
// propagates SCSS variables into the CSS variables scope
+57 -65
View File
@@ -28,77 +28,69 @@
// map SCSS variables to expose as CSS variables
$defaults: (
// theme colors
--theme-primary-color: mat.get-color-from-palette($primary),
--theme-primary-color-default-contrast: mat.get-color-from-palette($primary, default-contrast),
--theme-header-text-color: mat.get-color-from-palette($primary, default-contrast),
--adf-theme-primary-50:mat.get-color-from-palette($primary, 50),
--adf-theme-primary-100:mat.get-color-from-palette($primary, 100),
--adf-theme-primary-300:mat.get-color-from-palette($primary, 300),
--adf-theme-primary-900:mat.get-color-from-palette($primary, 900),
--theme-warn-color: mat.get-color-from-palette($warn),
--theme-warn-color-a700: mat.get-color-from-palette($warn, A700),
--theme-warn-color-default-contrast: mat.get-color-from-palette($warn, default-contrast),
--theme-accent-color: mat.get-color-from-palette($accent),
--theme-accent-color-a200: mat.get-color-from-palette($accent, A200),
--theme-accent-color-default-contrast: mat.get-color-from-palette($accent, default-contrast),
--theme-accent-500:mat.get-color-from-palette($accent, 500),
--adf-theme-foreground-base-color: mat.get-color-from-palette($foreground, base),
--adf-theme-foreground-base-color-065: mat.get-color-from-palette($foreground, base, 0.65),
--adf-theme-foreground-base-color-045: mat.get-color-from-palette($foreground, base, 0.45),
--adf-theme-foreground-disabled-text-color: mat.get-color-from-palette($foreground, disabled-text),
--adf-theme-foreground-divider-color: mat.get-color-from-palette($foreground, divider),
--adf-theme-foreground-icon-color: mat.get-color-from-palette($foreground, icon),
--adf-theme-foreground-icon-color-054: mat.get-color-from-palette($foreground, icon, 0.54),
--adf-theme-foreground-secondary-text-color: mat.get-color-from-palette($foreground, secondary-text),
--adf-theme-foreground-text-color: mat.get-color-from-palette($foreground, text),
--adf-theme-foreground-text-color-087: mat.get-color-from-palette($foreground, text, 0.87),
--adf-theme-foreground-text-color-075: mat.get-color-from-palette($foreground, text, 0.75),
--adf-theme-foreground-text-color-064: mat.get-color-from-palette($foreground, text, 0.64),
--adf-theme-foreground-text-color-054: mat.get-color-from-palette($foreground, text, 0.54),
--adf-theme-foreground-text-color-040: mat.get-color-from-palette($foreground, text, 0.4),
--adf-theme-foreground-text-color-027: mat.get-color-from-palette($foreground, text, 0.27),
--adf-theme-foreground-text-color-025: mat.get-color-from-palette($foreground, text, 0.25),
--adf-theme-foreground-text-color-014: mat.get-color-from-palette($foreground, text, 0.14),
--adf-theme-foreground-text-color-007: mat.get-color-from-palette($foreground, text, 0.07),
--adf-theme-background-card-color: mat.get-color-from-palette($background, card),
--adf-theme-background-card-color-087: mat.get-color-from-palette($background, card, 0.87),
--theme-background-color: mat.get-color-from-palette($background, background),
--adf-theme-background-dialog-color: mat.get-color-from-palette($background, dialog),
--adf-theme-background-hover-color: mat.get-color-from-palette($background, hover),
--adf-theme-background-selected-button-color: mat.get-color-from-palette($background, selected-button),
--adf-theme-background-status-bar-color: mat.get-color-from-palette($background, status-bar),
--adf-theme-background-unselected-chip-color: mat.get-color-from-palette($background, unselected-chip),
--theme-primary-color: mat.m2-get-color-from-palette($primary),
--theme-primary-color-default-contrast: mat.m2-get-color-from-palette($primary, default-contrast),
--theme-header-text-color: mat.m2-get-color-from-palette($primary, default-contrast),
--adf-theme-primary-50: mat.m2-get-color-from-palette($primary, 50),
--adf-theme-primary-100: mat.m2-get-color-from-palette($primary, 100),
--adf-theme-primary-300: mat.m2-get-color-from-palette($primary, 300),
--adf-theme-primary-900: mat.m2-get-color-from-palette($primary, 900),
--theme-warn-color: mat.m2-get-color-from-palette($warn),
--theme-warn-color-a700: mat.m2-get-color-from-palette($warn, A700),
--theme-warn-color-default-contrast: mat.m2-get-color-from-palette($warn, default-contrast),
--theme-accent-color: mat.m2-get-color-from-palette($accent),
--theme-accent-color-a200: mat.m2-get-color-from-palette($accent, A200),
--theme-accent-color-default-contrast: mat.m2-get-color-from-palette($accent, default-contrast),
--theme-accent-500: mat.m2-get-color-from-palette($accent, 500),
--adf-theme-foreground-base-color: mat.m2-get-color-from-palette($foreground, base),
--adf-theme-foreground-base-color-065: mat.m2-get-color-from-palette($foreground, base, 0.65),
--adf-theme-foreground-base-color-045: mat.m2-get-color-from-palette($foreground, base, 0.45),
--adf-theme-foreground-disabled-text-color: mat.m2-get-color-from-palette($foreground, disabled-text),
--adf-theme-foreground-divider-color: mat.m2-get-color-from-palette($foreground, divider),
--adf-theme-foreground-icon-color: mat.m2-get-color-from-palette($foreground, icon),
--adf-theme-foreground-icon-color-054: mat.m2-get-color-from-palette($foreground, icon, 0.54),
--adf-theme-foreground-secondary-text-color: mat.m2-get-color-from-palette($foreground, secondary-text),
--adf-theme-foreground-text-color: mat.m2-get-color-from-palette($foreground, text),
--adf-theme-foreground-text-color-087: mat.m2-get-color-from-palette($foreground, text, 0.87),
--adf-theme-foreground-text-color-075: mat.m2-get-color-from-palette($foreground, text, 0.75),
--adf-theme-foreground-text-color-064: mat.m2-get-color-from-palette($foreground, text, 0.64),
--adf-theme-foreground-text-color-054: mat.m2-get-color-from-palette($foreground, text, 0.54),
--adf-theme-foreground-text-color-040: mat.m2-get-color-from-palette($foreground, text, 0.4),
--adf-theme-foreground-text-color-027: mat.m2-get-color-from-palette($foreground, text, 0.27),
--adf-theme-foreground-text-color-025: mat.m2-get-color-from-palette($foreground, text, 0.25),
--adf-theme-foreground-text-color-014: mat.m2-get-color-from-palette($foreground, text, 0.14),
--adf-theme-foreground-text-color-007: mat.m2-get-color-from-palette($foreground, text, 0.07),
--adf-theme-background-card-color: mat.m2-get-color-from-palette($background, card),
--adf-theme-background-card-color-087: mat.m2-get-color-from-palette($background, card, 0.87),
--theme-background-color: mat.m2-get-color-from-palette($background, background),
--adf-theme-background-dialog-color: mat.m2-get-color-from-palette($background, dialog),
--adf-theme-background-hover-color: mat.m2-get-color-from-palette($background, hover),
--adf-theme-background-selected-button-color: mat.m2-get-color-from-palette($background, selected-button),
--adf-theme-background-status-bar-color: mat.m2-get-color-from-palette($background, status-bar),
--adf-theme-background-unselected-chip-color: mat.m2-get-color-from-palette($background, unselected-chip),
// typography
--theme-font-family: mat.font-family($typography),
--theme-body-1-font-size: mat.font-size($typography, body-2),
--theme-body-2-font-size: mat.font-size($typography, subtitle-2),
--theme-body-1-line-height: mat.line-height($typography, body-2),
--theme-display-1-font-size: mat.font-size($typography, headline-4),
--theme-display-3-font-size: mat.font-size($typography, headline-2),
--theme-display-4-font-size: mat.font-size($typography, headline-1),
--theme-caption-font-size: mat.font-size($typography, caption),
--theme-title-font-size: mat.font-size($typography, headline-6),
--theme-subheading-1-font-size: mat.font-size($typography, body-1),
--theme-subheading-2-font-size: mat.font-size($typography, subtitle-1),
--theme-button-font-size: mat.font-size($typography, button),
--theme-headline-font-size: mat.font-size($typography, headline-5),
--theme-headline-line-height: mat.line-height($typography, headline-5),
--theme-font-family: mat.m2-font-family($typography),
--theme-body-1-font-size: mat.m2-font-size($typography, body-2),
--theme-body-2-font-size: mat.m2-font-size($typography, subtitle-2),
--theme-body-1-line-height: mat.m2-line-height($typography, body-2),
--theme-display-1-font-size: mat.m2-font-size($typography, headline-4),
--theme-display-3-font-size: mat.m2-font-size($typography, headline-2),
--theme-display-4-font-size: mat.m2-font-size($typography, headline-1),
--theme-caption-font-size: mat.m2-font-size($typography, caption),
--theme-title-font-size: mat.m2-font-size($typography, headline-6),
--theme-subheading-1-font-size: mat.m2-font-size($typography, body-1),
--theme-subheading-2-font-size: mat.m2-font-size($typography, subtitle-1),
--theme-button-font-size: mat.m2-font-size($typography, button),
--theme-headline-font-size: mat.m2-font-size($typography, headline-5),
--theme-headline-line-height: mat.m2-line-height($typography, headline-5),
--theme-adf-icon-1-font-size: map-get($custom-css-variables, 'theme-adf-icon-1-font-size'),
--theme-adf-picture-1-font-size: map-get($custom-css-variables, 'theme-adf-picture-1-font-size'),
--theme-adf-task-footer-font-size: map-get($custom-css-variables, 'theme-adf-task-footer-font-size'),
--theme-adf-task-title-font-size: map-get($custom-css-variables, 'theme-adf-task-title-font-size'),
// specific colors
--adf-theme-mat-grey-color-a200: mat.get-color-from-palette(mat.$grey-palette, A200),
--adf-theme-mat-grey-color-a400: mat.get-color-from-palette(mat.$grey-palette, A400),
--adf-theme-mat-grey-color-50: mat.get-color-from-palette(mat.$grey-palette, 50),
--adf-theme-mat-grey-color-a200: mat.m2-get-color-from-palette(mat.$m2-grey-palette, A200),
--adf-theme-mat-grey-color-a400: mat.m2-get-color-from-palette(mat.$m2-grey-palette, A400),
--adf-theme-mat-grey-color-50: mat.m2-get-color-from-palette(mat.$m2-grey-palette, 50),
// spacing
--adf-theme-spacing: map-get($custom-css-variables, 'theme-adf-spacing')
);
+13 -13
View File
@@ -1,18 +1,18 @@
@use '@angular/material' as mat;
$alfresco-typography: mat.define-typography-config(
$alfresco-typography: mat.m2-define-typography-config(
$font-family: 'Muli, Roboto, "Helvetica Neue", sans-serif',
$headline-1: mat.define-typography-level(112px, 112px, 300),
$headline-2: mat.define-typography-level(56px, 56px, 400),
$headline-3: mat.define-typography-level(45px, 48px, 400),
$headline-4: mat.define-typography-level(34px, 40px, 400),
$headline-5: mat.define-typography-level(24px, 32px, 400),
$headline-6: mat.define-typography-level(20px, 32px, 500),
$subtitle-1: mat.define-typography-level(16px, 28px, 400),
$body-1: mat.define-typography-level(15px, 24px, 400),
$subtitle-2: mat.define-typography-level(14px, 24px, 500),
$body-2: mat.define-typography-level(14px, 20px, 400),
$caption: mat.define-typography-level(12px, 20px, 400),
$button: mat.define-typography-level(14px, 14px, 500),
$headline-1: mat.m2-define-typography-level(112px, 112px, 300),
$headline-2: mat.m2-define-typography-level(56px, 56px, 400),
$headline-3: mat.m2-define-typography-level(45px, 48px, 400),
$headline-4: mat.m2-define-typography-level(34px, 40px, 400),
$headline-5: mat.m2-define-typography-level(24px, 32px, 400),
$headline-6: mat.m2-define-typography-level(20px, 32px, 500),
$subtitle-1: mat.m2-define-typography-level(16px, 28px, 400),
$body-1: mat.m2-define-typography-level(15px, 24px, 400),
$subtitle-2: mat.m2-define-typography-level(14px, 24px, 500),
$body-2: mat.m2-define-typography-level(14px, 20px, 400),
$caption: mat.m2-define-typography-level(12px, 20px, 400),
$button: mat.m2-define-typography-level(14px, 14px, 500),
// Line-height must be unit-less fraction of the font-size.
);
@@ -4,14 +4,14 @@
@include mat.all-component-typographies;
@include mat.core;
$primary: mat.define-palette($alfresco-ecm-blue);
$accent: mat.define-palette($alfresco-accent-orange);
$warn: mat.define-palette($alfresco-warn);
$theme: mat.define-light-theme(
$primary: mat.m2-define-palette($alfresco-ecm-blue);
$accent: mat.m2-define-palette($alfresco-accent-orange);
$warn: mat.m2-define-palette($alfresco-warn);
$theme: mat.m2-define-light-theme(
(
color: (
primary: $primary,
accent: $accent,
accent: $accent
),
typography: $alfresco-typography
)
@@ -4,14 +4,14 @@
@include mat.all-component-typographies;
@include mat.core;
$primary: mat.define-palette(mat.$pink-palette, 700, 500, 900);
$accent: mat.define-palette($alfresco-accent-purple);
$warn: mat.define-palette($alfresco-warn);
$theme: mat.define-light-theme(
$primary: mat.m2-define-palette(mat.$m2-pink-palette, 700, 500, 900);
$accent: mat.m2-define-palette($alfresco-accent-purple);
$warn: mat.m2-define-palette($alfresco-warn);
$theme: mat.m2-define-light-theme(
(
color: (
primary: $primary,
accent: $accent,
accent: $accent
),
typography: $alfresco-typography
)
@@ -4,14 +4,14 @@
@include mat.all-component-typographies;
@include mat.core;
$primary: mat.define-palette($alfresco-ecm-cyan);
$accent: mat.define-palette($alfresco-accent-orange);
$warn: mat.define-palette($alfresco-warn);
$theme: mat.define-light-theme(
$primary: mat.m2-define-palette($alfresco-ecm-cyan);
$accent: mat.m2-define-palette($alfresco-accent-orange);
$warn: mat.m2-define-palette($alfresco-warn);
$theme: mat.m2-define-light-theme(
(
color: (
primary: $primary,
accent: $accent,
accent: $accent
),
typography: $alfresco-typography
)
@@ -4,14 +4,14 @@
@include mat.all-component-typographies;
@include mat.core;
$primary: mat.define-palette($alfresco-ecm-cyan);
$accent: mat.define-palette($alfresco-accent-purple);
$warn: mat.define-palette($alfresco-warn);
$theme: mat.define-light-theme(
$primary: mat.m2-define-palette($alfresco-ecm-cyan);
$accent: mat.m2-define-palette($alfresco-accent-purple);
$warn: mat.m2-define-palette($alfresco-warn);
$theme: mat.m2-define-light-theme(
(
color: (
primary: $primary,
accent: $accent,
accent: $accent
),
typography: $alfresco-typography
)
@@ -4,14 +4,14 @@
@include mat.all-component-typographies;
@include mat.core;
$primary: mat.define-palette($alfresco-bpm-green);
$accent: mat.define-palette($alfresco-accent-orange);
$warn: mat.define-palette($alfresco-warn);
$theme: mat.define-light-theme(
$primary: mat.m2-define-palette($alfresco-bpm-green);
$accent: mat.m2-define-palette($alfresco-accent-orange);
$warn: mat.m2-define-palette($alfresco-warn);
$theme: mat.m2-define-light-theme(
(
color: (
primary: $primary,
accent: $accent,
accent: $accent
),
typography: $alfresco-typography
)
@@ -4,14 +4,14 @@
@include mat.all-component-typographies;
@include mat.core;
$primary: mat.define-palette($alfresco-bpm-green);
$accent: mat.define-palette($alfresco-accent-purple);
$warn: mat.define-palette($alfresco-warn);
$theme: mat.define-light-theme(
$primary: mat.m2-define-palette($alfresco-bpm-green);
$accent: mat.m2-define-palette($alfresco-accent-purple);
$warn: mat.m2-define-palette($alfresco-warn);
$theme: mat.m2-define-light-theme(
(
color: (
primary: $primary,
accent: $accent,
accent: $accent
),
typography: $alfresco-typography
)
@@ -5,14 +5,14 @@
@include mat.all-component-typographies;
@include mat.core;
$primary: mat.define-palette(mat.$indigo-palette);
$accent: mat.define-palette(mat.$pink-palette, A200, A100, A400);
$warn: mat.define-palette($alfresco-warn);
$theme: mat.define-light-theme(
$primary: mat.m2-define-palette(mat.$m2-indigo-palette);
$accent: mat.m2-define-palette(mat.$m2-pink-palette, A200, A100, A400);
$warn: mat.m2-define-palette($alfresco-warn);
$theme: mat.m2-define-light-theme(
(
color: (
primary: $primary,
accent: $accent,
accent: $accent
),
typography: $alfresco-typography
)
@@ -5,14 +5,14 @@
@include mat.all-component-typographies;
@include mat.core;
$primary: mat.define-palette(mat.$pink-palette, 700, 500, 900);
$accent: mat.define-palette(mat.$blue-grey-palette, A200, A100, A400);
$warn: mat.define-palette($alfresco-warn);
$theme: mat.define-dark-theme(
$primary: mat.m2-define-palette(mat.$m2-pink-palette, 700, 500, 900);
$accent: mat.m2-define-palette(mat.$m2-blue-grey-palette, A200, A100, A400);
$warn: mat.m2-define-palette($alfresco-warn);
$theme: mat.m2-define-dark-theme(
(
color: (
primary: $primary,
accent: $accent,
accent: $accent
),
typography: $alfresco-typography
)
@@ -5,14 +5,14 @@
@include mat.all-component-typographies;
@include mat.core;
$primary: mat.define-palette(mat.$purple-palette, 700, 500, 800);
$accent: mat.define-palette(mat.$green-palette, A200, A100, A400);
$warn: mat.define-palette($alfresco-warn);
$theme: mat.define-dark-theme(
$primary: mat.m2-define-palette(mat.$m2-purple-palette, 700, 500, 800);
$accent: mat.m2-define-palette(mat.$m2-green-palette, A200, A100, A400);
$warn: mat.m2-define-palette($alfresco-warn);
$theme: mat.m2-define-dark-theme(
(
color: (
primary: $primary,
accent: $accent,
accent: $accent
),
typography: $alfresco-typography
)
@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { HttpClientModule } from '@angular/common/http';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
import { Injector } from '@angular/core';
import { getTestBed, TestBed } from '@angular/core/testing';
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
@@ -36,7 +36,6 @@ describe('TranslationService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [
HttpClientModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
@@ -47,7 +46,8 @@ describe('TranslationService', () => {
providers: [
{ provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock },
{ provide: AppConfigService, useClass: AppConfigServiceMock },
provideTranslations('@alfresco/adf-core', 'assets/ng2-alfresco-core')
provideTranslations('@alfresco/adf-core', 'assets/ng2-alfresco-core'),
provideHttpClient(withInterceptorsFromDi())
]
});
@@ -70,7 +70,7 @@ describe('TranslationService', () => {
jasmine.Ajax.requests.mostRecent().respondWith({
status: 200,
contentType: 'application/json',
responseText: JSON.stringify({TEST: 'This is a test', TEST2: 'This is another test'})
responseText: JSON.stringify({ TEST: 'This is a test', TEST2: 'This is another test' })
});
});
@@ -82,7 +82,7 @@ describe('TranslationService', () => {
jasmine.Ajax.requests.mostRecent().respondWith({
status: 200,
contentType: 'application/json',
responseText: JSON.stringify({TEST: 'This is a test', TEST2: 'This is another test'})
responseText: JSON.stringify({ TEST: 'This is a test', TEST2: 'This is another test' })
});
});
@@ -16,9 +16,10 @@
*/
import { AppExtensionService } from '@alfresco/adf-extensions';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { provideHttpClientTesting } from '@angular/common/http/testing';
import { TestBed } from '@angular/core/testing';
import { ViewUtilService } from './view-util.service';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
describe('ViewUtilService', () => {
let viewUtilService: ViewUtilService;
@@ -27,8 +28,8 @@ describe('ViewUtilService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
providers: [AppExtensionService]
imports: [],
providers: [AppExtensionService, provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting()]
});
viewUtilService = TestBed.inject(ViewUtilService);
+2 -1
View File
@@ -13,6 +13,7 @@
"main": "lib/eslint-angular/index.ts",
"generatePackageJson": true,
"tsConfig": "lib/eslint-angular/tsconfig.lib.prod.json",
"webpackConfig": "lib/eslint-angular/webpack.config.js",
"stylePreprocessorOptions": {
"includePaths": ["lib", "lib/core/src/lib"]
},
@@ -31,7 +32,7 @@
"defaultConfiguration": "production"
},
"lint": {
"executor": "@nrwl/linter:eslint",
"executor": "@nx/eslint:lint:eslint",
"options": {
"lintFilePatterns": ["lib/eslint-angular/**/*.ts"]
}
@@ -33,7 +33,7 @@ const messages = {
type MessageIds = keyof typeof messages;
const filetypeErrors: {regexp: RegExp; messageId: MessageIds}[] = [
const filetypeErrors: { regexp: RegExp; messageId: MessageIds }[] = [
{
regexp: /.*\.spec\.ts/,
messageId: 'useAngularMaterialTestingHarness'
@@ -53,7 +53,7 @@ export default createESLintRule<unknown[], MessageIds>({
type: 'suggestion',
docs: {
description: 'Disallows using Angular Material internal selectors',
recommended: 'error'
recommended: 'recommended'
},
hasSuggestions: true,
schema: [],
@@ -63,9 +63,9 @@ export default createESLintRule<unknown[], MessageIds>({
create(context) {
return {
[ASTSelectors.join(',')](node: TSESTree.Literal | TSESTree.TemplateLiteral) {
const message = filetypeErrors.find((fileTypeError) =>
context.getFilename().match(fileTypeError.regexp)
) || { messageId: 'noAngularMaterialSelectors' };
const message = filetypeErrors.find((fileTypeError) => context.getFilename().match(fileTypeError.regexp)) || {
messageId: 'noAngularMaterialSelectors'
};
context.report({
node,
@@ -21,7 +21,7 @@ import { createESLintRule } from '../../utils/create-eslint-rule/create-eslint-r
export const RULE_NAME = 'use-none-component-view-encapsulation';
type MessageIds = 'useNoneComponentViewEncapsulation'| 'suggestAddViewEncapsulationNone';
type MessageIds = 'useNoneComponentViewEncapsulation' | 'suggestAddViewEncapsulationNone';
type DecoratorForClass = TSESTree.Decorator & {
parent: TSESTree.ClassDeclaration;
};
@@ -54,7 +54,7 @@ export default createESLintRule<unknown[], MessageIds>({
type: 'suggestion',
docs: {
description: `Disallows using other encapsulation than \`${viewEncapsulationNone}\``,
recommended: false
recommended: 'recommended'
},
hasSuggestions: true,
schema: [],
@@ -65,18 +65,13 @@ export default createESLintRule<unknown[], MessageIds>({
},
defaultOptions: [],
create(context) {
const encapsulationProperty = Selectors.metadataProperty(
metadataPropertyName
);
const encapsulationProperty = Selectors.metadataProperty(metadataPropertyName);
const withoutEncapsulationProperty =
`${Selectors.COMPONENT_CLASS_DECORATOR}:matches([expression.arguments.length=0], [expression.arguments.0.type='ObjectExpression']:not(:has(${encapsulationProperty})))` as const;
const nonNoneViewEncapsulationNoneProperty =
`${Selectors.COMPONENT_CLASS_DECORATOR} > CallExpression > ObjectExpression > ` +
`${encapsulationProperty}:matches([value.type='Identifier'][value.name='undefined'], [value.object.name='ViewEncapsulation'][value.property.name!='None'])`;
const selectors = [
withoutEncapsulationProperty,
nonNoneViewEncapsulationNoneProperty
].join(',');
const selectors = [withoutEncapsulationProperty, nonNoneViewEncapsulationNoneProperty].join(',');
return {
[selectors](node: DecoratorForClass | PropertyInClassDecorator) {
context.report({
@@ -107,11 +102,7 @@ export default createESLintRule<unknown[], MessageIds>({
moduleName: '@angular/core',
node: node.parent
}),
RuleFixes.getDecoratorPropertyAddFix(
node,
fixer,
`${metadataPropertyName}: ${viewEncapsulationNone}`
)
RuleFixes.getDecoratorPropertyAddFix(node, fixer, `${metadataPropertyName}: ${viewEncapsulationNone}`)
].filter(isNotNullOrUndefined);
}
}
+20
View File
@@ -0,0 +1,20 @@
const { NxAppWebpackPlugin } = require('@nx/webpack/app-plugin');
const { join } = require('path');
module.exports = {
output: {
path: join(__dirname, '../../dist/libs/eslint-angular')
},
devServer: {
port: 4200
},
plugins: [
new NxAppWebpackPlugin({
main: './index.ts',
tsConfig: './tsconfig.lib.json',
index: './index.ts',
outputHashing: process.env['NODE_ENV'] === 'production' ? 'all' : 'none',
optimization: process.env['NODE_ENV'] === 'production'
})
]
};
+8 -4
View File
@@ -4,14 +4,18 @@
"overrides": [
{
"files": ["*.ts"],
"extends": ["plugin:@nrwl/nx/angular"],
"extends": ["plugin:@nx/angular"],
"parserOptions": {
"project": ["lib/extensions/tsconfig.lib.json", "lib/extensions/tsconfig.spec.json"],
"createDefaultProgram": true
},
"rules": {
"no-underscore-dangle": ["error", { "allowAfterThis": true }],
"no-underscore-dangle": [
"error",
{
"allowAfterThis": true
}
],
"@angular-eslint/component-selector": [
"error",
{
@@ -64,7 +68,7 @@
},
{
"files": ["*.html"],
"extends": ["plugin:@nrwl/nx/angular-template"],
"extends": ["plugin:@nx/angular-template"],
"rules": {
"@angular-eslint/template/no-autofocus": "error",
"@angular-eslint/template/no-positive-tabindex": "error"
+1 -1
View File
@@ -32,7 +32,7 @@
}
},
"lint": {
"executor": "@nrwl/linter:eslint",
"executor": "@nx/eslint:lint:eslint",
"options": {
"lintFilePatterns": ["lib/extensions/**/*.ts", "lib/extensions/**/*.html"]
}
@@ -22,7 +22,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { DynamicExtensionComponent } from './dynamic.component';
import { ComponentRegisterService } from '../../services/component-register.service';
import { HttpClientModule } from '@angular/common/http';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
@Component({
selector: 'test-component',
@@ -48,8 +48,8 @@ describe('DynamicExtensionComponent', () => {
componentRegister.setComponents({ 'test-component': TestComponent });
TestBed.configureTestingModule({
imports: [HttpClientModule, DynamicExtensionComponent, TestComponent],
providers: [{ provide: ComponentRegisterService, useValue: componentRegister }]
imports: [DynamicExtensionComponent, TestComponent],
providers: [{ provide: ComponentRegisterService, useValue: componentRegister }, provideHttpClient(withInterceptorsFromDi())]
});
TestBed.compileComponents();
@@ -16,9 +16,10 @@
*/
import { TestBed, fakeAsync, flushMicrotasks, tick } from '@angular/core/testing';
import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
import { HttpTestingController, provideHttpClientTesting } from '@angular/common/http/testing';
import { ExtensionConfig } from '../config/extension.config';
import { ExtensionLoaderService } from './extension-loader.service';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
describe('ExtensionLoaderService', () => {
let extensionLoaderService: ExtensionLoaderService;
@@ -35,10 +36,8 @@ describe('ExtensionLoaderService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
providers: [
ExtensionLoaderService
]
imports: [],
providers: [ExtensionLoaderService, provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting()]
});
extensionLoaderService = TestBed.inject(ExtensionLoaderService);
httpMock = TestBed.inject(HttpTestingController);
@@ -85,10 +84,12 @@ describe('ExtensionLoaderService', () => {
it('should load only extensions defined by $references', fakeAsync(() => {
appExtensionsConfig.$references = ['test.extension.1.json'];
extensionLoaderService.load('assets/app.extensions.json', 'assets/plugins', ['test.extension.2.json, test.extension.3.json']).then((config: ExtensionConfig) => {
const pluginsReference = config.$references.map((entry: ExtensionConfig) => entry.$name);
expect(pluginsReference).toEqual(['test.extension.1']);
});
extensionLoaderService
.load('assets/app.extensions.json', 'assets/plugins', ['test.extension.2.json, test.extension.3.json'])
.then((config: ExtensionConfig) => {
const pluginsReference = config.$references.map((entry: ExtensionConfig) => entry.$name);
expect(pluginsReference).toEqual(['test.extension.1']);
});
httpMock.expectOne('assets/app.extensions.json').flush(appExtensionsConfig);
tick();
@@ -98,20 +99,20 @@ describe('ExtensionLoaderService', () => {
flushMicrotasks();
}));
it('should load extensions from passed extension value',fakeAsync(() => {
it('should load extensions from passed extension value', fakeAsync(() => {
appExtensionsConfig.$references = ['test.extension.1.json'];
extensionLoaderService.load(
'assets/app.extensions.json',
'assets/plugins',
undefined,
[{
$id: 'extension-value-id',
$license: 'license',
$name: 'name',
$version:'version',
$vendor: 'vendor'
}]).then((config: ExtensionConfig) => {
extensionLoaderService
.load('assets/app.extensions.json', 'assets/plugins', undefined, [
{
$id: 'extension-value-id',
$license: 'license',
$name: 'name',
$version: 'version',
$vendor: 'vendor'
}
])
.then((config: ExtensionConfig) => {
const hasExtensionValue = config.$references.some((entry: ExtensionConfig) => entry.$id === 'extension-value-id');
expect(hasExtensionValue).toBe(true);
});
@@ -122,17 +123,17 @@ describe('ExtensionLoaderService', () => {
}));
it('should load extensions if only extension value was passed', fakeAsync(() => {
extensionLoaderService.load(
'assets/app.extensions.json',
'assets/plugins',
undefined,
[{
$id: 'extension-value-id',
$license: 'license',
$name: 'name',
$version:'version',
$vendor: 'vendor'
}]).then((config: ExtensionConfig) => {
extensionLoaderService
.load('assets/app.extensions.json', 'assets/plugins', undefined, [
{
$id: 'extension-value-id',
$license: 'license',
$name: 'name',
$version: 'version',
$vendor: 'vendor'
}
])
.then((config: ExtensionConfig) => {
const hasExtensionValue = config.$references.some((entry: ExtensionConfig) => entry.$id === 'extension-value-id');
expect(hasExtensionValue).toBe(true);
});
@@ -144,23 +145,24 @@ describe('ExtensionLoaderService', () => {
it('should load extensions with multiple extension values', fakeAsync(() => {
appExtensionsConfig.$references = ['test.extension.1.json'];
extensionLoaderService.load(
'assets/app.extensions.json',
'assets/plugins',
undefined,
[{
$id: 'extension-value-id-1',
$license: 'license',
$name: 'name',
$version:'version',
$vendor: 'vendor'
},{
$id: 'extension-value-id-2',
$license: 'license',
$name: 'name',
$version:'version',
$vendor: 'vendor'
}]).then((config: ExtensionConfig) => {
extensionLoaderService
.load('assets/app.extensions.json', 'assets/plugins', undefined, [
{
$id: 'extension-value-id-1',
$license: 'license',
$name: 'name',
$version: 'version',
$vendor: 'vendor'
},
{
$id: 'extension-value-id-2',
$license: 'license',
$name: 'name',
$version: 'version',
$vendor: 'vendor'
}
])
.then((config: ExtensionConfig) => {
const hasFirstExtensionValue = config.$references.some((entry: ExtensionConfig) => entry.$id === 'extension-value-id-1');
expect(hasFirstExtensionValue).toBe(true);
const hasSecondExtensionValue = config.$references.some((entry: ExtensionConfig) => entry.$id === 'extension-value-id-2');
+11 -18
View File
@@ -4,39 +4,32 @@
"overrides": [
{
"files": ["*.ts"],
"extends": [
"plugin:@nrwl/nx/angular"
],
"extends": ["plugin:@nx/angular"],
"parserOptions": {
"project": ["lib/insights/tsconfig.lib.json", "lib/insights/tsconfig.spec.json"],
"createDefaultProgram": true
},
"rules": {
"no-underscore-dangle": ["error", { "allowAfterThis": true }],
"no-underscore-dangle": [
"error",
{
"allowAfterThis": true
}
],
"@angular-eslint/no-output-native": "off",
"@angular-eslint/component-selector": [
"error",
{
"type": "element",
"prefix": [
"adf",
"app"
],
"prefix": ["adf", "app"],
"style": "kebab-case"
}
],
"@angular-eslint/directive-selector": [
"error",
{
"type": [
"element",
"attribute"
],
"prefix": [
"adf",
"app"
],
"type": ["element", "attribute"],
"prefix": ["adf", "app"],
"style": "kebab-case"
}
],
@@ -77,7 +70,7 @@
},
{
"files": ["*.html"],
"extends": ["plugin:@nrwl/nx/angular-template"],
"extends": ["plugin:@nx/angular-template"],
"parserOptions": {
"project": ["lib/insights/tsconfig.lib.json", "lib/insights/tsconfig.spec.json"],
"createDefaultProgram": true
+1 -1
View File
@@ -33,7 +33,7 @@
}
},
"lint": {
"executor": "@nrwl/linter:eslint",
"executor": "@nx/eslint:lint:eslint",
"options": {
"lintFilePatterns": ["lib/insights/**/*.ts", "lib/insights/**/*.html"]
}
+7 -3
View File
@@ -4,9 +4,14 @@
"overrides": [
{
"files": ["*.ts"],
"extends": ["plugin:@nrwl/nx/angular"],
"extends": ["plugin:@nx/angular"],
"rules": {
"no-underscore-dangle": ["warn", { "allowAfterThis": true }],
"no-underscore-dangle": [
"warn",
{
"allowAfterThis": true
}
],
"@typescript-eslint/dot-notation": "off",
"@typescript-eslint/explicit-member-accessibility": [
"off",
@@ -30,7 +35,6 @@
"no-duplicate-imports": "error",
"no-multiple-empty-lines": "error",
"no-return-await": "error",
"unicorn/filename-case": "off",
"@typescript-eslint/no-unused-expressions": "off",
"@typescript-eslint/consistent-type-assertions": "off",
+1 -1
View File
@@ -76,7 +76,7 @@
}
},
"lint": {
"executor": "@nrwl/linter:eslint",
"executor": "@nx/eslint:lint:eslint",
"outputs": ["{options.outputFile}"],
"options": {
"lintFilePatterns": ["lib/js-api/**/*.ts"]
+8 -6
View File
@@ -4,9 +4,7 @@
"overrides": [
{
"files": ["*.ts"],
"extends": [
"plugin:@nrwl/nx/angular"
],
"extends": ["plugin:@nx/angular"],
"parserOptions": {
"project": ["lib/process-services-cloud/tsconfig.lib.json", "lib/process-services-cloud/tsconfig.spec.json"],
"createDefaultProgram": true
@@ -17,7 +15,12 @@
"@typescript-eslint/consistent-type-assertions": "warn",
"@typescript-eslint/prefer-for-of": "warn",
"@typescript-eslint/member-ordering": "off",
"no-underscore-dangle": ["error", { "allowAfterThis": true }],
"no-underscore-dangle": [
"error",
{
"allowAfterThis": true
}
],
"no-shadow": "warn",
"quote-props": "warn",
"object-shorthand": "warn",
@@ -25,7 +28,6 @@
"arrow-body-style": "warn",
"@angular-eslint/no-output-native": "off",
"space-before-function-paren": "warn",
"@angular-eslint/component-selector": [
"error",
{
@@ -78,7 +80,7 @@
},
{
"files": ["*.html"],
"extends": ["plugin:@nrwl/nx/angular-template"],
"extends": ["plugin:@nx/angular-template"],
"parserOptions": {
"project": ["lib/process-services-cloud/tsconfig.lib.json", "lib/process-services-cloud/tsconfig.spec.json"],
"createDefaultProgram": true
+4 -10
View File
@@ -2,12 +2,12 @@ var rootPath = require('../../../.storybook/main');
module.exports = {
rootMain: rootPath,
stories: [...rootPath.stories, '../src/lib/**/*.stories.@(js|jsx|ts|tsx)'],
stories: [...rootPath.stories, '../**/*.stories.@(js|jsx|ts|tsx)'],
staticDirs: [
...rootPath.staticDirs,
{ from: '../../core/src/lib/i18n', to: 'assets/adf-core/i18n' },
{ from: __dirname + '/../src/lib/i18n', to: 'assets/adf-process-services-cloud/i18n' }
{ from: __dirname + '/../src/lib/i18n', to: 'assets/adf-core/i18n' },
{ from: __dirname + '/../src/lib/assets/images', to: 'assets/images' }
],
addons: ['@storybook/addon-essentials', ...rootPath.addons],
@@ -17,11 +17,5 @@ module.exports = {
options: {}
},
docs: {
autodocs: true
},
core: {
builder: '@storybook/builder-webpack5'
}
docs: {}
};
@@ -1,4 +1,5 @@
export const parameters = {
docs: { inlineStories: true },
controls: { expanded: true }
docs: { inlineStories: true },
controls: { expanded: true }
};
export const tags = ['autodocs', 'autodocs'];
+1 -1
View File
@@ -33,7 +33,7 @@
}
},
"lint": {
"executor": "@nrwl/linter:eslint",
"executor": "@nx/eslint:lint:eslint",
"options": {
"lintFilePatterns": ["lib/process-services-cloud/**/*.ts", "lib/process-services-cloud/**/*.html"]
}
@@ -26,7 +26,8 @@ import {
} from '../mock/identity-group.service.mock';
import { mockFoodGroups } from '../mock/group-cloud.mock';
import { AdfHttpClient } from '@alfresco/adf-core/api';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { provideHttpClientTesting } from '@angular/common/http/testing';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
describe('IdentityGroupService', () => {
let service: IdentityGroupService;
@@ -35,8 +36,8 @@ describe('IdentityGroupService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [TranslateModule.forRoot(), HttpClientTestingModule],
providers: [IdentityGroupService]
imports: [TranslateModule.forRoot()],
providers: [IdentityGroupService, provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting()]
});
service = TestBed.inject(IdentityGroupService);
adfHttpClient = TestBed.inject(AdfHttpClient);
@@ -21,7 +21,7 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { ProcessFiltersCloudComponent } from './components/process-filters-cloud.component';
import { MaterialModule } from '../../material.module';
import { CoreModule } from '@alfresco/adf-core';
import { HttpClientModule } from '@angular/common/http';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
import { EditProcessFilterCloudComponent } from './components/edit-process-filter-cloud.component';
import { ProcessFilterDialogCloudComponent } from './components/process-filter-dialog-cloud.component';
import { AppListCloudModule } from './../../app/app-list-cloud.module';
@@ -29,18 +29,9 @@ import { ProcessCommonModule } from '../../common/process-common.module';
import { PeopleCloudModule } from '../../people/people-cloud.module';
@NgModule({
imports: [
FormsModule,
ReactiveFormsModule,
HttpClientModule,
CommonModule,
MaterialModule,
AppListCloudModule,
CoreModule,
ProcessCommonModule,
PeopleCloudModule
],
declarations: [ProcessFiltersCloudComponent, EditProcessFilterCloudComponent, ProcessFilterDialogCloudComponent],
exports: [ProcessFiltersCloudComponent, EditProcessFilterCloudComponent, ProcessFilterDialogCloudComponent]
exports: [ProcessFiltersCloudComponent, EditProcessFilterCloudComponent, ProcessFilterDialogCloudComponent],
imports: [FormsModule, ReactiveFormsModule, CommonModule, MaterialModule, AppListCloudModule, CoreModule, ProcessCommonModule, PeopleCloudModule],
providers: [provideHttpClient(withInterceptorsFromDi())]
})
export class ProcessFiltersCloudModule { }
export class ProcessFiltersCloudModule {}
@@ -30,12 +30,13 @@ import {
} from '../mock/task-filters-cloud.mock';
import { UserPreferenceCloudService } from '../../../services/user-preference-cloud.service';
import { PreferenceCloudServiceInterface } from '../../../services/preference-cloud.interface';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { provideHttpClientTesting } from '@angular/common/http/testing';
import { NotificationCloudService } from '../../../services/notification-cloud.service';
import { ProcessServiceCloudTestingModule } from '../../../testing/process-service-cloud.testing.module';
import { IdentityUserService } from '../../../people/services/identity-user.service';
import { ApolloModule } from 'apollo-angular';
import { StorageService } from '@alfresco/adf-core';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
describe('TaskFilterCloudService', () => {
let service: TaskFilterCloudService;
@@ -46,17 +47,20 @@ describe('TaskFilterCloudService', () => {
let createPreferenceSpy: jasmine.Spy;
let getCurrentUserInfoSpy: jasmine.Spy;
const identityUserMock = { username: 'fakeusername', firstName: 'fake-identity-first-name', lastName: 'fake-identity-last-name', email: 'fakeIdentity@email.com' };
const identityUserMock = {
username: 'fakeusername',
firstName: 'fake-identity-first-name',
lastName: 'fake-identity-last-name',
email: 'fakeIdentity@email.com'
};
beforeEach(() => {
TestBed.configureTestingModule({
imports: [
HttpClientTestingModule,
ProcessServiceCloudTestingModule,
ApolloModule
],
imports: [ProcessServiceCloudTestingModule, ApolloModule],
providers: [
{ provide: TASK_FILTERS_SERVICE_TOKEN, useClass: UserPreferenceCloudService }
{ provide: TASK_FILTERS_SERVICE_TOKEN, useClass: UserPreferenceCloudService },
provideHttpClient(withInterceptorsFromDi()),
provideHttpClientTesting()
]
});
service = TestBed.inject(TaskFilterCloudService);
@@ -245,13 +249,20 @@ describe('Inject [LocalPreferenceCloudService] into the TaskFilterCloudService',
let getPreferencesSpy: jasmine.Spy;
let storageService: StorageService;
const identityUserMock = { username: 'fakeusername', firstName: 'fake-identity-first-name', lastName: 'fake-identity-last-name', email: 'fakeIdentity@email.com' };
const identityUserMock = {
username: 'fakeusername',
firstName: 'fake-identity-first-name',
lastName: 'fake-identity-last-name',
email: 'fakeIdentity@email.com'
};
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule, ProcessServiceCloudTestingModule, ApolloModule],
imports: [ProcessServiceCloudTestingModule, ApolloModule],
providers: [
{ provide: TASK_FILTERS_SERVICE_TOKEN, useClass: LocalPreferenceCloudService }
{ provide: TASK_FILTERS_SERVICE_TOKEN, useClass: LocalPreferenceCloudService },
provideHttpClient(withInterceptorsFromDi()),
provideHttpClientTesting()
]
});
service = TestBed.inject(TaskFilterCloudService);
@@ -21,7 +21,7 @@ import { CommonModule } from '@angular/common';
import { TaskFiltersCloudComponent } from './components/task-filters-cloud.component';
import { MaterialModule } from '../../material.module';
import { CoreModule } from '@alfresco/adf-core';
import { HttpClientModule } from '@angular/common/http';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
import { AppListCloudModule } from './../../app/app-list-cloud.module';
import { ProcessCommonModule } from '../../common/process-common.module';
import { PeopleCloudModule } from '../../people/people-cloud.module';
@@ -34,10 +34,18 @@ import { GroupCloudModule } from '../../group/group-cloud.module';
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
@NgModule({
declarations: [
TaskFiltersCloudComponent,
ServiceTaskFiltersCloudComponent,
EditTaskFilterCloudComponent,
EditServiceTaskFilterCloudComponent,
TaskFilterDialogCloudComponent,
TaskAssignmentFilterCloudComponent
],
exports: [TaskFiltersCloudComponent, ServiceTaskFiltersCloudComponent, EditTaskFilterCloudComponent, EditServiceTaskFilterCloudComponent],
imports: [
FormsModule,
ReactiveFormsModule,
HttpClientModule,
CommonModule,
MaterialModule,
AppListCloudModule,
@@ -47,14 +55,6 @@ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
PeopleCloudModule,
MatProgressSpinnerModule
],
declarations: [
TaskFiltersCloudComponent,
ServiceTaskFiltersCloudComponent,
EditTaskFilterCloudComponent,
EditServiceTaskFilterCloudComponent,
TaskFilterDialogCloudComponent,
TaskAssignmentFilterCloudComponent
],
exports: [TaskFiltersCloudComponent, ServiceTaskFiltersCloudComponent, EditTaskFilterCloudComponent, EditServiceTaskFilterCloudComponent]
providers: [provideHttpClient(withInterceptorsFromDi())]
})
export class TaskFiltersCloudModule {}
+8 -4
View File
@@ -4,7 +4,7 @@
"overrides": [
{
"files": ["*.ts"],
"extends": ["plugin:@nrwl/nx/angular"],
"extends": ["plugin:@nx/angular"],
"parserOptions": {
"project": ["lib/process-services/tsconfig.lib.json", "lib/process-services/tsconfig.spec.json"],
"createDefaultProgram": true
@@ -14,7 +14,12 @@
"@typescript-eslint/naming-convention": "warn",
"@typescript-eslint/consistent-type-assertions": "warn",
"@typescript-eslint/prefer-for-of": "warn",
"no-underscore-dangle": ["error", { "allowAfterThis": true }],
"no-underscore-dangle": [
"error",
{
"allowAfterThis": true
}
],
"no-shadow": "warn",
"quote-props": "warn",
"object-shorthand": "warn",
@@ -22,7 +27,6 @@
"arrow-body-style": "warn",
"@angular-eslint/no-output-native": "off",
"space-before-function-paren": "warn",
"@angular-eslint/component-selector": [
"error",
{
@@ -75,7 +79,7 @@
},
{
"files": ["*.html"],
"extends": ["plugin:@nrwl/nx/angular-template"],
"extends": ["plugin:@nx/angular-template"],
"parserOptions": {
"project": ["lib/process-services/tsconfig.lib.json", "lib/process-services/tsconfig.spec.json"],
"createDefaultProgram": true

Some files were not shown because too many files have changed in this diff Show More