mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-19 17:14:57 +00:00
Optimize tests and upgrade Nx workspace (#5884)
* fix issue with async await, use interface over class * upgrade nx workspace * remove useless async * code fixes
This commit is contained in:
parent
b9dc285d2b
commit
b69fdb9370
49
angular.json
49
angular.json
@ -18,9 +18,7 @@
|
|||||||
"tsConfig": "tsconfig.dev.json",
|
"tsConfig": "tsconfig.dev.json",
|
||||||
"polyfills": "demo-shell/src/polyfills.ts",
|
"polyfills": "demo-shell/src/polyfills.ts",
|
||||||
"stylePreprocessorOptions": {
|
"stylePreprocessorOptions": {
|
||||||
"includePaths": [
|
"includePaths": ["lib"]
|
||||||
"lib"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"assets": [
|
"assets": [
|
||||||
"demo-shell/src/assets",
|
"demo-shell/src/assets",
|
||||||
@ -288,13 +286,8 @@
|
|||||||
"lint": {
|
"lint": {
|
||||||
"builder": "@angular-devkit/build-angular:tslint",
|
"builder": "@angular-devkit/build-angular:tslint",
|
||||||
"options": {
|
"options": {
|
||||||
"tsConfig": [
|
"tsConfig": ["tsconfig.dev.json"],
|
||||||
"tsconfig.dev.json"
|
"exclude": ["**/node_modules/**/*", "package.json"]
|
||||||
],
|
|
||||||
"exclude": [
|
|
||||||
"**/node_modules/**/*",
|
|
||||||
"package.json"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -327,12 +320,8 @@
|
|||||||
"lint": {
|
"lint": {
|
||||||
"builder": "@angular-devkit/build-angular:tslint",
|
"builder": "@angular-devkit/build-angular:tslint",
|
||||||
"options": {
|
"options": {
|
||||||
"tsConfig": [
|
"tsConfig": ["./e2e/tsconfig.e2e.json"],
|
||||||
"./e2e/tsconfig.e2e.json"
|
"exclude": ["**/node_modules/**/*"]
|
||||||
],
|
|
||||||
"exclude": [
|
|
||||||
"**/node_modules/**/*"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -373,9 +362,7 @@
|
|||||||
"lib/core/tsconfig.lib.json",
|
"lib/core/tsconfig.lib.json",
|
||||||
"lib/core/tsconfig.spec.json"
|
"lib/core/tsconfig.spec.json"
|
||||||
],
|
],
|
||||||
"exclude": [
|
"exclude": ["**/node_modules/**"]
|
||||||
"**/node_modules/**"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -416,9 +403,7 @@
|
|||||||
"lib/content-services/tsconfig.lib.json",
|
"lib/content-services/tsconfig.lib.json",
|
||||||
"lib/content-services/tsconfig.spec.json"
|
"lib/content-services/tsconfig.spec.json"
|
||||||
],
|
],
|
||||||
"exclude": [
|
"exclude": ["**/node_modules/**"]
|
||||||
"**/node_modules/**"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -459,9 +444,7 @@
|
|||||||
"lib/process-services/tsconfig.lib.json",
|
"lib/process-services/tsconfig.lib.json",
|
||||||
"lib/process-services/tsconfig.spec.json"
|
"lib/process-services/tsconfig.spec.json"
|
||||||
],
|
],
|
||||||
"exclude": [
|
"exclude": ["**/node_modules/**"]
|
||||||
"**/node_modules/**"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -502,9 +485,7 @@
|
|||||||
"lib/process-services-cloud/tsconfig.lib.json",
|
"lib/process-services-cloud/tsconfig.lib.json",
|
||||||
"lib/process-services-cloud/tsconfig.spec.json"
|
"lib/process-services-cloud/tsconfig.spec.json"
|
||||||
],
|
],
|
||||||
"exclude": [
|
"exclude": ["**/node_modules/**"]
|
||||||
"**/node_modules/**"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -545,9 +526,7 @@
|
|||||||
"lib/insights/tsconfig.lib.json",
|
"lib/insights/tsconfig.lib.json",
|
||||||
"lib/insights/tsconfig.spec.json"
|
"lib/insights/tsconfig.spec.json"
|
||||||
],
|
],
|
||||||
"exclude": [
|
"exclude": ["**/node_modules/**"]
|
||||||
"**/node_modules/**"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -587,9 +566,7 @@
|
|||||||
"lib/extensions/tsconfig.lib.json",
|
"lib/extensions/tsconfig.lib.json",
|
||||||
"lib/extensions/tsconfig.spec.json"
|
"lib/extensions/tsconfig.spec.json"
|
||||||
],
|
],
|
||||||
"exclude": [
|
"exclude": ["**/node_modules/**"]
|
||||||
"**/node_modules/**"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -619,9 +596,7 @@
|
|||||||
"lib/testing/tsconfig.lib.json",
|
"lib/testing/tsconfig.lib.json",
|
||||||
"lib/testing/tsconfig.spec.json"
|
"lib/testing/tsconfig.spec.json"
|
||||||
],
|
],
|
||||||
"exclude": [
|
"exclude": ["**/node_modules/**"]
|
||||||
"**/node_modules/**"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
95
decorate-angular-cli.js
Normal file
95
decorate-angular-cli.js
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
/**
|
||||||
|
* This file decorates the Angular CLI with the Nx CLI to enable features such as computation caching
|
||||||
|
* and faster execution of tasks.
|
||||||
|
*
|
||||||
|
* It does this by:
|
||||||
|
*
|
||||||
|
* - Patching the Angular CLI to warn you in case you accidentally use the undecorated ng command.
|
||||||
|
* - Symlinking the ng to nx command, so all commands run through the Nx CLI
|
||||||
|
* - Updating the package.json postinstall script to give you control over this script
|
||||||
|
*
|
||||||
|
* The Nx CLI decorates the Angular CLI, so the Nx CLI is fully compatible with it.
|
||||||
|
* Every command you run should work the same when using the Nx CLI, except faster.
|
||||||
|
*
|
||||||
|
* Because of symlinking you can still type `ng build/test/lint` in the terminal. The ng command, in this case,
|
||||||
|
* will point to nx, which will perform optimizations before invoking ng. So the Angular CLI is always invoked.
|
||||||
|
* The Nx CLI simply does some optimizations before invoking the Angular CLI.
|
||||||
|
*
|
||||||
|
* To opt out of this patch:
|
||||||
|
* - Replace occurrences of nx with ng in your package.json
|
||||||
|
* - Remove the script from your postinstall script in your package.json
|
||||||
|
* - 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 { output } = require("@nrwl/workspace");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Paths to files being patched
|
||||||
|
*/
|
||||||
|
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();
|
||||||
|
|
||||||
|
if (!angularCLIInit.includes("NX_CLI_SET")) {
|
||||||
|
fs.writeFileSync(
|
||||||
|
initPath,
|
||||||
|
`
|
||||||
|
if (!process.env['NX_CLI_SET']) {
|
||||||
|
const { output } = require('@nrwl/workspace');
|
||||||
|
output.warn({ title: 'The Angular CLI was invoked instead of the Nx CLI. Use "npx ng [command]" or "nx [command]" instead.' });
|
||||||
|
}
|
||||||
|
${angularCLIInit}
|
||||||
|
`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Symlink of ng to nx, so you can keep using `ng build/test/lint` and still
|
||||||
|
* 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}`);
|
||||||
|
}
|
||||||
|
} 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."
|
||||||
|
});
|
||||||
|
} catch (e) {
|
||||||
|
output.error({
|
||||||
|
title: "Decoration of the Angular CLI did not complete successfully"
|
||||||
|
});
|
||||||
|
}
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { async, TestBed } from '@angular/core/testing';
|
import { TestBed } from '@angular/core/testing';
|
||||||
import { setupTestBed } from 'core';
|
import { setupTestBed } from 'core';
|
||||||
import { CoreTestingModule } from 'core/testing/core.testing.module';
|
import { CoreTestingModule } from 'core/testing/core.testing.module';
|
||||||
import { TranslateModule } from '@ngx-translate/core';
|
import { TranslateModule } from '@ngx-translate/core';
|
||||||
@ -35,7 +35,7 @@ describe('ProcessNameCloudPipe', () => {
|
|||||||
const nameWithProcessDefinitionIdentifier = `${defaultName} - ${processDefinitionIdentifier}`;
|
const nameWithProcessDefinitionIdentifier = `${defaultName} - ${processDefinitionIdentifier}`;
|
||||||
const nameWithDatetimeIdentifier = `${defaultName} - ${datetimeIdentifier}`;
|
const nameWithDatetimeIdentifier = `${defaultName} - ${datetimeIdentifier}`;
|
||||||
const nameWithAllIdentifiers = `${defaultName} ${processDefinitionIdentifier} - ${datetimeIdentifier}`;
|
const nameWithAllIdentifiers = `${defaultName} ${processDefinitionIdentifier} - ${datetimeIdentifier}`;
|
||||||
const fakeProcessInstanceDetails = new ProcessInstanceCloud({ processDefinitionName: 'my-process-definition' });
|
const fakeProcessInstanceDetails: ProcessInstanceCloud = { processDefinitionName: 'my-process-definition' };
|
||||||
|
|
||||||
setupTestBed({
|
setupTestBed({
|
||||||
imports: [
|
imports: [
|
||||||
@ -44,10 +44,10 @@ describe('ProcessNameCloudPipe', () => {
|
|||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(() => {
|
||||||
const localizedDatePipe = TestBed.inject(LocalizedDatePipe);
|
const localizedDatePipe = TestBed.inject(LocalizedDatePipe);
|
||||||
processNamePipe = new ProcessNameCloudPipe(localizedDatePipe);
|
processNamePipe = new ProcessNameCloudPipe(localizedDatePipe);
|
||||||
}));
|
});
|
||||||
|
|
||||||
it('should not modify the name when there is no identifier', () => {
|
it('should not modify the name when there is no identifier', () => {
|
||||||
const transformResult = processNamePipe.transform(defaultName);
|
const transformResult = processNamePipe.transform(defaultName);
|
||||||
|
@ -19,9 +19,12 @@ import { Component, ViewChild } from '@angular/core';
|
|||||||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
import { IdentityUserService, setupTestBed } from '@alfresco/adf-core';
|
import { IdentityUserService, setupTestBed } from '@alfresco/adf-core';
|
||||||
import { CancelProcessDirective } from './cancel-process.directive';
|
import { CancelProcessDirective } from './cancel-process.directive';
|
||||||
import { processDetailsMockRunning, processDetailsMockCompleted } from '../mock/process-details.mock';
|
|
||||||
import { ProcessServiceCloudTestingModule } from '../../testing/process-service-cloud.testing.module';
|
import { ProcessServiceCloudTestingModule } from '../../testing/process-service-cloud.testing.module';
|
||||||
import { TranslateModule } from '@ngx-translate/core';
|
import { TranslateModule } from '@ngx-translate/core';
|
||||||
|
import { ProcessInstanceCloud } from '../start-process/models/process-instance-cloud.model';
|
||||||
|
|
||||||
|
const processDetailsMockRunning: ProcessInstanceCloud = { initiator: 'usermock', status: 'RUNNING' };
|
||||||
|
const processDetailsMockCompleted: ProcessInstanceCloud = { initiator: 'usermock', status: 'COMPLETED' };
|
||||||
|
|
||||||
describe('CancelProcessDirective', () => {
|
describe('CancelProcessDirective', () => {
|
||||||
|
|
||||||
|
@ -29,11 +29,11 @@ export class CancelProcessDirective implements OnInit, OnDestroy {
|
|||||||
|
|
||||||
/** Emitted when the process is cancelled. */
|
/** Emitted when the process is cancelled. */
|
||||||
@Output()
|
@Output()
|
||||||
success: EventEmitter<any> = new EventEmitter<any>();
|
success = new EventEmitter<any>();
|
||||||
|
|
||||||
/** Emitted when the process cannot be cancelled. */
|
/** Emitted when the process cannot be cancelled. */
|
||||||
@Output()
|
@Output()
|
||||||
error: EventEmitter<any> = new EventEmitter<any>();
|
error = new EventEmitter<any>();
|
||||||
|
|
||||||
processInstanceDetails: ProcessInstanceCloud;
|
processInstanceDetails: ProcessInstanceCloud;
|
||||||
|
|
||||||
@ -49,7 +49,7 @@ export class CancelProcessDirective implements OnInit, OnDestroy {
|
|||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.processCloudService.dataChangesDetected
|
this.processCloudService.dataChangesDetected
|
||||||
.pipe(takeUntil(this.onDestroy$))
|
.pipe(takeUntil(this.onDestroy$))
|
||||||
.subscribe((processDetails: ProcessInstanceCloud) => {
|
.subscribe((processDetails) => {
|
||||||
this.processInstanceDetails = processDetails;
|
this.processInstanceDetails = processDetails;
|
||||||
this.canCancelProcess = this.checkCanCancelProcess();
|
this.canCancelProcess = this.checkCanCancelProcess();
|
||||||
this.setElementVisibility();
|
this.setElementVisibility();
|
||||||
@ -57,12 +57,8 @@ export class CancelProcessDirective implements OnInit, OnDestroy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@HostListener('click')
|
@HostListener('click')
|
||||||
async onClick() {
|
onClick() {
|
||||||
try {
|
this.cancelProcess();
|
||||||
await this.cancelProcess();
|
|
||||||
} catch (error) {
|
|
||||||
this.error.emit(error);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private setElementVisibility() {
|
private setElementVisibility() {
|
||||||
@ -71,18 +67,16 @@ export class CancelProcessDirective implements OnInit, OnDestroy {
|
|||||||
|
|
||||||
checkCanCancelProcess(): boolean {
|
checkCanCancelProcess(): boolean {
|
||||||
const currentUser = this.identityUserService.getCurrentUserInfo().username;
|
const currentUser = this.identityUserService.getCurrentUserInfo().username;
|
||||||
return this.processInstanceDetails.initiator === currentUser && this.processInstanceDetails.status === 'RUNNING';
|
return this.processInstanceDetails.initiator === currentUser && this.processInstanceDetails.status === 'RUNNING';
|
||||||
}
|
}
|
||||||
|
|
||||||
async cancelProcess() {
|
cancelProcess() {
|
||||||
if (this.canCancelProcess) {
|
if (this.canCancelProcess) {
|
||||||
await this.processCloudService.cancelProcess(this.processInstanceDetails.appName, this.processInstanceDetails.id)
|
this.processCloudService.cancelProcess(this.processInstanceDetails.appName, this.processInstanceDetails.id)
|
||||||
.pipe(takeUntil(this.onDestroy$))
|
.subscribe(
|
||||||
.subscribe((response) => {
|
(response) => this.success.emit(response),
|
||||||
this.success.emit(response);
|
(error) => this.error.emit(error)
|
||||||
}, ((error) => {
|
);
|
||||||
this.error.emit(error);
|
|
||||||
}));
|
|
||||||
} else {
|
} else {
|
||||||
this.error.emit('Permission denied, only process initiator can cancel the process');
|
this.error.emit('Permission denied, only process initiator can cancel the process');
|
||||||
}
|
}
|
||||||
|
@ -1,22 +0,0 @@
|
|||||||
/*!
|
|
||||||
* @license
|
|
||||||
* Copyright 2019 Alfresco Software, Ltd.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import { ProcessInstanceCloud } from '../start-process/models/process-instance-cloud.model';
|
|
||||||
|
|
||||||
export let processDetailsMockRunning = new ProcessInstanceCloud({ initiator: 'usermock', status: 'RUNNING' });
|
|
||||||
|
|
||||||
export let processDetailsMockCompleted = new ProcessInstanceCloud({ initiator: 'usermock', status: 'COMPLETED' });
|
|
@ -1,191 +0,0 @@
|
|||||||
/*!
|
|
||||||
* @license
|
|
||||||
* Copyright 2019 Alfresco Software, Ltd.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import { ProcessFilterCloudModel } from '../models/process-filter-cloud.model';
|
|
||||||
|
|
||||||
export const fakeProcessCloudFilterEntries = {
|
|
||||||
list: {
|
|
||||||
entries: [
|
|
||||||
{
|
|
||||||
entry: {
|
|
||||||
key: 'process-filters-mock-appName-mock-username',
|
|
||||||
value: JSON.stringify([
|
|
||||||
{
|
|
||||||
name: 'MOCK_PROCESS_NAME_1',
|
|
||||||
id: '1',
|
|
||||||
key: 'all-mock-process',
|
|
||||||
icon: 'adjust',
|
|
||||||
appName: 'mock-appName',
|
|
||||||
sort: 'startDate',
|
|
||||||
status: 'MOCK_ALL',
|
|
||||||
order: 'DESC'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'MOCK_PROCESS_NAME_2',
|
|
||||||
id: '2',
|
|
||||||
key: 'run-mock-process',
|
|
||||||
icon: 'adjust',
|
|
||||||
appName: 'mock-appName',
|
|
||||||
sort: 'startDate',
|
|
||||||
status: 'MOCK-RUNNING',
|
|
||||||
order: 'DESC'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'MOCK_PROCESS_NAME_3',
|
|
||||||
id: '3',
|
|
||||||
key: 'complete-mock-process',
|
|
||||||
icon: 'adjust',
|
|
||||||
appName: 'mock-appName',
|
|
||||||
sort: 'startDate',
|
|
||||||
status: 'MOCK-COMPLETED',
|
|
||||||
order: 'DESC'
|
|
||||||
}
|
|
||||||
])
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
entry: {
|
|
||||||
key: 'mock-key-2',
|
|
||||||
value: {
|
|
||||||
name: 'MOCK_PROCESS_NAME_2',
|
|
||||||
id: '2',
|
|
||||||
key: 'run-mock-process',
|
|
||||||
icon: 'adjust',
|
|
||||||
appName: 'mock-appName',
|
|
||||||
sort: 'startDate',
|
|
||||||
status: 'MOCK-RUNNING',
|
|
||||||
order: 'DESC'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
entry: {
|
|
||||||
key: 'mock-key-3',
|
|
||||||
value: {
|
|
||||||
name: 'MOCK_PROCESS_NAME_3',
|
|
||||||
id: '3',
|
|
||||||
key: 'complete-mock-process',
|
|
||||||
icon: 'adjust',
|
|
||||||
appName: 'mock-appName',
|
|
||||||
sort: 'startDate',
|
|
||||||
status: 'MOCK-COMPLETED',
|
|
||||||
order: 'DESC'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
pagination: {
|
|
||||||
skipCount: 0,
|
|
||||||
maxItems: 100,
|
|
||||||
count: 3,
|
|
||||||
hasMoreItems: false,
|
|
||||||
totalItems: 3
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
export const fakeEmptyProcessCloudFilterEntries = {
|
|
||||||
list: {
|
|
||||||
entries: [],
|
|
||||||
pagination: {
|
|
||||||
skipCount: 0,
|
|
||||||
maxItems: 100,
|
|
||||||
count: 0,
|
|
||||||
hasMoreItems: false,
|
|
||||||
totalItems: 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
export const fakeProcessCloudFilterWithDifferentEntries = {
|
|
||||||
list: {
|
|
||||||
entries: [
|
|
||||||
{
|
|
||||||
entry: {
|
|
||||||
key: 'my-mock-key-1',
|
|
||||||
value: 'my-mock-value-2'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
entry: {
|
|
||||||
key: 'my-mock-key-2',
|
|
||||||
value: 'my-mock-key-2'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
pagination: {
|
|
||||||
skipCount: 0,
|
|
||||||
maxItems: 100,
|
|
||||||
count: 4,
|
|
||||||
hasMoreItems: false,
|
|
||||||
totalItems: 2
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
export const fakeProcessFilter: ProcessFilterCloudModel = {
|
|
||||||
name: 'MOCK_PROCESS_NAME_1',
|
|
||||||
id: '1',
|
|
||||||
key: 'all-mock-process',
|
|
||||||
icon: 'adjust',
|
|
||||||
appName: 'mock-appName',
|
|
||||||
sort: 'startDate',
|
|
||||||
status: 'MOCK_ALL',
|
|
||||||
order: 'DESC',
|
|
||||||
index: 2,
|
|
||||||
processName: 'process-name',
|
|
||||||
processInstanceId: 'processinstanceid',
|
|
||||||
initiator: 'mockuser',
|
|
||||||
processDefinitionId: 'processDefid',
|
|
||||||
processDefinitionKey: 'processDefKey',
|
|
||||||
lastModified: null,
|
|
||||||
lastModifiedTo: null,
|
|
||||||
lastModifiedFrom: null
|
|
||||||
};
|
|
||||||
|
|
||||||
export const fakeProcessCloudFilters = [
|
|
||||||
{
|
|
||||||
name: 'MOCK_PROCESS_NAME_1',
|
|
||||||
id: '1',
|
|
||||||
key: 'all-mock-process',
|
|
||||||
icon: 'adjust',
|
|
||||||
appName: 'mock-appName',
|
|
||||||
sort: 'startDate',
|
|
||||||
status: 'MOCK_ALL',
|
|
||||||
order: 'DESC'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'MOCK_PROCESS_NAME_2',
|
|
||||||
id: '2',
|
|
||||||
key: 'run-mock-process',
|
|
||||||
icon: 'adjust',
|
|
||||||
appName: 'mock-appName',
|
|
||||||
sort: 'startDate',
|
|
||||||
status: 'MOCK-RUNNING',
|
|
||||||
order: 'DESC'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'MOCK_PROCESS_NAME_3',
|
|
||||||
id: '3',
|
|
||||||
key: 'complete-mock-process',
|
|
||||||
icon: 'adjust',
|
|
||||||
appName: 'mock-appName',
|
|
||||||
sort: 'startDate',
|
|
||||||
status: 'MOCK-COMPLETED',
|
|
||||||
order: 'DESC'
|
|
||||||
}
|
|
||||||
];
|
|
@ -19,17 +19,11 @@ import { async, TestBed } from '@angular/core/testing';
|
|||||||
import { setupTestBed, IdentityUserService } from '@alfresco/adf-core';
|
import { setupTestBed, IdentityUserService } from '@alfresco/adf-core';
|
||||||
import { of } from 'rxjs';
|
import { of } from 'rxjs';
|
||||||
import { ProcessFilterCloudService } from './process-filter-cloud.service';
|
import { ProcessFilterCloudService } from './process-filter-cloud.service';
|
||||||
import {
|
|
||||||
fakeProcessCloudFilterEntries,
|
|
||||||
fakeProcessCloudFilters,
|
|
||||||
fakeEmptyProcessCloudFilterEntries,
|
|
||||||
fakeProcessCloudFilterWithDifferentEntries,
|
|
||||||
fakeProcessFilter
|
|
||||||
} from '../mock/process-filters.cloud.mock';
|
|
||||||
import { PROCESS_FILTERS_SERVICE_TOKEN } from '../../../services/cloud-token.service';
|
import { PROCESS_FILTERS_SERVICE_TOKEN } from '../../../services/cloud-token.service';
|
||||||
import { LocalPreferenceCloudService } from '../../../services/local-preference-cloud.service';
|
import { LocalPreferenceCloudService } from '../../../services/local-preference-cloud.service';
|
||||||
import { ProcessServiceCloudTestingModule } from '../../../testing/process-service-cloud.testing.module';
|
import { ProcessServiceCloudTestingModule } from '../../../testing/process-service-cloud.testing.module';
|
||||||
import { TranslateModule } from '@ngx-translate/core';
|
import { TranslateModule } from '@ngx-translate/core';
|
||||||
|
import { ProcessFilterCloudModel } from '../models/process-filter-cloud.model';
|
||||||
|
|
||||||
describe('ProcessFilterCloudService', () => {
|
describe('ProcessFilterCloudService', () => {
|
||||||
let service: ProcessFilterCloudService;
|
let service: ProcessFilterCloudService;
|
||||||
@ -39,7 +33,185 @@ describe('ProcessFilterCloudService', () => {
|
|||||||
let createPreferenceSpy: jasmine.Spy;
|
let createPreferenceSpy: jasmine.Spy;
|
||||||
let getCurrentUserInfoSpy: jasmine.Spy;
|
let getCurrentUserInfoSpy: jasmine.Spy;
|
||||||
|
|
||||||
const identityUserMock = { username: 'mock-username', firstName: 'fake-identity-first-name', lastName: 'fake-identity-last-name', email: 'fakeIdentity@email.com' };
|
const identityUserMock = {
|
||||||
|
username: 'mock-username',
|
||||||
|
firstName: 'fake-identity-first-name',
|
||||||
|
lastName: 'fake-identity-last-name',
|
||||||
|
email: 'fakeIdentity@email.com'
|
||||||
|
};
|
||||||
|
|
||||||
|
const fakeProcessFilter: ProcessFilterCloudModel = {
|
||||||
|
name: 'MOCK_PROCESS_NAME_1',
|
||||||
|
id: '1',
|
||||||
|
key: 'all-mock-process',
|
||||||
|
icon: 'adjust',
|
||||||
|
appName: 'mock-appName',
|
||||||
|
sort: 'startDate',
|
||||||
|
status: 'MOCK_ALL',
|
||||||
|
order: 'DESC',
|
||||||
|
index: 2,
|
||||||
|
processName: 'process-name',
|
||||||
|
processInstanceId: 'processinstanceid',
|
||||||
|
initiator: 'mockuser',
|
||||||
|
processDefinitionId: 'processDefid',
|
||||||
|
processDefinitionKey: 'processDefKey',
|
||||||
|
lastModified: null,
|
||||||
|
lastModifiedTo: null,
|
||||||
|
lastModifiedFrom: null
|
||||||
|
};
|
||||||
|
|
||||||
|
const fakeProcessCloudFilterEntries = {
|
||||||
|
list: {
|
||||||
|
entries: [
|
||||||
|
{
|
||||||
|
entry: {
|
||||||
|
key: 'process-filters-mock-appName-mock-username',
|
||||||
|
value: JSON.stringify([
|
||||||
|
{
|
||||||
|
name: 'MOCK_PROCESS_NAME_1',
|
||||||
|
id: '1',
|
||||||
|
key: 'all-mock-process',
|
||||||
|
icon: 'adjust',
|
||||||
|
appName: 'mock-appName',
|
||||||
|
sort: 'startDate',
|
||||||
|
status: 'MOCK_ALL',
|
||||||
|
order: 'DESC'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'MOCK_PROCESS_NAME_2',
|
||||||
|
id: '2',
|
||||||
|
key: 'run-mock-process',
|
||||||
|
icon: 'adjust',
|
||||||
|
appName: 'mock-appName',
|
||||||
|
sort: 'startDate',
|
||||||
|
status: 'MOCK-RUNNING',
|
||||||
|
order: 'DESC'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'MOCK_PROCESS_NAME_3',
|
||||||
|
id: '3',
|
||||||
|
key: 'complete-mock-process',
|
||||||
|
icon: 'adjust',
|
||||||
|
appName: 'mock-appName',
|
||||||
|
sort: 'startDate',
|
||||||
|
status: 'MOCK-COMPLETED',
|
||||||
|
order: 'DESC'
|
||||||
|
}
|
||||||
|
])
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
entry: {
|
||||||
|
key: 'mock-key-2',
|
||||||
|
value: {
|
||||||
|
name: 'MOCK_PROCESS_NAME_2',
|
||||||
|
id: '2',
|
||||||
|
key: 'run-mock-process',
|
||||||
|
icon: 'adjust',
|
||||||
|
appName: 'mock-appName',
|
||||||
|
sort: 'startDate',
|
||||||
|
status: 'MOCK-RUNNING',
|
||||||
|
order: 'DESC'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
entry: {
|
||||||
|
key: 'mock-key-3',
|
||||||
|
value: {
|
||||||
|
name: 'MOCK_PROCESS_NAME_3',
|
||||||
|
id: '3',
|
||||||
|
key: 'complete-mock-process',
|
||||||
|
icon: 'adjust',
|
||||||
|
appName: 'mock-appName',
|
||||||
|
sort: 'startDate',
|
||||||
|
status: 'MOCK-COMPLETED',
|
||||||
|
order: 'DESC'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
pagination: {
|
||||||
|
skipCount: 0,
|
||||||
|
maxItems: 100,
|
||||||
|
count: 3,
|
||||||
|
hasMoreItems: false,
|
||||||
|
totalItems: 3
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const fakeEmptyProcessCloudFilterEntries = {
|
||||||
|
list: {
|
||||||
|
entries: [],
|
||||||
|
pagination: {
|
||||||
|
skipCount: 0,
|
||||||
|
maxItems: 100,
|
||||||
|
count: 0,
|
||||||
|
hasMoreItems: false,
|
||||||
|
totalItems: 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const fakeProcessCloudFilterWithDifferentEntries = {
|
||||||
|
list: {
|
||||||
|
entries: [
|
||||||
|
{
|
||||||
|
entry: {
|
||||||
|
key: 'my-mock-key-1',
|
||||||
|
value: 'my-mock-value-2'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
entry: {
|
||||||
|
key: 'my-mock-key-2',
|
||||||
|
value: 'my-mock-key-2'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
pagination: {
|
||||||
|
skipCount: 0,
|
||||||
|
maxItems: 100,
|
||||||
|
count: 4,
|
||||||
|
hasMoreItems: false,
|
||||||
|
totalItems: 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const fakeProcessCloudFilters = [
|
||||||
|
{
|
||||||
|
name: 'MOCK_PROCESS_NAME_1',
|
||||||
|
id: '1',
|
||||||
|
key: 'all-mock-process',
|
||||||
|
icon: 'adjust',
|
||||||
|
appName: 'mock-appName',
|
||||||
|
sort: 'startDate',
|
||||||
|
status: 'MOCK_ALL',
|
||||||
|
order: 'DESC'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'MOCK_PROCESS_NAME_2',
|
||||||
|
id: '2',
|
||||||
|
key: 'run-mock-process',
|
||||||
|
icon: 'adjust',
|
||||||
|
appName: 'mock-appName',
|
||||||
|
sort: 'startDate',
|
||||||
|
status: 'MOCK-RUNNING',
|
||||||
|
order: 'DESC'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'MOCK_PROCESS_NAME_3',
|
||||||
|
id: '3',
|
||||||
|
key: 'complete-mock-process',
|
||||||
|
icon: 'adjust',
|
||||||
|
appName: 'mock-appName',
|
||||||
|
sort: 'startDate',
|
||||||
|
status: 'MOCK-COMPLETED',
|
||||||
|
order: 'DESC'
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
setupTestBed({
|
setupTestBed({
|
||||||
imports: [
|
imports: [
|
||||||
|
@ -38,7 +38,7 @@ export class ProcessHeaderCloudComponent implements OnChanges, OnInit {
|
|||||||
@Input()
|
@Input()
|
||||||
processInstanceId: string;
|
processInstanceId: string;
|
||||||
|
|
||||||
processInstanceDetails: ProcessInstanceCloud = new ProcessInstanceCloud();
|
processInstanceDetails: ProcessInstanceCloud;
|
||||||
properties: CardViewItem[];
|
properties: CardViewItem[];
|
||||||
dateFormat: string;
|
dateFormat: string;
|
||||||
dateLocale: string;
|
dateLocale: string;
|
||||||
@ -56,7 +56,7 @@ export class ProcessHeaderCloudComponent implements OnChanges, OnInit {
|
|||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.processCloudService.dataChangesDetected
|
this.processCloudService.dataChangesDetected
|
||||||
.pipe(takeUntil(this.onDestroy$))
|
.pipe(takeUntil(this.onDestroy$))
|
||||||
.subscribe((processDetails: ProcessInstanceCloud) => {
|
.subscribe((processDetails) => {
|
||||||
this.processInstanceDetails = processDetails;
|
this.processInstanceDetails = processDetails;
|
||||||
this.refreshData();
|
this.refreshData();
|
||||||
});
|
});
|
||||||
@ -155,5 +155,4 @@ export class ProcessHeaderCloudComponent implements OnChanges, OnInit {
|
|||||||
this.onDestroy$.next(true);
|
this.onDestroy$.next(true);
|
||||||
this.onDestroy$.complete();
|
this.onDestroy$.complete();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -45,10 +45,10 @@ export class ProcessCloudService extends BaseCloudService {
|
|||||||
if (appName && processInstanceId) {
|
if (appName && processInstanceId) {
|
||||||
const url = `${this.getBasePath(appName)}/query/v1/process-instances/${processInstanceId}`;
|
const url = `${this.getBasePath(appName)}/query/v1/process-instances/${processInstanceId}`;
|
||||||
|
|
||||||
return this.get(url).pipe(
|
return this.get<{ entry: ProcessInstanceCloud }>(url).pipe(
|
||||||
map((res: any) => {
|
map((res) => {
|
||||||
this.dataChangesDetected.next(res.entry);
|
this.dataChangesDetected.next(res.entry);
|
||||||
return new ProcessInstanceCloud(res.entry);
|
return res.entry;
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
@ -69,7 +69,7 @@ export class ProcessCloudService extends BaseCloudService {
|
|||||||
return this.delete(queryUrl).pipe(
|
return this.delete(queryUrl).pipe(
|
||||||
map((res: any) => {
|
map((res: any) => {
|
||||||
this.dataChangesDetected.next(res.entry);
|
this.dataChangesDetected.next(res.entry);
|
||||||
return new ProcessInstanceCloud(res.entry);
|
return res.entry;
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
|
@ -377,7 +377,7 @@ export class StartProcessCloudComponent implements OnChanges, OnInit, OnDestroy
|
|||||||
|
|
||||||
processDefinitionSelectionChanged(processDefinition: ProcessDefinitionCloud) {
|
processDefinitionSelectionChanged(processDefinition: ProcessDefinitionCloud) {
|
||||||
if (processDefinition) {
|
if (processDefinition) {
|
||||||
const processInstanceDetails = new ProcessInstanceCloud({ processDefinitionName: processDefinition.name });
|
const processInstanceDetails: ProcessInstanceCloud = { processDefinitionName: processDefinition.name };
|
||||||
const defaultProcessName = this.processNameCloudPipe.transform(this.name, processInstanceDetails);
|
const defaultProcessName = this.processNameCloudPipe.transform(this.name, processInstanceDetails);
|
||||||
this.processInstanceName.setValue(defaultProcessName);
|
this.processInstanceName.setValue(defaultProcessName);
|
||||||
this.processInstanceName.markAsDirty();
|
this.processInstanceName.markAsDirty();
|
||||||
|
@ -19,21 +19,19 @@ import { ProcessInstanceCloud } from '../models/process-instance-cloud.model';
|
|||||||
import { ProcessPayloadCloud } from '../models/process-payload-cloud.model';
|
import { ProcessPayloadCloud } from '../models/process-payload-cloud.model';
|
||||||
import { ProcessDefinitionCloud } from '../models/process-definition-cloud.model';
|
import { ProcessDefinitionCloud } from '../models/process-definition-cloud.model';
|
||||||
|
|
||||||
export let fakeProcessInstance = new ProcessInstanceCloud({
|
export const fakeProcessInstance: ProcessInstanceCloud = {
|
||||||
appName: 'simple-app',
|
appName: 'simple-app',
|
||||||
appVersion: '',
|
|
||||||
id: 'd0b30377-dc5a-11e8-ae24-0a58646001fa',
|
id: 'd0b30377-dc5a-11e8-ae24-0a58646001fa',
|
||||||
name: 'My Process Name',
|
name: 'My Process Name',
|
||||||
startDate: '2018-10-30T15:45:24.136+0000',
|
startDate: new Date('2018-10-30T15:45:24.136+0000'),
|
||||||
initiator: 'usermock',
|
initiator: 'usermock',
|
||||||
status: 'RUNNING',
|
status: 'RUNNING',
|
||||||
processDefinitionId: 'BasicProcess:1:d05062f1-c6fb-11e8-ae24-0a58646001fa',
|
processDefinitionId: 'BasicProcess:1:d05062f1-c6fb-11e8-ae24-0a58646001fa',
|
||||||
processDefinitionKey: 'BasicProcess'
|
processDefinitionKey: 'BasicProcess'
|
||||||
});
|
};
|
||||||
|
|
||||||
export let fakeCreatedProcessInstance = new ProcessInstanceCloud({
|
export const fakeCreatedProcessInstance: ProcessInstanceCloud = {
|
||||||
appName: 'simple-app',
|
appName: 'simple-app',
|
||||||
appVersion: '',
|
|
||||||
id: 'd0b30377-dc5a-11e8-ae24-0a58646001fa',
|
id: 'd0b30377-dc5a-11e8-ae24-0a58646001fa',
|
||||||
name: 'My Process Name',
|
name: 'My Process Name',
|
||||||
startDate: null,
|
startDate: null,
|
||||||
@ -41,9 +39,9 @@ export let fakeCreatedProcessInstance = new ProcessInstanceCloud({
|
|||||||
status: 'CREATED',
|
status: 'CREATED',
|
||||||
processDefinitionId: 'BasicProcess:1:d05062f1-c6fb-11e8-ae24-0a58646001fa',
|
processDefinitionId: 'BasicProcess:1:d05062f1-c6fb-11e8-ae24-0a58646001fa',
|
||||||
processDefinitionKey: 'BasicProcess'
|
processDefinitionKey: 'BasicProcess'
|
||||||
});
|
};
|
||||||
|
|
||||||
export let fakeProcessDefinitions: ProcessDefinitionCloud[] = [
|
export const fakeProcessDefinitions: ProcessDefinitionCloud[] = [
|
||||||
new ProcessDefinitionCloud({
|
new ProcessDefinitionCloud({
|
||||||
appName: 'myApp',
|
appName: 'myApp',
|
||||||
appVersion: 0,
|
appVersion: 0,
|
||||||
@ -100,7 +98,7 @@ export function fakeSingleProcessDefinitionWithoutForm(name: string): ProcessDef
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
export let fakeNoNameProcessDefinitions: ProcessDefinitionCloud[] = [
|
export const fakeNoNameProcessDefinitions: ProcessDefinitionCloud[] = [
|
||||||
new ProcessDefinitionCloud({
|
new ProcessDefinitionCloud({
|
||||||
appName: 'myApp',
|
appName: 'myApp',
|
||||||
appVersion: 0,
|
appVersion: 0,
|
||||||
@ -117,13 +115,13 @@ export let fakeNoNameProcessDefinitions: ProcessDefinitionCloud[] = [
|
|||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
export let fakeProcessPayload = new ProcessPayloadCloud({
|
export const fakeProcessPayload = new ProcessPayloadCloud({
|
||||||
processDefinitionKey: 'NewProcess:1',
|
processDefinitionKey: 'NewProcess:1',
|
||||||
name: 'NewProcess 1',
|
name: 'NewProcess 1',
|
||||||
payloadType: 'string'
|
payloadType: 'string'
|
||||||
});
|
});
|
||||||
|
|
||||||
export let fakeStartForm = {
|
export const fakeStartForm = {
|
||||||
'formRepresentation': {
|
'formRepresentation': {
|
||||||
'id': 'form-de8895be-d0d7-4434-beef-559b15305d72',
|
'id': 'form-de8895be-d0d7-4434-beef-559b15305d72',
|
||||||
'name': 'StartEventForm',
|
'name': 'StartEventForm',
|
||||||
@ -187,7 +185,7 @@ export let fakeStartForm = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export let fakeStartFormNotValid = {
|
export const fakeStartFormNotValid = {
|
||||||
'formRepresentation': {
|
'formRepresentation': {
|
||||||
'id': 'form-a5d50817-5183-4850-802d-17af54b2632f',
|
'id': 'form-a5d50817-5183-4850-802d-17af54b2632f',
|
||||||
'name': 'simpleform',
|
'name': 'simpleform',
|
||||||
|
@ -15,32 +15,17 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export class ProcessInstanceCloud {
|
export interface ProcessInstanceCloud {
|
||||||
appName: string;
|
appName?: string;
|
||||||
id: string;
|
id?: string;
|
||||||
name: string;
|
name?: string;
|
||||||
startDate: Date;
|
startDate?: Date;
|
||||||
initiator: string;
|
initiator?: string;
|
||||||
status: string;
|
status?: string;
|
||||||
businessKey: string;
|
businessKey?: string;
|
||||||
lastModified: Date;
|
lastModified?: Date;
|
||||||
parentId: string;
|
parentId?: string;
|
||||||
processDefinitionId: string;
|
processDefinitionId?: string;
|
||||||
processDefinitionKey: string;
|
processDefinitionKey?: string;
|
||||||
processDefinitionName: string;
|
processDefinitionName?: string;
|
||||||
|
|
||||||
constructor(obj?: any) {
|
|
||||||
this.appName = obj && obj.appName || null;
|
|
||||||
this.id = obj && obj.id || null;
|
|
||||||
this.name = obj && obj.name || null;
|
|
||||||
this.startDate = obj && obj.startDate || null;
|
|
||||||
this.initiator = obj && obj.initiator || null;
|
|
||||||
this.status = obj && obj.status || null;
|
|
||||||
this.businessKey = obj && obj.businessKey || null;
|
|
||||||
this.lastModified = obj && obj.lastModified || null;
|
|
||||||
this.parentId = obj && obj.parentId || null;
|
|
||||||
this.processDefinitionId = obj && obj.processDefinitionId || null;
|
|
||||||
this.processDefinitionKey = obj && obj.processDefinitionKey || null;
|
|
||||||
this.processDefinitionName = obj && obj.processDefinitionName || null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,6 @@ import { of, throwError } from 'rxjs';
|
|||||||
import { setupTestBed, AlfrescoApiService } from '@alfresco/adf-core';
|
import { setupTestBed, AlfrescoApiService } from '@alfresco/adf-core';
|
||||||
import { StartProcessCloudService } from './start-process-cloud.service';
|
import { StartProcessCloudService } from './start-process-cloud.service';
|
||||||
import { fakeProcessPayload } from '../mock/start-process.component.mock';
|
import { fakeProcessPayload } from '../mock/start-process.component.mock';
|
||||||
import { ProcessInstanceCloud } from '../models/process-instance-cloud.model';
|
|
||||||
import { HttpErrorResponse, HttpClientModule } from '@angular/common/http';
|
import { HttpErrorResponse, HttpClientModule } from '@angular/common/http';
|
||||||
import { ProcessDefinitionCloud } from '../models/process-definition-cloud.model';
|
import { ProcessDefinitionCloud } from '../models/process-definition-cloud.model';
|
||||||
|
|
||||||
@ -39,7 +38,7 @@ describe('StartProcessCloudService', () => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
setupTestBed({
|
setupTestBed({
|
||||||
imports: [HttpClientModule]
|
imports: [HttpClientModule]
|
||||||
@ -54,7 +53,7 @@ describe('StartProcessCloudService', () => {
|
|||||||
spyOn(service, 'startProcess').and.returnValue(of({ id: 'fake-id', name: 'fake-name' }));
|
spyOn(service, 'startProcess').and.returnValue(of({ id: 'fake-id', name: 'fake-name' }));
|
||||||
service.startProcess('appName1', fakeProcessPayload)
|
service.startProcess('appName1', fakeProcessPayload)
|
||||||
.subscribe(
|
.subscribe(
|
||||||
(res: ProcessInstanceCloud) => {
|
(res) => {
|
||||||
expect(res).toBeDefined();
|
expect(res).toBeDefined();
|
||||||
expect(res.id).toEqual('fake-id');
|
expect(res.id).toEqual('fake-id');
|
||||||
expect(res.name).toEqual('fake-name');
|
expect(res.name).toEqual('fake-name');
|
||||||
@ -119,7 +118,7 @@ describe('StartProcessCloudService', () => {
|
|||||||
spyOn(service, 'createProcess').and.returnValue(of({ id: 'fake-id', name: 'fake-name', status: 'CREATED' }));
|
spyOn(service, 'createProcess').and.returnValue(of({ id: 'fake-id', name: 'fake-name', status: 'CREATED' }));
|
||||||
service.createProcess('appName1', fakeProcessPayload)
|
service.createProcess('appName1', fakeProcessPayload)
|
||||||
.subscribe(
|
.subscribe(
|
||||||
(res: ProcessInstanceCloud) => {
|
(res) => {
|
||||||
expect(res).toBeDefined();
|
expect(res).toBeDefined();
|
||||||
expect(res.id).toEqual('fake-id');
|
expect(res.id).toEqual('fake-id');
|
||||||
expect(res.name).toEqual('fake-name');
|
expect(res.name).toEqual('fake-name');
|
||||||
@ -133,7 +132,7 @@ describe('StartProcessCloudService', () => {
|
|||||||
spyOn(service, 'startCreatedProcess').and.returnValue(of({ id: 'fake-id', name: 'fake-name', status: 'RUNNING' }));
|
spyOn(service, 'startCreatedProcess').and.returnValue(of({ id: 'fake-id', name: 'fake-name', status: 'RUNNING' }));
|
||||||
service.startCreatedProcess('appName1', 'fake-id', fakeProcessPayload)
|
service.startCreatedProcess('appName1', 'fake-id', fakeProcessPayload)
|
||||||
.subscribe(
|
.subscribe(
|
||||||
(res: ProcessInstanceCloud) => {
|
(res) => {
|
||||||
expect(res).toBeDefined();
|
expect(res).toBeDefined();
|
||||||
expect(res.id).toEqual('fake-id');
|
expect(res.id).toEqual('fake-id');
|
||||||
expect(res.name).toEqual('fake-name');
|
expect(res.name).toEqual('fake-name');
|
||||||
@ -147,7 +146,7 @@ describe('StartProcessCloudService', () => {
|
|||||||
spyOn(alfrescoApiService, 'getInstance').and.returnValue(mock);
|
spyOn(alfrescoApiService, 'getInstance').and.returnValue(mock);
|
||||||
service.startCreatedProcess('appName1', 'fake-id', fakeProcessPayload)
|
service.startCreatedProcess('appName1', 'fake-id', fakeProcessPayload)
|
||||||
.subscribe(
|
.subscribe(
|
||||||
(res: ProcessInstanceCloud) => {
|
(res) => {
|
||||||
expect(res).toBeDefined();
|
expect(res).toBeDefined();
|
||||||
expect(res.id).toEqual('fake-id');
|
expect(res.id).toEqual('fake-id');
|
||||||
expect(res.name).toEqual('fake-name');
|
expect(res.name).toEqual('fake-name');
|
||||||
|
@ -66,8 +66,7 @@ export class StartProcessCloudService extends BaseCloudService {
|
|||||||
payload.payloadType = 'CreateProcessInstancePayload';
|
payload.payloadType = 'CreateProcessInstancePayload';
|
||||||
|
|
||||||
return this.post(url, payload).pipe(
|
return this.post(url, payload).pipe(
|
||||||
map((result: any) => result.entry),
|
map((result: any) => result.entry)
|
||||||
map(processInstance => new ProcessInstanceCloud(processInstance))
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -80,8 +79,7 @@ export class StartProcessCloudService extends BaseCloudService {
|
|||||||
const url = `${this.getBasePath(appName)}/rb/v1/process-instances/${createdProcessInstanceId}/start`;
|
const url = `${this.getBasePath(appName)}/rb/v1/process-instances/${createdProcessInstanceId}/start`;
|
||||||
|
|
||||||
return this.post(url, payload).pipe(
|
return this.post(url, payload).pipe(
|
||||||
map((result: any) => result.entry),
|
map((result: any) => result.entry)
|
||||||
map(processInstance => new ProcessInstanceCloud(processInstance))
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -95,9 +93,7 @@ export class StartProcessCloudService extends BaseCloudService {
|
|||||||
const url = `${this.getBasePath(appName)}/rb/v1/process-instances`;
|
const url = `${this.getBasePath(appName)}/rb/v1/process-instances`;
|
||||||
payload.payloadType = 'StartProcessPayload';
|
payload.payloadType = 'StartProcessPayload';
|
||||||
|
|
||||||
return this.post(url, payload).pipe(
|
return this.post(url, payload);
|
||||||
map(processInstance => new ProcessInstanceCloud(processInstance))
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -112,9 +108,7 @@ export class StartProcessCloudService extends BaseCloudService {
|
|||||||
payload.payloadType = 'UpdateProcessPayload';
|
payload.payloadType = 'UpdateProcessPayload';
|
||||||
|
|
||||||
return this.put(url, payload).pipe(
|
return this.put(url, payload).pipe(
|
||||||
map((processInstance: any) => {
|
map((processInstance: any) => processInstance.entry)
|
||||||
return new ProcessInstanceCloud(processInstance.entry);
|
|
||||||
})
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
99
package-lock.json
generated
99
package-lock.json
generated
@ -48,19 +48,19 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@angular-devkit/architect": {
|
"@angular-devkit/architect": {
|
||||||
"version": "0.901.9",
|
"version": "0.901.11",
|
||||||
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.9.tgz",
|
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.11.tgz",
|
||||||
"integrity": "sha512-Xokyh7bv4qICHpb5Xui1jPTi6ZZvzR5tbTIxT0DFWqw16TEkFgkNubQsW6mFSR3g3CXdySMfOwWExfa/rE1ggA==",
|
"integrity": "sha512-RmYOq1VEJdQLzwMno+C56WtgscAtoR/7i4tX5b5VxRa2RmQKTxowllYWwgrF5445VGUqzap9H6zJFXvlY2FA0w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@angular-devkit/core": "9.1.9",
|
"@angular-devkit/core": "9.1.11",
|
||||||
"rxjs": "6.5.4"
|
"rxjs": "6.5.4"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@angular-devkit/core": {
|
"@angular-devkit/core": {
|
||||||
"version": "9.1.9",
|
"version": "9.1.11",
|
||||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.9.tgz",
|
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.11.tgz",
|
||||||
"integrity": "sha512-SWgBh4an/Vezjw2BZ5S+bKvuK5lH6gOtR8d5YjN9vxpJSZ0GimrGjfnLlWOkwWAsU8jfn4JzofECUHwX/7EW6Q==",
|
"integrity": "sha512-uiEkDvWfMgPHuO4jVgBEr9Kl/LuxHaWYGD2ZtKsOnnHYZyRGp61ot7UcDF+KNdXTiq01JJH84VTd3IttEewmhQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"ajv": "6.12.0",
|
"ajv": "6.12.0",
|
||||||
@ -89,14 +89,6 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "^1.9.0"
|
"tslib": "^1.9.0"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"tslib": {
|
|
||||||
"version": "1.13.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
|
|
||||||
"integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
|
|
||||||
"dev": true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"source-map": {
|
"source-map": {
|
||||||
@ -104,6 +96,12 @@
|
|||||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
|
||||||
"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
|
"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
|
},
|
||||||
|
"tslib": {
|
||||||
|
"version": "1.13.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
|
||||||
|
"integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
|
||||||
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -892,20 +890,20 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@angular-devkit/schematics": {
|
"@angular-devkit/schematics": {
|
||||||
"version": "9.1.9",
|
"version": "9.1.11",
|
||||||
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.1.9.tgz",
|
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.1.11.tgz",
|
||||||
"integrity": "sha512-aKuMmS3wshOTl9+01jiB50ml09fRN1WfOOtoNqwvKTEi87DrT6Mn3l0eVQo8PJK/bIq/FBmPgsIl2nsETiBSxg==",
|
"integrity": "sha512-1A3Oryhl8hpibJK2J5j2FYNzjfvBJcR4wuNRKzl27kBvVsdRXLQzMD3aAgqFvlMgUWhloQs4tZwuinu0E2VP1A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@angular-devkit/core": "9.1.9",
|
"@angular-devkit/core": "9.1.11",
|
||||||
"ora": "4.0.3",
|
"ora": "4.0.3",
|
||||||
"rxjs": "6.5.4"
|
"rxjs": "6.5.4"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@angular-devkit/core": {
|
"@angular-devkit/core": {
|
||||||
"version": "9.1.9",
|
"version": "9.1.11",
|
||||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.9.tgz",
|
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.11.tgz",
|
||||||
"integrity": "sha512-SWgBh4an/Vezjw2BZ5S+bKvuK5lH6gOtR8d5YjN9vxpJSZ0GimrGjfnLlWOkwWAsU8jfn4JzofECUHwX/7EW6Q==",
|
"integrity": "sha512-uiEkDvWfMgPHuO4jVgBEr9Kl/LuxHaWYGD2ZtKsOnnHYZyRGp61ot7UcDF+KNdXTiq01JJH84VTd3IttEewmhQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"ajv": "6.12.0",
|
"ajv": "6.12.0",
|
||||||
@ -934,14 +932,6 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "^1.9.0"
|
"tslib": "^1.9.0"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"tslib": {
|
|
||||||
"version": "1.13.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
|
|
||||||
"integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
|
|
||||||
"dev": true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"source-map": {
|
"source-map": {
|
||||||
@ -949,6 +939,12 @@
|
|||||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
|
||||||
"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
|
"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
|
},
|
||||||
|
"tslib": {
|
||||||
|
"version": "1.13.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
|
||||||
|
"integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
|
||||||
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -3871,17 +3867,18 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@nrwl/workspace": {
|
"@nrwl/workspace": {
|
||||||
"version": "9.3.0",
|
"version": "9.5.1",
|
||||||
"resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-9.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-9.5.1.tgz",
|
||||||
"integrity": "sha512-IXIWnximAQDpFxifZzETFyF58ul5t4kIAojlwxoF/V9BGAnIwlMxodcsPmqXp1b25vX8w6ir5DeHN+Efz1YuGg==",
|
"integrity": "sha512-lUaK4U8qRJijWhgje71pjGHxI+aaXKlYh4ROgC2i/k6pJ1CEMEwdIIaK7Hl4u3Q/NJHmtXobZd/nBAqsNLB5vg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@angular-devkit/core": "~9.1.0",
|
"@angular-devkit/core": "~9.1.0",
|
||||||
"@angular-devkit/schematics": "~9.1.0",
|
"@angular-devkit/schematics": "~9.1.0",
|
||||||
"@nrwl/cli": "9.3.0",
|
"@nrwl/cli": "9.5.1",
|
||||||
"axios": "0.19.2",
|
"axios": "0.19.2",
|
||||||
"chalk": "2.4.2",
|
"chalk": "2.4.2",
|
||||||
"cosmiconfig": "4.0.0",
|
"cosmiconfig": "4.0.0",
|
||||||
|
"dotenv": "8.2.0",
|
||||||
"fs-extra": "6.0.0",
|
"fs-extra": "6.0.0",
|
||||||
"hasha": "5.1.0",
|
"hasha": "5.1.0",
|
||||||
"ignore": "5.0.4",
|
"ignore": "5.0.4",
|
||||||
@ -3896,9 +3893,9 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@angular-devkit/core": {
|
"@angular-devkit/core": {
|
||||||
"version": "9.1.9",
|
"version": "9.1.11",
|
||||||
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.9.tgz",
|
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.11.tgz",
|
||||||
"integrity": "sha512-SWgBh4an/Vezjw2BZ5S+bKvuK5lH6gOtR8d5YjN9vxpJSZ0GimrGjfnLlWOkwWAsU8jfn4JzofECUHwX/7EW6Q==",
|
"integrity": "sha512-uiEkDvWfMgPHuO4jVgBEr9Kl/LuxHaWYGD2ZtKsOnnHYZyRGp61ot7UcDF+KNdXTiq01JJH84VTd3IttEewmhQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"ajv": "6.12.0",
|
"ajv": "6.12.0",
|
||||||
@ -3915,25 +3912,17 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "^1.9.0"
|
"tslib": "^1.9.0"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"tslib": {
|
|
||||||
"version": "1.13.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
|
|
||||||
"integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
|
|
||||||
"dev": true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@nrwl/cli": {
|
"@nrwl/cli": {
|
||||||
"version": "9.3.0",
|
"version": "9.5.1",
|
||||||
"resolved": "https://registry.npmjs.org/@nrwl/cli/-/cli-9.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@nrwl/cli/-/cli-9.5.1.tgz",
|
||||||
"integrity": "sha512-S3fZg9g/+sVovoEwW00i1MiRQ70BWu55rsHyl8PxN+cciNOnnWP88IjZFnRreoLUnRaNhOlOE8AEp7q2x0M38A==",
|
"integrity": "sha512-HldjuqLgeBZL6a0IheAiiIusZAvBrt61Fi+3lJh5lMm7GyDZ1D76ScQaMsPZ4+ezg/mHs+opxJ1GCLbSujzu/w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@nrwl/tao": "9.3.0",
|
"@nrwl/tao": "9.5.1",
|
||||||
"chalk": "2.4.2",
|
"chalk": "2.4.2",
|
||||||
"tmp": "0.0.33",
|
"tmp": "0.0.33",
|
||||||
"yargs": "^11.0.0",
|
"yargs": "^11.0.0",
|
||||||
@ -3941,9 +3930,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@nrwl/tao": {
|
"@nrwl/tao": {
|
||||||
"version": "9.3.0",
|
"version": "9.5.1",
|
||||||
"resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-9.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-9.5.1.tgz",
|
||||||
"integrity": "sha512-jD8dt3sMFKMK4Z8WXEwRTF2AJ12u1v19L0Dhdp+KOETelf0BlzvIhEmgJx2vfcsGMe+oVzTTEwMnWsouXm6cMg==",
|
"integrity": "sha512-fEGWZqBpfBM2buo0wQqPBI0jTJlL6msziSkjEv6/PGDEZTQsgII6WovTthqOHqLwO+i4B8bUYCZPdG6Iopl0Gg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@angular-devkit/architect": "~0.901.0",
|
"@angular-devkit/architect": "~0.901.0",
|
||||||
@ -4147,6 +4136,12 @@
|
|||||||
"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
|
"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"tslib": {
|
||||||
|
"version": "1.13.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
|
||||||
|
"integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"wrap-ansi": {
|
"wrap-ansi": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
"author": "Alfresco Software, Ltd.",
|
"author": "Alfresco Software, Ltd.",
|
||||||
"main": "./index.js",
|
"main": "./index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"postinstall": "ngcc",
|
"postinstall": "ngcc && node ./decorate-angular-cli.js",
|
||||||
"ng": "ng",
|
"ng": "nx",
|
||||||
"concurrently": "concurrently",
|
"concurrently": "concurrently",
|
||||||
"ng-packagr": "node ./node_modules/ng-packagr/cli/main.js",
|
"ng-packagr": "node ./node_modules/ng-packagr/cli/main.js",
|
||||||
"webpack": "node ./node_modules/webpack/bin/webpack.js",
|
"webpack": "node ./node_modules/webpack/bin/webpack.js",
|
||||||
@ -112,7 +112,7 @@
|
|||||||
"@angular/cli": "^10.0.3",
|
"@angular/cli": "^10.0.3",
|
||||||
"@angular/compiler-cli": "^10.0.4",
|
"@angular/compiler-cli": "^10.0.4",
|
||||||
"@nrwl/schematics": "8.12.11",
|
"@nrwl/schematics": "8.12.11",
|
||||||
"@nrwl/workspace": "9.3.0",
|
"@nrwl/workspace": "9.5.1",
|
||||||
"@paperist/types-remark": "^0.1.3",
|
"@paperist/types-remark": "^0.1.3",
|
||||||
"@types/jasmine": "~2.8.3",
|
"@types/jasmine": "~2.8.3",
|
||||||
"@types/jasminewd2": "~2.0.2",
|
"@types/jasminewd2": "~2.0.2",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user