@schneideress/dashboardframework 0.0.271 → 0.0.273

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 +430 -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 +164 -62
  8. package/esm2015/lib/ra-widget-container/ra.widget.container.component.js +64 -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 +166 -62
  17. package/esm5/lib/ra-widget-container/ra.widget.container.component.js +64 -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 +254 -96
  24. package/fesm2015/schneideress-dashboardframework.js.map +1 -1
  25. package/fesm5/schneideress-dashboardframework.js +257 -97
  26. package/fesm5/schneideress-dashboardframework.js.map +1 -1
  27. package/lib/ra-dashboard-area/ra.dashboard.area.d.ts +24 -2
  28. package/lib/ra-widget-container/ra.widget.container.component.d.ts +6 -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);
216
287
  }
217
288
 
218
- function __classPrivateFieldSet(receiver, privateMap, value) {
219
- if (!privateMap.has(receiver)) {
220
- throw new TypeError("attempted to set private field on non-instance");
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);
299
+ }
300
+
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,44 @@
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
+ }
888
+ };
889
+ RADashboardArea.prototype.widgetLoaded = function (widget) {
890
+ widget.canLoadData = true;
690
891
  };
691
892
  /** To initiate eventbus subsctiptions */
692
893
  RADashboardArea.prototype.inititateEventBusSubscritions = function () {
@@ -706,6 +907,11 @@
706
907
  _this.addWidget(e);
707
908
  });
708
909
  });
