@schneideress/dashboardframework 0.0.271 → 0.0.272

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.
Files changed (34) hide show
  1. package/bundles/schneideress-dashboardframework.umd.js +415 -118
  2. package/bundles/schneideress-dashboardframework.umd.js.map +1 -1
  3. package/bundles/schneideress-dashboardframework.umd.min.js +1 -15
  4. package/bundles/schneideress-dashboardframework.umd.min.js.map +1 -1
  5. package/esm2015/gridster/lib/gridsterItem.component.js +1 -1
  6. package/esm2015/gridster/lib/gridsterRenderer.service.js +1 -1
  7. package/esm2015/lib/ra-dashboard-area/ra.dashboard.area.js +159 -62
  8. package/esm2015/lib/ra-widget-container/ra.widget.container.component.js +55 -31
  9. package/esm2015/lib/ra.base.dashboard.template.js +4 -2
  10. package/esm2015/lib/ra.dashboard.responsive.service.js +12 -2
  11. package/esm2015/lib/ra.dashboard.service.js +7 -2
  12. package/esm2015/lib/ra.event.enum.js +7 -1
  13. package/esm2015/lib/ra.gridster.config.js +3 -3
  14. package/esm5/gridster/lib/gridsterItem.component.js +1 -1
  15. package/esm5/gridster/lib/gridsterRenderer.service.js +1 -1
  16. package/esm5/lib/ra-dashboard-area/ra.dashboard.area.js +160 -62
  17. package/esm5/lib/ra-widget-container/ra.widget.container.component.js +55 -31
  18. package/esm5/lib/ra.base.dashboard.template.js +4 -2
  19. package/esm5/lib/ra.dashboard.responsive.service.js +12 -2
  20. package/esm5/lib/ra.dashboard.service.js +7 -2
  21. package/esm5/lib/ra.event.enum.js +7 -1
  22. package/esm5/lib/ra.gridster.config.js +3 -3
  23. package/fesm2015/schneideress-dashboardframework.js +240 -96
  24. package/fesm2015/schneideress-dashboardframework.js.map +1 -1
  25. package/fesm5/schneideress-dashboardframework.js +242 -97
  26. package/fesm5/schneideress-dashboardframework.js.map +1 -1
  27. package/lib/ra-dashboard-area/ra.dashboard.area.d.ts +23 -2
  28. package/lib/ra-widget-container/ra.widget.container.component.d.ts +5 -2
  29. package/lib/ra.base.dashboard.template.d.ts +4 -2
  30. package/lib/ra.dashboard.responsive.service.d.ts +1 -1
  31. package/lib/ra.dashboard.service.d.ts +0 -1
  32. package/lib/ra.event.enum.d.ts +7 -1
  33. package/package.json +1 -1
  34. package/schneideress-dashboardframework.metadata.json +1 -1
@@ -4,7 +4,7 @@
4
4
  (global = global || self, factory((global.schneideress = global.schneideress || {}, global.schneideress.dashboardframework = {}), global.ng.core, global.rxjs, global.raCommon, global.rxjs.operators, global['ngx-ui-loader'], global['angular-notifier'], global.widgetframework, global.ng.platformBrowser, global.ng.common.http, global.ng.common, global.userControls, global.commonControls));
5
5
  }(this, (function (exports, core, rxjs, raCommon, operators, ngxUiLoader, angularNotifier, widgetframework, platformBrowser, http, common, userControls, commonControls) { 'use strict';
6
6
 
7
- /*! *****************************************************************************
7
+ /******************************************************************************
8
8
  Copyright (c) Microsoft Corporation.
9
9
 
10
10
  Permission to use, copy, modify, and/or distribute this software for any
@@ -18,16 +18,18 @@
18
18
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19
19
  PERFORMANCE OF THIS SOFTWARE.
20
20
  ***************************************************************************** */
21
- /* global Reflect, Promise */
21
+ /* global Reflect, Promise, SuppressedError, Symbol */
22
22
 
23
23
  var extendStatics = function(d, b) {
24
24
  extendStatics = Object.setPrototypeOf ||
25
25
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
26
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
26
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
27
27
  return extendStatics(d, b);
28
28
  };
29
29
 
30
30
  function __extends(d, b) {
31
+ if (typeof b !== "function" && b !== null)
32
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
31
33
  extendStatics(d, b);
32
34
  function __() { this.constructor = d; }
33
35
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -67,6 +69,51 @@
67
69
  return function (target, key) { decorator(target, key, paramIndex); }
68
70
  }
69
71
 
72
+ function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
73
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
74
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
75
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
76
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
77
+ var _, done = false;
78
+ for (var i = decorators.length - 1; i >= 0; i--) {
79
+ var context = {};
80
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
81
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
82
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
83
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
84
+ if (kind === "accessor") {
85
+ if (result === void 0) continue;
86
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
87
+ if (_ = accept(result.get)) descriptor.get = _;
88
+ if (_ = accept(result.set)) descriptor.set = _;
89
+ if (_ = accept(result.init)) initializers.unshift(_);
90
+ }
91
+ else if (_ = accept(result)) {
92
+ if (kind === "field") initializers.unshift(_);
93
+ else descriptor[key] = _;
94
+ }
95
+ }
96
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
97
+ done = true;
98
+ };
99
+
100
+ function __runInitializers(thisArg, initializers, value) {
101
+ var useValue = arguments.length > 2;
102
+ for (var i = 0; i < initializers.length; i++) {
103
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
104
+ }
105
+ return useValue ? value : void 0;
106
+ };
107
+
108
+ function __propKey(x) {
109
+ return typeof x === "symbol" ? x : "".concat(x);
110
+ };
111
+
112
+ function __setFunctionName(f, name, prefix) {
113
+ if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
114
+ return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
115
+ };
116
+
70
117
  function __metadata(metadataKey, metadataValue) {
71
118
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
72
119
  }
@@ -87,7 +134,7 @@
87
134
  function verb(n) { return function (v) { return step([n, v]); }; }
88
135
  function step(op) {
89
136
  if (f) throw new TypeError("Generator is already executing.");
90
- while (_) try {
137
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
91
138
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
92
139
  if (y = 0, t) op = [op[0] & 2, t.value];
93
140
  switch (op[0]) {
@@ -109,13 +156,20 @@
109
156
  }
110
157
  }
111
158
 
112
- function __createBinding(o, m, k, k2) {
159
+ var __createBinding = Object.create ? (function(o, m, k, k2) {
160
+ if (k2 === undefined) k2 = k;
161
+ var desc = Object.getOwnPropertyDescriptor(m, k);
162
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
163
+ desc = { enumerable: true, get: function() { return m[k]; } };
164
+ }
165
+ Object.defineProperty(o, k2, desc);
166
+ }) : (function(o, m, k, k2) {
113
167
  if (k2 === undefined) k2 = k;
114
168
  o[k2] = m[k];
115
- }
169
+ });
116
170
 
117
- function __exportStar(m, exports) {
118
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) exports[p] = m[p];
171
+ function __exportStar(m, o) {
172
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
119
173
  }
120
174
 
121
175
  function __values(o) {
@@ -147,19 +201,31 @@
147
201
  return ar;
148
202
  }
149
203
 
204
+ /** @deprecated */
150
205
  function __spread() {
151
206
  for (var ar = [], i = 0; i < arguments.length; i++)
152
207
  ar = ar.concat(__read(arguments[i]));
153
208
  return ar;
154
209
  }
155
210
 
211
+ /** @deprecated */
156
212
  function __spreadArrays() {
157
213
  for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
158
214
  for (var r = Array(s), k = 0, i = 0; i < il; i++)
159
215
  for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
160
216
  r[k] = a[j];
161
217
  return r;
162
- };
218
+ }
219
+
220
+ function __spreadArray(to, from, pack) {
221
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
222
+ if (ar || !(i in from)) {
223
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
224
+ ar[i] = from[i];
225
+ }
226
+ }
227
+ return to.concat(ar || Array.prototype.slice.call(from));
228
+ }
163
229
 
