From 5a503603e786d5a188ac5a3754de2fadef6142c9 Mon Sep 17 00:00:00 2001 From: Denys Vuika Date: Fri, 20 Sep 2024 08:42:21 -0400 Subject: [PATCH] migrate cloud components --- .../directives/cancel-process.directive.ts | 28 +++++++--------- .../directives/process-directive.module.ts | 11 +++---- .../src/lib/process/process-cloud.module.ts | 6 ++-- .../start-task-cloud.component.spec.ts | 4 +-- .../components/start-task-cloud.component.ts | 32 +++++++++++++++++-- .../start-task/start-task-cloud.module.ts | 11 ++----- .../src/lib/task/task-cloud.module.ts | 20 ++++++++++-- 7 files changed, 68 insertions(+), 44 deletions(-) diff --git a/lib/process-services-cloud/src/lib/process/directives/cancel-process.directive.ts b/lib/process-services-cloud/src/lib/process/directives/cancel-process.directive.ts index 6084ebdbfa..afe5b4e523 100644 --- a/lib/process-services-cloud/src/lib/process/directives/cancel-process.directive.ts +++ b/lib/process-services-cloud/src/lib/process/directives/cancel-process.directive.ts @@ -23,11 +23,11 @@ import { ProcessInstanceCloud } from '../start-process/models/process-instance-c import { IdentityUserService } from '../../people/services/identity-user.service'; @Directive({ + standalone: true, // eslint-disable-next-line @angular-eslint/directive-selector selector: '[adf-cloud-cancel-process]' }) export class CancelProcessDirective implements OnInit, OnDestroy { - /** Emitted when the process is cancelled. */ @Output() success = new EventEmitter(); @@ -42,19 +42,14 @@ export class CancelProcessDirective implements OnInit, OnDestroy { private onDestroy$ = new Subject(); - constructor( - private elementRef: ElementRef, - private processCloudService: ProcessCloudService, - private identityUserService: IdentityUserService) {} + constructor(private elementRef: ElementRef, private processCloudService: ProcessCloudService, private identityUserService: IdentityUserService) {} ngOnInit() { - this.processCloudService.dataChangesDetected - .pipe(takeUntil(this.onDestroy$)) - .subscribe((processDetails) => { - this.processInstanceDetails = processDetails; - this.canCancelProcess = this.checkCanCancelProcess(); - this.setElementVisibility(); - }); + this.processCloudService.dataChangesDetected.pipe(takeUntil(this.onDestroy$)).subscribe((processDetails) => { + this.processInstanceDetails = processDetails; + this.canCancelProcess = this.checkCanCancelProcess(); + this.setElementVisibility(); + }); } @HostListener('click') @@ -73,11 +68,10 @@ export class CancelProcessDirective implements OnInit, OnDestroy { cancelProcess() { if (this.canCancelProcess) { - this.processCloudService.cancelProcess(this.processInstanceDetails.appName, this.processInstanceDetails.id) - .subscribe( - (response) => this.success.emit(response), - (error) => this.error.emit(error) - ); + this.processCloudService.cancelProcess(this.processInstanceDetails.appName, this.processInstanceDetails.id).subscribe( + (response) => this.success.emit(response), + (error) => this.error.emit(error) + ); } else { this.error.emit('Permission denied, only process initiator can cancel the process'); } diff --git a/lib/process-services-cloud/src/lib/process/directives/process-directive.module.ts b/lib/process-services-cloud/src/lib/process/directives/process-directive.module.ts index bcb15cb4cb..46bc435f12 100644 --- a/lib/process-services-cloud/src/lib/process/directives/process-directive.module.ts +++ b/lib/process-services-cloud/src/lib/process/directives/process-directive.module.ts @@ -18,12 +18,9 @@ import { NgModule } from '@angular/core'; import { CancelProcessDirective } from './cancel-process.directive'; +/** @deprecated use CancelProcessDirective instead */ @NgModule({ - declarations: [ - CancelProcessDirective - ], - exports: [ - CancelProcessDirective - ] + imports: [CancelProcessDirective], + exports: [CancelProcessDirective] }) -export class ProcessDirectiveModule { } +export class ProcessDirectiveModule {} diff --git a/lib/process-services-cloud/src/lib/process/process-cloud.module.ts b/lib/process-services-cloud/src/lib/process/process-cloud.module.ts index f5704a67da..502fcb2817 100644 --- a/lib/process-services-cloud/src/lib/process/process-cloud.module.ts +++ b/lib/process-services-cloud/src/lib/process/process-cloud.module.ts @@ -20,9 +20,9 @@ import { ProcessFiltersCloudModule } from './process-filters/process-filters-clo import { StartProcessCloudModule } from './start-process/start-process-cloud.module'; import { CoreModule, LocalizedDatePipe } from '@alfresco/adf-core'; import { ProcessHeaderCloudModule } from './process-header/process-header-cloud.module'; -import { ProcessDirectiveModule } from './directives/process-directive.module'; import { ProcessNameCloudPipe } from '../pipes/process-name-cloud.pipe'; import { ProcessListCloudComponent } from './process-list/components/process-list-cloud.component'; +import { CancelProcessDirective } from './directives/cancel-process.directive'; @NgModule({ imports: [ @@ -31,9 +31,9 @@ import { ProcessListCloudComponent } from './process-list/components/process-lis ProcessListCloudComponent, StartProcessCloudModule, ProcessHeaderCloudModule, - ProcessDirectiveModule + CancelProcessDirective ], - exports: [ProcessFiltersCloudModule, ProcessListCloudComponent, StartProcessCloudModule, ProcessHeaderCloudModule, ProcessDirectiveModule], + exports: [ProcessFiltersCloudModule, ProcessListCloudComponent, StartProcessCloudModule, ProcessHeaderCloudModule, CancelProcessDirective], providers: [ProcessNameCloudPipe, LocalizedDatePipe] }) export class ProcessCloudModule {} diff --git a/lib/process-services-cloud/src/lib/task/start-task/components/start-task-cloud.component.spec.ts b/lib/process-services-cloud/src/lib/task/start-task/components/start-task-cloud.component.spec.ts index 8adea7b11b..e8a991cd62 100644 --- a/lib/process-services-cloud/src/lib/task/start-task/components/start-task-cloud.component.spec.ts +++ b/lib/process-services-cloud/src/lib/task/start-task/components/start-task-cloud.component.spec.ts @@ -20,7 +20,6 @@ import { AlfrescoApiService } from '@alfresco/adf-content-services'; import { StartTaskCloudComponent } from './start-task-cloud.component'; import { of, throwError } from 'rxjs'; import { taskDetailsMock } from '../mock/task-details.mock'; -import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; import { ProcessServiceCloudTestingModule } from './../../../testing/process-service-cloud.testing.module'; import { FormDefinitionSelectorCloudService } from '../../../form/services/form-definition-selector-cloud.service'; import { TaskCloudService } from '../../services/task-cloud.service'; @@ -50,8 +49,7 @@ describe('StartTaskCloudComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [ProcessServiceCloudTestingModule], - schemas: [CUSTOM_ELEMENTS_SCHEMA] + imports: [ProcessServiceCloudTestingModule, StartTaskCloudComponent] }); fixture = TestBed.createComponent(StartTaskCloudComponent); component = fixture.componentInstance; diff --git a/lib/process-services-cloud/src/lib/task/start-task/components/start-task-cloud.component.ts b/lib/process-services-cloud/src/lib/task/start-task/components/start-task-cloud.component.ts index 5247bbf2b0..83d4ae92c7 100644 --- a/lib/process-services-cloud/src/lib/task/start-task/components/start-task-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/task/start-task/components/start-task-cloud.component.ts @@ -16,9 +16,9 @@ */ import { Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation, OnDestroy, ViewChild } from '@angular/core'; -import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core'; +import { DateAdapter, MAT_DATE_FORMATS, MatOptionModule } from '@angular/material/core'; import { Observable, Subject } from 'rxjs'; -import { UntypedFormBuilder, Validators, UntypedFormGroup, UntypedFormControl } from '@angular/forms'; +import { UntypedFormBuilder, Validators, UntypedFormGroup, UntypedFormControl, FormsModule, ReactiveFormsModule } from '@angular/forms'; import { DateFnsUtils, UserPreferencesService, UserPreferenceValues } from '@alfresco/adf-core'; import { PeopleCloudComponent } from '../../../people/components/people-cloud.component'; import { GroupCloudComponent } from '../../../group/components/group-cloud.component'; @@ -30,12 +30,40 @@ import { IdentityUserService } from '../../../people/services/identity-user.serv import { IdentityUserModel } from '../../../people/models/identity-user.model'; import { DateFnsAdapter, MAT_DATE_FNS_FORMATS } from '@angular/material-date-fns-adapter'; import { isValid, parse } from 'date-fns'; +import { CommonModule } from '@angular/common'; +import { TranslateModule } from '@ngx-translate/core'; +import { MatButtonModule } from '@angular/material/button'; +import { MatCardModule } from '@angular/material/card'; +import { FormDefinitionSelectorCloudComponent } from '../../../form/components/form-definition-selector-cloud.component'; +import { MatDatepickerModule } from '@angular/material/datepicker'; +import { MatFormFieldModule } from '@angular/material/form-field'; +import { MatInputModule } from '@angular/material/input'; +import { MatSelectModule } from '@angular/material/select'; +import { MatIconModule } from '@angular/material/icon'; const MAX_NAME_LENGTH = 255; const DATE_FORMAT: string = 'dd/MM/yyyy'; @Component({ selector: 'adf-cloud-start-task', + standalone: true, + imports: [ + CommonModule, + TranslateModule, + MatButtonModule, + MatCardModule, + FormDefinitionSelectorCloudComponent, + GroupCloudComponent, + PeopleCloudComponent, + MatDatepickerModule, + MatFormFieldModule, + MatInputModule, + FormsModule, + MatOptionModule, + MatSelectModule, + ReactiveFormsModule, + MatIconModule + ], templateUrl: './start-task-cloud.component.html', styleUrls: ['./start-task-cloud.component.scss'], providers: [ diff --git a/lib/process-services-cloud/src/lib/task/start-task/start-task-cloud.module.ts b/lib/process-services-cloud/src/lib/task/start-task/start-task-cloud.module.ts index 1527dc45b6..0cce117c41 100644 --- a/lib/process-services-cloud/src/lib/task/start-task/start-task-cloud.module.ts +++ b/lib/process-services-cloud/src/lib/task/start-task/start-task-cloud.module.ts @@ -16,18 +16,11 @@ */ import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { MaterialModule } from '../../material.module'; -import { CoreModule } from '@alfresco/adf-core'; import { StartTaskCloudComponent } from './components/start-task-cloud.component'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { FormCloudModule } from '../../form/form-cloud.module'; -import { PeopleCloudComponent } from '../../people/components/people-cloud.component'; -import { GroupCloudComponent } from '../../group/components/group-cloud.component'; +/** @deprecated use StartTaskCloudComponent instead */ @NgModule({ - imports: [CommonModule, MaterialModule, FormsModule, ReactiveFormsModule, GroupCloudComponent, CoreModule, FormCloudModule, PeopleCloudComponent], - declarations: [StartTaskCloudComponent], + imports: [StartTaskCloudComponent], exports: [StartTaskCloudComponent] }) export class StartTaskCloudModule {} diff --git a/lib/process-services-cloud/src/lib/task/task-cloud.module.ts b/lib/process-services-cloud/src/lib/task/task-cloud.module.ts index e0f35e3a06..ed458b4755 100644 --- a/lib/process-services-cloud/src/lib/task/task-cloud.module.ts +++ b/lib/process-services-cloud/src/lib/task/task-cloud.module.ts @@ -18,13 +18,27 @@ import { NgModule } from '@angular/core'; import { TaskListCloudModule } from './task-list/task-list-cloud.module'; import { TaskFiltersCloudModule } from './task-filters/task-filters-cloud.module'; -import { StartTaskCloudModule } from './start-task/start-task-cloud.module'; import { TaskHeaderCloudModule } from './task-header/task-header-cloud.module'; import { TaskDirectiveModule } from './directives/task-directive.module'; import { TaskFormCloudComponent } from './task-form/components/task-form-cloud.component'; +import { StartTaskCloudComponent } from './start-task/components/start-task-cloud.component'; @NgModule({ - imports: [TaskListCloudModule, TaskFiltersCloudModule, StartTaskCloudModule, TaskHeaderCloudModule, TaskDirectiveModule, TaskFormCloudComponent], - exports: [TaskListCloudModule, TaskFiltersCloudModule, StartTaskCloudModule, TaskHeaderCloudModule, TaskDirectiveModule, TaskFormCloudComponent] + imports: [ + TaskListCloudModule, + TaskFiltersCloudModule, + StartTaskCloudComponent, + TaskHeaderCloudModule, + TaskDirectiveModule, + TaskFormCloudComponent + ], + exports: [ + TaskListCloudModule, + TaskFiltersCloudModule, + StartTaskCloudComponent, + TaskHeaderCloudModule, + TaskDirectiveModule, + TaskFormCloudComponent + ] }) export class TaskCloudModule {}