logitude-dashboard-library 1.4.60 → 1.4.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -17,16 +17,19 @@ function _extends() {
17
17
  _extends = Object.assign ? Object.assign.bind() : function (target) {
18
18
  for (var i = 1; i < arguments.length; i++) {
19
19
  var source = arguments[i];
20
+
20
21
  for (var key in source) {
21
22
  if (Object.prototype.hasOwnProperty.call(source, key)) {
22
23
  target[key] = source[key];
23
24
  }
24
25
  }
25
26
  }
27
+
26
28
  return target;
27
29
  };
28
30
  return _extends.apply(this, arguments);
29
31
  }
32
+
30
33
  function _unsupportedIterableToArray(o, minLen) {
31
34
  if (!o) return;
32
35
  if (typeof o === "string") return _arrayLikeToArray(o, minLen);
@@ -35,14 +38,19 @@ function _unsupportedIterableToArray(o, minLen) {
35
38
  if (n === "Map" || n === "Set") return Array.from(o);
36
39
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
37
40
  }
41
+
38
42
  function _arrayLikeToArray(arr, len) {
39
43
  if (len == null || len > arr.length) len = arr.length;
44
+
40
45
  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
46
+
41
47
  return arr2;
42
48
  }
49
+
43
50
  function _createForOfIteratorHelperLoose(o, allowArrayLike) {
44
51
  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
45
52
  if (it) return (it = it.call(o)).next.bind(it);
53
+
46
54
  if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
47
55
  if (it) o = it;
48
56
  var i = 0;
@@ -56,6 +64,7 @@ function _createForOfIteratorHelperLoose(o, allowArrayLike) {
56
64
  };
57
65
  };
58
66
  }
67
+
59
68
  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
60
69
  }
61
70
 
@@ -63,8 +72,10 @@ var Session = function Session() {};
63
72
 
64
73
  var Tools = /*#__PURE__*/function () {
65
74
  function Tools() {}
75
+
66
76
  Tools.GetLogitudeURL = function GetLogitudeURL() {
67
77
  var logitude_url = location.href.replace('index.html', '');
78
+
68
79
  if (location.href.indexOf('localhost') > -1) {
69
80
  logitude_url = 'http://localhost:9996';
70
81
  } else {
@@ -73,19 +84,24 @@ var Tools = /*#__PURE__*/function () {
73
84
  url = url.replace(url.substring(url.lastIndexOf('/'), url.length), "");
74
85
  logitude_url = url;
75
86
  }
87
+
76
88
  return logitude_url;
77
89
  };
90
+
78
91
  Tools.Map = function Map(from, to) {
79
92
  if (!from) return;
80
93
  if (!to) to = {};
81
94
  var keys = Object.keys(from);
95
+
82
96
  for (var _i = 0, _keys = keys; _i < _keys.length; _i++) {
83
97
  var k = _keys[_i];
98
+
84
99
  if (from[k]) {
85
100
  to[k] = from[k];
86
101
  }
87
102
  }
88
103
  };
104
+
89
105
  return Tools;
90
106
  }();
91
107
 
@@ -93,7 +109,9 @@ var ApiServices = /*#__PURE__*/function () {
93
109
  function ApiServices() {
94
110
  this._apiUrl = Tools.GetLogitudeURL();
95
111
  }
112
+
96
113
  var _proto = ApiServices.prototype;
114
+
97
115
  _proto.getByFilters = function getByFilters(api, filters) {
98
116
  var token = this.getTokenFromStorage();
99
117
  var apiURL = "" + this._apiUrl + api;
@@ -105,6 +123,7 @@ var ApiServices = /*#__PURE__*/function () {
105
123
  }
106
124
  });
107
125
  };
126
+
108
127
  _proto.get = function get(api) {
109
128
  var token = this.getTokenFromStorage();
110
129
  var apiURL = "" + this._apiUrl + api;
@@ -115,6 +134,7 @@ var ApiServices = /*#__PURE__*/function () {
115
134
  }
116
135
  });
117
136
  };
137
+
118
138
  _proto.post = function post(api, date) {
119
139
  var token = this.getTokenFromStorage();
120
140
  var apiURL = "" + this._apiUrl + api;
@@ -125,32 +145,41 @@ var ApiServices = /*#__PURE__*/function () {
125
145
  }
126
146
  });
127
147
  };
148
+
128
149
  _proto.getTokenFromStorage = function getTokenFromStorage() {
129
150
  return Session.Token || '';
130
151
  };
152
+
131
153
  _proto.ConcatFiltersToURL = function ConcatFiltersToURL(filters, urlparameters) {
132
154
  var mykeys = Object.keys(filters);
133
155
  var addtionalFiltersValues = null;
156
+
134
157
  for (var i in mykeys) {
135
158
  var propName = mykeys[i];
136
159
  var propValue = filters[propName];
137
160
  var ignoreFilter = propName.indexOf("Operator") > 0 && propValue == "Equals" || propName == "AdditionalFilters";
161
+
138
162
  if (urlparameters != "?") {
139
163
  urlparameters = urlparameters.concat('&');
140
164
  }
165
+
141
166
  if (!ignoreFilter) {
142
167
  propValue = propValue ? encodeURIComponent(propValue) : '';
143
168
  urlparameters = urlparameters.concat(propName.concat('=').concat(propValue));
144
169
  }
170
+
145
171
  if (propName == "AdditionalFilters" && propValue.length > 0) {
146
172
  addtionalFiltersValues = JSON.stringify(propValue);
147
173
  }
148
174
  }
175
+
149
176
  if (addtionalFiltersValues) {
150
177
  urlparameters = urlparameters.concat("&AdditionalFilters=").concat(addtionalFiltersValues);
151
178
  }
179
+
152
180
  return urlparameters;
153
181
  };
182
+
154
183
  return ApiServices;
155
184
  }();
156
185
 
@@ -159,31 +188,39 @@ var DashboardAnalyticsService = /*#__PURE__*/function () {
159
188
  this.controller = 'DashboardAnalytics';
160
189
  this._ApiServices = new ApiServices();
161
190
  }
191
+
162
192
  var _proto = DashboardAnalyticsService.prototype;
193
+
163
194
  _proto.getData = function getData(widget) {
164
195
  return this._ApiServices.post("/api/" + this.controller + "/PostGetDataAnalytic", widget);
165
196
  };
197
+
166
198
  _proto.getKpiData = function getKpiData(widget) {
167
199
  return this._ApiServices.post("/api/" + this.controller + "/PostGetKpiData", widget);
168
200
  };
201
+
169
202
  return DashboardAnalyticsService;
170
203
  }();
171
204
 
172
205
  var _path;
206
+
173
207
  function _extends$1() {
174
208
  _extends$1 = Object.assign ? Object.assign.bind() : function (target) {
175
209
  for (var i = 1; i < arguments.length; i++) {
176
210
  var source = arguments[i];
211
+
177
212
  for (var key in source) {
178
213
  if (Object.prototype.hasOwnProperty.call(source, key)) {
179
214
  target[key] = source[key];
180
215
  }
181
216
  }
182
217
  }
218
+
183
219
  return target;
184
220
  };
185
221
  return _extends$1.apply(this, arguments);
186
222
  }
