migrate cloud components

This commit is contained in:
Denys Vuika
2024-10-02 09:57:27 -04:00
parent 3a6754c0f0
commit 5a503603e7
7 changed files with 68 additions and 44 deletions
@@ -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<any>();
@@ -42,19 +42,14 @@ export class CancelProcessDirective implements OnInit, OnDestroy {
private onDestroy$ = new Subject<boolean>();
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');
}
@@ -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 {}
@@ -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 {}
@@ -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;
@@ -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: [
@@ -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 {}
@@ -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 {}