Skip to content

Commit

Permalink
Ng16 migration (#10114)
Browse files Browse the repository at this point in the history
* NG-16 - migration step 1

* NG16 - fixed the builds

* [MIGRATION] - Switching off no empty functions rule

* [MIGRATION] - Somehow the fix for the cli types got lost

* [MIGRATION] - Something happened on the way to heaven

* [MIGRATION] - Ok this is weird

* [MIGRATION] - Ok this is really weird

* [MIGRATION] - change selector for expanded expansion panel content

* [MIGRATION] - storybook chips related e2e fails fix, unit alignments

* [MIGRATION] - Ok this is really weird

* [MIGRATION] - Updating outdated packages

* [MIGRATION] - updated deps for process cloud

* [MIGRATION] - Rebased to latest

* [MIGRATION] - Fixed lint

* [MIGRATION] - Fixed package version

* Rebased with lastest changes

* [MIGRATION] - check to update the script

* [MIGRATION] - rebased after the move of AlfrescoApiService

* [MIGRATION] - fixed schematics build

* [MIGRATION] - the lesson is : do not change what is already working

* Rebased to latestp

* Fixes after CR (#10202)

* Fixed white background issue in sidenav after ng16 upgrade (#10207)

* [MIGRATION] fix header background color not being read from input prop

* Fixed build

* Rebased

* Fix package version after release

* Thanks apollo deps

* custom theme missing sidenav color

* fix filter subscript overlapping dropdown items

* [ACS-8749] View More tags button no longer shows when all tags are removed from a node (#10285)

* [ACS-8741] Sidenav text for Process and Task filters is now grey (#10284)

* AAE-26037 Moved permissions role selector styles to a dedicated file (#10297)

* Removed fallback and starting using simple token

* Removed fallback and starting using simple token

* Fixed related unit test

* Fixed related unit test

* Writing should use the same calss as reading

* Fixed unit tests for insights

* Fixed unit tests for insights

* Added fallback for JWT token

* Added fallback for JWT token

* Auto import fix

* Added fallback for injection

* Added fallback for injection

* Trying to fix JWT token issue

* Fixed unit tests

* Fixed unit tests

* Fixed style for collaborators

* fixed permission row height

* AAE-26163 Fix infinite loop when authentication error event occured (#10272)

* AAE-26163 Logout user after 3 login attempts failed, avoiding infinite loop when an authentication error occured, like when a user machine clock is significantly out of sync

* AAE-26163 Wait to discovery document to be loaded and user not authenticated to perform a ssoLogin, logout user if login fails after 3 attempts

* AAE-26163 Fix missed id_token_hint invoking logout when a login error occured due to a clock significantly out of sync

* AAE-26163 Add fake observable to unit test

* AAE-26163 Show oauth event logs if showDebugInformation is enabled, remove auth items if access token is not valid

* AAE-26163 Improve tryLogin error message

* AAE-26163 Check if token has expired to fix case when user access the application after the token is expired and with a clock significantly out of sync

* AAE-26163 Test logout when clock is out of sync

* AAE-26163 Create a service to check if local machine time is out of sync

* AAE-26163 Update oauthErrorEvent$ and combinedOAuthErrorsStream$ to return errors

* AAE-26163 Output error within combined oauth error event subscription

* AAE-26163 Fix lint problems

* AAE-26163 Logout user when token refresh error happens for the second time, if the token is not refreshed properly after first refresh error

* AAE-26163 Logout user once an oauth error event occur due to clock out of sync

* AAE-26163 Fix retry login error message if the OAuthErrorEvent doesn t return reason

* AAE-26163 Fix the issue where the logout API call is canceled by the authorize call when login fails due to clock synchronization problems, causing an infinite loop.

* remove console.log

* AAE-26163 Fix retry login error message if the OAuthErrorEvent reason is an empty object

* Updating dependencies

* Fixed subject complete to avoid calling a reset event when complete

---------

Co-authored-by: Wojciech Duda <[email protected]>
Co-authored-by: dominikiwanekhyland <[email protected]>
Co-authored-by: swapnil-verma-gl <[email protected]>
Co-authored-by: Ehsan Rezaei <[email protected]>
Co-authored-by: Amedeo Lepore <[email protected]>
  • Loading branch information
6 people authored Oct 23, 2024
1 parent 0a89d9b commit 41391a0
Show file tree
Hide file tree
Showing 91 changed files with 15,359 additions and 15,101 deletions.
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ scripts
/angular.json
docs/**/*.md
lib/js-api/docs/**/*.md
.storybook
10 changes: 5 additions & 5 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ module.exports = {
'**/docs'
],

plugins: ['@nrwl/nx'],
plugins: ['@nx'],

overrides: [
{
Expand All @@ -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'
],
Expand Down Expand Up @@ -104,6 +103,7 @@ module.exports = {
}
],
'@typescript-eslint/member-ordering': 'off',
'@typescript-eslint/no-empty-function': 'off',
'prefer-arrow/prefer-arrow-functions': 'off',
'prefer-promise-reject-errors': 'error',
'brace-style': 'off',
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,6 @@ 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
- uses: ./.github/actions/upload-node-modules-and-artifacts

unit-tests:
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/release-branch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,16 +98,16 @@ jobs:
setMigrations();
- name: Build libraries
run: |
npx nx affected:build $NX_CALCULATION_FLAGS --prod --skip-nx-cache
npx nx affected $NX_CALCULATION_FLAGS --target=pretheme
npx nx affected $NX_CALCULATION_FLAGS --target=build-schematics
npx nx run-many --target=build --prod --exclude="demoshell" --skip-nx-cache
npx nx run-many --target=pretheme
npx nx run-many --target=build-schematics
- uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
name: release libraries GH registry
with:
node-version-file: '.nvmrc'
registry-url: 'https://npm.pkg.github.com'
scope: '@alfresco'
- run: npx nx affected --target=npm-publish $NX_CALCULATION_FLAGS --tag=branch|| exit 1
- run: npx nx run-many --target=npm-publish --tag=branch|| exit 1
env:
NODE_AUTH_TOKEN: ${{ secrets.PAT_WRITE_PKG }}
- uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
Expand All @@ -116,7 +116,7 @@ jobs:
node-version-file: '.nvmrc'
registry-url: 'https://${{ vars.NPM_REGISTRY_ADDRESS }}'
scope: '@alfresco'
- run: npx nx affected --target=npm-publish $NX_CALCULATION_FLAGS --tag=branch || exit 1
- run: npx nx run-many --target=npm-publish --tag=branch || exit 1
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }}

Expand Down
2 changes: 1 addition & 1 deletion .storybook/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ module.exports = {
staticDirs: [],
docs: {},
stories: [],
addons: []
addons: ['@chromatic-com/storybook']
};
2 changes: 1 addition & 1 deletion .storybook/preview.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ export const parameters = {
docs: { inlineStories: true },
controls: { expanded: true }
};
export const tags = ['autodocs'];
export const tags = ['autodocs', 'autodocs', 'autodocs'];
4 changes: 2 additions & 2 deletions lib/cli/.eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"overrides": [
{
"files": ["*.ts"],
"extends": ["plugin:@nrwl/nx/angular"],
"extends": ["plugin:@nx/angular"],
"parserOptions": {
"project": ["lib/cli/tsconfig.json"],
"createDefaultProgram": true
Expand Down Expand Up @@ -44,7 +44,7 @@
"project": ["lib/cli/tsconfig.json"],
"createDefaultProgram": true
},
"extends": ["plugin:@nrwl/nx/angular-template"],
"extends": ["plugin:@nx/angular-template"],
"rules": {}
}
]
Expand Down
2 changes: 1 addition & 1 deletion lib/cli/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
"target": "es2018",
"lib": ["es2018", "dom"],
"baseUrl": ".",
"typeRoots": ["node_modules/@types"],
"typeRoots": ["node_modules/@types", "../../node_modules/@types"],
"types": ["node"],
"paths": {
"@alfresco/js-api": ["../../dist/libs/js-api"],
Expand Down
12 changes: 8 additions & 4 deletions lib/content-services/.eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -15,15 +15,19 @@
"@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",
"prefer-const": "warn",
"arrow-body-style": "warn",
"@angular-eslint/no-output-native": "off",
"space-before-function-paren": "warn",

"@angular-eslint/component-selector": [
"error",
{
Expand Down Expand Up @@ -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"
Expand Down
8 changes: 1 addition & 7 deletions lib/content-services/.storybook/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,5 @@ module.exports = {
options: {}
},

docs: {
autodocs: true
},

core: {
builder: '@storybook/builder-webpack5'
}
docs: {}
};
5 changes: 3 additions & 2 deletions lib/content-services/.storybook/preview.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
export const parameters = {
docs: { inlineStories: true },
controls: { expanded: true }
docs: { inlineStories: true },
controls: { expanded: true }
};
export const tags = ['autodocs', 'autodocs'];
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@

import { ContentAuthLoaderService } from './content-auth-loader.service';

// eslint-disable-next-line prefer-arrow/prefer-arrow-functions
/**
* Create a content auth factory
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,9 @@ export class RenditionService {
try {
await this.renditionsApi.createRendition(nodeId, { id: renditionId });
rendition = await this.waitRendition(nodeId, renditionId, 0);
} catch {}
} catch {
return null;
}
}
}
return new Promise<RenditionEntry>((resolve) => resolve(rendition));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,9 @@ export class ContentMetadataComponent implements OnChanges, OnInit, OnDestroy {

try {
statusCode = JSON.parse(error.message).error.statusCode;
} catch {}
} catch {
/* empty */
}

let message = `METADATA.ERRORS.${statusCode}`;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,9 @@ export class ShareDialogComponent implements OnInit, OnDestroy {

try {
statusCode = JSON.parse(error.message).error.statusCode;
} catch {}
} catch {
/* empty */
}

if (statusCode === 403) {
message = 'SHARE.UNSHARE_PERMISSION_ERROR';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1049,7 +1049,9 @@ export class DocumentListComponent extends DataTableSchema implements OnInit, On
if (JSON.parse(err.message).error.statusCode === 403) {
this.noPermission = true;
}
} catch (error) {}
} catch (error) {
/* empty */
}
}
this.setLoadingState(false);
this.error.emit(err);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
@import 'styles/mat-selectors';

.adf-role-selector-field#{$mat-form-field} {
width: 100%;
max-width: 200px;
height: 40px;

#{$mat-form-field-infix}:not(:disabled) {
padding-top: 8px;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
* limitations under the License.
*/

import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';
import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewEncapsulation } from '@angular/core';
import { RoleModel } from '../../models/role.model';
import { CommonModule } from '@angular/common';
import { MatFormFieldModule } from '@angular/material/form-field';
Expand All @@ -32,7 +32,7 @@ export interface RoleModelOption {
standalone: true,
imports: [CommonModule, MatFormFieldModule, MatSelectModule, TranslateModule],
template: `
<mat-form-field class="adf-role-selector-field" *ngIf="!readonly">
<mat-form-field class="adf-role-selector-field" *ngIf="!readonly" subscriptSizing="dynamic">
<mat-select
class="adf-role-selector"
(click)="$event.stopPropagation()"
Expand All @@ -52,24 +52,9 @@ export interface RoleModelOption {
{{ i18nValue | translate }}
</span>
`,
encapsulation: ViewEncapsulation.None,
host: { class: 'adf-user-role-column adf-datatable-content-cell adf-expand-cell-4' },
styles: [
`
.adf-role-selector-field.mat-mdc-form-field {
width: 100%;
height: 40px;
max-width: 200px;
.mat-mdc-form-field-infix {
padding-top: 8px;
}
.mat-mdc-form-field-subscript-wrapper {
display: none;
}
}
`
]
styleUrls: ['./user-role-column.component.scss']
})
export class UserRoleColumnComponent implements OnChanges {
@Input()
Expand Down
45 changes: 22 additions & 23 deletions lib/content-services/src/lib/tree-view/data/tree-view-datasource.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ import { TreeViewService } from '../services/tree-view.service';

@Injectable()
export class TreeViewDataSource {

treeNodes: TreeBaseNode[];
dataChange = new BehaviorSubject<TreeBaseNode[]>([]);
childrenSubscription = null;
Expand All @@ -40,15 +39,13 @@ export class TreeViewDataSource {
this.dataChange.next(value);
}

constructor(private treeControl: FlatTreeControl<TreeBaseNode>,
private treeViewService: TreeViewService) {
this.dataChange.subscribe((treeNodes) => this.treeNodes = treeNodes);
constructor(private treeControl: FlatTreeControl<TreeBaseNode>, private treeViewService: TreeViewService) {
this.dataChange.subscribe((treeNodes) => (this.treeNodes = treeNodes));
}

connect(collectionViewer: CollectionViewer): Observable<TreeBaseNode[]> {
this.changeSubscription = this.treeControl.expansionModel.changed.subscribe((change) => {
if ((change as SelectionChange<TreeBaseNode>).added &&
(change as SelectionChange<TreeBaseNode>).added.length > 0) {
if ((change as SelectionChange<TreeBaseNode>).added && (change as SelectionChange<TreeBaseNode>).added.length > 0) {
this.expandTreeNodes(change as SelectionChange<TreeBaseNode>);
} else if ((change as SelectionChange<TreeBaseNode>).removed) {
this.reduceTreeNodes(change as SelectionChange<TreeBaseNode>);
Expand All @@ -71,33 +68,35 @@ export class TreeViewDataSource {
}

private reduceTreeNodes(change: SelectionChange<TreeBaseNode>) {
change.removed.slice().reverse().forEach((node) => this.toggleNode(node));
change.removed
.slice()
.reverse()
.forEach((node) => this.toggleNode(node));
}

private expandNode(node: TreeBaseNode) {
this.childrenSubscription = this.treeViewService.getTreeNodes(node.nodeId)
.subscribe((children) => {
const index = this.data.indexOf(node);
if (!children || index < 0) {
node.expandable = false;
return;
}
const nodes = children.map((actualNode) => {
actualNode.level = node.level + 1;
return actualNode;
});
this.data.splice(index + 1, 0, ...nodes);
this.dataChange.next(this.data);
this.childrenSubscription = this.treeViewService.getTreeNodes(node.nodeId).subscribe((children) => {
const index = this.data.indexOf(node);
if (!children || index < 0) {
node.expandable = false;
return;
}
const nodes = children.map((actualNode) => {
actualNode.level = node.level + 1;
return actualNode;
});
this.data.splice(index + 1, 0, ...nodes);
this.dataChange.next(this.data);
});
}

toggleNode(node: TreeBaseNode) {
const index = this.data.indexOf(node);
let count = 0;
for (let i = index + 1; i < this.data.length
&& this.data[i].level > node.level; i++ , count++) { }
for (let i = index + 1; i < this.data.length && this.data[i].level > node.level; i++, count++) {
/* empty */
}
this.data.splice(index + 1, count);
this.dataChange.next(this.data);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@

import { VersionCompatibilityService } from './version-compatibility.service';

// eslint-disable-next-line prefer-arrow/prefer-arrow-functions
/**
* Create a version compatibility factory
*
Expand Down
Loading

0 comments on commit 41391a0

Please sign in to comment.