extensions: tree-shakable services

This commit is contained in:
Denys Vuika 2018-09-23 12:44:23 +01:00
parent a35526c225
commit 018b08cce7
2 changed files with 5 additions and 19 deletions

View File

@ -15,28 +15,12 @@
* limitations under the License. * limitations under the License.
*/ */
import { NgModule, ModuleWithProviders } from '@angular/core'; import { NgModule } from '@angular/core';
import { ExtensionLoaderService } from './services/extension-loader.service';
import { ExtensionService } from './services/extension.service';
import { DynamicExtensionComponent } from './components/dynamic-component/dynamic.component'; import { DynamicExtensionComponent } from './components/dynamic-component/dynamic.component';
import { DynamicTabComponent } from './components/dynamic-tab/dynamic-tab.component'; import { DynamicTabComponent } from './components/dynamic-tab/dynamic-tab.component';
@NgModule({ @NgModule({
imports: [],
declarations: [DynamicExtensionComponent, DynamicTabComponent], declarations: [DynamicExtensionComponent, DynamicTabComponent],
exports: [DynamicExtensionComponent, DynamicTabComponent] exports: [DynamicExtensionComponent, DynamicTabComponent]
}) })
export class ExtensionsModule { export class ExtensionsModule {}
static forRoot(): ModuleWithProviders {
return {
ngModule: ExtensionsModule,
providers: [ExtensionLoaderService, ExtensionService]
};
}
static forChild(): ModuleWithProviders {
return {
ngModule: ExtensionsModule
};
}
}

View File

@ -23,7 +23,9 @@ import { RouteRef } from '../config/routing.extensions';
import { ActionRef } from '../config/action.extensions'; import { ActionRef } from '../config/action.extensions';
import * as core from '../evaluators/core.evaluators'; import * as core from '../evaluators/core.evaluators';
@Injectable() @Injectable({
providedIn: 'root'
})
export class ExtensionService { export class ExtensionService {
configPath = 'assets/app.extensions.json'; configPath = 'assets/app.extensions.json';
pluginsPath = 'assets/plugins'; pluginsPath = 'assets/plugins';