@esfaenza/dashboard-feature 15.2.8 → 15.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/dashboard-feature.module.mjs +5 -14
- package/esm2020/lib/services/DashboardWidgetFactory.mjs +7 -47
- package/fesm2015/esfaenza-dashboard-feature.mjs +22 -72
- package/fesm2015/esfaenza-dashboard-feature.mjs.map +1 -1
- package/fesm2020/esfaenza-dashboard-feature.mjs +22 -72
- package/fesm2020/esfaenza-dashboard-feature.mjs.map +1 -1
- package/lib/dashboard-feature.module.d.ts +1 -2
- package/lib/services/DashboardWidgetFactory.d.ts +2 -21
- package/package.json +7 -7
|
@@ -5,6 +5,7 @@ import { GridsterModule } from 'angular-gridster2';
|
|
|
5
5
|
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
6
6
|
import { DSH_OPTIONS } from './private-injection-tokens';
|
|
7
7
|
import { DefaultDashboardModuleOptions } from './models/options/DefaultDashboardModuleOptions';
|
|
8
|
+
import { DashboardWidgetFactory } from './services/DashboardWidgetFactory';
|
|
8
9
|
import { DashboardComponent } from './components/dashboard/dashboard.component';
|
|
9
10
|
import { FormsAndValidationsModule } from '@esfaenza/forms-and-validations';
|
|
10
11
|
import { EsChartsModule } from '@esfaenza/es-charts';
|
|
@@ -51,24 +52,14 @@ export class DashboardFeatureModule {
|
|
|
51
52
|
providers: [
|
|
52
53
|
{ provide: DSH_OPTIONS, multi: true, useValue: new DefaultDashboardModuleOptions() },
|
|
53
54
|
{ provide: DSH_OPTIONS, multi: true, useValue: options },
|
|
54
|
-
{ provide: DSH_DATA_SERVICE, useClass: DashboardFeatureAPIDataService }
|
|
55
|
-
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
static forChild(options) {
|
|
59
|
-
return {
|
|
60
|
-
ngModule: DashboardFeatureModule,
|
|
61
|
-
providers: [
|
|
62
|
-
{ provide: DSH_OPTIONS, multi: true, useValue: new DefaultDashboardModuleOptions() },
|
|
63
|
-
{ provide: DSH_OPTIONS, multi: true, useValue: options }
|
|
55
|
+
{ provide: DSH_DATA_SERVICE, useClass: DashboardFeatureAPIDataService },
|
|
56
|
+
DashboardWidgetFactory
|
|
64
57
|
]
|
|
65
58
|
};
|
|
66
59
|
}
|
|
67
60
|
constructor(componentFactory, options) {
|
|
68
|
-
if (!options)
|
|
69
|
-
//componentFactory.addOption(new DefaultDashboardModuleOptions());
|
|
61
|
+
if (!options)
|
|
70
62
|
return;
|
|
71
|
-
}
|
|
72
63
|
options.map((o) => componentFactory.addOption(o));
|
|
73
64
|
}
|
|
74
65
|
}
|
|
@@ -104,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
104
95
|
type: Inject,
|
|
105
96
|
args: [DSH_OPTIONS]
|
|
106
97
|
}] }]; } });
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLWZlYXR1cmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZGFzaGJvYXJkLWZlYXR1cmUvc3JjL2xpYi9kYXNoYm9hcmQtZmVhdHVyZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBdUIsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFL0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBRTdELE1BQU0sT0FBTyxHQUFHO0lBQ2QsT0FBTztJQUNQLFlBQVk7SUFDWixXQUFXO0lBQ1gsY0FBYztJQUNkLG9CQUFvQjtJQUNwQix5QkFBeUI7SUFDekIsY0FBYztJQUNkLGlCQUFpQjtJQUNqQixzQkFBc0IsQ0FBQyxPQUFPLENBQUM7UUFDN0IsTUFBTSxFQUFFLEVBQUU7UUFDVixnQkFBZ0IsRUFBRSxDQUFDO1FBQ25CLGdCQUFnQixFQUFFLENBQUM7UUFDbkIsZ0JBQWdCLEVBQUUsU0FBUztRQUMzQixnQkFBZ0IsRUFBRSxTQUFTO1FBQzNCLGlCQUFpQixFQUFFLEdBQUc7S0FDdkIsQ0FBQztDQUNILENBQUM7QUFFRixNQUFNLFVBQVUsR0FBRztJQUNqQixrQkFBa0I7SUFDbEIsdUJBQXVCO0lBQ3ZCLDBCQUEwQjtJQUMxQix3QkFBd0I7SUFDeEIsNEJBQTRCO0NBQzdCLENBQUM7QUFPRixNQUFNLE9BQU8sc0JBQXNCO0lBRWpDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBaUM7UUFDOUMsT0FBTztZQUNMLFFBQVEsRUFBRSxzQkFBc0I7WUFDaEMsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLDZCQUE2QixFQUFFLEVBQUU7Z0JBQ3BGLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7Z0JBQ3hELEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSw4QkFBOEIsRUFBRTtnQkFDdkUsc0JBQXNCO2FBQ3ZCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLGdCQUF3QyxFQUFtQyxPQUFrQztRQUN2SCxJQUFJLENBQUMsT0FBTztZQUNWLE9BQU87UUFFVCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDOztvSEFuQlUsc0JBQXNCLHdEQWN5QyxXQUFXO3FIQWQxRSxzQkFBc0IsaUJBWmpDLGtCQUFrQjtRQUNsQix1QkFBdUI7UUFDdkIsMEJBQTBCO1FBQzFCLHdCQUF3QjtRQUN4Qiw0QkFBNEI7UUF2QjVCLE9BQU87UUFDUCxZQUFZO1FBQ1osV0FBVztRQUNYLGNBQWM7UUFDZCxvQkFBb0I7UUFDcEIseUJBQXlCO1FBQ3pCLGNBQWM7UUFDZCxpQkFBaUIsd0NBWWpCLGtCQUFrQjtRQUNsQix1QkFBdUI7UUFDdkIsMEJBQTBCO1FBQzFCLHdCQUF3QjtRQUN4Qiw0QkFBNEI7cUhBUWpCLHNCQUFzQixZQUhwQixPQUFPOzRGQUdULHNCQUFzQjtrQkFMbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztvQkFDN0IsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUM7b0JBQ3JCLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2lCQUN6Qjs7MEJBZXdELFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBJbmplY3QsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuaW1wb3J0IHsgR3JpZHN0ZXJNb2R1bGUgfSBmcm9tICdhbmd1bGFyLWdyaWRzdGVyMic7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcclxuaW1wb3J0IHsgRFNIX09QVElPTlMgfSBmcm9tICcuL3ByaXZhdGUtaW5qZWN0aW9uLXRva2Vucyc7XHJcbmltcG9ydCB7IERlZmF1bHREYXNoYm9hcmRNb2R1bGVPcHRpb25zIH0gZnJvbSAnLi9tb2RlbHMvb3B0aW9ucy9EZWZhdWx0RGFzaGJvYXJkTW9kdWxlT3B0aW9ucyc7XHJcbmltcG9ydCB7IElEYXNoYm9hcmRNb2R1bGVPcHRpb25zIH0gZnJvbSAnLi9tb2RlbHMvb3B0aW9ucy9JRGFzaGJvYXJkTW9kdWxlT3B0aW9ucyc7XHJcbmltcG9ydCB7IERhc2hib2FyZFdpZGdldEZhY3RvcnkgfSBmcm9tICcuL3NlcnZpY2VzL0Rhc2hib2FyZFdpZGdldEZhY3RvcnknO1xyXG5pbXBvcnQgeyBEYXNoYm9hcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGFzaGJvYXJkL2Rhc2hib2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlIH0gZnJvbSAnQGVzZmFlbnphL2Zvcm1zLWFuZC12YWxpZGF0aW9ucyc7XHJcbmltcG9ydCB7IEVzQ2hhcnRzTW9kdWxlIH0gZnJvbSAnQGVzZmFlbnphL2VzLWNoYXJ0cyc7XHJcbmltcG9ydCB7IEphY2VMaXN0V2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvbGlzdC9qYWNlLWRzaC1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEphY2VDb3VudGVyV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvY291bnRlci9qYWNlLWRzaC1jb3VudGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEphY2VDaGFydFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL2NoYXJ0L2phY2UtZHNoLWNoYXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEphY2VNdWx0aXByb2dXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0cy9tdWx0aXByb2cvamFjZS1kc2gtbXVsdGlwcm9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5nQ2lyY2xlUHJvZ3Jlc3NNb2R1bGUgfSBmcm9tICduZy1jaXJjbGUtcHJvZ3Jlc3MnO1xyXG5pbXBvcnQgeyBIdHRwc2VydmljZU1vZHVsZSB9IGZyb20gJ0Blc2ZhZW56YS9odHRwc2VydmljZSc7XHJcbmltcG9ydCB7IERhc2hib2FyZEZlYXR1cmVBUElEYXRhU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZGFzaGJvYXJkLWZlYXR1cmUuc2VydmljZSc7XHJcbmltcG9ydCB7IERTSF9EQVRBX1NFUlZJQ0UgfSBmcm9tICcuL3B1YmxpYy1pbmplY3Rpb24tdG9rZW5zJztcclxuXHJcbmNvbnN0IE1PRFVMRVMgPSBbXHJcbiAgLy8gQmFzZVxyXG4gIENvbW1vbk1vZHVsZSxcclxuICBGb3Jtc01vZHVsZSxcclxuICBHcmlkc3Rlck1vZHVsZSxcclxuICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcclxuICBGb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlLFxyXG4gIEVzQ2hhcnRzTW9kdWxlLFxyXG4gIEh0dHBzZXJ2aWNlTW9kdWxlLFxyXG4gIE5nQ2lyY2xlUHJvZ3Jlc3NNb2R1bGUuZm9yUm9vdCh7XHJcbiAgICByYWRpdXM6IDUwLFxyXG4gICAgb3V0ZXJTdHJva2VXaWR0aDogOCxcclxuICAgIGlubmVyU3Ryb2tlV2lkdGg6IDQsXHJcbiAgICBvdXRlclN0cm9rZUNvbG9yOiBcIiM3OEMwMDBcIixcclxuICAgIGlubmVyU3Ryb2tlQ29sb3I6IFwiI0M3RTU5NlwiLFxyXG4gICAgYW5pbWF0aW9uRHVyYXRpb246IDMwMFxyXG4gIH0pXHJcbl07XHJcblxyXG5jb25zdCBDT01QT05FTlRTID0gW1xyXG4gIERhc2hib2FyZENvbXBvbmVudCxcclxuICBKYWNlTGlzdFdpZGdldENvbXBvbmVudCxcclxuICBKYWNlQ291bnRlcldpZGdldENvbXBvbmVudCxcclxuICBKYWNlQ2hhcnRXaWRnZXRDb21wb25lbnQsXHJcbiAgSmFjZU11bHRpcHJvZ1dpZGdldENvbXBvbmVudFxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFsuLi5DT01QT05FTlRTXSxcclxuICBpbXBvcnRzOiBbLi4uTU9EVUxFU10sXHJcbiAgZXhwb3J0czogWy4uLkNPTVBPTkVOVFNdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXNoYm9hcmRGZWF0dXJlTW9kdWxlIHtcclxuXHJcbiAgc3RhdGljIGZvclJvb3Qob3B0aW9ucz86IElEYXNoYm9hcmRNb2R1bGVPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxEYXNoYm9hcmRGZWF0dXJlTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogRGFzaGJvYXJkRmVhdHVyZU1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBEU0hfT1BUSU9OUywgbXVsdGk6IHRydWUsIHVzZVZhbHVlOiBuZXcgRGVmYXVsdERhc2hib2FyZE1vZHVsZU9wdGlvbnMoKSB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogRFNIX09QVElPTlMsIG11bHRpOiB0cnVlLCB1c2VWYWx1ZTogb3B0aW9ucyB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogRFNIX0RBVEFfU0VSVklDRSwgdXNlQ2xhc3M6IERhc2hib2FyZEZlYXR1cmVBUElEYXRhU2VydmljZSB9LFxyXG4gICAgICAgIERhc2hib2FyZFdpZGdldEZhY3RvcnlcclxuICAgICAgXVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNvbXBvbmVudEZhY3Rvcnk6IERhc2hib2FyZFdpZGdldEZhY3RvcnksIEBPcHRpb25hbCgpIEBJbmplY3QoRFNIX09QVElPTlMpIG9wdGlvbnM6IElEYXNoYm9hcmRNb2R1bGVPcHRpb25zW10pIHtcclxuICAgIGlmICghb3B0aW9ucylcclxuICAgICAgcmV0dXJuO1xyXG4gICAgXHJcbiAgICBvcHRpb25zLm1hcCgobykgPT4gY29tcG9uZW50RmFjdG9yeS5hZGRPcHRpb24obykpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,29 +1,7 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
/**NOTA
|
|
4
|
-
* per essere sicuro che la Factory venga creata dall'injector dei moduli lazy nel template di FE e quindi sappia come creare i componenti dinamici,
|
|
5
|
-
* al momento è dichiarata con provideIn: null in modo da 'costringere' ad esplicitarla nei provider del proprio modulo
|
|
6
|
-
* dove si vuole usare la dashboard
|
|
7
|
-
*
|
|
8
|
-
* @NgModule({
|
|
9
|
-
* imports: [...MODULES],
|
|
10
|
-
* declarations: [...COMPONENTS],
|
|
11
|
-
* providers: [
|
|
12
|
-
* // url backend per la dashboard
|
|
13
|
-
* { provide: DSH_BACKEND_URL, useValue: myconfig.BACKEND_URL},
|
|
14
|
-
* ==> DashboardWidgetFactory
|
|
15
|
-
* ]
|
|
16
|
-
* })
|
|
17
|
-
* export class MyLazyModule {}
|
|
18
|
-
*
|
|
19
|
-
* sperabilmente in futuro (ng12+ con Ivy) la si potrà dichiarare provideIn: root se si supera il problema dei componenti dinamici
|
|
20
|
-
*/
|
|
21
|
-
//singleton
|
|
22
3
|
export class DashboardWidgetFactory {
|
|
23
|
-
|
|
24
|
-
//constructor() { }
|
|
25
|
-
constructor(componentFactoryResolver) {
|
|
26
|
-
this.componentFactoryResolver = componentFactoryResolver;
|
|
4
|
+
constructor() {
|
|
27
5
|
this.types = {};
|
|
28
6
|
}
|
|
29
7
|
addOption(option) {
|
|
@@ -33,22 +11,6 @@ export class DashboardWidgetFactory {
|
|
|
33
11
|
});
|
|
34
12
|
}
|
|
35
13
|
}
|
|
36
|
-
//TODO
|
|
37
|
-
//versione ng 13+
|
|
38
|
-
/* resolveComponent(type: string, vcr: ViewContainerRef): ComponentRef<IWidgetComponent> | null {
|
|
39
|
-
|
|
40
|
-
if (!this.types)
|
|
41
|
-
return null;
|
|
42
|
-
|
|
43
|
-
let t = this.types[type];
|
|
44
|
-
|
|
45
|
-
if (!t)
|
|
46
|
-
return null;
|
|
47
|
-
|
|
48
|
-
let componentRef: ComponentRef<IWidgetComponent> = vcr.createComponent(t.component);
|
|
49
|
-
|
|
50
|
-
return componentRef;
|
|
51
|
-
} */
|
|
52
14
|
/**
|
|
53
15
|
* Versione ng11 della creazione dei componenti dinamici delle widget
|
|
54
16
|
* @param type
|
|
@@ -61,9 +23,7 @@ export class DashboardWidgetFactory {
|
|
|
61
23
|
let t = this.types[type];
|
|
62
24
|
if (!t)
|
|
63
25
|
return null;
|
|
64
|
-
|
|
65
|
-
let cf = this.componentFactoryResolver.resolveComponentFactory(t.component);
|
|
66
|
-
let componentRef = vcr.createComponent(cf);
|
|
26
|
+
let componentRef = vcr.createComponent(t.component);
|
|
67
27
|
return componentRef;
|
|
68
28
|
}
|
|
69
29
|
resolveDefinition(type, details) {
|
|
@@ -80,10 +40,10 @@ export class DashboardWidgetFactory {
|
|
|
80
40
|
return new type();
|
|
81
41
|
}
|
|
82
42
|
}
|
|
83
|
-
DashboardWidgetFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetFactory, deps: [
|
|
84
|
-
DashboardWidgetFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetFactory, providedIn:
|
|
43
|
+
DashboardWidgetFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
44
|
+
DashboardWidgetFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetFactory, providedIn: "root" });
|
|
85
45
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetFactory, decorators: [{
|
|
86
46
|
type: Injectable,
|
|
87
|
-
args: [{ providedIn:
|
|
88
|
-
}], ctorParameters: function () { return [
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
args: [{ providedIn: "root" }]
|
|
48
|
+
}], ctorParameters: function () { return []; } });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGFzaGJvYXJkV2lkZ2V0RmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1mZWF0dXJlL3NyYy9saWIvc2VydmljZXMvRGFzaGJvYXJkV2lkZ2V0RmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFVBQVUsRUFBb0IsTUFBTSxlQUFlLENBQUM7O0FBWTNFLE1BQU0sT0FBTyxzQkFBc0I7SUFJL0I7UUFGQSxVQUFLLEdBQTBDLEVBQUUsQ0FBQztJQUVsQyxDQUFDO0lBR2pCLFNBQVMsQ0FBQyxNQUErQjtRQUVyQyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUU7WUFDcEIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFBO1NBQ0w7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsR0FBcUI7UUFFaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQ1gsT0FBTyxJQUFJLENBQUM7UUFFaEIsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6QixJQUFJLENBQUMsQ0FBQztZQUNGLE9BQU8sSUFBSSxDQUFDO1FBRWhCLElBQUksWUFBWSxHQUFtQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVwRixPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsSUFBWSxFQUFFLE9BQWlDO1FBRTdELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUNYLE9BQU8sSUFBSSxDQUFDO1FBRWhCLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFekIsSUFBSSxDQUFDLENBQUM7WUFDRixPQUFPLElBQUksQ0FBQztRQUVoQixJQUFJLGtCQUFrQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELGtCQUFrQixDQUFDLDRCQUE0QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXpELE9BQU8sa0JBQWtCLENBQUM7SUFDOUIsQ0FBQztJQUVPLGNBQWMsQ0FBNkIsSUFBNEI7UUFDM0UsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7O29IQXZEUSxzQkFBc0I7d0hBQXRCLHNCQUFzQixjQURULE1BQU07NEZBQ25CLHNCQUFzQjtrQkFEbEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZWYsIEluamVjdGFibGUsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSVdpZGdldENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvd2lkZ2V0cy9JV2lkZ2V0Q29tcG9uZW50JztcclxuaW1wb3J0IHsgSmFjZVdpZGdldEluc3RhbmNlRGV0YWlsIH0gZnJvbSAnLi4vbW9kZWxzL2V4dGVybmFscy9KYWNlV2lkZ2V0SW5zdGFuY2VEZXRhaWwnO1xyXG5pbXBvcnQgeyBJSmFjZVdpZGdldE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3dpZGdldHMvSUphY2VXaWRnZXRNb2RlbCc7XHJcbmltcG9ydCB7IElEYXNoYm9hcmRNb2R1bGVPcHRpb25zIH0gZnJvbSAnLi4vbW9kZWxzL29wdGlvbnMvSURhc2hib2FyZE1vZHVsZU9wdGlvbnMnO1xyXG5pbXBvcnQgeyBJV2lkZ2V0VHlwZUNvbmZpZyB9IGZyb20gJy4uL21vZGVscy9vcHRpb25zL0lXaWRnZXRUeXBlQ29uZmlnJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUNvbnN0cnVjdGFibGVNb2RlbDxUPiB7XHJcbiAgICBuZXcoKTogVDtcclxufVxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiBcInJvb3RcIiB9KVxyXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkV2lkZ2V0RmFjdG9yeSB7XHJcblxyXG4gICAgdHlwZXM6IHsgW25hbWU6IHN0cmluZ106IElXaWRnZXRUeXBlQ29uZmlnIH0gPSB7fTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuXHJcbiAgICBhZGRPcHRpb24ob3B0aW9uOiBJRGFzaGJvYXJkTW9kdWxlT3B0aW9ucykge1xyXG5cclxuICAgICAgICBpZiAob3B0aW9uLndpZGdldFR5cGVzKSB7XHJcbiAgICAgICAgICAgIG9wdGlvbi53aWRnZXRUeXBlcy5mb3JFYWNoKChvKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnR5cGVzW28ubmFtZV0gPSBvO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFZlcnNpb25lIG5nMTEgZGVsbGEgY3JlYXppb25lIGRlaSBjb21wb25lbnRpIGRpbmFtaWNpIGRlbGxlIHdpZGdldFxyXG4gICAgICogQHBhcmFtIHR5cGUgXHJcbiAgICAgKiBAcGFyYW0gdmNyIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHJlc29sdmVDb21wb25lbnQodHlwZTogc3RyaW5nLCB2Y3I6IFZpZXdDb250YWluZXJSZWYpOiBDb21wb25lbnRSZWY8SVdpZGdldENvbXBvbmVudD4gfCBudWxsIHtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLnR5cGVzKVxyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICAgICAgbGV0IHQgPSB0aGlzLnR5cGVzW3R5cGVdO1xyXG5cclxuICAgICAgICBpZiAoIXQpXHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG5cclxuICAgICAgICBsZXQgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8SVdpZGdldENvbXBvbmVudD4gPSB2Y3IuY3JlYXRlQ29tcG9uZW50KHQuY29tcG9uZW50KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcclxuICAgIH1cclxuXHJcbiAgICByZXNvbHZlRGVmaW5pdGlvbih0eXBlOiBzdHJpbmcsIGRldGFpbHM6IEphY2VXaWRnZXRJbnN0YW5jZURldGFpbCk6IElKYWNlV2lkZ2V0TW9kZWwgfCBudWxsIHtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLnR5cGVzKVxyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICAgICAgbGV0IHQgPSB0aGlzLnR5cGVzW3R5cGVdO1xyXG5cclxuICAgICAgICBpZiAoIXQpXHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG5cclxuICAgICAgICBsZXQgZGVmaW5pdGlvbkluc3RhbmNlID0gdGhpcy5jcmVhdGVJbnN0YW5jZSh0Lm1vZGVsKTtcclxuICAgICAgICBkZWZpbml0aW9uSW5zdGFuY2UuY29uZmlndXJlRnJvbUluc3RhbmNlRGV0YWlscyhkZXRhaWxzKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGRlZmluaXRpb25JbnN0YW5jZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNyZWF0ZUluc3RhbmNlPFQgZXh0ZW5kcyBJSmFjZVdpZGdldE1vZGVsPih0eXBlOiBJQ29uc3RydWN0YWJsZU1vZGVsPFQ+KTogVCB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyB0eXBlKCk7XHJcbiAgICB9XHJcblxyXG59Il19
|
|
@@ -519,43 +519,8 @@ class DefaultDashboardModuleOptions {
|
|
|
519
519
|
}
|
|
520
520
|
}
|
|
521
521
|
|
|
522
|
-
class SaveJaceDashboardLayoutDTO {
|
|
523
|
-
constructor() {
|
|
524
|
-
this.backendid = "default_backend";
|
|
525
|
-
}
|
|
526
|
-
}
|
|
527
|
-
|
|
528
|
-
//Definizione della widget restituita dal backend
|
|
529
|
-
class JaceWidgetInstanceDetail {
|
|
530
|
-
constructor() {
|
|
531
|
-
this.queryerror = false;
|
|
532
|
-
}
|
|
533
|
-
}
|
|
534
|
-
|
|
535
|
-
/**NOTA
|
|
536
|
-
* per essere sicuro che la Factory venga creata dall'injector dei moduli lazy nel template di FE e quindi sappia come creare i componenti dinamici,
|
|
537
|
-
* al momento è dichiarata con provideIn: null in modo da 'costringere' ad esplicitarla nei provider del proprio modulo
|
|
538
|
-
* dove si vuole usare la dashboard
|
|
539
|
-
*
|
|
540
|
-
* @NgModule({
|
|
541
|
-
* imports: [...MODULES],
|
|
542
|
-
* declarations: [...COMPONENTS],
|
|
543
|
-
* providers: [
|
|
544
|
-
* // url backend per la dashboard
|
|
545
|
-
* { provide: DSH_BACKEND_URL, useValue: myconfig.BACKEND_URL},
|
|
546
|
-
* ==> DashboardWidgetFactory
|
|
547
|
-
* ]
|
|
548
|
-
* })
|
|
549
|
-
* export class MyLazyModule {}
|
|
550
|
-
*
|
|
551
|
-
* sperabilmente in futuro (ng12+ con Ivy) la si potrà dichiarare provideIn: root se si supera il problema dei componenti dinamici
|
|
552
|
-
*/
|
|
553
|
-
//singleton
|
|
554
522
|
class DashboardWidgetFactory {
|
|
555
|
-
|
|
556
|
-
//constructor() { }
|
|
557
|
-
constructor(componentFactoryResolver) {
|
|
558
|
-
this.componentFactoryResolver = componentFactoryResolver;
|
|
523
|
+
constructor() {
|
|
559
524
|
this.types = {};
|
|
560
525
|
}
|
|
561
526
|
addOption(option) {
|
|
@@ -565,22 +530,6 @@ class DashboardWidgetFactory {
|
|
|
565
530
|
});
|
|
566
531
|
}
|
|
567
532
|
}
|
|
568
|
-
//TODO
|
|
569
|
-
//versione ng 13+
|
|
570
|
-
/* resolveComponent(type: string, vcr: ViewContainerRef): ComponentRef<IWidgetComponent> | null {
|
|
571
|
-
|
|
572
|
-
if (!this.types)
|
|
573
|
-
return null;
|
|
574
|
-
|
|
575
|
-
let t = this.types[type];
|
|
576
|
-
|
|
577
|
-
if (!t)
|
|
578
|
-
return null;
|
|
579
|
-
|
|
580
|
-
let componentRef: ComponentRef<IWidgetComponent> = vcr.createComponent(t.component);
|
|
581
|
-
|
|
582
|
-
return componentRef;
|
|
583
|
-
} */
|
|
584
533
|
/**
|
|
585
534
|
* Versione ng11 della creazione dei componenti dinamici delle widget
|
|
586
535
|
* @param type
|
|
@@ -593,9 +542,7 @@ class DashboardWidgetFactory {
|
|
|
593
542
|
let t = this.types[type];
|
|
594
543
|
if (!t)
|
|
595
544
|
return null;
|
|
596
|
-
|
|
597
|
-
let cf = this.componentFactoryResolver.resolveComponentFactory(t.component);
|
|
598
|
-
let componentRef = vcr.createComponent(cf);
|
|
545
|
+
let componentRef = vcr.createComponent(t.component);
|
|
599
546
|
return componentRef;
|
|
600
547
|
}
|
|
601
548
|
resolveDefinition(type, details) {
|
|
@@ -612,12 +559,25 @@ class DashboardWidgetFactory {
|
|
|
612
559
|
return new type();
|
|
613
560
|
}
|
|
614
561
|
}
|
|
615
|
-
DashboardWidgetFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetFactory, deps: [
|
|
616
|
-
DashboardWidgetFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetFactory, providedIn:
|
|
562
|
+
DashboardWidgetFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
563
|
+
DashboardWidgetFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetFactory, providedIn: "root" });
|
|
617
564
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetFactory, decorators: [{
|
|
618
565
|
type: Injectable,
|
|
619
|
-
args: [{ providedIn:
|
|
620
|
-
}], ctorParameters: function () { return [
|
|
566
|
+
args: [{ providedIn: "root" }]
|
|
567
|
+
}], ctorParameters: function () { return []; } });
|
|
568
|
+
|
|
569
|
+
class SaveJaceDashboardLayoutDTO {
|
|
570
|
+
constructor() {
|
|
571
|
+
this.backendid = "default_backend";
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
//Definizione della widget restituita dal backend
|
|
576
|
+
class JaceWidgetInstanceDetail {
|
|
577
|
+
constructor() {
|
|
578
|
+
this.queryerror = false;
|
|
579
|
+
}
|
|
580
|
+
}
|
|
621
581
|
|
|
622
582
|
/**
|
|
623
583
|
* Componente di base che rappresenta una dashboard.
|
|
@@ -840,24 +800,14 @@ class DashboardFeatureModule {
|
|
|
840
800
|
providers: [
|
|
841
801
|
{ provide: DSH_OPTIONS, multi: true, useValue: new DefaultDashboardModuleOptions() },
|
|
842
802
|
{ provide: DSH_OPTIONS, multi: true, useValue: options },
|
|
843
|
-
{ provide: DSH_DATA_SERVICE, useClass: DashboardFeatureAPIDataService }
|
|
844
|
-
|
|
845
|
-
};
|
|
846
|
-
}
|
|
847
|
-
static forChild(options) {
|
|
848
|
-
return {
|
|
849
|
-
ngModule: DashboardFeatureModule,
|
|
850
|
-
providers: [
|
|
851
|
-
{ provide: DSH_OPTIONS, multi: true, useValue: new DefaultDashboardModuleOptions() },
|
|
852
|
-
{ provide: DSH_OPTIONS, multi: true, useValue: options }
|
|
803
|
+
{ provide: DSH_DATA_SERVICE, useClass: DashboardFeatureAPIDataService },
|
|
804
|
+
DashboardWidgetFactory
|
|
853
805
|
]
|
|
854
806
|
};
|
|
855
807
|
}
|
|
856
808
|
constructor(componentFactory, options) {
|
|
857
|
-
if (!options)
|
|
858
|
-
//componentFactory.addOption(new DefaultDashboardModuleOptions());
|
|
809
|
+
if (!options)
|
|
859
810
|
return;
|
|
860
|
-
}
|
|
861
811
|
options.map((o) => componentFactory.addOption(o));
|
|
862
812
|
}
|
|
863
813
|
}
|