@schneideress/dashboardframework 20.0.30 → 22.0.0

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, Input, ViewEncapsulation, Component, EventEmitter, ElementRef, Renderer2, ChangeDetectorRef, NgZone, Inject, HostBinding, Output, ViewContainerRef, ViewChild, HostListener, NgModule, Directive } from '@angular/core';
2
+ import { Injectable, Input, ChangeDetectionStrategy, ViewEncapsulation, Component, EventEmitter, ElementRef, Renderer2, ChangeDetectorRef, NgZone, Inject, HostBinding, Output, 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';
@@ -8,7 +8,7 @@ import { NgxUiLoaderModule } from 'ngx-ui-loader';
8
8
  import * as i4 from 'angular-notifier';
9
9
  import { NotifierModule } from 'angular-notifier';
10
10
  import * as i2 from '@angular/common';
11
- import { NgForOf, NgStyle, NgIf, CommonModule } from '@angular/common';
11
+ import { NgStyle, CommonModule } from '@angular/common';
12
12
  import { RaWidgetlockStatus, WidgetViewState, RADownloadType, RADownloadOption } from '@schneideress/widgetframework';
13
13
  import { loadRemoteModule } from '@angular-architects/module-federation';
14
14
  import * as i6 from '@schneideress/common-controls';
@@ -86,10 +86,10 @@ class RaDashboardService extends BaseService {
86
86
  /** To Copy Current widget with same configuration*/
87
87
  copyWidget(widgetInfo) {
88
88
  }
89
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: RaDashboardService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
90
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: RaDashboardService, providedIn: 'root' }); }
89
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: RaDashboardService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
90
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: RaDashboardService, providedIn: 'root' }); }
91
91
  }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: RaDashboardService, decorators: [{
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: RaDashboardService, decorators: [{
93
93
  type: Injectable,
94
94
  args: [{
95
95
  providedIn: 'root'
@@ -370,10 +370,10 @@ class RADashboardResponsiveService {
370
370
  }
371
371
  return height;
372
372
  }
373
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: RADashboardResponsiveService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
374
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: RADashboardResponsiveService, providedIn: "root" }); }
373
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: RADashboardResponsiveService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
374
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: RADashboardResponsiveService, providedIn: "root" }); }
375
375
  }
376
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: RADashboardResponsiveService, decorators: [{
376
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: RADashboardResponsiveService, decorators: [{
377
377
  type: Injectable,
378
378
  args: [{ providedIn: "root" }]
379
379
  }], ctorParameters: () => [] });
@@ -1025,12 +1025,12 @@ class GridsterPreviewComponent {
1025
1025
  this.renderer.setStyle(this.el, 'display', '');
1026
1026
  }
1027
1027
  }
1028
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: GridsterPreviewComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
1029
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.1", type: GridsterPreviewComponent, isStandalone: true, selector: "gridster-preview", inputs: { previewStyle$: "previewStyle$", gridRenderer: "gridRenderer" }, ngImport: i0, template: '', isInline: true, styles: ["gridster-preview{position:absolute;display:none;background:#00000026}\n"], encapsulation: i0.ViewEncapsulation.None }); }
1028
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: GridsterPreviewComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
1029
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: GridsterPreviewComponent, isStandalone: true, selector: "gridster-preview", inputs: { previewStyle$: "previewStyle$", gridRenderer: "gridRenderer" }, ngImport: i0, template: '', isInline: true, styles: ["gridster-preview{position:absolute;display:none;background:#00000026}\n"], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
1030
1030
  }
