@schneideress/dashboardframework 17.0.4 → 17.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/gridster/lib/gridster.component.mjs +3 -3
- package/esm2022/gridster/lib/gridster.module.mjs +4 -4
- package/esm2022/gridster/lib/gridsterItem.component.mjs +7 -4
- package/esm2022/gridster/lib/gridsterPreview.component.mjs +3 -3
- package/esm2022/gridster/lib/gridsterRenderer.service.mjs +1 -1
- package/esm2022/lib/ra-dashboard-area/ra.dashboard.area.mjs +164 -63
- package/esm2022/lib/ra-widget-container/lock-tooltip/lock.tooltip.component.mjs +3 -3
- package/esm2022/lib/ra-widget-container/ra.widget.container.component.mjs +275 -120
- package/esm2022/lib/ra.base.dashboard.filter.mjs +3 -3
- package/esm2022/lib/ra.base.dashboard.template.mjs +7 -5
- package/esm2022/lib/ra.dashbard.event.bus.mjs +3 -3
- package/esm2022/lib/ra.dashboard.module.mjs +4 -4
- package/esm2022/lib/ra.dashboard.responsive.service.mjs +15 -5
- package/esm2022/lib/ra.dashboard.service.mjs +10 -4
- package/esm2022/lib/ra.event.enum.mjs +7 -1
- package/esm2022/lib/ra.gridster.config.mjs +3 -3
- package/fesm2022/schneideress-dashboardframework.mjs +503 -220
- package/fesm2022/schneideress-dashboardframework.mjs.map +1 -1
- package/lib/ra-dashboard-area/ra.dashboard.area.d.ts +25 -3
- package/lib/ra-widget-container/ra.widget.container.component.d.ts +10 -3
- package/lib/ra.base.dashboard.template.d.ts +4 -2
- package/lib/ra.dashboard.responsive.service.d.ts +1 -1
- package/lib/ra.event.enum.d.ts +7 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, Component, ViewEncapsulation, Input, EventEmitter, ElementRef, Renderer2, ChangeDetectorRef, NgZone, Inject, Output, HostBinding, ViewChild, NgModule, Directive } from '@angular/core';
|
|
2
|
+
import { Injectable, Component, ViewEncapsulation, Input, EventEmitter, ElementRef, Renderer2, ChangeDetectorRef, NgZone, Inject, Output, HostBinding, ViewContainerRef, ViewChild, 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';
|
|
@@ -10,6 +10,7 @@ import { NotifierModule } from 'angular-notifier';
|
|
|
10
10
|
import * as i2 from '@angular/common';
|
|
11
11
|
import { NgForOf, NgStyle, NgIf } from '@angular/common';
|
|
12
12
|
import { RaWidgetlockStatus, WidgetViewState, RADownloadType, RADownloadOption } from '@schneideress/widgetframework';
|
|
13
|
+
import { loadRemoteModule } from '@angular-architects/module-federation';
|
|
13
14
|
import * as i6 from '@schneideress/common-controls';
|
|
14
15
|
import { RACommonControlsModule } from '@schneideress/common-controls';
|
|
15
16
|
import { BrowserModule } from '@angular/platform-browser';
|
|
@@ -72,6 +73,12 @@ class RaDashboardService extends BaseService {
|
|
|
72
73
|
/**To Update widgetInfo in database */
|
|
73
74
|
updateWidget(widgetInfo, appConfig) {
|
|
74
75
|
this.baseUrl = appConfig.apiBaseUrl;
|
|
76
|
+
let info = {};
|
|
77
|
+
info.widgetConfigInfo = widgetInfo.widgetConfigInfo;
|
|
78
|
+
info.widgetInstanceId = widgetInfo.widgetInstanceId;
|
|
79
|
+
info.widgetTitle = widgetInfo.widgetTitle;
|
|
80
|
+
info.widgetType = widgetInfo.widgetType;
|
|
81
|
+
info.widgetId = widgetInfo.widgetId;
|
|
75
82
|
return this.post('widget/UpdateUserWidget', widgetInfo);
|
|
76
83
|
}
|
|
77
84
|
/** To Move or change position if current widget container*/
|
|
@@ -80,10 +87,10 @@ class RaDashboardService extends BaseService {
|
|
|
80
87
|
/** To Copy Current widget with same configuration*/
|
|
81
88
|
copyWidget(widgetInfo) {
|
|
82
89
|
}
|
|
83
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
84
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
90
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RaDashboardService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
91
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RaDashboardService, providedIn: 'root' }); }
|
|
85
92
|
}
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RaDashboardService, decorators: [{
|
|
87
94
|
type: Injectable,
|
|
88
95
|
args: [{
|
|
89
96
|
providedIn: 'root'
|
|
@@ -143,6 +150,12 @@ var RAEvent;
|
|
|
143
150
|
RAEvent["UpdateAppledFiterForInapplicableFilter"] = "UpdateAppledFiterForInapplicableFilter";
|
|
144
151
|
/**show inapplicable filter message in global filter flyout */
|
|
145
152
|
RAEvent["ShowInapplicableFilterMessage"] = "ShowInapplicableFilterMessage";
|
|
153
|
+
/** Bulk Action Clicked */
|
|
154
|
+
RAEvent["BulkActionClick"] = "BulkActionClick";
|
|
155
|
+
/** Global Filter Clicked */
|
|
156
|
+
/** When user change the curated filter(eg:data streams), system will create/delete widgets */
|
|
157
|
+
RAEvent["CuratedFilterChange"] = "CuratedFilterChange";
|
|
158
|
+
RAEvent["GlobalFilterClick"] = "GlobalFilterClick";
|
|
146
159
|
})(RAEvent || (RAEvent = {}));
|
|
147
160
|
var RAEventKey;
|
|
148
161
|
(function (RAEventKey) {
|
|
@@ -156,9 +169,9 @@ const GridsterConfigDefaultSettings = {
|
|
|
156
169
|
margin: 10,
|
|
157
170
|
outerMargin: true,
|
|
158
171
|
outerMarginTop: 10,
|
|
159
|
-
outerMarginRight:
|
|
172
|
+
outerMarginRight: 0,
|
|
160
173
|
outerMarginBottom: 30,
|
|
161
|
-
outerMarginLeft:
|
|
174
|
+
outerMarginLeft: 0,
|
|
162
175
|
useTransformPositioning: true,
|
|
163
176
|
mobileBreakpoint: 640,
|
|
164
177
|
minCols: 10,
|
|
@@ -263,7 +276,7 @@ class RADashboardResponsiveService {
|
|
|
263
276
|
check = true;
|
|
264
277
|
return check;
|
|
265
278
|
}
|
|
266
|
-
getGridsterConfig(isWidgetMgmnt) {
|
|
279
|
+
getGridsterConfig(isWidgetMgmnt, resize, canMove) {
|
|
267
280
|
let config = GridsterConfigDefaultSettings;
|
|
268
281
|
config.minCols = this.currentResInfo.maxCols;
|
|
269
282
|
config.maxCols = this.currentResInfo.maxCols;
|
|
@@ -285,6 +298,13 @@ class RADashboardResponsiveService {
|
|
|
285
298
|
config.swap = true;
|
|
286
299
|
config.draggable.enabled = true;
|
|
287
300
|
}
|
|
301
|
+
if (!resize) {
|
|
302
|
+
config.resizable.enabled = false;
|
|
303
|
+
config.swap = false;
|
|
304
|
+
}
|
|
305
|
+
if (!canMove) {
|
|
306
|
+
config.draggable.enabled = false;
|
|
307
|
+
}
|
|
288
308
|
return config;
|
|
289
309
|
}
|
|
290
310
|
/**To map IwidgetInfo object to gridsterItem */
|
|
@@ -292,6 +312,9 @@ class RADashboardResponsiveService {
|
|
|
292
312
|
if (widget.widgetSettings) {
|
|
293
313
|
widget.settings = JSON.parse(widget.widgetSettings);
|
|
294
314
|
}
|
|
315
|
+
if (widget.templateSettings) {
|
|
316
|
+
widget.templateWidgetSettings = JSON.parse(widget.templateSettings);
|
|
317
|
+
}
|
|
295
318
|
let gridsterItem = {
|
|
296
319
|
cols: this.getWidth(widget.width),
|
|
297
320
|
rows: this.getHeight(widget.height),
|
|
@@ -333,10 +356,10 @@ class RADashboardResponsiveService {
|
|
|
333
356
|
}
|
|
334
357
|
return height;
|
|
335
358
|
}
|
|
336
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
337
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
359
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RADashboardResponsiveService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
360
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RADashboardResponsiveService, providedIn: "root" }); }
|
|
338
361
|
}
|
|
339
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
362
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RADashboardResponsiveService, decorators: [{
|
|
340
363
|
type: Injectable,
|
|
341
364
|
args: [{ providedIn: "root" }]
|
|
342
365
|
}], ctorParameters: () => [] });
|
|
@@ -988,10 +1011,10 @@ class GridsterPreviewComponent {
|
|
|
988
1011
|
this.renderer.setStyle(this.el, 'display', '');
|
|
989
1012
|
}
|
|
990
1013
|
}
|
|
991
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
992
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
1014
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: GridsterPreviewComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1015
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", 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 }); }
|
|
993
1016
|
}
|
|
994
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
1017
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: GridsterPreviewComponent, decorators: [{
|
|
995
1018
|
type: Component,
|
|
996
1019
|
args: [{ selector: 'gridster-preview', template: '', encapsulation: ViewEncapsulation.None, standalone: true, styles: ["gridster-preview{position:absolute;display:none;background:#00000026}\n"] }]
|
|
997
1020
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { previewStyle$: [{
|
|
@@ -1867,10 +1890,10 @@ class GridsterComponent {
|
|
|
1867
1890
|
}
|
|
1868
1891
|
return 0;
|
|
1869
1892
|
}
|
|
1870
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
1871
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
1893
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: GridsterComponent, deps: [{ token: ElementRef }, { token: Renderer2 }, { token: ChangeDetectorRef }, { token: NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1894
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", 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 }); }
|
|
1872
1895
|
}
|
|
1873
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
1896
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: GridsterComponent, decorators: [{
|
|
1874
1897
|
type: Component,
|
|
1875
1898
|
args: [{ selector: 'gridster', encapsulation: ViewEncapsulation.None, standalone: true, 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"] }]
|
|
1876
1899
|
}], ctorParameters: () => [{ type: i0.ElementRef, decorators: [{
|
|
@@ -3581,6 +3604,7 @@ class GridsterItemComponent {
|
|
|
3581
3604
|
}
|
|
3582
3605
|
ngOnDestroy() {
|
|
3583
3606
|
this.gridster.removeItem(this);
|
|
3607
|
+
this.gridster.movingItem = null;
|
|
3584
3608
|
this.drag.destroy();
|
|
3585
3609
|
this.resize.destroy();
|
|
3586
3610
|
this.gridster = this.drag = this.resize = null;
|
|
@@ -3605,6 +3629,7 @@ class GridsterItemComponent {
|
|
|
3605
3629
|
this.item.initCallback(this.item, this);
|
|
3606
3630
|
}
|
|
3607
3631
|
if (this.gridster.options.itemInitCallback) {
|
|
3632
|
+
this.item.curRowHeight = this.gridster.curRowHeight;
|
|
3608
3633
|
this.gridster.options.itemInitCallback(this.item, this);
|
|
3609
3634
|
}
|
|
3610
3635
|
this.itemInit.next({ item: this.item, itemComponent: this });
|
|
@@ -3623,6 +3648,7 @@ class GridsterItemComponent {
|
|
|
3623
3648
|
}
|
|
3624
3649
|
itemChanged() {
|
|
3625
3650
|
if (this.gridster.options.itemChangeCallback) {
|
|
3651
|
+
this.item.curRowHeight = this.gridster.curRowHeight;
|
|
3626
3652
|
this.gridster.options.itemChangeCallback(this.item, this);
|
|
3627
3653
|
}
|
|
3628
3654
|
this.itemChange.next({ item: this.item, itemComponent: this });
|
|
@@ -3709,10 +3735,10 @@ class GridsterItemComponent {
|
|
|
3709
3735
|
}
|
|
3710
3736
|
return 0;
|
|
3711
3737
|
}
|
|
3712
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
3713
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
3738
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: GridsterItemComponent, deps: [{ token: ElementRef }, { token: GridsterComponent }, { token: Renderer2 }, { token: NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3739
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", 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}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
3714
3740
|
}
|
|
3715
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
3741
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: GridsterItemComponent, decorators: [{
|
|
3716
3742
|
type: Component,
|
|
3717
3743
|
args: [{ selector: 'gridster-item', encapsulation: ViewEncapsulation.None, standalone: true, 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}\n"] }]
|
|
3718
3744
|
}], ctorParameters: () => [{ type: i0.ElementRef, decorators: [{
|
|
@@ -3768,10 +3794,10 @@ class LockTooltip {
|
|
|
3768
3794
|
this.domService.removeComponent(comp);
|
|
3769
3795
|
});
|
|
3770
3796
|
}
|
|
3771
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
3772
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
3797
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: LockTooltip, deps: [{ token: i3.DomService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3798
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: LockTooltip, 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"] }] }); }
|
|
3773
3799
|
}
|
|
3774
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
3800
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: LockTooltip, decorators: [{
|
|
3775
3801
|
type: Component,
|
|
3776
3802
|
args: [{ selector: 'ra-lock-tooltip', 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"] }]
|
|
3777
3803
|
}], ctorParameters: () => [{ type: i3.DomService }] });
|
|
@@ -3822,8 +3848,12 @@ class RAWidgetContainer {
|
|
|
3822
3848
|
this.showExcell = true;
|
|
3823
3849
|
this.hideTitle = false;
|
|
3824
3850
|
this.inapplicableFilters = [];
|
|
3851
|
+
this.isCustomElement = false;
|
|
3852
|
+
this.canLoadData = false;
|
|
3825
3853
|
this.widgetDeleted = new EventEmitter();
|
|
3826
3854
|
this.updateAppliedFilters = new EventEmitter();
|
|
3855
|
+
this.dataLoaded = new EventEmitter();
|
|
3856
|
+
this.widgetLoaded = new EventEmitter();
|
|
3827
3857
|
this.isWidgetStateApplicable = false;
|
|
3828
3858
|
this.widgetEmptyState = '';
|
|
3829
3859
|
this.lockVisible = false;
|
|
@@ -3857,19 +3887,32 @@ class RAWidgetContainer {
|
|
|
3857
3887
|
});
|
|
3858
3888
|
});
|
|
3859
3889
|
}
|
|
3860
|
-
if (this.widgetElement
|
|
3861
|
-
|
|
3862
|
-
|
|
3863
|
-
|
|
3864
|
-
|
|
3890
|
+
if (this.widgetElement) {
|
|
3891
|
+
if (changes.bulkActionData && changes.bulkActionData.currentValue != changes.bulkActionData.previousValue) {
|
|
3892
|
+
if (typeof this.widgetElement.bulkActionClicked === "function") {
|
|
3893
|
+
this.widgetElement.bulkActionClicked(this.bulkActionData);
|
|
3894
|
+
}
|
|
3865
3895
|
}
|
|
3866
|
-
|
|
3867
|
-
|
|
3896
|
+
if (changes.globalFilter && changes.globalFilter.currentValue != changes.globalFilter.previousValue) {
|
|
3897
|
+
if (!this.dashboardInfo.curatedFilters) {
|
|
3898
|
+
let filterObj = this.getParsedConfig(this.globalFilter);
|
|
3899
|
+
if (filterObj.WidgetInstanceId) {
|
|
3900
|
+
if (this.data.widgetInfo.widgetInstanceId != filterObj.WidgetInstanceId)
|
|
3901
|
+
this.refreshWidget(this.data.widgetInfo);
|
|
3902
|
+
}
|
|
3903
|
+
else {
|
|
3904
|
+
//this.refreshWidget(this.data.widgetInfo);
|
|
3905
|
+
}
|
|
3906
|
+
}
|
|
3907
|
+
}
|
|
3908
|
+
if (changes['width'] && changes['width'].currentValue != changes['width'].previousValue ||
|
|
3909
|
+
(changes['height'] && changes['height'].currentValue != changes['height'].previousValue)) {
|
|
3910
|
+
this.invokeWidgetResizedEvent();
|
|
3868
3911
|
}
|
|
3869
3912
|
}
|
|
3870
|
-
if (changes
|
|
3871
|
-
(
|
|
3872
|
-
|
|
3913
|
+
if (changes.canLoadData && changes.canLoadData.currentValue != changes.canLoadData.previousValue) {
|
|
3914
|
+
if (this.canLoadData)
|
|
3915
|
+
this.refreshWidget(this.data.widgetInfo);
|
|
3873
3916
|
}
|
|
3874
3917
|
}
|
|
3875
3918
|
invokeWidgetResizedEvent() {
|
|
@@ -4028,107 +4071,225 @@ class RAWidgetContainer {
|
|
|
4028
4071
|
}
|
|
4029
4072
|
this.detailPageUrl = widgetInfo.detailPageUrl;
|
|
4030
4073
|
let me = this;
|
|
4031
|
-
|
|
4032
|
-
this.
|
|
4033
|
-
|
|
4034
|
-
|
|
4035
|
-
|
|
4036
|
-
|
|
4037
|
-
|
|
4038
|
-
|
|
4039
|
-
|
|
4040
|
-
|
|
4041
|
-
|
|
4042
|
-
|
|
4043
|
-
|
|
4044
|
-
|
|
4045
|
-
|
|
4046
|
-
|
|
4047
|
-
|
|
4048
|
-
|
|
4049
|
-
|
|
4050
|
-
|
|
4051
|
-
|
|
4052
|
-
|
|
4053
|
-
|
|
4054
|
-
|
|
4055
|
-
|
|
4056
|
-
|
|
4057
|
-
|
|
4058
|
-
|
|
4059
|
-
|
|
4060
|
-
|
|
4061
|
-
|
|
4062
|
-
|
|
4063
|
-
|
|
4064
|
-
|
|
4065
|
-
|
|
4066
|
-
|
|
4067
|
-
|
|
4068
|
-
|
|
4069
|
-
|
|
4070
|
-
|
|
4071
|
-
|
|
4072
|
-
|
|
4073
|
-
|
|
4074
|
-
|
|
4075
|
-
|
|
4076
|
-
|
|
4074
|
+
if (widgetInfo.isCustomElement) {
|
|
4075
|
+
this.dashboardService.loadExternalScript(widgetInfo.scriptUrl, () => {
|
|
4076
|
+
this.setNotConfiguredState(widgetInfo);
|
|
4077
|
+
let appModule = this.data.widgetInfo.widgetName;
|
|
4078
|
+
if (this.data.widgetInfo.applicationModule && this.data.widgetInfo.applicationModule.length > 0) {
|
|
4079
|
+
appModule = this.data.widgetInfo.applicationModule;
|
|
4080
|
+
}
|
|
4081
|
+
this.translateService.loadTranslations(this.appConfig.appManagementBaseUrl, appModule, false).then(() => {
|
|
4082
|
+
me.widgetElement = document.createElement(widgetInfo.customTag);
|
|
4083
|
+
me.widgetElement.setAttribute("widget-instance-id", widgetInfo.widgetInstanceId);
|
|
4084
|
+
let handler = function (event) {
|
|
4085
|
+
setTimeout(async () => {
|
|
4086
|
+
me.widgetElement.addEventListener('on-widget-respond', (e) => {
|
|
4087
|
+
var type = e.detail.type;
|
|
4088
|
+
switch (type) {
|
|
4089
|
+
case 'onDataLoad':
|
|
4090
|
+
if (e.detail.data)
|
|
4091
|
+
me.showPanel = true;
|
|
4092
|
+
else
|
|
4093
|
+
me.showPanel = false;
|
|
4094
|
+
if (!me.data.dataLoaded) {
|
|
4095
|
+
me.data.dataLoaded = true;
|
|
4096
|
+
me.dataLoaded.emit(me.widgetElement);
|
|
4097
|
+
}
|
|
4098
|
+
break;
|
|
4099
|
+
case 'onConfigEditClicked':
|
|
4100
|
+
me.editWidget();
|
|
4101
|
+
break;
|
|
4102
|
+
case 'onEnableDefaultState':
|
|
4103
|
+
me.setEmptyState(e.detail.data);
|
|
4104
|
+
break;
|
|
4105
|
+
case 'onSetTitleUnderline':
|
|
4106
|
+
if (e.detail.data == true)
|
|
4107
|
+
me.enableTitleLine = true;
|
|
4108
|
+
else
|
|
4109
|
+
me.enableTitleLine = me.enableTitleLineActual;
|
|
4110
|
+
break;
|
|
4111
|
+
case 'onWidgetTitleHidden':
|
|
4112
|
+
if (e.detail.data == true)
|
|
4113
|
+
me.hideTitle = true;
|
|
4114
|
+
else
|
|
4115
|
+
me.hideTitle = false;
|
|
4116
|
+
break;
|
|
4117
|
+
case 'onUpdateLockData':
|
|
4118
|
+
me.setLock(e.detail.data);
|
|
4119
|
+
break;
|
|
4120
|
+
case 'onGlobalFilterApplicableCheck':
|
|
4121
|
+
me.setInapplicableFilters(e.detail.data, widgetInfo.widgetInstanceId);
|
|
4122
|
+
break;
|
|
4123
|
+
default:
|
|
4124
|
+
break;
|
|
4125
|
+
}
|
|
4126
|
+
});
|
|
4127
|
+
if (typeof (me.widgetElement.titleLineEnabled) != 'undefined') {
|
|
4128
|
+
let titleLineEnabled = me.widgetElement.titleLineEnabled();
|
|
4129
|
+
if (titleLineEnabled) {
|
|
4130
|
+
me.enableTitleLine = titleLineEnabled;
|
|
4131
|
+
me.enableTitleLineActual = titleLineEnabled;
|
|
4132
|
+
}
|
|
4133
|
+
}
|
|
4134
|
+
me.editText = me.translateService.translate('Common.edit');
|
|
4135
|
+
if (me.translateService.translate('Common.edit').length > 6) {
|
|
4136
|
+
me.editText = (me.translateService.translate('Common.edit').substring(0, 6) + '...');
|
|
4137
|
+
me.editToolTipValue = me.translateService.translate('Common.edit');
|
|
4138
|
+
me.editToolTipWidth = "300px";
|
|
4139
|
+
}
|
|
4140
|
+
me.copyText = me.translateService.translate('Common.copy');
|
|
4141
|
+
if (me.translateService.translate('Common.copy').length > 6) {
|
|
4142
|
+
me.copyText = (me.translateService.translate('Common.copy').substring(0, 6) + '...');
|
|
4143
|
+
me.copyToolTipValue = me.translateService.translate('Common.copy');
|
|
4144
|
+
me.copyToolTipWidth = "300px";
|
|
4145
|
+
}
|
|
4146
|
+
me.moveText = me.translateService.translate('Common.move');
|
|
4147
|
+
if (me.translateService.translate('Common.move').length > 6) {
|
|
4148
|
+
me.moveText = (me.translateService.translate('Common.move').substring(0, 6) + '...');
|
|
4149
|
+
me.moveToolTipValue = me.translateService.translate('Common.move');
|
|
4150
|
+
me.moveToolTipWidth = "300px";
|
|
4151
|
+
}
|
|
4152
|
+
me.excelText = me.translateService.translate('Common.excel');
|
|
4153
|
+
if (me.translateService.translate('Common.excel').length > 6) {
|
|
4154
|
+
me.excelText = (me.translateService.translate('Common.excel').substring(0, 6) + '...');
|
|
4155
|
+
me.excelToolTipValue = me.translateService.translate('Common.excel');
|
|
4156
|
+
me.excelToolTipWidth = "300px";
|
|
4077
4157
|
}
|
|
4158
|
+
me.deleteText = me.translateService.translate('Common.delete');
|
|
4159
|
+
if (me.translateService.translate('Common.delete').length > 6) {
|
|
4160
|
+
me.deleteText = (me.translateService.translate('Common.delete').substring(0, 6) + '...');
|
|
4161
|
+
me.deleteToolTipValue = me.translateService.translate('Common.delete');
|
|
4162
|
+
me.deleteToolTipWidth = "300px";
|
|
4163
|
+
}
|
|
4164
|
+
me.isWidgetLoaded = true;
|
|
4165
|
+
widgetConfigFilter.appConfig = me.appConfig;
|
|
4166
|
+
widgetConfigFilter.widgetInfo = widgetInfo;
|
|
4167
|
+
widgetConfigFilter.configChanges = me.getConfigChanges(false);
|
|
4168
|
+
widgetConfigFilter.widgetInfo.widgetName = widgetInfo.widgetName;
|
|
4169
|
+
widgetConfigFilter.globalFilter = me.globalFilter;
|
|
4170
|
+
widgetConfigFilter.dashboardInfo = me.dashboardInfo;
|
|
4171
|
+
//this.widgetElement.loadContent(widgetConfigFilter);
|
|
4172
|
+
me.widgetLoaded.emit();
|
|
4173
|
+
await me.setLock(widgetConfigFilter.config);
|
|
4174
|
+
await me.setDownloadIcon();
|
|
4078
4175
|
});
|
|
4079
|
-
|
|
4080
|
-
|
|
4081
|
-
|
|
4082
|
-
|
|
4083
|
-
|
|
4176
|
+
}.bind(this);
|
|
4177
|
+
this.widgetElementHandler = handler;
|
|
4178
|
+
document.body.addEventListener('widgetinitiated' + widgetInfo.widgetInstanceId, handler);
|
|
4179
|
+
this.ctlWidget.nativeElement.appendChild(this.widgetElement);
|
|
4180
|
+
});
|
|
4181
|
+
});
|
|
4182
|
+
}
|
|
4183
|
+
else {
|
|
4184
|
+
loadRemoteModule({
|
|
4185
|
+
type: 'module',
|
|
4186
|
+
remoteEntry: widgetInfo.scriptUrl,
|
|
4187
|
+
exposedModule: './' + widgetInfo.widgetComponent
|
|
4188
|
+
}).then((m) => {
|
|
4189
|
+
var component = me.ctlWidgetModule.createComponent(m[widgetInfo.widgetComponent]);
|
|
4190
|
+
let instance = component.instance;
|
|
4191
|
+
let widgetElement = component.location.nativeElement;
|
|
4192
|
+
this.setNotConfiguredState(widgetInfo);
|
|
4193
|
+
let appModule = this.data.widgetInfo.widgetName;
|
|
4194
|
+
if (this.data.widgetInfo.applicationModule && this.data.widgetInfo.applicationModule.length > 0) {
|
|
4195
|
+
appModule = this.data.widgetInfo.applicationModule;
|
|
4196
|
+
}
|
|
4197
|
+
this.translateService.loadTranslations(this.appConfig.appManagementBaseUrl, appModule, false).then(() => {
|
|
4198
|
+
me.widgetElement = widgetElement;
|
|
4199
|
+
me.widgetElement.setAttribute("widget-instance-id", widgetInfo.widgetInstanceId);
|
|
4200
|
+
instance.widgetInstanceId = widgetInfo.widgetInstanceId;
|
|
4201
|
+
let handler = function (event) {
|
|
4202
|
+
setTimeout(async () => {
|
|
4203
|
+
instance.onWidgetRespond.subscribe((e) => {
|
|
4204
|
+
var type = e.type;
|
|
4205
|
+
switch (type) {
|
|
4206
|
+
case 'onDataLoad':
|
|
4207
|
+
if (e.data)
|
|
4208
|
+
me.showPanel = true;
|
|
4209
|
+
else
|
|
4210
|
+
me.showPanel = false;
|
|
4211
|
+
break;
|
|
4212
|
+
case 'onConfigEditClicked':
|
|
4213
|
+
me.editWidget();
|
|
4214
|
+
break;
|
|
4215
|
+
case 'onEnableDefaultState':
|
|
4216
|
+
me.setEmptyState(e.data);
|
|
4217
|
+
break;
|
|
4218
|
+
case 'onSetTitleUnderline':
|
|
4219
|
+
if (e.data == true)
|
|
4220
|
+
me.enableTitleLine = true;
|
|
4221
|
+
else
|
|
4222
|
+
me.enableTitleLine = me.enableTitleLineActual;
|
|
4223
|
+
break;
|
|
4224
|
+
case 'onWidgetTitleHidden':
|
|
4225
|
+
if (e.data == true)
|
|
4226
|
+
me.hideTitle = true;
|
|
4227
|
+
else
|
|
4228
|
+
me.hideTitle = false;
|
|
4229
|
+
break;
|
|
4230
|
+
case 'onUpdateLockData':
|
|
4231
|
+
me.setLock(e.data);
|
|
4232
|
+
break;
|
|
4233
|
+
case 'onGlobalFilterApplicableCheck':
|
|
4234
|
+
me.setInapplicableFilters(e.data, widgetInfo.widgetInstanceId);
|
|
4235
|
+
break;
|
|
4236
|
+
default:
|
|
4237
|
+
break;
|
|
4238
|
+
}
|
|
4239
|
+
});
|
|
4240
|
+
if (typeof (me.widgetElement.titleLineEnabled) != 'undefined') {
|
|
4241
|
+
let titleLineEnabled = me.widgetElement.titleLineEnabled();
|
|
4242
|
+
if (titleLineEnabled) {
|
|
4243
|
+
me.enableTitleLine = titleLineEnabled;
|
|
4244
|
+
me.enableTitleLineActual = titleLineEnabled;
|
|
4245
|
+
}
|
|
4084
4246
|
}
|
|
4085
|
-
|
|
4086
|
-
|
|
4087
|
-
|
|
4088
|
-
|
|
4089
|
-
|
|
4090
|
-
|
|
4091
|
-
|
|
4092
|
-
|
|
4093
|
-
|
|
4094
|
-
|
|
4095
|
-
|
|
4096
|
-
|
|
4097
|
-
|
|
4098
|
-
|
|
4099
|
-
|
|
4100
|
-
|
|
4101
|
-
|
|
4102
|
-
|
|
4103
|
-
|
|
4104
|
-
|
|
4105
|
-
|
|
4106
|
-
|
|
4107
|
-
|
|
4108
|
-
|
|
4109
|
-
|
|
4110
|
-
|
|
4111
|
-
|
|
4112
|
-
|
|
4113
|
-
|
|
4114
|
-
|
|
4115
|
-
|
|
4116
|
-
|
|
4117
|
-
|
|
4118
|
-
|
|
4119
|
-
|
|
4120
|
-
|
|
4121
|
-
|
|
4122
|
-
|
|
4123
|
-
|
|
4124
|
-
|
|
4125
|
-
});
|
|
4126
|
-
|
|
4127
|
-
|
|
4128
|
-
|
|
4129
|
-
this.ctlWidget.nativeElement.appendChild(this.widgetElement);
|
|
4247
|
+
me.editText = me.translateService.translate('Common.edit');
|
|
4248
|
+
if (me.translateService.translate('Common.edit').length > 6) {
|
|
4249
|
+
me.editText = (me.translateService.translate('Common.edit').substring(0, 6) + '...');
|
|
4250
|
+
me.editToolTipValue = me.translateService.translate('Common.edit');
|
|
4251
|
+
me.editToolTipWidth = "300px";
|
|
4252
|
+
}
|
|
4253
|
+
me.copyText = me.translateService.translate('Common.copy');
|
|
4254
|
+
if (me.translateService.translate('Common.copy').length > 6) {
|
|
4255
|
+
me.copyText = (me.translateService.translate('Common.copy').substring(0, 6) + '...');
|
|
4256
|
+
me.copyToolTipValue = me.translateService.translate('Common.copy');
|
|
4257
|
+
me.copyToolTipWidth = "300px";
|
|
4258
|
+
}
|
|
4259
|
+
me.moveText = me.translateService.translate('Common.move');
|
|
4260
|
+
if (me.translateService.translate('Common.move').length > 6) {
|
|
4261
|
+
me.moveText = (me.translateService.translate('Common.move').substring(0, 6) + '...');
|
|
4262
|
+
me.moveToolTipValue = me.translateService.translate('Common.move');
|
|
4263
|
+
me.moveToolTipWidth = "300px";
|
|
4264
|
+
}
|
|
4265
|
+
me.excelText = me.translateService.translate('Common.excel');
|
|
4266
|
+
if (me.translateService.translate('Common.excel').length > 6) {
|
|
4267
|
+
me.excelText = (me.translateService.translate('Common.excel').substring(0, 6) + '...');
|
|
4268
|
+
me.excelToolTipValue = me.translateService.translate('Common.excel');
|
|
4269
|
+
me.excelToolTipWidth = "300px";
|
|
4270
|
+
}
|
|
4271
|
+
me.deleteText = me.translateService.translate('Common.delete');
|
|
4272
|
+
if (me.translateService.translate('Common.delete').length > 6) {
|
|
4273
|
+
me.deleteText = (me.translateService.translate('Common.delete').substring(0, 6) + '...');
|
|
4274
|
+
me.deleteToolTipValue = me.translateService.translate('Common.delete');
|
|
4275
|
+
me.deleteToolTipWidth = "300px";
|
|
4276
|
+
}
|
|
4277
|
+
me.isWidgetLoaded = true;
|
|
4278
|
+
widgetConfigFilter.appConfig = me.appConfig;
|
|
4279
|
+
widgetConfigFilter.widgetInfo = widgetInfo;
|
|
4280
|
+
widgetConfigFilter.configChanges = me.getConfigChanges(false);
|
|
4281
|
+
widgetConfigFilter.widgetInfo.widgetName = widgetInfo.widgetName;
|
|
4282
|
+
widgetConfigFilter.globalFilter = me.globalFilter;
|
|
4283
|
+
instance.loadContent(widgetConfigFilter);
|
|
4284
|
+
await me.setLock(widgetConfigFilter.config);
|
|
4285
|
+
await me.setDownloadIcon();
|
|
4286
|
+
});
|
|
4287
|
+
}.bind(this);
|
|
4288
|
+
this.widgetElementHandler = handler;
|
|
4289
|
+
document.body.addEventListener('widgetinitiated' + widgetInfo.widgetInstanceId, handler);
|
|
4290
|
+
});
|
|
4130
4291
|
});
|
|
4131
|
-
}
|
|
4292
|
+
}
|
|
4132
4293
|
}
|
|
4133
4294
|
/**To set Default State for the widget when it is not configured */
|
|
4134
4295
|
setNotConfiguredState(widgetInfo, forceEnable = false) {
|
|
@@ -4184,7 +4345,8 @@ class RAWidgetContainer {
|
|
|
4184
4345
|
globalFilter: this.globalFilter,
|
|
4185
4346
|
appConfig: this.appConfig,
|
|
4186
4347
|
widgetInfo: widgetInfo,
|
|
4187
|
-
configChanges: this.getConfigChanges(configChanged)
|
|
4348
|
+
configChanges: this.getConfigChanges(configChanged),
|
|
4349
|
+
dashboardInfo: this.dashboardInfo
|
|
4188
4350
|
};
|
|
4189
4351
|
if (widgetContainerContext.isWidgetLoaded) {
|
|
4190
4352
|
if (this.widgetElement && typeof (this.widgetElement.setConfigFilter) == 'function') {
|
|
@@ -4346,9 +4508,12 @@ class RAWidgetContainer {
|
|
|
4346
4508
|
let html = '<div id="ra-db-widget-menu"' + 'style="' + style + '" class="download-content dropdown-content widget-config-item dropdown-click" style="z-index: 1002;">';
|
|
4347
4509
|
let settings = '';
|
|
4348
4510
|
if (this.isWidgetMgmnt) {
|
|
4349
|
-
|
|
4350
|
-
|
|
4351
|
-
|
|
4511
|
+
if (!this.data.widgetInfo.templateWidgetSettings || !this.data.widgetInfo.templateWidgetSettings.hideEdit)
|
|
4512
|
+
settings += this.getHtmlForButton('wcEditWidget', 'fal fa-edit', this.editText);
|
|
4513
|
+
if (!this.data.widgetInfo.templateWidgetSettings || !this.data.widgetInfo.templateWidgetSettings.hideCopy)
|
|
4514
|
+
settings += this.getHtmlForButton('wcCopyWidget', 'fal fa-copy', this.copyText);
|
|
4515
|
+
if (!this.data.widgetInfo.templateWidgetSettings || !this.data.widgetInfo.templateWidgetSettings.hideMove)
|
|
4516
|
+
settings += this.getHtmlForButton('wcMoveWidget', 'fal fa-arrows-alt', this.moveText);
|
|
4352
4517
|
}
|
|
4353
4518
|
let customPageParams = false;
|
|
4354
4519
|
if (this.data.widgetInfo && this.data.widgetInfo.widgetSettings) {
|
|
@@ -4357,14 +4522,14 @@ class RAWidgetContainer {
|
|
|
4357
4522
|
customPageParams = true;
|
|
4358
4523
|
}
|
|
4359
4524
|
}
|
|
4360
|
-
if ((this.detailPageUrl || customPageParams) && this.checkVisitLinkVisiblity()) {
|
|
4525
|
+
if (!this.data.widgetInfo.templateWidgetSettings || !this.data.widgetInfo.templateWidgetSettings.hideVisitPage && (this.detailPageUrl || customPageParams) && this.checkVisitLinkVisiblity()) {
|
|
4361
4526
|
settings += '<a style="max-height: 30px;align-items: center;align-content: center; display: flex;" id="wcVisitWidget">';
|
|
4362
4527
|
settings += '<i style="padding-left: 4px;font-size: 27px !important;" class="fal fa-angle-right"></i> ';
|
|
4363
4528
|
settings += '<span style="padding-left: 11px;margin-top: 2px;" style="padding-left: 6px;">';
|
|
4364
4529
|
settings += this.translateService.translate('Common.visitpage');
|
|
4365
4530
|
settings += '</span></a>';
|
|
4366
4531
|
}
|
|
4367
|
-
if ((this.detailPageUrl && this.checkVisitLinkVisiblity()) || this.isWidgetMgmnt) {
|
|
4532
|
+
if (!this.data.widgetInfo.templateWidgetSettings || !this.data.widgetInfo.templateWidgetSettings.hideVisitPage && (this.detailPageUrl && this.checkVisitLinkVisiblity()) || this.isWidgetMgmnt) {
|
|
4368
4533
|
html += '<div style="color: #9FA0A4;font-size: 12px;padding-top: 8px;padding-left: 12px;">';
|
|
4369
4534
|
html += this.translateService.translate('Common.settings') + '</div>';
|
|
4370
4535
|
html += settings;
|
|
@@ -4396,7 +4561,7 @@ class RAWidgetContainer {
|
|
|
4396
4561
|
if (this.isDownloadIconVisible && this.isWidgetMgmnt && this.showExcell) {
|
|
4397
4562
|
html += this.getHr();
|
|
4398
4563
|
}
|
|
4399
|
-
if (this.isWidgetMgmnt) {
|
|
4564
|
+
if (this.isWidgetMgmnt && !this.data.widgetInfo.templateWidgetSettings || !this.data.widgetInfo.templateWidgetSettings.hideDelete) {
|
|
4400
4565
|
html += '<a id="wcWidgetDelete"><i class="fal fa-times" style="padding-left: 3px;color: red;"></i><span>';
|
|
4401
4566
|
html += this.deleteText;
|
|
4402
4567
|
html += '</span></a>';
|
|
@@ -4491,15 +4656,18 @@ class RAWidgetContainer {
|
|
|
4491
4656
|
else
|
|
4492
4657
|
return item;
|
|
4493
4658
|
}
|
|
4494
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
4495
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
4659
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RAWidgetContainer, deps: [{ token: RaDashboardService }, { token: i2$1.NgxUiLoaderService }, { token: i3.RATranslateService }, { token: i0.NgZone }, { token: i4.NotifierService }, { token: i0.Renderer2 }, { token: i3.RAPermissionService }, { token: i3.DomService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4660
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: RAWidgetContainer, 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, static: true }, { 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\"\r\n [ngClass]=\"{'underLine': enableTitleLine || isWidgetStateApplicable}\">\r\n <div class=\"col-md-12 wc-mover\" 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\">\r\n <i class=\"fal fa-lock lock\"></i> \r\n </div>\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 </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"hideTitle\" class=\"wcheader widget-move\"\r\n style=\"height: 45px;width: 95%;cursor: move;z-index: 99;opacity: 0;\">\r\n </div>\r\n <div *ngIf=\"hideTitle\" 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 <div class=\"wcBody\" [ngStyle]=\"{'bottom': noPadding?'0px':'10px','top':hideTitle?'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"] }] }); }
|
|
4496
4661
|
}
|
|
4497
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
4662
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RAWidgetContainer, decorators: [{
|
|
4498
4663
|
type: Component,
|
|
4499
|
-
args: [{ selector: 'ra-widget-container', 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\"\r\n [ngClass]=\"{'underLine': enableTitleLine || isWidgetStateApplicable}\">\r\n <div class=\"col-md-12 wc-mover\" 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\">\r\n <i class=\"fal fa-lock lock\"></i> \r\n </div>\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 </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"hideTitle\" class=\"wcheader widget-move\"\r\n style=\"height: 45px;width: 95%;cursor: move;z-index: 99;opacity: 0;\">\r\n </div>\r\n <div *ngIf=\"hideTitle\" 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 <div class=\"wcBody\" [ngStyle]=\"{'bottom': noPadding?'0px':'10px','top':hideTitle?'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 #ctlWidget></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>" }]
|
|
4664
|
+
args: [{ selector: 'ra-widget-container', 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\"\r\n [ngClass]=\"{'underLine': enableTitleLine || isWidgetStateApplicable}\">\r\n <div class=\"col-md-12 wc-mover\" 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\">\r\n <i class=\"fal fa-lock lock\"></i> \r\n </div>\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 </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"hideTitle\" class=\"wcheader widget-move\"\r\n style=\"height: 45px;width: 95%;cursor: move;z-index: 99;opacity: 0;\">\r\n </div>\r\n <div *ngIf=\"hideTitle\" 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 <div class=\"wcBody\" [ngStyle]=\"{'bottom': noPadding?'0px':'10px','top':hideTitle?'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>" }]
|
|
4500
4665
|
}], ctorParameters: () => [{ type: RaDashboardService }, { type: i2$1.NgxUiLoaderService }, { type: i3.RATranslateService }, { type: i0.NgZone }, { type: i4.NotifierService }, { type: i0.Renderer2 }, { type: i3.RAPermissionService }, { type: i3.DomService }], propDecorators: { ctlWidget: [{
|
|
4501
4666
|
type: ViewChild,
|
|
4502
4667
|
args: ['ctlWidget', { static: false }]
|
|
4668
|
+
}], ctlWidgetModule: [{
|
|
4669
|
+
type: ViewChild,
|
|
4670
|
+
args: ['ctlWidgetModule', { read: ViewContainerRef, static: true }]
|
|
4503
4671
|
}], widgetDropdown: [{
|
|
4504
4672
|
type: ViewChild,
|
|
4505
4673
|
args: ['widgetDropdown', { static: false }]
|
|
@@ -4521,6 +4689,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
|
|
|
4521
4689
|
}], globalFilter: [{
|
|
4522
4690
|
type: Input,
|
|
4523
4691
|
args: ['global-filter']
|
|
4692
|
+
}], dashboardInfo: [{
|
|
4693
|
+
type: Input,
|
|
4694
|
+
args: ['dashboard-info']
|
|
4524
4695
|
}], data: [{
|
|
4525
4696
|
type: Input,
|
|
4526
4697
|
args: ['data']
|
|
@@ -4539,10 +4710,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
|
|
|
4539
4710
|
}], gridCellHeight: [{
|
|
4540
4711
|
type: Input,
|
|
4541
4712
|
args: ['grid-cell-height']
|
|
4713
|
+
}], bulkActionData: [{
|
|
4714
|
+
type: Input,
|
|
4715
|
+
args: ['bulk-action-data']
|
|
4716
|
+
}], canLoadData: [{
|
|
4717
|
+
type: Input
|
|
4542
4718
|
}], widgetDeleted: [{
|
|
4543
4719
|
type: Output
|
|
4544
4720
|
}], updateAppliedFilters: [{
|
|
4545
4721
|
type: Output
|
|
4722
|
+
}], dataLoaded: [{
|
|
4723
|
+
type: Output
|
|
4724
|
+
}], widgetLoaded: [{
|
|
4725
|
+
type: Output
|
|
4546
4726
|
}], setResized: [{
|
|
4547
4727
|
type: Input,
|
|
4548
4728
|
args: ['dom-resized']
|
|
@@ -4566,13 +4746,20 @@ class RADashboardArea {
|
|
|
4566
4746
|
this.domResized = false;
|
|
4567
4747
|
this.showEmptyDashboard = false;
|
|
4568
4748
|
this.isWidgetMgmnt = false;
|
|
4749
|
+
this.initialWidgetCount = 10;
|
|
4750
|
+
this.currentLoadedIndex = 0;
|
|
4751
|
+
this.loading = false;
|
|
4569
4752
|
this.widgetHeight = 2;
|
|
4570
4753
|
this.widgetWidth = 4;
|
|
4571
4754
|
this.hideDashboardBanner = new EventEmitter();
|
|
4572
4755
|
}
|
|
4573
4756
|
ngOnInit() {
|
|
4757
|
+
window.addEventListener('scroll', () => {
|
|
4758
|
+
this.loadNext();
|
|
4759
|
+
});
|
|
4574
4760
|
this.isWidgetMgmnt = this.permissionService.hasPermission('ra.widgetmanagement');
|
|
4575
4761
|
this.initiateGridsterConfig();
|
|
4762
|
+
this.setEmptyDashboardConfig();
|
|
4576
4763
|
this.lastViewType = this.responsiveService.IsDesktopView ? 'desktop' : 'mobile';
|
|
4577
4764
|
this.responsiveService.resized.subscribe((isDesktop) => {
|
|
4578
4765
|
if (this.lastViewType != (isDesktop ? 'desktop' : 'mobile') || !isDesktop) {
|
|
@@ -4601,6 +4788,11 @@ class RADashboardArea {
|
|
|
4601
4788
|
}, 100);
|
|
4602
4789
|
}
|
|
4603
4790
|
});
|
|
4791
|
+
setTimeout(() => {
|
|
4792
|
+
this.bulkActionClick = this.raDashboardEventBus.subscribe(RAEvent.BulkActionClick).subscribe((data) => {
|
|
4793
|
+
this.bulkActionData = JSON.parse(JSON.stringify(data)); // To create a new reference;
|
|
4794
|
+
});
|
|
4795
|
+
});
|
|
4604
4796
|
}
|
|
4605
4797
|
ngOnChanges(changes) {
|
|
4606
4798
|
this.isWidgetMgmnt = this.permissionService.hasPermission('ra.widgetmanagement');
|
|
@@ -4608,27 +4800,43 @@ class RADashboardArea {
|
|
|
4608
4800
|
this.isWidgetLoaded = true;
|
|
4609
4801
|
this.loadWidgets(this.userDashboardId, this.areaKey);
|
|
4610
4802
|
}
|
|
4803
|
+
this.initiateGridsterConfig();
|
|
4611
4804
|
if (changes['raDashboardEventBus'] && changes['raDashboardEventBus'].currentValue != changes['raDashboardEventBus'].previousValue) {
|
|
4612
4805
|
this.inititateEventBusSubscritions();
|
|
4613
4806
|
}
|
|
4614
4807
|
}
|
|
4808
|
+
setEmptyDashboardConfig() {
|
|
4809
|
+
if (this.dashboardInfo && this.dashboardInfo.templateConfig.emptyDashboardHeader) {
|
|
4810
|
+
this.emptyDashboardTitle = this.translateService.translate("dashboard." + this.dashboardInfo.templateConfig.emptyDashboardHeader.titleKey);
|
|
4811
|
+
this.emptyDashboardMsg1 = this.translateService.translate("dashboard." + this.dashboardInfo.templateConfig.emptyDashboardHeader.descriptionKey1);
|
|
4812
|
+
this.emptyDashboardMsg2 = (this.dashboardInfo.templateConfig.emptyDashboardHeader.descriptionKey2) ? this.translateService.translate("dashboard." + this.dashboardInfo.templateConfig.emptyDashboardHeader.descriptionKey2) : '';
|
|
4813
|
+
this.emptyDashboardButtonText = this.translateService.translate("dashboard." + this.dashboardInfo.templateConfig.emptyDashboardHeader.buttonTextKey);
|
|
4814
|
+
this.emptyDashboardButtonIcon = this.dashboardInfo.templateConfig.emptyDashboardHeader.buttonIcon ? this.dashboardInfo.templateConfig.emptyDashboardHeader.buttonIcon : '';
|
|
4815
|
+
this.emptyDashboardButtonAction = this.dashboardInfo.templateConfig.emptyDashboardHeader.buttonAction ? this.dashboardInfo.templateConfig.emptyDashboardHeader.buttonAction : '';
|
|
4816
|
+
}
|
|
4817
|
+
}
|
|
4615
4818
|
/**To set GridsterConfig */
|
|
4616
4819
|
initiateGridsterConfig() {
|
|
4617
|
-
|
|
4618
|
-
|
|
4619
|
-
|
|
4620
|
-
|
|
4621
|
-
|
|
4622
|
-
|
|
4623
|
-
};
|
|
4624
|
-
this.options.itemChangeCallback = (item) => {
|
|
4625
|
-
if (this.responsiveService.IsDesktopView) {
|
|
4626
|
-
if (item.widgetInfo && item.widgetInfo.widgetInstanceId) {
|
|
4627
|
-
this.updateWidgetPosition(item.widgetInfo.widgetInstanceId);
|
|
4820
|
+
if (this.dashboardInfo) {
|
|
4821
|
+
/**To override default configuration values to the gridster control */
|
|
4822
|
+
this.options = this.responsiveService.getGridsterConfig(this.isWidgetMgmnt, this.dashboardInfo.templateConfig.widget.canResize, this.dashboardInfo.templateConfig.widget.canMove);
|
|
4823
|
+
this.options.initCallback = (gridster) => {
|
|
4824
|
+
if (this.options.api) {
|
|
4825
|
+
this.gridcellHeight = this.options.api.getCurrentRowHeight();
|
|
4628
4826
|
}
|
|
4629
|
-
}
|
|
4630
|
-
this.
|
|
4631
|
-
|
|
4827
|
+
};
|
|
4828
|
+
this.options.itemChangeCallback = (item) => {
|
|
4829
|
+
if (this.responsiveService.IsDesktopView) {
|
|
4830
|
+
if (item.widgetInfo && item.widgetInfo.widgetInstanceId) {
|
|
4831
|
+
this.updateWidgetPosition(item.widgetInfo.widgetInstanceId);
|
|
4832
|
+
}
|
|
4833
|
+
}
|
|
4834
|
+
this.setAreaHeight();
|
|
4835
|
+
};
|
|
4836
|
+
}
|
|
4837
|
+
}
|
|
4838
|
+
widgetLoaded(widget) {
|
|
4839
|
+
widget.canLoadData = true;
|
|
4632
4840
|
}
|
|
4633
4841
|
/** To initiate eventbus subsctiptions */
|
|
4634
4842
|
inititateEventBusSubscritions() {
|
|
@@ -4647,6 +4855,11 @@ class RADashboardArea {
|
|
|
4647
4855
|
this.addWidget(e);
|
|
4648
4856
|
});
|
|
4649
4857
|
});
|
|
4858
|
+
this.curatedFilterChange = this.raDashboardEventBus.subscribe(RAEvent.CuratedFilterChange).subscribe((e) => {
|
|
4859
|
+
this.ngZone.run(() => {
|
|
4860
|
+
this.loadWidgets(this.userDashboardId, this.areaKey);
|
|
4861
|
+
});
|
|
4862
|
+
});
|
|
4650
4863
|
this.rearrangeWidgetClick = this.raDashboardEventBus.subscribe(RAEvent.RearrangeClicked).subscribe((e) => {
|
|
4651
4864
|
this.ngZone.run(() => {
|
|
4652
4865
|
this.rearrangeWidgets();
|
|
@@ -4695,6 +4908,10 @@ class RADashboardArea {
|
|
|
4695
4908
|
this.widgetLibraryDoneClick.unsubscribe();
|
|
4696
4909
|
if (this.rearrangeWidgetClick)
|
|
4697
4910
|
this.rearrangeWidgetClick.unsubscribe();
|
|
4911
|
+
if (this.curatedFilterChange)
|
|
4912
|
+
this.curatedFilterChange.unsubscribe();
|
|
4913
|
+
if (this.bulkActionClick)
|
|
4914
|
+
this.bulkActionClick.unsubscribe();
|
|
4698
4915
|
}
|
|
4699
4916
|
/**To update position/dimention of all widgets in the area */
|
|
4700
4917
|
updateWidgets() {
|
|
@@ -4730,6 +4947,13 @@ class RADashboardArea {
|
|
|
4730
4947
|
}
|
|
4731
4948
|
/** To retrieve widgets based on userDashboardid and area name */
|
|
4732
4949
|
loadWidgets(userDashboarId, areaKey) {
|
|
4950
|
+
if (this.templateConfig && this.templateConfig.initialWidgetCount)
|
|
4951
|
+
this.initialWidgetCount = this.templateConfig.initialWidgetCount;
|
|
4952
|
+
window.scrollTo(0, 0);
|
|
4953
|
+
if (location.href.indexOf('/kiosk/') > -1)
|
|
4954
|
+
this.initialWidgetCount = 1000;
|
|
4955
|
+
this.currentLoadedIndex = 0;
|
|
4956
|
+
this.loading = false;
|
|
4733
4957
|
let widgetInfo = {
|
|
4734
4958
|
dashboardId: userDashboarId.toString(),
|
|
4735
4959
|
dashboardAreaKey: areaKey
|
|
@@ -4749,8 +4973,7 @@ class RADashboardArea {
|
|
|
4749
4973
|
this.checkPAMWidgets();
|
|
4750
4974
|
if (widgets && widgets.length > 0) {
|
|
4751
4975
|
this.dashboardService.clientId = widgets[0].clientId;
|
|
4752
|
-
this.
|
|
4753
|
-
this.setAreaHeight();
|
|
4976
|
+
this.loadWidgetsDelta();
|
|
4754
4977
|
this.raDashboardEventBus.publish(RAEvent.HideDashboardBanner, false);
|
|
4755
4978
|
}
|
|
4756
4979
|
else {
|
|
@@ -4759,6 +4982,43 @@ class RADashboardArea {
|
|
|
4759
4982
|
}
|
|
4760
4983
|
});
|
|
4761
4984
|
}
|
|
4985
|
+
loadWidgetsDelta() {
|
|
4986
|
+
if (!this.loading) {
|
|
4987
|
+
this.loading = true;
|
|
4988
|
+
let widgets = this.mapObjectListToGridsterItemList(this.userWidgets.slice(this.currentLoadedIndex, (this.currentLoadedIndex + this.initialWidgetCount)));
|
|
4989
|
+
this.currentLoadedIndex += this.initialWidgetCount;
|
|
4990
|
+
this.widgetList.push(...widgets);
|
|
4991
|
+
this.setAreaHeight();
|
|
4992
|
+
setTimeout(() => {
|
|
4993
|
+
this.loading = false;
|
|
4994
|
+
});
|
|
4995
|
+
}
|
|
4996
|
+
}
|
|
4997
|
+
dataLoaded(widgetElement) {
|
|
4998
|
+
this.loadNext();
|
|
4999
|
+
}
|
|
5000
|
+
loadNext() {
|
|
5001
|
+
if (this.divBottom) {
|
|
5002
|
+
if (this.elementInViewport(this.divBottom.nativeElement)) {
|
|
5003
|
+
this.loadWidgetsDelta();
|
|
5004
|
+
}
|
|
5005
|
+
}
|
|
5006
|
+
}
|
|
5007
|
+
elementInViewport(el) {
|
|
5008
|
+
var top = el.offsetTop;
|
|
5009
|
+
var left = el.offsetLeft;
|
|
5010
|
+
var width = el.offsetWidth;
|
|
5011
|
+
var height = el.offsetHeight;
|
|
5012
|
+
while (el.offsetParent) {
|
|
5013
|
+
el = el.offsetParent;
|
|
5014
|
+
top += el.offsetTop;
|
|
5015
|
+
left += el.offsetLeft;
|
|
5016
|
+
}
|
|
5017
|
+
return (top >= window.scrollY &&
|
|
5018
|
+
left >= window.scrollX &&
|
|
5019
|
+
(top + height) <= (window.scrollY + window.innerHeight) &&
|
|
5020
|
+
(left + width) <= (window.scrollX + window.innerWidth));
|
|
5021
|
+
}
|
|
4762
5022
|
/** To set Area(Gridster) height dynamically as widgets are added/removed */
|
|
4763
5023
|
setAreaHeight() {
|
|
4764
5024
|
setTimeout(() => {
|
|
@@ -4800,22 +5060,22 @@ class RADashboardArea {
|
|
|
4800
5060
|
}
|
|
4801
5061
|
/** To remove a widget instance from dashboard and to save info in database */
|
|
4802
5062
|
deleteWidget(widgetInstanceId, isalertDisabled = false) {
|
|
5063
|
+
let widget = this.userWidgets.filter((item) => {
|
|
5064
|
+
return item.widgetInstanceId === widgetInstanceId;
|
|
5065
|
+
});
|
|
5066
|
+
if (widget.length > 0) {
|
|
5067
|
+
this.userWidgets.splice(this.userWidgets.indexOf(widget[0]), 1);
|
|
5068
|
+
}
|
|
5069
|
+
if (this.PAMWidgets.length > 0) {
|
|
5070
|
+
var indx = this.PAMWidgets.indexOf(widgetInstanceId);
|
|
5071
|
+
if (indx > -1)
|
|
5072
|
+
this.PAMWidgets.splice(indx, 1);
|
|
5073
|
+
this.checkPAMWidgets();
|
|
5074
|
+
}
|
|
4803
5075
|
let gridsterItem = this.widgetList.filter((item) => {
|
|
4804
5076
|
return item.widgetInfo.widgetInstanceId === widgetInstanceId;
|
|
4805
5077
|
});
|
|
4806
5078
|
if (gridsterItem.length > 0) {
|
|
4807
|
-
let widget = this.userWidgets.filter((item) => {
|
|
4808
|
-
return item.widgetInstanceId === widgetInstanceId;
|
|
4809
|
-
});
|
|
4810
|
-
if (widget.length > 0) {
|
|
4811
|
-
this.userWidgets.splice(this.userWidgets.indexOf(widget[0]), 1);
|
|
4812
|
-
}
|
|
4813
|
-
if (this.PAMWidgets.length > 0) {
|
|
4814
|
-
var indx = this.PAMWidgets.indexOf(widgetInstanceId);
|
|
4815
|
-
if (indx > -1)
|
|
4816
|
-
this.PAMWidgets.splice(indx, 1);
|
|
4817
|
-
this.checkPAMWidgets();
|
|
4818
|
-
}
|
|
4819
5079
|
this.widgetList.splice(this.widgetList.indexOf(gridsterItem[0]), 1);
|
|
4820
5080
|
this.setAreaHeight();
|
|
4821
5081
|
if (!isalertDisabled) {
|
|
@@ -4829,11 +5089,15 @@ class RADashboardArea {
|
|
|
4829
5089
|
}
|
|
4830
5090
|
/**To rearrange widgets position in the dashboard, compactLeft&Up,compactLeft,compactUp,etc*/
|
|
4831
5091
|
rearrangeWidgets() {
|
|
5092
|
+
this.currentLoadedIndex = 0;
|
|
5093
|
+
this.loading = false;
|
|
4832
5094
|
for (let i = 0; i < this.userWidgets.length; i++) {
|
|
4833
5095
|
this.userWidgets[i].position_x = 0;
|
|
4834
5096
|
this.userWidgets[i].position_y = 0;
|
|
4835
5097
|
}
|
|
4836
|
-
this.widgetList =
|
|
5098
|
+
this.widgetList = [];
|
|
5099
|
+
this.loadWidgetsDelta();
|
|
5100
|
+
this.raDashboardEventBus.publish(RAEvent.HideDashboardBanner, false);
|
|
4837
5101
|
if (this.widgetList.length > 0)
|
|
4838
5102
|
this.updateWidgetPosition(this.widgetList[0].widgetInfo.widgetInstanceId);
|
|
4839
5103
|
setTimeout(() => {
|
|
@@ -4865,29 +5129,32 @@ class RADashboardArea {
|
|
|
4865
5129
|
this.ngxService.start();
|
|
4866
5130
|
this.dashboardService.addWidget(data, this.appConfig).subscribe(widget => {
|
|
4867
5131
|
this.userWidgets.push(widget);
|
|
4868
|
-
|
|
4869
|
-
|
|
4870
|
-
|
|
4871
|
-
|
|
4872
|
-
|
|
4873
|
-
if (
|
|
4874
|
-
|
|
4875
|
-
|
|
5132
|
+
if (this.currentLoadedIndex >= (this.userWidgets.length - 1)) {
|
|
5133
|
+
this.currentLoadedIndex++;
|
|
5134
|
+
let gridsterItem = this.responsiveService.getGridsterItem(widget);
|
|
5135
|
+
this.widgetList.push(gridsterItem);
|
|
5136
|
+
this.setAreaHeight();
|
|
5137
|
+
if (this.options.api) {
|
|
5138
|
+
let curRowHeight = Number(this.options.api.getCurrentRowHeight());
|
|
5139
|
+
if (curRowHeight > 0) {
|
|
5140
|
+
widget.rowHeight = curRowHeight;
|
|
5141
|
+
this.gridcellHeight = curRowHeight;
|
|
5142
|
+
}
|
|
4876
5143
|
}
|
|
4877
|
-
|
|
4878
|
-
|
|
4879
|
-
|
|
4880
|
-
|
|
4881
|
-
|
|
4882
|
-
|
|
4883
|
-
|
|
4884
|
-
|
|
4885
|
-
}
|
|
5144
|
+
var widgetInstanceId = 0;
|
|
5145
|
+
if (widget && widget.widgetInstanceId) {
|
|
5146
|
+
widgetInstanceId = widget.widgetInstanceId;
|
|
5147
|
+
/**To save added widget position in db */
|
|
5148
|
+
if (this.responsiveService.IsDesktopView) {
|
|
5149
|
+
setTimeout(() => {
|
|
5150
|
+
this.updateWidgetPosition(widgetInstanceId);
|
|
5151
|
+
});
|
|
5152
|
+
}
|
|
5153
|
+
}
|
|
5154
|
+
if (widget.settings && widget.settings.isPAMWidget) {
|
|
5155
|
+
this.PAMWidgets.push(widget.widgetInstanceId);
|
|
5156
|
+
this.checkPAMWidgets();
|
|
4886
5157
|
}
|
|
4887
|
-
}
|
|
4888
|
-
if (widget.settings && widget.settings.isPAMWidget) {
|
|
4889
|
-
this.PAMWidgets.push(widget.widgetInstanceId);
|
|
4890
|
-
this.checkPAMWidgets();
|
|
4891
5158
|
}
|
|
4892
5159
|
this.raDashboardEventBus.publish(RAEvent.WidgetAdded, widget);
|
|
4893
5160
|
});
|
|
@@ -4917,12 +5184,15 @@ class RADashboardArea {
|
|
|
4917
5184
|
});
|
|
4918
5185
|
}
|
|
4919
5186
|
this.userWidgets.push(data);
|
|
4920
|
-
|
|
4921
|
-
|
|
4922
|
-
|
|
4923
|
-
|
|
4924
|
-
this.
|
|
4925
|
-
|
|
5187
|
+
if (this.currentLoadedIndex >= (this.userWidgets.length - 1)) {
|
|
5188
|
+
this.currentLoadedIndex++;
|
|
5189
|
+
let gridsterItem = this.responsiveService.getGridsterItem(data);
|
|
5190
|
+
this.widgetList.push(gridsterItem);
|
|
5191
|
+
this.setAreaHeight();
|
|
5192
|
+
if (data.settings && data.settings.isPAMWidget) {
|
|
5193
|
+
this.PAMWidgets.push(data.widgetInstanceId);
|
|
5194
|
+
this.checkPAMWidgets();
|
|
5195
|
+
}
|
|
4926
5196
|
}
|
|
4927
5197
|
}
|
|
4928
5198
|
mapObjectListToGridsterItemList(widgetList) {
|
|
@@ -4949,8 +5219,11 @@ class RADashboardArea {
|
|
|
4949
5219
|
});
|
|
4950
5220
|
return widgetListArray;
|
|
4951
5221
|
}
|
|
4952
|
-
|
|
4953
|
-
this.
|
|
5222
|
+
buttonClick() {
|
|
5223
|
+
if (this.emptyDashboardButtonAction == "widgets")
|
|
5224
|
+
this.raDashboardEventBus.publish(RAEvent.AddNewWidgetToDashboard, null);
|
|
5225
|
+
else if (this.emptyDashboardButtonAction == "filter")
|
|
5226
|
+
this.raDashboardEventBus.publish(RAEvent.GlobalFilterClick, null);
|
|
4954
5227
|
}
|
|
4955
5228
|
updateAppliedFilters(data) {
|
|
4956
5229
|
this.raDashboardEventBus.publish(RAEvent.UpdateAppledFiterForInapplicableFilter, data);
|
|
@@ -4963,12 +5236,12 @@ class RADashboardArea {
|
|
|
4963
5236
|
this.raDashboardEventBus.publish(RAEvent.ShowInapplicableFilterMessage, false);
|
|
4964
5237
|
}
|
|
4965
5238
|
}
|
|
4966
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
4967
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
5239
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RADashboardArea, deps: [{ token: RaDashboardService }, { token: i0.NgZone }, { token: i2$1.NgxUiLoaderService }, { token: i3.RATranslateService }, { token: i4.NotifierService }, { token: RADashboardResponsiveService }, { token: i3.RAPermissionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5240
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: RADashboardArea, selector: "ra-dashboard-area", inputs: { userDashboardId: ["user-dashboard-id", "userDashboardId"], areaKey: ["area-key", "areaKey"], globalFilter: ["global-filter", "globalFilter"], raDashboardEventBus: ["event-bus", "raDashboardEventBus"], widgetHeight: ["widget-height", "widgetHeight"], widgetWidth: ["widget-width", "widgetWidth"], appConfig: ["app-config", "appConfig"], dashboardInfo: ["dashboard-info", "dashboardInfo"], templateConfig: "templateConfig" }, outputs: { hideDashboardBanner: "hideDashboardBanner" }, viewQueries: [{ propertyName: "gridWrapper", first: true, predicate: ["gridWrapper"], descendants: true }, { propertyName: "divBottom", first: true, predicate: ["divBottom"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #gridWrapper class=\"wrap gridster gridster-mobile\"\r\n [ngStyle]=\"{'height': userWidgets.length > 0 ? (gridheight + 'px') : 'unset'}\">\r\n <!-- <div #gridWrapper class=\"wrap gridster\"> -->\r\n <gridster [options]=\"options\" style=\"height:100%;\" *ngIf=\"userWidgets.length > 0\">\r\n <gridster-item [item]=\"item\" *ngFor=\"let item of widgetList\">\r\n <ra-widget-container (widgetLoaded)=\"widgetLoaded(item)\" [canLoadData]=\"item.canLoadData\" (dataLoaded)=\"dataLoaded($event)\"\r\n [bulk-action-data]=\"bulkActionData\" [dashboard-info]=\"dashboardInfo\" [app-config]=\"appConfig\"\r\n [event-bus]=\"raDashboardEventBus\" (widgetDeleted)=\"deleteWidget($event)\" [data]=\"item\"\r\n [global-filter]=\"globalFilter\" [grid-cell-height]=\"gridcellHeight\" *ngIf=\"gridcellHeight && gridcellHeight > 0\"\r\n [widget-width]=\"item.cols\" [widget-height]=\"item.rows\" [widget-instance-id]=\"item.widgetInstanceId\"\r\n [dom-resized]=\"domResized\" (updateAppliedFilters)=\"updateAppliedFilters($event)\">\r\n </ra-widget-container>\r\n </gridster-item>\r\n </gridster>\r\n\r\n <div class=\"empty-padding kiosk-hide\" *ngIf=\"showEmptyDashboard\">\r\n <div class=\"empty-wrapper\">\r\n <div></div>\r\n <div class=\"empty-prefix\">\r\n <!-- <i class=\"fal fa-edit edit-icon\"></i> -->\r\n <span>{{emptyDashboardTitle}}</span>\r\n </div>\r\n <hr class=\"horizontalLine-solid\" />\r\n <div class=\"empty-content light\">\r\n <div>\r\n <div class=\"col-sm-12 empty-msg\">\r\n {{emptyDashboardMsg1}} <br />\r\n {{emptyDashboardMsg2}}\r\n </div>\r\n <button *ngIf=\"isWidgetMgmnt\" class=\"btn btnLib btn-sm dashboard-button light\" (click)=\"buttonClick()\">\r\n <i class=\"{{emptyDashboardButtonIcon}}\"></i>{{emptyDashboardButtonText}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <notifier-container></notifier-container>\r\n</div>\r\n<div #divBottom></div>", styles: ["gridster{width:inherit;resize:height;display:flex;background-color:#fff;overflow-y:hidden!important}.dvheader{width:100%;height:35px;background:#000;color:#fff;padding:7px 3px 5px 6px;text-transform:uppercase}gridster-item{box-sizing:border-box;z-index:1;position:absolute;overflow:hidden;transition:.3s;display:none;background:#fff;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;box-shadow:none}gridster-item:hover{box-shadow:0 1px 10px #00000026!important}@media screen and (max-width: 685px){.gridster-mobile{height:auto!important;margin-bottom:50px!important}}@media screen and (max-width: 350px){.gridster-mobile{min-height:330px!important;margin-bottom:0!important}}.empty-padding{padding:15px 0;background-color:#fff;display:flex}.empty-wrapper{background-color:#fff;border:1px solid #9FA0A4;min-height:125px;width:100%}.empty-prefix{color:#32ad3c;font-size:18px;padding:15px}.empty-content{color:#626469;width:100%;padding:15px}.empty-msg{padding:0 0 15px;font-size:16px}.horizontalLine-solid{border-top:1px solid #cbcbcb;margin:0 15px}.dashboard-button{padding:5px 10px 5px 5px!important}.btnLib{background-color:#ededed;color:#333!important}.btn-sm,.btn-group-sm>.btn{padding:5px 20px 5px 5px}.edit-icon{color:#32ad3c;font-size:24px;margin-right:15px}.empty-title{margin-top:10px}@media screen and (max-width: 600px){.empty-padding{padding:15px 0;background-color:#fff;width:100%;display:block}.empty-wrapper{display:flex;background-color:#fff;border:1px solid #9FA0A4;min-height:125px;width:100%}.empty-prefix{color:#32ad3c;font-size:16px;display:flex;height:40px;padding:15px}.empty-content{color:#333;display:flex;padding:15px}.empty-msg{padding:0 0 15px;font-size:14px}.edit-icon{color:#32ad3c;font-size:20px;margin-right:6px}.empty-title{margin-top:6px}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: GridsterComponent, selector: "gridster", inputs: ["options"] }, { kind: "component", type: GridsterItemComponent, selector: "gridster-item", inputs: ["item"], outputs: ["itemInit", "itemChange", "itemResize"] }, { kind: "component", type: i4.NotifierContainerComponent, selector: "notifier-container" }, { kind: "component", type: RAWidgetContainer, selector: "ra-widget-container", inputs: ["widget-instance-id", "global-filter", "dashboard-info", "data", "event-bus", "app-config", "widget-width", "widget-height", "grid-cell-height", "bulk-action-data", "canLoadData", "dom-resized"], outputs: ["widgetDeleted", "updateAppliedFilters", "dataLoaded", "widgetLoaded"] }] }); }
|
|
4968
5241
|
}
|
|
4969
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
5242
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RADashboardArea, decorators: [{
|
|
4970
5243
|
type: Component,
|
|
4971
|
-
args: [{ selector: 'ra-dashboard-area', template: "<div #gridWrapper class=\"wrap gridster gridster-mobile\"
|
|
5244
|
+
args: [{ selector: 'ra-dashboard-area', template: "<div #gridWrapper class=\"wrap gridster gridster-mobile\"\r\n [ngStyle]=\"{'height': userWidgets.length > 0 ? (gridheight + 'px') : 'unset'}\">\r\n <!-- <div #gridWrapper class=\"wrap gridster\"> -->\r\n <gridster [options]=\"options\" style=\"height:100%;\" *ngIf=\"userWidgets.length > 0\">\r\n <gridster-item [item]=\"item\" *ngFor=\"let item of widgetList\">\r\n <ra-widget-container (widgetLoaded)=\"widgetLoaded(item)\" [canLoadData]=\"item.canLoadData\" (dataLoaded)=\"dataLoaded($event)\"\r\n [bulk-action-data]=\"bulkActionData\" [dashboard-info]=\"dashboardInfo\" [app-config]=\"appConfig\"\r\n [event-bus]=\"raDashboardEventBus\" (widgetDeleted)=\"deleteWidget($event)\" [data]=\"item\"\r\n [global-filter]=\"globalFilter\" [grid-cell-height]=\"gridcellHeight\" *ngIf=\"gridcellHeight && gridcellHeight > 0\"\r\n [widget-width]=\"item.cols\" [widget-height]=\"item.rows\" [widget-instance-id]=\"item.widgetInstanceId\"\r\n [dom-resized]=\"domResized\" (updateAppliedFilters)=\"updateAppliedFilters($event)\">\r\n </ra-widget-container>\r\n </gridster-item>\r\n </gridster>\r\n\r\n <div class=\"empty-padding kiosk-hide\" *ngIf=\"showEmptyDashboard\">\r\n <div class=\"empty-wrapper\">\r\n <div></div>\r\n <div class=\"empty-prefix\">\r\n <!-- <i class=\"fal fa-edit edit-icon\"></i> -->\r\n <span>{{emptyDashboardTitle}}</span>\r\n </div>\r\n <hr class=\"horizontalLine-solid\" />\r\n <div class=\"empty-content light\">\r\n <div>\r\n <div class=\"col-sm-12 empty-msg\">\r\n {{emptyDashboardMsg1}} <br />\r\n {{emptyDashboardMsg2}}\r\n </div>\r\n <button *ngIf=\"isWidgetMgmnt\" class=\"btn btnLib btn-sm dashboard-button light\" (click)=\"buttonClick()\">\r\n <i class=\"{{emptyDashboardButtonIcon}}\"></i>{{emptyDashboardButtonText}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <notifier-container></notifier-container>\r\n</div>\r\n<div #divBottom></div>", styles: ["gridster{width:inherit;resize:height;display:flex;background-color:#fff;overflow-y:hidden!important}.dvheader{width:100%;height:35px;background:#000;color:#fff;padding:7px 3px 5px 6px;text-transform:uppercase}gridster-item{box-sizing:border-box;z-index:1;position:absolute;overflow:hidden;transition:.3s;display:none;background:#fff;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;box-shadow:none}gridster-item:hover{box-shadow:0 1px 10px #00000026!important}@media screen and (max-width: 685px){.gridster-mobile{height:auto!important;margin-bottom:50px!important}}@media screen and (max-width: 350px){.gridster-mobile{min-height:330px!important;margin-bottom:0!important}}.empty-padding{padding:15px 0;background-color:#fff;display:flex}.empty-wrapper{background-color:#fff;border:1px solid #9FA0A4;min-height:125px;width:100%}.empty-prefix{color:#32ad3c;font-size:18px;padding:15px}.empty-content{color:#626469;width:100%;padding:15px}.empty-msg{padding:0 0 15px;font-size:16px}.horizontalLine-solid{border-top:1px solid #cbcbcb;margin:0 15px}.dashboard-button{padding:5px 10px 5px 5px!important}.btnLib{background-color:#ededed;color:#333!important}.btn-sm,.btn-group-sm>.btn{padding:5px 20px 5px 5px}.edit-icon{color:#32ad3c;font-size:24px;margin-right:15px}.empty-title{margin-top:10px}@media screen and (max-width: 600px){.empty-padding{padding:15px 0;background-color:#fff;width:100%;display:block}.empty-wrapper{display:flex;background-color:#fff;border:1px solid #9FA0A4;min-height:125px;width:100%}.empty-prefix{color:#32ad3c;font-size:16px;display:flex;height:40px;padding:15px}.empty-content{color:#333;display:flex;padding:15px}.empty-msg{padding:0 0 15px;font-size:14px}.edit-icon{color:#32ad3c;font-size:20px;margin-right:6px}.empty-title{margin-top:6px}}\n"] }]
|
|
4972
5245
|
}], ctorParameters: () => [{ type: RaDashboardService }, { type: i0.NgZone }, { type: i2$1.NgxUiLoaderService }, { type: i3.RATranslateService }, { type: i4.NotifierService }, { type: RADashboardResponsiveService }, { type: i3.RAPermissionService }], propDecorators: { userDashboardId: [{
|
|
4973
5246
|
type: Input,
|
|
4974
5247
|
args: ['user-dashboard-id']
|
|
@@ -4990,11 +5263,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
|
|
|
4990
5263
|
}], appConfig: [{
|
|
4991
5264
|
type: Input,
|
|
4992
5265
|
args: ['app-config']
|
|
5266
|
+
}], dashboardInfo: [{
|
|
5267
|
+
type: Input,
|
|
5268
|
+
args: ['dashboard-info']
|
|
5269
|
+
}], templateConfig: [{
|
|
5270
|
+
type: Input
|
|
4993
5271
|
}], hideDashboardBanner: [{
|
|
4994
5272
|
type: Output
|
|
4995
5273
|
}], gridWrapper: [{
|
|
4996
5274
|
type: ViewChild,
|
|
4997
5275
|
args: ['gridWrapper', { static: false }]
|
|
5276
|
+
}], divBottom: [{
|
|
5277
|
+
type: ViewChild,
|
|
5278
|
+
args: ['divBottom', { static: false }]
|
|
4998
5279
|
}] } });
|
|
4999
5280
|
|
|
5000
5281
|
const customNotifierOptions = {
|
|
@@ -5039,11 +5320,11 @@ const customNotifierOptions = {
|
|
|
5039
5320
|
};
|
|
5040
5321
|
|
|
5041
5322
|
class GridsterModule {
|
|
5042
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
5043
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.
|
|
5044
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.
|
|
5323
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: GridsterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
5324
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: GridsterModule, imports: [GridsterComponent, GridsterItemComponent], exports: [GridsterComponent, GridsterItemComponent] }); }
|
|
5325
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: GridsterModule }); }
|
|
5045
5326
|
}
|
|
5046
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
5327
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: GridsterModule, decorators: [{
|
|
5047
5328
|
type: NgModule,
|
|
5048
5329
|
args: [{
|
|
5049
5330
|
imports: [GridsterComponent, GridsterItemComponent],
|
|
@@ -5052,15 +5333,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
|
|
|
5052
5333
|
}] });
|
|
5053
5334
|
|
|
5054
5335
|
class DashboardFrameworkModule {
|
|
5055
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
5056
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.
|
|
5336
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: DashboardFrameworkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
5337
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: DashboardFrameworkModule, bootstrap: [RADashboardArea], declarations: [RADashboardArea,
|
|
5057
5338
|
RAWidgetContainer,
|
|
5058
5339
|
LockTooltip], imports: [BrowserModule,
|
|
5059
5340
|
GridsterModule,
|
|
5060
5341
|
HttpClientModule,
|
|
5061
5342
|
NgxUiLoaderModule, i4.NotifierModule, RACommonModule,
|
|
5062
5343
|
RACommonControlsModule], exports: [RADashboardArea] }); }
|
|
5063
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.
|
|
5344
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: DashboardFrameworkModule, imports: [BrowserModule,
|
|
5064
5345
|
GridsterModule,
|
|
5065
5346
|
HttpClientModule,
|
|
5066
5347
|
NgxUiLoaderModule,
|
|
@@ -5068,7 +5349,7 @@ class DashboardFrameworkModule {
|
|
|
5068
5349
|
RACommonModule,
|
|
5069
5350
|
RACommonControlsModule] }); }
|
|
5070
5351
|
}
|
|
5071
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
5352
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: DashboardFrameworkModule, decorators: [{
|
|
5072
5353
|
type: NgModule,
|
|
5073
5354
|
args: [{
|
|
5074
5355
|
declarations: [
|
|
@@ -5124,10 +5405,10 @@ class RADashboardEventBus {
|
|
|
5124
5405
|
return event.eventName == eventName && event.key == key && event.value == value;
|
|
5125
5406
|
}), map(event => event.data));
|
|
5126
5407
|
}
|
|
5127
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
5128
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
5408
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RADashboardEventBus, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5409
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RADashboardEventBus, providedIn: 'root' }); }
|
|
5129
5410
|
}
|
|
5130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
5411
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RADashboardEventBus, decorators: [{
|
|
5131
5412
|
type: Injectable,
|
|
5132
5413
|
args: [{
|
|
5133
5414
|
providedIn: 'root'
|
|
@@ -5137,11 +5418,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
|
|
|
5137
5418
|
class RaBaseDashboardTemplate {
|
|
5138
5419
|
constructor(ngZone) {
|
|
5139
5420
|
this.ngZone = ngZone;
|
|
5140
|
-
this.initialize = (eventBus, userDashboardId, appConfig) => {
|
|
5421
|
+
this.initialize = (eventBus, userDashboardId, appConfig, dashboardInfo, templateConfig) => {
|
|
5141
5422
|
this.ngZone.run(() => {
|
|
5142
5423
|
this.userDashboardId = userDashboardId;
|
|
5143
5424
|
this.appConfig = appConfig;
|
|
5144
5425
|
this.raDashboardEventBus = eventBus;
|
|
5426
|
+
this.dashboardInfo = dashboardInfo;
|
|
5427
|
+
this.templateConfig = templateConfig;
|
|
5145
5428
|
});
|
|
5146
5429
|
this.init();
|
|
5147
5430
|
};
|
|
@@ -5150,10 +5433,10 @@ class RaBaseDashboardTemplate {
|
|
|
5150
5433
|
var myEvent = new CustomEvent("event-template-initiated");
|
|
5151
5434
|
document.body.dispatchEvent(myEvent);
|
|
5152
5435
|
}
|
|
5153
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
5154
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.
|
|
5436
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RaBaseDashboardTemplate, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5437
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: RaBaseDashboardTemplate, inputs: { dashboardId: ["dashboard-id", "dashboardId"], globalFilter: ["global-filter", "globalFilter"], initialize: "initialize" }, ngImport: i0 }); }
|
|
5155
5438
|
}
|
|
5156
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
5439
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RaBaseDashboardTemplate, decorators: [{
|
|
5157
5440
|
type: Directive
|
|
5158
5441
|
}], ctorParameters: () => [{ type: i0.NgZone }], propDecorators: { dashboardId: [{
|
|
5159
5442
|
type: Input,
|
|
@@ -5187,10 +5470,10 @@ class RaBaseDashboardFilter {
|
|
|
5187
5470
|
var myEvent = new CustomEvent("global-filter-initiated");
|
|
5188
5471
|
document.body.dispatchEvent(myEvent);
|
|
5189
5472
|
}
|
|
5190
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
5191
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.
|
|
5473
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RaBaseDashboardFilter, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5474
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: RaBaseDashboardFilter, inputs: { getAllFilterConfig: "getAllFilterConfig", setInapplicableFilterMsg: "setInapplicableFilterMsg", isValidEntry: "isValidEntry", clearAllData: "clearAllData", setAllFilterConfig: "setAllFilterConfig" }, ngImport: i0 }); }
|
|
5192
5475
|
}
|
|
5193
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
5476
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RaBaseDashboardFilter, decorators: [{
|
|
5194
5477
|
type: Directive
|
|
5195
5478
|
}], propDecorators: { getAllFilterConfig: [{
|
|
5196
5479
|
type: Input
|