@schneideress/dashboardframework 17.0.22 → 17.0.23

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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Component, ViewEncapsulation, Input, EventEmitter, ElementRef, Renderer2, ChangeDetectorRef, NgZone, Inject, Output, HostBinding, ViewContainerRef, ViewChild, NgModule, Directive } from '@angular/core';
2
+ import { Injectable, Component, ViewEncapsulation, Input, EventEmitter, ElementRef, Renderer2, ChangeDetectorRef, NgZone, Inject, Output, HostBinding, ViewContainerRef, ViewChild, HostListener, NgModule, Directive } from '@angular/core';
3
3
  import { of, Subject, debounceTime, takeUntil, switchMap, timer } from 'rxjs';
4
4
  import * as i3 from '@schneideress/ra-common';
5
5
  import { BaseService, RACommonModule } from '@schneideress/ra-common';
@@ -3912,7 +3912,7 @@ class RAWidgetContainer {
3912
3912
  }
3913
3913
  if (changes['canLoadData'] && (changes['canLoadData'].currentValue != changes['canLoadData'].previousValue)) {
3914
3914
  if (this.canLoadData)
3915
- this.refreshWidget(this.data.widgetInfo);
3915
+ this.loadWidget(this.data.widgetInfo);
3916
3916
  }
3917
3917
  }
