@esfaenza/dashboard-feature 11.2.2
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/README.md +24 -0
- package/bundles/esfaenza-dashboard-feature.umd.js +1328 -0
- package/bundles/esfaenza-dashboard-feature.umd.js.map +1 -0
- package/bundles/esfaenza-dashboard-feature.umd.min.js +2 -0
- package/bundles/esfaenza-dashboard-feature.umd.min.js.map +1 -0
- package/esfaenza-dashboard-feature.d.ts +8 -0
- package/esfaenza-dashboard-feature.metadata.json +1 -0
- package/esm2015/esfaenza-dashboard-feature.js +9 -0
- package/esm2015/lib/components/dashboard/dashboard.component.js +157 -0
- package/esm2015/lib/components/dashboard/dashboard.component.loc.js +16 -0
- package/esm2015/lib/components/widgets/BaseWidgetComponent.js +81 -0
- package/esm2015/lib/components/widgets/IWidgetComponent.js +2 -0
- package/esm2015/lib/components/widgets/JaceWidgetTypes.js +8 -0
- package/esm2015/lib/components/widgets/chart/jace-dsh-chart.component.js +77 -0
- package/esm2015/lib/components/widgets/counter/jace-dsh-counter.component.js +76 -0
- package/esm2015/lib/components/widgets/list/jace-dsh-list.component.js +89 -0
- package/esm2015/lib/components/widgets/multiprog/jace-dsh-multiprog.component.js +78 -0
- package/esm2015/lib/dashboard-feature.module.js +98 -0
- package/esm2015/lib/models/config/JaceDashboardConfig.js +49 -0
- package/esm2015/lib/models/externals/JaceDashboardLayoutDetail.js +4 -0
- package/esm2015/lib/models/externals/JaceWidgetInstanceDetail.js +7 -0
- package/esm2015/lib/models/externals/Repository.js +6 -0
- package/esm2015/lib/models/externals/SaveJaceDashboardLayoutDTO.js +3 -0
- package/esm2015/lib/models/options/DefaultDashboardModuleOptions.js +36 -0
- package/esm2015/lib/models/options/IDashboardModuleOptions.js +2 -0
- package/esm2015/lib/models/options/IWidgetTypeConfig.js +2 -0
- package/esm2015/lib/models/widgets/BaseJaceWidgetModel.js +22 -0
- package/esm2015/lib/models/widgets/IJaceWidgetModel.js +2 -0
- package/esm2015/lib/models/widgets/JaceChartWidgetModel.js +27 -0
- package/esm2015/lib/models/widgets/JaceCounterWidgetModel.js +23 -0
- package/esm2015/lib/models/widgets/JaceListWidgetModel.js +39 -0
- package/esm2015/lib/models/widgets/JaceMultiprogWidgetModel.js +29 -0
- package/esm2015/lib/private-injection-tokens.js +3 -0
- package/esm2015/lib/public-injection-tokens.js +15 -0
- package/esm2015/lib/services/DashboardWidgetFactory.js +66 -0
- package/esm2015/lib/services/IDashboardFeatureDataService.js +2 -0
- package/esm2015/lib/services/dashboard-feature.service.js +39 -0
- package/esm2015/public-api.js +20 -0
- package/fesm2015/esfaenza-dashboard-feature.js +955 -0
- package/fesm2015/esfaenza-dashboard-feature.js.map +1 -0
- package/lib/components/dashboard/dashboard.component.d.ts +44 -0
- package/lib/components/dashboard/dashboard.component.loc.d.ts +5 -0
- package/lib/components/widgets/BaseWidgetComponent.d.ts +41 -0
- package/lib/components/widgets/IWidgetComponent.d.ts +23 -0
- package/lib/components/widgets/JaceWidgetTypes.d.ts +6 -0
- package/lib/components/widgets/chart/jace-dsh-chart.component.d.ts +22 -0
- package/lib/components/widgets/counter/jace-dsh-counter.component.d.ts +21 -0
- package/lib/components/widgets/list/jace-dsh-list.component.d.ts +24 -0
- package/lib/components/widgets/multiprog/jace-dsh-multiprog.component.d.ts +23 -0
- package/lib/dashboard-feature.module.d.ts +8 -0
- package/lib/models/config/JaceDashboardConfig.d.ts +46 -0
- package/lib/models/externals/JaceDashboardLayoutDetail.d.ts +6 -0
- package/lib/models/externals/JaceWidgetInstanceDetail.d.ts +17 -0
- package/lib/models/externals/Repository.d.ts +5 -0
- package/lib/models/externals/SaveJaceDashboardLayoutDTO.d.ts +4 -0
- package/lib/models/options/DefaultDashboardModuleOptions.d.ts +7 -0
- package/lib/models/options/IDashboardModuleOptions.d.ts +5 -0
- package/lib/models/options/IWidgetTypeConfig.d.ts +8 -0
- package/lib/models/widgets/BaseJaceWidgetModel.d.ts +31 -0
- package/lib/models/widgets/IJaceWidgetModel.d.ts +13 -0
- package/lib/models/widgets/JaceChartWidgetModel.d.ts +8 -0
- package/lib/models/widgets/JaceCounterWidgetModel.d.ts +10 -0
- package/lib/models/widgets/JaceListWidgetModel.d.ts +15 -0
- package/lib/models/widgets/JaceMultiprogWidgetModel.d.ts +9 -0
- package/lib/private-injection-tokens.d.ts +3 -0
- package/lib/public-injection-tokens.d.ts +15 -0
- package/lib/services/DashboardWidgetFactory.d.ts +20 -0
- package/lib/services/IDashboardFeatureDataService.d.ts +11 -0
- package/lib/services/dashboard-feature.service.d.ts +16 -0
- package/package.json +27 -0
- package/public-api.d.ts +16 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"DSH_LOCALE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":6,"character":54},"arguments":["DSH_LOCALE"]},"DSH_BACKEND_URL":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":10,"character":59},"arguments":["DSH_BACKEND_URL"]},"DSH_DATA_SERVICE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":15,"character":82},"arguments":["DSH_DATA_SERVICE"]},"DashboardFeatureModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":60,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"DashboardComponent"},{"__symbolic":"reference","name":"JaceListWidgetComponent"},{"__symbolic":"reference","name":"JaceCounterWidgetComponent"},{"__symbolic":"reference","name":"JaceChartWidgetComponent"},{"__symbolic":"reference","name":"JaceMultiprogWidgetComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":26,"character":2},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":27,"character":2},{"__symbolic":"reference","module":"angular-gridster2","name":"GridsterModule","line":28,"character":2},{"__symbolic":"reference","module":"@angular/material/progress-bar","name":"MatProgressBarModule","line":29,"character":2},{"__symbolic":"reference","module":"@esfaenza/forms-and-validations","name":"FormsAndValidationsModule","line":30,"character":2},{"__symbolic":"reference","module":"@esfaenza/es-charts","name":"EsChartsModule","line":31,"character":2},{"__symbolic":"reference","module":"@esfaenza/httpservice","name":"HttpserviceModule","line":32,"character":2},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"ng-circle-progress","name":"NgCircleProgressModule","line":40,"character":2},"member":"forRoot"},"arguments":[{"radius":50,"outerStrokeWidth":8,"innerStrokeWidth":4,"outerStrokeColor":"#78C000","innerStrokeColor":"#C7E596","animationDuration":300}]}],"exports":[{"__symbolic":"reference","name":"DashboardComponent"},{"__symbolic":"reference","name":"JaceListWidgetComponent"},{"__symbolic":"reference","name":"JaceCounterWidgetComponent"},{"__symbolic":"reference","name":"JaceChartWidgetComponent"},{"__symbolic":"reference","name":"JaceMultiprogWidgetComponent"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":94,"character":57}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":94,"character":69},"arguments":[{"__symbolic":"reference","name":"ɵb"}]}]],"parameters":[{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"IDashboardModuleOptions"}]}]}]},"statics":{"forRoot":{"__symbolic":"function","parameters":["options"],"value":{"ngModule":{"__symbolic":"reference","name":"DashboardFeatureModule"},"providers":[{"provide":{"__symbolic":"reference","name":"ɵb"},"multi":true,"useValue":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"DefaultDashboardModuleOptions"}}},{"provide":{"__symbolic":"reference","name":"ɵb"},"multi":true,"useValue":{"__symbolic":"reference","name":"options"}},{"provide":{"__symbolic":"reference","name":"DSH_DATA_SERVICE"},"useClass":{"__symbolic":"reference","name":"ɵd"}}]}},"forChild":{"__symbolic":"function","parameters":["options"],"value":{"ngModule":{"__symbolic":"reference","name":"DashboardFeatureModule"},"providers":[{"provide":{"__symbolic":"reference","name":"ɵb"},"multi":true,"useValue":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"DefaultDashboardModuleOptions"}}},{"provide":{"__symbolic":"reference","name":"ɵb"},"multi":true,"useValue":{"__symbolic":"reference","name":"options"}}]}}}},"IWidgetComponent":{"__symbolic":"interface"},"BaseWidgetComponent":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":10,"character":2}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":22,"character":17},"arguments":[{"__symbolic":"reference","name":"DSH_DATA_SERVICE"}]}]],"parameters":[{"__symbolic":"reference","name":"IDashboardFeatureDataService"}]}],"setWidgetModel":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"refreshData":[{"__symbolic":"method"}],"prepareGetDataParameters":[{"__symbolic":"method"}],"removeWidget":[{"__symbolic":"method"}],"configureWidget":[{"__symbolic":"method"}]}},"IJaceWidgetModel":{"__symbolic":"interface"},"BaseJaceWidgetModel":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"configureFromInstanceDetails":[{"__symbolic":"method"}],"setData":[{"__symbolic":"method"}]}},"IWidgetTypeConfig":{"__symbolic":"interface"},"IDashboardModuleOptions":{"__symbolic":"interface"},"DefaultDashboardModuleOptions":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"IDashboardFeatureDataService":{"__symbolic":"interface"},"DashboardComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":21,"character":1},"arguments":[{"selector":"dashboard","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":23,"character":19},"member":"None"},"providers":[{"provide":{"__symbolic":"reference","module":"@esfaenza/localizations","name":"LocalizationService","line":25,"character":19},"useClass":{"__symbolic":"reference","name":"ɵa"}}],"template":"<ng-container *ngIf=\"Configuration\">\r\n\r\n <form role=\"form\" class=\"jace-dsh-toolbar\" *ngIf=\"Configuration.showToolbar\">\r\n <div *ngIf=\"Configuration.dashboardTitle\" class=\"jace-dsh-toolbar-title\">\r\n {{Configuration.dashboardTitle}}\r\n </div>\r\n <div class=\"jace-dsh-toolbar-dtp\" *ngIf=\"Configuration?.showDateInput\">\r\n <form-date [JsDates]=\"true\" [FormLayout]=\"false\" id=\"txt_dashboarddate\" [Validation]=\"false\"\r\n autocomplete=\"off\" [(ngModel)]=\"dashboardDate\" name=\"dashboarddate\" [Placeholder]=\"'Dashboard Date'\">\r\n </form-date>\r\n </div>\r\n <div class=\"jace-dsh-save-button\" (click)=\"saveDashboard()\">\r\n <span class=\"transition\">\r\n <i class=\"fa fa-save\"></i>\r\n </span>\r\n </div>\r\n </form>\r\n\r\n <gridster [options]=\"Configuration.gridsterConfig\" class=\"jace-dsh-widget-area\">\r\n <gridster-item [item]=\"item\" *ngFor=\"let item of widgetDefinitions\" class=\"jace-dsh-widget {{item.name}}\">\r\n <!-- <ng-container *ngFor=\"let item of widgetDefinitions\"> -->\r\n <ng-template #grid_item></ng-template>\r\n <!-- </ng-container> -->\r\n </gridster-item>\r\n </gridster>\r\n\r\n</ng-container>","styles":[".jace-dsh-toolbar{font-size:smaller;display:flex;flex-flow:row;justify-content:flex-end;align-items:center;padding:0 1em .5em}.jace-dsh-toolbar-title{flex:2 1 auto;font-size:2em;color:#777;font-variant:small-caps}.jace-dsh-toolbar-dtp{flex:1 1 auto}.jace-dsh-save-button{font-size:larger;padding:.5em 1em;border-radius:4px;border:1px solid #ddd;color:#777;margin-left:.5em;cursor:pointer;flex:0 0 auto}.jace-dsh-save-button:hover{color:#000;border-color:#000}.jace-dsh-widget-area{background:#e9ebee;scroll-behavior:auto}.jace-dsh-widget{border:1px solid #ddd;border-radius:5px;min-width:204px}.jace-dsh-widget-header{margin:0 .5rem;display:flex;flex-flow:row;justify-content:left;align-items:center}.jace-dsh-widget-title{padding:.5rem .2rem .3rem;border-bottom:1px solid #ddd;text-transform:uppercase;font-size:.8rem}.jace-dsh-widget-body{margin:0 .5rem;display:flex;flex-wrap:nowrap;overflow-x:clip}.jace-dsh-widget-loading{padding:.5rem;width:100%;flex:0 0 auto;font-size:4rem;font-weight:700;text-align:center}.jace-dsh-widget-slide{transition-property:transform;transition-duration:.75s;transition-timing-function:ease;width:100%;flex:0 0 auto}.jace-dsh-widget-content-show{transform:translate(0) translateZ(0)}.jace-dsh-widget-content-hide,.jace-dsh-widget-settings-show{transform:translate(-100%) translateZ(0)}.jace-dsh-widget-settings-hide{transform:translate(0) translateZ(0)}.jace-dsh-widget-settings{padding:.5rem;width:100%;flex:0 0 auto}.jace-dsh-widget-controls{margin-left:auto;order:2;z-index:1;top:0;right:0;padding:.2rem .1rem;font-size:1rem;color:#bbb;align-items:center;cursor:pointer}.jace-dsh-widget-drag{font-size:.78em}.jace-dsh-widget-opts{font-size:.92em}.jace-dsh-widget-close{font-size:1.1em}.jace-dsh-widget-controls span{margin-right:.1rem;margin-left:.1rem}.jace-dsh-widget-controls span:hover{color:#637ca0}"]}]}],"members":{"Configuration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":5}}]}],"gridItemRefs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":46,"character":5},"arguments":["grid_item",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":46,"character":39}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":49,"character":9},"arguments":[{"__symbolic":"reference","name":"DSH_DATA_SERVICE"}]}],null,null,null,null,null],"parameters":[{"__symbolic":"reference","name":"IDashboardFeatureDataService"},{"__symbolic":"reference","module":"@esfaenza/extensions","name":"InterComService","line":50,"character":26},{"__symbolic":"reference","module":"@esfaenza/localizations","name":"LocalizationService","line":51,"character":19},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":52,"character":23},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":54,"character":22}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"clearTrackedSubscriptions":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"reloadData":[{"__symbolic":"method"}],"removeItem":[{"__symbolic":"method"}],"saveDashboard":[{"__symbolic":"method"}],"renderLayout":[{"__symbolic":"method"}],"addItem":[{"__symbolic":"method"}]}},"JaceChartWidgetComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"jace-dsh-chart","template":"<div class=\"jace-dsh-widget-header {{model?.name}}-header\">\r\n <div class=\"jace-dsh-widget-title\" *ngIf=\"model.title\">\r\n {{model.title}}\r\n </div>\r\n <div class=\"jace-dsh-widget-controls\" *ngIf=\"dataReady\">\r\n <span class=\"transition drag-handler jace-dsh-widget-drag\" *ngIf=\"model.dragEnabled\">\r\n <i class=\"fa fa-arrows-alt\"></i>\r\n </span>\r\n <span class=\"transition jace-dsh-widget-opts\" (click)=\"configure()\">\r\n <i class=\"fa fa-cog\"></i>\r\n </span>\r\n <span (click)=\"removeWidget()\" class=\"transition remove-button jace-dsh-widget-close\">\r\n <i class=\"fa fa-times\"></i>\r\n </span>\r\n </div>\r\n</div>\r\n<div class=\"jace-dsh-widget-body gridster-item-content {{model?.name}}-body\">\r\n <div class=\"jace-dsh-widget-loading\" *ngIf=\"!dataReady\">\r\n <i class=\"fa fa-spinner fa-spin\"></i>\r\n </div>\r\n\r\n <div class=\"jace-dsh-chart-container jace-dsh-widget-slide\"\r\n [ngClass]=\"{'jace-dsh-widget-content-hide':configuration,'jace-dsh-widget-content-show':!configuration}\"\r\n *ngIf=\"dataReady\">\r\n <!-- [Type]=\"Widget.chartType\" -->\r\n <h6 *ngIf=\"model?.queryerror\" class=\"fg-disabled\" style=\"margin-top: 0.5rem;\"><span\r\n class=\"fa fa-times-circle-o\"></span> Error retrieving data</h6>\r\n <es-chart [Legend]=\"model.legend\" [Theme]=\"'dataviz'\" [Type]=\"model.chartType\" [Data]=\"model.chartData\"\r\n [name]=\"chartName\"></es-chart>\r\n </div>\r\n\r\n <div class=\"jace-dsh-widget-settings jace-dsh-widget-slide \"\r\n [ngClass]=\"{'jace-dsh-widget-settings-hide':!configuration,'jace-dsh-widget-settings-show':configuration}\">\r\n <p>Configuration</p>\r\n </div>\r\n</div>","styles":[""]}]}],"members":{"DashboardDate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":5}}]}],"OnRemove":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":20,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":27,"character":17},"arguments":[{"__symbolic":"reference","name":"DSH_DATA_SERVICE"}]}]],"parameters":[{"__symbolic":"reference","name":"IDashboardFeatureDataService"}]}],"setWidgetModel":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"refreshData":[{"__symbolic":"method"}],"removeWidget":[{"__symbolic":"method"}],"configure":[{"__symbolic":"method"}]}},"JaceCounterWidgetComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"jace-dsh-counter","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":13,"character":21},"member":"OnPush"},"template":"<div class=\"jace-dsh-widget-header {{model?.name}}-header\">\r\n <div class=\"jace-dsh-widget-title\" *ngIf=\"model.title\">\r\n {{model.title}}\r\n </div>\r\n <div class=\"jace-dsh-widget-controls\" *ngIf=\"dataReady\">\r\n <span class=\"transition drag-handler jace-dsh-widget-drag\" *ngIf=\"model.dragEnabled\">\r\n <i class=\"fa fa-arrows-alt\"></i>\r\n </span>\r\n <span class=\"transition jace-dsh-widget-opts\" (click)=\"configure()\">\r\n <i class=\"fa fa-cog\"></i>\r\n </span>\r\n <span (click)=\"removeWidget()\" class=\"transition remove-button jace-dsh-widget-close\">\r\n <i class=\"fa fa-times\"></i>\r\n </span>\r\n </div>\r\n</div>\r\n<div class=\"jace-dsh-widget-body gridster-item-content {{model?.name}}-body\">\r\n <div class=\"jace-dsh-widget-loading\" *ngIf=\"!dataReady\">\r\n <i class=\"fa fa-spinner fa-spin\"></i>\r\n </div>\r\n <div class=\"jace-dsh-counter-body jace-dsh-widget-slide\"\r\n [ngClass]=\"{'jace-dsh-widget-content-hide':configuration,'jace-dsh-widget-content-show':!configuration}\"\r\n *ngIf=\"dataReady\">\r\n <i class=\"jace-dsh-counter-icon fa fa-2x\" [ngClass]=\"[ model.icon ? model.icon : '']\" *ngIf=\"model.icon\"></i>\r\n <div class=\"jace-dsh-counter-super\">{{model.superText}}</div>\r\n <div class=\"jace-dsh-counter-value\"><span>{{model.value}}</span> <span\r\n class=\"jace-dsh-counter-unit\">{{model.unit}}</span> </div>\r\n\r\n <div class=\"jace-dsh-counter-sub\">{{model.subText}}</div>\r\n </div>\r\n\r\n <div class=\"jace-dsh-widget-settings jace-dsh-widget-slide \"\r\n [ngClass]=\"{'jace-dsh-widget-settings-hide':!configuration,'jace-dsh-widget-settings-show':configuration}\">\r\n <p>Configuration</p>\r\n </div>\r\n</div>","styles":[".jace-dsh-counter-body{padding:1em .5em}.jace-dsh-counter-value{font-size:2em;font-weight:700;text-align:center}.jace-dsh-counter-unit{margin-left:.08em;font-size:.5em;text-align:center}.jace-dsh-counter-super{font-size:1em;text-align:center}.jace-dsh-counter-sub{font-size:.8em;text-align:center}.jace-dsh-counter-icon{position:absolute;font-size:2.6em;color:#b0c4de}"]}]}],"members":{"DashboardDate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5}}]}],"OnRemove":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":27,"character":17},"arguments":[{"__symbolic":"reference","name":"DSH_DATA_SERVICE"}]}]],"parameters":[{"__symbolic":"reference","name":"IDashboardFeatureDataService"}]}],"setWidgetModel":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"refreshData":[{"__symbolic":"method"}],"removeWidget":[{"__symbolic":"method"}],"configure":[{"__symbolic":"method"}]}},"JaceListWidgetComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"jace-dsh-list","template":"<div class=\"jace-dsh-widget-header {{model?.name}}-header\">\r\n <div class=\"jace-dsh-widget-title\" *ngIf=\"model.title\">\r\n {{model.title}}\r\n </div>\r\n <div class=\"jace-dsh-widget-controls\" *ngIf=\"dataReady\">\r\n <span class=\"transition drag-handler jace-dsh-widget-drag\" *ngIf=\"model.dragEnabled\">\r\n <i class=\"fa fa-arrows-alt\"></i>\r\n </span>\r\n <span class=\"transition jace-dsh-widget-opts\" (click)=\"configure()\">\r\n <i class=\"fa fa-cog\"></i>\r\n </span>\r\n <span (click)=\"removeWidget()\" class=\"transition remove-button jace-dsh-widget-close\">\r\n <i class=\"fa fa-times\"></i>\r\n </span>\r\n </div>\r\n</div>\r\n<div class=\"jace-dsh-widget-body gridster-item-content {{model?.name}}-body\">\r\n <div class=\"jace-dsh-widget-loading\" *ngIf=\"!dataReady\">\r\n <i class=\"fa fa-spinner fa-spin\"></i>\r\n </div>\r\n <div class=\"jace-dsh-list-body jace-dsh-widget-slide\"\r\n [ngClass]=\"{'jace-dsh-widget-content-hide':configuration,'jace-dsh-widget-content-show':!configuration}\"\r\n *ngIf=\"dataReady\">\r\n <div class=\"jace-dsh-list-super-text\" *ngIf=\"model.superText\">{{model.superText}}</div>\r\n <div class=\"jace-dsh-list-item\" (click)=\"itemClicked(item)\" [class.jace-dsh-list-link]=\"item.link\"\r\n *ngFor=\"let item of model.items\">\r\n <div>\r\n <span class=\"jace-dsh-list-item-id\" *ngIf=\"item.id\">{{item.id}}</span>\r\n <span>{{item.description}}</span>\r\n </div>\r\n <div *ngIf=\"item.subline\">\r\n <span class=\"jace-dsh-list-item-subline\">{{item.subline}}</span>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"jace-dsh-widget-settings jace-dsh-widget-slide \"\r\n [ngClass]=\"{'jace-dsh-widget-settings-hide':!configuration,'jace-dsh-widget-settings-show':configuration}\">\r\n <p>Configuration</p>\r\n </div>\r\n</div>","styles":[".jace-dsh-list-body{height:100%;overflow-y:auto}.jace-dsh-list-super-text{font-weight:500}.jace-dsh-list-item{display:flow;flex-direction:row;justify-content:flex-start;padding:.4em;border:1px solid #eee;margin-top:2px}.jace-dsh-list-item-id{margin-right:1em;color:#fff;background:#637ca0;font-size:.8em;padding:.2em .5em;border-radius:.2em}.jace-dsh-list-link{color:#0275d8!important;cursor:pointer;text-decoration:none;display:block}.jace-dsh-list-link:hover{cursor:pointer;color:#fff;background-color:#b0c4de;text-decoration:underline}.jace-dsh-list-item-subline{font-size:.5em}"]}]}],"members":{"DashboardDate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":5}}]}],"OnRemove":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":19,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":25,"character":17},"arguments":[{"__symbolic":"reference","name":"DSH_DATA_SERVICE"}]}],null],"parameters":[{"__symbolic":"reference","name":"IDashboardFeatureDataService"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":25,"character":107}]}],"setWidgetModel":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"refreshData":[{"__symbolic":"method"}],"removeWidget":[{"__symbolic":"method"}],"itemClicked":[{"__symbolic":"method"}],"configure":[{"__symbolic":"method"}]}},"JaceMultiprogWidgetComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"jace-dsh-multiprog","template":"<div class=\"jace-dsh-widget-header {{model?.name}}-header\">\r\n <div class=\"jace-dsh-widget-title\" *ngIf=\"model.title\">\r\n {{model.title}}\r\n </div>\r\n <div class=\"jace-dsh-widget-controls\" *ngIf=\"dataReady\">\r\n <span class=\"transition drag-handler jace-dsh-widget-drag\" *ngIf=\"model.dragEnabled\">\r\n <i class=\"fa fa-arrows-alt\"></i>\r\n </span>\r\n <span class=\"transition jace-dsh-widget-opts\" (click)=\"configure()\">\r\n <i class=\"fa fa-cog\"></i>\r\n </span>\r\n <span (click)=\"removeWidget()\" class=\"transition remove-button jace-dsh-widget-close\">\r\n <i class=\"fa fa-times\"></i>\r\n </span>\r\n\r\n </div>\r\n</div>\r\n<div class=\"jace-dsh-widget-body gridster-item-content {{model?.name}}-body\">\r\n <div class=\"jace-dsh-widget-loading\" *ngIf=\"!dataReady\">\r\n <i class=\"fa fa-spinner\"></i>\r\n </div>\r\n <div class=\"jace-dsh-multiprog-container jace-dsh-widget-slide\"\r\n [ngClass]=\"{'jace-dsh-widget-content-hide':configuration,'jace-dsh-widget-content-show':!configuration}\"\r\n *ngIf=\"dataReady\">\r\n <div *ngFor=\"let item of model.progressTitles; let i = index\" class=\"jace-dsh-multiprog-progress\">\r\n <div class=\"jace-dsh-multiprog-title\">{{item}}</div>\r\n <circle-progress [percent]=\"model.progressValues[i]\" [showSubtitle]=false [radius]=\"36\"\r\n [outerStrokeWidth]=\"4\" [innerStrokeWidth]=\"2\" [outerStrokeColor]=\"'#7489AA'\"\r\n [innerStrokeColor]=\"'#EFECCA'\" [animation]=\"true\" [animationDuration]=\"300\" [showTitle]=\"true\"\r\n *ngIf=\"model.circleProgress\"></circle-progress>\r\n <!-- [title] = \"model.progressValues[i]|number||''\" -->\r\n <mat-progress-bar [value]=\"model.progressValues[i]\" [mode]=\"'determinate'\" *ngIf=\"!model.circleProgress\">\r\n </mat-progress-bar>\r\n <!-- <span>{{item}}</span>:<span>{{model.progressValues[i]}}</span> -->\r\n </div>\r\n </div>\r\n <div class=\"jace-dsh-widget-settings jace-dsh-widget-slide \"\r\n [ngClass]=\"{'jace-dsh-widget-settings-hide':!configuration,'jace-dsh-widget-settings-show':configuration}\">\r\n <p>Configuration</p>\r\n </div>\r\n</div>","styles":[".jace-dsh-multiprog-title{text-align:center;font-weight:600;font-size:.8em}.jace-dsh-multiprog-container{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-evenly;padding:.5rem}"]}]}],"members":{"DashboardDate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5}}]}],"OnRemove":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":27,"character":17},"arguments":[{"__symbolic":"reference","name":"DSH_DATA_SERVICE"}]}],null],"parameters":[{"__symbolic":"reference","name":"IDashboardFeatureDataService"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":27,"character":107}]}],"setWidgetModel":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"refreshData":[{"__symbolic":"method"}],"removeWidget":[{"__symbolic":"method"}],"configure":[{"__symbolic":"method"}]}},"JaceWidgetTypes":{"CHART":"CHART","COUNTER":"COUNTER","LIST":"LIST","MULTIPROGRESS":"MULTIPROGRESS"},"ɵa":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@esfaenza/localizations","name":"LocalizationService","line":8,"character":34},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":9,"character":17},"arguments":[{"__symbolic":"reference","name":"ɵb"}]}]],"parameters":[{"__symbolic":"reference","name":"IDashboardModuleOptions"}]}]}},"ɵb":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":4,"character":72},"arguments":["DSH_MODULE_OPTIONS"]},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":14,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":22,"character":50}]}],"addOption":[{"__symbolic":"method"}],"resolveComponent":[{"__symbolic":"method"}],"resolveDefinition":[{"__symbolic":"method"}],"createInstance":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":14,"character":41},"arguments":[{"__symbolic":"reference","name":"DSH_BACKEND_URL"}]}]],"parameters":[{"__symbolic":"reference","module":"@esfaenza/httpservice","name":"HTTPService","line":14,"character":28},{"__symbolic":"reference","name":"string"}]}],"GetUserDashboard":[{"__symbolic":"method"}],"SaveUserDashboard":[{"__symbolic":"method"}],"GetWidgetData":[{"__symbolic":"method"}]}}},"origins":{"DSH_LOCALE":"./lib/public-injection-tokens","DSH_BACKEND_URL":"./lib/public-injection-tokens","DSH_DATA_SERVICE":"./lib/public-injection-tokens","DashboardFeatureModule":"./lib/dashboard-feature.module","IWidgetComponent":"./lib/components/widgets/IWidgetComponent","BaseWidgetComponent":"./lib/components/widgets/BaseWidgetComponent","IJaceWidgetModel":"./lib/models/widgets/IJaceWidgetModel","BaseJaceWidgetModel":"./lib/models/widgets/BaseJaceWidgetModel","IWidgetTypeConfig":"./lib/models/options/IWidgetTypeConfig","IDashboardModuleOptions":"./lib/models/options/IDashboardModuleOptions","DefaultDashboardModuleOptions":"./lib/models/options/DefaultDashboardModuleOptions","IDashboardFeatureDataService":"./lib/services/IDashboardFeatureDataService","DashboardComponent":"./lib/components/dashboard/dashboard.component","JaceChartWidgetComponent":"./lib/components/widgets/chart/jace-dsh-chart.component","JaceCounterWidgetComponent":"./lib/components/widgets/counter/jace-dsh-counter.component","JaceListWidgetComponent":"./lib/components/widgets/list/jace-dsh-list.component","JaceMultiprogWidgetComponent":"./lib/components/widgets/multiprog/jace-dsh-multiprog.component","JaceWidgetTypes":"./lib/components/widgets/JaceWidgetTypes","ɵa":"./lib/components/dashboard/dashboard.component.loc","ɵb":"./lib/private-injection-tokens","ɵc":"./lib/services/DashboardWidgetFactory","ɵd":"./lib/services/dashboard-feature.service"},"importAs":"@esfaenza/dashboard-feature"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
export { DashboardLoc as ɵa } from './lib/components/dashboard/dashboard.component.loc';
|
|
6
|
+
export { DSH_OPTIONS as ɵb } from './lib/private-injection-tokens';
|
|
7
|
+
export { DashboardWidgetFactory as ɵc } from './lib/services/DashboardWidgetFactory';
|
|
8
|
+
export { DashboardFeatureAPIDataService as ɵd } from './lib/services/dashboard-feature.service';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNmYWVuemEtZGFzaGJvYXJkLWZlYXR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtZmVhdHVyZS9zcmMvZXNmYWVuemEtZGFzaGJvYXJkLWZlYXR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ25GLE9BQU8sRUFBQyw4QkFBOEIsSUFBSSxFQUFFLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtEYXNoYm9hcmRMb2MgYXMgybVhfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Rhc2hib2FyZC9kYXNoYm9hcmQuY29tcG9uZW50LmxvYyc7XG5leHBvcnQge0RTSF9PUFRJT05TIGFzIMm1Yn0gZnJvbSAnLi9saWIvcHJpdmF0ZS1pbmplY3Rpb24tdG9rZW5zJztcbmV4cG9ydCB7RGFzaGJvYXJkV2lkZ2V0RmFjdG9yeSBhcyDJtWN9IGZyb20gJy4vbGliL3NlcnZpY2VzL0Rhc2hib2FyZFdpZGdldEZhY3RvcnknO1xuZXhwb3J0IHtEYXNoYm9hcmRGZWF0dXJlQVBJRGF0YVNlcnZpY2UgYXMgybVkfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9kYXNoYm9hcmQtZmVhdHVyZS5zZXJ2aWNlJzsiXX0=
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { ChangeDetectorRef, Component, Inject, Input, ViewChildren, ViewContainerRef, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
import { InboundMessageTypes, InterComService } from "@esfaenza/extensions";
|
|
3
|
+
import { LocalizationService } from "@esfaenza/localizations";
|
|
4
|
+
import { DashboardLoc } from "./dashboard.component.loc";
|
|
5
|
+
import { ActivatedRoute } from "@angular/router";
|
|
6
|
+
import { SaveJaceDashboardLayoutDTO } from "../../models/externals/SaveJaceDashboardLayoutDTO";
|
|
7
|
+
import { JaceWidgetInstanceDetail } from "../../models/externals/JaceWidgetInstanceDetail";
|
|
8
|
+
import { DashboardWidgetFactory } from "../../services/DashboardWidgetFactory";
|
|
9
|
+
import { DSH_DATA_SERVICE } from "../../public-injection-tokens";
|
|
10
|
+
/**
|
|
11
|
+
* Componente di base che rappresenta una dashboard.
|
|
12
|
+
* Utilizza Gridster2 per il layout delle widget [Gridster2](https://tiberiuzuld.github.io/angular-gridster2/)
|
|
13
|
+
*/
|
|
14
|
+
export class DashboardComponent {
|
|
15
|
+
constructor(dshService, intercom, lc, route, cmpFactory, cdr) {
|
|
16
|
+
this.dshService = dshService;
|
|
17
|
+
this.intercom = intercom;
|
|
18
|
+
this.lc = lc;
|
|
19
|
+
this.route = route;
|
|
20
|
+
this.cmpFactory = cmpFactory;
|
|
21
|
+
this.cdr = cdr;
|
|
22
|
+
this.dashboardDate = new Date();
|
|
23
|
+
this.widgetDefinitions = [];
|
|
24
|
+
this.trackedSubscriptions = [];
|
|
25
|
+
this.intercom.send(InboundMessageTypes.Navigation, { sub: false, routeTitle: this.lc.loc(this.route.snapshot.data["title"]) });
|
|
26
|
+
}
|
|
27
|
+
ngOnInit() {
|
|
28
|
+
}
|
|
29
|
+
ngAfterViewInit() {
|
|
30
|
+
//qui this.gridItemRefs è 'riempito'
|
|
31
|
+
// sottoscrivo changes che sparerà tutte le volte che ngFor si aggiorna (ovvero quando cambia dashboard)
|
|
32
|
+
this.changesSub = this.gridItemRefs.changes.subscribe((comps) => {
|
|
33
|
+
this.renderLayout(comps);
|
|
34
|
+
});
|
|
35
|
+
//prima volta
|
|
36
|
+
/* if(this.Configuration)
|
|
37
|
+
this.reloadData(); */
|
|
38
|
+
setTimeout(() => this.reloadData(), 500);
|
|
39
|
+
}
|
|
40
|
+
ngOnDestroy() {
|
|
41
|
+
//unsubscribe dalle changes dei viewref
|
|
42
|
+
if (this.changesSub)
|
|
43
|
+
this.changesSub.unsubscribe();
|
|
44
|
+
this.clearTrackedSubscriptions();
|
|
45
|
+
}
|
|
46
|
+
clearTrackedSubscriptions() {
|
|
47
|
+
if (this.trackedSubscriptions) {
|
|
48
|
+
for (let index = 0; index < this.trackedSubscriptions.length; index++) {
|
|
49
|
+
const element = this.trackedSubscriptions[index];
|
|
50
|
+
element.unsubscribe();
|
|
51
|
+
}
|
|
52
|
+
this.trackedSubscriptions = [];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
ngOnChanges(changes) {
|
|
56
|
+
if (changes.Configuration) {
|
|
57
|
+
//appena ho configuration
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
reloadData() {
|
|
61
|
+
this.dshService.GetUserDashboard(this.Configuration.accountId, this.Configuration.dashboardName).subscribe(c => {
|
|
62
|
+
this.dashboardLayout = c;
|
|
63
|
+
this.widgetDefinitions = c.widgets.map(i => {
|
|
64
|
+
return this.cmpFactory.resolveDefinition(i.type, i);
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
removeItem(widgetName) {
|
|
69
|
+
if (!this.dashboardLayout)
|
|
70
|
+
return;
|
|
71
|
+
let idx = this.dashboardLayout.widgets.findIndex(s => s.name == widgetName);
|
|
72
|
+
this.widgetDefinitions.splice(idx, 1);
|
|
73
|
+
}
|
|
74
|
+
saveDashboard() {
|
|
75
|
+
if (!this.dashboardLayout)
|
|
76
|
+
return;
|
|
77
|
+
const dto = new SaveJaceDashboardLayoutDTO();
|
|
78
|
+
dto.widgets = [];
|
|
79
|
+
for (let index = 0; index < this.widgetDefinitions.length; index++) {
|
|
80
|
+
const w = this.widgetDefinitions[index];
|
|
81
|
+
if (w == null)
|
|
82
|
+
continue;
|
|
83
|
+
let v = new JaceWidgetInstanceDetail();
|
|
84
|
+
v.id = w.id;
|
|
85
|
+
v.name = w.name;
|
|
86
|
+
v.x = w.x;
|
|
87
|
+
v.y = w.y;
|
|
88
|
+
v.cols = w.cols;
|
|
89
|
+
v.rows = w.rows;
|
|
90
|
+
v.compactenabled = w.compactEnabled;
|
|
91
|
+
v.dragenabled = w.dragEnabled;
|
|
92
|
+
v.resizeenabled = w.resizeEnabled;
|
|
93
|
+
v.type = w.widgetType;
|
|
94
|
+
v.title = w.title;
|
|
95
|
+
v.options = w.options;
|
|
96
|
+
dto.widgets.push(v);
|
|
97
|
+
}
|
|
98
|
+
this.dshService.SaveUserDashboard(dto).subscribe(res => {
|
|
99
|
+
if (res.success)
|
|
100
|
+
console.log('Dashboard saved');
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
renderLayout(comps) {
|
|
104
|
+
this.clearTrackedSubscriptions();
|
|
105
|
+
comps.map((host, index) => {
|
|
106
|
+
const vcr = host;
|
|
107
|
+
vcr.clear();
|
|
108
|
+
const widgetData = this.widgetDefinitions[index];
|
|
109
|
+
if (!widgetData || !widgetData.widgetType)
|
|
110
|
+
return;
|
|
111
|
+
let componentRef;
|
|
112
|
+
componentRef = this.cmpFactory.resolveComponent(widgetData === null || widgetData === void 0 ? void 0 : widgetData.widgetType, vcr);
|
|
113
|
+
if (!componentRef) {
|
|
114
|
+
console.log(`Tipo widget sconosciuto ${widgetData.widgetType}`);
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
//setta l'input della data
|
|
118
|
+
if (this.Configuration.showDateInput)
|
|
119
|
+
componentRef.instance.DashboardDate = this.dashboardDate;
|
|
120
|
+
//setta il modello
|
|
121
|
+
componentRef.instance.setWidgetModel(widgetData);
|
|
122
|
+
//setta la callback per OnRemove
|
|
123
|
+
let s = componentRef.instance.OnRemove.subscribe(name => this.removeItem(name));
|
|
124
|
+
this.trackedSubscriptions.push(s);
|
|
125
|
+
//componentRef.changeDetectorRef.markForCheck();
|
|
126
|
+
//componentRef.changeDetectorRef.detectChanges();
|
|
127
|
+
});
|
|
128
|
+
this.cdr.detectChanges();
|
|
129
|
+
}
|
|
130
|
+
addItem() {
|
|
131
|
+
//this.dashboard.push({});
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
DashboardComponent.decorators = [
|
|
135
|
+
{ type: Component, args: [{
|
|
136
|
+
selector: 'dashboard',
|
|
137
|
+
encapsulation: ViewEncapsulation.None,
|
|
138
|
+
providers: [
|
|
139
|
+
{ provide: LocalizationService, useClass: DashboardLoc }
|
|
140
|
+
],
|
|
141
|
+
template: "<ng-container *ngIf=\"Configuration\">\r\n\r\n <form role=\"form\" class=\"jace-dsh-toolbar\" *ngIf=\"Configuration.showToolbar\">\r\n <div *ngIf=\"Configuration.dashboardTitle\" class=\"jace-dsh-toolbar-title\">\r\n {{Configuration.dashboardTitle}}\r\n </div>\r\n <div class=\"jace-dsh-toolbar-dtp\" *ngIf=\"Configuration?.showDateInput\">\r\n <form-date [JsDates]=\"true\" [FormLayout]=\"false\" id=\"txt_dashboarddate\" [Validation]=\"false\"\r\n autocomplete=\"off\" [(ngModel)]=\"dashboardDate\" name=\"dashboarddate\" [Placeholder]=\"'Dashboard Date'\">\r\n </form-date>\r\n </div>\r\n <div class=\"jace-dsh-save-button\" (click)=\"saveDashboard()\">\r\n <span class=\"transition\">\r\n <i class=\"fa fa-save\"></i>\r\n </span>\r\n </div>\r\n </form>\r\n\r\n <gridster [options]=\"Configuration.gridsterConfig\" class=\"jace-dsh-widget-area\">\r\n <gridster-item [item]=\"item\" *ngFor=\"let item of widgetDefinitions\" class=\"jace-dsh-widget {{item.name}}\">\r\n <!-- <ng-container *ngFor=\"let item of widgetDefinitions\"> -->\r\n <ng-template #grid_item></ng-template>\r\n <!-- </ng-container> -->\r\n </gridster-item>\r\n </gridster>\r\n\r\n</ng-container>",
|
|
142
|
+
styles: [".jace-dsh-toolbar{font-size:smaller;display:flex;flex-flow:row;justify-content:flex-end;align-items:center;padding:0 1em .5em}.jace-dsh-toolbar-title{flex:2 1 auto;font-size:2em;color:#777;font-variant:small-caps}.jace-dsh-toolbar-dtp{flex:1 1 auto}.jace-dsh-save-button{font-size:larger;padding:.5em 1em;border-radius:4px;border:1px solid #ddd;color:#777;margin-left:.5em;cursor:pointer;flex:0 0 auto}.jace-dsh-save-button:hover{color:#000;border-color:#000}.jace-dsh-widget-area{background:#e9ebee;scroll-behavior:auto}.jace-dsh-widget{border:1px solid #ddd;border-radius:5px;min-width:204px}.jace-dsh-widget-header{margin:0 .5rem;display:flex;flex-flow:row;justify-content:left;align-items:center}.jace-dsh-widget-title{padding:.5rem .2rem .3rem;border-bottom:1px solid #ddd;text-transform:uppercase;font-size:.8rem}.jace-dsh-widget-body{margin:0 .5rem;display:flex;flex-wrap:nowrap;overflow-x:clip}.jace-dsh-widget-loading{padding:.5rem;width:100%;flex:0 0 auto;font-size:4rem;font-weight:700;text-align:center}.jace-dsh-widget-slide{transition-property:transform;transition-duration:.75s;transition-timing-function:ease;width:100%;flex:0 0 auto}.jace-dsh-widget-content-show{transform:translate(0) translateZ(0)}.jace-dsh-widget-content-hide,.jace-dsh-widget-settings-show{transform:translate(-100%) translateZ(0)}.jace-dsh-widget-settings-hide{transform:translate(0) translateZ(0)}.jace-dsh-widget-settings{padding:.5rem;width:100%;flex:0 0 auto}.jace-dsh-widget-controls{margin-left:auto;order:2;z-index:1;top:0;right:0;padding:.2rem .1rem;font-size:1rem;color:#bbb;align-items:center;cursor:pointer}.jace-dsh-widget-drag{font-size:.78em}.jace-dsh-widget-opts{font-size:.92em}.jace-dsh-widget-close{font-size:1.1em}.jace-dsh-widget-controls span{margin-right:.1rem;margin-left:.1rem}.jace-dsh-widget-controls span:hover{color:#637ca0}"]
|
|
143
|
+
},] }
|
|
144
|
+
];
|
|
145
|
+
DashboardComponent.ctorParameters = () => [
|
|
146
|
+
{ type: undefined, decorators: [{ type: Inject, args: [DSH_DATA_SERVICE,] }] },
|
|
147
|
+
{ type: InterComService },
|
|
148
|
+
{ type: LocalizationService },
|
|
149
|
+
{ type: ActivatedRoute },
|
|
150
|
+
{ type: DashboardWidgetFactory },
|
|
151
|
+
{ type: ChangeDetectorRef }
|
|
152
|
+
];
|
|
153
|
+
DashboardComponent.propDecorators = {
|
|
154
|
+
Configuration: [{ type: Input }],
|
|
155
|
+
gridItemRefs: [{ type: ViewChildren, args: ['grid_item', { read: ViewContainerRef },] }]
|
|
156
|
+
};
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1mZWF0dXJlL3NyYy9saWIvY29tcG9uZW50cy9kYXNoYm9hcmQvZGFzaGJvYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRELGlCQUFpQixFQUFFLFNBQVMsRUFBZ0IsTUFBTSxFQUFFLEtBQUssRUFBMEQsWUFBWSxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9QLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRTNGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR2pFOzs7R0FHRztBQVVILE1BQU0sT0FBTyxrQkFBa0I7SUFrQjNCLFlBQ3NDLFVBQXdDLEVBQ2xFLFFBQXlCLEVBQzFCLEVBQXVCLEVBQ3RCLEtBQXFCLEVBQ3JCLFVBQWtDLEVBQ2xDLEdBQXVCO1FBTEcsZUFBVSxHQUFWLFVBQVUsQ0FBOEI7UUFDbEUsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDMUIsT0FBRSxHQUFGLEVBQUUsQ0FBcUI7UUFDdEIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsZUFB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VSxDQUFDLENBQUM7WUFFakQsZ0NBQWdDO1lBQ2hDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUEsRUFBRSxDQUFBLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM5RSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRWxDLGdEQUFnRDtZQUVoRCxpREFBaUQ7UUFDckQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFHRCxPQUFPO1FBRUgsMEJBQTBCO0lBQzlCLENBQUM7OztZQXZMSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxTQUFTLEVBQUU7b0JBQ1AsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRTtpQkFDM0Q7Z0JBQ0QsNjBDQUF5Qzs7YUFFNUM7Ozs0Q0FvQlEsTUFBTSxTQUFDLGdCQUFnQjtZQTlDRixlQUFlO1lBRXBDLG1CQUFtQjtZQUVuQixjQUFjO1lBSWQsc0JBQXNCO1lBWG9DLGlCQUFpQjs7OzRCQW1DL0UsS0FBSzsyQkFXTCxZQUFZLFNBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3Q2hlY2tlZCwgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbXBvbmVudFJlZiwgSW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGRyZW4sIFZpZXdDb250YWluZXJSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgSmFjZURhc2hib2FyZENvbmZpZyB9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29uZmlnL0phY2VEYXNoYm9hcmRDb25maWdcIjtcclxuaW1wb3J0IHsgSUphY2VXaWRnZXRNb2RlbCB9IGZyb20gXCIuLi8uLi9tb2RlbHMvd2lkZ2V0cy9JSmFjZVdpZGdldE1vZGVsXCI7XHJcbmltcG9ydCB7IEluYm91bmRNZXNzYWdlVHlwZXMsIEludGVyQ29tU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5cclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5pbXBvcnQgeyBEYXNoYm9hcmRMb2MgfSBmcm9tIFwiLi9kYXNoYm9hcmQuY29tcG9uZW50LmxvY1wiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgU2F2ZUphY2VEYXNoYm9hcmRMYXlvdXREVE8gfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2V4dGVybmFscy9TYXZlSmFjZURhc2hib2FyZExheW91dERUT1wiO1xyXG5pbXBvcnQgeyBKYWNlV2lkZ2V0SW5zdGFuY2VEZXRhaWwgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2V4dGVybmFscy9KYWNlV2lkZ2V0SW5zdGFuY2VEZXRhaWxcIjtcclxuaW1wb3J0IHsgSmFjZURhc2hib2FyZExheW91dERldGFpbCB9IGZyb20gXCIuLi8uLi9tb2RlbHMvZXh0ZXJuYWxzL0phY2VEYXNoYm9hcmRMYXlvdXREZXRhaWxcIjtcclxuaW1wb3J0IHsgRGFzaGJvYXJkV2lkZ2V0RmFjdG9yeSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9EYXNoYm9hcmRXaWRnZXRGYWN0b3J5XCI7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IElXaWRnZXRDb21wb25lbnQgfSBmcm9tIFwiLi4vd2lkZ2V0cy9JV2lkZ2V0Q29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERTSF9EQVRBX1NFUlZJQ0UgfSBmcm9tIFwiLi4vLi4vcHVibGljLWluamVjdGlvbi10b2tlbnNcIjtcclxuaW1wb3J0IHsgSURhc2hib2FyZEZlYXR1cmVEYXRhU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9JRGFzaGJvYXJkRmVhdHVyZURhdGFTZXJ2aWNlXCI7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBkaSBiYXNlIGNoZSByYXBwcmVzZW50YSB1bmEgZGFzaGJvYXJkLlxyXG4gKiBVdGlsaXp6YSBHcmlkc3RlcjIgcGVyIGlsIGxheW91dCBkZWxsZSB3aWRnZXQgW0dyaWRzdGVyMl0oaHR0cHM6Ly90aWJlcml1enVsZC5naXRodWIuaW8vYW5ndWxhci1ncmlkc3RlcjIvKVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2Rhc2hib2FyZCcsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCB1c2VDbGFzczogRGFzaGJvYXJkTG9jIH1cclxuICAgIF0sXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGFzaGJvYXJkLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2Rhc2hib2FyZC5jb21wb25lbnQuY3NzJ10gICAgXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXNoYm9hcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsICBPbkRlc3Ryb3ksIE9uQ2hhbmdlc3tcclxuICAgIC8qKlxyXG4gICAgICogQ29uZmlndXJhemlvbmUgZGkgcXVlc3RhIGRhc2hib2FyZC5cclxuICAgICAqIENvbnRpZW5lIGFuY2hlIGxlIGNvbmZpZ3VyYXppb25pIGRpIGxheW91dCBkaSBHcmlkc3RlcjJcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgQ29uZmlndXJhdGlvbiE6IEphY2VEYXNoYm9hcmRDb25maWc7XHJcblxyXG4gICAgcHVibGljIGRhc2hib2FyZERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgcHVibGljIGRhc2hib2FyZExheW91dD8gOiBKYWNlRGFzaGJvYXJkTGF5b3V0RGV0YWlsO1xyXG5cclxuICAgIHdpZGdldERlZmluaXRpb25zIDogKElKYWNlV2lkZ2V0TW9kZWx8bnVsbClbXT1bXTtcclxuXHJcbiAgICBjaGFuZ2VzU3ViPzogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAgIHRyYWNrZWRTdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXT1bXTtcclxuXHJcbiAgICBAVmlld0NoaWxkcmVuKCdncmlkX2l0ZW0nLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgZ3JpZEl0ZW1SZWZzITogUXVlcnlMaXN0PFZpZXdDb250YWluZXJSZWY+O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCBcclxuICAgICAgICBASW5qZWN0KERTSF9EQVRBX1NFUlZJQ0UpIHByaXZhdGUgZHNoU2VydmljZTogSURhc2hib2FyZEZlYXR1cmVEYXRhU2VydmljZSwgXHJcbiAgICAgICAgcHJpdmF0ZSBpbnRlcmNvbTogSW50ZXJDb21TZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBsYzogTG9jYWxpemF0aW9uU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgICAgICBwcml2YXRlIGNtcEZhY3Rvcnk6IERhc2hib2FyZFdpZGdldEZhY3RvcnksXHJcbiAgICAgICAgcHJpdmF0ZSBjZHIgOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICAgICAgICkge1xyXG4gICAgICAgIFxyXG4gICAgICAgIHRoaXMuaW50ZXJjb20uc2VuZChJbmJvdW5kTWVzc2FnZVR5cGVzLk5hdmlnYXRpb24sIHsgc3ViOiBmYWxzZSwgcm91dGVUaXRsZTogdGhpcy5sYy5sb2ModGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhW1widGl0bGVcIl0pIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIFxyXG5cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcblxyXG4gICAgICAgIC8vcXVpIHRoaXMuZ3JpZEl0ZW1SZWZzIMOoICdyaWVtcGl0bydcclxuICAgICAgICAvLyBzb3R0b3Njcml2byBjaGFuZ2VzIGNoZSBzcGFyZXLDoCB0dXR0ZSBsZSB2b2x0ZSBjaGUgbmdGb3Igc2kgYWdnaW9ybmEgKG92dmVybyBxdWFuZG8gY2FtYmlhIGRhc2hib2FyZClcclxuICAgICAgICB0aGlzLmNoYW5nZXNTdWIgPSB0aGlzLmdyaWRJdGVtUmVmcy5jaGFuZ2VzLnN1YnNjcmliZSgoY29tcHM6IFF1ZXJ5TGlzdDxWaWV3Q29udGFpbmVyUmVmPikgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlckxheW91dChjb21wcyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgLy9wcmltYSB2b2x0YVxyXG4gICAgICAgIC8qIGlmKHRoaXMuQ29uZmlndXJhdGlvbilcclxuICAgICAgICAgICAgdGhpcy5yZWxvYWREYXRhKCk7ICovXHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCk9PnRoaXMucmVsb2FkRGF0YSgpLDUwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgXHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgLy91bnN1YnNjcmliZSBkYWxsZSBjaGFuZ2VzIGRlaSB2aWV3cmVmXHJcbiAgICAgICAgaWYodGhpcy5jaGFuZ2VzU3ViKVxyXG4gICAgICAgICAgICB0aGlzLmNoYW5nZXNTdWIudW5zdWJzY3JpYmUoKTtcclxuXHJcbiAgICAgICAgdGhpcy5jbGVhclRyYWNrZWRTdWJzY3JpcHRpb25zKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xlYXJUcmFja2VkU3Vic2NyaXB0aW9ucygpe1xyXG4gICAgICAgIGlmKHRoaXMudHJhY2tlZFN1YnNjcmlwdGlvbnMpe1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdGhpcy50cmFja2VkU3Vic2NyaXB0aW9ucy5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLnRyYWNrZWRTdWJzY3JpcHRpb25zW2luZGV4XTtcclxuICAgICAgICAgICAgICAgIGVsZW1lbnQudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnRyYWNrZWRTdWJzY3JpcHRpb25zPVtdO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYoY2hhbmdlcy5Db25maWd1cmF0aW9uKXtcclxuXHJcbiAgICAgICAgICAgIC8vYXBwZW5hIGhvIGNvbmZpZ3VyYXRpb25cclxuICAgICAgICAgICAgXHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZWxvYWREYXRhKCl7XHJcbiAgICAgICAgdGhpcy5kc2hTZXJ2aWNlLkdldFVzZXJEYXNoYm9hcmQodGhpcy5Db25maWd1cmF0aW9uLmFjY291bnRJZCx0aGlzLkNvbmZpZ3VyYXRpb24uZGFzaGJvYXJkTmFtZSkuc3Vic2NyaWJlKGMgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmRhc2hib2FyZExheW91dCA9IGM7XHJcbiAgICAgICAgICAgIHRoaXMud2lkZ2V0RGVmaW5pdGlvbnMgPWMud2lkZ2V0cy5tYXAoaSA9PntcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNtcEZhY3RvcnkucmVzb2x2ZURlZmluaXRpb24oaS50eXBlLGkpXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9KTsgXHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlSXRlbSh3aWRnZXROYW1lOnN0cmluZykge1xyXG4gICAgICAgIGlmKCF0aGlzLmRhc2hib2FyZExheW91dClcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIGxldCBpZHggPXRoaXMuZGFzaGJvYXJkTGF5b3V0LndpZGdldHMuZmluZEluZGV4KHM9PnMubmFtZT09d2lkZ2V0TmFtZSk7XHJcbiAgICAgICAgdGhpcy53aWRnZXREZWZpbml0aW9ucy5zcGxpY2UoaWR4LCAxKTtcclxuICAgIH1cclxuXHJcbiAgICBzYXZlRGFzaGJvYXJkKCl7XHJcbiAgICAgICAgaWYoIXRoaXMuZGFzaGJvYXJkTGF5b3V0KVxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgICBjb25zdCBkdG8gPSBuZXcgU2F2ZUphY2VEYXNoYm9hcmRMYXlvdXREVE8oKTtcclxuICAgICAgICBcclxuICAgICAgICBkdG8ud2lkZ2V0cyA9IFtdO1xyXG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0aGlzLndpZGdldERlZmluaXRpb25zLmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICAgICAgICBjb25zdCB3OiBJSmFjZVdpZGdldE1vZGVsfG51bGwgPSB0aGlzLndpZGdldERlZmluaXRpb25zW2luZGV4XTtcclxuICAgICAgICAgICAgaWYodz09bnVsbClcclxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICBsZXQgdiA9IG5ldyBKYWNlV2lkZ2V0SW5zdGFuY2VEZXRhaWwoKTtcclxuICAgICAgICAgICAgdi5pZCA9IHcuaWQ7XHJcbiAgICAgICAgICAgIHYubmFtZSA9IHcubmFtZTtcclxuICAgICAgICAgICAgdi54ID0gdy54O1xyXG4gICAgICAgICAgICB2LnkgPSB3Lnk7XHJcbiAgICAgICAgICAgIHYuY29scyA9IHcuY29scztcclxuICAgICAgICAgICAgdi5yb3dzID0gdy5yb3dzO1xyXG4gICAgICAgICAgICB2LmNvbXBhY3RlbmFibGVkID0gdy5jb21wYWN0RW5hYmxlZDtcclxuICAgICAgICAgICAgdi5kcmFnZW5hYmxlZCA9IHcuZHJhZ0VuYWJsZWQ7XHJcbiAgICAgICAgICAgIHYucmVzaXplZW5hYmxlZCA9IHcucmVzaXplRW5hYmxlZDtcclxuICAgICAgICAgICAgdi50eXBlID0gdy53aWRnZXRUeXBlO1xyXG4gICAgICAgICAgICB2LnRpdGxlID0gdy50aXRsZTtcclxuICAgICAgICAgICAgdi5vcHRpb25zID0gdy5vcHRpb25zO1xyXG4gICAgICAgICAgICBkdG8ud2lkZ2V0cy5wdXNoKHYpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRzaFNlcnZpY2UuU2F2ZVVzZXJEYXNoYm9hcmQoZHRvKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgaWYocmVzLnN1Y2Nlc3MpXHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnRGFzaGJvYXJkIHNhdmVkJyk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZW5kZXJMYXlvdXQoY29tcHM6IFF1ZXJ5TGlzdDxWaWV3Q29udGFpbmVyUmVmPil7XHJcblxyXG4gICAgICAgIHRoaXMuY2xlYXJUcmFja2VkU3Vic2NyaXB0aW9ucygpO1xyXG5cclxuICAgICAgICBjb21wcy5tYXAoKGhvc3QsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZjciA9IGhvc3Q7XHJcbiAgICAgICAgICAgIHZjci5jbGVhcigpO1xyXG4gICAgICAgICAgICBjb25zdCB3aWRnZXREYXRhID0gdGhpcy53aWRnZXREZWZpbml0aW9uc1tpbmRleF07XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpZighd2lkZ2V0RGF0YSB8fCAhd2lkZ2V0RGF0YS53aWRnZXRUeXBlKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuXHJcblxyXG4gICAgICAgICAgICBsZXQgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8SVdpZGdldENvbXBvbmVudD58bnVsbDtcclxuICAgICAgICAgICAgY29tcG9uZW50UmVmID0gdGhpcy5jbXBGYWN0b3J5LnJlc29sdmVDb21wb25lbnQod2lkZ2V0RGF0YT8ud2lkZ2V0VHlwZSx2Y3IpO1xyXG5cclxuICAgICAgICAgICAgaWYoIWNvbXBvbmVudFJlZilcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgVGlwbyB3aWRnZXQgc2Nvbm9zY2l1dG8gJHt3aWRnZXREYXRhLndpZGdldFR5cGV9YCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC8vc2V0dGEgbCdpbnB1dCBkZWxsYSBkYXRhXHJcbiAgICAgICAgICAgIGlmKHRoaXMuQ29uZmlndXJhdGlvbi5zaG93RGF0ZUlucHV0KVxyXG4gICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuRGFzaGJvYXJkRGF0ZSA9IHRoaXMuZGFzaGJvYXJkRGF0ZTtcclxuXHJcbiAgICAgICAgICAgIC8vc2V0dGEgaWwgbW9kZWxsb1xyXG4gICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Uuc2V0V2lkZ2V0TW9kZWwod2lkZ2V0RGF0YSk7XHJcblxyXG4gICAgICAgICAgICAvL3NldHRhIGxhIGNhbGxiYWNrIHBlciBPblJlbW92ZVxyXG4gICAgICAgICAgICBsZXQgcyA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZS5PblJlbW92ZS5zdWJzY3JpYmUobmFtZT0+dGhpcy5yZW1vdmVJdGVtKG5hbWUpKTtcclxuICAgICAgICAgICAgdGhpcy50cmFja2VkU3Vic2NyaXB0aW9ucy5wdXNoKHMpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLy9jb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcblxyXG4gICAgICAgICAgICAvL2NvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBhZGRJdGVtKCkge1xyXG5cclxuICAgICAgICAvL3RoaXMuZGFzaGJvYXJkLnB1c2goe30pO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Injectable, Inject } from "@angular/core";
|
|
2
|
+
import { LocalizationService } from "@esfaenza/localizations";
|
|
3
|
+
import { DSH_OPTIONS } from "../../private-injection-tokens";
|
|
4
|
+
export class DashboardLoc extends LocalizationService {
|
|
5
|
+
constructor(options) {
|
|
6
|
+
super(options.locale);
|
|
7
|
+
super.set("en->it", "Dashboard", ["Dashboard"]);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
DashboardLoc.decorators = [
|
|
11
|
+
{ type: Injectable }
|
|
12
|
+
];
|
|
13
|
+
DashboardLoc.ctorParameters = () => [
|
|
14
|
+
{ type: undefined, decorators: [{ type: Inject, args: [DSH_OPTIONS,] }] }
|
|
15
|
+
];
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmNvbXBvbmVudC5sb2MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtZmVhdHVyZS9zcmMvbGliL2NvbXBvbmVudHMvZGFzaGJvYXJkL2Rhc2hib2FyZC5jb21wb25lbnQubG9jLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUs3RCxNQUFNLE9BQU8sWUFBYSxTQUFRLG1CQUFtQjtJQUNqRCxZQUFpQyxPQUFnQztRQUM3RCxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RCLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFFcEQsQ0FBQzs7O1lBTkosVUFBVTs7OzRDQUVNLE1BQU0sU0FBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5pbXBvcnQgeyBJRGFzaGJvYXJkTW9kdWxlT3B0aW9ucyB9IGZyb20gXCIuLi8uLi9tb2RlbHMvb3B0aW9ucy9JRGFzaGJvYXJkTW9kdWxlT3B0aW9uc1wiO1xyXG5pbXBvcnQgeyBEU0hfT1BUSU9OUyB9IGZyb20gXCIuLi8uLi9wcml2YXRlLWluamVjdGlvbi10b2tlbnNcIjtcclxuXHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkTG9jIGV4dGVuZHMgTG9jYWxpemF0aW9uU2VydmljZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KERTSF9PUFRJT05TKSBvcHRpb25zOiBJRGFzaGJvYXJkTW9kdWxlT3B0aW9ucykge1xyXG4gICAgICAgIHN1cGVyKG9wdGlvbnMubG9jYWxlKTtcclxuICAgICAgICBzdXBlci5zZXQoXCJlbi0+aXRcIiwgXCJEYXNoYm9hcmRcIiwgW1wiRGFzaGJvYXJkXCJdKTtcclxuICAgICAgICBcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { EventEmitter, Inject, Injectable } from "@angular/core";
|
|
2
|
+
import { DSH_DATA_SERVICE } from "../../public-injection-tokens";
|
|
3
|
+
/**
|
|
4
|
+
* Classe di base astratta per la creazione di Widget custom.
|
|
5
|
+
*/
|
|
6
|
+
export class BaseWidgetComponent {
|
|
7
|
+
constructor(dshService) {
|
|
8
|
+
this.dshService = dshService;
|
|
9
|
+
this.OnRemove = new EventEmitter();
|
|
10
|
+
this.configuration = false;
|
|
11
|
+
this.dataReady = false;
|
|
12
|
+
this.lastdate = "";
|
|
13
|
+
}
|
|
14
|
+
setWidgetModel(widgetModel) {
|
|
15
|
+
this.model = widgetModel;
|
|
16
|
+
this.refreshData();
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() { }
|
|
19
|
+
ngOnChanges(changes) {
|
|
20
|
+
//console.log(changes['DashboardDate'].currentValue);
|
|
21
|
+
if (changes['DashboardDate'].previousValue)
|
|
22
|
+
this.lastdate = changes['DashboardDate'].previousValue.toISOString();
|
|
23
|
+
let curdate = "";
|
|
24
|
+
if (changes['DashboardDate'].currentValue)
|
|
25
|
+
curdate = changes['DashboardDate'].currentValue.toISOString();
|
|
26
|
+
//fix per il datetimepicker material che cambia l'oggetto al momento del caricamento
|
|
27
|
+
if (this.lastdate != curdate) {
|
|
28
|
+
this.lastdate = curdate;
|
|
29
|
+
this.refreshData();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Prepara i parametri e lancia la chiamata GetWidgetData della DashboardFeatureService.
|
|
34
|
+
* Imposta il model con i dati restituiti (setData) e imposta la variabile dataReady del campo a true
|
|
35
|
+
*/
|
|
36
|
+
refreshData() {
|
|
37
|
+
if (!this.model)
|
|
38
|
+
return;
|
|
39
|
+
const pars = {};
|
|
40
|
+
if (this.DashboardDate)
|
|
41
|
+
pars["DT"] = this.DashboardDate.toISOString();
|
|
42
|
+
if (this.model.options && Object.keys(this.model.options).length != 0) {
|
|
43
|
+
for (let index = 0; index < Object.keys(this.model.options).length; index++) {
|
|
44
|
+
const k = Object.keys(this.model.options)[index];
|
|
45
|
+
pars[k] = this.model.options[k];
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
this.prepareGetDataParameters(pars);
|
|
49
|
+
this.dshService.GetWidgetData(this.model.name, pars).subscribe(data => {
|
|
50
|
+
if (this.model) {
|
|
51
|
+
this.model.setData(data);
|
|
52
|
+
this.dataReady = true;
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Da chiamare quando l'utente preme il pulsante 'rimuovi' nella toolbar della widget.
|
|
58
|
+
*/
|
|
59
|
+
removeWidget() {
|
|
60
|
+
if (!this.model)
|
|
61
|
+
return;
|
|
62
|
+
this.OnRemove.emit(this.model.name);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Da chiamare quando viene premuto il pulsante 'configure' nella toolbar della widget
|
|
66
|
+
*/
|
|
67
|
+
configureWidget() {
|
|
68
|
+
if (this.configuration) {
|
|
69
|
+
//finito di configurare -> refreshData
|
|
70
|
+
this.refreshData();
|
|
71
|
+
}
|
|
72
|
+
this.configuration = !this.configuration;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
BaseWidgetComponent.decorators = [
|
|
76
|
+
{ type: Injectable }
|
|
77
|
+
];
|
|
78
|
+
BaseWidgetComponent.ctorParameters = () => [
|
|
79
|
+
{ type: undefined, decorators: [{ type: Inject, args: [DSH_DATA_SERVICE,] }] }
|
|
80
|
+
];
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZVdpZGdldENvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1mZWF0dXJlL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXRzL0Jhc2VXaWRnZXRDb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUF3QixZQUFZLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFJdEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFakU7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLG1CQUFtQjtJQVdyQyxZQUFnRCxVQUF3QztRQUF4QyxlQUFVLEdBQVYsVUFBVSxDQUE4QjtRQU54RixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV0QyxrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGFBQVEsR0FBVyxFQUFFLENBQUM7SUFFc0UsQ0FBQztJQUU3RixjQUFjLENBQUMsV0FBNkI7UUFFeEMsSUFBSSxDQUFDLEtBQUssR0FBTSxXQUFXLENBQUM7UUFFNUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxRQUFRLEtBQUssQ0FBQztJQUVkLFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixxREFBcUQ7UUFDckQsSUFBSSxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsYUFBYTtZQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFekUsSUFBSSxPQUFPLEdBQVcsRUFBRSxDQUFDO1FBRXpCLElBQUksT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFlBQVk7WUFDckMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEUsb0ZBQW9GO1FBQ3BGLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxPQUFPLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7WUFDeEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3RCO0lBRUwsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVc7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFDWCxPQUFPO1FBQ1gsTUFBTSxJQUFJLEdBQThCLEVBQUUsQ0FBQztRQUMzQyxJQUFHLElBQUksQ0FBQyxhQUFhO1lBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDbkUsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ3pFLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDakQsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ25DO1NBQ0o7UUFFRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2xFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDWixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7YUFDekI7UUFDTCxDQUFDLENBQ0EsQ0FBQztJQUNOLENBQUM7SUFRRDs7T0FFRztJQUNILFlBQVk7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFDWCxPQUFPO1FBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlO1FBQ1gsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLHNDQUFzQztZQUN0QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdEI7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDOzs7WUE1RkgsVUFBVTs7OzRDQVlLLE1BQU0sU0FBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RhYmxlLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgSUphY2VXaWRnZXRNb2RlbCB9IGZyb20gXCIuLi8uLi9tb2RlbHMvd2lkZ2V0cy9JSmFjZVdpZGdldE1vZGVsXCI7XHJcbmltcG9ydCB7IElXaWRnZXRDb21wb25lbnQgfSBmcm9tIFwiLi9JV2lkZ2V0Q29tcG9uZW50XCI7XHJcbmltcG9ydCB7IElEYXNoYm9hcmRGZWF0dXJlRGF0YVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvSURhc2hib2FyZEZlYXR1cmVEYXRhU2VydmljZVwiO1xyXG5pbXBvcnQgeyBEU0hfREFUQV9TRVJWSUNFIH0gZnJvbSBcIi4uLy4uL3B1YmxpYy1pbmplY3Rpb24tdG9rZW5zXCI7XHJcblxyXG4vKipcclxuICogQ2xhc3NlIGRpIGJhc2UgYXN0cmF0dGEgcGVyIGxhIGNyZWF6aW9uZSBkaSBXaWRnZXQgY3VzdG9tLlxyXG4gKi9cclxuIEBJbmplY3RhYmxlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VXaWRnZXRDb21wb25lbnQ8VCBleHRlbmRzIElKYWNlV2lkZ2V0TW9kZWw+IGltcGxlbWVudHMgSVdpZGdldENvbXBvbmVudHtcclxuXHJcbiAgICBtb2RlbD86IFQ7XHJcblxyXG4gICAgRGFzaGJvYXJkRGF0ZSE6IERhdGU7XHJcbiAgICBPblJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAgIGNvbmZpZ3VyYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGRhdGFSZWFkeTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgbGFzdGRhdGU6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgY29uc3RydWN0b3IoQEluamVjdChEU0hfREFUQV9TRVJWSUNFKSBwcm90ZWN0ZWQgZHNoU2VydmljZTogSURhc2hib2FyZEZlYXR1cmVEYXRhU2VydmljZSkgeyB9XHJcblxyXG4gICAgc2V0V2lkZ2V0TW9kZWwod2lkZ2V0TW9kZWw6IElKYWNlV2lkZ2V0TW9kZWwpOiB2b2lkIHtcclxuICAgICAgICBcclxuICAgICAgICB0aGlzLm1vZGVsID0gPFQ+d2lkZ2V0TW9kZWw7XHJcblxyXG4gICAgICAgIHRoaXMucmVmcmVzaERhdGEoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHsgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICAvL2NvbnNvbGUubG9nKGNoYW5nZXNbJ0Rhc2hib2FyZERhdGUnXS5jdXJyZW50VmFsdWUpO1xyXG4gICAgICAgIGlmIChjaGFuZ2VzWydEYXNoYm9hcmREYXRlJ10ucHJldmlvdXNWYWx1ZSlcclxuICAgICAgICAgICAgdGhpcy5sYXN0ZGF0ZSA9IGNoYW5nZXNbJ0Rhc2hib2FyZERhdGUnXS5wcmV2aW91c1ZhbHVlLnRvSVNPU3RyaW5nKCk7XHJcblxyXG4gICAgICAgIGxldCBjdXJkYXRlOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgICAgICBpZiAoY2hhbmdlc1snRGFzaGJvYXJkRGF0ZSddLmN1cnJlbnRWYWx1ZSlcclxuICAgICAgICAgICAgY3VyZGF0ZSA9IGNoYW5nZXNbJ0Rhc2hib2FyZERhdGUnXS5jdXJyZW50VmFsdWUudG9JU09TdHJpbmcoKTtcclxuICAgICAgICAvL2ZpeCBwZXIgaWwgZGF0ZXRpbWVwaWNrZXIgbWF0ZXJpYWwgY2hlIGNhbWJpYSBsJ29nZ2V0dG8gYWwgbW9tZW50byBkZWwgY2FyaWNhbWVudG9cclxuICAgICAgICBpZiAodGhpcy5sYXN0ZGF0ZSAhPSBjdXJkYXRlKSB7XHJcbiAgICAgICAgICAgIHRoaXMubGFzdGRhdGUgPSBjdXJkYXRlO1xyXG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hEYXRhKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFByZXBhcmEgaSBwYXJhbWV0cmkgZSBsYW5jaWEgbGEgY2hpYW1hdGEgR2V0V2lkZ2V0RGF0YSBkZWxsYSBEYXNoYm9hcmRGZWF0dXJlU2VydmljZS5cclxuICAgICAqIEltcG9zdGEgaWwgbW9kZWwgY29uIGkgZGF0aSByZXN0aXR1aXRpIChzZXREYXRhKSBlIGltcG9zdGEgbGEgdmFyaWFiaWxlIGRhdGFSZWFkeSBkZWwgY2FtcG8gYSB0cnVlXHJcbiAgICAgKi9cclxuICAgIHJlZnJlc2hEYXRhKCkgOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMubW9kZWwpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBjb25zdCBwYXJzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgICAgICAgaWYodGhpcy5EYXNoYm9hcmREYXRlKVxyXG4gICAgICAgICAgICBwYXJzW1wiRFRcIl0gPSB0aGlzLkRhc2hib2FyZERhdGUudG9JU09TdHJpbmcoKTtcclxuICAgICAgICBpZiAodGhpcy5tb2RlbC5vcHRpb25zICYmIE9iamVjdC5rZXlzKHRoaXMubW9kZWwub3B0aW9ucykubGVuZ3RoICE9IDApIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IE9iamVjdC5rZXlzKHRoaXMubW9kZWwub3B0aW9ucykubGVuZ3RoOyBpbmRleCsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBrID0gT2JqZWN0LmtleXModGhpcy5tb2RlbC5vcHRpb25zKVtpbmRleF07XHJcbiAgICAgICAgICAgICAgICBwYXJzW2tdID0gdGhpcy5tb2RlbC5vcHRpb25zW2tdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnByZXBhcmVHZXREYXRhUGFyYW1ldGVycyhwYXJzKTtcclxuXHJcbiAgICAgICAgdGhpcy5kc2hTZXJ2aWNlLkdldFdpZGdldERhdGEodGhpcy5tb2RlbC5uYW1lLCBwYXJzKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1vZGVsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGVsLnNldERhdGEoZGF0YSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFSZWFkeSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgIH0gICAgXHJcbiAgICAvKipcclxuICAgICAqIE1vZGlmaWNhL2FnZ2lvcm5hIGkgcGFyYW1ldHJpIGRlbGxhIGNoaWFtYXRhIEdldFdpZGdldERhdGEgcHJpbWEgZGkgZXNlZ3VpcmxhLiAgICAgKiBcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHBhcnMgcGFyYW1ldHJpIGRlbGxhIGNoaWFtYXRhLiBTZSBpbXBvc3RhdGEsIGdpw6AgY29udGVuZ29ubyBpbCBwYXJhbWV0cm8gJ0RUJyBjb24gbGEgZGF0YSBzZWxlemlvbmF0YSBhIGxpdmVsbG8gZGkgZGFzaGJvYXJkXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IHByZXBhcmVHZXREYXRhUGFyYW1ldGVycyhwYXJzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZzsgfSkgOnZvaWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEYSBjaGlhbWFyZSBxdWFuZG8gbCd1dGVudGUgcHJlbWUgaWwgcHVsc2FudGUgJ3JpbXVvdmknIG5lbGxhIHRvb2xiYXIgZGVsbGEgd2lkZ2V0LlxyXG4gICAgICovXHJcbiAgICByZW1vdmVXaWRnZXQoKSA6dm9pZHtcclxuICAgICAgICBpZiAoIXRoaXMubW9kZWwpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB0aGlzLk9uUmVtb3ZlLmVtaXQodGhpcy5tb2RlbC5uYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIERhIGNoaWFtYXJlIHF1YW5kbyB2aWVuZSBwcmVtdXRvIGlsIHB1bHNhbnRlICdjb25maWd1cmUnIG5lbGxhIHRvb2xiYXIgZGVsbGEgd2lkZ2V0XHJcbiAgICAgKi9cclxuICAgIGNvbmZpZ3VyZVdpZGdldCgpIDp2b2lke1xyXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24pIHtcclxuICAgICAgICAgICAgLy9maW5pdG8gZGkgY29uZmlndXJhcmUgLT4gcmVmcmVzaERhdGFcclxuICAgICAgICAgICAgdGhpcy5yZWZyZXNoRGF0YSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSAhdGhpcy5jb25maWd1cmF0aW9uO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVdpZGdldENvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1mZWF0dXJlL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXRzL0lXaWRnZXRDb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBJSmFjZVdpZGdldE1vZGVsIH0gZnJvbSBcIi4uLy4uL21vZGVscy93aWRnZXRzL0lKYWNlV2lkZ2V0TW9kZWxcIjtcclxuXHJcbi8qKlxyXG4gKiBJbnRlcmZhY2NpYSBjaGUgb2duaSBDb21wb25lbnQgY2hlIHJhcHByZXNlbnRhIHVuYSB3aWRnZXQgZGV2ZSBpbXBsZW1lbnRhcmUuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElXaWRnZXRDb21wb25lbnR7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZSByaWxldmFudGUgcGVyIHF1ZXN0YSBkYXNoYm9hcmQsIGluIHF1ZXN0byBpbnB1dCB2aWVuZSBpbXBvc3RhdGEgbGEgZGF0YSBzZWxlemlvbmF0YSBkYWxsJ3V0ZW50ZS5cclxuICAgICAqL1xyXG4gICAgRGFzaGJvYXJkRGF0ZTogRGF0ZTtcclxuICAgIC8qKlxyXG4gICAgICogTGFuY2lhdG8gcXVhbmRvIHF1ZXN0YSB3aWRnZXQgdmllbmUgcmltb3NzYSBkYWxsYSBkYXNoYm9hcmRcclxuICAgICAqL1xyXG4gICAgT25SZW1vdmU6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW1wb3N0YSBpbCBtb2RlbGxvIGRlbGxhIHdpZGdldCBuZWwgY29tcG9uZW50ZS5cclxuICAgICAqIFxyXG4gICAgICogTGFuY2lhdGEgc3ViaXRvIGRvcG8gbGEgY3JlYXppb25lIGRlbCBDb21wb25lbnRlLCBkdXJhbnRlIGlsIHJlbmRlcmluZyBkZWwgbGF5b3V0IGRlbGxhIGRhc2hib2FyZC5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHdpZGdldE1vZGVsIEltcG9zdGEgaWwgbW9kZWxsbyBkZWxsYSB3aWRnZXQgbGV0dG8gbmVsIGxheW91dCByaWNldnV0byBkYWwgQkVcclxuICAgICAqL1xyXG4gICAgc2V0V2lkZ2V0TW9kZWwod2lkZ2V0TW9kZWw6IElKYWNlV2lkZ2V0TW9kZWwpOnZvaWQ7XHJcbn0iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export var JaceWidgetTypes;
|
|
2
|
+
(function (JaceWidgetTypes) {
|
|
3
|
+
JaceWidgetTypes["CHART"] = "CHART";
|
|
4
|
+
JaceWidgetTypes["COUNTER"] = "COUNTER";
|
|
5
|
+
JaceWidgetTypes["LIST"] = "LIST";
|
|
6
|
+
JaceWidgetTypes["MULTIPROGRESS"] = "MULTIPROGRESS";
|
|
7
|
+
})(JaceWidgetTypes || (JaceWidgetTypes = {}));
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSmFjZVdpZGdldFR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGFzaGJvYXJkLWZlYXR1cmUvc3JjL2xpYi9jb21wb25lbnRzL3dpZGdldHMvSmFjZVdpZGdldFR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGVBS1g7QUFMRCxXQUFZLGVBQWU7SUFDM0Isa0NBQWEsQ0FBQTtJQUNiLHNDQUFpQixDQUFBO0lBQ2pCLGdDQUFXLENBQUE7SUFDWCxrREFBNkIsQ0FBQTtBQUM3QixDQUFDLEVBTFcsZUFBZSxLQUFmLGVBQWUsUUFLMUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBKYWNlV2lkZ2V0VHlwZXN7XHJcbkNIQVJUPSdDSEFSVCcsXHJcbkNPVU5URVI9J0NPVU5URVInLFxyXG5MSVNUPSdMSVNUJyxcclxuTVVMVElQUk9HUkVTUz0nTVVMVElQUk9HUkVTUydcclxufSJdfQ==
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Component, EventEmitter, Inject, Input, Output } from '@angular/core';
|
|
2
|
+
import { DSH_DATA_SERVICE } from '../../../public-injection-tokens';
|
|
3
|
+
export class JaceChartWidgetComponent {
|
|
4
|
+
constructor(dshService) {
|
|
5
|
+
this.dshService = dshService;
|
|
6
|
+
this.OnRemove = new EventEmitter();
|
|
7
|
+
this.configuration = false;
|
|
8
|
+
this.dataReady = false;
|
|
9
|
+
this.lastdate = "";
|
|
10
|
+
this.chartName = "";
|
|
11
|
+
}
|
|
12
|
+
setWidgetModel(widgetModel) {
|
|
13
|
+
this.model = widgetModel;
|
|
14
|
+
this.refreshData();
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() { }
|
|
17
|
+
ngOnChanges(changes) {
|
|
18
|
+
//console.log(changes['DashboardDate'].currentValue);
|
|
19
|
+
if (changes['DashboardDate'].previousValue)
|
|
20
|
+
this.lastdate = changes['DashboardDate'].previousValue.toISOString();
|
|
21
|
+
let curdate = "";
|
|
22
|
+
if (changes['DashboardDate'].currentValue)
|
|
23
|
+
curdate = changes['DashboardDate'].currentValue.toISOString();
|
|
24
|
+
//fix per il datetimepicker material che cambia l'oggetto al momento del caricamento
|
|
25
|
+
if (this.lastdate != curdate) {
|
|
26
|
+
this.lastdate = curdate;
|
|
27
|
+
this.refreshData();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
refreshData() {
|
|
31
|
+
if (!this.model)
|
|
32
|
+
return;
|
|
33
|
+
const pars = {};
|
|
34
|
+
if (this.DashboardDate)
|
|
35
|
+
pars["DT"] = this.DashboardDate.toISOString();
|
|
36
|
+
if (this.model.options && Object.keys(this.model.options).length != 0) {
|
|
37
|
+
for (let index = 0; index < Object.keys(this.model.options).length; index++) {
|
|
38
|
+
const k = Object.keys(this.model.options)[index];
|
|
39
|
+
pars[k] = this.model.options[k];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
this.dshService.GetWidgetData(this.model.name, pars).subscribe(data => {
|
|
43
|
+
if (this.model) {
|
|
44
|
+
this.model.setData(data);
|
|
45
|
+
this.chartName = this.model.name;
|
|
46
|
+
this.dataReady = true;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
removeWidget() {
|
|
51
|
+
if (!this.model)
|
|
52
|
+
return;
|
|
53
|
+
this.OnRemove.emit(this.model.name);
|
|
54
|
+
}
|
|
55
|
+
configure() {
|
|
56
|
+
if (this.configuration) {
|
|
57
|
+
//finito di configurare -> refreshData
|
|
58
|
+
this.refreshData();
|
|
59
|
+
}
|
|
60
|
+
this.configuration = !this.configuration;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
JaceChartWidgetComponent.decorators = [
|
|
64
|
+
{ type: Component, args: [{
|
|
65
|
+
selector: 'jace-dsh-chart',
|
|
66
|
+
template: "<div class=\"jace-dsh-widget-header {{model?.name}}-header\">\r\n <div class=\"jace-dsh-widget-title\" *ngIf=\"model.title\">\r\n {{model.title}}\r\n </div>\r\n <div class=\"jace-dsh-widget-controls\" *ngIf=\"dataReady\">\r\n <span class=\"transition drag-handler jace-dsh-widget-drag\" *ngIf=\"model.dragEnabled\">\r\n <i class=\"fa fa-arrows-alt\"></i>\r\n </span>\r\n <span class=\"transition jace-dsh-widget-opts\" (click)=\"configure()\">\r\n <i class=\"fa fa-cog\"></i>\r\n </span>\r\n <span (click)=\"removeWidget()\" class=\"transition remove-button jace-dsh-widget-close\">\r\n <i class=\"fa fa-times\"></i>\r\n </span>\r\n </div>\r\n</div>\r\n<div class=\"jace-dsh-widget-body gridster-item-content {{model?.name}}-body\">\r\n <div class=\"jace-dsh-widget-loading\" *ngIf=\"!dataReady\">\r\n <i class=\"fa fa-spinner fa-spin\"></i>\r\n </div>\r\n\r\n <div class=\"jace-dsh-chart-container jace-dsh-widget-slide\"\r\n [ngClass]=\"{'jace-dsh-widget-content-hide':configuration,'jace-dsh-widget-content-show':!configuration}\"\r\n *ngIf=\"dataReady\">\r\n <!-- [Type]=\"Widget.chartType\" -->\r\n <h6 *ngIf=\"model?.queryerror\" class=\"fg-disabled\" style=\"margin-top: 0.5rem;\"><span\r\n class=\"fa fa-times-circle-o\"></span> Error retrieving data</h6>\r\n <es-chart [Legend]=\"model.legend\" [Theme]=\"'dataviz'\" [Type]=\"model.chartType\" [Data]=\"model.chartData\"\r\n [name]=\"chartName\"></es-chart>\r\n </div>\r\n\r\n <div class=\"jace-dsh-widget-settings jace-dsh-widget-slide \"\r\n [ngClass]=\"{'jace-dsh-widget-settings-hide':!configuration,'jace-dsh-widget-settings-show':configuration}\">\r\n <p>Configuration</p>\r\n </div>\r\n</div>",
|
|
67
|
+
styles: [""]
|
|
68
|
+
},] }
|
|
69
|
+
];
|
|
70
|
+
JaceChartWidgetComponent.ctorParameters = () => [
|
|
71
|
+
{ type: undefined, decorators: [{ type: Inject, args: [DSH_DATA_SERVICE,] }] }
|
|
72
|
+
];
|
|
73
|
+
JaceChartWidgetComponent.propDecorators = {
|
|
74
|
+
DashboardDate: [{ type: Input }],
|
|
75
|
+
OnRemove: [{ type: Output }]
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamFjZS1kc2gtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGFzaGJvYXJkLWZlYXR1cmUvc3JjL2xpYi9jb21wb25lbnRzL3dpZGdldHMvY2hhcnQvamFjZS1kc2gtY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQU10RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQVNwRSxNQUFNLE9BQU8sd0JBQXdCO0lBWWpDLFlBQThDLFVBQXdDO1FBQXhDLGVBQVUsR0FBVixVQUFVLENBQThCO1FBUDVFLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRWhELGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUNmLGNBQVMsR0FBUSxFQUFFLENBQUM7SUFFK0QsQ0FBQztJQUUzRixjQUFjLENBQUMsV0FBNkI7UUFDeEMsSUFBSSxDQUFDLEtBQUssR0FBeUIsV0FBVyxDQUFDO1FBQy9DLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsUUFBUSxLQUFLLENBQUM7SUFFZCxXQUFXLENBQUMsT0FBc0I7UUFDOUIscURBQXFEO1FBQ3JELElBQUksT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLGFBQWE7WUFDdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXpFLElBQUksT0FBTyxHQUFXLEVBQUUsQ0FBQztRQUV6QixJQUFJLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxZQUFZO1lBQ3JDLE9BQU8sR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xFLG9GQUFvRjtRQUNwRixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksT0FBTyxFQUFFO1lBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN0QjtJQUVMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQ1gsT0FBTztRQUNYLE1BQU0sSUFBSSxHQUE4QixFQUFFLENBQUM7UUFDM0MsSUFBRyxJQUFJLENBQUMsYUFBYTtZQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1lBQ25FLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUN6RSxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2pELElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNuQztTQUNKO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2xFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDWixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7YUFDekI7UUFDTCxDQUFDLENBQ0EsQ0FBQztJQUNOLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQ1gsT0FBTztRQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIsc0NBQXNDO1lBQ3RDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN0QjtRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7OztZQS9FSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsbTFEQUE4Qzs7YUFFakQ7Ozs0Q0FjZ0IsTUFBTSxTQUFDLGdCQUFnQjs7OzRCQVJuQyxLQUFLO3VCQUNMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IElKYWNlV2lkZ2V0TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvd2lkZ2V0cy9JSmFjZVdpZGdldE1vZGVsJztcclxuaW1wb3J0IHsgSVdpZGdldENvbXBvbmVudCB9IGZyb20gJy4uL0lXaWRnZXRDb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgSmFjZUNoYXJ0V2lkZ2V0TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvd2lkZ2V0cy9KYWNlQ2hhcnRXaWRnZXRNb2RlbCc7XHJcbmltcG9ydCB7IERTSF9EQVRBX1NFUlZJQ0UgfSBmcm9tICcuLi8uLi8uLi9wdWJsaWMtaW5qZWN0aW9uLXRva2Vucyc7XHJcbmltcG9ydCB7IElEYXNoYm9hcmRGZWF0dXJlRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9JRGFzaGJvYXJkRmVhdHVyZURhdGFTZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdqYWNlLWRzaC1jaGFydCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vamFjZS1kc2gtY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vamFjZS1kc2gtY2hhcnQuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgSmFjZUNoYXJ0V2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgSVdpZGdldENvbXBvbmVudCwgT25Jbml0IHtcclxuXHJcbiAgICBtb2RlbD86IEphY2VDaGFydFdpZGdldE1vZGVsO1xyXG5cclxuICAgIEBJbnB1dCgpIERhc2hib2FyZERhdGUhOiBEYXRlO1xyXG4gICAgQE91dHB1dCgpIE9uUmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gICAgY29uZmlndXJhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgZGF0YVJlYWR5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBsYXN0ZGF0ZTogc3RyaW5nID0gXCJcIjtcclxuICAgIHB1YmxpYyBjaGFydE5hbWU6c3RyaW5nPVwiXCI7XHJcblxyXG4gICAgY29uc3RydWN0b3IoQEluamVjdChEU0hfREFUQV9TRVJWSUNFKSBwcml2YXRlIGRzaFNlcnZpY2U6IElEYXNoYm9hcmRGZWF0dXJlRGF0YVNlcnZpY2UpIHsgfVxyXG5cclxuICAgIHNldFdpZGdldE1vZGVsKHdpZGdldE1vZGVsOiBJSmFjZVdpZGdldE1vZGVsKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5tb2RlbCA9IDxKYWNlQ2hhcnRXaWRnZXRNb2RlbD53aWRnZXRNb2RlbDtcclxuICAgICAgICB0aGlzLnJlZnJlc2hEYXRhKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7IH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgLy9jb25zb2xlLmxvZyhjaGFuZ2VzWydEYXNoYm9hcmREYXRlJ10uY3VycmVudFZhbHVlKTtcclxuICAgICAgICBpZiAoY2hhbmdlc1snRGFzaGJvYXJkRGF0ZSddLnByZXZpb3VzVmFsdWUpXHJcbiAgICAgICAgICAgIHRoaXMubGFzdGRhdGUgPSBjaGFuZ2VzWydEYXNoYm9hcmREYXRlJ10ucHJldmlvdXNWYWx1ZS50b0lTT1N0cmluZygpO1xyXG5cclxuICAgICAgICBsZXQgY3VyZGF0ZTogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ0Rhc2hib2FyZERhdGUnXS5jdXJyZW50VmFsdWUpXHJcbiAgICAgICAgICAgIGN1cmRhdGUgPSBjaGFuZ2VzWydEYXNoYm9hcmREYXRlJ10uY3VycmVudFZhbHVlLnRvSVNPU3RyaW5nKCk7XHJcbiAgICAgICAgLy9maXggcGVyIGlsIGRhdGV0aW1lcGlja2VyIG1hdGVyaWFsIGNoZSBjYW1iaWEgbCdvZ2dldHRvIGFsIG1vbWVudG8gZGVsIGNhcmljYW1lbnRvXHJcbiAgICAgICAgaWYgKHRoaXMubGFzdGRhdGUgIT0gY3VyZGF0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmxhc3RkYXRlID0gY3VyZGF0ZTtcclxuICAgICAgICAgICAgdGhpcy5yZWZyZXNoRGF0YSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgcmVmcmVzaERhdGEoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLm1vZGVsKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgY29uc3QgcGFyczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gICAgICAgIGlmKHRoaXMuRGFzaGJvYXJkRGF0ZSlcclxuICAgICAgICAgICAgcGFyc1tcIkRUXCJdID0gdGhpcy5EYXNoYm9hcmREYXRlLnRvSVNPU3RyaW5nKCk7XHJcbiAgICAgICAgaWYgKHRoaXMubW9kZWwub3B0aW9ucyAmJiBPYmplY3Qua2V5cyh0aGlzLm1vZGVsLm9wdGlvbnMpLmxlbmd0aCAhPSAwKSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBPYmplY3Qua2V5cyh0aGlzLm1vZGVsLm9wdGlvbnMpLmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgayA9IE9iamVjdC5rZXlzKHRoaXMubW9kZWwub3B0aW9ucylbaW5kZXhdO1xyXG4gICAgICAgICAgICAgICAgcGFyc1trXSA9IHRoaXMubW9kZWwub3B0aW9uc1trXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5kc2hTZXJ2aWNlLkdldFdpZGdldERhdGEodGhpcy5tb2RlbC5uYW1lLCBwYXJzKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1vZGVsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGVsLnNldERhdGEoZGF0YSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYXJ0TmFtZSA9IHRoaXMubW9kZWwubmFtZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGF0YVJlYWR5ID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZVdpZGdldCgpIHtcclxuICAgICAgICBpZiAoIXRoaXMubW9kZWwpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB0aGlzLk9uUmVtb3ZlLmVtaXQodGhpcy5tb2RlbC5uYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25maWd1cmUoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbikge1xyXG4gICAgICAgICAgICAvL2Zpbml0byBkaSBjb25maWd1cmFyZSAtPiByZWZyZXNoRGF0YVxyXG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hEYXRhKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9ICF0aGlzLmNvbmZpZ3VyYXRpb247XHJcbiAgICB9XHJcbn0iXX0=
|