223
+
187
224
  function SvgRedWarning(props) {
188
225
  return /*#__PURE__*/React.createElement("svg", _extends$1({
189
226
  xmlns: "http://www.w3.org/2000/svg",
@@ -204,59 +241,79 @@ var DateGroupCodes = {
204
241
  Month_Year: 'Month & Year',
205
242
  Quarter_Year: 'Quarter & Year'
206
243
  };
244
+
207
245
  var getDateFormat = function getDateFormat(label, _format) {
208
246
  if (!label) return label;
247
+
209
248
  var _date = moment(label);
249
+
210
250
  if (!_date || !_date.isValid()) return label;
211
251
  return _date.format(_format);
212
252
  };
253
+
213
254
  var getQuarterYearFormat = function getQuarterYearFormat(label) {
214
255
  if (!label) return label;
256
+
215
257
  if (label.includes("/")) {
216
258
  var result = label.split("/");
217
259
  var quarterVal = result && result[1] ? result[1] : "";
218
260
  var yearVal = result && result[0] ? result[0] : "";
219
261
  return quarterVal + " " + yearVal;
220
262
  }
263
+
221
264
  return label;
222
265
  };
266
+
223
267
  var getLabelFormatByDateGroupType = function getLabelFormatByDateGroupType(label, widget, isSecondGrouping) {
224
268
  if (isSecondGrouping === void 0) {
225
269
  isSecondGrouping = false;
226
270
  }
271
+
227
272
  if (!widget) return label;
228
273
  var groupFieldDataType = isSecondGrouping ? widget.SecondaryDateGroupCode : widget.DateGroupCode;
229
274
  if (!groupFieldDataType) return label;
275
+
230
276
  switch (groupFieldDataType) {
231
277
  case DateGroupCodes.Full_Date:
232
278
  return getDateFormat(label, "DD MMM YYYY");
279
+
233
280
  case DateGroupCodes.Month:
234
281
  return getDateFormat(label, "MMM");
282
+
235
283
  case DateGroupCodes.Quarter:
236
284
  return label;
285
+
237
286
  case DateGroupCodes.Year:
238
287
  return getDateFormat(label, "YYYY");
288
+
239
289
  case DateGroupCodes.Month_Year:
240
290
  return getDateFormat(label, "MMM YYYY");
291
+
241
292
  case DateGroupCodes.Quarter_Year:
242
293
  return getQuarterYearFormat(label);
294
+
243
295
  default:
244
296
  return label;
245
297
  }
246
298
  };
247
299
 
248
300
  var KpiChart = function KpiChart(props) {
249
- var _widget$current3;
301
+ var _widget$current4;
302
+
250
303
  var _useState = React.useState(false),
251
- dataLoaded = _useState[0],
252
- setDataLoaded = _useState[1];
304
+ dataLoaded = _useState[0],
305
+ setDataLoaded = _useState[1];
306
+
253
307
  var _useState2 = React.useState(),
254
- error = _useState2[0],
255
- setError = _useState2[1];
308
+ error = _useState2[0],
309
+ setError = _useState2[1];
310
+
256
311
  var widget = React.useRef();
312
+
257
313
  var _useState3 = React.useState(),
258
- data = _useState3[0],
259
- setData = _useState3[1];
314
+ data = _useState3[0],
315
+ setData = _useState3[1];
316
+
260
317
  React.useEffect(function () {
261
318
  widget.current = props.customChartProps.widget;
262
319
  setDataLoaded(false);
@@ -264,6 +321,7 @@ var KpiChart = function KpiChart(props) {
264
321
  RefreshData();
265
322
  }, 500);
266
323
  }, []);
324
+
267
325
  var RefreshData = function RefreshData() {
268
326
  if (Session.Tenant == 0) {
269
327
  var emptyData = {};
@@ -272,28 +330,39 @@ var KpiChart = function KpiChart(props) {
272
330
  setDataLoaded(true);
273
331
  return;
274
332
  }
333
+
275
334
  var dashboardAnalyticsService = new DashboardAnalyticsService();
335
+
276
336
  var postWidget = _extends({}, widget.current);
337
+
277
338
  postWidget.onChange = undefined;
278
339
  dashboardAnalyticsService.getKpiData(postWidget).then(function (result) {
279
340
  setData(result.data);
280
341
  setDataLoaded(true);
281
342
  }, function (error) {
282
343
  var _error$response, _error$response$data, _error$response2, _error$response2$data;
344
+
283
345
  console.log('error', error);
284
346
  if (error !== null && error !== void 0 && (_error$response = error.response) !== null && _error$response !== void 0 && (_error$response$data = _error$response.data) !== null && _error$response$data !== void 0 && _error$response$data.ErrorMessage) setError(error === null || error === void 0 ? void 0 : (_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : (_error$response2$data = _error$response2.data) === null || _error$response2$data === void 0 ? void 0 : _error$response2$data.ErrorMessage);else setError(error.message);
285
347
  setDataLoaded(true);
286
348
  });
287
349
  };
350
+
288
351
  var kpiClick = function kpiClick() {
289
- var _widget$current, _widget$current2, _widget$current2$Widg;
352
+ var _widget$current, _widget$current2, _widget$current3, _widget$current3$Widg;
353
+
290
354
  var measureFieldId;
291
- if (widget !== null && widget !== void 0 && (_widget$current = widget.current) !== null && _widget$current !== void 0 && _widget$current.WidgetMeasures) measureFieldId = widget === null || widget === void 0 ? void 0 : (_widget$current2 = widget.current) === null || _widget$current2 === void 0 ? void 0 : (_widget$current2$Widg = _widget$current2.WidgetMeasures[0]) === null || _widget$current2$Widg === void 0 ? void 0 : _widget$current2$Widg.MeasureFieldId;
355
+ var currentWidgetMeasure = widget === null || widget === void 0 ? void 0 : (_widget$current = widget.current) === null || _widget$current === void 0 ? void 0 : _widget$current.WidgetMeasures[0];
356
+ if (widget !== null && widget !== void 0 && (_widget$current2 = widget.current) !== null && _widget$current2 !== void 0 && _widget$current2.WidgetMeasures) measureFieldId = widget === null || widget === void 0 ? void 0 : (_widget$current3 = widget.current) === null || _widget$current3 === void 0 ? void 0 : (_widget$current3$Widg = _widget$current3.WidgetMeasures[0]) === null || _widget$current3$Widg === void 0 ? void 0 : _widget$current3$Widg.MeasureFieldId;
292
357
  props.customChartProps.onSelectDataPoint({
293
358
  MeasureFieldId: measureFieldId,
294
- Widget: widget.current
359
+ Widget: widget.current,
360
+ MeasureCode: currentWidgetMeasure.MeasureCode,
361
+ Formula: currentWidgetMeasure.Formula,
362
+ GroupById: data === null || data === void 0 ? void 0 : data.GroupById
295
363
  });
296
364
  };
365
+
297
366
  function getRatioComponent() {
298
367
  if (!(data !== null && data !== void 0 && data.CompareWithPrevious)) return null;
299
368
  return React__default.createElement("div", {
@@ -302,6 +371,7 @@ var KpiChart = function KpiChart(props) {
302
371
  className: 'dl-kpi-ratio-text'
303
372
  }, data === null || data === void 0 ? void 0 : data.Ratio, " %"));
304
373
  }
374
+
305
375
  function getArrowComponent() {
306
376
  if (!data) return null;
307
377
  if ((data === null || data === void 0 ? void 0 : data.Ratio) == 0 || data.Value == data.ComparisonValue || (data.Value == "0" || data.Value == 0) && (data.ComparisonValue == "0" || data.ComparisonValue == 0)) return React__default.createElement("div", {
@@ -336,6 +406,7 @@ var KpiChart = function KpiChart(props) {
336
406
  }));
337
407
  return null;
338
408
  }
409
+
339
410
  function getPreviousValueComponent() {
340
411
  if (!(data !== null && data !== void 0 && data.CompareWithPrevious)) return null;
341
412
  var prevtext = !(data !== null && data !== void 0 && data.ComparisonValue) ? '' : data === null || data === void 0 ? void 0 : data.ComparisonValue;
@@ -349,6 +420,7 @@ var KpiChart = function KpiChart(props) {
349
420
  className: "dl-kpi-prev-abbreviationSymbol"
350
421
  }, data === null || data === void 0 ? void 0 : data.ComparisonAbbreviationSymbol));
351
422
  }
423
+
352
424
  function getValueData() {
353
425
  if ((data === null || data === void 0 ? void 0 : data.Value) == null) return React__default.createElement("div", {
354
426
  className: "dl-kpi-no-data"
@@ -357,6 +429,7 @@ var KpiChart = function KpiChart(props) {
357
429
  className: "dl-kpi-value dl-kpi-textTrimming"
358
430
  }, data === null || data === void 0 ? void 0 : data.Value);
359
431
  }
432
+
360
433
  function getValueComponent() {
361
434
  return React__default.createElement("div", {
362
435
  className: "dl-kpi-sub-container"
@@ -366,14 +439,16 @@ var KpiChart = function KpiChart(props) {
366
439
  className: "dl-kpi-unit"
367
440
  }, data === null || data === void 0 ? void 0 : data.Unit), getRatioComponent());
368
441
  }
442
+
369
443
  function getLabel() {
370
444
  var labelFormated = getLabelFormatByDateGroupType(data.Label, widget.current, false);
371
445
  return React__default.createElement("div", {
372
446
  className: "dl-kpi-label-container"
373
447
  }, React__default.createElement("span", {
374
- className: "dl-kpi-label-span"
448
+ className: "dl-kpi-label-span dl-kpi-textTrimming"
375
449
  }, labelFormated));
376
450
  }
451
+
377
452
  return !dataLoaded ? React__default.createElement("div", {
378
453
  className: 'dl-full-hight dl-flex-content-center spinner-custome'
379
454
  }, React__default.createElement(progressspinner.ProgressSpinner, {
@@ -385,7 +460,7 @@ var KpiChart = function KpiChart(props) {
385
460
  animationDuration: "2s"
386
461
  })) : !error ? React__default.createElement("div", {
387
462
  onClick: kpiClick,
388
- className: ((_widget$current3 = widget.current) === null || _widget$current3 === void 0 ? void 0 : _widget$current3.Alighnment) == "Left" ? "dl-kpi-container-click" : "dl-kpi-container-click dl-kpi-center-container"
463
+ className: ((_widget$current4 = widget.current) === null || _widget$current4 === void 0 ? void 0 : _widget$current4.Alighnment) == "Left" ? "dl-kpi-container-click" : "dl-kpi-container-click dl-kpi-center-container"
389
464
  }, React__default.createElement("div", {
390
465
  className: "dl-kpi-container"
391
466
  }, getLabel(), getValueComponent(), getPreviousValueComponent())) : React__default.createElement("div", {
@@ -405,15 +480,18 @@ var KpiChart = function KpiChart(props) {
405
480
  var CustomChart = function CustomChart(props) {
406
481
  var project = function project() {
407
482
  var _props$widget;
483
+
408
484
  switch ((_props$widget = props.widget) === null || _props$widget === void 0 ? void 0 : _props$widget.TypeCode) {
409
485
  case "kpi":
410
486
  return React__default.createElement(KpiChart, {
411
487
  customChartProps: props
412
488
  });
489
+
413
490
  default:
414
491
  return React__default.createElement("div", null, "Invalid Type");
415
492
  }
416
493
  };
494
+
417
495
  return React__default.createElement("div", {
418
496
  className: "dl-custom-chart-container"
419
497
  }, project());
@@ -431,18 +509,25 @@ function getSeriesPositionColor(position) {
431
509
  switch (position) {
432
510
  case 1:
433
511
  return mainBlueColor;
512
+
434
513
  case 2:
435
514
  return mainGreenColor;
515
+
436
516
  case 3:
437
517
  return mainYellowColor;
518
+
438
519
  case 4:
439
520
  return mainTurquoiseColor;
521
+
440
522
  case 5:
441
523
  return mainPurpleColor;
524
+
442
525
  case 6:
443
526
  return mainOrangeColor;
527
+
444
528
  case 7:
445
529
  return mainRedColor;
530
+
446
531
  default:
447
532
  return null;
448
533
  }
@@ -452,18 +537,22 @@ function buildToolTip(widget, value, seriesName, label, index) {
452
537
  var padding = widget.TypeCode == 'line' && index > 0 ? 'padding-top: 3px' : '';
453
538
  return "\n <div style=\"min-width: 108px;" + padding + "\">\n <div style=\"display: flex;align-items: center;margin-bottom: 6px;\">\n <span style=\"margin: 0; height: 10px; width: 10px; background-color: #A4A4A4; border-radius: 50%; display: inline-block;\"></span>\n <p style=\" margin: 0; margin-left: 4px;font-family: 'Manrope'; font-style: normal;font-weight: 400; font-size: 11px; line-height: 100%; color: #323232; flex: none; order: 1;flex-grow: 0;\"> " + getTooltiplabel(label) + "</p>\n </div>\n <hr style=\"margin: 0;border-top: 1px solid #F0F0F0;\">\n <div style=\"display: flex;align-items: center;margin:0;margin-top: 6px;\">\n <p style=\"margin: 0;font-family: 'Manrope';font-style: normal;font-weight: 400; font-size: 11px;line-height: 100%;color: #A4A4A4;flex: none;order: 0;flex-grow: 0;\"> " + getMeasureType(seriesName) + "</p>\n <p style=\"margin: 0;margin-left: 6px;font-family: 'Manrope';font-style: normal;font-weight: 500;font-size: 11px;line-height: 100%; color: #323232;flex: none; order: 1;flex-grow: 0;\">" + getTooltipValue(value) + "</p>\n " + getTooltipPercentage(widget) + " </div>\n </div>\n ";
454
539
  }
540
+
455
541
  function getTooltipPercentage(widget) {
456
542
  if (widget.TypeCode != "donut" && widget.TypeCode != "pie") return "";
457
543
  return "\n <p style=\"margin: 0;margin-left: 2px;font-family: 'Manrope';font-style: normal;font-weight: 500;font-size: 11px;line-height: 100%; color: #A4A4A4;flex: none; order: 1;flex-grow: 0;\">($percentValue)</p>\n ";
458
544
  }
545
+
459
546
  function getTooltiplabel(value) {
460
547
  if (value) return value;
461
548
  return '$label';
462
549
  }
550
+
463
551
  function getTooltipValue(value) {
464
552
  if (value) return value;
465
553
  return '$dataValue';
466
554
  }
555
+
467
556
  function getMeasureType(seriesName) {
468
557
  if (!seriesName) return "Count:";
469
558
  return seriesName.replace(/ .*/, '') + ":";
@@ -495,6 +584,7 @@ function getSimpleDataSource(chartInfo, seriesMeasures, widget) {
495
584
  data: buildDataSource(seriesMeasures, widget)
496
585
  };
497
586
  }
587
+
498
588
  function handelNullLabels(seriesMeasures) {
499
589
  seriesMeasures.forEach(function (element) {
500
590
  element.Values.forEach(function (value) {
@@ -502,6 +592,7 @@ function handelNullLabels(seriesMeasures) {
502
592
  });
503
593
  });
504
594
  }
595
+
505
596
  function seriesMeasuresIsEmpty(seriesMeasures) {
506
597
  if (!seriesMeasures || seriesMeasures.length == 0) return true;
507
598
  var hasValue = false;
@@ -510,6 +601,7 @@ function seriesMeasuresIsEmpty(seriesMeasures) {
510
601
  });
511
602
  return !hasValue;
512
603
  }
604
+
513
605
  function buildDataSource(values, widget) {
514
606
  var data = [];
515
607
  if (!values || !values[0]) return data;
@@ -520,7 +612,9 @@ function buildDataSource(values, widget) {
520
612
  label: getLabelFormatByDateGroupType(e.Label, widget, false),
521
613
  id: {
522
614
  GroupById: e.GroupById,
523
- MeasureFieldId: series.MeasureFieldId
615
+ MeasureFieldId: series.MeasureFieldId,
616
+ MeasureCode: series.MeasureCode,
617
+ Formula: series.Formula
524
618
  },
525
619
  tooltext: buildToolTip(widget, null, series.Name, e.Label, 0),
526
620
  color: getSeriesPositionColor(index + 1)
@@ -529,6 +623,7 @@ function buildDataSource(values, widget) {
529
623
  });
530
624
  return data;
531
625
  }
626
+
532
627
  function buildDataSet(seriesMeasures, widget) {
533
628
  var dataSet = [];
534
629
  var seriesPosition = 1;
@@ -538,7 +633,9 @@ function buildDataSet(seriesMeasures, widget) {
538
633
  value: e.Value,
539
634
  id: {
540
635
  GroupById: e.GroupById,
541
- MeasureFieldId: seriesMeasure.MeasureFieldId
636
+ MeasureFieldId: seriesMeasure.MeasureFieldId,
637
+ MeasureCode: seriesMeasure.MeasureCode,
638
+ Formula: seriesMeasure.Formula
542
639
  },
543
640
  tooltext: buildToolTip(widget, e.Value, seriesMeasure.Name, null, index)
544
641
  };
@@ -559,6 +656,7 @@ function buildDataSet(seriesMeasures, widget) {
559
656
  });
560
657
  return dataSet;
561
658
  }
659
+
562
660
  function buildStackedDataSet(seriesMeasures, widget) {
563
661
  var dataSet = [];
564
662
  var seriesPosition = 1;
@@ -583,11 +681,13 @@ function buildStackedDataSet(seriesMeasures, widget) {
583
681
  });
584
682
  return dataSet;
585
683
  }
684
+
586
685
  function buildStackedGroupData(secGroup, series, widget) {
587
686
  var uniqueGroups = getUniqueGroupOrderdList(series);
588
687
  var data = [];
589
688
  uniqueGroups.forEach(function (group) {
590
689
  var _series$Values$find;
690
+
591
691
  data.push({
592
692
  value: (_series$Values$find = series.Values.find(function (x) {
593
693
  return x.GroupById == group.code && x.GroupByIdSec == secGroup.code;
@@ -602,6 +702,7 @@ function buildStackedGroupData(secGroup, series, widget) {
602
702
  });
603
703
  return data;
604
704
  }
705
+
605
706
  function buildCategories(seriesMeasures, widget) {
606
707
  var categories = seriesMeasures[0].Values.map(function (e) {
607
708
  return {
@@ -614,6 +715,7 @@ function buildCategories(seriesMeasures, widget) {
614
715
  });
615
716
  return result;
616
717
  }
718
+
617
719
  function buildStackedCategories(seriesMeasures, widget) {
618
720
  var uniqueGroups = getUniqueGroupOrderdList(seriesMeasures[0]);
619
721
  var categories = uniqueGroups.map(function (e) {
@@ -627,6 +729,7 @@ function buildStackedCategories(seriesMeasures, widget) {
627
729
  });
628
730
  return result;
629
731
  }
732
+
630
733
  function getUniqueGroupOrderdList(series) {
631
734
  var uniqueGroups = [];
632
735
  series.Values.forEach(function (element) {
@@ -648,20 +751,26 @@ function BuildFusionChartObject(seriesMeasures, widget) {
648
751
  case 'bar':
649
752
  if (!widget.SecondaryGroupById) return getBarObject(seriesMeasures, widget);
650
753
  return getStackedBarObject(seriesMeasures, widget);
754
+
651
755
  case 'line':
652
756
  if (!widget.SecondaryGroupById) return getLineObject(seriesMeasures, widget);
653
757
  return getClusteredLineObject(seriesMeasures, widget);
758
+
654
759
  case 'pie':
655
760
  return getPieObject(seriesMeasures, widget);
761
+
656
762
  case 'donut':
657
763
  return getDonutObject(seriesMeasures, widget);
764
+
658
765
  case 'column':
659
766
  if (!widget.SecondaryGroupById) return getColumnObject(seriesMeasures, widget);
660
767
  return getClusteredColumnObject(seriesMeasures, widget);
768
+
661
769
  default:
662
770
  return {};
663
771
  }
664
772
  }
773
+
665
774
  function getBarObject(seriesMeasures, widget) {
666
775
  var chart = getDefaultChartobject();
667
776
  chart.type = "scrollbar2d";
@@ -677,6 +786,7 @@ function getBarObject(seriesMeasures, widget) {
677
786
  chart.dataSource = getCategoriesBasedDataSource(chartInfo, seriesMeasures, widget);
678
787
  return chart;
679
788
  }
789
+
680
790
  function getStackedBarObject(seriesMeasures, widget) {
681
791
  var chart = getDefaultChartobject();
682
792
  chart.type = widget.IsStacked ? "scrollstackedbar2d" : "scrollbar2d";
@@ -692,6 +802,7 @@ function getStackedBarObject(seriesMeasures, widget) {
692
802
  chart.dataSource = getStackedDataSource(chartInfo, seriesMeasures, widget);
693
803
  return chart;
694
804
  }
805
+
695
806
  function getClusteredColumnObject(seriesMeasures, widget) {
696
807
  var chart = getDefaultChartobject();
697
808
  chart.type = widget.IsStacked ? "scrollstackedcolumn2d" : "scrollcolumn2d";
@@ -707,6 +818,7 @@ function getClusteredColumnObject(seriesMeasures, widget) {
707
818
  chart.dataSource = getStackedDataSource(chartInfo, seriesMeasures, widget);
708
819
  return chart;
709
820
  }
821
+
710
822
  function getClusteredLineObject(seriesMeasures, widget) {
711
823
  var chart = getDefaultChartobject();
712
824
  chart.type = "msline";
@@ -722,6 +834,7 @@ function getClusteredLineObject(seriesMeasures, widget) {
722
834
  chart.dataSource = getStackedDataSource(chartInfo, seriesMeasures, widget);
723
835
  return chart;
724
836
  }
837
+
725
838
  function getLineObject(seriesMeasures, widget) {
726
839
  var chart = getDefaultChartobject();
727
840
  chart.type = "scrollline2d";
@@ -742,6 +855,7 @@ function getLineObject(seriesMeasures, widget) {
742
855
  chart.dataSource = getCategoriesBasedDataSource(chartInfo, seriesMeasures, widget);
743
856
  return chart;
744
857
  }
858
+
745
859
  function getDonutObject(seriesMeasures, widget) {
746
860
  var chart = getDefaultChartobject();
747
861
  chart.type = "doughnut2d";
@@ -756,6 +870,7 @@ function getDonutObject(seriesMeasures, widget) {
756
870
  chart.dataSource = getSimpleDataSource(chartInfo, seriesMeasures, widget);
757
871
  return chart;
758
872
  }
873
+
759
874
  function getPieObject(seriesMeasures, widget) {
760
875
  var chart = getDefaultChartobject();
761
876
  chart.type = "pie2d";
@@ -770,6 +885,7 @@ function getPieObject(seriesMeasures, widget) {
770
885
  chartInfo.legendPosition = getWidgetLegendPosition(widget);
771
886
  return chart;
772
887
  }
888
+
773
889
  function getColumnObject(seriesMeasures, widget) {
774
890
  var chart = getDefaultChartobject();
775
891
  chart.type = "scrollcombidy2d";
@@ -789,6 +905,7 @@ function getColumnObject(seriesMeasures, widget) {
789
905
  chartInfo.legendPosition = getWidgetLegendPosition(widget);
790
906
  return chart;
791
907
  }
908
+
792
909
  function setLineDash(chartInfo) {
793
910
  chartInfo.divLineDashed = "1";
794
911
  chartInfo.divLineDashLen = "5";
@@ -797,6 +914,7 @@ function setLineDash(chartInfo) {
797
914
  chartInfo.divLineAlpha = "100";
798
915
  chartInfo.divLineThickness = "1";
799
916
  }
917
+
800
918
  function getDefaultChartobject() {
801
919
  var chart = {};
802
920
  chart.type = "column2d";
@@ -805,6 +923,7 @@ function getDefaultChartobject() {
805
923
  chart.dataFormat = "json";
806
924
  return chart;
807
925
  }
926
+
808
927
  function getDefaultChartInfo(widget) {
809
928
  var chart = {};
810
929
  chart.theme = "fusion";
@@ -838,15 +957,19 @@ function getDefaultChartInfo(widget) {
838
957
  chart.showValues = widget.ShowValue ? "1" : '0';
839
958
  chart.valuePosition = widget.ShowValue && widget.ValuePosition ? widget.ValuePosition : 'Outside';
840
959
  var isValuePositionInside = widget.ShowValue && widget.ValuePosition && widget.ValuePosition.toLowerCase() == 'inside';
960
+
841
961
  if (widget.ShowValue && widget.ValuePosition && isColumnOrBarChart(widget)) {
842
962
  chart.placeValuesInside = widget.ValuePosition.toLowerCase() == 'inside' ? "1" : "0";
843
963
  }
964
+
844
965
  if (widget.IsStacked && isValuePositionInside && isColumnOrBarChart(widget)) {
845
966
  chart.minPlotHeightForValue = "15";
846
967
  }
968
+
847
969
  if (isValuePositionInside && isPieOrDonutChart(widget)) {
848
970
  chart.minAngleForValue = "15";
849
971
  }
972
+
850
973
  chart.enableSlicing = "0";
851
974
  chart.enableRotation = "0";
852
975
  chart.chartTopMargin = "10";
@@ -860,24 +983,29 @@ function getDefaultChartInfo(widget) {
860
983
  chart.plotColorinTooltip = "0";
861
984
  return chart;
862
985
  }
986
+
863
987
  function setPieDonutLegends(chart, widget) {
864
988
  chart.showLabels = widget.LabelsPosition == 'InLegend' ? '0' : '1';
865
989
  chart.showLegend = widget.ShowLegend ? '1' : '0';
866
990
  setOnChartLegend(chart, widget);
867
991
  setChartInLegend(chart, widget);
868
992
  }
993
+
869
994
  function getWidgetLegendPosition(widget) {
870
995
  if (widget.LegendPosition) return widget.LegendPosition;
871
996
  return widget.TypeCode == 'pie' || widget.TypeCode == 'donut' ? "right" : "bottom";
872
997
  }
998
+
873
999
  function isColumnOrBarChart(widget) {
874
1000
  if (!widget) return false;
875
1001
  return widget.TypeCode == 'column' || widget.TypeCode == 'bar';
876
1002
  }
1003
+
877
1004
  function isPieOrDonutChart(widget) {
878
1005
  if (!widget) return false;
879
1006
  return widget.TypeCode == 'pie' || widget.TypeCode == 'donut';
880
1007
  }
1008
+
881
1009
  function setOnChartLegend(chart, widget) {
882
1010
  if (widget.LabelsPosition != 'InLegend') return;
883
1011
  chart.legendPosition = getWidgetLegendPosition(widget);
@@ -890,12 +1018,15 @@ function setOnChartLegend(chart, widget) {
890
1018
  chart.showPercentValues = "0";
891
1019
  chart.chartRightMargin = "20";
892
1020
  }
1021
+
893
1022
  function setChartInLegend(chart, widget) {
894
1023
  if (widget.LabelsPosition == 'InLegend') return;
895
1024
  chart.pieRadius = "70%";
896
1025
  }
1026
+
897
1027
  function setDualyAxis(chartInfo, widget, seriesMeasures) {
898
1028
  var _seriesMeasures$, _seriesMeasures$2;
1029
+
899
1030
  chartInfo.showSecondaryLimits = "0";
900
1031
  chartInfo.showDivLineSecondaryValue = "0";
901
1032
  if (!widget) return;
@@ -910,6 +1041,7 @@ function setDualyAxis(chartInfo, widget, seriesMeasures) {
910
1041
  chartInfo.pYAxisName = getTitle((_seriesMeasures$ = seriesMeasures[0]) === null || _seriesMeasures$ === void 0 ? void 0 : _seriesMeasures$.Name, textLength);
911
1042
  chartInfo.sYAxisname = getTitle((_seriesMeasures$2 = seriesMeasures[1]) === null || _seriesMeasures$2 === void 0 ? void 0 : _seriesMeasures$2.Name, textLength);
912
1043
  }
1044
+
913
1045
  function getTitle(text, maxLenght) {
914
1046
  var textLenght = text.length;
915
1047
  if (textLenght >= maxLenght) return text.replace(/\s+/g, '&nbsp;&nbsp;');
@@ -924,15 +1056,20 @@ var FusionChartHelper = /*#__PURE__*/function () {
924
1056
  this.chart = chart;
925
1057
  this.widget = widget;
926
1058
  }
1059
+
927
1060
  var _proto = FusionChartHelper.prototype;
1061
+
928
1062
  _proto.getPieRadius = function getPieRadius() {
929
1063
  return this.pieRadius;
930
1064
  };
1065
+
931
1066
  _proto.getLegendWidth = function getLegendWidth() {
932
1067
  return this.legendWidth;
933
1068
  };
1069
+
934
1070
  _proto.trimChartLabels = function trimChartLabels(chartWidth, chartHeight) {
935
1071
  var _this$chart;
1072
+
936
1073
  if (!this.widget || this.widget.TypeCode != "pie" && this.widget.TypeCode != "donut") return;
937
1074
  if (!this.chart) return;
938
1075
  var dataSource = (_this$chart = this.chart) === null || _this$chart === void 0 ? void 0 : _this$chart.dataSource;
@@ -940,6 +1077,7 @@ var FusionChartHelper = /*#__PURE__*/function () {
940
1077
  var chartInfo = dataSource.chart;
941
1078
  if (this.widget.LabelsPosition == 'InLegend') this.handleLegendWidth(chartWidth, chartHeight, chartInfo);else this.handlePieRadius(chartHeight, chartInfo);
942
1079
  };
1080
+
943
1081
  _proto.handlePieRadius = function handlePieRadius(chartHeight, chartInfo) {
944
1082
  var chartMinumunHeight = 236;
945
1083
  var startPercantage = 70;
@@ -948,23 +1086,27 @@ var FusionChartHelper = /*#__PURE__*/function () {
948
1086
  if (step < 0) step = 0;
949
1087
  var pieRadius = startPercantage - step * 10;
950
1088
  if (pieRadius < 60) pieRadius = 60;
1089
+
951
1090
  if (window.innerWidth > 1700) {
952
1091
  this.pieRadius = pieRadius;
953
1092
  chartInfo.pieRadius = pieRadius + "%";
954
1093
  return;
955
1094
  }
1095
+
956
1096
  var reducedValue = Math.floor((1700 - window.innerWidth) / 100) + 1;
957
1097
  if (reducedValue > 5) reducedValue = 5;
958
1098
  pieRadius = pieRadius - reducedValue * 5;
959
1099
  this.pieRadius = pieRadius;
960
1100
  chartInfo.pieRadius = pieRadius + "%";
961
1101
  };
1102
+
962
1103
  _proto.handleLegendWidth = function handleLegendWidth(chartWidth, chartHeight, chartInfo) {
963
1104
  if (chartWidth < 730) chartInfo.legendWidth = "200";
964
1105
  if (chartWidth >= 730) chartInfo.legendWidth = "400";
965
1106
  if (chartWidth >= 1000) chartInfo.legendWidth = "500";
966
1107
  this.legendWidth = chartInfo.legendWidth;
967
1108
  };
1109
+
968
1110
  return FusionChartHelper;
969
1111
  }();
970
1112
 
@@ -975,18 +1117,23 @@ FusionCharts.options['license']({
975
1117
  });
976
1118
  var FusionChart = React.forwardRef(function (props, comRef) {
977
1119
  var _useState = React.useState(false),
978
- dataLoaded = _useState[0],
979
- setDataLoaded = _useState[1];
1120
+ dataLoaded = _useState[0],
1121
+ setDataLoaded = _useState[1];
1122
+
980
1123
  var _useState2 = React.useState(),
981
- error = _useState2[0],
982
- setError = _useState2[1];
1124
+ error = _useState2[0],
1125
+ setError = _useState2[1];
1126
+
983
1127
  var widget = React.useRef();
1128
+
984
1129
  var _useState3 = React.useState({}),
985
- args = _useState3[0],
986
- setArgs = _useState3[1];
1130
+ args = _useState3[0],
1131
+ setArgs = _useState3[1];
1132
+
987
1133
  var _useState4 = React.useState(),
988
- fChart = _useState4[0],
989
- setFchart = _useState4[1];
1134
+ fChart = _useState4[0],
1135
+ setFchart = _useState4[1];
1136
+
990
1137
  var id = (Math.random() + 1).toString(36).substring(7);
991
1138
  var progressRef = React.useRef(null);
992
1139
  var fusionRef = React.useRef(null);
@@ -999,12 +1146,14 @@ var FusionChart = React.forwardRef(function (props, comRef) {
999
1146
  }, []);
1000
1147
  React.useEffect(function () {
1001
1148
  var timeout;
1149
+
1002
1150
  var handleResize = function handleResize() {
1003
1151
  clearTimeout(timeout);
1004
1152
  timeout = setTimeout(function () {
1005
1153
  HandleSizeChange();
1006
1154
  }, 200);
1007
1155
  };
1156
+
1008
1157
  window.addEventListener("resize", handleResize);
1009
1158
  return function () {
1010
1159
  return window.removeEventListener("resize", handleResize);
@@ -1017,11 +1166,14 @@ var FusionChart = React.forwardRef(function (props, comRef) {
1017
1166
  }
1018
1167
  };
1019
1168
  });
1169
+
1020
1170
  var HandleSizeChange = function HandleSizeChange() {
1021
1171
  var _widget$current, _widget$current2;
1172
+
1022
1173
  if (!widget || ((_widget$current = widget.current) === null || _widget$current === void 0 ? void 0 : _widget$current.TypeCode) != "pie" && ((_widget$current2 = widget.current) === null || _widget$current2 === void 0 ? void 0 : _widget$current2.TypeCode) != "donut") return;
1023
1174
  setTimeout(function () {
1024
1175
  var _fusionChartHelper$cu, _fusionChartHelper$cu2, _fusionChartHelper$cu3, _fusionRef$current, _fusionRef$current2, _widget$current3, _fusionChartHelper$cu4, _widget$current4, _fusionChartHelper$cu5;
1176
+
1025
1177
  var oldPieRadius = fusionChartHelper === null || fusionChartHelper === void 0 ? void 0 : (_fusionChartHelper$cu = fusionChartHelper.current) === null || _fusionChartHelper$cu === void 0 ? void 0 : _fusionChartHelper$cu.getPieRadius();
1026
1178
  var oldLegendWidth = fusionChartHelper === null || fusionChartHelper === void 0 ? void 0 : (_fusionChartHelper$cu2 = fusionChartHelper.current) === null || _fusionChartHelper$cu2 === void 0 ? void 0 : _fusionChartHelper$cu2.getLegendWidth();
1027
1179
  fusionChartHelper === null || fusionChartHelper === void 0 ? void 0 : (_fusionChartHelper$cu3 = fusionChartHelper.current) === null || _fusionChartHelper$cu3 === void 0 ? void 0 : _fusionChartHelper$cu3.trimChartLabels(fusionRef === null || fusionRef === void 0 ? void 0 : (_fusionRef$current = fusionRef.current) === null || _fusionRef$current === void 0 ? void 0 : _fusionRef$current.offsetWidth, fusionRef === null || fusionRef === void 0 ? void 0 : (_fusionRef$current2 = fusionRef.current) === null || _fusionRef$current2 === void 0 ? void 0 : _fusionRef$current2.offsetHeight);
@@ -1033,51 +1185,65 @@ var FusionChart = React.forwardRef(function (props, comRef) {
1033
1185
  }, 100);
1034
1186
  }, 100);
1035
1187
  };
1188
+
1036
1189
  var RefreshData = function RefreshData() {
1037
1190
  if (Session.Tenant == 0) {
1038
1191
  handleData(null);
1039
1192
  return;
1040
1193
  }
1194
+
1041
1195
  var dashboardAnalyticsService = new DashboardAnalyticsService();
1196
+
1042
1197
  var postWidget = _extends({}, widget.current);
1198
+
1043
1199
  postWidget.onChange = undefined;
1044
1200
  dashboardAnalyticsService.getData(postWidget).then(function (result) {
1045
1201
  handleData(result === null || result === void 0 ? void 0 : result.data);
1046
1202
  }, function (error) {
1047
1203
  var _error$response, _error$response$data, _error$response2, _error$response2$data;
1204
+
1048
1205
  console.log('error', error);
1049
1206
  if (error !== null && error !== void 0 && (_error$response = error.response) !== null && _error$response !== void 0 && (_error$response$data = _error$response.data) !== null && _error$response$data !== void 0 && _error$response$data.ErrorMessage) setError(error === null || error === void 0 ? void 0 : (_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : (_error$response2$data = _error$response2.data) === null || _error$response2$data === void 0 ? void 0 : _error$response2$data.ErrorMessage);else setError(error.message);
1050
1207
  setDataLoaded(true);
1051
1208
  });
1052
1209
  };
1210
+
1053
1211
  var handleData = function handleData(data) {
1054
1212
  var _progressRef$current, _progressRef$current2;
1213
+
1055
1214
  var chart = BuildFusionChartObject(data, widget.current);
1056
1215
  fusionChartHelper.current = new FusionChartHelper(widget.current, chart);
1057
1216
  fusionChartHelper === null || fusionChartHelper === void 0 ? void 0 : fusionChartHelper.current.trimChartLabels(progressRef === null || progressRef === void 0 ? void 0 : (_progressRef$current = progressRef.current) === null || _progressRef$current === void 0 ? void 0 : _progressRef$current.offsetWidth, progressRef === null || progressRef === void 0 ? void 0 : (_progressRef$current2 = progressRef.current) === null || _progressRef$current2 === void 0 ? void 0 : _progressRef$current2.offsetHeight);
1058
1217
  setArgs(chart);
1059
1218
  setDataLoaded(true);
1060
1219
  };
1220
+
1061
1221
  var dataplotClick = function dataplotClick(eventObj, dataObj) {
1062
1222
  props.onSelectDataPoint({
1063
1223
  GroupById: dataObj.id.groupbyid,
1064
1224
  MeasureFieldId: dataObj.id.measurefieldid,
1225
+ MeasureCode: dataObj.id.measurecode,
1226
+ Formula: dataObj.id.formula,
1065
1227
  Widget: widget.current,
1066
1228
  GroupByIdSec: dataObj.id.groupbyidsec
1067
1229
  });
1068
1230
  };
1231
+
1069
1232
  var renderComplete = function renderComplete(chart) {
1070
1233
  setFchart(chart);
1071
1234
  };
1235
+
1072
1236
  var drawComplete = function drawComplete(event) {};
1237
+
1073
1238
  var _useResizeObserver = useResizeObserver({
1074
- onResize: function onResize(_ref) {
1075
- var width = _ref.width,
1239
+ onResize: function onResize(_ref) {
1240
+ var width = _ref.width,
1076
1241
  height = _ref.height;
1077
- fChart === null || fChart === void 0 ? void 0 : fChart.resizeTo(width, height);
1078
- }
1079
- }),
1080
- ref = _useResizeObserver.ref;
1242
+ fChart === null || fChart === void 0 ? void 0 : fChart.resizeTo(width, height);
1243
+ }
1244
+ }),
1245
+ ref = _useResizeObserver.ref;
1246
+
1081
1247
  return !dataLoaded ? React__default.createElement("div", {
1082
1248
  ref: progressRef,
1083
1249
  className: 'dl-full-hight dl-flex-content-center spinner-custome'
@@ -1118,20 +1284,24 @@ var isNullOrUndefined = function isNullOrUndefined(val) {
1118
1284
  };
1119
1285
 
1120
1286
  var _path$1;
1287
+
1121
1288
  function _extends$2() {
1122
1289
  _extends$2 = Object.assign ? Object.assign.bind() : function (target) {
1123
1290
  for (var i = 1; i < arguments.length; i++) {
1124
1291
  var source = arguments[i];
1292
+
1125
1293
  for (var key in source) {
1126
1294
  if (Object.prototype.hasOwnProperty.call(source, key)) {
1127
1295
  target[key] = source[key];
1128
1296
  }
1129
1297
  }
1130
1298
  }
1299
+
1131
1300
  return target;
1132
1301
  };
1133
1302
  return _extends$2.apply(this, arguments);
1134
1303
  }
1304
+
1135
1305
  function SvgDeleteIcon(props) {
1136
1306
  return /*#__PURE__*/React.createElement("svg", _extends$2({
1137
1307
  viewBox: "0 0 20 20",
@@ -1144,20 +1314,24 @@ function SvgDeleteIcon(props) {
1144
1314
  }
1145
1315
 
1146
1316
  var _path$2;
1317
+
1147
1318
  function _extends$3() {
1148
1319
  _extends$3 = Object.assign ? Object.assign.bind() : function (target) {
1149
1320
  for (var i = 1; i < arguments.length; i++) {
1150
1321
  var source = arguments[i];
1322
+
1151
1323
  for (var key in source) {
1152
1324
  if (Object.prototype.hasOwnProperty.call(source, key)) {
1153
1325
  target[key] = source[key];
1154
1326
  }
1155
1327
  }
1156
1328
  }
1329
+
1157
1330
  return target;
1158
1331
  };
1159
1332
  return _extends$3.apply(this, arguments);
1160
1333
  }
1334
+
1161
1335
  function SvgEditIcon(props) {
1162
1336
  return /*#__PURE__*/React.createElement("svg", _extends$3({
1163
1337
  viewBox: "0 0 20 20",
@@ -1171,24 +1345,33 @@ function SvgEditIcon(props) {
1171
1345
 
1172
1346
  var WidgetCard = React.forwardRef(function (props, comRef) {
1173
1347
  var _widget$current2, _widget$current3, _widget$current4, _widget$current5, _widget$current6, _widget$current7, _widget$current8;
1348
+
1174
1349
  var widget = React.useRef();
1350
+
1175
1351
  var _useState = React.useState(false),
1176
- isLoading = _useState[0],
1177
- setIsLoading = _useState[1];
1352
+ isLoading = _useState[0],
1353
+ setIsLoading = _useState[1];
1354
+
1178
1355
  var _useState2 = React.useState(false),
1179
- isWidgetHovered = _useState2[0],
1180
- setIsWidgetHovered = _useState2[1];
1356
+ isWidgetHovered = _useState2[0],
1357
+ setIsWidgetHovered = _useState2[1];
1358
+
1181
1359
  var _useState3 = React.useState(false),
1182
- showTooltip = _useState3[1];
1360
+ showTooltip = _useState3[1];
1361
+
1183
1362
  var fusionChartRef = React.useRef(null);
1363
+
1184
1364
  var editWidget = function editWidget() {
1185
1365
  props.editBtnClicked(widget.current);
1186
1366
  };
1367
+
1187
1368
  React.useEffect(function () {
1188
1369
  var _props$dataBinding;
1370
+
1189
1371
  widget.current = props.widget;
1190
1372
  (_props$dataBinding = props.dataBinding) === null || _props$dataBinding === void 0 ? void 0 : _props$dataBinding.onEditWidget.subscribe(function (e) {
1191
1373
  var _widget$current;
1374
+
1192
1375
  if ((e === null || e === void 0 ? void 0 : e.key) != ((_widget$current = widget.current) === null || _widget$current === void 0 ? void 0 : _widget$current.key)) return;
1193
1376
  setIsLoading(true);
1194
1377
  widget.current = _extends({}, e);
@@ -1199,19 +1382,24 @@ var WidgetCard = React.forwardRef(function (props, comRef) {
1199
1382
  return {
1200
1383
  onResizeFinish: function onResizeFinish() {
1201
1384
  var _fusionChartRef$curre;
1385
+
1202
1386
  fusionChartRef === null || fusionChartRef === void 0 ? void 0 : (_fusionChartRef$curre = fusionChartRef.current) === null || _fusionChartRef$curre === void 0 ? void 0 : _fusionChartRef$curre.onResizeFinish();
1203
1387
  }
1204
1388
  };
1205
1389
  });
1390
+
1206
1391
  var getCSSPropertyValue = function getCSSPropertyValue(widgetData, propName, propUnit, propDefaultVal) {
1207
1392
  if (propUnit === void 0) {
1208
1393
  propUnit = "";
1209
1394
  }
1395
+
1210
1396
  if (propDefaultVal === void 0) {
1211
1397
  propDefaultVal = "";
1212
1398
  }
1399
+
1213
1400
  return widgetData && propName && !isNullOrUndefined(widgetData[propName]) ? widgetData[propName] + propUnit : propDefaultVal || "";
1214
1401
  };
1402
+
1215
1403
  return React__default.createElement("div", {
1216
1404
  className: "dl-panel",
1217
1405
  key: props.el.i,
@@ -1267,6 +1455,7 @@ var WidgetCard = React.forwardRef(function (props, comRef) {
1267
1455
  }), React__default.createElement(SvgDeleteIcon, {
1268
1456
  onClick: function onClick() {
1269
1457
  var _props$widget;
1458
+
1270
1459
  return props.deleteBtnClicked((_props$widget = props.widget) === null || _props$widget === void 0 ? void 0 : _props$widget.key);
1271
1460
  }
1272
1461
  })) : null), React__default.createElement("div", {
@@ -1278,8 +1467,10 @@ var WidgetCard = React.forwardRef(function (props, comRef) {
1278
1467
  })), React__default.createElement("div", {
1279
1468
  className: "dl-dashboard-widget"
1280
1469
  }, " ", GetChartComponent(), " "));
1470
+
1281
1471
  function GetChartComponent() {
1282
1472
  var _widget$current9, _widget$current10;
1473
+
1283
1474
  if (isLoading || !((_widget$current9 = widget.current) !== null && _widget$current9 !== void 0 && _widget$current9.TypeCode)) return null;
1284
1475
  if (((_widget$current10 = widget.current) === null || _widget$current10 === void 0 ? void 0 : _widget$current10.TypeCode) == "kpi") return React__default.createElement(CustomChart, {
1285
1476
  dataBinding: props.dataBinding,
@@ -1302,32 +1493,40 @@ function deepClone(obj) {
1302
1493
  }
1303
1494
 
1304
1495
  var ResponsiveReactGridLayout = reactGridLayout.WidthProvider(reactGridLayout.Responsive);
1496
+
1305
1497
  var DashboardDesigner = function DashboardDesigner(props) {
1306
1498
  var array12 = Array.from({
1307
1499
  length: 12
1308
1500
  }).fill(null);
1309
1501
  var minimumPlaceholderRowsCount = 12;
1502
+
1310
1503
  var _useState = React.useState({
1311
- lg: []
1312
- }),
1313
- layouts = _useState[0],
1314
- setLayouts = _useState[1];
1504
+ lg: []
1505
+ }),
1506
+ layouts = _useState[0],
1507
+ setLayouts = _useState[1];
1508
+
1315
1509
  var _useState2 = React.useState(Array.from({
1316
- length: minimumPlaceholderRowsCount
1317
- }).fill(null)),
1318
- placeholderRowsArray = _useState2[0],
1319
- setplaceholderRowsArray = _useState2[1];
1510
+ length: minimumPlaceholderRowsCount
1511
+ }).fill(null)),
1512
+ placeholderRowsArray = _useState2[0],
1513
+ setplaceholderRowsArray = _useState2[1];
1514
+
1320
1515
  var _useState3 = React.useState(undefined),
1321
- dateFilter = _useState3[0];
1516
+ dateFilter = _useState3[0];
1517
+
1322
1518
  var _useState4 = React.useState(false),
1323
- isInEditMode = _useState4[0],
1324
- setisInEditMode = _useState4[1];
1519
+ isInEditMode = _useState4[0],
1520
+ setisInEditMode = _useState4[1];
1521
+
1325
1522
  var widgetsDictionaryRef = React.useRef({});
1523
+
1326
1524
  var _useState5 = React.useState({
1327
- lg: []
1328
- }),
1329
- widgets = _useState5[0],
1330
- setWidgets = _useState5[1];
1525
+ lg: []
1526
+ }),
1527
+ widgets = _useState5[0],
1528
+ setWidgets = _useState5[1];
1529
+
1331
1530
  var gridLayoutComponent = React.useRef(null);
1332
1531
  var entered = React.useRef(false);
1333
1532
  var widgetCardRef = React.useRef([]);
@@ -1336,12 +1535,14 @@ var DashboardDesigner = function DashboardDesigner(props) {
1336
1535
  }, [props.Widgetlayouts]);
1337
1536
  React.useEffect(function () {
1338
1537
  var _props$dataBinding;
1538
+
1339
1539
  (_props$dataBinding = props.dataBinding) === null || _props$dataBinding === void 0 ? void 0 : _props$dataBinding.onDeleteWidgetConfirmed.subscribe(function (deleteProps) {
1340
1540
  if (deleteProps) {
1341
1541
  deletePanel(deleteProps);
1342
1542
  }
1343
1543
  });
1344
1544
  }, []);
1545
+
1345
1546
  var FillLayout = function FillLayout(dashboardLayouts) {
1346
1547
  var clone = deepClone(dashboardLayouts);
1347
1548
  var layout = createLayout(clone);
@@ -1350,12 +1551,14 @@ var DashboardDesigner = function DashboardDesigner(props) {
1350
1551
  setLayouts(layout);
1351
1552
  UpdatePlaceholderDimensions(layout);
1352
1553
  };
1554
+
1353
1555
  var FillWidgetDictionary = function FillWidgetDictionary(clone) {
1354
1556
  for (var _iterator = _createForOfIteratorHelperLoose(clone.lg), _step; !(_step = _iterator()).done;) {
1355
1557
  var item = _step.value;
1356
1558
  widgetsDictionaryRef.current[item.key] = item;
1357
1559
  }
1358
1560
  };
1561
+
1359
1562
  var createLayout = function createLayout(dashboardLayouts) {
1360
1563
  var layout = {
1361
1564
  lg: []
@@ -1367,33 +1570,42 @@ var DashboardDesigner = function DashboardDesigner(props) {
1367
1570
  });
1368
1571
  return layout;
1369
1572
  };
1573
+
1370
1574
  React.useEffect(function () {
1371
1575
  setisInEditMode(props.editMode);
1372
1576
  }, [props.editMode]);
1577
+
1373
1578
  function onLayoutChange(layout, changedLayouts) {
1374
1579
  UpdateWidget(changedLayouts);
1375
1580
  setLayouts(changedLayouts);
1376
1581
  UpdatePlaceholderDimensions(changedLayouts);
1582
+
1377
1583
  if (entered.current == false) {
1378
1584
  entered.current = true;
1379
1585
  return;
1380
1586
  }
1587
+
1381
1588
  props.onLayoutChange(changedLayouts);
1382
1589
  }
1590
+
1383
1591
  function onResizeStop(event, oldItem) {
1384
1592
  var _widgetCardRef$curren, _widgetCardRef$curren2;
1593
+
1385
1594
  widgetCardRef === null || widgetCardRef === void 0 ? void 0 : (_widgetCardRef$curren = widgetCardRef.current) === null || _widgetCardRef$curren === void 0 ? void 0 : (_widgetCardRef$curren2 = _widgetCardRef$curren.find(function (x) {
1386
1595
  return x.i == oldItem.i;
1387
1596
  })) === null || _widgetCardRef$curren2 === void 0 ? void 0 : _widgetCardRef$curren2.ref.onResizeFinish(widgetsDictionaryRef.current[oldItem.i].key);
1388
1597
  }
1598
+
1389
1599
  function UpdateWidget(changedLayouts) {
1390
1600
  for (var _iterator2 = _createForOfIteratorHelperLoose(changedLayouts.lg), _step2; !(_step2 = _iterator2()).done;) {
1391
1601
  var item = _step2.value;
1602
+
1392
1603
  if (widgetsDictionaryRef.current[item.i]) {
1393
1604
  widgetsDictionaryRef.current[item.i].Layout = item;
1394
1605
  }
1395
1606
  }
1396
1607
  }
1608
+
1397
1609
  var confirmDeleteWidget = function confirmDeleteWidget(id) {
1398
1610
  var deleteWidgetProps = {
1399
1611
  id: id,
@@ -1402,6 +1614,7 @@ var DashboardDesigner = function DashboardDesigner(props) {
1402
1614
  };
1403
1615
  props.onWidgetDelete(deleteWidgetProps);
1404
1616
  };
1617
+
1405
1618
  function deletePanel(deleteProps) {
1406
1619
  var newLayouts = {
1407
1620
  lg: deleteProps.layouts.lg.filter(function (e) {
@@ -1418,23 +1631,28 @@ var DashboardDesigner = function DashboardDesigner(props) {
1418
1631
  setWidgets(newWidgets);
1419
1632
  props.onLayoutChange(newLayouts);
1420
1633
  }
1634
+
1421
1635
  function editWidget(widget) {
1422
1636
  widget.ChangeSetOp = 'Update';
1423
1637
  props.openEditWidget(widget);
1424
1638
  }
1639
+
1425
1640
  function UpdatePlaceholderDimensions(layouts) {
1426
1641
  if (!layouts) return;
1427
1642
  var max = minimumPlaceholderRowsCount;
1643
+
1428
1644
  for (var _iterator3 = _createForOfIteratorHelperLoose(layouts['lg']), _step3; !(_step3 = _iterator3()).done;) {
1429
1645
  var layout = _step3.value;
1430
1646
  if (layout.y + layout.h > max) max = layout.y + layout.h;
1431
1647
  }
1648
+
1432
1649
  var newPlaceholderRows = max + 2;
1433
1650
  newPlaceholderRows = newPlaceholderRows < minimumPlaceholderRowsCount ? minimumPlaceholderRowsCount : newPlaceholderRows;
1434
1651
  setplaceholderRowsArray(Array.from({
1435
1652
  length: newPlaceholderRows
1436
1653
  }).fill(null));
1437
1654
  }
1655
+
1438
1656
  return React__default.createElement("div", {
1439
1657
  className: "dl-full-hight-scroll"
1440
1658
  }, React__default.createElement("div", {
@@ -1467,6 +1685,7 @@ var DashboardDesigner = function DashboardDesigner(props) {
1467
1685
  onLayoutChange: onLayoutChange
1468
1686
  }), widgets.lg.map(function (widget, i) {
1469
1687
  var _widget$Layout, _widget$Layout2;
1688
+
1470
1689
  return React__default.createElement("div", {
1471
1690
  key: (_widget$Layout = widget.Layout) === null || _widget$Layout === void 0 ? void 0 : _widget$Layout.i
1472
1691
  }, React__default.createElement(WidgetCard, {
@@ -1482,6 +1701,7 @@ var DashboardDesigner = function DashboardDesigner(props) {
1482
1701
  onSelectDataPoint: props.onSelectDataPoint,
1483
1702
  ref: function ref(el) {
1484
1703
  var _widget$Layout3;
1704
+
1485
1705
  widgetCardRef.current[i] = {
1486
1706
  ref: el,
1487
1707
  i: (_widget$Layout3 = widget.Layout) === null || _widget$Layout3 === void 0 ? void 0 : _widget$Layout3.i
@@ -1490,6 +1710,7 @@ var DashboardDesigner = function DashboardDesigner(props) {
1490
1710
  }));
1491
1711
  }))))));
1492
1712
  };
1713
+
1493
1714
  var layoutGridProps = {
1494
1715
  rowHeight: 50,
1495
1716
  className: "layout",
@@ -1505,23 +1726,29 @@ var layoutGridProps = {
1505
1726
 
1506
1727
  var Dashboard = function Dashboard(props) {
1507
1728
  var _previewWidget$Layout, _previewWidget$Layout2;
1729
+
1508
1730
  var Widgetlayouts = React.useRef({
1509
1731
  lg: []
1510
1732
  });
1733
+
1511
1734
  var _useState = React.useState({
1512
- lg: []
1513
- }),
1514
- widgetlayoutsState = _useState[0],
1515
- setWidgetlayoutsState = _useState[1];
1735
+ lg: []
1736
+ }),
1737
+ widgetlayoutsState = _useState[0],
1738
+ setWidgetlayoutsState = _useState[1];
1739
+
1516
1740
  var _useState2 = React.useState(false),
1517
- isInEditMode = _useState2[0],
1518
- setIsInEditMode = _useState2[1];
1741
+ isInEditMode = _useState2[0],
1742
+ setIsInEditMode = _useState2[1];
1743
+
1519
1744
  var _useState3 = React.useState(props.isPreviewMode !== undefined ? props.isPreviewMode : false),
1520
- isPreviewModeActive = _useState3[0],
1521
- setIsPreviewModeActive = _useState3[1];
1745
+ isPreviewModeActive = _useState3[0],
1746
+ setIsPreviewModeActive = _useState3[1];
1747
+
1522
1748
  var _useState4 = React.useState(props.widgetData),
1523
- previewWidget = _useState4[0],
1524
- setPreviewWidgett = _useState4[1];
1749
+ previewWidget = _useState4[0],
1750
+ setPreviewWidgett = _useState4[1];
1751
+
1525
1752
  React.useEffect(function () {
1526
1753
  Session.CurrentUserId = props.userId;
1527
1754
  Session.Tenant = props.tenant;
@@ -1544,6 +1771,7 @@ var Dashboard = function Dashboard(props) {
1544
1771
  setPreviewWidgett(JSON.parse(JSON.stringify(props.widgetData)));
1545
1772
  }
1546
1773
  }, [props.widgetData]);
1774
+
1547
1775
  var updateWidgets = function updateWidgets(layouts) {
1548
1776
  var layoutsDic = {};
1549
1777
  Object.keys(layouts).forEach(function (sizeType) {
@@ -1568,6 +1796,7 @@ var Dashboard = function Dashboard(props) {
1568
1796
  };
1569
1797
  props.onChangeLayouts(Widgetlayouts.current);
1570
1798
  };
1799
+
1571
1800
  return isPreviewModeActive && previewWidget ? React.createElement("div", {
1572
1801
  style: {
1573
1802
  width: "420px",