164
230
  function __await(v) {
165
231
  return this instanceof __await ? (this.v = v, this) : new __await(v);
@@ -180,7 +246,7 @@
180
246
  function __asyncDelegator(o) {
181
247
  var i, p;
182
248
  return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
183
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
249
+ function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
184
250
  }
185
251
 
186
252
  function __asyncValues(o) {
@@ -196,11 +262,17 @@
196
262
  return cooked;
197
263
  };
198
264
 
265
+ var __setModuleDefault = Object.create ? (function(o, v) {
266
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
267
+ }) : function(o, v) {
268
+ o["default"] = v;
269
+ };
270
+
199
271
  function __importStar(mod) {
200
272
  if (mod && mod.__esModule) return mod;
201
273
  var result = {};
202
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
203
- result.default = mod;
274
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
275
+ __setModuleDefault(result, mod);
204
276
  return result;
205
277
  }
206
278
 
@@ -208,27 +280,106 @@
208
280
  return (mod && mod.__esModule) ? mod : { default: mod };
209
281
  }
210
282
 
211
- function __classPrivateFieldGet(receiver, privateMap) {
212
- if (!privateMap.has(receiver)) {
213
- throw new TypeError("attempted to get private field on non-instance");
214
- }
215
- return privateMap.get(receiver);
283
+ function __classPrivateFieldGet(receiver, state, kind, f) {
284
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
285
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
286
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
287
+ }
288
+
289
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
290
+ if (kind === "m") throw new TypeError("Private method is not writable");
291
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
292
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
293
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
294
+ }
295
+
296
+ function __classPrivateFieldIn(state, receiver) {
297
+ if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object");
298
+ return typeof state === "function" ? receiver === state : state.has(receiver);
216
299
  }
217
300
 
218
- function __classPrivateFieldSet(receiver, privateMap, value) {
219
- if (!privateMap.has(receiver)) {
220
- throw new TypeError("attempted to set private field on non-instance");
301
+ function __addDisposableResource(env, value, async) {
302
+ if (value !== null && value !== void 0) {
303
+ if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
304
+ var dispose;
305
+ if (async) {
306
+ if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
307
+ dispose = value[Symbol.asyncDispose];
308
+ }
309
+ if (dispose === void 0) {
310
+ if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
311
+ dispose = value[Symbol.dispose];
312
+ }
313
+ if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
314
+ env.stack.push({ value: value, dispose: dispose, async: async });
315
+ }
316
+ else if (async) {
317
+ env.stack.push({ async: true });
221
318
  }
222
- privateMap.set(receiver, value);
223
319
  return value;
224
- }
320
+ }
321
+
322
+ var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
323
+ var e = new Error(message);
324
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
325
+ };
326
+
327
+ function __disposeResources(env) {
328
+ function fail(e) {
329
+ env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
330
+ env.hasError = true;
331
+ }
332
+ function next() {
333
+ while (env.stack.length) {
334
+ var rec = env.stack.pop();
335
+ try {
336
+ var result = rec.dispose && rec.dispose.call(rec.value);
337
+ if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
338
+ }
339
+ catch (e) {
340
+ fail(e);
341
+ }
342
+ }
343
+ if (env.hasError) throw env.error;
344
+ }
345
+ return next();
346
+ }
347
+
348
+ var tslib_es6 = {
349
+ __extends: __extends,
350
+ __assign: __assign,
351
+ __rest: __rest,
352
+ __decorate: __decorate,
353
+ __param: __param,
354
+ __metadata: __metadata,
355
+ __awaiter: __awaiter,
356
+ __generator: __generator,
357
+ __createBinding: __createBinding,
358
+ __exportStar: __exportStar,
359
+ __values: __values,
360
+ __read: __read,
361
+ __spread: __spread,
362
+ __spreadArrays: __spreadArrays,
363
+ __spreadArray: __spreadArray,
364
+ __await: __await,
365
+ __asyncGenerator: __asyncGenerator,
366
+ __asyncDelegator: __asyncDelegator,
367
+ __asyncValues: __asyncValues,
368
+ __makeTemplateObject: __makeTemplateObject,
369
+ __importStar: __importStar,
370
+ __importDefault: __importDefault,
371
+ __classPrivateFieldGet: __classPrivateFieldGet,
372
+ __classPrivateFieldSet: __classPrivateFieldSet,
373
+ __classPrivateFieldIn: __classPrivateFieldIn,
374
+ __addDisposableResource: __addDisposableResource,
375
+ __disposeResources: __disposeResources,
376
+ };
225
377
 