910
+ this.curatedFilterChange = this.raDashboardEventBus.subscribe(exports.RAEvent.CuratedFilterChange).subscribe(function (e) {
911
+ _this.ngZone.run(function () {
912
+ _this.loadWidgets(_this.userDashboardId, _this.areaKey);
913
+ });
914
+ });
709
915
  this.rearrangeWidgetClick = this.raDashboardEventBus.subscribe(exports.RAEvent.RearrangeClicked).subscribe(function (e) {
710
916
  _this.ngZone.run(function () {
711
917
  _this.rearrangeWidgets();
@@ -754,6 +960,10 @@
754
960
  this.widgetLibraryDoneClick.unsubscribe();
755
961
  if (this.rearrangeWidgetClick)
756
962
  this.rearrangeWidgetClick.unsubscribe();
963
+ if (this.curatedFilterChange)
964
+ this.curatedFilterChange.unsubscribe();
965
+ if (this.bulkActionClick)
966
+ this.bulkActionClick.unsubscribe();
757
967
  };
758
968
  /**To update position/dimention of all widgets in the area */
759
969
  RADashboardArea.prototype.updateWidgets = function () {
@@ -790,6 +1000,12 @@
790
1000
  /** To retrieve widgets based on userDashboardid and area name */
791
1001
  RADashboardArea.prototype.loadWidgets = function (userDashboarId, areaKey) {
792
1002
  var _this = this;
1003
+ if (this.templateConfig && this.templateConfig.initialWidgetCount)
1004
+ this.initialWidgetCount = this.templateConfig.initialWidgetCount;
1005
+ if (location.href.indexOf('/kiosk/') > -1)
1006
+ this.initialWidgetCount = 1000;
1007
+ this.currentLoadedIndex = 0;
1008
+ this.loading = false;
793
1009
  var widgetInfo = {
794
1010
  dashboardId: userDashboarId.toString(),
795
1011
  dashboardAreaKey: areaKey
@@ -797,7 +1013,6 @@
797
1013
  this.widgetList = [];
798
1014
  this.dashboardService.getWidgetsByDashboardArea(widgetInfo, this.appConfig).subscribe(function (widgets) {
799
1015
  _this.userWidgets = widgets;
800
- _this.dashboardService.clientId = widgets[0].clientId;
801
1016
  _this.PAMWidgets = [];
802
1017
  widgets.forEach(function (element) {
803
1018
  var settings = undefined;
@@ -809,8 +1024,8 @@
809
1024
  });
810
1025
  _this.checkPAMWidgets();
811
1026
  if (widgets && widgets.length > 0) {
812
- _this.widgetList = _this.mapObjectListToGridsterItemList(widgets);
813
- _this.setAreaHeight();
1027
+ _this.widgetList = [];
1028
+ _this.loadWidgetsDelta();
814
1029
  _this.raDashboardEventBus.publish(exports.RAEvent.HideDashboardBanner, false);
815
1030
  }
816
1031
  else {
@@ -819,6 +1034,45 @@
819
1034
  }
820
1035
  });
821
1036
  };
1037
+ RADashboardArea.prototype.loadWidgetsDelta = function () {
1038
+ var _this = this;
1039
+ var _a;
1040
+ if (!this.loading) {
1041
+ this.loading = true;
1042
+ var widgets = this.mapObjectListToGridsterItemList(this.userWidgets.slice(this.currentLoadedIndex, (this.currentLoadedIndex + this.initialWidgetCount)));
1043
+ this.currentLoadedIndex += this.initialWidgetCount;
1044
+ (_a = this.widgetList).push.apply(_a, __spread(widgets));
1045
+ this.setAreaHeight();
1046
+ setTimeout(function () {
1047
+ _this.loading = false;
1048
+ });
1049
+ }
1050
+ };
1051
+ RADashboardArea.prototype.dataLoaded = function (widgetElement) {
1052
+ this.loadNext();
1053
+ };
1054
+ RADashboardArea.prototype.loadNext = function () {
1055
+ if (this.divBottom) {
1056
+ if (this.elementInViewport(this.divBottom.nativeElement)) {
1057
+ this.loadWidgetsDelta();
1058
+ }
1059
+ }
1060
+ };
1061
+ RADashboardArea.prototype.elementInViewport = function (el) {
1062
+ var top = el.offsetTop;
1063
+ var left = el.offsetLeft;
1064
+ var width = el.offsetWidth;
1065
+ var height = el.offsetHeight;
1066
+ while (el.offsetParent) {
1067
+ el = el.offsetParent;
1068
+ top += el.offsetTop;
1069
+ left += el.offsetLeft;
1070
+ }
1071
+ return (top >= window.scrollY &&
1072
+ left >= window.scrollX &&
1073
+ (top + height) <= (window.scrollY + window.innerHeight) &&
1074
+ (left + width) <= (window.scrollX + window.innerWidth));
1075
+ };
822
1076
  /** To set Area(Gridster) height dynamically as widgets are added/removed */
823
1077
  RADashboardArea.prototype.setAreaHeight = function () {
824
1078
  var _this = this;
@@ -862,22 +1116,22 @@
862
1116
  /** To remove a widget instance from dashboard and to save info in database */
863
1117
  RADashboardArea.prototype.deleteWidget = function (widgetInstanceId, isalertDisabled) {
864
1118
  if (isalertDisabled === void 0) { isalertDisabled = false; }
1119
+ var widget = this.userWidgets.filter(function (item) {
1120
+ return item.widgetInstanceId === widgetInstanceId;
1121
+ });
1122
+ if (widget.length > 0) {
1123
+ this.userWidgets.splice(this.userWidgets.indexOf(widget[0]), 1);
1124
+ }
1125
+ if (this.PAMWidgets.length > 0) {
1126
+ var indx = this.PAMWidgets.indexOf(widgetInstanceId);
1127
+ if (indx > -1)
1128
+ this.PAMWidgets.splice(indx, 1);
1129
+ this.checkPAMWidgets();
1130
+ }
865
1131
  var gridsterItem = this.widgetList.filter(function (item) {
866
1132
  return item.widgetInfo.widgetInstanceId === widgetInstanceId;
867
1133
  });
868
1134
  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
1135
  this.widgetList.splice(this.widgetList.indexOf(gridsterItem[0]), 1);
882
1136
  this.setAreaHeight();
883
1137
  if (!isalertDisabled) {
@@ -892,11 +1146,15 @@
892
1146
  /**To rearrange widgets position in the dashboard, compactLeft&Up,compactLeft,compactUp,etc*/
893
1147
  RADashboardArea.prototype.rearrangeWidgets = function () {
894
1148
  var _this = this;
1149
+ this.currentLoadedIndex = 0;
1150
+ this.loading = false;
895
1151
  for (var i = 0; i < this.userWidgets.length; i++) {
896
1152
  this.userWidgets[i].position_x = 0;
897
1153
  this.userWidgets[i].position_y = 0;
898
1154
  }
899
- this.widgetList = this.mapObjectListToGridsterItemList(this.userWidgets);
1155
+ this.widgetList = [];
1156
+ this.loadWidgetsDelta();
1157
+ this.raDashboardEventBus.publish(exports.RAEvent.HideDashboardBanner, false);
900
1158
  if (this.widgetList.length > 0)
901
1159
  this.updateWidgetPosition(this.widgetList[0].widgetInfo.widgetInstanceId);
902
1160
  setTimeout(function () {
@@ -929,29 +1187,31 @@
929
1187
  this.ngxService.start();
930
1188
  this.dashboardService.addWidget(data, this.appConfig).subscribe(function (widget) {
931
1189
  _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;
1190
+ if (_this.currentLoadedIndex >= _this.userWidgets.length) {
1191
+ var gridsterItem = _this.responsiveService.getGridsterItem(widget);
1192
+ _this.widgetList.push(gridsterItem);
1193
+ _this.setAreaHeight();
1194
+ if (_this.options.api) {
1195
+ var curRowHeight = Number(_this.options.api.getCurrentRowHeight());
1196
+ if (curRowHeight > 0) {
1197
+ widget.rowHeight = curRowHeight;
1198
+ _this.gridcellHeight = curRowHeight;
1199
+ }
940
1200
  }
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
- });
1201
+ var widgetInstanceId = 0;
1202
+ if (widget && widget.widgetInstanceId) {
1203
+ widgetInstanceId = widget.widgetInstanceId;
1204
+ /**To save added widget position in db */
1205
+ if (_this.responsiveService.IsDesktopView) {
1206
+ setTimeout(function () {
1207
+ _this.updateWidgetPosition(widgetInstanceId);
1208
+ });
1209
+ }
1210
+ }
1211
+ if (widget.settings && widget.settings.isPAMWidget) {
1212
+ _this.PAMWidgets.push(widget.widgetInstanceId);
1213
+ _this.checkPAMWidgets();
950
1214
  }
951
- }
952
- if (widget.settings && widget.settings.isPAMWidget) {
953
- _this.PAMWidgets.push(widget.widgetInstanceId);
954
- _this.checkPAMWidgets();
955
1215
  }
956
1216
  _this.raDashboardEventBus.publish(exports.RAEvent.WidgetAdded, widget);
957
1217
  });
@@ -981,12 +1241,14 @@
981
1241
  });
982
1242
  }
983
1243
  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();
1244
+ if (this.currentLoadedIndex >= this.userWidgets.length) {
1245
+ var gridsterItem = this.responsiveService.getGridsterItem(data);
1246
+ this.widgetList.push(gridsterItem);
1247
+ this.setAreaHeight();
1248
+ if (data.settings && data.settings.isPAMWidget) {
1249
+ this.PAMWidgets.push(data.widgetInstanceId);
1250
+ this.checkPAMWidgets();
1251
+ }
990
1252
  }
991
1253
  };
992
1254
  RADashboardArea.prototype.mapObjectListToGridsterItemList = function (widgetList) {
@@ -1015,8 +1277,11 @@
1015
1277
  });
1016
1278
  return widgetListArray;
1017
1279
  };
1018
- RADashboardArea.prototype.addNewWidget = function () {
1019
- this.raDashboardEventBus.publish(exports.RAEvent.AddNewWidgetToDashboard, null);
1280
+ RADashboardArea.prototype.buttonClick = function () {
1281
+ if (this.emptyDashboardButtonAction == "widgets")
1282
+ this.raDashboardEventBus.publish(exports.RAEvent.AddNewWidgetToDashboard, null);
1283
+ else if (this.emptyDashboardButtonAction == "filter")
1284
+ this.raDashboardEventBus.publish(exports.RAEvent.GlobalFilterClick, null);
1020
1285
  };
1021
1286
  RADashboardArea.prototype.updateAppliedFilters = function (data) {
1022
1287
  this.raDashboardEventBus.publish(exports.RAEvent.UpdateAppledFiterForInapplicableFilter, data);
@@ -1066,6 +1331,14 @@
1066
1331
  core.Input('app-config'),
1067
1332
  __metadata("design:type", Object)
1068
1333
  ], RADashboardArea.prototype, "appConfig", void 0);
1334
+ __decorate([
1335
+ core.Input('dashboard-info'),
1336
+ __metadata("design:type", Object)
1337
+ ], RADashboardArea.prototype, "dashboardInfo", void 0);
1338
+ __decorate([
1339
+ core.Input(),
1340
+ __metadata("design:type", Object)
1341
+ ], RADashboardArea.prototype, "templateConfig", void 0);
1069
1342
  __decorate([
1070
1343
  core.Output(),
1071
1344
  __metadata("design:type", Object)
@@ -1074,11 +1347,15 @@
1074
1347
  core.ViewChild('gridWrapper', { static: false }),
1075
1348
  __metadata("design:type", core.ElementRef)
1076
1349
  ], RADashboardArea.prototype, "gridWrapper", void 0);
1350
+ __decorate([
1351
+ core.ViewChild('divBottom', { static: false }),
1352
+ __metadata("design:type", core.ElementRef)
1353
+ ], RADashboardArea.prototype, "divBottom", void 0);
1077
1354
  RADashboardArea = __decorate([
1078
1355
  core.Component({
1079
1356
  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}}"]
1357
+ 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>",
1358
+ 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
1359
  }),
1083
1360
  __metadata("design:paramtypes", [RaDashboardService,
1084
1361
  core.NgZone,
@@ -1181,8 +1458,11 @@
1181
1458
  this.showExcell = true;
1182
1459
  this.hideTitle = false;
1183
1460
  this.inapplicableFilters = [];
1461
+ this.canLoadData = false;
1184
1462
  this.widgetDeleted = new core.EventEmitter();
1185
1463
  this.updateAppliedFilters = new core.EventEmitter();
1464
+ this.dataLoaded = new core.EventEmitter();
1465
+ this.widgetLoaded = new core.EventEmitter();
1186
1466
  this.isWidgetStateApplicable = false;
1187
1467
  this.widgetEmptyState = '';
1188
1468
  this.lockVisible = false;
@@ -1207,7 +1487,7 @@
1207
1487
  configurable: true
1208
1488
  });
1209
1489
  RAWidgetContainer.prototype.ngOnInit = function () {
1210
- this.WidgetDisplayName = this.getwidgetTitleTranslation(this.data.widgetInfo.widgetTitle);
1490
+ this.WidgetDisplayName = this.translateService.translate('Common.' + this.data.widgetInfo.widgetTitle, true);
1211
1491
  this.lockIconTitle = this.translateService.translate('Common.lockedfields');
1212
1492
  this.lockIconFooter = this.translateService.translate('Common.lockedfieldseditinfo');
1213
1493
  this.inapplicableIconTitle = this.translateService.translate('Common.InapplicableFilters');
@@ -1228,19 +1508,32 @@
1228
1508
  });
1229
1509
  });