3918
3918
  invokeWidgetResizedEvent() {
@@ -3943,7 +3943,7 @@ class RAWidgetContainer {
3943
3943
  }
3944
3944
  ngAfterViewInit() {
3945
3945
  setTimeout(() => {
3946
- this.loadWidget(this.data.widgetInfo);
3946
+ this.widgetLoaded.emit(this.wcWrapper.nativeElement);
3947
3947
  });
3948
3948
  document.addEventListener("scroll", () => {
3949
3949
  this.removeMenu();
@@ -4169,8 +4169,7 @@ class RAWidgetContainer {
4169
4169
  widgetConfigFilter.widgetInfo.widgetName = widgetInfo.widgetName;
4170
4170
  widgetConfigFilter.globalFilter = me.globalFilter;
4171
4171
  widgetConfigFilter.dashboardInfo = me.dashboardInfo;
4172
- //this.widgetElement.loadContent(widgetConfigFilter);
4173
- me.widgetLoaded.emit(me.wcWrapper.nativeElement);
4172
+ me.widgetElement.loadContent(widgetConfigFilter);
4174
4173
  await me.setLock(widgetConfigFilter.config);
4175
4174
  await me.setDownloadIcon();
4176
4175
  });
@@ -4289,8 +4288,7 @@ class RAWidgetContainer {
4289
4288
  widgetConfigFilter.widgetInfo.widgetName = widgetInfo.widgetName;
4290
4289
  widgetConfigFilter.globalFilter = me.globalFilter;
4291
4290
  widgetConfigFilter.dashboardInfo = me.dashboardInfo;
4292
- //me.widgetElement.loadContent(widgetConfigFilter);
4293
- me.widgetLoaded.emit(me.wcWrapper.nativeElement);
4291
+ me.widgetElement.loadContent(widgetConfigFilter);
4294
4292
  await me.setLock(widgetConfigFilter.config);
4295
4293
  await me.setDownloadIcon();
4296
4294
  });
@@ -4760,20 +4758,19 @@ class RADashboardArea {
4760
4758
  this.isWidgetMgmnt = false;
4761
4759
  this.initialWidgetCount = 10;
4762
4760
  this.currentLoadingCount = 0;
4763
- this.loading = false;
4764
- this.widgetsLoaded = false;
4765
4761
  this.widgetHeight = 2;
4766
4762
  this.widgetWidth = 4;
4767
4763
  this.isIndicatorDashboard = false;
4768
4764
  this.hideDashboardBanner = new EventEmitter();
4769
- this.widgets = [];
4765
+ }
4766
+ scroll() {
4767
+ if (this.scrollTrigger)
4768
+ clearTimeout(this.scrollTrigger);
4769
+ this.scrollTrigger = setTimeout(() => {
4770
+ this.loadData();
4771
+ }, 500);
4770
4772
  }
4771
4773
  ngOnInit() {
4772
- window.addEventListener('scroll', () => {
4773
- if (this.widgets.length > 0) {
4774
- this.loadData();
4775
- }
4776
- });
4777
4774
  this.isWidgetMgmnt = this.permissionService.hasPermission('ra.widgetmanagement');
4778
4775
  this.initiateGridsterConfig();
4779
4776
  this.setEmptyDashboardConfig();
@@ -4787,9 +4784,7 @@ class RADashboardArea {
4787
4784
  this.options.api.optionsChanged();
4788
4785
  if (this.userWidgets) {
4789
4786
  let widgets = this.mapObjectListToGridsterItemList(this.userWidgets);
4790
- for (let i = 0; i < widgets.length; i++) {
4791
- this.widgets.push({ 'widget': widgets[i] });
4792
- }
4787
+ this.currentLoadingCount = 0;
4793
4788
  this.widgetList = widgets;
4794
4789
  setTimeout(() => {
4795
4790
  this.setAreaHeight();
@@ -4860,30 +4855,46 @@ class RADashboardArea {
4860
4855
  }
4861
4856
  }
4862
4857
  widgetLoaded(widgetElement, widget) {
4863
- let items = this.widgets.filter((item) => item.widget.widgetInfo.widgetInstanceId == widget.widgetInfo.widgetInstanceId);
4858
+ widget.widgetElement = widgetElement;
4859
+ let items = this.widgetList.filter((item) => item.widgetInfo.widgetInstanceId == widget.widgetInfo.widgetInstanceId);
4864
4860
  if (items.length > 0) {
4865
- items[0].widgetElement = widgetElement;
4866
4861
  this.loadData(items[0]);
4867
4862
  }
4868
4863
  }
4869
4864
  loadData(item) {
4870
- if (this.initialWidgetCount > this.currentLoadingCount && this.widgets.length > 0) {
4871
- if (!item)
4872
- item = this.widgets[0];
4873
- if (this.elementInViewport(item.widgetElement) || this.widgetList.filter((w => w.canLoadData)).length <= this.initialWidgetCount) {
4874
- this.currentLoadingCount++;
4875
- item.widget.canLoadData = true;
4876
- this.widgets.splice(this.widgets.indexOf(item), 1);
4865
+ let items = [];
4866
+ let totalLoadedCount = this.widgetList.filter((w => w.canLoadData)).length;
4867
+ if (!item)
4868
+ items = this.widgetList.filter((w => !w.canLoadData));
4869
+ else
4870
+ items.push(item);
4871
+ if (items.length > 0) {
4872
+ if (this.initialWidgetCount > this.currentLoadingCount) {
4873
+ for (let i = 0; i < items.length; i++) {
4874
+ if (this.isElementLoaded(items[i].widgetElement) ||
4875
+ (totalLoadedCount <= this.initialWidgetCount)) {
4876
+ this.currentLoadingCount++;
4877
+ items[i].canLoadData = true;
4878
+ totalLoadedCount = this.widgetList.filter((w => w.canLoadData)).length;
4879
+ }
4880
+ }
4877
4881
  }
4878
4882
  }
4879
4883
  }
4880
4884
  dataLoaded(widgetInfo) {
4881
4885
  this.currentLoadingCount--;
4882
- this.loadData();
4886
+ // this.loadData()
4887
+ }
4888
+ isElementLoaded(el) {
4889
+ if (el) {
4890
+ let rect = el.getBoundingClientRect();
4891
+ return rect && rect.top < window.innerHeight;
4892
+ }
4883
4893
  }
4884
- elementInViewport(el) {
4885
- let rect = el.getBoundingClientRect();
4886
- return rect && rect.top < window.innerHeight;
4894
+ loadWidgetWrappers(isInitialLoad = true) {
4895
+ let widgets = this.mapObjectListToGridsterItemList(this.userWidgets);
4896
+ this.widgetList.push(...widgets);
4897
+ this.setAreaHeight();
4887
4898
  }
4888
4899
  /** To initiate eventbus subsctiptions */
4889
4900
  inititateEventBusSubscritions() {
@@ -4999,7 +5010,6 @@ class RADashboardArea {
4999
5010
  window.scrollTo(0, 0);
5000
5011
  if (location.href.indexOf('/kiosk/') > -1)
5001
5012
  this.initialWidgetCount = 1000;
5002
- this.loading = false;
5003
5013
  let widgetInfo = {
5004
5014
  dashboardId: userDashboarId.toString(),
5005
5015
  dashboardAreaKey: areaKey,
@@ -5008,7 +5018,6 @@ class RADashboardArea {
5008
5018
  this.widgetList = [];
5009
5019
  this.dashboardService.getWidgetsByDashboardArea(widgetInfo, this.appConfig).subscribe(widgets => {
5010
5020
  this.userWidgets = widgets;
5011
- this.widgetsLoaded = true;
5012
5021
  this.PAMWidgets = [];
5013
5022
  widgets.forEach((element) => {
5014
5023
  var settings = undefined;
@@ -5030,21 +5039,6 @@ class RADashboardArea {
5030
5039
  }
5031
5040
  });
5032
5041
  }
5033
- loadWidgetWrappers() {
5034
- if (!this.loading) {
5035
- this.loading = true;
5036
- let widgets = this.mapObjectListToGridsterItemList(this.userWidgets);
5037
- this.widgets = [];
5038
- for (let i = 0; i < widgets.length; i++) {
5039
- this.widgets.push({ 'widget': widgets[i] });
5040
- }
5041
- this.widgetList.push(...widgets);
5042
- this.setAreaHeight();
5043
- setTimeout(() => {
5044
- this.loading = false;
5045
- });
5046
- }
5047
- }
5048
5042
  /** To set Area(Gridster) height dynamically as widgets are added/removed */
5049
5043
  setAreaHeight() {
5050
5044
  setTimeout(() => {
@@ -5115,7 +5109,6 @@ class RADashboardArea {
5115
5109
  }
5116
5110
  /**To rearrange widgets position in the dashboard, compactLeft&Up,compactLeft,compactUp,etc*/
5117
5111
  rearrangeWidgets() {
5118
- this.loading = false;
5119
5112
  for (let i = 0; i < this.userWidgets.length; i++) {
5120
5113
  this.userWidgets[i].position_x = 0;
5121
5114
  this.userWidgets[i].position_y = 0;
@@ -5155,7 +5148,6 @@ class RADashboardArea {
5155
5148
  this.dashboardService.addWidget(data, this.appConfig).subscribe(widget => {
5156
5149
  this.userWidgets.push(widget);
5157
5150
  let gridsterItem = this.responsiveService.getGridsterItem(widget);
5158
- this.widgets.push({ 'widget': gridsterItem });
5159
5151
  this.widgetList.push(gridsterItem);
5160
5152
  this.setAreaHeight();
5161
5153
  if (this.options.api) {
@@ -5208,7 +5200,6 @@ class RADashboardArea {
5208
5200
  }
5209
5201
  this.userWidgets.push(data);
5210
5202
  let gridsterItem = this.responsiveService.getGridsterItem(data);
5211
- this.widgets.push({ 'widget': gridsterItem });
5212
5203
  this.widgetList.push(gridsterItem);
5213
5204
  this.setAreaHeight();
5214
5205
  if (data.settings && data.settings.isPAMWidget) {
@@ -5258,11 +5249,11 @@ class RADashboardArea {
5258
5249
  }
5259
5250
  }
5260
5251
  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 }); }
5261
- 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"] }] }); }
5252
+ 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" }, host: { listeners: { "document:scroll": "scroll()" } }, 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;flex-direction:column}.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"] }] }); }
5262
5253
  }
5263
5254
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: RADashboardArea, decorators: [{
5264
5255
  type: Component,
5265
- 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"] }]
5256
+ 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;flex-direction:column}.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"] }]
5266
5257
  }], 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: [{
5267
5258
  type: Input,
5268
5259
  args: ['user-dashboard-id']
@@ -5297,6 +5288,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
5297
5288
  }], gridWrapper: [{
5298
5289
  type: ViewChild,
5299
5290
  args: ['gridWrapper', { static: false }]
5291
+ }], scroll: [{
5292
+ type: HostListener,
5293
+ args: ['document:scroll']
5300
5294
  }] } });
5301
5295
 
5302
5296
  const customNotifierOptions = {