@schneideress/dashboardframework 17.0.17 → 17.0.19

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.
@@ -4094,7 +4094,7 @@ class RAWidgetContainer {
4094
4094
  me.showPanel = false;
4095
4095
  if (!me.data.dataLoaded) {
4096
4096
  me.data.dataLoaded = true;
4097
- me.dataLoaded.emit(me.widgetElement);
4097
+ me.dataLoaded.emit(widgetInfo);
4098
4098
  }
4099
4099
  break;
4100
4100
  case 'onConfigEditClicked':
@@ -4170,7 +4170,7 @@ class RAWidgetContainer {
4170
4170
  widgetConfigFilter.globalFilter = me.globalFilter;
4171
4171
  widgetConfigFilter.dashboardInfo = me.dashboardInfo;
4172
4172
  //this.widgetElement.loadContent(widgetConfigFilter);
4173
- me.widgetLoaded.emit();
4173
+ me.widgetLoaded.emit(me.wcWrapper.nativeElement);
4174
4174
  await me.setLock(widgetConfigFilter.config);
4175
4175
  await me.setDownloadIcon();
4176
4176
  });
@@ -4290,7 +4290,7 @@ class RAWidgetContainer {
4290
4290
  widgetConfigFilter.globalFilter = me.globalFilter;
4291
4291
  widgetConfigFilter.dashboardInfo = me.dashboardInfo;
4292
4292
  //me.widgetElement.loadContent(widgetConfigFilter);
4293
- me.widgetLoaded.emit();
4293
+ me.widgetLoaded.emit(me.wcWrapper.nativeElement);
4294
4294
  await me.setLock(widgetConfigFilter.config);
4295
4295
  await me.setDownloadIcon();
4296
4296
  });
@@ -4759,18 +4759,20 @@ class RADashboardArea {
4759
4759
  this.showEmptyDashboard = false;
4760
4760
  this.isWidgetMgmnt = false;
4761
4761
  this.initialWidgetCount = 10;
4762
- this.currentLoadedIndex = 0;
4762
+ this.currentLoadingCount = 0;
4763
4763
  this.loading = false;
4764
4764
  this.widgetsLoaded = false;
4765
4765
  this.widgetHeight = 2;
4766
4766
  this.widgetWidth = 4;
4767
4767
  this.isIndicatorDashboard = false;
4768
4768
  this.hideDashboardBanner = new EventEmitter();
4769
+ this.widgets = [];
4769
4770
  }
4770
4771
  ngOnInit() {
4771
4772
  window.addEventListener('scroll', () => {
4772
- if (this.widgetsLoaded)
4773
- this.loadNext();
4773
+ if (this.widgets.length > 0) {
4774
+ this.loadData();
4775
+ }
4774
4776
  });
4775
4777
  this.isWidgetMgmnt = this.permissionService.hasPermission('ra.widgetmanagement');
4776
4778
  this.initiateGridsterConfig();
@@ -4853,8 +4855,31 @@ class RADashboardArea {
4853
4855
  };
4854
4856
  }
4855
4857
  }
