Andy Stark a46e16c28a [ACA-2157] Fixed structure, markup and links ()
* [ACA-2157] Added brief description and updated links

* [ACA-2157] Fixed broken image URL
2019-01-23 07:45:31 +00:00

1.5 KiB

Title
Title
Registration

Registration

You can use ExtensionService to register custom components, authentication guards, rule evaluators, etc.

It is recommended to register custom content from within the module constructor. In that case all plugins will be available right after the main application component is ready.

Update the main application module app.module.ts, or create your own module, and use the following snippet to register custom content:

import { ExtensionsModule, ExtensionService } from '@alfresco/adf-extensions';

@NgModule({
    imports: [ ExtensionsModule ]
    declarations: [ MyComponent1, MyLayout ],
    entryComponents: [ MyComponent1, MyLayout ]
})
export class MyExtensionModule {

    constructor(extensions: ExtensionService) {
        extensions.setComponents({
            'plugin1.components.my': MyComponent1,
            'plugin1.layouts.my': MyLayout
        });

        extensions.setAuthGuards({
            'plugin.auth': MyAuthGuard
        });

        extensions.setEvaluators({
            'plugin1.rules.custom1': MyCustom1Evaluator,
            'plugin1.rules.custom2': MyCustom2Evaluator
        });
    }

}

Note: According to Angular rules, all components that are created dynamically at runtime need to be registered within the entryComponents section of the NgModule.

The Registration API is not limited to the custom content only. You can replace any existing entries by replacing the values from your module.