diff --git a/lib/process-services-cloud/src/lib/process-services-cloud.module.ts b/lib/process-services-cloud/src/lib/process-services-cloud.module.ts index c823037dd3..13bcb5f611 100644 --- a/lib/process-services-cloud/src/lib/process-services-cloud.module.ts +++ b/lib/process-services-cloud/src/lib/process-services-cloud.module.ts @@ -18,7 +18,7 @@ import { NgModule, ModuleWithProviders } from '@angular/core'; import { CoreModule, FormRenderingService, provideTranslations } from '@alfresco/adf-core'; import { APP_LIST_CLOUD_DIRECTIVES } from './app/app-list-cloud.module'; -import { TaskCloudModule } from './task/task-cloud.module'; +import { TASK_CLOUD_DIRECTIVES } from './task/task-cloud.module'; import { ProcessCloudModule } from './process/process-cloud.module'; import { FormCloudModule } from './form/form-cloud.module'; import { @@ -48,7 +48,7 @@ import { TaskListCloudService } from './task/task-list/services/task-list-cloud. CoreModule, ...APP_LIST_CLOUD_DIRECTIVES, ProcessCloudModule, - TaskCloudModule, + ...TASK_CLOUD_DIRECTIVES, GroupCloudComponent, PeopleCloudComponent, FormCloudModule, @@ -61,7 +61,7 @@ import { TaskListCloudService } from './task/task-list/services/task-list-cloud. exports: [ ...APP_LIST_CLOUD_DIRECTIVES, ProcessCloudModule, - TaskCloudModule, + ...TASK_CLOUD_DIRECTIVES, GroupCloudComponent, FormCloudModule, TaskFormCloudComponent, 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 502fcb2817..2eced16fbc 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 @@ -18,7 +18,7 @@ import { NgModule } from '@angular/core'; import { ProcessFiltersCloudModule } from './process-filters/process-filters-cloud.module'; import { StartProcessCloudModule } from './start-process/start-process-cloud.module'; -import { CoreModule, LocalizedDatePipe } from '@alfresco/adf-core'; +import { CoreModule } from '@alfresco/adf-core'; import { ProcessHeaderCloudModule } from './process-header/process-header-cloud.module'; import { ProcessNameCloudPipe } from '../pipes/process-name-cloud.pipe'; import { ProcessListCloudComponent } from './process-list/components/process-list-cloud.component'; @@ -34,6 +34,6 @@ import { CancelProcessDirective } from './directives/cancel-process.directive'; CancelProcessDirective ], exports: [ProcessFiltersCloudModule, ProcessListCloudComponent, StartProcessCloudModule, ProcessHeaderCloudModule, CancelProcessDirective], - providers: [ProcessNameCloudPipe, LocalizedDatePipe] + providers: [ProcessNameCloudPipe] }) export class ProcessCloudModule {} 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 7bbe0933eb..65051f4327 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 @@ -16,7 +16,6 @@ */ import { NgModule } from '@angular/core'; -import { TaskListCloudModule } from './task-list/task-list-cloud.module'; import { TaskFiltersCloudModule } from './task-filters/task-filters-cloud.module'; import { TaskFormCloudComponent } from './task-form/components/task-form-cloud.component'; import { StartTaskCloudComponent } from './start-task/components/start-task-cloud.component'; @@ -24,27 +23,24 @@ import { TaskHeaderCloudComponent } from './task-header/components/task-header-c import { CompleteTaskDirective } from './directives/complete-task.directive'; import { ClaimTaskCloudDirective } from './directives/claim-task-cloud.directive'; import { UnClaimTaskCloudDirective } from './directives/unclaim-task-cloud.directive'; +import { TaskListCloudComponent } from './task-list/components/task-list-cloud.component'; +import { ServiceTaskListCloudComponent } from './task-list/components/service-task-list-cloud.component'; +export const TASK_CLOUD_DIRECTIVES = [ + TaskListCloudComponent, + ServiceTaskListCloudComponent, + TaskFiltersCloudModule, + StartTaskCloudComponent, + TaskHeaderCloudComponent, + TaskFormCloudComponent, + CompleteTaskDirective, + ClaimTaskCloudDirective, + UnClaimTaskCloudDirective +] as const; + +/** @deprecated import individual standalone components instead */ @NgModule({ - imports: [ - TaskListCloudModule, - TaskFiltersCloudModule, - StartTaskCloudComponent, - TaskHeaderCloudComponent, - TaskFormCloudComponent, - CompleteTaskDirective, - ClaimTaskCloudDirective, - UnClaimTaskCloudDirective - ], - exports: [ - TaskListCloudModule, - TaskFiltersCloudModule, - StartTaskCloudComponent, - TaskHeaderCloudComponent, - TaskFormCloudComponent, - CompleteTaskDirective, - ClaimTaskCloudDirective, - UnClaimTaskCloudDirective - ] + imports: [...TASK_CLOUD_DIRECTIVES], + exports: [...TASK_CLOUD_DIRECTIVES] }) export class TaskCloudModule {} diff --git a/lib/process-services-cloud/src/lib/task/task-list/components/service-task-list-cloud.component.spec.ts b/lib/process-services-cloud/src/lib/task/task-list/components/service-task-list-cloud.component.spec.ts index 078eb134ac..1ced3cf390 100644 --- a/lib/process-services-cloud/src/lib/task/task-list/components/service-task-list-cloud.component.spec.ts +++ b/lib/process-services-cloud/src/lib/task/task-list/components/service-task-list-cloud.component.spec.ts @@ -79,7 +79,7 @@ describe('ServiceTaskListCloudComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [ProcessServiceCloudTestingModule], + imports: [ProcessServiceCloudTestingModule, ServiceTaskListCloudComponent], declarations: [EmptyTemplateComponent] }); appConfig = TestBed.inject(AppConfigService); diff --git a/lib/process-services-cloud/src/lib/task/task-list/components/service-task-list-cloud.component.ts b/lib/process-services-cloud/src/lib/task/task-list/components/service-task-list-cloud.component.ts index 685985e0c0..ec66090d0a 100644 --- a/lib/process-services-cloud/src/lib/task/task-list/components/service-task-list-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/task/task-list/components/service-task-list-cloud.component.ts @@ -16,7 +16,16 @@ */ import { Component, ViewEncapsulation, Input, Inject, OnDestroy } from '@angular/core'; -import { AppConfigService, UserPreferencesService } from '@alfresco/adf-core'; +import { + AppConfigService, + ColumnsSelectorComponent, + DataTableComponent, + EmptyContentComponent, + LoadingContentTemplateDirective, + MainMenuDataTableTemplateDirective, + NoContentTemplateDirective, + UserPreferencesService +} from '@alfresco/adf-core'; import { ServiceTaskQueryCloudRequestModel } from '../models/service-task-cloud.model'; import { BaseTaskListCloudComponent } from './base-task-list-cloud.component'; import { ServiceTaskListCloudService } from '../services/service-task-list-cloud.service'; @@ -24,11 +33,26 @@ import { TaskCloudService } from '../../services/task-cloud.service'; import { Subject, combineLatest, BehaviorSubject } from 'rxjs'; import { PreferenceCloudServiceInterface, TASK_LIST_PREFERENCES_SERVICE_TOKEN } from '../../../services/public-api'; import { map, takeUntil } from 'rxjs/operators'; +import { CommonModule } from '@angular/common'; +import { TranslateModule } from '@ngx-translate/core'; +import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; const PRESET_KEY = 'adf-cloud-service-task-list.presets'; @Component({ selector: 'adf-cloud-service-task-list', + standalone: true, + imports: [ + CommonModule, + TranslateModule, + EmptyContentComponent, + NoContentTemplateDirective, + ColumnsSelectorComponent, + MainMenuDataTableTemplateDirective, + MatProgressSpinnerModule, + LoadingContentTemplateDirective, + DataTableComponent + ], templateUrl: './base-task-list-cloud.component.html', styleUrls: ['./base-task-list-cloud.component.scss'], encapsulation: ViewEncapsulation.None diff --git a/lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.spec.ts b/lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.spec.ts index a28dd37f7f..a809b68158 100644 --- a/lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.spec.ts +++ b/lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.spec.ts @@ -18,7 +18,17 @@ import { Component, SimpleChange, ViewChild } from '@angular/core'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { AppConfigService, DataRowEvent, ObjectDataRow, User, DataColumn, ColumnsSelectorComponent } from '@alfresco/adf-core'; +import { + AppConfigService, + DataRowEvent, + ObjectDataRow, + User, + DataColumn, + ColumnsSelectorComponent, + CustomEmptyContentTemplateDirective, + DataColumnComponent, + DataColumnListComponent +} from '@alfresco/adf-core'; import { TaskListCloudService } from '../services/task-list-cloud.service'; import { TaskListCloudComponent } from './task-list-cloud.component'; import { fakeGlobalTasks, fakeCustomSchema, fakeGlobalTask } from '../mock/fake-task-response.mock'; @@ -28,13 +38,14 @@ import { TaskListCloudSortingModel } from '../../../models/task-list-sorting.mod import { shareReplay, skip } from 'rxjs/operators'; import { TaskListCloudServiceInterface } from '../../../services/task-list-cloud.service.interface'; import { TASK_LIST_CLOUD_TOKEN, TASK_LIST_PREFERENCES_SERVICE_TOKEN } from '../../../services/cloud-token.service'; -import { TaskListCloudModule } from '../task-list-cloud.module'; import { PreferenceCloudServiceInterface } from '../../../services/preference-cloud.interface'; import { HarnessLoader } from '@angular/cdk/testing'; import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed'; import { MatProgressSpinnerHarness } from '@angular/material/progress-spinner/testing'; @Component({ + standalone: true, + imports: [DataColumnComponent, DataColumnListComponent, TaskListCloudComponent], template: ` @@ -76,7 +90,10 @@ class CustomTaskListComponent { ` }) class EmptyTemplateComponent {} + @Component({ + standalone: true, + imports: [DataColumnComponent, DataColumnListComponent, TaskListCloudComponent], template: ` @@ -500,8 +517,7 @@ describe('TaskListCloudComponent: Injecting custom colums for tasklist - CustomT beforeEach(() => { TestBed.configureTestingModule({ - imports: [ProcessServiceCloudTestingModule], - declarations: [CustomTaskListComponent, CustomCopyContentTaskListComponent] + imports: [ProcessServiceCloudTestingModule, CustomCopyContentTaskListComponent, CustomTaskListComponent] }); taskListCloudService = TestBed.inject(TASK_LIST_CLOUD_TOKEN); spyOn(taskListCloudService, 'getTaskByRequest').and.returnValue(of(fakeGlobalTasks)); @@ -554,7 +570,7 @@ describe('TaskListCloudComponent: Creating an empty custom template - EmptyTempl beforeEach(() => { TestBed.configureTestingModule({ - imports: [ProcessServiceCloudTestingModule, TaskListCloudModule] + imports: [ProcessServiceCloudTestingModule, EmptyTemplateComponent] }); taskListCloudService = TestBed.inject(TASK_LIST_CLOUD_TOKEN); const emptyList = { list: { entries: [] } }; diff --git a/lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.ts b/lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.ts index d8e10d445a..1f360c686e 100644 --- a/lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.ts @@ -16,14 +16,23 @@ */ import { Component, ViewEncapsulation, Input, Inject, OnDestroy } from '@angular/core'; -import { AppConfigService, UserPreferencesService } from '@alfresco/adf-core'; +import { + AppConfigService, + ColumnsSelectorComponent, + DataTableComponent, + EmptyContentComponent, + LoadingContentTemplateDirective, + MainMenuDataTableTemplateDirective, + NoContentTemplateDirective, + UserPreferencesService +} from '@alfresco/adf-core'; import { TaskQueryCloudRequestModel } from '../../../models/filter-cloud-model'; import { BaseTaskListCloudComponent } from './base-task-list-cloud.component'; import { TaskCloudService } from '../../services/task-cloud.service'; import { TASK_LIST_CLOUD_TOKEN, TASK_LIST_PREFERENCES_SERVICE_TOKEN } from '../../../services/cloud-token.service'; import { PreferenceCloudServiceInterface } from '../../../services/preference-cloud.interface'; import { TaskListCloudServiceInterface } from '../../../services/task-list-cloud.service.interface'; -import { Subject, of, BehaviorSubject, combineLatest } from 'rxjs'; +import { Subject, of, BehaviorSubject, combineLatest, Observable } from 'rxjs'; import { map, switchMap, takeUntil, tap } from 'rxjs/operators'; import { VariableMapperService } from '../../../services/variable-mapper.sevice'; import { ProcessListDataColumnCustomData } from '../../../models/data-column-custom-data'; @@ -31,11 +40,26 @@ import { TaskCloudModel } from '../../../models/task-cloud.model'; import { PaginatedEntries } from '@alfresco/js-api'; import { TaskInstanceCloudListViewModel } from '../models/task-cloud-view.model'; import { TasksListDatatableAdapter } from '../datatable/task-list-datatable-adapter'; +import { CommonModule } from '@angular/common'; +import { TranslateModule } from '@ngx-translate/core'; +import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; const PRESET_KEY = 'adf-cloud-task-list.presets'; @Component({ selector: 'adf-cloud-task-list', + standalone: true, + imports: [ + CommonModule, + TranslateModule, + EmptyContentComponent, + NoContentTemplateDirective, + ColumnsSelectorComponent, + MainMenuDataTableTemplateDirective, + MatProgressSpinnerModule, + LoadingContentTemplateDirective, + DataTableComponent + ], templateUrl: './base-task-list-cloud.component.html', styleUrls: ['./base-task-list-cloud.component.scss'], encapsulation: ViewEncapsulation.None @@ -151,7 +175,7 @@ export class TaskListCloudComponent extends BaseTaskListCloudComponent(false); - isLoading$ = combineLatest([this.isLoadingPreferences$, this.isReloadingSubject$]).pipe( + isLoading$: Observable = combineLatest([this.isLoadingPreferences$, this.isReloadingSubject$]).pipe( map(([isLoadingPreferences, isReloading]) => isLoadingPreferences || isReloading) ); diff --git a/lib/process-services-cloud/src/lib/task/task-list/task-list-cloud.module.ts b/lib/process-services-cloud/src/lib/task/task-list/task-list-cloud.module.ts index 8ac038a8ef..b5fad3f456 100644 --- a/lib/process-services-cloud/src/lib/task/task-list/task-list-cloud.module.ts +++ b/lib/process-services-cloud/src/lib/task/task-list/task-list-cloud.module.ts @@ -16,15 +16,12 @@ */ import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { MaterialModule } from '../../material.module'; import { TaskListCloudComponent } from './components/task-list-cloud.component'; import { ServiceTaskListCloudComponent } from './components/service-task-list-cloud.component'; -import { CoreModule } from '@alfresco/adf-core'; +/** @deprecated use individual standalone components instead */ @NgModule({ - imports: [CommonModule, MaterialModule, CoreModule], - declarations: [TaskListCloudComponent, ServiceTaskListCloudComponent], + imports: [TaskListCloudComponent, ServiceTaskListCloudComponent], exports: [TaskListCloudComponent, ServiceTaskListCloudComponent] }) export class TaskListCloudModule {} diff --git a/lib/process-services-cloud/src/lib/task/task-list/testing/task-list.testing.module.ts b/lib/process-services-cloud/src/lib/task/task-list/testing/task-list.testing.module.ts index 97736825fa..20e92ef016 100644 --- a/lib/process-services-cloud/src/lib/task/task-list/testing/task-list.testing.module.ts +++ b/lib/process-services-cloud/src/lib/task/task-list/testing/task-list.testing.module.ts @@ -18,18 +18,11 @@ import { NgModule } from '@angular/core'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { HttpClientModule } from '@angular/common/http'; -import { TaskListCloudModule } from '../task-list-cloud.module'; -import { - AppConfigService, - AppConfigServiceMock, - TranslationService, - TranslationMock, - CONTEXT_MENU_DIRECTIVES -} from '@alfresco/adf-core'; +import { AppConfigService, AppConfigServiceMock, TranslationService, TranslationMock, CONTEXT_MENU_DIRECTIVES } from '@alfresco/adf-core'; import { AlfrescoApiService, AlfrescoApiServiceMock } from '@alfresco/adf-content-services'; @NgModule({ - imports: [HttpClientModule, NoopAnimationsModule, TaskListCloudModule, ...CONTEXT_MENU_DIRECTIVES], + imports: [HttpClientModule, NoopAnimationsModule, ...CONTEXT_MENU_DIRECTIVES], providers: [ { provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock }, { provide: AppConfigService, useClass: AppConfigServiceMock },