226
378
  var RaDashboardService = /** @class */ (function (_super) {
227
379
  __extends(RaDashboardService, _super);
228
380
  function RaDashboardService(injector) {
229
381
  var _this = _super.call(this, injector, '') || this;
230
382
  _this.loadedScripts = [];
231
- _this.clientId = undefined;
232
383
  return _this;
233
384
  }
234
385
  /*
@@ -281,6 +432,12 @@
281
432
  /**To Update widgetInfo in database */
282
433
  RaDashboardService.prototype.updateWidget = function (widgetInfo, appConfig) {
283
434
  this.baseUrl = appConfig.apiBaseUrl;
435
+ var info = {};
436
+ info.widgetConfigInfo = widgetInfo.widgetConfigInfo;
437
+ info.widgetInstanceId = widgetInfo.widgetInstanceId;
438
+ info.widgetTitle = widgetInfo.widgetTitle;
439
+ info.widgetType = widgetInfo.widgetType;
440
+ info.widgetId = widgetInfo.widgetId;
284
441
  return this.post('widget/UpdateUserWidget', widgetInfo);
285
442
  };
286
443
  /** To Move or change position if current widget container*/
@@ -396,6 +553,12 @@
396
553
  RAEvent["UpdateAppledFiterForInapplicableFilter"] = "UpdateAppledFiterForInapplicableFilter";
397
554
  /**show inapplicable filter message in global filter flyout */
398
555
  RAEvent["ShowInapplicableFilterMessage"] = "ShowInapplicableFilterMessage";
556
+ /** Bulk Action Clicked */
557
+ RAEvent["BulkActionClick"] = "BulkActionClick";
558
+ /** Global Filter Clicked */
559
+ /** When user change the curated filter(eg:data streams), system will create/delete widgets */
560
+ RAEvent["CuratedFilterChange"] = "CuratedFilterChange";
561
+ RAEvent["GlobalFilterClick"] = "GlobalFilterClick";
399
562
  })(exports.RAEvent || (exports.RAEvent = {}));
400
563
 
401
564
  (function (RAEventKey) {
@@ -409,9 +572,9 @@
409
572
  margin: 10,
410
573
  outerMargin: true,
411
574
  outerMarginTop: 10,
412
- outerMarginRight: 10,
575
+ outerMarginRight: 0,
413
576
  outerMarginBottom: 30,
414
- outerMarginLeft: 10,
577
+ outerMarginLeft: 0,
415
578
  useTransformPositioning: true,
416
579
  mobileBreakpoint: 640,
417
580
  minCols: 10,
@@ -526,7 +689,7 @@
526
689
  enumerable: true,
527
690
  configurable: true
528
691
  });
529
- RADashboardResponsiveService.prototype.getGridsterConfig = function (isWidgetMgmnt) {
692
+ RADashboardResponsiveService.prototype.getGridsterConfig = function (isWidgetMgmnt, resize, canMove) {
530
693
  var config = GridsterConfigDefaultSettings;
531
694
  config.minCols = this.currentResInfo.maxCols;
532
695
  config.maxCols = this.currentResInfo.maxCols;
@@ -548,6 +711,13 @@
548
711
  config.swap = true;
549
712
  config.draggable.enabled = true;
550
713
  }
714
+ if (!resize) {
715
+ config.resizable.enabled = false;
716
+ config.swap = false;
717
+ }
718
+ if (!canMove) {
719
+ config.draggable.enabled = false;
720
+ }
551
721
  return config;
552
722
  };
553
723
  /**To map IwidgetInfo object to gridsterItem */
@@ -555,6 +725,9 @@
555
725
  if (widget.widgetSettings) {
556
726
  widget.settings = JSON.parse(widget.widgetSettings);
557
727
  }
728
+ if (widget.templateSettings) {
729
+ widget.templateWidgetSettings = JSON.parse(widget.templateSettings);
730
+ }
558
731
  var gridsterItem = {
559
732
  cols: this.getWidth(widget.width),
560
733
  rows: this.getHeight(widget.height),
@@ -622,14 +795,21 @@
622
795
  this.domResized = false;
623
796
  this.showEmptyDashboard = false;
624
797
  this.isWidgetMgmnt = false;
798
+ this.initialWidgetCount = 10;
799
+ this.currentLoadedIndex = 0;
800
+ this.loading = false;
625
801
  this.widgetHeight = 2;
626
802
  this.widgetWidth = 4;
627
803
  this.hideDashboardBanner = new core.EventEmitter();
628
804
  }
629
805
  RADashboardArea.prototype.ngOnInit = function () {
630
806
  var _this = this;
807
+ window.addEventListener('scroll', function () {
808
+ _this.loadNext();
809
+ });
631
810
  this.isWidgetMgmnt = this.permissionService.hasPermission('ra.widgetmanagement');
632
811
  this.initiateGridsterConfig();
812
+ this.setEmptyDashboardConfig();
633
813
  this.lastViewType = this.responsiveService.IsDesktopView ? 'desktop' : 'mobile';
634
814
  this.responsiveService.resized.subscribe(function (isDesktop) {
635
815
  if (_this.lastViewType != (isDesktop ? 'desktop' : 'mobile') || !isDesktop) {
@@ -658,6 +838,11 @@
658
838
  }, 100);
659
839
  }
660
840
  });
841
+ setTimeout(function () {
842
+ _this.bulkActionClick = _this.raDashboardEventBus.subscribe(exports.RAEvent.BulkActionClick).subscribe(function (data) {
843
+ _this.bulkActionData = JSON.parse(JSON.stringify(data)); // To create a new reference;
844
+ });
845
+ });
661
846
  };
662
847
  RADashboardArea.prototype.ngOnChanges = function (changes) {
663
848
  this.isWidgetMgmnt = this.permissionService.hasPermission('ra.widgetmanagement');
@@ -665,28 +850,41 @@
665
850
  this.isWidgetLoaded = true;
666
851
  this.loadWidgets(this.userDashboardId, this.areaKey);
667
852
  }
853
+ this.initiateGridsterConfig();
668
854
  if (changes.raDashboardEventBus && changes.raDashboardEventBus.currentValue != changes.raDashboardEventBus.previousValue) {
669
855
  this.inititateEventBusSubscritions();
670
856
  }
671
857
  };