1230
1510
  }
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);
1511
+ if (this.widgetElement) {
1512
+ if (changes.bulkActionData && changes.bulkActionData.currentValue != changes.bulkActionData.previousValue) {
1513
+ if (typeof this.widgetElement.bulkActionClicked === "function") {
1514
+ this.widgetElement.bulkActionClicked(this.bulkActionData);
1515
+ }
1236
1516
  }
1237
- else {
1238
- this.refreshWidget(this.data.widgetInfo);
1517
+ if (changes.globalFilter && changes.globalFilter.currentValue != changes.globalFilter.previousValue) {
1518
+ if (!this.dashboardInfo.curatedFilters) {
1519
+ var filterObj = this.getParsedConfig(this.globalFilter);
1520
+ if (filterObj.WidgetInstanceId) {
1521
+ if (this.data.widgetInfo.widgetInstanceId != filterObj.WidgetInstanceId)
1522
+ this.refreshWidget(this.data.widgetInfo);
1523
+ }
1524
+ else {
1525
+ //this.refreshWidget(this.data.widgetInfo);
1526
+ }
1527
+ }
1528
+ }
1529
+ if (changes.width && changes.width.currentValue != changes.width.previousValue ||
1530
+ (changes.height && changes.height.currentValue != changes.height.previousValue)) {
1531
+ this.invokeWidgetResizedEvent();
1239
1532
  }
1240
1533
  }
1241
- if (changes.width && changes.width.currentValue != changes.width.previousValue ||
1242
- (changes.height && changes.height.currentValue != changes.height.previousValue)) {
1243
- this.invokeWidgetResizedEvent();
1534
+ if (changes.canLoadData && changes.canLoadData.currentValue != changes.canLoadData.previousValue) {
1535
+ if (this.canLoadData)
1536
+ this.refreshWidget(this.data.widgetInfo);
1244
1537
  }
1245
1538
  };
1246
1539
  RAWidgetContainer.prototype.invokeWidgetResizedEvent = function () {
@@ -1432,6 +1725,10 @@
1432
1725
  _this.showPanel = true;
1433
1726
  else
1434
1727
  _this.showPanel = false;
1728
+ if (!_this.data.dataLoaded) {
1729
+ _this.data.dataLoaded = true;
1730
+ _this.dataLoaded.emit(_this.widgetElement);
1731
+ }
1435
1732
  break;
1436
1733
  case 'onConfigEditClicked':
1437
1734
  _this.editWidget();
@@ -1504,7 +1801,9 @@
1504
1801
  widgetConfigFilter.configChanges = this.getConfigChanges(false);
1505
1802
  widgetConfigFilter.widgetInfo.widgetName = widgetInfo.widgetName;
1506
1803
  widgetConfigFilter.globalFilter = this.globalFilter;
1507
- this.widgetElement.loadContent(widgetConfigFilter);
1804
+ widgetConfigFilter.dashboardInfo = me.dashboardInfo;
1805
+ //this.widgetElement.loadContent(widgetConfigFilter);
1806
+ this.widgetLoaded.emit();
1508
1807
  return [4 /*yield*/, this.setLock(widgetConfigFilter.config)];
1509
1808
  case 1:
1510
1809
  _a.sent();
@@ -1774,9 +2073,12 @@
1774
2073
  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
2074
  var settings = '';
1776
2075
  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);
2076
+ if (!this.data.widgetInfo.templateWidgetSettings || !this.data.widgetInfo.templateWidgetSettings.hideEdit)
2077
+ settings += this.getHtmlForButton('wcEditWidget', 'fal fa-edit', this.editText);
2078
+ if (!this.data.widgetInfo.templateWidgetSettings || !this.data.widgetInfo.templateWidgetSettings.hideCopy)
2079
+ settings += this.getHtmlForButton('wcCopyWidget', 'fal fa-copy', this.copyText);
2080
+ if (!this.data.widgetInfo.templateWidgetSettings || !this.data.widgetInfo.templateWidgetSettings.hideMove)
2081
+ settings += this.getHtmlForButton('wcMoveWidget', 'fal fa-arrows-alt', this.moveText);
1780
2082
  }
