Showing
3 changed files
with
63 additions
and
40 deletions
ui-ngx/src/app/modules/common/modules-map.ts
0 → 100644
1 | +/// | |
2 | +/// Copyright © 2016-2020 The Thingsboard Authors | |
3 | +/// | |
4 | +/// Licensed under the Apache License, Version 2.0 (the "License"); | |
5 | +/// you may not use this file except in compliance with the License. | |
6 | +/// You may obtain a copy of the License at | |
7 | +/// | |
8 | +/// http://www.apache.org/licenses/LICENSE-2.0 | |
9 | +/// | |
10 | +/// Unless required by applicable law or agreed to in writing, software | |
11 | +/// distributed under the License is distributed on an "AS IS" BASIS, | |
12 | +/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
13 | +/// See the License for the specific language governing permissions and | |
14 | +/// limitations under the License. | |
15 | +/// | |
16 | + | |
17 | +import * as AngularCore from '@angular/core'; | |
18 | +import * as AngularCommon from '@angular/common'; | |
19 | +import * as AngularForms from '@angular/forms'; | |
20 | +import * as AngularRouter from '@angular/router'; | |
21 | +import * as AngularCdkKeycodes from '@angular/cdk/keycodes'; | |
22 | +import * as AngularCdkCoercion from '@angular/cdk/coercion'; | |
23 | +import * as AngularMaterialChips from '@angular/material/chips'; | |
24 | +import * as AngularMaterialAutocomplete from '@angular/material/autocomplete'; | |
25 | +import * as AngularMaterialDialog from '@angular/material/dialog'; | |
26 | +import * as NgrxStore from '@ngrx/store'; | |
27 | +import * as RxJs from 'rxjs'; | |
28 | +import * as RxJsOperators from 'rxjs/operators'; | |
29 | +import * as TranslateCore from '@ngx-translate/core'; | |
30 | +import * as TbCore from '@core/public-api'; | |
31 | +import * as TbShared from '@shared/public-api'; | |
32 | +import * as TbHomeComponents from '@home/components/public-api'; | |
33 | +import * as _moment from 'moment'; | |
34 | + | |
35 | +declare const SystemJS; | |
36 | + | |
37 | +export const modulesMap: {[key: string]: any} = { | |
38 | + '@angular/core': SystemJS.newModule(AngularCore), | |
39 | + '@angular/common': SystemJS.newModule(AngularCommon), | |
40 | + '@angular/forms': SystemJS.newModule(AngularForms), | |
41 | + '@angular/router': SystemJS.newModule(AngularRouter), | |
42 | + '@angular/cdk/keycodes': SystemJS.newModule(AngularCdkKeycodes), | |
43 | + '@angular/cdk/coercion': SystemJS.newModule(AngularCdkCoercion), | |
44 | + '@angular/material/chips': SystemJS.newModule(AngularMaterialChips), | |
45 | + '@angular/material/autocomplete': SystemJS.newModule(AngularMaterialAutocomplete), | |
46 | + '@angular/material/dialog': SystemJS.newModule(AngularMaterialDialog), | |
47 | + '@ngrx/store': SystemJS.newModule(NgrxStore), | |
48 | + rxjs: SystemJS.newModule(RxJs), | |
49 | + 'rxjs/operators': SystemJS.newModule(RxJsOperators), | |
50 | + '@ngx-translate/core': SystemJS.newModule(TranslateCore), | |
51 | + '@core/public-api': SystemJS.newModule(TbCore), | |
52 | + '@shared/public-api': SystemJS.newModule(TbShared), | |
53 | + '@home/components/public-api': SystemJS.newModule(TbHomeComponents), | |
54 | + moment: SystemJS.newModule(_moment) | |
55 | +}; | ... | ... |
... | ... | @@ -25,6 +25,8 @@ import { DashboardUtilsService } from '@core/services/dashboard-utils.service'; |
25 | 25 | import { DashboardResolver } from '@app/modules/home/pages/dashboard/dashboard-routing.module'; |
26 | 26 | import { UtilsService } from '@core/services/utils.service'; |
27 | 27 | import { Widget } from '@app/shared/models/widget.models'; |
28 | +import { MODULES_MAP } from '../../shared/models/constants'; | |
29 | +import { modulesMap } from '../common/modules-map'; | |
28 | 30 | |
29 | 31 | @Injectable() |
30 | 32 | export class WidgetEditorDashboardResolver implements Resolve<Dashboard> { |
... | ... | @@ -92,7 +94,11 @@ const routes: Routes = [ |
92 | 94 | imports: [RouterModule.forChild(routes)], |
93 | 95 | exports: [RouterModule], |
94 | 96 | providers: [ |
95 | - WidgetEditorDashboardResolver | |
97 | + WidgetEditorDashboardResolver, | |
98 | + { | |
99 | + provide: MODULES_MAP, | |
100 | + useValue: modulesMap | |
101 | + } | |
96 | 102 | ] |
97 | 103 | }) |
98 | 104 | export class DashboardPagesRoutingModule { } | ... | ... |
... | ... | @@ -29,46 +29,8 @@ import { EntityViewModule } from '@modules/home/pages/entity-view/entity-view.mo |
29 | 29 | import { RuleChainModule } from '@modules/home/pages/rulechain/rulechain.module'; |
30 | 30 | import { WidgetLibraryModule } from '@modules/home/pages/widget/widget-library.module'; |
31 | 31 | import { DashboardModule } from '@modules/home/pages/dashboard/dashboard.module'; |
32 | -import * as AngularCore from '@angular/core'; | |
33 | -import * as AngularCommon from '@angular/common'; | |
34 | -import * as AngularForms from '@angular/forms'; | |
35 | -import * as AngularRouter from '@angular/router'; | |
36 | -import * as AngularCdkKeycodes from '@angular/cdk/keycodes'; | |
37 | -import * as AngularCdkCoercion from '@angular/cdk/coercion'; | |
38 | -import * as AngularMaterialChips from '@angular/material/chips'; | |
39 | -import * as AngularMaterialAutocomplete from '@angular/material/autocomplete'; | |
40 | -import * as AngularMaterialDialog from '@angular/material/dialog'; | |
41 | -import * as NgrxStore from '@ngrx/store'; | |
42 | -import * as RxJs from 'rxjs'; | |
43 | -import * as RxJsOperators from 'rxjs/operators'; | |
44 | -import * as TranslateCore from '@ngx-translate/core'; | |
45 | -import * as TbCore from '@core/public-api'; | |
46 | -import * as TbShared from '@shared/public-api'; | |
47 | -import * as TbHomeComponents from '@home/components/public-api'; | |
48 | -import * as _moment from 'moment'; | |
49 | 32 | import { MODULES_MAP } from '@shared/public-api'; |
50 | - | |
51 | -declare const SystemJS; | |
52 | - | |
53 | -const modulesMap: {[key: string]: any} = { | |
54 | - '@angular/core': SystemJS.newModule(AngularCore), | |
55 | - '@angular/common': SystemJS.newModule(AngularCommon), | |
56 | - '@angular/forms': SystemJS.newModule(AngularForms), | |
57 | - '@angular/router': SystemJS.newModule(AngularRouter), | |
58 | - '@angular/cdk/keycodes': SystemJS.newModule(AngularCdkKeycodes), | |
59 | - '@angular/cdk/coercion': SystemJS.newModule(AngularCdkCoercion), | |
60 | - '@angular/material/chips': SystemJS.newModule(AngularMaterialChips), | |
61 | - '@angular/material/autocomplete': SystemJS.newModule(AngularMaterialAutocomplete), | |
62 | - '@angular/material/dialog': SystemJS.newModule(AngularMaterialDialog), | |
63 | - '@ngrx/store': SystemJS.newModule(NgrxStore), | |
64 | - rxjs: SystemJS.newModule(RxJs), | |
65 | - 'rxjs/operators': SystemJS.newModule(RxJsOperators), | |
66 | - '@ngx-translate/core': SystemJS.newModule(TranslateCore), | |
67 | - '@core/public-api': SystemJS.newModule(TbCore), | |
68 | - '@shared/public-api': SystemJS.newModule(TbShared), | |
69 | - '@home/components/public-api': SystemJS.newModule(TbHomeComponents), | |
70 | - moment: SystemJS.newModule(_moment) | |
71 | -}; | |
33 | +import { modulesMap } from '../../common/modules-map'; | |
72 | 34 | |
73 | 35 | @NgModule({ |
74 | 36 | exports: [ | ... | ... |