mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2026-09-09 18:03:21 +00:00
AAE-36664 Cleanup deprecated AppConfigModule (#11016)
* cleanup deprecated AppConfigModule * migrate factory to initializer * add provideAppExtensions() api to allow deprecating ExtensionsModule in apps * fix viewer render import * use Angular control flow instead of NgIf * use Angular control flow instead of NgSwitch
This commit is contained in:
@@ -15,36 +15,26 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { DynamicExtensionComponent } from './components/dynamic-component/dynamic.component';
|
||||
import { DynamicTabComponent } from './components/dynamic-tab/dynamic-tab.component';
|
||||
import { DynamicColumnComponent } from './components/dynamic-column/dynamic-column.component';
|
||||
import { PreviewExtensionComponent } from './components/viewer/preview-extension.component';
|
||||
import { NgModule, ModuleWithProviders, inject, provideAppInitializer } from '@angular/core';
|
||||
import { AppExtensionService } from './services/app-extension.service';
|
||||
import { setupExtensions } from './services/startup-extension-factory';
|
||||
|
||||
export const EXTENSION_DIRECTIVES = [DynamicExtensionComponent, DynamicTabComponent, DynamicColumnComponent, PreviewExtensionComponent] as const;
|
||||
|
||||
/** @deprecated import EXTENSION_DIRECTIVES or standalone components instead */
|
||||
@NgModule({
|
||||
imports: [...EXTENSION_DIRECTIVES],
|
||||
exports: [...EXTENSION_DIRECTIVES]
|
||||
})
|
||||
/** @deprecated use provideAppExtensions() api instead */
|
||||
@NgModule()
|
||||
export class ExtensionsModule {
|
||||
static forRoot(): ModuleWithProviders<ExtensionsModule> {
|
||||
return {
|
||||
ngModule: ExtensionsModule,
|
||||
providers: [
|
||||
provideAppInitializer(() => {
|
||||
const initializerFn = setupExtensions(inject(AppExtensionService));
|
||||
return initializerFn();
|
||||
const appExtensionService = inject(AppExtensionService);
|
||||
return appExtensionService.load();
|
||||
})
|
||||
]
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated use `ExtensionsModule` instead, `EXTENSION_DIRECTIVES` or direct standalone components
|
||||
* @deprecated use provideAppExtensions() api instead
|
||||
* @returns Module with providers
|
||||
*/
|
||||
static forChild(): ModuleWithProviders<ExtensionsModule> {
|
||||
|
||||
+14
-2
@@ -15,6 +15,18 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { AppExtensionService } from './app-extension.service';
|
||||
import { EnvironmentProviders, inject, provideAppInitializer, Provider } from '@angular/core';
|
||||
import { AppExtensionService } from './services/app-extension.service';
|
||||
|
||||
export const setupExtensions = (appExtensionService: AppExtensionService) => () => appExtensionService.load();
|
||||
/**
|
||||
* Provides all necessary entries for the app extensibility
|
||||
* @returns list of providers
|
||||
*/
|
||||
export function provideAppExtensions(): (Provider | EnvironmentProviders)[] {
|
||||
return [
|
||||
provideAppInitializer(() => {
|
||||
const appExtensionService = inject(AppExtensionService);
|
||||
return appExtensionService.load();
|
||||
})
|
||||
];
|
||||
}
|
||||
@@ -41,3 +41,4 @@ export * from './lib/store/states/repository.state';
|
||||
|
||||
export * from './lib/components/public-api';
|
||||
export * from './lib/extensions.module';
|
||||
export * from './lib/providers';
|
||||
|
||||
Reference in New Issue
Block a user