diff --git a/app/src/app/app.components.ts b/app/src/app/app.components.ts index adf4f4d81..3d0c92362 100644 --- a/app/src/app/app.components.ts +++ b/app/src/app/app.components.ts @@ -24,6 +24,7 @@ import { Component, ViewEncapsulation } from '@angular/core'; import { AppService } from '@alfresco/aca-shared'; +import { MatIconRegistry } from '@angular/material/icon'; @Component({ selector: 'app-root', @@ -33,7 +34,11 @@ import { AppService } from '@alfresco/aca-shared'; standalone: false }) export class AppComponent { - constructor(private appService: AppService) { + constructor( + private appService: AppService, + matIconRegistry: MatIconRegistry + ) { this.appService.init(); + matIconRegistry.setDefaultFontSetClass('material-icons-outlined'); } } diff --git a/app/src/app/app.module.ts b/app/src/app/app.module.ts index 15b9ef88d..febfe70b8 100644 --- a/app/src/app/app.module.ts +++ b/app/src/app/app.module.ts @@ -23,14 +23,12 @@ */ import { BrowserModule } from '@angular/platform-browser'; -import { NgModule } from '@angular/core'; -import { BrowserAnimationsModule, NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { AuthGuard, AuthModule, CoreModule, TRANSLATION_PROVIDER } from '@alfresco/adf-core'; +import { importProvidersFrom, NgModule } from '@angular/core'; +import { provideNoopAnimations, provideAnimations } from '@angular/platform-browser/animations'; +import { AuthGuard, CoreModule, AuthModule, provideTranslations } from '@alfresco/adf-core'; import { AppService } from '@alfresco/aca-shared'; - import { AppExtensionsModule } from './extensions.module'; import { environment } from '../environments/environment'; - import { registerLocaleData } from '@angular/common'; import localeFr from '@angular/common/locales/fr'; import localeDe from '@angular/common/locales/de'; @@ -48,15 +46,13 @@ import localePl from '@angular/common/locales/pl'; import localeFi from '@angular/common/locales/fi'; import localeDa from '@angular/common/locales/da'; import localeSv from '@angular/common/locales/sv'; -import { TranslateModule } from '@ngx-translate/core'; import { RouterModule } from '@angular/router'; import { AppComponent } from './app.components'; import { CONTENT_LAYOUT_ROUTES, ContentServiceExtensionModule, ContentUrlService, CoreExtensionsModule } from '@alfresco/aca-content'; import { ContentVersionService } from '@alfresco/adf-content-services'; -import { SHELL_APP_SERVICE, SHELL_AUTH_TOKEN, ShellModule } from '@alfresco/adf-core/shell'; +import { SHELL_APP_SERVICE, SHELL_AUTH_TOKEN, provideShellRoutes } from '@alfresco/adf-core/shell'; import { StoreDevtoolsModule } from '@ngrx/store-devtools'; import { APP_ROUTES } from './app.routes'; -import { MatIconRegistry } from '@angular/material/icon'; registerLocaleData(localeFr); registerLocaleData(localeDe); @@ -78,23 +74,19 @@ registerLocaleData(localeSv); @NgModule({ imports: [ BrowserModule, - TranslateModule.forRoot(), CoreModule.forRoot(), CoreExtensionsModule.forRoot(), - environment.e2e ? NoopAnimationsModule : BrowserAnimationsModule, !environment.production ? StoreDevtoolsModule.instrument({ maxAge: 25 }) : [], RouterModule.forRoot(APP_ROUTES, { useHash: true, enableTracing: false // enable for debug only }), AppExtensionsModule, - ShellModule.withRoutes({ - shellChildren: [CONTENT_LAYOUT_ROUTES] - }), - ContentServiceExtensionModule, - AuthModule.forRoot({ useHash: true }) + ContentServiceExtensionModule ], providers: [ + environment.e2e ? provideNoopAnimations() : provideAnimations(), + provideShellRoutes(CONTENT_LAYOUT_ROUTES), { provide: ContentVersionService, useClass: ContentUrlService }, { provide: SHELL_APP_SERVICE, @@ -104,20 +96,10 @@ registerLocaleData(localeSv); provide: SHELL_AUTH_TOKEN, useValue: AuthGuard }, - { - provide: TRANSLATION_PROVIDER, - multi: true, - useValue: { - name: 'app', - source: 'assets' - } - } + provideTranslations('app', 'assets'), + importProvidersFrom(AuthModule.forRoot({ useHash: true })) ], declarations: [AppComponent], bootstrap: [AppComponent] }) -export class AppModule { - constructor(matIconRegistry: MatIconRegistry) { - matIconRegistry.setDefaultFontSetClass('material-icons-outlined'); - } -} +export class AppModule {} diff --git a/app/src/app/components/login/app-login.component.ts b/app/src/app/components/login/app-login.component.ts index 9cf639299..4a4c8ed3e 100644 --- a/app/src/app/components/login/app-login.component.ts +++ b/app/src/app/components/login/app-login.component.ts @@ -24,11 +24,11 @@ import { LoginComponent } from '@alfresco/adf-core'; import { Component, inject, ViewEncapsulation } from '@angular/core'; -import { TranslateModule } from '@ngx-translate/core'; +import { TranslatePipe } from '@ngx-translate/core'; import { AppSettingsService } from '@alfresco/aca-shared'; @Component({ - imports: [LoginComponent, TranslateModule], + imports: [LoginComponent, TranslatePipe], templateUrl: './app-login.component.html', styles: [ ` diff --git a/projects/aca-content/about/src/about.component.ts b/projects/aca-content/about/src/about.component.ts index bd09fb057..104132b97 100644 --- a/projects/aca-content/about/src/about.component.ts +++ b/projects/aca-content/about/src/about.component.ts @@ -27,7 +27,7 @@ import { DEV_MODE_TOKEN } from './dev-mode.tokens'; import { AboutModule, AuthenticationService, RepositoryInfo } from '@alfresco/adf-core'; import { DiscoveryApiService } from '@alfresco/adf-content-services'; import { PACKAGE_JSON } from './package-json.token'; -import { TranslateModule } from '@ngx-translate/core'; +import { TranslatePipe } from '@ngx-translate/core'; import { AppExtensionService, AppSettingsService, PageLayoutComponent } from '@alfresco/aca-shared'; import { RouterModule } from '@angular/router'; import { MatIconModule } from '@angular/material/icon'; @@ -35,7 +35,7 @@ import { CommonModule } from '@angular/common'; import { MatButtonModule } from '@angular/material/button'; @Component({ - imports: [CommonModule, TranslateModule, AboutModule, RouterModule, MatIconModule, MatButtonModule, PageLayoutComponent], + imports: [CommonModule, TranslatePipe, AboutModule, RouterModule, MatIconModule, MatButtonModule, PageLayoutComponent], selector: 'app-about-page', templateUrl: './about.component.html', styleUrls: ['./about.component.scss'], diff --git a/projects/aca-content/folder-rules/src/manage-rules/manage-rules.smart-component.spec.ts b/projects/aca-content/folder-rules/src/manage-rules/manage-rules.smart-component.spec.ts index 59601f087..236800fce 100644 --- a/projects/aca-content/folder-rules/src/manage-rules/manage-rules.smart-component.spec.ts +++ b/projects/aca-content/folder-rules/src/manage-rules/manage-rules.smart-component.spec.ts @@ -25,7 +25,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ManageRulesSmartComponent } from './manage-rules.smart-component'; import { DebugElement, Predicate } from '@angular/core'; -import { CoreTestingModule } from '@alfresco/adf-core'; import { FolderRulesService } from '../services/folder-rules.service'; import { ActivatedRoute } from '@angular/router'; import { BehaviorSubject, of, Subject } from 'rxjs'; @@ -42,13 +41,15 @@ import { MatDialog } from '@angular/material/dialog'; import { ActionsService } from '../services/actions.service'; import { FolderRuleSetsService } from '../services/folder-rule-sets.service'; import { ruleMock, ruleSettingsMock } from '../mock/rules.mock'; -import { Store } from '@ngrx/store'; import { AppService } from '@alfresco/aca-shared'; import { HarnessLoader } from '@angular/cdk/testing'; import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed'; import { MatProgressBarHarness } from '@angular/material/progress-bar/testing'; import { MatSlideToggleHarness } from '@angular/material/slide-toggle/testing'; import { AlfrescoApiService, AlfrescoApiServiceMock } from '@alfresco/adf-content-services'; +import { provideHttpClient } from '@angular/common/http'; +import { NoopTranslateModule } from '@alfresco/adf-core'; +import { provideMockStore } from '@ngrx/store/testing'; describe('ManageRulesSmartComponent', () => { let fixture: ComponentFixture; @@ -63,8 +64,9 @@ describe('ManageRulesSmartComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [CoreTestingModule, ManageRulesSmartComponent], + imports: [NoopTranslateModule, ManageRulesSmartComponent], providers: [ + provideHttpClient(), { provide: AppService, useValue: { @@ -73,7 +75,7 @@ describe('ManageRulesSmartComponent', () => { } }, { provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock }, - { provide: Store, useValue: { dispatch: () => {} } }, + provideMockStore({}), { provide: ActivatedRoute, useValue: { params: of({ nodeId: owningFolderIdMock }) } } ] }); diff --git a/projects/aca-content/folder-rules/src/manage-rules/manage-rules.smart-component.ts b/projects/aca-content/folder-rules/src/manage-rules/manage-rules.smart-component.ts index d7c8e6b9a..96206a613 100644 --- a/projects/aca-content/folder-rules/src/manage-rules/manage-rules.smart-component.ts +++ b/projects/aca-content/folder-rules/src/manage-rules/manage-rules.smart-component.ts @@ -32,7 +32,7 @@ import { NodeInfo } from '@alfresco/aca-shared/store'; import { delay } from 'rxjs/operators'; import { EditRuleDialogUiComponent } from '../rule-details/edit-rule-dialog.ui-component'; import { MatDialog, MatDialogModule } from '@angular/material/dialog'; -import { ConfirmDialogComponent, NotificationService, TemplateModule, ToolbarModule } from '@alfresco/adf-core'; +import { ConfirmDialogComponent, EmptyContentComponent, NotificationService, ToolbarComponent, ToolbarTitleComponent } from '@alfresco/adf-core'; import { ActionDefinitionTransformed } from '../model/rule-action.model'; import { ActionsService } from '../services/actions.service'; import { FolderRuleSetsService } from '../services/folder-rule-sets.service'; @@ -40,7 +40,7 @@ import { RuleSet } from '../model/rule-set.model'; import { RuleSetPickerSmartComponent } from '../rule-set-picker/rule-set-picker.smart-component'; import { MatSlideToggleChange, MatSlideToggleModule } from '@angular/material/slide-toggle'; import { ActionParameterConstraint } from '../model/action-parameter-constraint.model'; -import { TranslateModule } from '@ngx-translate/core'; +import { TranslatePipe } from '@ngx-translate/core'; import { GenericErrorComponent, PageLayoutComponent } from '@alfresco/aca-shared'; import { MatButtonModule } from '@angular/material/button'; import { MatIconModule } from '@angular/material/icon'; @@ -53,9 +53,8 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; @Component({ imports: [ CommonModule, - TranslateModule, + TranslatePipe, PageLayoutComponent, - ToolbarModule, MatButtonModule, MatIconModule, MatProgressBarModule, @@ -63,10 +62,12 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; MatDividerModule, RuleListUiComponent, RouterModule, - TemplateModule, GenericErrorComponent, RuleDetailsUiComponent, - MatDialogModule + MatDialogModule, + EmptyContentComponent, + ToolbarTitleComponent, + ToolbarComponent ], selector: 'aca-manage-rules', templateUrl: 'manage-rules.smart-component.html', diff --git a/projects/aca-content/folder-rules/src/rule-details/actions/rule-action-list.ui-component.spec.ts b/projects/aca-content/folder-rules/src/rule-details/actions/rule-action-list.ui-component.spec.ts index 50bbe8a68..11d0ffe7b 100644 --- a/projects/aca-content/folder-rules/src/rule-details/actions/rule-action-list.ui-component.spec.ts +++ b/projects/aca-content/folder-rules/src/rule-details/actions/rule-action-list.ui-component.spec.ts @@ -23,7 +23,7 @@ */ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { CoreTestingModule } from '@alfresco/adf-core'; +import { NoopTranslateModule } from '@alfresco/adf-core'; import { RuleActionListUiComponent } from './rule-action-list.ui-component'; import { By } from '@angular/platform-browser'; import { DebugElement } from '@angular/core'; @@ -39,7 +39,7 @@ describe('RuleActionListUiComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [CoreTestingModule], + imports: [NoopTranslateModule, RuleActionListUiComponent], providers: [{ provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock }] }); diff --git a/projects/aca-content/folder-rules/src/rule-details/actions/rule-action-list.ui-component.ts b/projects/aca-content/folder-rules/src/rule-details/actions/rule-action-list.ui-component.ts index 34a89a13a..e31719ec4 100644 --- a/projects/aca-content/folder-rules/src/rule-details/actions/rule-action-list.ui-component.ts +++ b/projects/aca-content/folder-rules/src/rule-details/actions/rule-action-list.ui-component.ts @@ -29,14 +29,14 @@ import { Subscription } from 'rxjs'; import { ruleActionValidator } from '../validators/rule-actions.validator'; import { ActionParameterConstraint } from '../../model/action-parameter-constraint.model'; import { CommonModule } from '@angular/common'; -import { TranslateModule } from '@ngx-translate/core'; +import { TranslatePipe } from '@ngx-translate/core'; import { RuleActionUiComponent } from './rule-action.ui-component'; import { MatButtonModule } from '@angular/material/button'; import { MatMenuModule } from '@angular/material/menu'; import { MatIconModule } from '@angular/material/icon'; @Component({ - imports: [CommonModule, TranslateModule, RuleActionUiComponent, ReactiveFormsModule, MatButtonModule, MatMenuModule, MatIconModule], + imports: [CommonModule, TranslatePipe, RuleActionUiComponent, ReactiveFormsModule, MatButtonModule, MatMenuModule, MatIconModule], selector: 'aca-rule-action-list', templateUrl: './rule-action-list.ui-component.html', styleUrls: ['./rule-action-list.ui-component.scss'], diff --git a/projects/aca-content/folder-rules/src/rule-details/actions/rule-action.ui-component.spec.ts b/projects/aca-content/folder-rules/src/rule-details/actions/rule-action.ui-component.spec.ts index e2963bccc..1ceeb01bd 100644 --- a/projects/aca-content/folder-rules/src/rule-details/actions/rule-action.ui-component.spec.ts +++ b/projects/aca-content/folder-rules/src/rule-details/actions/rule-action.ui-component.spec.ts @@ -23,7 +23,7 @@ */ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { CardViewBoolItemModel, CardViewComponent, CardViewSelectItemModel, CardViewTextItemModel, CoreTestingModule } from '@alfresco/adf-core'; +import { CardViewBoolItemModel, CardViewComponent, CardViewSelectItemModel, CardViewTextItemModel, NoopTranslateModule } from '@alfresco/adf-core'; import { RuleActionUiComponent } from './rule-action.ui-component'; import { actionLinkToCategoryTransformedMock, @@ -63,7 +63,7 @@ describe('RuleActionUiComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [CoreTestingModule, RuleActionUiComponent], + imports: [NoopTranslateModule, RuleActionUiComponent], providers: [{ provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock }] }); diff --git a/projects/aca-content/folder-rules/src/rule-details/actions/rule-action.ui-component.ts b/projects/aca-content/folder-rules/src/rule-details/actions/rule-action.ui-component.ts index dd78d78d8..763c17480 100644 --- a/projects/aca-content/folder-rules/src/rule-details/actions/rule-action.ui-component.ts +++ b/projects/aca-content/folder-rules/src/rule-details/actions/rule-action.ui-component.ts @@ -27,8 +27,8 @@ import { ControlValueAccessor, FormControl, FormGroup, NG_VALUE_ACCESSOR, Reacti import { ActionDefinitionTransformed, RuleAction } from '../../model/rule-action.model'; import { CardViewBoolItemModel, + CardViewComponent, CardViewItem, - CardViewModule, CardViewSelectItemModel, CardViewSelectItemOption, CardViewTextItemModel, @@ -50,14 +50,14 @@ import { TagService } from '@alfresco/adf-content-services'; import { MatDialog } from '@angular/material/dialog'; -import { TranslateModule, TranslateService } from '@ngx-translate/core'; +import { TranslatePipe, TranslateService } from '@ngx-translate/core'; import { CommonModule } from '@angular/common'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatSelectModule } from '@angular/material/select'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; @Component({ - imports: [CommonModule, TranslateModule, ReactiveFormsModule, MatFormFieldModule, MatSelectModule, CardViewModule], + imports: [CommonModule, TranslatePipe, ReactiveFormsModule, MatFormFieldModule, MatSelectModule, CardViewComponent], selector: 'aca-rule-action', templateUrl: './rule-action.ui-component.html', styleUrls: ['./rule-action.ui-component.scss'], diff --git a/projects/aca-content/folder-rules/src/rule-details/conditions/rule-composite-condition.ui-component.ts b/projects/aca-content/folder-rules/src/rule-details/conditions/rule-composite-condition.ui-component.ts index 0f9f234a5..3de4e6ad8 100644 --- a/projects/aca-content/folder-rules/src/rule-details/conditions/rule-composite-condition.ui-component.ts +++ b/projects/aca-content/folder-rules/src/rule-details/conditions/rule-composite-condition.ui-component.ts @@ -27,7 +27,7 @@ import { RuleCompositeCondition } from '../../model/rule-composite-condition.mod import { ControlValueAccessor, FormArray, FormControl, FormGroup, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms'; import { RuleSimpleCondition } from '../../model/rule-simple-condition.model'; import { CommonModule } from '@angular/common'; -import { TranslateModule } from '@ngx-translate/core'; +import { TranslatePipe } from '@ngx-translate/core'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatSelectModule } from '@angular/material/select'; import { MatButtonModule } from '@angular/material/button'; @@ -38,7 +38,7 @@ import { RuleSimpleConditionUiComponent } from './rule-simple-condition.ui-compo @Component({ imports: [ CommonModule, - TranslateModule, + TranslatePipe, ReactiveFormsModule, MatFormFieldModule, MatSelectModule, diff --git a/projects/aca-content/folder-rules/src/rule-details/conditions/rule-simple-condition.ui-component.spec.ts b/projects/aca-content/folder-rules/src/rule-details/conditions/rule-simple-condition.ui-component.spec.ts index 45741ff6b..e7bfb4fcf 100644 --- a/projects/aca-content/folder-rules/src/rule-details/conditions/rule-simple-condition.ui-component.spec.ts +++ b/projects/aca-content/folder-rules/src/rule-details/conditions/rule-simple-condition.ui-component.spec.ts @@ -24,7 +24,6 @@ import { ComponentFixture, discardPeriodicTasks, fakeAsync, TestBed, tick } from '@angular/core/testing'; import { RuleSimpleConditionUiComponent } from './rule-simple-condition.ui-component'; -import { CoreTestingModule } from '@alfresco/adf-core'; import { By } from '@angular/platform-browser'; import { DebugElement } from '@angular/core'; import { tagMock, mimeTypeMock, simpleConditionUnknownFieldMock, categoriesListMock } from '../../mock/conditions.mock'; @@ -38,6 +37,7 @@ import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed'; import { MatSelectHarness } from '@angular/material/select/testing'; import { MatAutocompleteHarness } from '@angular/material/autocomplete/testing'; import { AlfrescoMimeType } from '@alfresco/aca-shared'; +import { NoopTranslateModule } from '@alfresco/adf-core'; describe('RuleSimpleConditionUiComponent', () => { let fixture: ComponentFixture; @@ -83,7 +83,7 @@ describe('RuleSimpleConditionUiComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [CoreTestingModule, RuleSimpleConditionUiComponent], + imports: [NoopTranslateModule, RuleSimpleConditionUiComponent], providers: [{ provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock }] }); diff --git a/projects/aca-content/folder-rules/src/rule-details/conditions/rule-simple-condition.ui-component.ts b/projects/aca-content/folder-rules/src/rule-details/conditions/rule-simple-condition.ui-component.ts index 351f2114d..68757114c 100644 --- a/projects/aca-content/folder-rules/src/rule-details/conditions/rule-simple-condition.ui-component.ts +++ b/projects/aca-content/folder-rules/src/rule-details/conditions/rule-simple-condition.ui-component.ts @@ -28,7 +28,7 @@ import { RuleSimpleCondition } from '../../model/rule-simple-condition.model'; import { comparatorHiddenForConditionFieldType, RuleConditionField, ruleConditionFields } from './rule-condition-fields'; import { RuleConditionComparator, ruleConditionComparators } from './rule-condition-comparators'; import { CommonModule } from '@angular/common'; -import { TranslateModule } from '@ngx-translate/core'; +import { TranslatePipe } from '@ngx-translate/core'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatSelectModule } from '@angular/material/select'; import { MatInputModule } from '@angular/material/input'; @@ -52,7 +52,7 @@ const AUTOCOMPLETE_OPTIONS_DEBOUNCE_TIME = 500; @Component({ imports: [ CommonModule, - TranslateModule, + TranslatePipe, ReactiveFormsModule, MatFormFieldModule, MatSelectModule, diff --git a/projects/aca-content/folder-rules/src/rule-details/edit-rule-dialog.ui-component.ts b/projects/aca-content/folder-rules/src/rule-details/edit-rule-dialog.ui-component.ts index 6490f1799..a21e194e0 100644 --- a/projects/aca-content/folder-rules/src/rule-details/edit-rule-dialog.ui-component.ts +++ b/projects/aca-content/folder-rules/src/rule-details/edit-rule-dialog.ui-component.ts @@ -29,7 +29,7 @@ import { Observable } from 'rxjs'; import { ActionDefinitionTransformed } from '../model/rule-action.model'; import { ActionParameterConstraint } from '../model/action-parameter-constraint.model'; import { CommonModule } from '@angular/common'; -import { TranslateModule } from '@ngx-translate/core'; +import { TranslatePipe } from '@ngx-translate/core'; import { MatButtonModule } from '@angular/material/button'; import { MatIconModule } from '@angular/material/icon'; import { RuleDetailsUiComponent } from './rule-details.ui-component'; @@ -42,7 +42,7 @@ export interface EditRuleDialogOptions { } @Component({ - imports: [CommonModule, TranslateModule, MatDialogModule, MatButtonModule, MatIconModule, RuleDetailsUiComponent], + imports: [CommonModule, TranslatePipe, MatDialogModule, MatButtonModule, MatIconModule, RuleDetailsUiComponent], selector: 'aca-edit-rule-dialog', templateUrl: './edit-rule-dialog.ui-component.html', styleUrls: ['./edit-rule-dialog.ui-component.scss'], diff --git a/projects/aca-content/folder-rules/src/rule-details/options/rule-options.ui-component.spec.ts b/projects/aca-content/folder-rules/src/rule-details/options/rule-options.ui-component.spec.ts index b977e1b21..bbc4a48e1 100644 --- a/projects/aca-content/folder-rules/src/rule-details/options/rule-options.ui-component.spec.ts +++ b/projects/aca-content/folder-rules/src/rule-details/options/rule-options.ui-component.spec.ts @@ -23,13 +23,11 @@ */ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { CUSTOM_ELEMENTS_SCHEMA, DebugElement, SimpleChange } from '@angular/core'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { DebugElement, SimpleChange } from '@angular/core'; import { RuleOptionsUiComponent } from './rule-options.ui-component'; -import { CoreTestingModule } from '@alfresco/adf-core'; +import { NoopTranslateModule } from '@alfresco/adf-core'; import { By } from '@angular/platform-browser'; import { errorScriptConstraintMock } from '../../mock/actions.mock'; -import { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field'; import { HarnessLoader } from '@angular/cdk/testing'; import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed'; import { MatSelectHarness } from '@angular/material/select/testing'; @@ -61,18 +59,8 @@ describe('RuleOptionsUiComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - schemas: [CUSTOM_ELEMENTS_SCHEMA], - imports: [FormsModule, ReactiveFormsModule, CoreTestingModule, RuleOptionsUiComponent], - providers: [ - { - provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, - useValue: { floatLabel: 'auto' } - }, - { - provide: AlfrescoApiService, - useClass: AlfrescoApiServiceMock - } - ] + imports: [NoopTranslateModule, RuleOptionsUiComponent], + providers: [{ provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock }] }); fixture = TestBed.createComponent(RuleOptionsUiComponent); diff --git a/projects/aca-content/folder-rules/src/rule-details/options/rule-options.ui-component.ts b/projects/aca-content/folder-rules/src/rule-details/options/rule-options.ui-component.ts index 1526a9537..d07ab95e0 100644 --- a/projects/aca-content/folder-rules/src/rule-details/options/rule-options.ui-component.ts +++ b/projects/aca-content/folder-rules/src/rule-details/options/rule-options.ui-component.ts @@ -28,12 +28,12 @@ import { MatCheckboxChange, MatCheckboxModule } from '@angular/material/checkbox import { RuleOptions } from '../../model/rule.model'; import { ActionParameterConstraint, ConstraintValue } from '../../model/action-parameter-constraint.model'; import { CommonModule } from '@angular/common'; -import { TranslateModule } from '@ngx-translate/core'; +import { TranslatePipe } from '@ngx-translate/core'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatSelectModule } from '@angular/material/select'; @Component({ - imports: [CommonModule, TranslateModule, ReactiveFormsModule, MatCheckboxModule, MatFormFieldModule, MatSelectModule], + imports: [CommonModule, TranslatePipe, ReactiveFormsModule, MatCheckboxModule, MatFormFieldModule, MatSelectModule], selector: 'aca-rule-options', templateUrl: 'rule-options.ui-component.html', styleUrls: ['rule-options.ui-component.scss'], diff --git a/projects/aca-content/folder-rules/src/rule-details/rule-details.ui-component.spec.ts b/projects/aca-content/folder-rules/src/rule-details/rule-details.ui-component.spec.ts index b34d076d4..2633e3dc0 100644 --- a/projects/aca-content/folder-rules/src/rule-details/rule-details.ui-component.spec.ts +++ b/projects/aca-content/folder-rules/src/rule-details/rule-details.ui-component.spec.ts @@ -23,7 +23,6 @@ */ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { CoreTestingModule } from '@alfresco/adf-core'; import { RuleDetailsUiComponent } from './rule-details.ui-component'; import { Rule } from '../model/rule.model'; import { By } from '@angular/platform-browser'; @@ -31,6 +30,7 @@ import { RuleTriggersUiComponent } from './triggers/rule-triggers.ui-component'; import { RuleOptionsUiComponent } from './options/rule-options.ui-component'; import { RuleActionListUiComponent } from './actions/rule-action-list.ui-component'; import { AlfrescoApiService, AlfrescoApiServiceMock, CategoryService } from '@alfresco/adf-content-services'; +import { NoopTranslateModule } from '@alfresco/adf-core'; describe('RuleDetailsUiComponent', () => { let fixture: ComponentFixture; @@ -55,7 +55,7 @@ describe('RuleDetailsUiComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [CoreTestingModule, RuleDetailsUiComponent], + imports: [NoopTranslateModule, RuleDetailsUiComponent], providers: [{ provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock }] }); diff --git a/projects/aca-content/folder-rules/src/rule-details/rule-details.ui-component.ts b/projects/aca-content/folder-rules/src/rule-details/rule-details.ui-component.ts index b166c1485..96dd4070e 100644 --- a/projects/aca-content/folder-rules/src/rule-details/rule-details.ui-component.ts +++ b/projects/aca-content/folder-rules/src/rule-details/rule-details.ui-component.ts @@ -32,7 +32,7 @@ import { ActionDefinitionTransformed } from '../model/rule-action.model'; import { ruleActionsValidator } from './validators/rule-actions.validator'; import { ActionParameterConstraint } from '../model/action-parameter-constraint.model'; import { CommonModule } from '@angular/common'; -import { TranslateModule } from '@ngx-translate/core'; +import { TranslatePipe } from '@ngx-translate/core'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatInputModule } from '@angular/material/input'; import { RuleTriggersUiComponent } from './triggers/rule-triggers.ui-component'; @@ -45,7 +45,7 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; @Component({ imports: [ CommonModule, - TranslateModule, + TranslatePipe, ReactiveFormsModule, MatFormFieldModule, MatInputModule, diff --git a/projects/aca-content/folder-rules/src/rule-details/triggers/rule-triggers.ui-component.spec.ts b/projects/aca-content/folder-rules/src/rule-details/triggers/rule-triggers.ui-component.spec.ts index 281939243..a15f5d1dc 100644 --- a/projects/aca-content/folder-rules/src/rule-details/triggers/rule-triggers.ui-component.spec.ts +++ b/projects/aca-content/folder-rules/src/rule-details/triggers/rule-triggers.ui-component.spec.ts @@ -24,7 +24,7 @@ import { RuleTriggersUiComponent } from './rule-triggers.ui-component'; import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { CoreTestingModule } from '@alfresco/adf-core'; +import { NoopTranslateModule } from '@alfresco/adf-core'; import { DebugElement } from '@angular/core'; import { By } from '@angular/platform-browser'; import { AlfrescoApiService, AlfrescoApiServiceMock } from '@alfresco/adf-content-services'; @@ -42,7 +42,7 @@ describe('RuleTriggerUiComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [CoreTestingModule, RuleTriggersUiComponent], + imports: [NoopTranslateModule, RuleTriggersUiComponent], providers: [{ provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock }] }); diff --git a/projects/aca-content/folder-rules/src/rule-details/triggers/rule-triggers.ui-component.ts b/projects/aca-content/folder-rules/src/rule-details/triggers/rule-triggers.ui-component.ts index 4ff2ac682..0ee504b6a 100644 --- a/projects/aca-content/folder-rules/src/rule-details/triggers/rule-triggers.ui-component.ts +++ b/projects/aca-content/folder-rules/src/rule-details/triggers/rule-triggers.ui-component.ts @@ -26,11 +26,11 @@ import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'; import { Component, forwardRef, ViewEncapsulation } from '@angular/core'; import { RuleTrigger } from '../../model/rule.model'; import { CommonModule } from '@angular/common'; -import { TranslateModule } from '@ngx-translate/core'; +import { TranslatePipe } from '@ngx-translate/core'; import { MatCheckboxModule } from '@angular/material/checkbox'; @Component({ - imports: [CommonModule, TranslateModule, MatCheckboxModule], + imports: [CommonModule, TranslatePipe, MatCheckboxModule], selector: 'aca-rule-triggers', templateUrl: './rule-triggers.ui-component.html', encapsulation: ViewEncapsulation.None, diff --git a/projects/aca-content/folder-rules/src/rule-list/rule-list-grouping/rule-list-grouping.ui-component.spec.ts b/projects/aca-content/folder-rules/src/rule-list/rule-list-grouping/rule-list-grouping.ui-component.spec.ts index f3c090ebd..220cf43b8 100644 --- a/projects/aca-content/folder-rules/src/rule-list/rule-list-grouping/rule-list-grouping.ui-component.spec.ts +++ b/projects/aca-content/folder-rules/src/rule-list/rule-list-grouping/rule-list-grouping.ui-component.spec.ts @@ -27,8 +27,7 @@ import { RuleListGroupingUiComponent } from './rule-list-grouping.ui-component'; import { ruleListGroupingItemsMock, rulesMock } from '../../mock/rules.mock'; import { DebugElement } from '@angular/core'; import { By } from '@angular/platform-browser'; -import { CoreTestingModule } from '@alfresco/adf-core'; -import { AcaFolderRulesModule } from '../../folder-rules.module'; +import { NoopTranslateModule } from '@alfresco/adf-core'; describe('RuleListGroupingUiComponent', () => { let component: RuleListGroupingUiComponent; @@ -37,7 +36,7 @@ describe('RuleListGroupingUiComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [CoreTestingModule, AcaFolderRulesModule, RuleListGroupingUiComponent] + imports: [NoopTranslateModule, RuleListGroupingUiComponent] }); fixture = TestBed.createComponent(RuleListGroupingUiComponent); diff --git a/projects/aca-content/folder-rules/src/rule-list/rule-list-grouping/rule-list-grouping.ui-component.ts b/projects/aca-content/folder-rules/src/rule-list/rule-list-grouping/rule-list-grouping.ui-component.ts index 06379a5c6..8ccca2b6a 100644 --- a/projects/aca-content/folder-rules/src/rule-list/rule-list-grouping/rule-list-grouping.ui-component.ts +++ b/projects/aca-content/folder-rules/src/rule-list/rule-list-grouping/rule-list-grouping.ui-component.ts @@ -29,11 +29,11 @@ import { RuleSet } from '../../model/rule-set.model'; import { CommonModule } from '@angular/common'; import { RuleListItemUiComponent } from '../rule-list-item/rule-list-item.ui-component'; import { MatRippleModule } from '@angular/material/core'; -import { TranslateModule } from '@ngx-translate/core'; +import { TranslatePipe } from '@ngx-translate/core'; import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; @Component({ - imports: [CommonModule, TranslateModule, RuleListItemUiComponent, MatRippleModule, MatProgressSpinnerModule], + imports: [CommonModule, TranslatePipe, RuleListItemUiComponent, MatRippleModule, MatProgressSpinnerModule], selector: 'aca-rule-list-grouping', templateUrl: 'rule-list-grouping.ui-component.html', styleUrls: ['rule-list-grouping.ui-component.scss'], diff --git a/projects/aca-content/folder-rules/src/rule-list/rule-list-item/rule-list-item.ui-component.ts b/projects/aca-content/folder-rules/src/rule-list/rule-list-item/rule-list-item.ui-component.ts index 107bb2115..20437c27f 100644 --- a/projects/aca-content/folder-rules/src/rule-list/rule-list-item/rule-list-item.ui-component.ts +++ b/projects/aca-content/folder-rules/src/rule-list/rule-list-item/rule-list-item.ui-component.ts @@ -26,10 +26,10 @@ import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation import { Rule } from '../../model/rule.model'; import { CommonModule } from '@angular/common'; import { MatSlideToggleModule } from '@angular/material/slide-toggle'; -import { TranslateModule } from '@ngx-translate/core'; +import { TranslatePipe } from '@ngx-translate/core'; @Component({ - imports: [CommonModule, MatSlideToggleModule, TranslateModule], + imports: [CommonModule, MatSlideToggleModule, TranslatePipe], selector: 'aca-rule-list-item', templateUrl: 'rule-list-item.ui-component.html', styleUrls: ['rule-list-item.ui-component.scss'], diff --git a/projects/aca-content/folder-rules/src/rule-list/rule-list/rule-list.ui-component.ts b/projects/aca-content/folder-rules/src/rule-list/rule-list/rule-list.ui-component.ts index cdb46ac3b..63c5fa210 100644 --- a/projects/aca-content/folder-rules/src/rule-list/rule-list/rule-list.ui-component.ts +++ b/projects/aca-content/folder-rules/src/rule-list/rule-list/rule-list.ui-component.ts @@ -28,7 +28,7 @@ import { Rule } from '../../model/rule.model'; import { RuleGroupingItem } from '../../model/rule-grouping-item.model'; import { FolderRuleSetsService } from '../../services/folder-rule-sets.service'; import { CommonModule } from '@angular/common'; -import { TranslateModule } from '@ngx-translate/core'; +import { TranslatePipe } from '@ngx-translate/core'; import { MatRippleModule } from '@angular/material/core'; import { MatIconModule } from '@angular/material/icon'; import { MatTooltipModule } from '@angular/material/tooltip'; @@ -41,7 +41,7 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; @Component({ imports: [ CommonModule, - TranslateModule, + TranslatePipe, MatRippleModule, MatIconModule, MatTooltipModule, diff --git a/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.spec.ts b/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.spec.ts index 6352be904..8afa1e71c 100644 --- a/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.spec.ts +++ b/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.spec.ts @@ -24,7 +24,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { RuleSetPickerOptions, RuleSetPickerSmartComponent } from './rule-set-picker.smart-component'; -import { CoreTestingModule } from '@alfresco/adf-core'; +import { NoopAuthModule, NoopTranslateModule } from '@alfresco/adf-core'; import { folderToLinkMock, otherFolderMock } from '../mock/node.mock'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { FolderRuleSetsService } from '../services/folder-rule-sets.service'; @@ -33,6 +33,7 @@ import { ownedRuleSetMock, ruleSetWithLinkMock, ruleSetWithNoRulesToLinkMock, ru import { ContentApiService } from '@alfresco/aca-shared'; import { By } from '@angular/platform-browser'; import { AlfrescoApiService, AlfrescoApiServiceMock } from '@alfresco/adf-content-services'; +import { provideRouter } from '@angular/router'; describe('RuleSetPickerSmartComponent', () => { let fixture: ComponentFixture; @@ -54,8 +55,9 @@ describe('RuleSetPickerSmartComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [CoreTestingModule, RuleSetPickerSmartComponent], + imports: [NoopTranslateModule, NoopAuthModule, RuleSetPickerSmartComponent], providers: [ + provideRouter([]), { provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock }, { provide: MatDialogRef, useValue: dialogRef }, { provide: MAT_DIALOG_DATA, useValue: dialogOptions }, diff --git a/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.ts b/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.ts index ce9241a13..2fe30fbf0 100644 --- a/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.ts +++ b/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.ts @@ -29,15 +29,15 @@ import { Node } from '@alfresco/js-api'; import { RuleSet } from '../model/rule-set.model'; import { BehaviorSubject, combineLatest, from, of } from 'rxjs'; import { finalize, map, switchMap } from 'rxjs/operators'; -import { NotificationService, TemplateModule } from '@alfresco/adf-core'; +import { EmptyContentComponent, NotificationService } from '@alfresco/adf-core'; import { CommonModule } from '@angular/common'; -import { TranslateModule } from '@ngx-translate/core'; +import { TranslatePipe } from '@ngx-translate/core'; import { MatButtonModule } from '@angular/material/button'; import { MatIconModule } from '@angular/material/icon'; -import { ContentNodeSelectorModule } from '@alfresco/adf-content-services'; import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; import { RuleListItemUiComponent } from '../rule-list/rule-list-item/rule-list-item.ui-component'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; +import { ContentNodeSelectorPanelComponent } from '@alfresco/adf-content-services'; export interface RuleSetPickerOptions { nodeId: string; @@ -48,14 +48,14 @@ export interface RuleSetPickerOptions { @Component({ imports: [ CommonModule, - TranslateModule, + TranslatePipe, MatDialogModule, MatButtonModule, MatIconModule, - ContentNodeSelectorModule, MatProgressSpinnerModule, RuleListItemUiComponent, - TemplateModule + EmptyContentComponent, + ContentNodeSelectorPanelComponent ], selector: 'aca-rule-set-picker', templateUrl: './rule-set-picker.smart-component.html', diff --git a/projects/aca-content/folder-rules/src/services/actions.service.spec.ts b/projects/aca-content/folder-rules/src/services/actions.service.spec.ts index 1887ce704..49429ea70 100644 --- a/projects/aca-content/folder-rules/src/services/actions.service.spec.ts +++ b/projects/aca-content/folder-rules/src/services/actions.service.spec.ts @@ -24,7 +24,7 @@ import { ActionsService } from './actions.service'; import { TestBed } from '@angular/core/testing'; -import { CoreTestingModule } from '@alfresco/adf-core'; +import { NoopTranslateModule } from '@alfresco/adf-core'; import { ActionsApi } from '@alfresco/js-api'; import { actionDefListMock, actionsTransformedListMock } from '../mock/actions.mock'; import { take } from 'rxjs/operators'; @@ -37,7 +37,7 @@ describe('ActionsService', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [CoreTestingModule], + imports: [NoopTranslateModule], providers: [ActionsService, { provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock }] }); diff --git a/projects/aca-content/folder-rules/src/services/folder-rule-sets.service.spec.ts b/projects/aca-content/folder-rules/src/services/folder-rule-sets.service.spec.ts index 32b90c99f..562c170fa 100644 --- a/projects/aca-content/folder-rules/src/services/folder-rule-sets.service.spec.ts +++ b/projects/aca-content/folder-rules/src/services/folder-rule-sets.service.spec.ts @@ -24,7 +24,6 @@ import { FolderRuleSetsService } from './folder-rule-sets.service'; import { TestBed } from '@angular/core/testing'; -import { CoreTestingModule } from '@alfresco/adf-core'; import { FolderRulesService } from './folder-rules.service'; import { ContentApiService } from '@alfresco/aca-shared'; import { getOtherFolderEntryMock, getOwningFolderEntryMock, otherFolderIdMock, owningFolderIdMock, owningFolderMock } from '../mock/node.mock'; @@ -33,6 +32,7 @@ import { getDefaultRuleSetResponseMock, getRuleSetsResponseMock, inheritedRuleSe import { take } from 'rxjs/operators'; import { inheritedRulesMock, linkedRulesMock, ownedRulesMock, ruleMock } from '../mock/rules.mock'; import { AlfrescoApiService, AlfrescoApiServiceMock } from '@alfresco/adf-content-services'; +import { NoopTranslateModule } from '@alfresco/adf-core'; describe('FolderRuleSetsService', () => { let folderRuleSetsService: FolderRuleSetsService; @@ -45,7 +45,7 @@ describe('FolderRuleSetsService', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [CoreTestingModule], + imports: [NoopTranslateModule], providers: [FolderRuleSetsService, FolderRulesService, ContentApiService, { provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock }] }); diff --git a/projects/aca-content/folder-rules/src/services/folder-rules.service.spec.ts b/projects/aca-content/folder-rules/src/services/folder-rules.service.spec.ts index 29ab4ef8e..a03283232 100644 --- a/projects/aca-content/folder-rules/src/services/folder-rules.service.spec.ts +++ b/projects/aca-content/folder-rules/src/services/folder-rules.service.spec.ts @@ -23,7 +23,7 @@ */ import { TestBed } from '@angular/core/testing'; -import { CoreTestingModule, NotificationService } from '@alfresco/adf-core'; +import { NoopTranslateModule, NotificationService } from '@alfresco/adf-core'; import { of } from 'rxjs'; import { FolderRulesService } from './folder-rules.service'; import { @@ -57,7 +57,7 @@ describe('FolderRulesService', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [CoreTestingModule], + imports: [NoopTranslateModule], providers: [FolderRulesService, { provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock }] }); diff --git a/projects/aca-content/src/lib/aca-content.module.ts b/projects/aca-content/src/lib/aca-content.module.ts index 6a89cba2d..c15d6309e 100644 --- a/projects/aca-content/src/lib/aca-content.module.ts +++ b/projects/aca-content/src/lib/aca-content.module.ts @@ -25,7 +25,7 @@ import { HammerModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { AuthGuardEcm, LanguagePickerComponent, NotificationHistoryComponent, TRANSLATION_PROVIDER } from '@alfresco/adf-core'; +import { AuthGuardEcm, LanguagePickerComponent, NotificationHistoryComponent, provideTranslations } from '@alfresco/adf-core'; import { ContentModule, ContentVersionService, @@ -105,14 +105,7 @@ import { SaveSearchSidenavComponent } from './components/search/search-save/side providers: [ { provide: ContentVersionService, useClass: ContentUrlService }, { provide: DocumentBasePageService, useExisting: ContentManagementService }, - { - provide: TRANSLATION_PROVIDER, - multi: true, - useValue: { - name: 'app', - source: 'assets' - } - }, + provideTranslations('app', 'assets'), { provide: SHELL_NAVBAR_MIN_WIDTH, useValue: 0 }, { provide: MAT_DIALOG_DEFAULT_OPTIONS, diff --git a/projects/aca-content/src/lib/aca-content.routes.ts b/projects/aca-content/src/lib/aca-content.routes.ts index b3cd83c73..ee9f467f3 100644 --- a/projects/aca-content/src/lib/aca-content.routes.ts +++ b/projects/aca-content/src/lib/aca-content.routes.ts @@ -104,270 +104,272 @@ const createViewRoutes = (navigateSource: string, additionalData: Data = {}): Ro } ]; -export const CONTENT_LAYOUT_ROUTES: Route = { - path: '', - canActivate: [ExtensionsDataLoaderGuard], - children: [ - { - path: 'profile', - canActivate: [ViewProfileRuleGuard], - component: ViewProfileComponent - }, - { - path: '', - component: HomeComponent - }, - { - path: 'personal-files', - children: [ - { - path: '', - component: FilesComponent, - data: { - sortingPreferenceKey: 'personal-files', - title: 'APP.BROWSE.PERSONAL.TITLE', - defaultNodeId: '-my-' - } - }, - { - path: 'details/:nodeId', - children: [ - { - path: '', - component: DetailsComponent, - data: { - navigateSource: 'personal-files' - } - }, - { - path: ':activeTab', - component: DetailsComponent, - data: { - title: 'APP.BROWSE.PERSONAL.PERMISSIONS.TITLE', - navigateSource: 'personal-files' - } +export const CONTENT_LAYOUT_ROUTES: Route[] = [ + { + path: '', + canActivate: [ExtensionsDataLoaderGuard], + children: [ + { + path: 'profile', + canActivate: [ViewProfileRuleGuard], + component: ViewProfileComponent + }, + { + path: '', + component: HomeComponent + }, + { + path: 'personal-files', + children: [ + { + path: '', + component: FilesComponent, + data: { + sortingPreferenceKey: 'personal-files', + title: 'APP.BROWSE.PERSONAL.TITLE', + defaultNodeId: '-my-' } - ] - }, - ...createViewRoutes('personal-files') - ] - }, - { - path: 'personal-files/:folderId', - children: [ - { - path: '', - component: FilesComponent, - data: { - title: 'APP.BROWSE.PERSONAL.TITLE', - sortingPreferenceKey: 'personal-files' - } - }, - ...createViewRoutes('personal-files') - ] - }, - { - path: 'libraries', - children: [ - { - path: '', - component: LibrariesComponent, - data: { - title: 'APP.BROWSE.LIBRARIES.MENU.MY_LIBRARIES.TITLE', - sortingPreferenceKey: 'libraries' - } - } - ] - }, - { - path: 'libraries/:folderId', - children: [ - { - path: '', - component: FilesComponent, - data: { - title: 'APP.BROWSE.LIBRARIES.MENU.MY_LIBRARIES.TITLE', - sortingPreferenceKey: 'libraries-files' - } - }, - ...createViewRoutes('libraries', { - data: { - navigateSource: 'libraries' - } - }) - ] - }, - { - path: 'favorite', - children: [ - { - path: '', - pathMatch: 'full', - redirectTo: 'libraries' - }, - { - path: 'libraries', - component: FavoriteLibrariesComponent, - data: { - title: 'APP.BROWSE.LIBRARIES.MENU.FAVORITE_LIBRARIES.TITLE', - sortingPreferenceKey: 'favorite-libraries' - } - } - ] - }, - { - path: 'favorite/libraries/:folderId', - children: [ - { - path: '', - component: FilesComponent, - data: { - title: 'APP.BROWSE.LIBRARIES.MENU.FAVORITE_LIBRARIES.TITLE', - sortingPreferenceKey: 'libraries-files' - } - }, - ...createViewRoutes('libraries') - ] - }, - { - path: 'favorites', - data: { - sortingPreferenceKey: 'favorites' - }, - children: [ - { - path: '', - component: FavoritesComponent, - data: { - title: 'APP.BROWSE.FAVORITES.TITLE', - sortingPreferenceKey: 'favorites' - } - }, - ...createViewRoutes('favorites') - ] - }, - { - path: 'recent-files', - data: { - sortingPreferenceKey: 'recent-files' - }, - children: [ - { - path: '', - component: RecentFilesComponent, - data: { - title: 'APP.BROWSE.RECENT.TITLE' - } - }, - ...createViewRoutes('recent-files') - ] - }, - { - path: 'shared', - children: [ - { - path: '', - data: { - title: 'APP.BROWSE.SHARED.TITLE', - sortingPreferenceKey: 'shared-files' }, - component: SharedFilesComponent - }, - ...createViewRoutes('shared') - ], - canActivateChild: [AppSharedRuleGuard], - canActivate: [AppSharedRuleGuard] - }, - { - path: 'trashcan', - children: [ - { - path: '', - component: TrashcanComponent, - data: { - title: 'APP.BROWSE.TRASHCAN.TITLE', - sortingPreferenceKey: 'trashcan' - } - } - ] - }, - { - path: 'search', - children: [ - { - path: '', - component: SearchResultsComponent, - data: { - title: 'APP.BROWSE.SEARCH.TITLE', - sortingPreferenceKey: 'search' - } - }, - ...createViewRoutes('search') - ] - }, - { - path: 'search-libraries', - children: [ - { - path: '', - component: SearchLibrariesResultsComponent, - data: { - title: 'APP.BROWSE.SEARCH.TITLE', - sortingPreferenceKey: 'search-libraries' - } - }, - { - path: 'view/:nodeId', - outlet: 'viewer', - children: [ - { - path: '', - data: { - navigateSource: 'search' + { + path: 'details/:nodeId', + children: [ + { + path: '', + component: DetailsComponent, + data: { + navigateSource: 'personal-files' + } }, - loadChildren: () => import('@alfresco/aca-content/viewer').then((m) => m.AcaViewerModule) - } - ] - } - ] - }, - { - path: 'nodes/:nodeId', - children: [ - { - path: '', - loadChildren: () => import('@alfresco/aca-content/folder-rules').then((m) => m.AcaFolderRulesModule) - } - ] - }, - { - path: 'knowledge-retrieval', - canDeactivate: [UnsavedChangesGuard], - canActivate: [PluginEnabledGuard], - data: { - plugin: 'plugins.knowledgeRetrievalEnabled' + { + path: ':activeTab', + component: DetailsComponent, + data: { + title: 'APP.BROWSE.PERSONAL.PERMISSIONS.TITLE', + navigateSource: 'personal-files' + } + } + ] + }, + ...createViewRoutes('personal-files') + ] }, - children: [ - { - path: '', - component: SearchAiResultsComponent + { + path: 'personal-files/:folderId', + children: [ + { + path: '', + component: FilesComponent, + data: { + title: 'APP.BROWSE.PERSONAL.TITLE', + sortingPreferenceKey: 'personal-files' + } + }, + ...createViewRoutes('personal-files') + ] + }, + { + path: 'libraries', + children: [ + { + path: '', + component: LibrariesComponent, + data: { + title: 'APP.BROWSE.LIBRARIES.MENU.MY_LIBRARIES.TITLE', + sortingPreferenceKey: 'libraries' + } + } + ] + }, + { + path: 'libraries/:folderId', + children: [ + { + path: '', + component: FilesComponent, + data: { + title: 'APP.BROWSE.LIBRARIES.MENU.MY_LIBRARIES.TITLE', + sortingPreferenceKey: 'libraries-files' + } + }, + ...createViewRoutes('libraries', { + data: { + navigateSource: 'libraries' + } + }) + ] + }, + { + path: 'favorite', + children: [ + { + path: '', + pathMatch: 'full', + redirectTo: 'libraries' + }, + { + path: 'libraries', + component: FavoriteLibrariesComponent, + data: { + title: 'APP.BROWSE.LIBRARIES.MENU.FAVORITE_LIBRARIES.TITLE', + sortingPreferenceKey: 'favorite-libraries' + } + } + ] + }, + { + path: 'favorite/libraries/:folderId', + children: [ + { + path: '', + component: FilesComponent, + data: { + title: 'APP.BROWSE.LIBRARIES.MENU.FAVORITE_LIBRARIES.TITLE', + sortingPreferenceKey: 'libraries-files' + } + }, + ...createViewRoutes('libraries') + ] + }, + { + path: 'favorites', + data: { + sortingPreferenceKey: 'favorites' }, - ...createViewRoutes('knowledge-retrieval') - ] - }, - { - path: 'saved-searches', - children: [ - { - path: '', - component: SavedSearchesSmartListComponent - } - ] - }, - { - path: '**', - component: GenericErrorComponent - } - ], - canActivateChild: [AuthGuard] -}; + children: [ + { + path: '', + component: FavoritesComponent, + data: { + title: 'APP.BROWSE.FAVORITES.TITLE', + sortingPreferenceKey: 'favorites' + } + }, + ...createViewRoutes('favorites') + ] + }, + { + path: 'recent-files', + data: { + sortingPreferenceKey: 'recent-files' + }, + children: [ + { + path: '', + component: RecentFilesComponent, + data: { + title: 'APP.BROWSE.RECENT.TITLE' + } + }, + ...createViewRoutes('recent-files') + ] + }, + { + path: 'shared', + children: [ + { + path: '', + data: { + title: 'APP.BROWSE.SHARED.TITLE', + sortingPreferenceKey: 'shared-files' + }, + component: SharedFilesComponent + }, + ...createViewRoutes('shared') + ], + canActivateChild: [AppSharedRuleGuard], + canActivate: [AppSharedRuleGuard] + }, + { + path: 'trashcan', + children: [ + { + path: '', + component: TrashcanComponent, + data: { + title: 'APP.BROWSE.TRASHCAN.TITLE', + sortingPreferenceKey: 'trashcan' + } + } + ] + }, + { + path: 'search', + children: [ + { + path: '', + component: SearchResultsComponent, + data: { + title: 'APP.BROWSE.SEARCH.TITLE', + sortingPreferenceKey: 'search' + } + }, + ...createViewRoutes('search') + ] + }, + { + path: 'search-libraries', + children: [ + { + path: '', + component: SearchLibrariesResultsComponent, + data: { + title: 'APP.BROWSE.SEARCH.TITLE', + sortingPreferenceKey: 'search-libraries' + } + }, + { + path: 'view/:nodeId', + outlet: 'viewer', + children: [ + { + path: '', + data: { + navigateSource: 'search' + }, + loadChildren: () => import('@alfresco/aca-content/viewer').then((m) => m.AcaViewerModule) + } + ] + } + ] + }, + { + path: 'nodes/:nodeId', + children: [ + { + path: '', + loadChildren: () => import('@alfresco/aca-content/folder-rules').then((m) => m.AcaFolderRulesModule) + } + ] + }, + { + path: 'knowledge-retrieval', + canDeactivate: [UnsavedChangesGuard], + canActivate: [PluginEnabledGuard], + data: { + plugin: 'plugins.knowledgeRetrievalEnabled' + }, + children: [ + { + path: '', + component: SearchAiResultsComponent + }, + ...createViewRoutes('knowledge-retrieval') + ] + }, + { + path: 'saved-searches', + children: [ + { + path: '', + component: SavedSearchesSmartListComponent + } + ] + }, + { + path: '**', + component: GenericErrorComponent + } + ], + canActivateChild: [AuthGuard] + } +]; diff --git a/projects/aca-content/src/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.ts b/projects/aca-content/src/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.ts index 745643c6f..62eee2971 100644 --- a/projects/aca-content/src/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.ts +++ b/projects/aca-content/src/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.ts @@ -28,7 +28,7 @@ import { CommonModule } from '@angular/common'; import { Component, DestroyRef, inject, Input, OnInit, ViewEncapsulation } from '@angular/core'; import { MatSelectModule } from '@angular/material/select'; import { Store } from '@ngrx/store'; -import { TranslateModule } from '@ngx-translate/core'; +import { TranslatePipe } from '@ngx-translate/core'; import { combineLatest, Observable } from 'rxjs'; import { IconComponent, TranslationService } from '@alfresco/adf-core'; import { FormControl, ReactiveFormsModule } from '@angular/forms'; @@ -40,7 +40,7 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; selector: 'aca-bulk-actions-dropdown', templateUrl: './bulk-actions-dropdown.component.html', styleUrls: ['./bulk-actions-dropdown.component.scss'], - imports: [CommonModule, TranslateModule, MatSelectModule, IconComponent, ReactiveFormsModule], + imports: [CommonModule, TranslatePipe, MatSelectModule, IconComponent, ReactiveFormsModule], encapsulation: ViewEncapsulation.None }) export class BulkActionsDropdownComponent implements OnInit { diff --git a/projects/aca-content/src/lib/components/common/language-picker/language-picker.component.ts b/projects/aca-content/src/lib/components/common/language-picker/language-picker.component.ts index e5df1497c..37d8fb1f3 100644 --- a/projects/aca-content/src/lib/components/common/language-picker/language-picker.component.ts +++ b/projects/aca-content/src/lib/components/common/language-picker/language-picker.component.ts @@ -22,14 +22,14 @@ * from Hyland Software. If not, see . */ -import { LanguageMenuModule } from '@alfresco/adf-core'; +import { LanguageMenuComponent } from '@alfresco/adf-core'; import { Component, ViewEncapsulation } from '@angular/core'; import { MatIconModule } from '@angular/material/icon'; import { MatMenuModule } from '@angular/material/menu'; -import { TranslateModule } from '@ngx-translate/core'; +import { TranslatePipe } from '@ngx-translate/core'; @Component({ - imports: [TranslateModule, MatIconModule, MatMenuModule, LanguageMenuModule], + imports: [TranslatePipe, MatIconModule, MatMenuModule, LanguageMenuComponent], selector: 'aca-language-picker', template: `