1781
2083
  var customPageParams = false;
1782
2084
  if (this.data.widgetInfo && this.data.widgetInfo.widgetSettings) {
@@ -1785,14 +2087,14 @@
1785
2087
  customPageParams = true;
1786
2088
  }
1787
2089
  }
1788
- if ((this.detailPageUrl || customPageParams) && this.checkVisitLinkVisiblity()) {
2090
+ if (!this.data.widgetInfo.templateWidgetSettings || !this.data.widgetInfo.templateWidgetSettings.hideVisitPage && (this.detailPageUrl || customPageParams) && this.checkVisitLinkVisiblity()) {
1789
2091
  settings += '<a style="max-height: 30px;align-items: center;align-content: center; display: flex;" id="wcVisitWidget">';
1790
2092
  settings += '<i style="padding-left: 4px;font-size: 27px !important;" class="fal fa-angle-right"></i> ';
1791
2093
  settings += '<span style="padding-left: 11px;margin-top: 2px;" style="padding-left: 6px;">';
1792
2094
  settings += this.translateService.translate('Common.visitpage');
1793
2095
  settings += '</span></a>';
1794
2096
  }
1795
- if ((this.detailPageUrl && this.checkVisitLinkVisiblity()) || this.isWidgetMgmnt) {
2097
+ if (!this.data.widgetInfo.templateWidgetSettings || !this.data.widgetInfo.templateWidgetSettings.hideVisitPage && (this.detailPageUrl && this.checkVisitLinkVisiblity()) || this.isWidgetMgmnt) {
1796
2098
  html += '<div style="color: #9FA0A4;font-size: 12px;padding-top: 8px;padding-left: 12px;">';
1797
2099
  html += this.translateService.translate('Common.settings') + '</div>';
1798
2100
  html += settings;
@@ -1824,7 +2126,7 @@
1824
2126
  if (this.isDownloadIconVisible && this.isWidgetMgmnt && this.showExcell) {
1825
2127
  html += this.getHr();
1826
2128
  }
1827
- if (this.isWidgetMgmnt) {
2129
+ if (this.isWidgetMgmnt && !this.data.widgetInfo.templateWidgetSettings || !this.data.widgetInfo.templateWidgetSettings.hideDelete) {
1828
2130
  html += '<a id="wcWidgetDelete"><i class="fal fa-times" style="padding-left: 3px;color: red;"></i><span>';
1829
2131
  html += this.deleteText;
1830
2132
  html += '</span></a>';
@@ -1905,18 +2207,6 @@
1905
2207
  if (this.currentComponent)
1906
2208
  this.popupInstance.removeMe(this.currentComponent);
1907
2209
  };
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
2210
  RAWidgetContainer.ctorParameters = function () { return [
1921
2211
  { type: RaDashboardService },
1922
2212
  { type: ngxUiLoader.NgxUiLoaderService },
@@ -1959,6 +2249,10 @@
1959
2249
  core.Input('global-filter'),
1960
2250
  __metadata("design:type", Object)
1961
2251
  ], RAWidgetContainer.prototype, "globalFilter", void 0);
2252
+ __decorate([
2253
+ core.Input('dashboard-info'),
2254
+ __metadata("design:type", Object)
2255
+ ], RAWidgetContainer.prototype, "dashboardInfo", void 0);
1962
2256
  __decorate([
1963
2257
  core.Input('data'),
1964
2258
  __metadata("design:type", Object)
@@ -1983,6 +2277,14 @@
1983
2277
  core.Input('grid-cell-height'),
1984
2278
  __metadata("design:type", Number)
1985
2279
  ], RAWidgetContainer.prototype, "gridCellHeight", void 0);
2280
+ __decorate([
2281
+ core.Input('bulk-action-data'),
2282
+ __metadata("design:type", Object)
2283
+ ], RAWidgetContainer.prototype, "bulkActionData", void 0);
2284
+ __decorate([
2285
+ core.Input(),
2286
+ __metadata("design:type", Boolean)
2287
+ ], RAWidgetContainer.prototype, "canLoadData", void 0);
1986
2288
  __decorate([
1987
2289
  core.Output(),
1988
2290
  __metadata("design:type", Object)
@@ -1991,6 +2293,14 @@
1991
2293
  core.Output(),
1992
2294
  __metadata("design:type", Object)
1993
2295
  ], RAWidgetContainer.prototype, "updateAppliedFilters", void 0);
2296
+ __decorate([
2297
+ core.Output(),
2298
+ __metadata("design:type", Object)
2299
+ ], RAWidgetContainer.prototype, "dataLoaded", void 0);
2300
+ __decorate([
2301
+ core.Output(),
2302
+ __metadata("design:type", Object)
2303
+ ], RAWidgetContainer.prototype, "widgetLoaded", void 0);
1994
2304
  __decorate([
1995
2305
  core.Input('dom-resized'),
1996
2306
  __metadata("design:type", Boolean),
@@ -4989,11 +5299,13 @@
4989
5299
  function RaBaseDashboardTemplate(ngZone) {
4990
5300
  var _this = this;
4991
5301
  this.ngZone = ngZone;
4992
- this.initialize = function (eventBus, userDashboardId, appConfig) {
5302
+ this.initialize = function (eventBus, userDashboardId, appConfig, dashboardInfo, templateConfig) {
4993
5303
  _this.ngZone.run(function () {
4994
5304
  _this.userDashboardId = userDashboardId;
4995
5305
  _this.appConfig = appConfig;
4996
5306
  _this.raDashboardEventBus = eventBus;
5307
+ _this.dashboardInfo = dashboardInfo;
5308
+ _this.templateConfig = templateConfig;
4997
5309
  });
4998
5310
  _this.init();
4999
5311
  };