858
+ RADashboardArea.prototype.setEmptyDashboardConfig = function () {
859
+ if (this.dashboardInfo && this.dashboardInfo.templateConfig.emptyDashboardHeader) {
860
+ this.emptyDashboardTitle = this.translateService.translate("dashboard." + this.dashboardInfo.templateConfig.emptyDashboardHeader.titleKey);
861
+ this.emptyDashboardMsg1 = this.translateService.translate("dashboard." + this.dashboardInfo.templateConfig.emptyDashboardHeader.descriptionKey1);
862
+ this.emptyDashboardMsg2 = (this.dashboardInfo.templateConfig.emptyDashboardHeader.descriptionKey2) ? this.translateService.translate("dashboard." + this.dashboardInfo.templateConfig.emptyDashboardHeader.descriptionKey2) : '';
863
+ this.emptyDashboardButtonText = this.translateService.translate("dashboard." + this.dashboardInfo.templateConfig.emptyDashboardHeader.buttonTextKey);
864
+ this.emptyDashboardButtonIcon = this.dashboardInfo.templateConfig.emptyDashboardHeader.buttonIcon ? this.dashboardInfo.templateConfig.emptyDashboardHeader.buttonIcon : '';
865
+ this.emptyDashboardButtonAction = this.dashboardInfo.templateConfig.emptyDashboardHeader.buttonAction ? this.dashboardInfo.templateConfig.emptyDashboardHeader.buttonAction : '';
866
+ }
867
+ };
672
868
  /**To set GridsterConfig */
673
869
  RADashboardArea.prototype.initiateGridsterConfig = function () {
674
870
  var _this = this;
675
- /**To override default configuration values to the gridster control */
676
- this.options = this.responsiveService.getGridsterConfig(this.isWidgetMgmnt);
677
- this.options.initCallback = function (gridster) {
678
- if (_this.options.api) {
679
- _this.gridcellHeight = _this.options.api.getCurrentRowHeight();
680
- }
681
- };
682
- this.options.itemChangeCallback = function (item) {
683
- if (_this.responsiveService.IsDesktopView) {
684
- if (item.widgetInfo && item.widgetInfo.widgetInstanceId) {
685
- _this.updateWidgetPosition(item.widgetInfo.widgetInstanceId);
871
+ if (this.dashboardInfo) {
872
+ /**To override default configuration values to the gridster control */
873
+ this.options = this.responsiveService.getGridsterConfig(this.isWidgetMgmnt, this.dashboardInfo.templateConfig.widget.canResize, this.dashboardInfo.templateConfig.widget.canMove);
874
+ this.options.initCallback = function (gridster) {
875
+ if (_this.options.api) {
876
+ _this.gridcellHeight = _this.options.api.getCurrentRowHeight();
686
877
  }
687
- }
688
- _this.setAreaHeight();
689
- };
878
+ };
879
+ this.options.itemChangeCallback = function (item) {
880
+ if (_this.responsiveService.IsDesktopView) {
881
+ if (item.widgetInfo && item.widgetInfo.widgetInstanceId) {
882
+ _this.updateWidgetPosition(item.widgetInfo.widgetInstanceId);
883
+ }
884
+ }
885
+ _this.setAreaHeight();
886
+ };
887
+ }
690
888
  };
691
889
  /** To initiate eventbus subsctiptions */
692
890
  RADashboardArea.prototype.inititateEventBusSubscritions = function () {
@@ -706,6 +904,11 @@
706
904
  _this.addWidget(e);
707
905
  });
708
906
  });