4856
- widgetLoaded(widget) {
4857
- widget.canLoadData = true;
4858
+ widgetLoaded(widgetElement, widget) {
4859
+ let items = this.widgets.filter((item) => item.widget.widgetInfo.widgetInstanceId == widget.widgetInfo.widgetInstanceId);
4860
+ if (items.length > 0) {
4861
+ items[0].widgetElement = widgetElement;
4862
+ this.loadData(items[0]);
4863
+ }
4864
+ }
4865
+ loadData(item) {
4866
+ if (this.initialWidgetCount > this.currentLoadingCount && this.widgets.length > 0) {
4867
+ if (!item)
4868
+ item = this.widgets[0];
4869
+ if (this.elementInViewport(item.widgetElement) || this.widgetList.filter((w => w.canLoadData)).length <= this.initialWidgetCount) {
4870
+ this.currentLoadingCount++;
4871
+ item.widget.canLoadData = true;
4872
+ this.widgets.splice(this.widgets.indexOf(item), 1);
4873
+ }
4874
+ }
4875
+ }
4876
+ dataLoaded(widgetInfo) {
4877
+ this.currentLoadingCount--;
4878
+ this.loadData();
4879
+ }
4880
+ elementInViewport(el) {
4881
+ let rect = el.getBoundingClientRect();
4882
+ return rect && rect.top < window.innerHeight;
4858
4883
  }
4859
4884
  /** To initiate eventbus subsctiptions */
4860
4885
  inititateEventBusSubscritions() {
@@ -4970,7 +4995,6 @@ class RADashboardArea {
4970
4995
  window.scrollTo(0, 0);
4971
4996
  if (location.href.indexOf('/kiosk/') > -1)
4972
4997
  this.initialWidgetCount = 1000;
4973
- this.currentLoadedIndex = 0;
4974
4998
  this.loading = false;
4975
4999
  let widgetInfo = {
4976
5000
  dashboardId: userDashboarId.toString(),
@@ -4993,7 +5017,7 @@ class RADashboardArea {
4993
5017
  this.checkPAMWidgets();
4994
5018
  if (widgets && widgets.length > 0) {
4995
5019
  this.dashboardService.clientId = widgets[0].clientId;
4996
- this.loadWidgetsDelta();
5020
+ this.loadWidgetWrappers();
4997
5021
  this.raDashboardEventBus.publish(RAEvent.HideDashboardBanner, false);
4998
5022
  }
4999
5023
  else {
@@ -5002,11 +5026,14 @@ class RADashboardArea {
5002
5026
  }
5003
5027
  });
5004
5028
  }
5005
- loadWidgetsDelta() {
5029
+ loadWidgetWrappers() {
5006
5030
  if (!this.loading) {
5007
5031
  this.loading = true;
5008
- let widgets = this.mapObjectListToGridsterItemList(this.userWidgets.slice(this.currentLoadedIndex, (this.currentLoadedIndex + this.initialWidgetCount)));
5009
- this.currentLoadedIndex += this.initialWidgetCount;
5032
+ let widgets = this.mapObjectListToGridsterItemList(this.userWidgets);
5033
+ this.widgets = [];
5034
+ for (let i = 0; i < widgets.length; i++) {
5035
+ this.widgets.push({ 'widget': widgets[i] });
5036
+ }
5010
5037
  this.widgetList.push(...widgets);
5011
5038
  this.setAreaHeight();
5012
5039
  setTimeout(() => {
@@ -5014,31 +5041,6 @@ class RADashboardArea {
5014
5041
  });
5015
5042
  }
5016
5043
  }
5017
- dataLoaded(widgetElement) {
5018
- this.loadNext();
5019
- }
5020
- loadNext() {
5021
- if (this.divBottom) {
5022
- if (this.elementInViewport(this.divBottom.nativeElement)) {
5023
- this.loadWidgetsDelta();
5024
- }
5025
- }
5026
- }
5027
- elementInViewport(el) {
5028
- var top = el.offsetTop;
5029
- var left = el.offsetLeft;
5030
- var width = el.offsetWidth;
5031
- var height = el.offsetHeight;
5032
- while (el.offsetParent) {
5033
- el = el.offsetParent;
5034
- top += el.offsetTop;
5035
- left += el.offsetLeft;
5036
- }
5037
- return (top >= window.scrollY &&
5038
- left >= window.scrollX &&
5039
- (top + height) <= (window.scrollY + window.innerHeight) &&
5040
- (left + width) <= (window.scrollX + window.innerWidth));
5041
- }
5042
5044
  /** To set Area(Gridster) height dynamically as widgets are added/removed */
5043
5045
  setAreaHeight() {
5044
5046
  setTimeout(() => {
@@ -5109,14 +5111,13 @@ class RADashboardArea {
5109
5111
  }
5110
5112
  /**To rearrange widgets position in the dashboard, compactLeft&Up,compactLeft,compactUp,etc*/
5111
5113
  rearrangeWidgets() {
5112
- this.currentLoadedIndex = 0;
5113
5114
  this.loading = false;
5114
5115
  for (let i = 0; i < this.userWidgets.length; i++) {
5115
5116
  this.userWidgets[i].position_x = 0;
5116
5117
  this.userWidgets[i].position_y = 0;
5117
5118
  }
5118
5119
  this.widgetList = [];
5119
- this.loadWidgetsDelta();
5120
+ this.loadWidgetWrappers();
5120
5121
  this.raDashboardEventBus.publish(RAEvent.HideDashboardBanner, false);
5121
5122
  if (this.widgetList.length > 0)
5122
5123
  this.updateWidgetPosition(this.widgetList[0].widgetInfo.widgetInstanceId);
@@ -5149,33 +5150,30 @@ class RADashboardArea {
5149
5150
  this.ngxService.start();
5150
5151
  this.dashboardService.addWidget(data, this.appConfig).subscribe(widget => {
5151
5152
  this.userWidgets.push(widget);
5152
- if (this.currentLoadedIndex >= (this.userWidgets.length - 1)) {
5153
- this.currentLoadedIndex++;
5154
- let gridsterItem = this.responsiveService.getGridsterItem(widget);
5155
- this.widgetList.push(gridsterItem);
5156
- this.setAreaHeight();
5157
- if (this.options.api) {
5158
- let curRowHeight = Number(this.options.api.getCurrentRowHeight());
5159
- if (curRowHeight > 0) {
5160
- widget.rowHeight = curRowHeight;
5161
- this.gridcellHeight = curRowHeight;
5162
- }
5163
- }
5164
- var widgetInstanceId = 0;
5165
- if (widget && widget.widgetInstanceId) {
5166
- widgetInstanceId = widget.widgetInstanceId;
5167
- /**To save added widget position in db */
5168
- if (this.responsiveService.IsDesktopView) {
5169
- setTimeout(() => {
5170
- this.updateWidgetPosition(widgetInstanceId);
5171
- });
5172
- }
5153
+ let gridsterItem = this.responsiveService.getGridsterItem(widget);
5154
+ this.widgetList.push(gridsterItem);
5155
+ this.setAreaHeight();
5156
+ if (this.options.api) {
5157
+ let curRowHeight = Number(this.options.api.getCurrentRowHeight());
5158
+ if (curRowHeight > 0) {
5159
+ widget.rowHeight = curRowHeight;
5160
+ this.gridcellHeight = curRowHeight;
5173
5161
  }
5174
- if (widget.settings && widget.settings.isPAMWidget) {
5175
- this.PAMWidgets.push(widget.widgetInstanceId);
5176
- this.checkPAMWidgets();
5162
+ }
5163
+ var widgetInstanceId = 0;
5164
+ if (widget && widget.widgetInstanceId) {
5165
+ widgetInstanceId = widget.widgetInstanceId;
5166
+ /**To save added widget position in db */
5167
+ if (this.responsiveService.IsDesktopView) {
5168
+ setTimeout(() => {
5169
+ this.updateWidgetPosition(widgetInstanceId);
5170
+ });
5177
5171
  }
5178
5172
  }
5173
+ if (widget.settings && widget.settings.isPAMWidget) {
5174
+ this.PAMWidgets.push(widget.widgetInstanceId);
5175
+ this.checkPAMWidgets();
5176
+ }
5179
5177
  this.raDashboardEventBus.publish(RAEvent.WidgetAdded, widget);
5180
5178
  });
5181
5179
  }
@@ -5204,15 +5202,12 @@ class RADashboardArea {
5204
5202
  });
5205
5203
  }
5206
5204
  this.userWidgets.push(data);
5207
- if (this.currentLoadedIndex >= (this.userWidgets.length - 1)) {
5208
- this.currentLoadedIndex++;
5209
- let gridsterItem = this.responsiveService.getGridsterItem(data);
5210
- this.widgetList.push(gridsterItem);
5211
- this.setAreaHeight();
5212
- if (data.settings && data.settings.isPAMWidget) {
5213
- this.PAMWidgets.push(data.widgetInstanceId);
5214
- this.checkPAMWidgets();
5215
- }
5205
+ let gridsterItem = this.responsiveService.getGridsterItem(data);
5206
+ this.widgetList.push(gridsterItem);
5207
+ this.setAreaHeight();
5208
+ if (data.settings && data.settings.isPAMWidget) {
5209
+ this.PAMWidgets.push(data.widgetInstanceId);
5210
+ this.checkPAMWidgets();
5216
5211
  }
5217
5212
  }
5218
5213
  mapObjectListToGridsterItemList(widgetList) {
@@ -5257,11 +5252,11 @@ class RADashboardArea {
5257
5252
  }
5258
5253
  }
5259
5254
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: RADashboardArea, deps: [{ token: RaDashboardService }, { token: i0.NgZone }, { token: i2$1.NgxUiLoaderService }, { token: i3.RATranslateService }, { token: i4.NotifierService }, { token: i0.ChangeDetectorRef }, { token: RADashboardResponsiveService }, { token: i3.RAPermissionService }], target: i0.ɵɵFactoryTarget.Component }); }
5260
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: RADashboardArea, selector: "ra-dashboard-area", inputs: { userDashboardId: ["user-dashboard-id", "userDashboardId"], areaKey: ["area-key", "areaKey"], globalFilter: ["global-filter", "globalFilter"], raDashboardEventBus: ["event-bus", "raDashboardEventBus"], widgetHeight: ["widget-height", "widgetHeight"], widgetWidth: ["widget-width", "widgetWidth"], appConfig: ["app-config", "appConfig"], dashboardInfo: ["dashboard-info", "dashboardInfo"], isIndicatorDashboard: "isIndicatorDashboard", templateConfig: "templateConfig" }, outputs: { hideDashboardBanner: "hideDashboardBanner" }, viewQueries: [{ propertyName: "gridWrapper", first: true, predicate: ["gridWrapper"], descendants: true }, { propertyName: "divBottom", first: true, predicate: ["divBottom"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #gridWrapper class=\"wrap gridster gridster-mobile\"\r\n [ngStyle]=\"{'height': userWidgets.length > 0 ? (gridheight + 'px') : 'unset'}\">\r\n <!-- <div #gridWrapper class=\"wrap gridster\"> -->\r\n <gridster [options]=\"options\" style=\"height:100%;\" *ngIf=\"userWidgets.length > 0\">\r\n <gridster-item [item]=\"item\" *ngFor=\"let item of widgetList\">\r\n <ra-widget-container (widgetLoaded)=\"widgetLoaded(item)\" [canLoadData]=\"item.canLoadData\" (dataLoaded)=\"dataLoaded($event)\"\r\n [bulk-action-data]=\"bulkActionData\" [dashboard-info]=\"dashboardInfo\" [app-config]=\"appConfig\"\r\n [event-bus]=\"raDashboardEventBus\" (widgetDeleted)=\"deleteWidget($event)\" [data]=\"item\"\r\n [global-filter]=\"globalFilter\" [grid-cell-height]=\"gridcellHeight\" *ngIf=\"gridcellHeight && gridcellHeight > 0\"\r\n [widget-width]=\"item.cols\" [widget-height]=\"item.rows\" [widget-instance-id]=\"item.widgetInstanceId\"\r\n [dom-resized]=\"domResized\" (updateAppliedFilters)=\"updateAppliedFilters($event)\">\r\n </ra-widget-container>\r\n </gridster-item>\r\n </gridster>\r\n\r\n <div class=\"empty-padding kiosk-hide\" *ngIf=\"showEmptyDashboard\">\r\n <div class=\"empty-wrapper\">\r\n <div></div>\r\n <div class=\"empty-prefix\">\r\n <!-- <i class=\"fal fa-edit edit-icon\"></i> -->\r\n <span>{{emptyDashboardTitle}}</span>\r\n </div>\r\n <hr class=\"horizontalLine-solid\" />\r\n <div class=\"empty-content light\">\r\n <div>\r\n <div class=\"col-sm-12 empty-msg\">\r\n {{emptyDashboardMsg1}} <br />\r\n {{emptyDashboardMsg2}}\r\n </div>\r\n <button *ngIf=\"isWidgetMgmnt\" class=\"btn btnLib btn-sm dashboard-button light\" (click)=\"buttonClick()\">\r\n <i class=\"{{emptyDashboardButtonIcon}}\"></i>{{emptyDashboardButtonText}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <notifier-container></notifier-container>\r\n</div>\r\n<div #divBottom></div>", styles: ["gridster{width:inherit;resize:height;display:flex;background-color:#fff;overflow-y:hidden!important}.dvheader{width:100%;height:35px;background:#000;color:#fff;padding:7px 3px 5px 6px;text-transform:uppercase}gridster-item{box-sizing:border-box;z-index:1;position:absolute;overflow:hidden;transition:.3s;display:none;background:#fff;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;box-shadow:none}gridster-item:hover{box-shadow:0 1px 10px #00000026!important}@media screen and (max-width: 685px){.gridster-mobile{height:auto!important;margin-bottom:50px!important}}@media screen and (max-width: 350px){.gridster-mobile{min-height:330px!important;margin-bottom:0!important}}.empty-padding{padding:15px 0;background-color:#fff;display:flex}.empty-wrapper{background-color:#fff;border:1px solid #9FA0A4;min-height:125px;width:100%}.empty-prefix{color:#32ad3c;font-size:18px;padding:15px}.empty-content{color:#626469;width:100%;padding:15px}.empty-msg{padding:0 0 15px;font-size:16px}.horizontalLine-solid{border-top:1px solid #cbcbcb;margin:0 15px}.dashboard-button{padding:5px 10px 5px 5px!important}.btnLib{background-color:#ededed;color:#333!important}.btn-sm,.btn-group-sm>.btn{padding:5px 20px 5px 5px}.edit-icon{color:#32ad3c;font-size:24px;margin-right:15px}.empty-title{margin-top:10px}@media screen and (max-width: 600px){.empty-padding{padding:15px 0;background-color:#fff;width:100%;display:block}.empty-wrapper{display:flex;background-color:#fff;border:1px solid #9FA0A4;min-height:125px;width:100%}.empty-prefix{color:#32ad3c;font-size:16px;display:flex;height:40px;padding:15px}.empty-content{color:#333;display:flex;padding:15px}.empty-msg{padding:0 0 15px;font-size:14px}.edit-icon{color:#32ad3c;font-size:20px;margin-right:6px}.empty-title{margin-top:6px}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: GridsterComponent, selector: "gridster", inputs: ["options"] }, { kind: "component", type: GridsterItemComponent, selector: "gridster-item", inputs: ["item"], outputs: ["itemInit", "itemChange", "itemResize"] }, { kind: "component", type: i4.NotifierContainerComponent, selector: "notifier-container" }, { kind: "component", type: RAWidgetContainer, selector: "ra-widget-container", inputs: ["widget-instance-id", "global-filter", "dashboard-info", "data", "event-bus", "app-config", "widget-width", "widget-height", "grid-cell-height", "bulk-action-data", "canLoadData", "dom-resized"], outputs: ["widgetDeleted", "updateAppliedFilters", "dataLoaded", "widgetLoaded"] }] }); }
5255
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: RADashboardArea, selector: "ra-dashboard-area", inputs: { userDashboardId: ["user-dashboard-id", "userDashboardId"], areaKey: ["area-key", "areaKey"], globalFilter: ["global-filter", "globalFilter"], raDashboardEventBus: ["event-bus", "raDashboardEventBus"], widgetHeight: ["widget-height", "widgetHeight"], widgetWidth: ["widget-width", "widgetWidth"], appConfig: ["app-config", "appConfig"], dashboardInfo: ["dashboard-info", "dashboardInfo"], isIndicatorDashboard: "isIndicatorDashboard", templateConfig: "templateConfig" }, outputs: { hideDashboardBanner: "hideDashboardBanner" }, viewQueries: [{ propertyName: "gridWrapper", first: true, predicate: ["gridWrapper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #gridWrapper class=\"wrap gridster gridster-mobile\"\r\n [ngStyle]=\"{'height': userWidgets.length > 0 ? (gridheight + 'px') : 'unset'}\">\r\n <!-- <div #gridWrapper class=\"wrap gridster\"> -->\r\n <gridster [options]=\"options\" style=\"height:100%;\" *ngIf=\"userWidgets.length > 0\">\r\n <gridster-item [item]=\"item\" *ngFor=\"let item of widgetList\">\r\n <ra-widget-container (widgetLoaded)=\"widgetLoaded($event, item)\" [canLoadData]=\"item.canLoadData\" (dataLoaded)=\"dataLoaded($event)\"\r\n [bulk-action-data]=\"bulkActionData\" [dashboard-info]=\"dashboardInfo\" [app-config]=\"appConfig\"\r\n [event-bus]=\"raDashboardEventBus\" (widgetDeleted)=\"deleteWidget($event)\" [data]=\"item\"\r\n [global-filter]=\"globalFilter\" [grid-cell-height]=\"gridcellHeight\" *ngIf=\"gridcellHeight && gridcellHeight > 0\"\r\n [widget-width]=\"item.cols\" [widget-height]=\"item.rows\" [widget-instance-id]=\"item.widgetInstanceId\"\r\n [dom-resized]=\"domResized\" (updateAppliedFilters)=\"updateAppliedFilters($event)\">\r\n </ra-widget-container>\r\n </gridster-item>\r\n </gridster>\r\n\r\n <div class=\"empty-padding kiosk-hide\" *ngIf=\"showEmptyDashboard\">\r\n <div class=\"empty-wrapper\">\r\n <div></div>\r\n <div class=\"empty-prefix\">\r\n <!-- <i class=\"fal fa-edit edit-icon\"></i> -->\r\n <span>{{emptyDashboardTitle}}</span>\r\n </div>\r\n <hr class=\"horizontalLine-solid\" />\r\n <div class=\"empty-content light\">\r\n <div>\r\n <div class=\"col-sm-12 empty-msg\">\r\n {{emptyDashboardMsg1}} <br />\r\n {{emptyDashboardMsg2}}\r\n </div>\r\n <button *ngIf=\"isWidgetMgmnt\" class=\"btn btnLib btn-sm dashboard-button light\" (click)=\"buttonClick()\">\r\n <i class=\"{{emptyDashboardButtonIcon}}\"></i>{{emptyDashboardButtonText}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <notifier-container></notifier-container>\r\n</div>\r\n", styles: ["gridster{width:inherit;resize:height;display:flex;background-color:#fff;overflow-y:hidden!important}.dvheader{width:100%;height:35px;background:#000;color:#fff;padding:7px 3px 5px 6px;text-transform:uppercase}gridster-item{box-sizing:border-box;z-index:1;position:absolute;overflow:hidden;transition:.3s;display:none;background:#fff;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;box-shadow:none}gridster-item:hover{box-shadow:0 1px 10px #00000026!important}@media screen and (max-width: 685px){.gridster-mobile{height:auto!important;margin-bottom:50px!important}}@media screen and (max-width: 350px){.gridster-mobile{min-height:330px!important;margin-bottom:0!important}}.empty-padding{padding:15px 0;background-color:#fff;display:flex}.empty-wrapper{background-color:#fff;border:1px solid #9FA0A4;min-height:125px;width:100%}.empty-prefix{color:#32ad3c;font-size:18px;padding:15px}.empty-content{color:#626469;width:100%;padding:15px}.empty-msg{padding:0 0 15px;font-size:16px}.horizontalLine-solid{border-top:1px solid #cbcbcb;margin:0 15px}.dashboard-button{padding:5px 10px 5px 5px!important}.btnLib{background-color:#ededed;color:#333!important}.btn-sm,.btn-group-sm>.btn{padding:5px 20px 5px 5px}.edit-icon{color:#32ad3c;font-size:24px;margin-right:15px}.empty-title{margin-top:10px}@media screen and (max-width: 600px){.empty-padding{padding:15px 0;background-color:#fff;width:100%;display:block}.empty-wrapper{display:flex;background-color:#fff;border:1px solid #9FA0A4;min-height:125px;width:100%}.empty-prefix{color:#32ad3c;font-size:16px;display:flex;height:40px;padding:15px}.empty-content{color:#333;display:flex;padding:15px}.empty-msg{padding:0 0 15px;font-size:14px}.edit-icon{color:#32ad3c;font-size:20px;margin-right:6px}.empty-title{margin-top:6px}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: GridsterComponent, selector: "gridster", inputs: ["options"] }, { kind: "component", type: GridsterItemComponent, selector: "gridster-item", inputs: ["item"], outputs: ["itemInit", "itemChange", "itemResize"] }, { kind: "component", type: i4.NotifierContainerComponent, selector: "notifier-container" }, { kind: "component", type: RAWidgetContainer, selector: "ra-widget-container", inputs: ["widget-instance-id", "global-filter", "dashboard-info", "data", "event-bus", "app-config", "widget-width", "widget-height", "grid-cell-height", "bulk-action-data", "canLoadData", "dom-resized"], outputs: ["widgetDeleted", "updateAppliedFilters", "dataLoaded", "widgetLoaded"] }] }); }
5261
5256
  }
5262
5257
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: RADashboardArea, decorators: [{
5263
5258
  type: Component,
5264
- args: [{ selector: 'ra-dashboard-area', template: "<div #gridWrapper class=\"wrap gridster gridster-mobile\"\r\n [ngStyle]=\"{'height': userWidgets.length > 0 ? (gridheight + 'px') : 'unset'}\">\r\n <!-- <div #gridWrapper class=\"wrap gridster\"> -->\r\n <gridster [options]=\"options\" style=\"height:100%;\" *ngIf=\"userWidgets.length > 0\">\r\n <gridster-item [item]=\"item\" *ngFor=\"let item of widgetList\">\r\n <ra-widget-container (widgetLoaded)=\"widgetLoaded(item)\" [canLoadData]=\"item.canLoadData\" (dataLoaded)=\"dataLoaded($event)\"\r\n [bulk-action-data]=\"bulkActionData\" [dashboard-info]=\"dashboardInfo\" [app-config]=\"appConfig\"\r\n [event-bus]=\"raDashboardEventBus\" (widgetDeleted)=\"deleteWidget($event)\" [data]=\"item\"\r\n [global-filter]=\"globalFilter\" [grid-cell-height]=\"gridcellHeight\" *ngIf=\"gridcellHeight && gridcellHeight > 0\"\r\n [widget-width]=\"item.cols\" [widget-height]=\"item.rows\" [widget-instance-id]=\"item.widgetInstanceId\"\r\n [dom-resized]=\"domResized\" (updateAppliedFilters)=\"updateAppliedFilters($event)\">\r\n </ra-widget-container>\r\n </gridster-item>\r\n </gridster>\r\n\r\n <div class=\"empty-padding kiosk-hide\" *ngIf=\"showEmptyDashboard\">\r\n <div class=\"empty-wrapper\">\r\n <div></div>\r\n <div class=\"empty-prefix\">\r\n <!-- <i class=\"fal fa-edit edit-icon\"></i> -->\r\n <span>{{emptyDashboardTitle}}</span>\r\n </div>\r\n <hr class=\"horizontalLine-solid\" />\r\n <div class=\"empty-content light\">\r\n <div>\r\n <div class=\"col-sm-12 empty-msg\">\r\n {{emptyDashboardMsg1}} <br />\r\n {{emptyDashboardMsg2}}\r\n </div>\r\n <button *ngIf=\"isWidgetMgmnt\" class=\"btn btnLib btn-sm dashboard-button light\" (click)=\"buttonClick()\">\r\n <i class=\"{{emptyDashboardButtonIcon}}\"></i>{{emptyDashboardButtonText}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <notifier-container></notifier-container>\r\n</div>\r\n<div #divBottom></div>", styles: ["gridster{width:inherit;resize:height;display:flex;background-color:#fff;overflow-y:hidden!important}.dvheader{width:100%;height:35px;background:#000;color:#fff;padding:7px 3px 5px 6px;text-transform:uppercase}gridster-item{box-sizing:border-box;z-index:1;position:absolute;overflow:hidden;transition:.3s;display:none;background:#fff;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;box-shadow:none}gridster-item:hover{box-shadow:0 1px 10px #00000026!important}@media screen and (max-width: 685px){.gridster-mobile{height:auto!important;margin-bottom:50px!important}}@media screen and (max-width: 350px){.gridster-mobile{min-height:330px!important;margin-bottom:0!important}}.empty-padding{padding:15px 0;background-color:#fff;display:flex}.empty-wrapper{background-color:#fff;border:1px solid #9FA0A4;min-height:125px;width:100%}.empty-prefix{color:#32ad3c;font-size:18px;padding:15px}.empty-content{color:#626469;width:100%;padding:15px}.empty-msg{padding:0 0 15px;font-size:16px}.horizontalLine-solid{border-top:1px solid #cbcbcb;margin:0 15px}.dashboard-button{padding:5px 10px 5px 5px!important}.btnLib{background-color:#ededed;color:#333!important}.btn-sm,.btn-group-sm>.btn{padding:5px 20px 5px 5px}.edit-icon{color:#32ad3c;font-size:24px;margin-right:15px}.empty-title{margin-top:10px}@media screen and (max-width: 600px){.empty-padding{padding:15px 0;background-color:#fff;width:100%;display:block}.empty-wrapper{display:flex;background-color:#fff;border:1px solid #9FA0A4;min-height:125px;width:100%}.empty-prefix{color:#32ad3c;font-size:16px;display:flex;height:40px;padding:15px}.empty-content{color:#333;display:flex;padding:15px}.empty-msg{padding:0 0 15px;font-size:14px}.edit-icon{color:#32ad3c;font-size:20px;margin-right:6px}.empty-title{margin-top:6px}}\n"] }]
5259
+ args: [{ selector: 'ra-dashboard-area', template: "<div #gridWrapper class=\"wrap gridster gridster-mobile\"\r\n [ngStyle]=\"{'height': userWidgets.length > 0 ? (gridheight + 'px') : 'unset'}\">\r\n <!-- <div #gridWrapper class=\"wrap gridster\"> -->\r\n <gridster [options]=\"options\" style=\"height:100%;\" *ngIf=\"userWidgets.length > 0\">\r\n <gridster-item [item]=\"item\" *ngFor=\"let item of widgetList\">\r\n <ra-widget-container (widgetLoaded)=\"widgetLoaded($event, item)\" [canLoadData]=\"item.canLoadData\" (dataLoaded)=\"dataLoaded($event)\"\r\n [bulk-action-data]=\"bulkActionData\" [dashboard-info]=\"dashboardInfo\" [app-config]=\"appConfig\"\r\n [event-bus]=\"raDashboardEventBus\" (widgetDeleted)=\"deleteWidget($event)\" [data]=\"item\"\r\n [global-filter]=\"globalFilter\" [grid-cell-height]=\"gridcellHeight\" *ngIf=\"gridcellHeight && gridcellHeight > 0\"\r\n [widget-width]=\"item.cols\" [widget-height]=\"item.rows\" [widget-instance-id]=\"item.widgetInstanceId\"\r\n [dom-resized]=\"domResized\" (updateAppliedFilters)=\"updateAppliedFilters($event)\">\r\n </ra-widget-container>\r\n </gridster-item>\r\n </gridster>\r\n\r\n <div class=\"empty-padding kiosk-hide\" *ngIf=\"showEmptyDashboard\">\r\n <div class=\"empty-wrapper\">\r\n <div></div>\r\n <div class=\"empty-prefix\">\r\n <!-- <i class=\"fal fa-edit edit-icon\"></i> -->\r\n <span>{{emptyDashboardTitle}}</span>\r\n </div>\r\n <hr class=\"horizontalLine-solid\" />\r\n <div class=\"empty-content light\">\r\n <div>\r\n <div class=\"col-sm-12 empty-msg\">\r\n {{emptyDashboardMsg1}} <br />\r\n {{emptyDashboardMsg2}}\r\n </div>\r\n <button *ngIf=\"isWidgetMgmnt\" class=\"btn btnLib btn-sm dashboard-button light\" (click)=\"buttonClick()\">\r\n <i class=\"{{emptyDashboardButtonIcon}}\"></i>{{emptyDashboardButtonText}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <notifier-container></notifier-container>\r\n</div>\r\n", styles: ["gridster{width:inherit;resize:height;display:flex;background-color:#fff;overflow-y:hidden!important}.dvheader{width:100%;height:35px;background:#000;color:#fff;padding:7px 3px 5px 6px;text-transform:uppercase}gridster-item{box-sizing:border-box;z-index:1;position:absolute;overflow:hidden;transition:.3s;display:none;background:#fff;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;box-shadow:none}gridster-item:hover{box-shadow:0 1px 10px #00000026!important}@media screen and (max-width: 685px){.gridster-mobile{height:auto!important;margin-bottom:50px!important}}@media screen and (max-width: 350px){.gridster-mobile{min-height:330px!important;margin-bottom:0!important}}.empty-padding{padding:15px 0;background-color:#fff;display:flex}.empty-wrapper{background-color:#fff;border:1px solid #9FA0A4;min-height:125px;width:100%}.empty-prefix{color:#32ad3c;font-size:18px;padding:15px}.empty-content{color:#626469;width:100%;padding:15px}.empty-msg{padding:0 0 15px;font-size:16px}.horizontalLine-solid{border-top:1px solid #cbcbcb;margin:0 15px}.dashboard-button{padding:5px 10px 5px 5px!important}.btnLib{background-color:#ededed;color:#333!important}.btn-sm,.btn-group-sm>.btn{padding:5px 20px 5px 5px}.edit-icon{color:#32ad3c;font-size:24px;margin-right:15px}.empty-title{margin-top:10px}@media screen and (max-width: 600px){.empty-padding{padding:15px 0;background-color:#fff;width:100%;display:block}.empty-wrapper{display:flex;background-color:#fff;border:1px solid #9FA0A4;min-height:125px;width:100%}.empty-prefix{color:#32ad3c;font-size:16px;display:flex;height:40px;padding:15px}.empty-content{color:#333;display:flex;padding:15px}.empty-msg{padding:0 0 15px;font-size:14px}.edit-icon{color:#32ad3c;font-size:20px;margin-right:6px}.empty-title{margin-top:6px}}\n"] }]
5265
5260
  }], ctorParameters: () => [{ type: RaDashboardService }, { type: i0.NgZone }, { type: i2$1.NgxUiLoaderService }, { type: i3.RATranslateService }, { type: i4.NotifierService }, { type: i0.ChangeDetectorRef }, { type: RADashboardResponsiveService }, { type: i3.RAPermissionService }], propDecorators: { userDashboardId: [{
5266
5261
  type: Input,
5267
5262
  args: ['user-dashboard-id']
@@ -5296,9 +5291,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
5296
5291
  }], gridWrapper: [{
5297
5292
  type: ViewChild,
5298
5293
  args: ['gridWrapper', { static: false }]
5299
- }], divBottom: [{
5300
- type: ViewChild,
5301
- args: ['divBottom', { static: false }]
5302
5294
  }] } });
5303
5295
 
5304
5296
  const customNotifierOptions = {