diff --git a/app/src/app/app.components.ts b/app/src/app/app.components.ts
index 3d0c92362..430ba7d05 100644
--- a/app/src/app/app.components.ts
+++ b/app/src/app/app.components.ts
@@ -25,13 +25,15 @@
import { Component, ViewEncapsulation } from '@angular/core';
import { AppService } from '@alfresco/aca-shared';
import { MatIconRegistry } from '@angular/material/icon';
+import { RouterOutlet } from '@angular/router';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
encapsulation: ViewEncapsulation.None,
- standalone: false
+ standalone: true,
+ imports: [RouterOutlet]
})
export class AppComponent {
constructor(
diff --git a/app/src/app/app.module.ts b/app/src/app/app.config.ts
similarity index 81%
rename from app/src/app/app.module.ts
rename to app/src/app/app.config.ts
index febfe70b8..7791f3131 100644
--- a/app/src/app/app.module.ts
+++ b/app/src/app/app.config.ts
@@ -22,8 +22,7 @@
* from Hyland Software. If not, see .
*/
-import { BrowserModule } from '@angular/platform-browser';
-import { importProvidersFrom, NgModule } from '@angular/core';
+import { importProvidersFrom, ApplicationConfig } 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';
@@ -46,12 +45,10 @@ 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 { RouterModule } from '@angular/router';
-import { AppComponent } from './app.components';
-import { CONTENT_LAYOUT_ROUTES, ContentServiceExtensionModule, ContentUrlService, CoreExtensionsModule } from '@alfresco/aca-content';
+import { provideRouter, withHashLocation } from '@angular/router';
+import { CONTENT_LAYOUT_ROUTES, ContentServiceExtensionModule, ContentUrlService, provideExtensions } from '@alfresco/aca-content';
import { ContentVersionService } from '@alfresco/adf-content-services';
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';
registerLocaleData(localeFr);
@@ -71,20 +68,11 @@ registerLocaleData(localeFi);
registerLocaleData(localeDa);
registerLocaleData(localeSv);
-@NgModule({
- imports: [
- BrowserModule,
- CoreModule.forRoot(),
- CoreExtensionsModule.forRoot(),
- !environment.production ? StoreDevtoolsModule.instrument({ maxAge: 25 }) : [],
- RouterModule.forRoot(APP_ROUTES, {
- useHash: true,
- enableTracing: false // enable for debug only
- }),
- AppExtensionsModule,
- ContentServiceExtensionModule
- ],
+export const AppConfig: ApplicationConfig = {
providers: [
+ importProvidersFrom(CoreModule.forRoot(), AppExtensionsModule, ContentServiceExtensionModule),
+ provideExtensions(),
+ provideRouter(APP_ROUTES, withHashLocation()),
environment.e2e ? provideNoopAnimations() : provideAnimations(),
provideShellRoutes(CONTENT_LAYOUT_ROUTES),
{ provide: ContentVersionService, useClass: ContentUrlService },
@@ -98,8 +86,5 @@ registerLocaleData(localeSv);
},
provideTranslations('app', 'assets'),
importProvidersFrom(AuthModule.forRoot({ useHash: true }))
- ],
- declarations: [AppComponent],
- bootstrap: [AppComponent]
-})
-export class AppModule {}
+ ]
+};
diff --git a/app/src/main.ts b/app/src/main.ts
index 5fc738e74..c5bde894d 100644
--- a/app/src/main.ts
+++ b/app/src/main.ts
@@ -23,13 +23,15 @@
*/
import { enableProdMode } from '@angular/core';
-import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
-
-import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
+import { bootstrapApplication } from '@angular/platform-browser';
+import { AppComponent } from './app/app.components';
+import { AppConfig } from './app/app.config';
if (environment.production) {
enableProdMode();
}
-void platformBrowserDynamic().bootstrapModule(AppModule);
+void (async () => {
+ await bootstrapApplication(AppComponent, AppConfig);
+})();
diff --git a/docs/tutorials/how-to-create-your-first-extension.md b/docs/tutorials/how-to-create-your-first-extension.md
index 71f080769..cdf9d9b2f 100644
--- a/docs/tutorials/how-to-create-your-first-extension.md
+++ b/docs/tutorials/how-to-create-your-first-extension.md
@@ -27,54 +27,47 @@ See the official [Nx Angular library](https://nx.dev/nx-api/angular/generators/l
Next to validate the changed verify the following:
- Check in `tsconfig.base.json` that an import path exists and points to the correct entry point:
+-
```json
-"@myorg/my-extension": ["extensions/my-extension/src/index.ts"],
+{
+ "paths" : {
+ "@myorg/my-extension": [
+ "extensions/my-extension/src/index.ts"
+ ]
+ }
+}
```
- Test if npm i is working:
# Developing the basics of the ACA extension
-Now that the `my-extension` is created, let's add the proper configuration to the extension module. For this purpose, edit the `extensions/my-extension/src/lib/my-extension.module.ts` file changing what is described below.
+Now that the `my-extension` is created, let's add the proper configuration to the extension module.
+For this purpose, edit the `extensions/my-extension/src/lib/my-extension.module.ts` file changing what is described below:
```typescript
-import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
-import { FormsModule } from '@angular/forms';
import { ExtensionService, provideExtensionConfig } from '@alfresco/adf-extensions';
-import { CoreModule, TRANSLATION_PROVIDER } from '@alfresco/adf-core';
+import { provideTranslations } from '@alfresco/adf-core';
import { MyExtensionComponent } from './my-extension.component';
import { MyExtensionService } from './my-extension.service';
-export function components() {
- return [MyExtensionComponent];
-}
-
@NgModule({
- imports: [CoreModule, BrowserModule, FormsModule],
- providers: [
- {
- provide: TRANSLATION_PROVIDER,
- multi: true,
- useValue: {
- name: 'my-extension',
- source: 'assets/my-extension',
- },
- },
- MyExtensionService,
- provideExtensionConfig(['my-extension.json']),
- ],
- declarations: components(),
- exports: components(),
+ imports: [MyExtensionComponent],
+ providers: [
+ provideTranslations('my-extension', 'assets/my-extension'),
+ MyExtensionService,
+ provideExtensionConfig(['my-extension.json']),
+ ]
})
export class MyExtensionModule {
- constructor(extensions: ExtensionService) {
- extensions.setComponents({
- 'my-extension.main.component' : MyExtensionComponent,
- });
- }
+ constructor(extensions: ExtensionService) {
+ extensions.setComponents({
+ 'my-extension.main.component': MyExtensionComponent,
+ });
+ }
}
```
@@ -133,16 +126,13 @@ This is a very basic example, adding a “My Extension” item to the existing l
Now that the ACA extension is developed in its initial version, let's add the extension module to the list of the ones used by the application. To complete the task, edit the `src/app/extensions.module.ts` file as described below.
```typescript
- // Add the following import to the page.
- import { MyExtensionModule } from 'my-extension';
-
- @NgModule({
- imports: [
- ...,
- MyExtensionModule
- ]
- })
- export class AppExtensionsModule {}
+// Add the following import to the page.
+import { MyExtensionModule } from 'my-extension';
+
+@NgModule({
+ imports: [MyExtensionModule]
+})
+export class AppExtensionsModule {}
```
In addition, edit the `src/assets/app.extensions.json` file on the `$references` array. Below how it should look like.
diff --git a/projects/aca-content/about/src/aca-about.module.ts b/projects/aca-content/about/src/aca-about.module.ts
index 7d64f84fc..187a6b6d5 100644
--- a/projects/aca-content/about/src/aca-about.module.ts
+++ b/projects/aca-content/about/src/aca-about.module.ts
@@ -27,7 +27,6 @@ import { AboutComponent } from './about.component';
import { ExtensionService, provideExtensionConfig } from '@alfresco/adf-extensions';
@NgModule({
- imports: [AboutComponent],
providers: [provideExtensionConfig(['about.plugin.json'])]
})
export class AcaAboutModule {
diff --git a/projects/aca-content/folder-rules/src/folder-rules.module.ts b/projects/aca-content/folder-rules/src/folder-rules.module.ts
index 79d7ca708..777b238dd 100644
--- a/projects/aca-content/folder-rules/src/folder-rules.module.ts
+++ b/projects/aca-content/folder-rules/src/folder-rules.module.ts
@@ -22,24 +22,12 @@
* from Hyland Software. If not, see .
*/
-import { TranslationService } from '@alfresco/adf-core';
+import { provideTranslations } from '@alfresco/adf-core';
import { ExtensionService, provideExtensionConfig } from '@alfresco/adf-extensions';
import { NgModule } from '@angular/core';
import * as rules from './folder-rules.rules';
-import { RouterModule, Routes } from '@angular/router';
-import { EditRuleDialogUiComponent } from './rule-details/edit-rule-dialog.ui-component';
+import { provideRouter, Routes } from '@angular/router';
import { ManageRulesSmartComponent } from './manage-rules/manage-rules.smart-component';
-import { RuleCompositeConditionUiComponent } from './rule-details/conditions/rule-composite-condition.ui-component';
-import { RuleDetailsUiComponent } from './rule-details/rule-details.ui-component';
-import { RuleSimpleConditionUiComponent } from './rule-details/conditions/rule-simple-condition.ui-component';
-import { RuleListItemUiComponent } from './rule-list/rule-list-item/rule-list-item.ui-component';
-import { RuleListGroupingUiComponent } from './rule-list/rule-list-grouping/rule-list-grouping.ui-component';
-import { RuleTriggersUiComponent } from './rule-details/triggers/rule-triggers.ui-component';
-import { RuleOptionsUiComponent } from './rule-details/options/rule-options.ui-component';
-import { RuleActionListUiComponent } from './rule-details/actions/rule-action-list.ui-component';
-import { RuleActionUiComponent } from './rule-details/actions/rule-action.ui-component';
-import { RuleListUiComponent } from './rule-list/rule-list/rule-list.ui-component';
-import { RuleSetPickerSmartComponent } from './rule-set-picker/rule-set-picker.smart-component';
import { PluginEnabledGuard } from '@alfresco/aca-shared';
const routes: Routes = [
@@ -54,28 +42,10 @@ const routes: Routes = [
];
@NgModule({
- providers: [provideExtensionConfig(['folder-rules.plugin.json'])],
- imports: [
- RouterModule.forChild(routes),
- RuleListItemUiComponent,
- RuleListGroupingUiComponent,
- RuleListUiComponent,
- ManageRulesSmartComponent,
- RuleSetPickerSmartComponent,
- RuleActionListUiComponent,
- RuleActionUiComponent,
- RuleCompositeConditionUiComponent,
- RuleSimpleConditionUiComponent,
- RuleOptionsUiComponent,
- RuleTriggersUiComponent,
- RuleDetailsUiComponent,
- EditRuleDialogUiComponent
- ]
+ providers: [provideTranslations('folder-rules', 'assets/folder-rules'), provideExtensionConfig(['folder-rules.plugin.json']), provideRouter(routes)]
})
export class AcaFolderRulesModule {
- constructor(translation: TranslationService, extensions: ExtensionService) {
- translation.addTranslationFolder('folder-rules', 'assets/folder-rules');
-
+ constructor(extensions: ExtensionService) {
extensions.setEvaluators({
'rules.isFolderRulesEnabled': rules.isFolderRulesEnabled
});
diff --git a/projects/aca-content/ms-office/src/aos-extension.module.ts b/projects/aca-content/ms-office/src/aos-extension.module.ts
index 2ba5d5c4b..7c77288bd 100644
--- a/projects/aca-content/ms-office/src/aos-extension.module.ts
+++ b/projects/aca-content/ms-office/src/aos-extension.module.ts
@@ -26,16 +26,15 @@ import { ExtensionService, provideExtensionConfig } from '@alfresco/adf-extensio
import { NgModule } from '@angular/core';
import { EffectsModule } from '@ngrx/effects';
import { AosEffects } from './effects/aos.effects';
-import { TranslationService } from '@alfresco/adf-core';
+import { provideTranslations } from '@alfresco/adf-core';
import { canOpenWithOffice } from '@alfresco/aca-shared/rules';
@NgModule({
imports: [EffectsModule.forFeature([AosEffects])],
- providers: [provideExtensionConfig(['aos.plugin.json'])]
+ providers: [provideExtensionConfig(['aos.plugin.json']), provideTranslations('ms-office', 'assets/ms-office')]
})
export class AosExtensionModule {
- constructor(extensions: ExtensionService, translation: TranslationService) {
- translation.addTranslationFolder('ms-office', 'assets/ms-office');
+ constructor(extensions: ExtensionService) {
extensions.setEvaluators({
'aos.canOpenWithOffice': canOpenWithOffice
});
diff --git a/projects/aca-content/src/lib/aca-content.module.ts b/projects/aca-content/src/lib/aca-content.module.ts
index c15d6309e..f3e0a69c6 100644
--- a/projects/aca-content/src/lib/aca-content.module.ts
+++ b/projects/aca-content/src/lib/aca-content.module.ts
@@ -34,17 +34,15 @@ import {
LibraryStatusColumnComponent,
TrashcanNameColumnComponent
} from '@alfresco/adf-content-services';
-import { DocumentBasePageService, ExtensionsDataLoaderGuard, OpenInAppComponent } from '@alfresco/aca-shared';
+import { DocumentBasePageService, ExtensionsDataLoaderGuard } from '@alfresco/aca-shared';
import * as rules from '@alfresco/aca-shared/rules';
import { AppStoreModule } from './store/app-store.module';
import { CoreExtensionsModule } from './extensions/core.extensions.module';
-import { AppInfoDrawerModule } from './components/info-drawer/info.drawer.module';
import { ExtensionService, ExtensionsModule } from '@alfresco/adf-extensions';
import { APP_TOOLBAR_DIRECTIVES } from './components/toolbar';
import { APP_SIDENAV_DIRECTIVES } from './components/sidenav';
import { APP_COMMON_DIRECTIVES } from './components/common';
import { APP_SEARCH_DIRECTIVES } from './components/search';
-import { CreateFromTemplateDialogComponent } from './dialogs/node-template/create-from-template.dialog';
import { ContentUrlService } from './services/content-url.service';
import { CommonModule } from '@angular/common';
import { LocationLinkComponent } from './components/common/location-link/location-link.component';
@@ -95,12 +93,8 @@ import { SaveSearchSidenavComponent } from './components/search/search-save/side
...APP_SIDENAV_DIRECTIVES,
...APP_SEARCH_DIRECTIVES,
ContextMenuComponent,
- AppInfoDrawerModule,
HammerModule,
- AcaFolderRulesModule,
- CreateFromTemplateDialogComponent,
- OpenInAppComponent,
- UploadFilesDialogComponent
+ AcaFolderRulesModule
],
providers: [
{ provide: ContentVersionService, useClass: ContentUrlService },
diff --git a/projects/aca-content/src/lib/components/info-drawer/comments-tab/comments-tab.component.spec.ts b/projects/aca-content/src/lib/components/info-drawer/comments-tab/comments-tab.component.spec.ts
index 38f25ffcd..9d8b08630 100644
--- a/projects/aca-content/src/lib/components/info-drawer/comments-tab/comments-tab.component.spec.ts
+++ b/projects/aca-content/src/lib/components/info-drawer/comments-tab/comments-tab.component.spec.ts
@@ -24,12 +24,12 @@
import { CommentsTabComponent } from './comments-tab.component';
import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { AppTestingModule } from '../../../testing/app-testing.module';
import { NodePermissionService } from '@alfresco/aca-shared';
import { Node } from '@alfresco/js-api';
import { of } from 'rxjs';
-import { AuthenticationService } from '@alfresco/adf-core';
+import { AuthenticationService, NoopTranslateModule } from '@alfresco/adf-core';
import { ExternalNodePermissionCommentsTabService } from '@alfresco/aca-content';
+import { AlfrescoApiService, AlfrescoApiServiceMock } from '@alfresco/adf-content-services';
describe('CommentsTabComponent', () => {
let component: CommentsTabComponent;
@@ -40,8 +40,9 @@ describe('CommentsTabComponent', () => {
beforeEach(() => {
TestBed.configureTestingModule({
- imports: [AppTestingModule, CommentsTabComponent],
+ imports: [NoopTranslateModule, CommentsTabComponent],
providers: [
+ { provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock },
{ provide: ExternalNodePermissionCommentsTabService, useValue: { canAddComments: () => canAddComment } },
{ provide: AuthenticationService, useValue: { onLogout: of({}) } }
]
diff --git a/projects/aca-content/src/lib/components/info-drawer/comments-tab/comments-tab.component.ts b/projects/aca-content/src/lib/components/info-drawer/comments-tab/comments-tab.component.ts
index a0d4c40f8..78efd870b 100644
--- a/projects/aca-content/src/lib/components/info-drawer/comments-tab/comments-tab.component.ts
+++ b/projects/aca-content/src/lib/components/info-drawer/comments-tab/comments-tab.component.ts
@@ -26,13 +26,13 @@ import { Component, Input, OnInit, Optional, ViewEncapsulation } from '@angular/
import { Node } from '@alfresco/js-api';
import { isLocked, NodePermissionService } from '@alfresco/aca-shared';
import { MatCardModule } from '@angular/material/card';
-import { NodeCommentsModule } from '@alfresco/adf-content-services';
+import { NodeCommentsComponent } from '@alfresco/adf-content-services';
import { ExternalNodePermissionCommentsTabService } from './external-node-permission-comments-tab.service';
@Component({
- imports: [MatCardModule, NodeCommentsModule],
+ imports: [MatCardModule, NodeCommentsComponent],
selector: 'app-comments-tab',
- template: ``,
styles: ['app-comments-tab mat-card { padding: 16px }'],
diff --git a/projects/aca-content/src/lib/components/info-drawer/info.drawer.module.ts b/projects/aca-content/src/lib/components/info-drawer/info.drawer.module.ts
deleted file mode 100644
index 012218158..000000000
--- a/projects/aca-content/src/lib/components/info-drawer/info.drawer.module.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-/*!
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Alfresco Example Content Application
- *
- * This file is part of the Alfresco Example Content Application.
- * If the software was purchased under a paid Alfresco license, the terms of
- * the paid license agreement will prevail. Otherwise, the software is
- * provided under the following open source license terms:
- *
- * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * The Alfresco Example Content Application is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * from Hyland Software. If not, see .
- */
-
-import { NgModule } from '@angular/core';
-import { CommentsTabComponent } from './comments-tab/comments-tab.component';
-import { MetadataTabComponent } from './metadata-tab/metadata-tab.component';
-import { LibraryMetadataTabComponent } from './library-metadata-tab/library-metadata-tab.component';
-import { LibraryMetadataFormComponent } from './library-metadata-tab/library-metadata-form.component';
-import { VersionsTabComponent } from './versions-tab/versions-tab.component';
-import { InfoDrawerComponent } from '@alfresco/aca-shared';
-
-@NgModule({
- imports: [
- InfoDrawerComponent,
- CommentsTabComponent,
- LibraryMetadataFormComponent,
- LibraryMetadataTabComponent,
- MetadataTabComponent,
- VersionsTabComponent
- ],
- exports: [
- InfoDrawerComponent,
- CommentsTabComponent,
- LibraryMetadataFormComponent,
- LibraryMetadataTabComponent,
- MetadataTabComponent,
- VersionsTabComponent
- ]
-})
-export class AppInfoDrawerModule {}
diff --git a/projects/aca-content/src/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.html b/projects/aca-content/src/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.html
index 42cce504e..517aeb3e7 100644
--- a/projects/aca-content/src/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.html
+++ b/projects/aca-content/src/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.html
@@ -1,4 +1,5 @@
-
+@if (node) {
+
-
-
-
-
-
-
+}
diff --git a/projects/aca-content/src/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.ts b/projects/aca-content/src/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.ts
index 46ad5bf63..8d59c52f0 100644
--- a/projects/aca-content/src/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.ts
+++ b/projects/aca-content/src/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.ts
@@ -42,7 +42,6 @@ import { debounceTime, mergeMap } from 'rxjs/operators';
import { AlfrescoApiService } from '@alfresco/adf-content-services';
import { from, Observable } from 'rxjs';
import { ErrorStateMatcher, MatOptionModule } from '@angular/material/core';
-import { CommonModule } from '@angular/common';
import { MatCardModule } from '@angular/material/card';
import { TranslatePipe } from '@ngx-translate/core';
import { MatFormFieldModule } from '@angular/material/form-field';
@@ -51,6 +50,7 @@ import { MatInputModule } from '@angular/material/input';
import { A11yModule } from '@angular/cdk/a11y';
import { MatButtonModule } from '@angular/material/button';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
+import { NgForOf } from '@angular/common';
export class InstantErrorStateMatcher implements ErrorStateMatcher {
isErrorState(control: UntypedFormControl | null, form: FormGroupDirective | NgForm | null): boolean {
@@ -61,7 +61,6 @@ export class InstantErrorStateMatcher implements ErrorStateMatcher {
@Component({
imports: [
- CommonModule,
MatCardModule,
TranslatePipe,
MatFormFieldModule,
@@ -71,7 +70,8 @@ export class InstantErrorStateMatcher implements ErrorStateMatcher {
MatOptionModule,
MatInputModule,
A11yModule,
- MatButtonModule
+ MatButtonModule,
+ NgForOf
],
selector: 'app-library-metadata-form',
templateUrl: './library-metadata-form.component.html',
diff --git a/projects/aca-content/src/lib/components/info-drawer/metadata-tab/metadata-tab.component.ts b/projects/aca-content/src/lib/components/info-drawer/metadata-tab/metadata-tab.component.ts
index 815f652d6..c78b65bee 100644
--- a/projects/aca-content/src/lib/components/info-drawer/metadata-tab/metadata-tab.component.ts
+++ b/projects/aca-content/src/lib/components/info-drawer/metadata-tab/metadata-tab.component.ts
@@ -36,14 +36,14 @@ import {
TagService
} from '@alfresco/adf-content-services';
import { filter, map } from 'rxjs/operators';
-import { CommonModule } from '@angular/common';
+import { AsyncPipe } from '@angular/common';
import { Actions, ofType } from '@ngrx/effects';
import { Store } from '@ngrx/store';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { ExtensionService } from '@alfresco/adf-extensions';
@Component({
- imports: [CommonModule, ContentMetadataComponent],
+ imports: [ContentMetadataComponent, AsyncPipe],
selector: 'app-metadata-tab',
template: `
+@if (item) {
+
+}
diff --git a/projects/aca-content/src/lib/components/search/search-save/sidenav/save-search-sidenav.component.ts b/projects/aca-content/src/lib/components/search/search-save/sidenav/save-search-sidenav.component.ts
index 8d0299501..90d299684 100644
--- a/projects/aca-content/src/lib/components/search/search-save/sidenav/save-search-sidenav.component.ts
+++ b/projects/aca-content/src/lib/components/search/search-save/sidenav/save-search-sidenav.component.ts
@@ -24,7 +24,7 @@
import { Component, DestroyRef, inject, OnInit, ViewEncapsulation } from '@angular/core';
import { SavedSearch, SavedSearchesService } from '@alfresco/adf-content-services';
-import { CoreModule, TranslationService, UserPreferencesService, UserPreferenceValues } from '@alfresco/adf-core';
+import { TranslationService, UserPreferencesService, UserPreferenceValues } from '@alfresco/adf-core';
import { NavBarLinkRef } from '@alfresco/adf-extensions';
import { ExpandMenuComponent } from '../../../sidenav/components/expand-menu.component';
import { AppService } from '@alfresco/aca-shared';
@@ -33,7 +33,7 @@ import { delay } from 'rxjs/operators';
@Component({
selector: 'aca-save-search-sidenav',
- imports: [CoreModule, ExpandMenuComponent],
+ imports: [ExpandMenuComponent],
templateUrl: './save-search-sidenav.component.html',
encapsulation: ViewEncapsulation.None
})
diff --git a/projects/aca-content/src/lib/extensions/core.extensions.module.ts b/projects/aca-content/src/lib/extensions/core.extensions.module.ts
index d0e3f59dc..bcca4df02 100644
--- a/projects/aca-content/src/lib/extensions/core.extensions.module.ts
+++ b/projects/aca-content/src/lib/extensions/core.extensions.module.ts
@@ -23,24 +23,18 @@
*/
import { inject, ModuleWithProviders, NgModule, provideAppInitializer } from '@angular/core';
-import { ExtensionsModule } from '@alfresco/adf-extensions';
import { AppExtensionService } from '@alfresco/aca-shared';
-export function setupExtensions(service: AppExtensionService): () => void {
- return () => service.load();
-}
-
-@NgModule({
- imports: [ExtensionsModule]
-})
+/** @deprecated use provideExtensions() api instead */
+@NgModule()
export class CoreExtensionsModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: CoreExtensionsModule,
providers: [
provideAppInitializer(() => {
- const initializerFn = setupExtensions(inject(AppExtensionService));
- return initializerFn();
+ const service = inject(AppExtensionService);
+ return service.load();
})
]
};
diff --git a/projects/aca-shared/src/lib/deprecated/shared.module.ts b/projects/aca-content/src/lib/extensions/provide-extensions.ts
similarity index 64%
rename from projects/aca-shared/src/lib/deprecated/shared.module.ts
rename to projects/aca-content/src/lib/extensions/provide-extensions.ts
index 8d2a28e44..7c71c2a1c 100644
--- a/projects/aca-shared/src/lib/deprecated/shared.module.ts
+++ b/projects/aca-content/src/lib/extensions/provide-extensions.ts
@@ -22,16 +22,14 @@
* from Hyland Software. If not, see .
*/
-import { NgModule } from '@angular/core';
-import { MatButtonModule } from '@angular/material/button';
-import { MatIconModule } from '@angular/material/icon';
-import { MatDialogModule } from '@angular/material/dialog';
-import { TranslateModule } from '@ngx-translate/core';
-import { ContextActionsDirective } from '../directives/contextmenu/contextmenu.directive';
+import { EnvironmentProviders, inject, provideAppInitializer, Provider } from '@angular/core';
+import { AppExtensionService } from '@alfresco/aca-shared';
-// @deprecated
-@NgModule({
- imports: [MatButtonModule, MatIconModule, MatDialogModule, TranslateModule, ContextActionsDirective],
- exports: [MatButtonModule, MatIconModule, MatDialogModule, TranslateModule, ContextActionsDirective]
-})
-export class SharedModule {}
+export function provideExtensions(): (Provider | EnvironmentProviders)[] {
+ return [
+ provideAppInitializer(() => {
+ const service = inject(AppExtensionService);
+ return service.load();
+ })
+ ];
+}
diff --git a/projects/aca-content/src/public-api.ts b/projects/aca-content/src/public-api.ts
index d8c85471e..1dbe98157 100644
--- a/projects/aca-content/src/public-api.ts
+++ b/projects/aca-content/src/public-api.ts
@@ -34,3 +34,4 @@ export * from './lib/services/content-url.service';
export * from './lib/services/content-management.service';
export * from './lib/components/info-drawer/comments-tab/external-node-permission-comments-tab.service';
export * from './lib/utils/aca-search-utils';
+export * from './lib/extensions/provide-extensions';
diff --git a/projects/aca-shared/src/lib/deprecated/shared-toolbar.module.ts b/projects/aca-shared/src/lib/deprecated/shared-toolbar.module.ts
deleted file mode 100644
index 49fcf9788..000000000
--- a/projects/aca-shared/src/lib/deprecated/shared-toolbar.module.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-/*!
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Alfresco Example Content Application
- *
- * This file is part of the Alfresco Example Content Application.
- * If the software was purchased under a paid Alfresco license, the terms of
- * the paid license agreement will prevail. Otherwise, the software is
- * provided under the following open source license terms:
- *
- * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * The Alfresco Example Content Application is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * from Hyland Software. If not, see .
- */
-
-import { NgModule } from '@angular/core';
-import { ToolbarButtonComponent } from '../components/toolbar/toolbar-button/toolbar-button.component';
-import { ToolbarActionComponent } from '../components/toolbar/toolbar-action/toolbar-action.component';
-import { ToolbarMenuItemComponent } from '../components/toolbar/toolbar-menu-item/toolbar-menu-item.component';
-import { ToolbarMenuComponent } from '../components/toolbar/toolbar-menu/toolbar-menu.component';
-
-// @deprecated
-@NgModule({
- imports: [ToolbarButtonComponent, ToolbarActionComponent, ToolbarMenuItemComponent, ToolbarMenuComponent],
- exports: [ToolbarButtonComponent, ToolbarActionComponent, ToolbarMenuItemComponent, ToolbarMenuComponent]
-})
-export class SharedToolbarModule {}
diff --git a/projects/aca-shared/src/public-api.ts b/projects/aca-shared/src/public-api.ts
index 258b8a39d..d3edd7b69 100644
--- a/projects/aca-shared/src/public-api.ts
+++ b/projects/aca-shared/src/public-api.ts
@@ -62,6 +62,3 @@ export * from './lib/services/navigation-history.service';
export * from './lib/utils/node.utils';
export * from './lib/testing/lib-testing-module';
-
-export * from './lib/deprecated/shared.module';
-export * from './lib/deprecated/shared-toolbar.module';