907
+ this.curatedFilterChange = this.raDashboardEventBus.subscribe(exports.RAEvent.CuratedFilterChange).subscribe(function (e) {
908
+ _this.ngZone.run(function () {
909
+ _this.loadWidgets(_this.userDashboardId, _this.areaKey);
910
+ });
911
+ });
709
912
  this.rearrangeWidgetClick = this.raDashboardEventBus.subscribe(exports.RAEvent.RearrangeClicked).subscribe(function (e) {
710
913
  _this.ngZone.run(function () {
711
914
  _this.rearrangeWidgets();
@@ -754,6 +957,10 @@
754
957
  this.widgetLibraryDoneClick.unsubscribe();
755
958
  if (this.rearrangeWidgetClick)
756
959
  this.rearrangeWidgetClick.unsubscribe();
960
+ if (this.curatedFilterChange)
961
+ this.curatedFilterChange.unsubscribe();
962
+ if (this.bulkActionClick)
963
+ this.bulkActionClick.unsubscribe();
757
964
  };
758
965
  /**To update position/dimention of all widgets in the area */
759
966
  RADashboardArea.prototype.updateWidgets = function () {
@@ -790,6 +997,12 @@
790
997
  /** To retrieve widgets based on userDashboardid and area name */
791
998
  RADashboardArea.prototype.loadWidgets = function (userDashboarId, areaKey) {
792
999
  var _this = this;
1000
+ if (this.templateConfig && this.templateConfig.initialWidgetCount)
1001
+ this.initialWidgetCount = this.templateConfig.initialWidgetCount;
1002
+ if (location.href.indexOf('loadAllWidgets') > -1)
1003
+ this.initialWidgetCount = 1000;
1004
+ this.currentLoadedIndex = 0;
1005
+ this.loading = false;
793
1006
  var widgetInfo = {
794
1007
  dashboardId: userDashboarId.toString(),
795
1008
  dashboardAreaKey: areaKey
@@ -797,7 +1010,6 @@
797
1010
  this.widgetList = [];
798
1011
  this.dashboardService.getWidgetsByDashboardArea(widgetInfo, this.appConfig).subscribe(function (widgets) {
799
1012
  _this.userWidgets = widgets;
800
- _this.dashboardService.clientId = widgets[0].clientId;
801
1013
  _this.PAMWidgets = [];
802
1014
  widgets.forEach(function (element) {
803
1015
  var settings = undefined;
@@ -809,8 +1021,8 @@
809
1021
  });
810
1022
  _this.checkPAMWidgets();
811
1023
  if (widgets && widgets.length > 0) {
812
- _this.widgetList = _this.mapObjectListToGridsterItemList(widgets);
813
- _this.setAreaHeight();
1024
+ _this.widgetList = [];
1025
+ _this.loadWidgetsDelta();
814
1026
  _this.raDashboardEventBus.publish(exports.RAEvent.HideDashboardBanner, false);
815
1027
  }
816
1028
  else {
@@ -819,6 +1031,42 @@
819
1031
  }
820
1032
  });
821
1033
  };
1034
+ RADashboardArea.prototype.loadWidgetsDelta = function () {
1035
+ var _a;
1036
+ if (!this.loading) {
1037
+ this.loading = true;
1038
+ var widgets = this.mapObjectListToGridsterItemList(this.userWidgets.slice(this.currentLoadedIndex, (this.currentLoadedIndex + this.initialWidgetCount)));
1039
+ this.currentLoadedIndex += this.initialWidgetCount;
1040
+ (_a = this.widgetList).push.apply(_a, __spread(widgets));
1041
+ this.setAreaHeight();
1042
+ this.loading = false;
1043
+ }
1044
+ };
1045
+ RADashboardArea.prototype.dataLoaded = function (widgetElement) {
1046
+ this.loadNext();
1047
+ };
1048
+ RADashboardArea.prototype.loadNext = function () {
1049
+ if (this.divBottom) {
1050
+ if (this.elementInViewport(this.divBottom.nativeElement)) {
1051
+ this.loadWidgetsDelta();
1052
+ }
1053
+ }
1054
+ };
1055
+ RADashboardArea.prototype.elementInViewport = function (el) {
1056
+ var top = el.offsetTop;
1057
+ var left = el.offsetLeft;
1058
+ var width = el.offsetWidth;
1059
+ var height = el.offsetHeight;
1060
+ while (el.offsetParent) {
1061
+ el = el.offsetParent;
1062
+ top += el.offsetTop;
1063
+ left += el.offsetLeft;
1064
+ }
1065
+ return (top >= window.scrollY &&
1066
+ left >= window.scrollX &&
1067
+ (top + height) <= (window.scrollY + window.innerHeight) &&
1068
+ (left + width) <= (window.scrollX + window.innerWidth));
1069
+ };
822
1070
  /** To set Area(Gridster) height dynamically as widgets are added/removed */
823
1071
  RADashboardArea.prototype.setAreaHeight = function () {
824
1072
  var _this = this;
@@ -862,22 +1110,22 @@
862
1110
  /** To remove a widget instance from dashboard and to save info in database */
863
1111
  RADashboardArea.prototype.deleteWidget = function (widgetInstanceId, isalertDisabled) {
864
1112
  if (isalertDisabled === void 0) { isalertDisabled = false; }
1113
+ var widget = this.userWidgets.filter(function (item) {
1114
+ return item.widgetInstanceId === widgetInstanceId;
1115
+ });
1116
+ if (widget.length > 0) {
1117
+ this.userWidgets.splice(this.userWidgets.indexOf(widget[0]), 1);
1118
+ }
1119
+ if (this.PAMWidgets.length > 0) {
1120
+ var indx = this.PAMWidgets.indexOf(widgetInstanceId);
1121
+ if (indx > -1)
1122
+ this.PAMWidgets.splice(indx, 1);
1123
+ this.checkPAMWidgets();
1124
+ }
865
1125
  var gridsterItem = this.widgetList.filter(function (item) {
866
1126
  return item.widgetInfo.widgetInstanceId === widgetInstanceId;
867
1127
  });
868
1128
  if (gridsterItem.length > 0) {
869
- var widget = this.userWidgets.filter(function (item) {
870
- return item.widgetInstanceId === widgetInstanceId;
871
- });
872
- if (widget.length > 0) {
873
- this.userWidgets.splice(this.userWidgets.indexOf(widget[0]), 1);
874
- }
875
- if (this.PAMWidgets.length > 0) {
876
- var indx = this.PAMWidgets.indexOf(widgetInstanceId);
877
- if (indx > -1)
878
- this.PAMWidgets.splice(indx, 1);
879
- this.checkPAMWidgets();
880
- }
881
1129
  this.widgetList.splice(this.widgetList.indexOf(gridsterItem[0]), 1);
882
1130
  this.setAreaHeight();
883
1131
  if (!isalertDisabled) {
@@ -892,11 +1140,15 @@
892
1140
  /**To rearrange widgets position in the dashboard, compactLeft&Up,compactLeft,compactUp,etc*/
893
1141
  RADashboardArea.prototype.rearrangeWidgets = function () {
894
1142
  var _this = this;
1143
+ this.currentLoadedIndex = 0;
1144
+ this.loading = false;
895
1145
  for (var i = 0; i < this.userWidgets.length; i++) {
896
1146
  this.userWidgets[i].position_x = 0;
897
1147
  this.userWidgets[i].position_y = 0;
898
1148
  }
899
- this.widgetList = this.mapObjectListToGridsterItemList(this.userWidgets);
1149
+ this.widgetList = [];
1150
+ this.loadWidgetsDelta();
1151
+ this.raDashboardEventBus.publish(exports.RAEvent.HideDashboardBanner, false);
900
1152
  if (this.widgetList.length > 0)
901
1153
  this.updateWidgetPosition(this.widgetList[0].widgetInfo.widgetInstanceId);
902
1154
  setTimeout(function () {
@@ -929,29 +1181,31 @@
929
1181
  this.ngxService.start();
930
1182
  this.dashboardService.addWidget(data, this.appConfig).subscribe(function (widget) {
931
1183
  _this.userWidgets.push(widget);
932
- var gridsterItem = _this.responsiveService.getGridsterItem(widget);
933
- _this.widgetList.push(gridsterItem);
934
- _this.setAreaHeight();
935
- if (_this.options.api) {
936
- var curRowHeight = Number(_this.options.api.getCurrentRowHeight());
937
- if (curRowHeight > 0) {
938
- widget.rowHeight = curRowHeight;
939
- _this.gridcellHeight = curRowHeight;
1184
+ if (_this.currentLoadedIndex >= _this.userWidgets.length) {
1185
+ var gridsterItem = _this.responsiveService.getGridsterItem(widget);
1186
+ _this.widgetList.push(gridsterItem);
1187
+ _this.setAreaHeight();
1188
+ if (_this.options.api) {
1189
+ var curRowHeight = Number(_this.options.api.getCurrentRowHeight());
1190
+ if (curRowHeight > 0) {
1191
+ widget.rowHeight = curRowHeight;
1192
+ _this.gridcellHeight = curRowHeight;
1193
+ }
940
1194
  }
941
- }
942
- var widgetInstanceId = 0;
943
- if (widget && widget.widgetInstanceId) {
944
- widgetInstanceId = widget.widgetInstanceId;
945
- /**To save added widget position in db */
946
- if (_this.responsiveService.IsDesktopView) {
947
- setTimeout(function () {
948
- _this.updateWidgetPosition(widgetInstanceId);
949
- });
1195
+ var widgetInstanceId = 0;
1196
+ if (widget && widget.widgetInstanceId) {
1197
+ widgetInstanceId = widget.widgetInstanceId;
1198
+ /**To save added widget position in db */
1199
+ if (_this.responsiveService.IsDesktopView) {
1200
+ setTimeout(function () {
1201
+ _this.updateWidgetPosition(widgetInstanceId);
1202
+ });
1203
+ }
1204
+ }
1205
+ if (widget.settings && widget.settings.isPAMWidget) {
1206
+ _this.PAMWidgets.push(widget.widgetInstanceId);
1207
+ _this.checkPAMWidgets();
950
1208
  }
951
- }
952
- if (widget.settings && widget.settings.isPAMWidget) {
953
- _this.PAMWidgets.push(widget.widgetInstanceId);
954
- _this.checkPAMWidgets();
955
1209
  }
956
1210
  _this.raDashboardEventBus.publish(exports.RAEvent.WidgetAdded, widget);
957
1211
  });
@@ -981,12 +1235,14 @@
981
1235
  });
982
1236
  }
983
1237
  this.userWidgets.push(data);
984
- var gridsterItem = this.responsiveService.getGridsterItem(data);
985
- this.widgetList.push(gridsterItem);
986
- this.setAreaHeight();
987
- if (data.settings && data.settings.isPAMWidget) {
988
- this.PAMWidgets.push(data.widgetInstanceId);
989
- this.checkPAMWidgets();
1238
+ if (this.currentLoadedIndex >= this.userWidgets.length) {
1239
+ var gridsterItem = this.responsiveService.getGridsterItem(data);
1240
+ this.widgetList.push(gridsterItem);
1241
+ this.setAreaHeight();
1242
+ if (data.settings && data.settings.isPAMWidget) {
1243
+ this.PAMWidgets.push(data.widgetInstanceId);
1244
+ this.checkPAMWidgets();
1245
+ }
990
1246
  }
991
1247
  };
992
1248
  RADashboardArea.prototype.mapObjectListToGridsterItemList = function (widgetList) {
@@ -1015,8 +1271,11 @@
1015
1271
  });
1016
1272
  return widgetListArray;
1017
1273
  };
1018
- RADashboardArea.prototype.addNewWidget = function () {
1019
- this.raDashboardEventBus.publish(exports.RAEvent.AddNewWidgetToDashboard, null);
1274
+ RADashboardArea.prototype.buttonClick = function () {
1275
+ if (this.emptyDashboardButtonAction == "widgets")
1276
+ this.raDashboardEventBus.publish(exports.RAEvent.AddNewWidgetToDashboard, null);
1277
+ else if (this.emptyDashboardButtonAction == "filter")
1278
+ this.raDashboardEventBus.publish(exports.RAEvent.GlobalFilterClick, null);
1020
1279
  };
1021
1280
  RADashboardArea.prototype.updateAppliedFilters = function (data) {
1022
1281
  this.raDashboardEventBus.publish(exports.RAEvent.UpdateAppledFiterForInapplicableFilter, data);
@@ -1066,6 +1325,14 @@
1066
1325
  core.Input('app-config'),
1067
1326
  __metadata("design:type", Object)
1068
1327
  ], RADashboardArea.prototype, "appConfig", void 0);
1328
+ __decorate([
1329
+ core.Input('dashboard-info'),
1330
+ __metadata("design:type", Object)
1331
+ ], RADashboardArea.prototype, "dashboardInfo", void 0);
1332
+ __decorate([
1333
+ core.Input(),
1334
+ __metadata("design:type", Object)
1335
+ ], RADashboardArea.prototype, "templateConfig", void 0);
1069
1336
  __decorate([
1070
1337
  core.Output(),
1071
1338
  __metadata("design:type", Object)
@@ -1074,11 +1341,15 @@
1074
1341
  core.ViewChild('gridWrapper', { static: false }),
1075
1342
  __metadata("design:type", core.ElementRef)
1076
1343
  ], RADashboardArea.prototype, "gridWrapper", void 0);
1344
+ __decorate([
1345
+ core.ViewChild('divBottom', { static: false }),
1346
+ __metadata("design:type", core.ElementRef)
1347
+ ], RADashboardArea.prototype, "divBottom", void 0);
1077
1348
  RADashboardArea = __decorate([
1078
1349
  core.Component({
1079
1350
  selector: 'ra-dashboard-area',
1080
- template: "<div #gridWrapper class=\"wrap gridster gridster-mobile\" [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 [app-config]=\"appConfig\" [event-bus]=\"raDashboardEventBus\"\r\n (widgetDeleted)=\"deleteWidget($event)\" [data]=\"item\" [global-filter]=\"globalFilter\"\r\n [grid-cell-height]=\"gridcellHeight\" *ngIf=\"gridcellHeight && gridcellHeight > 0\" [widget-width]=\"item.cols\"\r\n [widget-height]=\"item.rows\" [widget-instance-id]=\"item.widgetInstanceId\" [dom-resized]=\"domResized\"\r\n (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=\"m-1 empty-prefix\">\r\n <i class=\"fal fa-edit edit-icon\"></i>\r\n <span class=\"empty-title\">{{'dashboard.emptydashboard'|translate}}</span>\r\n </div>\r\n <div class=\"empty-content light\">\r\n <div>\r\n <div class=\"col-sm-12 empty-msg\">\r\n {{'dashboard.emptydashboardmessage'|translate}} <br />\r\n {{'dashboard.emptydashboardmessage2'|translate}}\r\n </div>\r\n <button *ngIf=\"isWidgetMgmnt\" class=\"btn btnLib btn-sm m-1 dashboard-button light\" (click)=\"addNewWidget()\">\r\n <i class=\"fal fa-plus m-1\"></i>{{'dashboard.addawidgets'|translate}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <notifier-container></notifier-container>\r\n</div>",
1081
- styles: ["gridster{width:inherit;resize:height;display:flex;background-color:#ededed;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;user-select:text;box-shadow:0 1px 10px rgba(0,0,0,.05)}gridster-item:hover{box-shadow:0 1px 10px rgba(0,0,0,.15)}@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:40px 20px 20px;background-color:#ededed;display:flex;justify-content:center;align-content:center}.empty-wrapper{display:flex;background-color:#fff;border-radius:8px;min-height:125px;width:72%}.empty-prefix{color:#32ad3c;font-size:18px;display:flex;align-items:center;padding:10px 30px;min-width:-webkit-max-content;min-width:max-content;min-width:-moz-max-content}.empty-content{color:#333;border-left:1px solid #a9afb1;width:100%;display:flex;align-items:center;padding:15px 30px 10px 40px}.empty-msg{padding:0 0 5px;font-size:16px}.dashboard-button{padding:5px 10px 5px 5px!important}.btnLib{background-color:#ededed;color:#333!important}.btn-group-sm>.btn,.btn-sm{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:10px;background-color:#ededed;width:100%;display:block}.empty-wrapper{display:flex;background-color:#fff;border-radius:8px;min-height:125px;width:100%}.empty-prefix{color:#32ad3c;font-size:16px;display:flex;height:40px;padding:6px 10px 8px}.empty-content{color:#333;display:flex;padding:5px 10px 10px;margin-top:44px;margin-left:-185px;border-left:none}.empty-msg{padding:12px 10px 10px 5px;font-size:14px;border-top:1px solid #a9afb1}.edit-icon{color:#32ad3c;font-size:20px;margin-right:6px}.empty-title{margin-top:6px}}"]
1351
+ 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 (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>",
1352
+ 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;user-select:text;box-shadow:none}gridster-item:hover{box-shadow:0 1px 10px rgba(0,0,0,.15)!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-group-sm>.btn,.btn-sm{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}}"]
1082
1353
  }),
1083
1354
  __metadata("design:paramtypes", [RaDashboardService,
1084
1355
  core.NgZone,
@@ -1183,6 +1454,8 @@
1183
1454
  this.inapplicableFilters = [];
1184
1455
  this.widgetDeleted = new core.EventEmitter();
1185
1456
  this.updateAppliedFilters = new core.EventEmitter();
1457
+ this.dataLoaded = new core.EventEmitter();
1458
+ this.widgetLoaded = new core.EventEmitter();
1186
1459
  this.isWidgetStateApplicable = false;
1187
1460
  this.widgetEmptyState = '';
1188
1461
  this.lockVisible = false;
@@ -1207,7 +1480,7 @@
1207
1480
  configurable: true
1208
1481
  });
1209
1482
  RAWidgetContainer.prototype.ngOnInit = function () {
1210
- this.WidgetDisplayName = this.getwidgetTitleTranslation(this.data.widgetInfo.widgetTitle);
1483
+ this.WidgetDisplayName = this.translateService.translate('Common.' + this.data.widgetInfo.widgetTitle, true);
1211
1484
  this.lockIconTitle = this.translateService.translate('Common.lockedfields');
1212
1485
  this.lockIconFooter = this.translateService.translate('Common.lockedfieldseditinfo');
1213
1486
  this.inapplicableIconTitle = this.translateService.translate('Common.InapplicableFilters');
@@ -1228,19 +1501,28 @@
1228
1501
  });
1229
1502
  });
1230
1503
  }
1231
- if (this.widgetElement && changes.globalFilter && changes.globalFilter.currentValue != changes.globalFilter.previousValue) {
1232
- var filterObj = this.getParsedConfig(this.globalFilter);
1233
- if (filterObj.WidgetInstanceId) {
1234
- if (this.data.widgetInfo.widgetInstanceId != filterObj.WidgetInstanceId)
1235
- this.refreshWidget(this.data.widgetInfo);
1504
+ if (this.widgetElement) {
1505
+ if (changes.bulkActionData && changes.bulkActionData.currentValue != changes.bulkActionData.previousValue) {
1506
+ if (typeof this.widgetElement.bulkActionClicked === "function") {
1507
+ this.widgetElement.bulkActionClicked(this.bulkActionData);
1508
+ }
1236
1509
  }
1237
- else {
1238
- this.refreshWidget(this.data.widgetInfo);
1510
+ if (changes.globalFilter && changes.globalFilter.currentValue != changes.globalFilter.previousValue) {
1511
+ if (!this.dashboardInfo.curatedFilters) {
1512
+ var filterObj = this.getParsedConfig(this.globalFilter);
1513
+ if (filterObj.WidgetInstanceId) {
1514
+ if (this.data.widgetInfo.widgetInstanceId != filterObj.WidgetInstanceId)
1515
+ this.refreshWidget(this.data.widgetInfo);
1516
+ }
1517
+ else {
1518
+ //this.refreshWidget(this.data.widgetInfo);
1519
+ }
1520
+ }
1521
+ }
1522
+ if (changes.width && changes.width.currentValue != changes.width.previousValue ||
1523
+ (changes.height && changes.height.currentValue != changes.height.previousValue)) {
1524
+ this.invokeWidgetResizedEvent();
1239
1525
  }
1240
- }
1241
- if (changes.width && changes.width.currentValue != changes.width.previousValue ||
1242
- (changes.height && changes.height.currentValue != changes.height.previousValue)) {
1243
- this.invokeWidgetResizedEvent();
1244
1526
  }
1245
1527
  };
1246
1528
  RAWidgetContainer.prototype.invokeWidgetResizedEvent = function () {
@@ -1432,6 +1714,10 @@
1432
1714
  _this.showPanel = true;
1433
1715
  else
1434
1716
  _this.showPanel = false;
1717
+ if (!_this.data.dataLoaded) {
1718
+ _this.data.dataLoaded = true;
1719
+ _this.dataLoaded.emit(_this.widgetElement);
1720
+ }
1435
1721
  break;
1436
1722
  case 'onConfigEditClicked':
1437
1723
  _this.editWidget();
@@ -1504,7 +1790,9 @@
1504
1790
  widgetConfigFilter.configChanges = this.getConfigChanges(false);
1505
1791
  widgetConfigFilter.widgetInfo.widgetName = widgetInfo.widgetName;
1506
1792
  widgetConfigFilter.globalFilter = this.globalFilter;
1793
+ widgetConfigFilter.dashboardInfo = me.dashboardInfo;
1507
1794
  this.widgetElement.loadContent(widgetConfigFilter);
1795
+ this.widgetLoaded.emit();
1508
1796
  return [4 /*yield*/, this.setLock(widgetConfigFilter.config)];
1509
1797
  case 1:
1510
1798
  _a.sent();
@@ -1774,9 +2062,12 @@
1774
2062
  var html = '<div id="ra-db-widget-menu"' + 'style="' + style + '" class="download-content dropdown-content widget-config-item dropdown-click" style="z-index: 1002;">';
1775
2063
  var settings = '';
1776
2064
  if (this.isWidgetMgmnt) {
1777
- settings += this.getHtmlForButton('wcEditWidget', 'fal fa-edit', this.editText);
1778
- settings += this.getHtmlForButton('wcCopyWidget', 'fal fa-copy', this.copyText);
1779
- settings += this.getHtmlForButton('wcMoveWidget', 'fal fa-arrows-alt', this.moveText);
2065
+ if (!this.data.widgetInfo.templateWidgetSettings || !this.data.widgetInfo.templateWidgetSettings.hideEdit)
2066
+ settings += this.getHtmlForButton('wcEditWidget', 'fal fa-edit', this.editText);
2067
+ if (!this.data.widgetInfo.templateWidgetSettings || !this.data.widgetInfo.templateWidgetSettings.hideCopy)
2068
+ settings += this.getHtmlForButton('wcCopyWidget', 'fal fa-copy', this.copyText);
2069
+ if (!this.data.widgetInfo.templateWidgetSettings || !this.data.widgetInfo.templateWidgetSettings.hideMove)
2070
+ settings += this.getHtmlForButton('wcMoveWidget', 'fal fa-arrows-alt', this.moveText);
1780
2071
  }
1781
2072
  var customPageParams = false;
1782
2073
  if (this.data.widgetInfo && this.data.widgetInfo.widgetSettings) {
@@ -1785,14 +2076,14 @@
1785
2076
  customPageParams = true;
1786
2077
  }
1787
2078
  }
1788
- if ((this.detailPageUrl || customPageParams) && this.checkVisitLinkVisiblity()) {
2079
+ if (!this.data.widgetInfo.templateWidgetSettings || !this.data.widgetInfo.templateWidgetSettings.hideVisitPage && (this.detailPageUrl || customPageParams) && this.checkVisitLinkVisiblity()) {
1789
2080
  settings += '<a style="max-height: 30px;align-items: center;align-content: center; display: flex;" id="wcVisitWidget">';
1790
2081
  settings += '<i style="padding-left: 4px;font-size: 27px !important;" class="fal fa-angle-right"></i> ';
1791
2082
  settings += '<span style="padding-left: 11px;margin-top: 2px;" style="padding-left: 6px;">';
1792
2083
  settings += this.translateService.translate('Common.visitpage');
1793
2084
  settings += '</span></a>';
1794
2085
  }
1795
- if ((this.detailPageUrl && this.checkVisitLinkVisiblity()) || this.isWidgetMgmnt) {
2086
+ if (!this.data.widgetInfo.templateWidgetSettings || !this.data.widgetInfo.templateWidgetSettings.hideVisitPage && (this.detailPageUrl && this.checkVisitLinkVisiblity()) || this.isWidgetMgmnt) {
1796
2087
  html += '<div style="color: #9FA0A4;font-size: 12px;padding-top: 8px;padding-left: 12px;">';
1797
2088
  html += this.translateService.translate('Common.settings') + '</div>';
1798
2089
  html += settings;
@@ -1824,7 +2115,7 @@
1824
2115
  if (this.isDownloadIconVisible && this.isWidgetMgmnt && this.showExcell) {
1825
2116
  html += this.getHr();
1826
2117
  }
1827
- if (this.isWidgetMgmnt) {
2118
+ if (this.isWidgetMgmnt && !this.data.widgetInfo.templateWidgetSettings || !this.data.widgetInfo.templateWidgetSettings.hideDelete) {
1828
2119
  html += '<a id="wcWidgetDelete"><i class="fal fa-times" style="padding-left: 3px;color: red;"></i><span>';
1829
2120
  html += this.deleteText;
1830
2121
  html += '</span></a>';
@@ -1905,18 +2196,6 @@
1905
2196
  if (this.currentComponent)
1906
2197
  this.popupInstance.removeMe(this.currentComponent);
1907
2198
  };
1908
- RAWidgetContainer.prototype.getwidgetTitleTranslation = function (item) {
1909
- var rKey = 'DBW_' + this.translateService.makeCode(item);
1910
- var translatedString = '';
1911
- var translationModule = this.dashboardService.clientId + '_DBW';
1912
- translatedString = this.translateService.translate(translationModule + '.' + rKey);
1913
- if (translatedString.toLowerCase() === rKey.toLowerCase()) {
1914
- return item;
1915
- }
1916
- else {
1917
- return translatedString;
1918
- }
1919
- };
1920
2199
  RAWidgetContainer.ctorParameters = function () { return [
1921
2200
  { type: RaDashboardService },
1922
2201
  { type: ngxUiLoader.NgxUiLoaderService },
@@ -1959,6 +2238,10 @@
1959
2238
  core.Input('global-filter'),
1960
2239
  __metadata("design:type", Object)
1961
2240
  ], RAWidgetContainer.prototype, "globalFilter", void 0);
2241
+ __decorate([
2242
+ core.Input('dashboard-info'),
2243
+ __metadata("design:type", Object)
2244
+ ], RAWidgetContainer.prototype, "dashboardInfo", void 0);
1962
2245
  __decorate([
1963
2246
  core.Input('data'),
1964
2247
  __metadata("design:type", Object)
@@ -1983,6 +2266,10 @@
1983
2266
  core.Input('grid-cell-height'),
1984
2267
  __metadata("design:type", Number)
1985
2268
  ], RAWidgetContainer.prototype, "gridCellHeight", void 0);
2269
+ __decorate([
2270
+ core.Input('bulk-action-data'),
2271
+ __metadata("design:type", Object)
2272
+ ], RAWidgetContainer.prototype, "bulkActionData", void 0);
1986
2273
  __decorate([
1987
2274
  core.Output(),
1988
2275
  __metadata("design:type", Object)
@@ -1991,6 +2278,14 @@
1991
2278
  core.Output(),
1992
2279
  __metadata("design:type", Object)
1993
2280
  ], RAWidgetContainer.prototype, "updateAppliedFilters", void 0);
2281
+ __decorate([
2282
+ core.Output(),
2283
+ __metadata("design:type", Object)
2284
+ ], RAWidgetContainer.prototype, "dataLoaded", void 0);
2285
+ __decorate([
2286
+ core.Output(),
2287
+ __metadata("design:type", Object)
2288
+ ], RAWidgetContainer.prototype, "widgetLoaded", void 0);
1994
2289
  __decorate([
1995
2290
  core.Input('dom-resized'),
1996
2291
  __metadata("design:type", Boolean),
@@ -4989,11 +5284,13 @@
4989
5284
  function RaBaseDashboardTemplate(ngZone) {
4990
5285
  var _this = this;
4991
5286
  this.ngZone = ngZone;
4992
- this.initialize = function (eventBus, userDashboardId, appConfig) {
5287
+ this.initialize = function (eventBus, userDashboardId, appConfig, dashboardInfo, templateConfig) {
4993
5288
  _this.ngZone.run(function () {
4994
5289
  _this.userDashboardId = userDashboardId;
4995
5290
  _this.appConfig = appConfig;
4996
5291
  _this.raDashboardEventBus = eventBus;
5292
+ _this.dashboardInfo = dashboardInfo;
5293
+ _this.templateConfig = templateConfig;
4997
5294
  });
4998
5295
  _this.init();
4999
5296
  };