1031
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: GridsterPreviewComponent, decorators: [{
1031
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: GridsterPreviewComponent, decorators: [{
1032
1032
  type: Component,
1033
- args: [{ selector: 'gridster-preview', template: '', encapsulation: ViewEncapsulation.None, standalone: true, styles: ["gridster-preview{position:absolute;display:none;background:#00000026}\n"] }]
1033
+ args: [{ selector: 'gridster-preview', template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Eager, standalone: true, styles: ["gridster-preview{position:absolute;display:none;background:#00000026}\n"] }]
1034
1034
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { previewStyle$: [{
1035
1035
  type: Input
1036
1036
  }], gridRenderer: [{
@@ -1904,12 +1904,12 @@ class GridsterComponent {
1904
1904
  }
1905
1905
  return 0;
1906
1906
  }
1907
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: GridsterComponent, deps: [{ token: ElementRef }, { token: Renderer2 }, { token: ChangeDetectorRef }, { token: NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1908
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.1", type: GridsterComponent, isStandalone: true, selector: "gridster", inputs: { options: "options" }, usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"gridster-column\"\r\n *ngFor=\"let column of gridColumns; let i = index;\"\r\n [ngStyle]=\"gridRenderer.getGridColumnStyle(i)\"\r\n></div>\r\n<div\r\n class=\"gridster-row\"\r\n *ngFor=\"let row of gridRows; let i = index;\"\r\n [ngStyle]=\"gridRenderer.getGridRowStyle(i)\"\r\n></div>\r\n<ng-content></ng-content>\r\n<gridster-preview\r\n [gridRenderer]=\"gridRenderer\"\r\n [previewStyle$]=\"previewStyle$\"\r\n class=\"gridster-preview\"\r\n></gridster-preview>\r\n", styles: ["gridster{position:relative;box-sizing:border-box;background:gray;width:100%;height:100%;-webkit-user-select:none;user-select:none;display:block}gridster.fit{overflow-x:hidden;overflow-y:hidden}gridster.scrollVertical{overflow-x:hidden;overflow-y:auto}gridster.scrollHorizontal{overflow-x:auto;overflow-y:hidden}gridster.fixed{overflow:auto}gridster.mobile{overflow-x:hidden;overflow-y:auto}gridster.mobile gridster-item{position:relative}gridster.gridSize{height:initial;width:initial}gridster.gridSize.fit{height:100%;width:100%}gridster .gridster-column,gridster .gridster-row{position:absolute;display:none;transition:.3s;box-sizing:border-box}gridster.display-grid .gridster-column,gridster.display-grid .gridster-row{display:block}gridster .gridster-column{border-left:1px solid white;border-right:1px solid white}gridster .gridster-row{border-top:1px solid white;border-bottom:1px solid white}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: GridsterPreviewComponent, selector: "gridster-preview", inputs: ["previewStyle$", "gridRenderer"] }], encapsulation: i0.ViewEncapsulation.None }); }
1907
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: GridsterComponent, deps: [{ token: ElementRef }, { token: Renderer2 }, { token: ChangeDetectorRef }, { token: NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1908
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: GridsterComponent, isStandalone: true, selector: "gridster", inputs: { options: "options" }, usesOnChanges: true, ngImport: i0, template: "@for (column of gridColumns; track column; let i = $index) {\n<div\r\n class=\"gridster-column\"\r\n \r\n [ngStyle]=\"gridRenderer.getGridColumnStyle(i)\"\r\n></div>\n}\r\n@for (row of gridRows; track row; let i = $index) {\n<div\r\n class=\"gridster-row\"\r\n \r\n [ngStyle]=\"gridRenderer.getGridRowStyle(i)\"\r\n></div>\n}\r\n<ng-content></ng-content>\r\n<gridster-preview\r\n [gridRenderer]=\"gridRenderer\"\r\n [previewStyle$]=\"previewStyle$\"\r\n class=\"gridster-preview\"\r\n></gridster-preview>\r\n", styles: ["gridster{position:relative;box-sizing:border-box;background:gray;width:100%;height:100%;-webkit-user-select:none;user-select:none;display:block}gridster.fit{overflow-x:hidden;overflow-y:hidden}gridster.scrollVertical{overflow-x:hidden;overflow-y:auto}gridster.scrollHorizontal{overflow-x:auto;overflow-y:hidden}gridster.fixed{overflow:auto}gridster.mobile{overflow-x:hidden;overflow-y:auto}gridster.mobile gridster-item{position:relative}gridster.gridSize{height:initial;width:initial}gridster.gridSize.fit{height:100%;width:100%}gridster .gridster-column,gridster .gridster-row{position:absolute;display:none;transition:.3s;box-sizing:border-box}gridster.display-grid .gridster-column,gridster.display-grid .gridster-row{display:block}gridster .gridster-column{border-left:1px solid white;border-right:1px solid white}gridster .gridster-row{border-top:1px solid white;border-bottom:1px solid white}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: GridsterPreviewComponent, selector: "gridster-preview", inputs: ["previewStyle$", "gridRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
1909
1909
  }
1910
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: GridsterComponent, decorators: [{
1910
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: GridsterComponent, decorators: [{
1911
1911
  type: Component,
1912
- args: [{ selector: 'gridster', encapsulation: ViewEncapsulation.None, imports: [NgForOf, NgStyle, GridsterPreviewComponent], template: "<div\r\n class=\"gridster-column\"\r\n *ngFor=\"let column of gridColumns; let i = index;\"\r\n [ngStyle]=\"gridRenderer.getGridColumnStyle(i)\"\r\n></div>\r\n<div\r\n class=\"gridster-row\"\r\n *ngFor=\"let row of gridRows; let i = index;\"\r\n [ngStyle]=\"gridRenderer.getGridRowStyle(i)\"\r\n></div>\r\n<ng-content></ng-content>\r\n<gridster-preview\r\n [gridRenderer]=\"gridRenderer\"\r\n [previewStyle$]=\"previewStyle$\"\r\n class=\"gridster-preview\"\r\n></gridster-preview>\r\n", styles: ["gridster{position:relative;box-sizing:border-box;background:gray;width:100%;height:100%;-webkit-user-select:none;user-select:none;display:block}gridster.fit{overflow-x:hidden;overflow-y:hidden}gridster.scrollVertical{overflow-x:hidden;overflow-y:auto}gridster.scrollHorizontal{overflow-x:auto;overflow-y:hidden}gridster.fixed{overflow:auto}gridster.mobile{overflow-x:hidden;overflow-y:auto}gridster.mobile gridster-item{position:relative}gridster.gridSize{height:initial;width:initial}gridster.gridSize.fit{height:100%;width:100%}gridster .gridster-column,gridster .gridster-row{position:absolute;display:none;transition:.3s;box-sizing:border-box}gridster.display-grid .gridster-column,gridster.display-grid .gridster-row{display:block}gridster .gridster-column{border-left:1px solid white;border-right:1px solid white}gridster .gridster-row{border-top:1px solid white;border-bottom:1px solid white}\n"] }]
1912
+ args: [{ selector: 'gridster', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Eager, imports: [NgStyle, GridsterPreviewComponent], template: "@for (column of gridColumns; track column; let i = $index) {\n<div\r\n class=\"gridster-column\"\r\n \r\n [ngStyle]=\"gridRenderer.getGridColumnStyle(i)\"\r\n></div>\n}\r\n@for (row of gridRows; track row; let i = $index) {\n<div\r\n class=\"gridster-row\"\r\n \r\n [ngStyle]=\"gridRenderer.getGridRowStyle(i)\"\r\n></div>\n}\r\n<ng-content></ng-content>\r\n<gridster-preview\r\n [gridRenderer]=\"gridRenderer\"\r\n [previewStyle$]=\"previewStyle$\"\r\n class=\"gridster-preview\"\r\n></gridster-preview>\r\n", styles: ["gridster{position:relative;box-sizing:border-box;background:gray;width:100%;height:100%;-webkit-user-select:none;user-select:none;display:block}gridster.fit{overflow-x:hidden;overflow-y:hidden}gridster.scrollVertical{overflow-x:hidden;overflow-y:auto}gridster.scrollHorizontal{overflow-x:auto;overflow-y:hidden}gridster.fixed{overflow:auto}gridster.mobile{overflow-x:hidden;overflow-y:auto}gridster.mobile gridster-item{position:relative}gridster.gridSize{height:initial;width:initial}gridster.gridSize.fit{height:100%;width:100%}gridster .gridster-column,gridster .gridster-row{position:absolute;display:none;transition:.3s;box-sizing:border-box}gridster.display-grid .gridster-column,gridster.display-grid .gridster-row{display:block}gridster .gridster-column{border-left:1px solid white;border-right:1px solid white}gridster .gridster-row{border-top:1px solid white;border-bottom:1px solid white}\n"] }]
1913
1913
  }], ctorParameters: () => [{ type: i0.ElementRef, decorators: [{
1914
1914
  type: Inject,
1915
1915
  args: [ElementRef]
@@ -3749,12 +3749,12 @@ class GridsterItemComponent {
3749
3749
  }
3750
3750
  return 0;
3751
3751
  }
3752
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: GridsterItemComponent, deps: [{ token: ElementRef }, { token: GridsterComponent }, { token: Renderer2 }, { token: NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
3753
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.1", type: GridsterItemComponent, isStandalone: true, selector: "gridster-item", inputs: { item: "item" }, outputs: { itemInit: "itemInit", itemChange: "itemChange", itemResize: "itemResize" }, host: { properties: { "style.z-index": "this.zIndex" } }, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\r\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n *ngIf=\"resize.resizableHandles?.s && resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-s\"\r\n></div>\r\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n *ngIf=\"resize.resizableHandles?.e && resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-e\"\r\n></div>\r\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n *ngIf=\"resize.resizableHandles?.n && resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-n\"\r\n></div>\r\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n *ngIf=\"resize.resizableHandles?.w && resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-w\"\r\n></div>\r\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n *ngIf=\"resize.resizableHandles?.se && resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-se\"\r\n></div>\r\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n *ngIf=\"resize.resizableHandles?.ne && resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-ne\"\r\n></div>\r\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n *ngIf=\"resize.resizableHandles?.sw && resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-sw\"\r\n></div>\r\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n *ngIf=\"resize.resizableHandles?.nw && resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-nw\"\r\n></div>\r\n", styles: ["gridster-item{box-sizing:border-box;z-index:1;position:absolute;overflow:hidden;transition:.3s;display:none;background:#fff;-webkit-user-select:text;user-select:text}gridster-item.gridster-item-moving{cursor:move}gridster-item.gridster-item-resizing,gridster-item.gridster-item-moving{transition:0s;z-index:2;box-shadow:0 0 5px 5px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.gridster-item-resizable-handler{position:absolute;z-index:2}.gridster-item-resizable-handler.handle-n{cursor:ns-resize;height:10px;right:0;top:0;left:0}.gridster-item-resizable-handler.handle-e{cursor:ew-resize;width:10px;bottom:0;right:0;top:0}.gridster-item-resizable-handler.handle-s{cursor:ns-resize;height:10px;right:0;bottom:0;left:0}.gridster-item-resizable-handler.handle-w{cursor:ew-resize;width:10px;left:0;top:0;bottom:0}.gridster-item-resizable-handler.handle-ne{cursor:ne-resize;width:10px;height:10px;right:0;top:0}.gridster-item-resizable-handler.handle-nw{cursor:nw-resize;width:10px;height:10px;left:0;top:0}.gridster-item-resizable-handler.handle-se{cursor:se-resize;width:0;height:0;right:0;bottom:0;border-style:solid;border-width:0 0 10px 10px;border-color:transparent}.gridster-item-resizable-handler.handle-sw{cursor:sw-resize;width:10px;height:10px;left:0;bottom:0}gridster-item:hover .gridster-item-resizable-handler.handle-se{border-color:transparent transparent #ccc}.no-hover gridster-item:hover{box-shadow:none!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
3752
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: GridsterItemComponent, deps: [{ token: ElementRef }, { token: GridsterComponent }, { token: Renderer2 }, { token: NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
3753
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: GridsterItemComponent, isStandalone: true, selector: "gridster-item", inputs: { item: "item" }, outputs: { itemInit: "itemInit", itemChange: "itemChange", itemResize: "itemResize" }, host: { properties: { "style.z-index": "this.zIndex" } }, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\r\n@if (resize.resizableHandles?.s && resize.resizeEnabled) {\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n \r\n class=\"gridster-item-resizable-handler handle-s\"\r\n></div>\n}\r\n@if (resize.resizableHandles?.e && resize.resizeEnabled) {\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n \r\n class=\"gridster-item-resizable-handler handle-e\"\r\n></div>\n}\r\n@if (resize.resizableHandles?.n && resize.resizeEnabled) {\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n \r\n class=\"gridster-item-resizable-handler handle-n\"\r\n></div>\n}\r\n@if (resize.resizableHandles?.w && resize.resizeEnabled) {\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n \r\n class=\"gridster-item-resizable-handler handle-w\"\r\n></div>\n}\r\n@if (resize.resizableHandles?.se && resize.resizeEnabled) {\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n \r\n class=\"gridster-item-resizable-handler handle-se\"\r\n></div>\n}\r\n@if (resize.resizableHandles?.ne && resize.resizeEnabled) {\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n \r\n class=\"gridster-item-resizable-handler handle-ne\"\r\n></div>\n}\r\n@if (resize.resizableHandles?.sw && resize.resizeEnabled) {\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n \r\n class=\"gridster-item-resizable-handler handle-sw\"\r\n></div>\n}\r\n@if (resize.resizableHandles?.nw && resize.resizeEnabled) {\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n \r\n class=\"gridster-item-resizable-handler handle-nw\"\r\n></div>\n}\r\n", styles: ["gridster-item{box-sizing:border-box;z-index:1;position:absolute;overflow:hidden;transition:.3s;display:none;background:#fff;-webkit-user-select:text;user-select:text}gridster-item.gridster-item-moving{cursor:move}gridster-item.gridster-item-resizing,gridster-item.gridster-item-moving{transition:0s;z-index:2;box-shadow:0 0 5px 5px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.gridster-item-resizable-handler{position:absolute;z-index:2}.gridster-item-resizable-handler.handle-n{cursor:ns-resize;height:10px;right:0;top:0;left:0}.gridster-item-resizable-handler.handle-e{cursor:ew-resize;width:10px;bottom:0;right:0;top:0}.gridster-item-resizable-handler.handle-s{cursor:ns-resize;height:10px;right:0;bottom:0;left:0}.gridster-item-resizable-handler.handle-w{cursor:ew-resize;width:10px;left:0;top:0;bottom:0}.gridster-item-resizable-handler.handle-ne{cursor:ne-resize;width:10px;height:10px;right:0;top:0}.gridster-item-resizable-handler.handle-nw{cursor:nw-resize;width:10px;height:10px;left:0;top:0}.gridster-item-resizable-handler.handle-se{cursor:se-resize;width:0;height:0;right:0;bottom:0;border-style:solid;border-width:0 0 10px 10px;border-color:transparent}.gridster-item-resizable-handler.handle-sw{cursor:sw-resize;width:10px;height:10px;left:0;bottom:0}gridster-item:hover .gridster-item-resizable-handler.handle-se{border-color:transparent transparent #ccc}.no-hover gridster-item:hover{box-shadow:none!important}\n"], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
3754
3754
  }
3755
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: GridsterItemComponent, decorators: [{
3755
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: GridsterItemComponent, decorators: [{
3756
3756
  type: Component,
3757
- args: [{ selector: 'gridster-item', encapsulation: ViewEncapsulation.None, imports: [NgIf], template: "<ng-content></ng-content>\r\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n *ngIf=\"resize.resizableHandles?.s && resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-s\"\r\n></div>\r\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n *ngIf=\"resize.resizableHandles?.e && resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-e\"\r\n></div>\r\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n *ngIf=\"resize.resizableHandles?.n && resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-n\"\r\n></div>\r\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n *ngIf=\"resize.resizableHandles?.w && resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-w\"\r\n></div>\r\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n *ngIf=\"resize.resizableHandles?.se && resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-se\"\r\n></div>\r\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n *ngIf=\"resize.resizableHandles?.ne && resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-ne\"\r\n></div>\r\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n *ngIf=\"resize.resizableHandles?.sw && resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-sw\"\r\n></div>\r\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n *ngIf=\"resize.resizableHandles?.nw && resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-nw\"\r\n></div>\r\n", styles: ["gridster-item{box-sizing:border-box;z-index:1;position:absolute;overflow:hidden;transition:.3s;display:none;background:#fff;-webkit-user-select:text;user-select:text}gridster-item.gridster-item-moving{cursor:move}gridster-item.gridster-item-resizing,gridster-item.gridster-item-moving{transition:0s;z-index:2;box-shadow:0 0 5px 5px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.gridster-item-resizable-handler{position:absolute;z-index:2}.gridster-item-resizable-handler.handle-n{cursor:ns-resize;height:10px;right:0;top:0;left:0}.gridster-item-resizable-handler.handle-e{cursor:ew-resize;width:10px;bottom:0;right:0;top:0}.gridster-item-resizable-handler.handle-s{cursor:ns-resize;height:10px;right:0;bottom:0;left:0}.gridster-item-resizable-handler.handle-w{cursor:ew-resize;width:10px;left:0;top:0;bottom:0}.gridster-item-resizable-handler.handle-ne{cursor:ne-resize;width:10px;height:10px;right:0;top:0}.gridster-item-resizable-handler.handle-nw{cursor:nw-resize;width:10px;height:10px;left:0;top:0}.gridster-item-resizable-handler.handle-se{cursor:se-resize;width:0;height:0;right:0;bottom:0;border-style:solid;border-width:0 0 10px 10px;border-color:transparent}.gridster-item-resizable-handler.handle-sw{cursor:sw-resize;width:10px;height:10px;left:0;bottom:0}gridster-item:hover .gridster-item-resizable-handler.handle-se{border-color:transparent transparent #ccc}.no-hover gridster-item:hover{box-shadow:none!important}\n"] }]
3757
+ args: [{ selector: 'gridster-item', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Eager, imports: [], template: "<ng-content></ng-content>\r\n@if (resize.resizableHandles?.s && resize.resizeEnabled) {\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n \r\n class=\"gridster-item-resizable-handler handle-s\"\r\n></div>\n}\r\n@if (resize.resizableHandles?.e && resize.resizeEnabled) {\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n \r\n class=\"gridster-item-resizable-handler handle-e\"\r\n></div>\n}\r\n@if (resize.resizableHandles?.n && resize.resizeEnabled) {\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n \r\n class=\"gridster-item-resizable-handler handle-n\"\r\n></div>\n}\r\n@if (resize.resizableHandles?.w && resize.resizeEnabled) {\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n \r\n class=\"gridster-item-resizable-handler handle-w\"\r\n></div>\n}\r\n@if (resize.resizableHandles?.se && resize.resizeEnabled) {\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n \r\n class=\"gridster-item-resizable-handler handle-se\"\r\n></div>\n}\r\n@if (resize.resizableHandles?.ne && resize.resizeEnabled) {\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n \r\n class=\"gridster-item-resizable-handler handle-ne\"\r\n></div>\n}\r\n@if (resize.resizableHandles?.sw && resize.resizeEnabled) {\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n \r\n class=\"gridster-item-resizable-handler handle-sw\"\r\n></div>\n}\r\n@if (resize.resizableHandles?.nw && resize.resizeEnabled) {\n<div\r\n (mousedown)=\"resize.dragStartDelay($event)\"\r\n (touchstart)=\"resize.dragStartDelay($event)\"\r\n \r\n class=\"gridster-item-resizable-handler handle-nw\"\r\n></div>\n}\r\n", styles: ["gridster-item{box-sizing:border-box;z-index:1;position:absolute;overflow:hidden;transition:.3s;display:none;background:#fff;-webkit-user-select:text;user-select:text}gridster-item.gridster-item-moving{cursor:move}gridster-item.gridster-item-resizing,gridster-item.gridster-item-moving{transition:0s;z-index:2;box-shadow:0 0 5px 5px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.gridster-item-resizable-handler{position:absolute;z-index:2}.gridster-item-resizable-handler.handle-n{cursor:ns-resize;height:10px;right:0;top:0;left:0}.gridster-item-resizable-handler.handle-e{cursor:ew-resize;width:10px;bottom:0;right:0;top:0}.gridster-item-resizable-handler.handle-s{cursor:ns-resize;height:10px;right:0;bottom:0;left:0}.gridster-item-resizable-handler.handle-w{cursor:ew-resize;width:10px;left:0;top:0;bottom:0}.gridster-item-resizable-handler.handle-ne{cursor:ne-resize;width:10px;height:10px;right:0;top:0}.gridster-item-resizable-handler.handle-nw{cursor:nw-resize;width:10px;height:10px;left:0;top:0}.gridster-item-resizable-handler.handle-se{cursor:se-resize;width:0;height:0;right:0;bottom:0;border-style:solid;border-width:0 0 10px 10px;border-color:transparent}.gridster-item-resizable-handler.handle-sw{cursor:sw-resize;width:10px;height:10px;left:0;bottom:0}gridster-item:hover .gridster-item-resizable-handler.handle-se{border-color:transparent transparent #ccc}.no-hover gridster-item:hover{box-shadow:none!important}\n"] }]
3758
3758
  }], ctorParameters: () => [{ type: i0.ElementRef, decorators: [{
3759
3759
  type: Inject,
3760
3760
  args: [ElementRef]
@@ -3808,12 +3808,12 @@ class LockTooltip {
3808
3808
  this.domService.removeComponent(comp);
3809
3809
  });
3810
3810
  }
3811
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: LockTooltip, deps: [{ token: i3.DomService }], target: i0.ɵɵFactoryTarget.Component }); }
3812
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.1", type: LockTooltip, isStandalone: false, selector: "ra-lock-tooltip", ngImport: i0, template: "<div class=\"lock-popup-content light widget-config-item\"\r\n [ngStyle]=\"{'top': containerTop,'bottom':containerBottom,'position':'fixed','left':containerLeft,'z-index': '9999','width':'250px','min-height':'fit-content'}\">\r\n <div *ngIf=\"data && !template\">\r\n <label style=\"color: #D9F0FA;\">\r\n {{title}}:\r\n </label>\r\n <div style=\"color: white;\">\r\n <label class=\"bold\" style=\"margin-bottom: 0px;width: 100%;\" *ngFor=\"let item of data\">\r\n {{item}}\r\n </label>\r\n </div>\r\n <hr style=\"background-color: white;\">\r\n <div style=\"color: #D9F0FA;\">\r\n <label>{{footer}}</label>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!data && template\">\r\n <ng-container *ngTemplateOutlet=\"template\">\r\n </ng-container>\r\n </div>\r\n</div>", styles: [".lock-popup-content{margin-top:8px;position:absolute;right:0;top:79%;box-shadow:0 8px 16px 8px #0003;z-index:899;font-size:12px;min-width:220px!important;min-height:112px;background-color:#219bfd;opacity:.9;padding:15px;color:#fff}.widget-config-item i{font-size:17px;color:#42b4e6}.widget-config-item span{font-size:12px;font:inherit;padding-left:12px;color:#42b4e6}\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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
3811
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: LockTooltip, deps: [{ token: i3.DomService }], target: i0.ɵɵFactoryTarget.Component }); }
3812
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: LockTooltip, isStandalone: false, selector: "ra-lock-tooltip", ngImport: i0, template: "<div class=\"lock-popup-content light widget-config-item\"\r\n [ngStyle]=\"{'top': containerTop,'bottom':containerBottom,'position':'fixed','left':containerLeft,'z-index': '9999','width':'250px','min-height':'fit-content'}\">\r\n @if (data && !template) {\n<div>\r\n <label style=\"color: #D9F0FA;\">\r\n {{title}}:\r\n </label>\r\n <div style=\"color: white;\">\r\n @for (item of data; track item) {\n<label class=\"bold\" style=\"margin-bottom: 0px;width: 100%;\">\r\n {{item}}\r\n </label>\n}\r\n </div>\r\n <hr style=\"background-color: white;\">\r\n <div style=\"color: #D9F0FA;\">\r\n <label>{{footer}}</label>\r\n </div>\r\n </div>\n}\r\n @if (!data && template) {\n<div>\r\n <ng-container *ngTemplateOutlet=\"template\">\r\n </ng-container>\r\n </div>\n}\r\n</div>", styles: [".lock-popup-content{margin-top:8px;position:absolute;right:0;top:79%;box-shadow:0 8px 16px 8px #0003;z-index:899;font-size:12px;min-width:220px!important;min-height:112px;background-color:#219bfd;opacity:.9;padding:15px;color:#fff}.widget-config-item i{font-size:17px;color:#42b4e6}.widget-config-item span{font-size:12px;font:inherit;padding-left:12px;color:#42b4e6}\n"], dependencies: [{ kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
3813
3813
  }
3814
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: LockTooltip, decorators: [{
3814
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: LockTooltip, decorators: [{
3815
3815
  type: Component,
3816
- args: [{ selector: 'ra-lock-tooltip', standalone: false, template: "<div class=\"lock-popup-content light widget-config-item\"\r\n [ngStyle]=\"{'top': containerTop,'bottom':containerBottom,'position':'fixed','left':containerLeft,'z-index': '9999','width':'250px','min-height':'fit-content'}\">\r\n <div *ngIf=\"data && !template\">\r\n <label style=\"color: #D9F0FA;\">\r\n {{title}}:\r\n </label>\r\n <div style=\"color: white;\">\r\n <label class=\"bold\" style=\"margin-bottom: 0px;width: 100%;\" *ngFor=\"let item of data\">\r\n {{item}}\r\n </label>\r\n </div>\r\n <hr style=\"background-color: white;\">\r\n <div style=\"color: #D9F0FA;\">\r\n <label>{{footer}}</label>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!data && template\">\r\n <ng-container *ngTemplateOutlet=\"template\">\r\n </ng-container>\r\n </div>\r\n</div>", styles: [".lock-popup-content{margin-top:8px;position:absolute;right:0;top:79%;box-shadow:0 8px 16px 8px #0003;z-index:899;font-size:12px;min-width:220px!important;min-height:112px;background-color:#219bfd;opacity:.9;padding:15px;color:#fff}.widget-config-item i{font-size:17px;color:#42b4e6}.widget-config-item span{font-size:12px;font:inherit;padding-left:12px;color:#42b4e6}\n"] }]
3816
+ args: [{ selector: 'ra-lock-tooltip', changeDetection: ChangeDetectionStrategy.Eager, standalone: false, template: "<div class=\"lock-popup-content light widget-config-item\"\r\n [ngStyle]=\"{'top': containerTop,'bottom':containerBottom,'position':'fixed','left':containerLeft,'z-index': '9999','width':'250px','min-height':'fit-content'}\">\r\n @if (data && !template) {\n<div>\r\n <label style=\"color: #D9F0FA;\">\r\n {{title}}:\r\n </label>\r\n <div style=\"color: white;\">\r\n @for (item of data; track item) {\n<label class=\"bold\" style=\"margin-bottom: 0px;width: 100%;\">\r\n {{item}}\r\n </label>\n}\r\n </div>\r\n <hr style=\"background-color: white;\">\r\n <div style=\"color: #D9F0FA;\">\r\n <label>{{footer}}</label>\r\n </div>\r\n </div>\n}\r\n @if (!data && template) {\n<div>\r\n <ng-container *ngTemplateOutlet=\"template\">\r\n </ng-container>\r\n </div>\n}\r\n</div>", styles: [".lock-popup-content{margin-top:8px;position:absolute;right:0;top:79%;box-shadow:0 8px 16px 8px #0003;z-index:899;font-size:12px;min-width:220px!important;min-height:112px;background-color:#219bfd;opacity:.9;padding:15px;color:#fff}.widget-config-item i{font-size:17px;color:#42b4e6}.widget-config-item span{font-size:12px;font:inherit;padding-left:12px;color:#42b4e6}\n"] }]
3817
3817
  }], ctorParameters: () => [{ type: i3.DomService }] });
3818
3818
 
3819
3819
  class RAWidgetContainer {
@@ -4725,12 +4725,12 @@ class RAWidgetContainer {
4725
4725
  return item;
4726
4726
  return translatedString.toLowerCase() === rKey.toLowerCase() ? item : translatedString;
4727
4727
  }
4728
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: RAWidgetContainer, deps: [{ token: RaDashboardService }, { token: i2$1.NgxUiLoaderService }, { token: i3.RATranslateService }, { token: i0.NgZone }, { token: i4.NotifierService }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i3.RAPermissionService }, { token: i3.DomService }], target: i0.ɵɵFactoryTarget.Component }); }
4729
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.1", type: RAWidgetContainer, isStandalone: false, selector: "ra-widget-container", inputs: { widgetInstanceId: ["widget-instance-id", "widgetInstanceId"], globalFilter: ["global-filter", "globalFilter"], dashboardInfo: ["dashboard-info", "dashboardInfo"], data: "data", raDashboardEventBus: ["event-bus", "raDashboardEventBus"], appConfig: ["app-config", "appConfig"], width: ["widget-width", "width"], height: ["widget-height", "height"], gridCellHeight: ["grid-cell-height", "gridCellHeight"], bulkActionData: ["bulk-action-data", "bulkActionData"], canLoadData: "canLoadData", setResized: ["dom-resized", "setResized"] }, outputs: { widgetDeleted: "widgetDeleted", updateAppliedFilters: "updateAppliedFilters", dataLoaded: "dataLoaded", widgetLoaded: "widgetLoaded" }, viewQueries: [{ propertyName: "ctlWidget", first: true, predicate: ["ctlWidget"], descendants: true }, { propertyName: "ctlWidgetModule", first: true, predicate: ["ctlWidgetModule"], descendants: true, read: ViewContainerRef }, { propertyName: "widgetDropdown", first: true, predicate: ["widgetDropdown"], descendants: true }, { propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "wcWrapper", first: true, predicate: ["wcWrapper"], descendants: true }, { propertyName: "banPopupDiv", first: true, predicate: ["banPopupDiv"], descendants: true }, { propertyName: "lockPopupDiv", first: true, predicate: ["lockPopupDiv"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #wcWrapper class=\"wc-wrapper\" (mouseenter)=\"mouseHover(true)\" (mouseleave)=\"mouseHover(false)\"\r\n [ngStyle]=\"{'margin-left': noPadding?'0px':'15px','margin-right': noPadding?'0px':'15px'}\">\r\n <div class=\"wcheader widget-move\" *ngIf=\"!hideTitle && !showOnlyDropdown\"\r\n [ngClass]=\"{'underLine': enableTitleLine || isWidgetStateApplicable}\">\r\n <div class=\"col-md-12\" [ngClass]=\"{'wc-mover' : isWidgetCanMove }\" style=\"padding-left: 0px;height:inherit;padding-right: 0px;\">\r\n <div style=\"display:flex;margin-top:10px;\"\r\n [ngStyle]=\"{'margin-left': noPadding?'15px':'0px','margin-right': noPadding?'15px':'0px'}\">\r\n <div class=\"col-9 float-left title-label\">\r\n <ra-tooltip [value]=\"toolTipValue\" [width]=\"toolTipWidth\">\r\n <div [hidden]=\"hideTitle\" style=\"text-overflow: ellipsis;white-space: nowrap;overflow: hidden;\"\r\n (mouseover)=\"mouseOver($event)\" #searchInput>{{WidgetDisplayName}}</div>\r\n </ra-tooltip>\r\n </div>\r\n <div class=\"col-3\" style=\"cursor:default;padding-right: 0px;\"> \r\n <div class=\"float-right\" style=\"display: flex;\">\r\n <div #banPopupDiv (mouseover)=\"openPopup(inapplicableIconTitle,inapplicableFilters,inapplicableIconFooter,'innaplicable')\" (mouseout)=\"closePopup()\" class=\"title-bar-lock-icon lock-dropdown\" [hidden]=\"!inapplicableFilters || inapplicableFilters.length == 0 || !globalFilter || globalFilter == '{}'\">\r\n <i class=\"fal fa-ban lock\"></i> \r\n </div>\r\n <div #lockPopupDiv (mouseover)=\"openPopup(lockIconTitle,lockDetails,lockIconFooter,'lock',lockTemplateInfo)\" (mouseout)=\"closePopup()\" class=\"title-bar-lock-icon lock-dropdown\" [hidden]=\"(!lockDetails && !lockTemplateInfo) || hideLock\">\r\n <i class=\"fal fa-lock lock\"></i> \r\n </div>\r\n <ng-container *ngIf=\"!hideEllipses\">\r\n <div class=\"widget-menu\" style=\"width:10px;\"\r\n [ngClass]=\"{'widget-menu-show': isMouseHover && showSettingsLink}\">\r\n <div class=\"dropbtn title-bar-icon\">\r\n <i (click)=\"showDropDown($event)\" #widgetDropdown class=\"fal fa-ellipsis-v widget-menu-ellipse\"></i>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"hideEllipses\" class=\"widget-action-icons-card\">\r\n <div class=\"widget-menu-trend-report\" style=\"display: flex;\">\r\n <div *ngIf=\"showInlineDownloadIcon\" class=\"title-bar-action-icon\" title=\"{{'Common.downloads' | translate}}\" aria-label=\"{{'Common.downloads' | translate}}\">\r\n <i (click)=\"onTrendReportDownloadClick()\" class=\"fal fa-download\"></i>\r\n </div>\r\n <div class=\"title-bar-action-icon\" *ngIf=\"isWidgetMgmnt && (!data.widgetInfo.templateWidgetSettings || !data.widgetInfo.templateWidgetSettings.hideEdit)\" title=\"{{'Common.edit' | translate}}\" aria-label=\"{{'Common.edit' | translate}}\">\r\n <i (click)=\"editWidget()\" class=\"fal fa-edit\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"hideTitle && !showOnlyDropdown\" class=\"wcheader widget-move\"\r\n style=\"height: 45px;width: 95%;cursor: move;z-index: 99;opacity: 0;\">\r\n </div>\r\n <ng-container *ngIf=\"hideTitle && !showOnlyDropdown && !hideEllipses\">\r\n <div class=\"widget-menu widget-menu-title-hidden\" [ngClass]=\"{'widget-menu-show': isMouseHover && showSettingsLink}\">\r\n <div class=\"dropbtn title-bar-icon\">\r\n <i (click)=\"showDropDown($event)\" class=\"fal fa-ellipsis-v\" style=\"text-align: center;\"></i>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"hideTitle && !showOnlyDropdown && hideEllipses\" class=\"widget-menu-title-hidden widget-action-icons-card\">\r\n <div class=\"widget-menu-trend-report\" style=\"display: flex;\">\r\n <div *ngIf=\"showInlineDownloadIcon\" class=\"title-bar-action-icon\" title=\"{{'Common.downloads' | translate}}\" aria-label=\"{{'Common.downloads' | translate}}\">\r\n <i (click)=\"onTrendReportDownloadClick()\" class=\"fal fa-download\"></i>\r\n </div>\r\n <div class=\"title-bar-action-icon\" *ngIf=\"isWidgetMgmnt && (!data.widgetInfo.templateWidgetSettings || !data.widgetInfo.templateWidgetSettings.hideEdit)\" title=\"{{'Common.edit' | translate}}\" aria-label=\"{{'Common.edit' | translate}}\">\r\n <i (click)=\"editWidget()\" class=\"fal fa-edit\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"wcBody\" [ngStyle]=\"{'bottom': noPadding?'0px':'10px','top':hideTitle || showOnlyDropdown?'10px':'46px'}\">\r\n <div [hidden]=\"isWidgetStateApplicable\" class=\"m-fadeOut widget-overlay\" [ngClass]=\"{'m-fadeIn': showPanel}\">\r\n <div class=\"lds-roller\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>\r\n </div>\r\n <div class=\"wc\" [hidden]=\"isWidgetStateApplicable\">\r\n <div [hidden]=\"!isCustomElement\" #ctlWidget></div>\r\n <div [hidden]=\"isCustomElement\">\r\n <ng-container #ctlWidgetModule></ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"isWidgetStateApplicable\" class=\"defaultConfig\">\r\n <ra-widget-state style=\"width: 100%;height: 100%;\" [isWidgetStateApplicable]=\"isWidgetStateApplicable\"\r\n [isGlobalFilterApplied]=\"isGlobalFilterApplied\" [widgetEmptyState]=\"widgetEmptyState\"\r\n (editWidgetClicked)=editWidget() [widthCol]=\"width\" [heightCol]=\"height\">\r\n </ra-widget-state>\r\n </div>\r\n <div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i6.TooltipControl, selector: "ra-tooltip", inputs: ["data", "url", "value", "key", "dataField", "position", "width", "count", "moreItemText", "reset", "disable-tooltip", "set-top-padding"], outputs: ["dataLoaded"] }, { kind: "component", type: i6.WidgetStateControl, selector: "ra-widget-state", inputs: ["isWidgetStateApplicable", "isGlobalFilterApplied", "widgetEmptyState", "widgetEmptyDataText", "widthCol", "heightCol"], outputs: ["editWidgetClicked"] }, { kind: "pipe", type: i3.RATranslatePipe, name: "translate" }] }); }
4728
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: RAWidgetContainer, deps: [{ token: RaDashboardService }, { token: i2$1.NgxUiLoaderService }, { token: i3.RATranslateService }, { token: i0.NgZone }, { token: i4.NotifierService }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i3.RAPermissionService }, { token: i3.DomService }], target: i0.ɵɵFactoryTarget.Component }); }
4729
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: RAWidgetContainer, isStandalone: false, selector: "ra-widget-container", inputs: { widgetInstanceId: ["widget-instance-id", "widgetInstanceId"], globalFilter: ["global-filter", "globalFilter"], dashboardInfo: ["dashboard-info", "dashboardInfo"], data: "data", raDashboardEventBus: ["event-bus", "raDashboardEventBus"], appConfig: ["app-config", "appConfig"], width: ["widget-width", "width"], height: ["widget-height", "height"], gridCellHeight: ["grid-cell-height", "gridCellHeight"], bulkActionData: ["bulk-action-data", "bulkActionData"], canLoadData: "canLoadData", setResized: ["dom-resized", "setResized"] }, outputs: { widgetDeleted: "widgetDeleted", updateAppliedFilters: "updateAppliedFilters", dataLoaded: "dataLoaded", widgetLoaded: "widgetLoaded" }, viewQueries: [{ propertyName: "ctlWidget", first: true, predicate: ["ctlWidget"], descendants: true }, { propertyName: "ctlWidgetModule", first: true, predicate: ["ctlWidgetModule"], descendants: true, read: ViewContainerRef }, { propertyName: "widgetDropdown", first: true, predicate: ["widgetDropdown"], descendants: true }, { propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "wcWrapper", first: true, predicate: ["wcWrapper"], descendants: true }, { propertyName: "banPopupDiv", first: true, predicate: ["banPopupDiv"], descendants: true }, { propertyName: "lockPopupDiv", first: true, predicate: ["lockPopupDiv"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #wcWrapper class=\"wc-wrapper\" (mouseenter)=\"mouseHover(true)\" (mouseleave)=\"mouseHover(false)\"\r\n [ngStyle]=\"{'margin-left': noPadding?'0px':'15px','margin-right': noPadding?'0px':'15px'}\">\r\n @if (!hideTitle && !showOnlyDropdown) {\n<div class=\"wcheader widget-move\"\r\n [ngClass]=\"{'underLine': enableTitleLine || isWidgetStateApplicable}\">\r\n <div class=\"col-md-12\" [ngClass]=\"{'wc-mover' : isWidgetCanMove }\" style=\"padding-left: 0px;height:inherit;padding-right: 0px;\">\r\n <div style=\"display:flex;margin-top:10px;\"\r\n [ngStyle]=\"{'margin-left': noPadding?'15px':'0px','margin-right': noPadding?'15px':'0px'}\">\r\n <div class=\"col-9 float-left title-label\">\r\n <ra-tooltip [value]=\"toolTipValue\" [width]=\"toolTipWidth\">\r\n <div [hidden]=\"hideTitle\" style=\"text-overflow: ellipsis;white-space: nowrap;overflow: hidden;\"\r\n (mouseover)=\"mouseOver($event)\" #searchInput>{{WidgetDisplayName}}</div>\r\n </ra-tooltip>\r\n </div>\r\n <div class=\"col-3\" style=\"cursor:default;padding-right: 0px;\"> \r\n <div class=\"float-right\" style=\"display: flex;\">\r\n <div #banPopupDiv (mouseover)=\"openPopup(inapplicableIconTitle,inapplicableFilters,inapplicableIconFooter,'innaplicable')\" (mouseout)=\"closePopup()\" class=\"title-bar-lock-icon lock-dropdown\" [hidden]=\"!inapplicableFilters || inapplicableFilters.length == 0 || !globalFilter || globalFilter == '{}'\">\r\n <i class=\"fal fa-ban lock\"></i> \r\n </div>\r\n <div #lockPopupDiv (mouseover)=\"openPopup(lockIconTitle,lockDetails,lockIconFooter,'lock',lockTemplateInfo)\" (mouseout)=\"closePopup()\" class=\"title-bar-lock-icon lock-dropdown\" [hidden]=\"(!lockDetails && !lockTemplateInfo) || hideLock\">\r\n <i class=\"fal fa-lock lock\"></i> \r\n </div>\r\n @if (!hideEllipses) {\n\r\n <div class=\"widget-menu\" style=\"width:10px;\"\r\n [ngClass]=\"{'widget-menu-show': isMouseHover && showSettingsLink}\">\r\n <div class=\"dropbtn title-bar-icon\">\r\n <i (click)=\"showDropDown($event)\" #widgetDropdown class=\"fal fa-ellipsis-v widget-menu-ellipse\"></i>\r\n </div>\r\n </div>\r\n \n}\r\n @if (hideEllipses) {\n<div class=\"widget-action-icons-card\">\r\n <div class=\"widget-menu-trend-report\" style=\"display: flex;\">\r\n @if (showInlineDownloadIcon) {\n<div class=\"title-bar-action-icon\" title=\"{{'Common.downloads' | translate}}\" aria-label=\"{{'Common.downloads' | translate}}\">\r\n <i (click)=\"onTrendReportDownloadClick()\" class=\"fal fa-download\"></i>\r\n </div>\n}\r\n @if (isWidgetMgmnt && (!data.widgetInfo.templateWidgetSettings || !data.widgetInfo.templateWidgetSettings.hideEdit)) {\n<div class=\"title-bar-action-icon\" title=\"{{'Common.edit' | translate}}\" aria-label=\"{{'Common.edit' | translate}}\">\r\n <i (click)=\"editWidget()\" class=\"fal fa-edit\"></i>\r\n </div>\n}\r\n </div>\r\n </div>\n}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\n}\r\n @if (hideTitle && !showOnlyDropdown) {\n<div class=\"wcheader widget-move\"\r\n style=\"height: 45px;width: 95%;cursor: move;z-index: 99;opacity: 0;\">\r\n </div>\n}\r\n @if (hideTitle && !showOnlyDropdown && !hideEllipses) {\n\r\n <div class=\"widget-menu widget-menu-title-hidden\" [ngClass]=\"{'widget-menu-show': isMouseHover && showSettingsLink}\">\r\n <div class=\"dropbtn title-bar-icon\">\r\n <i (click)=\"showDropDown($event)\" class=\"fal fa-ellipsis-v\" style=\"text-align: center;\"></i>\r\n </div>\r\n </div>\r\n \n}\r\n @if (hideTitle && !showOnlyDropdown && hideEllipses) {\n<div class=\"widget-menu-title-hidden widget-action-icons-card\">\r\n <div class=\"widget-menu-trend-report\" style=\"display: flex;\">\r\n @if (showInlineDownloadIcon) {\n<div class=\"title-bar-action-icon\" title=\"{{'Common.downloads' | translate}}\" aria-label=\"{{'Common.downloads' | translate}}\">\r\n <i (click)=\"onTrendReportDownloadClick()\" class=\"fal fa-download\"></i>\r\n </div>\n}\r\n @if (isWidgetMgmnt && (!data.widgetInfo.templateWidgetSettings || !data.widgetInfo.templateWidgetSettings.hideEdit)) {\n<div class=\"title-bar-action-icon\" title=\"{{'Common.edit' | translate}}\" aria-label=\"{{'Common.edit' | translate}}\">\r\n <i (click)=\"editWidget()\" class=\"fal fa-edit\"></i>\r\n </div>\n}\r\n </div>\r\n </div>\n}\r\n <div class=\"wcBody\" [ngStyle]=\"{'bottom': noPadding?'0px':'10px','top':hideTitle || showOnlyDropdown?'10px':'46px'}\">\r\n <div [hidden]=\"isWidgetStateApplicable\" class=\"m-fadeOut widget-overlay\" [ngClass]=\"{'m-fadeIn': showPanel}\">\r\n <div class=\"lds-roller\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>\r\n </div>\r\n <div class=\"wc\" [hidden]=\"isWidgetStateApplicable\">\r\n <div [hidden]=\"!isCustomElement\" #ctlWidget></div>\r\n <div [hidden]=\"isCustomElement\">\r\n <ng-container #ctlWidgetModule></ng-container>\r\n </div>\r\n </div>\r\n @if (isWidgetStateApplicable) {\n<div class=\"defaultConfig\">\r\n <ra-widget-state style=\"width: 100%;height: 100%;\" [isWidgetStateApplicable]=\"isWidgetStateApplicable\"\r\n [isGlobalFilterApplied]=\"isGlobalFilterApplied\" [widgetEmptyState]=\"widgetEmptyState\"\r\n (editWidgetClicked)=editWidget() [widthCol]=\"width\" [heightCol]=\"height\">\r\n </ra-widget-state>\r\n </div>\n}\r\n <div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i6.TooltipControl, selector: "ra-tooltip", inputs: ["data", "url", "value", "key", "dataField", "position", "width", "count", "moreItemText", "reset", "disable-tooltip", "set-top-padding"], outputs: ["dataLoaded"] }, { kind: "component", type: i6.WidgetStateControl, selector: "ra-widget-state", inputs: ["isWidgetStateApplicable", "isGlobalFilterApplied", "widgetEmptyState", "widgetEmptyDataText", "widthCol", "heightCol"], outputs: ["editWidgetClicked"] }, { kind: "pipe", type: i3.RATranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
4730
4730
  }
4731
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: RAWidgetContainer, decorators: [{
4731
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: RAWidgetContainer, decorators: [{
4732
4732
  type: Component,
4733
- args: [{ selector: 'ra-widget-container', standalone: false, template: "<div #wcWrapper class=\"wc-wrapper\" (mouseenter)=\"mouseHover(true)\" (mouseleave)=\"mouseHover(false)\"\r\n [ngStyle]=\"{'margin-left': noPadding?'0px':'15px','margin-right': noPadding?'0px':'15px'}\">\r\n <div class=\"wcheader widget-move\" *ngIf=\"!hideTitle && !showOnlyDropdown\"\r\n [ngClass]=\"{'underLine': enableTitleLine || isWidgetStateApplicable}\">\r\n <div class=\"col-md-12\" [ngClass]=\"{'wc-mover' : isWidgetCanMove }\" style=\"padding-left: 0px;height:inherit;padding-right: 0px;\">\r\n <div style=\"display:flex;margin-top:10px;\"\r\n [ngStyle]=\"{'margin-left': noPadding?'15px':'0px','margin-right': noPadding?'15px':'0px'}\">\r\n <div class=\"col-9 float-left title-label\">\r\n <ra-tooltip [value]=\"toolTipValue\" [width]=\"toolTipWidth\">\r\n <div [hidden]=\"hideTitle\" style=\"text-overflow: ellipsis;white-space: nowrap;overflow: hidden;\"\r\n (mouseover)=\"mouseOver($event)\" #searchInput>{{WidgetDisplayName}}</div>\r\n </ra-tooltip>\r\n </div>\r\n <div class=\"col-3\" style=\"cursor:default;padding-right: 0px;\"> \r\n <div class=\"float-right\" style=\"display: flex;\">\r\n <div #banPopupDiv (mouseover)=\"openPopup(inapplicableIconTitle,inapplicableFilters,inapplicableIconFooter,'innaplicable')\" (mouseout)=\"closePopup()\" class=\"title-bar-lock-icon lock-dropdown\" [hidden]=\"!inapplicableFilters || inapplicableFilters.length == 0 || !globalFilter || globalFilter == '{}'\">\r\n <i class=\"fal fa-ban lock\"></i> \r\n </div>\r\n <div #lockPopupDiv (mouseover)=\"openPopup(lockIconTitle,lockDetails,lockIconFooter,'lock',lockTemplateInfo)\" (mouseout)=\"closePopup()\" class=\"title-bar-lock-icon lock-dropdown\" [hidden]=\"(!lockDetails && !lockTemplateInfo) || hideLock\">\r\n <i class=\"fal fa-lock lock\"></i> \r\n </div>\r\n <ng-container *ngIf=\"!hideEllipses\">\r\n <div class=\"widget-menu\" style=\"width:10px;\"\r\n [ngClass]=\"{'widget-menu-show': isMouseHover && showSettingsLink}\">\r\n <div class=\"dropbtn title-bar-icon\">\r\n <i (click)=\"showDropDown($event)\" #widgetDropdown class=\"fal fa-ellipsis-v widget-menu-ellipse\"></i>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"hideEllipses\" class=\"widget-action-icons-card\">\r\n <div class=\"widget-menu-trend-report\" style=\"display: flex;\">\r\n <div *ngIf=\"showInlineDownloadIcon\" class=\"title-bar-action-icon\" title=\"{{'Common.downloads' | translate}}\" aria-label=\"{{'Common.downloads' | translate}}\">\r\n <i (click)=\"onTrendReportDownloadClick()\" class=\"fal fa-download\"></i>\r\n </div>\r\n <div class=\"title-bar-action-icon\" *ngIf=\"isWidgetMgmnt && (!data.widgetInfo.templateWidgetSettings || !data.widgetInfo.templateWidgetSettings.hideEdit)\" title=\"{{'Common.edit' | translate}}\" aria-label=\"{{'Common.edit' | translate}}\">\r\n <i (click)=\"editWidget()\" class=\"fal fa-edit\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"hideTitle && !showOnlyDropdown\" class=\"wcheader widget-move\"\r\n style=\"height: 45px;width: 95%;cursor: move;z-index: 99;opacity: 0;\">\r\n </div>\r\n <ng-container *ngIf=\"hideTitle && !showOnlyDropdown && !hideEllipses\">\r\n <div class=\"widget-menu widget-menu-title-hidden\" [ngClass]=\"{'widget-menu-show': isMouseHover && showSettingsLink}\">\r\n <div class=\"dropbtn title-bar-icon\">\r\n <i (click)=\"showDropDown($event)\" class=\"fal fa-ellipsis-v\" style=\"text-align: center;\"></i>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"hideTitle && !showOnlyDropdown && hideEllipses\" class=\"widget-menu-title-hidden widget-action-icons-card\">\r\n <div class=\"widget-menu-trend-report\" style=\"display: flex;\">\r\n <div *ngIf=\"showInlineDownloadIcon\" class=\"title-bar-action-icon\" title=\"{{'Common.downloads' | translate}}\" aria-label=\"{{'Common.downloads' | translate}}\">\r\n <i (click)=\"onTrendReportDownloadClick()\" class=\"fal fa-download\"></i>\r\n </div>\r\n <div class=\"title-bar-action-icon\" *ngIf=\"isWidgetMgmnt && (!data.widgetInfo.templateWidgetSettings || !data.widgetInfo.templateWidgetSettings.hideEdit)\" title=\"{{'Common.edit' | translate}}\" aria-label=\"{{'Common.edit' | translate}}\">\r\n <i (click)=\"editWidget()\" class=\"fal fa-edit\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"wcBody\" [ngStyle]=\"{'bottom': noPadding?'0px':'10px','top':hideTitle || showOnlyDropdown?'10px':'46px'}\">\r\n <div [hidden]=\"isWidgetStateApplicable\" class=\"m-fadeOut widget-overlay\" [ngClass]=\"{'m-fadeIn': showPanel}\">\r\n <div class=\"lds-roller\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>\r\n </div>\r\n <div class=\"wc\" [hidden]=\"isWidgetStateApplicable\">\r\n <div [hidden]=\"!isCustomElement\" #ctlWidget></div>\r\n <div [hidden]=\"isCustomElement\">\r\n <ng-container #ctlWidgetModule></ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"isWidgetStateApplicable\" class=\"defaultConfig\">\r\n <ra-widget-state style=\"width: 100%;height: 100%;\" [isWidgetStateApplicable]=\"isWidgetStateApplicable\"\r\n [isGlobalFilterApplied]=\"isGlobalFilterApplied\" [widgetEmptyState]=\"widgetEmptyState\"\r\n (editWidgetClicked)=editWidget() [widthCol]=\"width\" [heightCol]=\"height\">\r\n </ra-widget-state>\r\n </div>\r\n <div>\r\n </div>\r\n </div>\r\n</div>" }]
4733
+ args: [{ selector: 'ra-widget-container', changeDetection: ChangeDetectionStrategy.Eager, standalone: false, template: "<div #wcWrapper class=\"wc-wrapper\" (mouseenter)=\"mouseHover(true)\" (mouseleave)=\"mouseHover(false)\"\r\n [ngStyle]=\"{'margin-left': noPadding?'0px':'15px','margin-right': noPadding?'0px':'15px'}\">\r\n @if (!hideTitle && !showOnlyDropdown) {\n<div class=\"wcheader widget-move\"\r\n [ngClass]=\"{'underLine': enableTitleLine || isWidgetStateApplicable}\">\r\n <div class=\"col-md-12\" [ngClass]=\"{'wc-mover' : isWidgetCanMove }\" style=\"padding-left: 0px;height:inherit;padding-right: 0px;\">\r\n <div style=\"display:flex;margin-top:10px;\"\r\n [ngStyle]=\"{'margin-left': noPadding?'15px':'0px','margin-right': noPadding?'15px':'0px'}\">\r\n <div class=\"col-9 float-left title-label\">\r\n <ra-tooltip [value]=\"toolTipValue\" [width]=\"toolTipWidth\">\r\n <div [hidden]=\"hideTitle\" style=\"text-overflow: ellipsis;white-space: nowrap;overflow: hidden;\"\r\n (mouseover)=\"mouseOver($event)\" #searchInput>{{WidgetDisplayName}}</div>\r\n </ra-tooltip>\r\n </div>\r\n <div class=\"col-3\" style=\"cursor:default;padding-right: 0px;\"> \r\n <div class=\"float-right\" style=\"display: flex;\">\r\n <div #banPopupDiv (mouseover)=\"openPopup(inapplicableIconTitle,inapplicableFilters,inapplicableIconFooter,'innaplicable')\" (mouseout)=\"closePopup()\" class=\"title-bar-lock-icon lock-dropdown\" [hidden]=\"!inapplicableFilters || inapplicableFilters.length == 0 || !globalFilter || globalFilter == '{}'\">\r\n <i class=\"fal fa-ban lock\"></i> \r\n </div>\r\n <div #lockPopupDiv (mouseover)=\"openPopup(lockIconTitle,lockDetails,lockIconFooter,'lock',lockTemplateInfo)\" (mouseout)=\"closePopup()\" class=\"title-bar-lock-icon lock-dropdown\" [hidden]=\"(!lockDetails && !lockTemplateInfo) || hideLock\">\r\n <i class=\"fal fa-lock lock\"></i> \r\n </div>\r\n @if (!hideEllipses) {\n\r\n <div class=\"widget-menu\" style=\"width:10px;\"\r\n [ngClass]=\"{'widget-menu-show': isMouseHover && showSettingsLink}\">\r\n <div class=\"dropbtn title-bar-icon\">\r\n <i (click)=\"showDropDown($event)\" #widgetDropdown class=\"fal fa-ellipsis-v widget-menu-ellipse\"></i>\r\n </div>\r\n </div>\r\n \n}\r\n @if (hideEllipses) {\n<div class=\"widget-action-icons-card\">\r\n <div class=\"widget-menu-trend-report\" style=\"display: flex;\">\r\n @if (showInlineDownloadIcon) {\n<div class=\"title-bar-action-icon\" title=\"{{'Common.downloads' | translate}}\" aria-label=\"{{'Common.downloads' | translate}}\">\r\n <i (click)=\"onTrendReportDownloadClick()\" class=\"fal fa-download\"></i>\r\n </div>\n}\r\n @if (isWidgetMgmnt && (!data.widgetInfo.templateWidgetSettings || !data.widgetInfo.templateWidgetSettings.hideEdit)) {\n<div class=\"title-bar-action-icon\" title=\"{{'Common.edit' | translate}}\" aria-label=\"{{'Common.edit' | translate}}\">\r\n <i (click)=\"editWidget()\" class=\"fal fa-edit\"></i>\r\n </div>\n}\r\n </div>\r\n </div>\n}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\n}\r\n @if (hideTitle && !showOnlyDropdown) {\n<div class=\"wcheader widget-move\"\r\n style=\"height: 45px;width: 95%;cursor: move;z-index: 99;opacity: 0;\">\r\n </div>\n}\r\n @if (hideTitle && !showOnlyDropdown && !hideEllipses) {\n\r\n <div class=\"widget-menu widget-menu-title-hidden\" [ngClass]=\"{'widget-menu-show': isMouseHover && showSettingsLink}\">\r\n <div class=\"dropbtn title-bar-icon\">\r\n <i (click)=\"showDropDown($event)\" class=\"fal fa-ellipsis-v\" style=\"text-align: center;\"></i>\r\n </div>\r\n </div>\r\n \n}\r\n @if (hideTitle && !showOnlyDropdown && hideEllipses) {\n<div class=\"widget-menu-title-hidden widget-action-icons-card\">\r\n <div class=\"widget-menu-trend-report\" style=\"display: flex;\">\r\n @if (showInlineDownloadIcon) {\n<div class=\"title-bar-action-icon\" title=\"{{'Common.downloads' | translate}}\" aria-label=\"{{'Common.downloads' | translate}}\">\r\n <i (click)=\"onTrendReportDownloadClick()\" class=\"fal fa-download\"></i>\r\n </div>\n}\r\n @if (isWidgetMgmnt && (!data.widgetInfo.templateWidgetSettings || !data.widgetInfo.templateWidgetSettings.hideEdit)) {\n<div class=\"title-bar-action-icon\" title=\"{{'Common.edit' | translate}}\" aria-label=\"{{'Common.edit' | translate}}\">\r\n <i (click)=\"editWidget()\" class=\"fal fa-edit\"></i>\r\n </div>\n}\r\n </div>\r\n </div>\n}\r\n <div class=\"wcBody\" [ngStyle]=\"{'bottom': noPadding?'0px':'10px','top':hideTitle || showOnlyDropdown?'10px':'46px'}\">\r\n <div [hidden]=\"isWidgetStateApplicable\" class=\"m-fadeOut widget-overlay\" [ngClass]=\"{'m-fadeIn': showPanel}\">\r\n <div class=\"lds-roller\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>\r\n </div>\r\n <div class=\"wc\" [hidden]=\"isWidgetStateApplicable\">\r\n <div [hidden]=\"!isCustomElement\" #ctlWidget></div>\r\n <div [hidden]=\"isCustomElement\">\r\n <ng-container #ctlWidgetModule></ng-container>\r\n </div>\r\n </div>\r\n @if (isWidgetStateApplicable) {\n<div class=\"defaultConfig\">\r\n <ra-widget-state style=\"width: 100%;height: 100%;\" [isWidgetStateApplicable]=\"isWidgetStateApplicable\"\r\n [isGlobalFilterApplied]=\"isGlobalFilterApplied\" [widgetEmptyState]=\"widgetEmptyState\"\r\n (editWidgetClicked)=editWidget() [widthCol]=\"width\" [heightCol]=\"height\">\r\n </ra-widget-state>\r\n </div>\n}\r\n <div>\r\n </div>\r\n </div>\r\n</div>" }]
4734
4734
  }], ctorParameters: () => [{ type: RaDashboardService }, { type: i2$1.NgxUiLoaderService }, { type: i3.RATranslateService }, { type: i0.NgZone }, { type: i4.NotifierService }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i3.RAPermissionService }, { type: i3.DomService }], propDecorators: { ctlWidget: [{
4735
4735
  type: ViewChild,
4736
4736
  args: ['ctlWidget', { static: false }]
@@ -5049,49 +5049,59 @@ class RADashboardArea {
5049
5049
  }
5050
5050
  return;
5051
5051
  }
5052
- // Find the table body or grid content that contains the actual data rows
5053
- const tbody = element.querySelector('tbody');
5054
- const table = element.querySelector('table');
5052
+ // Prefer the real data table (ra-grid) so we do not pick unrelated tables when present
5053
+ const dataTable = element.querySelector('table.ra-grid')
5054
+ ?? element.querySelector('table');
5055
+ const tbody = dataTable?.querySelector('tbody')
5056
+ ?? element.querySelector('tbody');
5057
+ const table = dataTable;
5055
5058
  const wcBody = element.querySelector('.wcBody');
5056
5059
  const wc = element.querySelector('.wc');
5057
5060
  const kendoGridContent = element.querySelector('.k-grid-content');
5058
5061
  const kendoGridTable = element.querySelector('.k-grid-table');
5062
+ const addVisibleFilterHeights = (base) => {
5063
+ let h = base;
5064
+ element.querySelectorAll('.ra-widget-filter').forEach((node) => {
5065
+ const fe = node;
5066
+ if (fe.offsetHeight > 0) {
5067
+ h += fe.offsetHeight;
5068
+ }
5069
+ });
5070
+ return h;
5071
+ };
5059
5072
  // Measure the actual content height - try multiple strategies to get accurate measurement
5060
5073
  let contentHeight = 0;
5061
5074
  let measuredElement = null;
5062
- // Strategy 1: Measure table body (most accurate for row count)
5063
- if (tbody) {
5075
+ // Strategy 1: HTML table / ra-grid — use full table box (thead + tbody), not tbody only (avoids clipping header row)
5076
+ if (table && table.offsetHeight > 0) {
5077
+ measuredElement = table;
5078
+ contentHeight = addVisibleFilterHeights(table.offsetHeight);
5079
+ }
5080
+ // Strategy 2: tbody only (fallback if table not measurable)
5081
+ else if (tbody) {
5064
5082
  measuredElement = tbody;
5065
- // Count actual rows and calculate height
5066
5083
  const rows = tbody.querySelectorAll('tr');
5067
5084
  if (rows.length > 0) {
5068
- // Get height of first row to estimate
5069
- const firstRow = rows[0];
5070
- const rowHeight = firstRow.offsetHeight || 30; // Default row height if not available
5071
- // Calculate total height based on row count
5072
- const estimatedHeight = rows.length * rowHeight;
5073
- // Use scrollHeight if available, otherwise use estimated
5074
- contentHeight = Math.max(tbody.scrollHeight, estimatedHeight);
5085
+ let totalRowHeight = 0;
5086
+ rows.forEach((row) => {
5087
+ totalRowHeight += row.offsetHeight || 30;
5088
+ });
5089
+ contentHeight = addVisibleFilterHeights(totalRowHeight);
5075
5090
  }
5076
5091
  else {
5077
- contentHeight = tbody.scrollHeight;
5092
+ contentHeight = addVisibleFilterHeights(tbody.scrollHeight);
5078
5093
  }
5079
5094
  }
5080
- // Strategy 2: Measure Kendo grid content
5095
+ // Strategy 3: Measure Kendo grid content
5081
5096
  else if (kendoGridContent) {
5082
5097
  measuredElement = kendoGridContent;
5083
- contentHeight = kendoGridContent.scrollHeight;
5098
+ contentHeight = addVisibleFilterHeights(kendoGridContent.scrollHeight);
5084
5099
  // Also check the table inside
5085
5100
  if (kendoGridTable) {
5086
5101
  const tableHeight = kendoGridTable.scrollHeight;
5087
- contentHeight = Math.max(contentHeight, tableHeight);
5102
+ contentHeight = Math.max(contentHeight, addVisibleFilterHeights(tableHeight));
5088
5103
  }
5089
5104
  }
5090
- // Strategy 3: Measure table
5091
- else if (table) {
5092
- measuredElement = table;
5093
- contentHeight = table.scrollHeight;
5094
- }
5095
5105
  // Strategy 4: Measure widget content
5096
5106
  else if (wc) {
5097
5107
  measuredElement = wc;
@@ -5118,16 +5128,22 @@ class RADashboardArea {
5118
5128
  // Try offsetHeight
5119
5129
  contentHeight = Math.max(contentHeight, offsetH);
5120
5130
  }
5121
- // For tables, also try measuring all rows directly
5122
- if (tbody || table) {
5123
- const allRows = (tbody || table)?.querySelectorAll('tr') || [];
5124
- if (allRows.length > 0) {
5125
- let totalRowHeight = 0;
5126
- allRows.forEach((row) => {
5127
- totalRowHeight += row.offsetHeight || 30;
5128
- });
5129
- // Use the maximum of scrollHeight and calculated row heights
5130
- contentHeight = Math.max(contentHeight, totalRowHeight);
5131
+ // Sum of tr heights often exceeds table.offsetHeight for many rows (borders/spacing), which grows extra whitespace.
5132
+ // When the table already laid out with a real box height, trust that measurement only.
5133
+ const tableBoxHeightTrusted = !!(table && table.offsetHeight > 0);
5134
+ if (!tableBoxHeightTrusted) {
5135
+ const rowHost = table || tbody;
5136
+ if (rowHost) {
5137
+ const hostEl = rowHost;
5138
+ const allRows = hostEl.querySelectorAll('tr');
5139
+ if (allRows.length > 0) {
5140
+ let totalRowHeight = 0;
5141
+ allRows.forEach((row) => {
5142
+ totalRowHeight += row.offsetHeight || 30;
5143
+ });
5144
+ const withFilters = addVisibleFilterHeights(totalRowHeight);
5145
+ contentHeight = Math.max(contentHeight, withFilters);
5146
+ }
5131
5147
  }
5132
5148
  }
5133
5149
  }
@@ -5135,8 +5151,8 @@ class RADashboardArea {
5135
5151
  const header = element.querySelector('.wcheader');
5136
5152
  const headerHeight = header ? header.offsetHeight : 46;
5137
5153
  // Calculate total height needed (content + header + padding)
5138
- // Add sufficient padding to ensure no scrolling
5139
- const padding = 40; // Padding for margins and spacing
5154
+ // Slightly less vertical slack for tall tables (grid ceil already adds a partial row).
5155
+ const padding = contentHeight > 380 ? 28 : 36;
5140
5156
  const totalHeight = contentHeight + headerHeight + padding;
5141
5157
  // Check if content is loaded (reasonable height)
5142
5158
  // For expanded view, we expect significant content
@@ -5146,13 +5162,12 @@ class RADashboardArea {
5146
5162
  this.measureAndUpdateWidgetDimensions(gridsterItem, attempt + 1, maxAttempts);
5147
5163
  return;
5148
5164
  }
5149
- // Calculate rows needed based on grid cell height
5150
- // Use Math.ceil to ensure we have enough space (round up)
5151
- const calculatedRows = Math.ceil(totalHeight / this.gridcellHeight);
5152
- // Add a small buffer (0.5 rows) to ensure no scrolling, then round up
5153
- // This accounts for any rounding errors or minor spacing issues
5154
- const bufferedRows = calculatedRows + 0.5;
5155
- const newRows = Math.max(Math.ceil(bufferedRows), 4);
5165
+ // Calculate rows needed based on grid cell height.
5166
+ // Blend pixel + fractional cell buffer; keep a bit more for short content to avoid last-row clipping.
5167
+ const bufferPx = contentHeight > 380
5168
+ ? Math.max(12, this.gridcellHeight * 0.35)
5169
+ : Math.max(16, this.gridcellHeight * 0.5);
5170
+ const newRows = Math.max(Math.ceil((totalHeight + bufferPx) / this.gridcellHeight), 2);
5156
5171
  // For expanded view, use full available width (no spacing needed since widgets stack vertically)
5157
5172
  const maxCols = this.responsiveService.maxColsDesktop || 12;
5158
5173
  const newCols = maxCols; // Full width
@@ -5193,8 +5208,12 @@ class RADashboardArea {
5193
5208
  }
5194
5209
  if (el) {
5195
5210
  const wcBody = el.querySelector('.wcBody');
5211
+ const tableContainer = el.querySelector('.table-container');
5212
+ const verifyTable = el.querySelector('table.ra-grid')
5213
+ ?? el.querySelector('table');
5196
5214
  const tbody = el.querySelector('tbody');
5197
- const contentEl = tbody || wcBody || el;
5215
+ // ra-grid scrolls inside .table-container; measuring tbody alone can miss real overflow
5216
+ const contentEl = tableContainer || verifyTable || tbody || wcBody || el;
5198
5217
  // Check if there's scrolling (scrollHeight > clientHeight)
5199
5218
  if (contentEl && contentEl.scrollHeight > contentEl.clientHeight + 10) {
5200
5219
  // Still has scrolling, need more height
@@ -5212,6 +5231,23 @@ class RADashboardArea {
5212
5231
  setTimeout(() => this.setAreaHeight(), 100);
5213
5232
  }
5214
5233
  }
5234
+ else if (contentEl) {
5235
+ // If there is clear spare space, shrink one row to avoid oversized blank area.
5236
+ // Keep this conservative to prevent oscillation/flapping.
5237
+ const spareHeight = contentEl.clientHeight - contentEl.scrollHeight;
5238
+ const canShrink = spareHeight > (this.gridcellHeight * 0.8) && gridsterItem.rows > 2;
5239
+ if (canShrink) {
5240
+ gridsterItem.rows = gridsterItem.rows - 1;
5241
+ if (gridsterItem.widgetInfo) {
5242
+ gridsterItem.widgetInfo.height = gridsterItem.rows;
5243
+ }
5244
+ this.widgetList = [...this.widgetList];
5245
+ if (this.options && this.options.api) {
5246
+ this.options.api?.optionsChanged();
5247
+ }
5248
+ setTimeout(() => this.setAreaHeight(), 100);
5249
+ }
5250
+ }
5215
5251
  }
5216
5252
  // Continue with normal retry logic
5217
5253
  this.measureAndUpdateWidgetDimensions(gridsterItem, attempt + 1, maxAttempts);
@@ -5743,12 +5779,12 @@ class RADashboardArea {
5743
5779
  this.raDashboardEventBus.publish(RAEvent.ShowInapplicableFilterMessage, false);
5744
5780
  }
5745
5781
  }
5746
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", 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 }); }
5747
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.1", type: RADashboardArea, isStandalone: false, selector: "ra-dashboard-area", inputs: { userDashboardId: ["user-dashboard-id", "userDashboardId"], areaKey: ["area-key", "areaKey"], downloadDatastreamLimit: ["download-datastream-limit", "downloadDatastreamLimit"], reportDatastreamLimit: ["report-datastream-limit", "reportDatastreamLimit"], 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", bulkActionData: ["bulk_Action_Data", "bulkActionData"], widgetCount: ["widget-count", "widgetCount"] }, outputs: { hideDashboardBanner: "hideDashboardBanner" }, host: { listeners: { "document:scroll": "scroll()" } }, viewQueries: [{ propertyName: "gridWrapper", first: true, predicate: ["gridWrapper"], descendants: true }, { propertyName: "gridItem", first: true, predicate: ["gridItem"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #gridWrapper class=\"wrap gridster gridster-mobile\" [ngClass]=\"{'no-hover': isSiteDetailDashboard}\"\r\n [ngStyle]=\"{'height': (userWidgets.length > 0 && !showDownloadOnlyState) && !hasGrid ? ( gridheight + 'px') : 'unset'}\">\r\n <!-- <div #gridWrapper class=\"wrap gridster\"> -->\r\n <gridster [style.min-height]=\"gridsterHeight + '!important'\" [options]=\"options\" style=\"height:100%;\" *ngIf=\"userWidgets.length > 0 && !showDownloadOnlyState\">\r\n <gridster-item #gridItem [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 <div class=\"empty-padding kiosk-hide\" *ngIf=\"showDownloadOnlyState\">\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>{{DownloadOnlyStateTitle}}</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 {{DownloadOnlyStateMsg1}} <br />\r\n {{DownloadOnlyStateMsg2}}\r\n </div>\r\n <button *ngIf=\"isWidgetMgmnt\" class=\"btn btnLib btn-sm dashboard-button light\" (click)=\"buttonActionClick(DownloadOnlyStateButtonAction1)\">\r\n <i class=\"{{DownloadOnlyStateButtonIcon1}}\"></i>{{DownloadOnlyStateButtonText1}}</button>\r\n <button class=\"btn btnLib btn-sm dashboard-button light button-margin\" (click)=\"buttonActionClick(DownloadOnlyStateButtonAction2)\">\r\n <i class=\"{{DownloadOnlyStateButtonIcon2}}\"></i>{{DownloadOnlyStateButtonText2}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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}.button-margin{margin-left:10px}@media screen and (max-width: 685px){.gridster-mobile{height:auto!important;margin-bottom:50px!important}.gridster-mobile.no-hover{margin-bottom:0!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}}.gridster-h{min-height:50vh!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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"] }] }); }
5782
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", 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 }); }
5783
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: RADashboardArea, isStandalone: false, selector: "ra-dashboard-area", inputs: { userDashboardId: ["user-dashboard-id", "userDashboardId"], areaKey: ["area-key", "areaKey"], downloadDatastreamLimit: ["download-datastream-limit", "downloadDatastreamLimit"], reportDatastreamLimit: ["report-datastream-limit", "reportDatastreamLimit"], 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", bulkActionData: ["bulk_Action_Data", "bulkActionData"], widgetCount: ["widget-count", "widgetCount"] }, outputs: { hideDashboardBanner: "hideDashboardBanner" }, host: { listeners: { "document:scroll": "scroll()" } }, viewQueries: [{ propertyName: "gridWrapper", first: true, predicate: ["gridWrapper"], descendants: true }, { propertyName: "gridItem", first: true, predicate: ["gridItem"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #gridWrapper class=\"wrap gridster gridster-mobile\" [ngClass]=\"{'no-hover': isSiteDetailDashboard}\"\r\n [ngStyle]=\"{'height': (userWidgets.length > 0 && !showDownloadOnlyState) && !hasGrid ? ( gridheight + 'px') : 'unset'}\">\r\n <!-- <div #gridWrapper class=\"wrap gridster\"> -->\r\n @if (userWidgets.length > 0 && !showDownloadOnlyState) {\n<gridster [style.min-height]=\"gridsterHeight + '!important'\" [options]=\"options\" style=\"height:100%;\">\r\n @for (item of widgetList; track item) {\n<gridster-item #gridItem [item]=\"item\">\r\n @if (gridcellHeight && gridcellHeight > 0) {\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\"\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>\n}\r\n </gridster-item>\n}\r\n </gridster>\n}\r\n\r\n @if (showEmptyDashboard) {\n<div class=\"empty-padding kiosk-hide\">\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 @if (isWidgetMgmnt) {\n<button class=\"btn btnLib btn-sm dashboard-button light\" (click)=\"buttonClick()\">\r\n <i class=\"{{emptyDashboardButtonIcon}}\"></i>{{emptyDashboardButtonText}}</button>\n}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\n}\r\n @if (showDownloadOnlyState) {\n<div class=\"empty-padding kiosk-hide\">\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>{{DownloadOnlyStateTitle}}</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 {{DownloadOnlyStateMsg1}} <br />\r\n {{DownloadOnlyStateMsg2}}\r\n </div>\r\n @if (isWidgetMgmnt) {\n<button class=\"btn btnLib btn-sm dashboard-button light\" (click)=\"buttonActionClick(DownloadOnlyStateButtonAction1)\">\r\n <i class=\"{{DownloadOnlyStateButtonIcon1}}\"></i>{{DownloadOnlyStateButtonText1}}</button>\n}\r\n <button class=\"btn btnLib btn-sm dashboard-button light button-margin\" (click)=\"buttonActionClick(DownloadOnlyStateButtonAction2)\">\r\n <i class=\"{{DownloadOnlyStateButtonIcon2}}\"></i>{{DownloadOnlyStateButtonText2}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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}.button-margin{margin-left:10px}@media screen and (max-width:685px){.gridster-mobile{height:auto!important;margin-bottom:50px!important}.gridster-mobile.no-hover{margin-bottom:0!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}}.gridster-h{min-height:50vh!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
5748
5784
  }
5749
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: RADashboardArea, decorators: [{
5785
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: RADashboardArea, decorators: [{
5750
5786
  type: Component,
5751
- args: [{ selector: 'ra-dashboard-area', standalone: false, template: "<div #gridWrapper class=\"wrap gridster gridster-mobile\" [ngClass]=\"{'no-hover': isSiteDetailDashboard}\"\r\n [ngStyle]=\"{'height': (userWidgets.length > 0 && !showDownloadOnlyState) && !hasGrid ? ( gridheight + 'px') : 'unset'}\">\r\n <!-- <div #gridWrapper class=\"wrap gridster\"> -->\r\n <gridster [style.min-height]=\"gridsterHeight + '!important'\" [options]=\"options\" style=\"height:100%;\" *ngIf=\"userWidgets.length > 0 && !showDownloadOnlyState\">\r\n <gridster-item #gridItem [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 <div class=\"empty-padding kiosk-hide\" *ngIf=\"showDownloadOnlyState\">\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>{{DownloadOnlyStateTitle}}</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 {{DownloadOnlyStateMsg1}} <br />\r\n {{DownloadOnlyStateMsg2}}\r\n </div>\r\n <button *ngIf=\"isWidgetMgmnt\" class=\"btn btnLib btn-sm dashboard-button light\" (click)=\"buttonActionClick(DownloadOnlyStateButtonAction1)\">\r\n <i class=\"{{DownloadOnlyStateButtonIcon1}}\"></i>{{DownloadOnlyStateButtonText1}}</button>\r\n <button class=\"btn btnLib btn-sm dashboard-button light button-margin\" (click)=\"buttonActionClick(DownloadOnlyStateButtonAction2)\">\r\n <i class=\"{{DownloadOnlyStateButtonIcon2}}\"></i>{{DownloadOnlyStateButtonText2}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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}.button-margin{margin-left:10px}@media screen and (max-width: 685px){.gridster-mobile{height:auto!important;margin-bottom:50px!important}.gridster-mobile.no-hover{margin-bottom:0!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}}.gridster-h{min-height:50vh!important}\n"] }]
5787
+ args: [{ selector: 'ra-dashboard-area', changeDetection: ChangeDetectionStrategy.Eager, standalone: false, template: "<div #gridWrapper class=\"wrap gridster gridster-mobile\" [ngClass]=\"{'no-hover': isSiteDetailDashboard}\"\r\n [ngStyle]=\"{'height': (userWidgets.length > 0 && !showDownloadOnlyState) && !hasGrid ? ( gridheight + 'px') : 'unset'}\">\r\n <!-- <div #gridWrapper class=\"wrap gridster\"> -->\r\n @if (userWidgets.length > 0 && !showDownloadOnlyState) {\n<gridster [style.min-height]=\"gridsterHeight + '!important'\" [options]=\"options\" style=\"height:100%;\">\r\n @for (item of widgetList; track item) {\n<gridster-item #gridItem [item]=\"item\">\r\n @if (gridcellHeight && gridcellHeight > 0) {\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\"\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>\n}\r\n </gridster-item>\n}\r\n </gridster>\n}\r\n\r\n @if (showEmptyDashboard) {\n<div class=\"empty-padding kiosk-hide\">\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 @if (isWidgetMgmnt) {\n<button class=\"btn btnLib btn-sm dashboard-button light\" (click)=\"buttonClick()\">\r\n <i class=\"{{emptyDashboardButtonIcon}}\"></i>{{emptyDashboardButtonText}}</button>\n}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\n}\r\n @if (showDownloadOnlyState) {\n<div class=\"empty-padding kiosk-hide\">\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>{{DownloadOnlyStateTitle}}</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 {{DownloadOnlyStateMsg1}} <br />\r\n {{DownloadOnlyStateMsg2}}\r\n </div>\r\n @if (isWidgetMgmnt) {\n<button class=\"btn btnLib btn-sm dashboard-button light\" (click)=\"buttonActionClick(DownloadOnlyStateButtonAction1)\">\r\n <i class=\"{{DownloadOnlyStateButtonIcon1}}\"></i>{{DownloadOnlyStateButtonText1}}</button>\n}\r\n <button class=\"btn btnLib btn-sm dashboard-button light button-margin\" (click)=\"buttonActionClick(DownloadOnlyStateButtonAction2)\">\r\n <i class=\"{{DownloadOnlyStateButtonIcon2}}\"></i>{{DownloadOnlyStateButtonText2}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\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}.button-margin{margin-left:10px}@media screen and (max-width:685px){.gridster-mobile{height:auto!important;margin-bottom:50px!important}.gridster-mobile.no-hover{margin-bottom:0!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}}.gridster-h{min-height:50vh!important}\n"] }]
5752
5788
  }], 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: [{
5753
5789
  type: Input,
5754
5790
  args: ['user-dashboard-id']
@@ -5845,11 +5881,11 @@ const customNotifierOptions = {
5845
5881
  };
5846
5882
 
5847
5883
  class GridsterModule {
5848
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: GridsterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5849
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.1", ngImport: i0, type: GridsterModule, imports: [GridsterComponent, GridsterItemComponent], exports: [GridsterComponent, GridsterItemComponent] }); }
5850
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: GridsterModule }); }
5884
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: GridsterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5885
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: GridsterModule, imports: [GridsterComponent, GridsterItemComponent], exports: [GridsterComponent, GridsterItemComponent] }); }
5886
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: GridsterModule }); }
5851
5887
  }
5852
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: GridsterModule, decorators: [{
5888
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: GridsterModule, decorators: [{
5853
5889
  type: NgModule,
5854
5890
  args: [{
5855
5891
  imports: [GridsterComponent, GridsterItemComponent],
@@ -5858,15 +5894,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
5858
5894
  }] });
5859
5895
 
5860
5896
  class DashboardFrameworkModule {
5861
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: DashboardFrameworkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5862
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.1", ngImport: i0, type: DashboardFrameworkModule, bootstrap: [RADashboardArea], declarations: [RADashboardArea,
5897
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DashboardFrameworkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5898
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: DashboardFrameworkModule, bootstrap: [RADashboardArea], declarations: [RADashboardArea,
5863
5899
  RAWidgetContainer,
5864
5900
  LockTooltip], imports: [CommonModule,
5865
5901
  GridsterModule,
5866
5902
  HttpClientModule,
5867
5903
  NgxUiLoaderModule, i4.NotifierModule, RACommonModule,
5868
5904
  RACommonControlsModule], exports: [RADashboardArea] }); }
5869
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: DashboardFrameworkModule, imports: [CommonModule,
5905
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DashboardFrameworkModule, imports: [CommonModule,
5870
5906
  GridsterModule,
5871
5907
  HttpClientModule,
5872
5908
  NgxUiLoaderModule,
@@ -5874,7 +5910,7 @@ class DashboardFrameworkModule {
5874
5910
  RACommonModule,
5875
5911
  RACommonControlsModule] }); }
5876
5912
  }
5877
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: DashboardFrameworkModule, decorators: [{
5913
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DashboardFrameworkModule, decorators: [{
5878
5914
  type: NgModule,
5879
5915
  args: [{
5880
5916
  declarations: [
@@ -5930,10 +5966,10 @@ class RADashboardEventBus {
5930
5966
  return event.eventName == eventName && event.key == key && event.value == value;
5931
5967
  }), map(event => event.data));
5932
5968
  }
5933
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: RADashboardEventBus, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5934
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: RADashboardEventBus, providedIn: 'root' }); }
5969
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: RADashboardEventBus, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5970
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: RADashboardEventBus, providedIn: 'root' }); }
5935
5971
  }
5936
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: RADashboardEventBus, decorators: [{
5972
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: RADashboardEventBus, decorators: [{
5937
5973
  type: Injectable,
5938
5974
  args: [{
5939
5975
  providedIn: 'root'
@@ -5959,10 +5995,10 @@ class RaBaseDashboardTemplate {
5959
5995
  var myEvent = new CustomEvent("event-template-initiated");
5960
5996
  document.body.dispatchEvent(myEvent);
5961
5997
  }
5962
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: RaBaseDashboardTemplate, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
5963
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.1", type: RaBaseDashboardTemplate, isStandalone: true, inputs: { dashboardId: ["dashboard-id", "dashboardId"], globalFilter: ["global-filter", "globalFilter"], downloadDatastreamLimit: ["download-datastream-limit", "downloadDatastreamLimit"], reportDatastreamLimit: ["report-datastream-limit", "reportDatastreamLimit"], bulkActionData: ["bulk_Action_Data", "bulkActionData"], initialize: "initialize" }, ngImport: i0 }); }
5998
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: RaBaseDashboardTemplate, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
5999
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: RaBaseDashboardTemplate, isStandalone: true, inputs: { dashboardId: ["dashboard-id", "dashboardId"], globalFilter: ["global-filter", "globalFilter"], downloadDatastreamLimit: ["download-datastream-limit", "downloadDatastreamLimit"], reportDatastreamLimit: ["report-datastream-limit", "reportDatastreamLimit"], bulkActionData: ["bulk_Action_Data", "bulkActionData"], initialize: "initialize" }, ngImport: i0 }); }
5964
6000
  }
5965
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: RaBaseDashboardTemplate, decorators: [{
6001
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: RaBaseDashboardTemplate, decorators: [{
5966
6002
  type: Directive
5967
6003
  }], ctorParameters: () => [{ type: i0.NgZone }], propDecorators: { dashboardId: [{
5968
6004
  type: Input,
@@ -6008,10 +6044,10 @@ class RaBaseDashboardFilter {
6008
6044
  var myEvent = new CustomEvent("global-filter-initiated");
6009
6045
  document.body.dispatchEvent(myEvent);
6010
6046
  }
6011
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: RaBaseDashboardFilter, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6012
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.1", type: RaBaseDashboardFilter, isStandalone: true, inputs: { getAllFilterConfig: "getAllFilterConfig", setInapplicableFilterMsg: "setInapplicableFilterMsg", isValidEntry: "isValidEntry", clearAllData: "clearAllData", setAllFilterConfig: "setAllFilterConfig", showOnlyDateRangeControl: "showOnlyDateRangeControl" }, ngImport: i0 }); }
6047
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: RaBaseDashboardFilter, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6048
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: RaBaseDashboardFilter, isStandalone: true, inputs: { getAllFilterConfig: "getAllFilterConfig", setInapplicableFilterMsg: "setInapplicableFilterMsg", isValidEntry: "isValidEntry", clearAllData: "clearAllData", setAllFilterConfig: "setAllFilterConfig", showOnlyDateRangeControl: "showOnlyDateRangeControl" }, ngImport: i0 }); }
6013
6049
  }
6014
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: RaBaseDashboardFilter, decorators: [{
6050
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: RaBaseDashboardFilter, decorators: [{
6015
6051
  type: Directive
6016
6052
  }], propDecorators: { getAllFilterConfig: [{
6017
6053
  type: Input