logitude-dashboard-library 3.2.7 → 3.2.9

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.
@@ -2,8 +2,8 @@ import React__default, { createElement, useState, useRef, useEffect, forwardRef,
2
2
  import { WidthProvider, Responsive } from 'react-grid-layout';
3
3
  import { ProgressSpinner } from 'primereact/progressspinner';
4
4
  import axios from 'axios';
5
- import moment from 'moment';
6
5
  import { v4 } from 'uuid';
6
+ import moment from 'moment';
7
7
  import { DataTable } from 'primereact/datatable';
8
8
  import { Column } from 'primereact/column';
9
9
  import ReactFC from 'react-fusioncharts';
@@ -250,70 +250,6 @@ function SvgRedWarning(props) {
250
250
  })));
251
251
  }
252
252
 
253
- var DateGroupCodes = {
254
- Full_Date: 'Full Date',
255
- Month: 'Month',
256
- Quarter: 'Quarter',
257
- Year: 'Year',
258
- Month_Year: 'Month & Year',
259
- Quarter_Year: 'Quarter & Year'
260
- };
261
-
262
- var getDateFormat = function getDateFormat(label, _format) {
263
- if (!label) return label;
264
-
265
- var _date = moment(label);
266
-
267
- if (!_date || !_date.isValid()) return label;
268
- return _date.format(_format);
269
- };
270
-
271
- var getQuarterYearFormat = function getQuarterYearFormat(label) {
272
- if (!label) return label;
273
-
274
- if (label.includes("/")) {
275
- var result = label.split("/");
276
- var quarterVal = result && result[1] ? result[1] : "";
277
- var yearVal = result && result[0] ? result[0] : "";
278
- return quarterVal + " " + yearVal;
279
- }
280
-
281
- return label;
282
- };
283
-
284
- var getLabelFormatByDateGroupType = function getLabelFormatByDateGroupType(label, widget, isSecondGrouping) {
285
- if (isSecondGrouping === void 0) {
286
- isSecondGrouping = false;
287
- }
288
-
289
- if (!widget) return label;
290
- var groupFieldDataType = isSecondGrouping ? widget.SecondaryDateGroupCode : widget.DateGroupCode;
291
- if (!groupFieldDataType) return label;
292
-
293
- switch (groupFieldDataType) {
294
- case DateGroupCodes.Full_Date:
295
- return getDateFormat(label, "DD MMM YYYY");
296
-
297
- case DateGroupCodes.Month:
298
- return getDateFormat(label, "MMM");
299
-
300
- case DateGroupCodes.Quarter:
301
- return label;
302
-
303
- case DateGroupCodes.Year:
304
- return getDateFormat(label, "YYYY");
305
-
306
- case DateGroupCodes.Month_Year:
307
- return getDateFormat(label, "MMM YYYY");
308
-
309
- case DateGroupCodes.Quarter_Year:
310
- return getQuarterYearFormat(label);
311
-
312
- default:
313
- return label;
314
- }
315
- };
316
-
317
253
  var isNullOrUndefined = function isNullOrUndefined(val) {
318
254
  return val == null || val == undefined;
319
255
  };
@@ -323,7 +259,7 @@ var isNullOrUndefinedOrEmpty = function isNullOrUndefinedOrEmpty(val) {
323
259
  };
324
260
 
325
261
  var KpiChart = function KpiChart(props) {
326
- var _widget$current18;
262
+ var _widget$current16;
327
263
 
328
264
  var _useState = useState(true),
329
265
  isLoading = _useState[0],
@@ -434,6 +370,9 @@ var KpiChart = function KpiChart(props) {
434
370
  return React__default.createElement("div", {
435
371
  className: "dl-kpi-ratio-container"
436
372
  }, getArrowComponent(), React__default.createElement("div", {
373
+ style: {
374
+ fontSize: getKPIFormattingPropertyValue("PercentageFontSize", "px")
375
+ },
437
376
  className: 'dl-kpi-ratio-text'
438
377
  }, data === null || data === void 0 ? void 0 : data.Ratio, " %"));
439
378
  }
@@ -477,14 +416,22 @@ var KpiChart = function KpiChart(props) {
477
416
 
478
417
  function getPreviousValueComponent() {
479
418
  if (isNullOrUndefined(data) || isNullOrUndefined(data === null || data === void 0 ? void 0 : data.ComparisonValue) || isNullOrUndefined(data === null || data === void 0 ? void 0 : data.ComparisonLabel)) return "";
480
- var labelFormatByDateGroupType = getLabelFormatByDateGroupType(data.ComparisonLabel, widget.current, false);
481
- var labelFormated = !isNullOrUndefined(labelFormatByDateGroupType) ? labelFormatByDateGroupType : null;
482
- var prevtext = labelFormated ? labelFormated + ": " + (data === null || data === void 0 ? void 0 : data.ComparisonValue) : "";
419
+ var formatedValue = data ? data.ComparisonLabel : "";
420
+ var comparisonValue = data ? data === null || data === void 0 ? void 0 : data.ComparisonValue : "";
483
421
  return React__default.createElement("div", {
422
+ title: formatedValue,
484
423
  className: "dl-kpi-prev-container"
485
424
  }, React__default.createElement("div", {
425
+ style: {
426
+ color: getKPIFormattingPropertyValue("ComparisonValueFontColor"),
427
+ fontSize: getKPIFormattingPropertyValue("ComparisonValueFontSize", "px")
428
+ },
486
429
  className: "dl-kpi-prev-text"
487
- }, prevtext), (data === null || data === void 0 ? void 0 : data.ComparisonAbbreviationSymbol) && React__default.createElement("div", {
430
+ }, comparisonValue), (data === null || data === void 0 ? void 0 : data.ComparisonAbbreviationSymbol) && React__default.createElement("div", {
431
+ style: {
432
+ color: getKPIFormattingPropertyValue("ComparisonValueFontColor"),
433
+ fontSize: getKPIFormattingPropertyValue("ComparisonValueFontSize", "px")
434
+ },
488
435
  className: "dl-kpi-prev-abbreviationSymbol"
489
436
  }, data === null || data === void 0 ? void 0 : data.ComparisonAbbreviationSymbol));
490
437
  }
@@ -494,6 +441,10 @@ var KpiChart = function KpiChart(props) {
494
441
  className: "dl-kpi-no-data"
495
442
  }, "No data to display.");
496
443
  return React__default.createElement("div", {
444
+ style: {
445
+ color: getKPIFormattingPropertyValue("MainValueFontColor"),
446
+ fontSize: getKPIFormattingPropertyValue("MainValueFontSize", "px")
447
+ },
497
448
  className: "dl-kpi-value dl-kpi-textTrimming"
498
449
  }, data === null || data === void 0 ? void 0 : data.Value);
499
450
  }
@@ -502,19 +453,67 @@ var KpiChart = function KpiChart(props) {
502
453
  return React__default.createElement("div", {
503
454
  className: "dl-kpi-sub-container"
504
455
  }, getValueData(), (data === null || data === void 0 ? void 0 : data.AbbreviationSymbol) && React__default.createElement("div", {
456
+ style: {
457
+ color: getKPIFormattingPropertyValue("MainValueFontColor"),
458
+ fontSize: getKPIFormattingPropertyValue("MainValueFontSize", "px")
459
+ },
505
460
  className: "dl-kpi-abbreviationSymbol"
506
461
  }, data === null || data === void 0 ? void 0 : data.AbbreviationSymbol), widget.current && widget.current.ShowMeasureUnit && (data === null || data === void 0 ? void 0 : data.Unit) && React__default.createElement("div", {
462
+ style: {
463
+ color: getKPIFormattingPropertyValue("MainValueFontColor"),
464
+ fontSize: getKPIFormattingPropertyValue("MainValueFontSize", "px")
465
+ },
507
466
  className: "dl-kpi-unit"
508
467
  }, data === null || data === void 0 ? void 0 : data.Unit), getRatioComponent());
509
468
  }
510
469
 
470
+ var getPeriodLabelByPeriodCode = function getPeriodLabelByPeriodCode(code) {
471
+ if (!isNullOrUndefinedOrEmpty(code)) {
472
+ return code.replaceAll("_", " ");
473
+ }
474
+
475
+ return "";
476
+ };
477
+
478
+ var getLabelFromKPISettings = function getLabelFromKPISettings() {
479
+ if (widget.current && widget.current.KPIComparisonSettings && widget.current.KPIComparisonSettings.length) {
480
+ var kpiSettings = JSON.parse(widget.current.KPIComparisonSettings);
481
+ var PeriodDateFilter = kpiSettings ? kpiSettings.PeriodDateFilter : null;
482
+ var isKPISettingsActivated = !isNullOrUndefinedOrEmpty(kpiSettings.PeriodFieldId);
483
+ return isKPISettingsActivated && PeriodDateFilter && PeriodDateFilter.DateTimeValueCode ? getPeriodLabelByPeriodCode(PeriodDateFilter.DateTimeValueCode) : "";
484
+ }
485
+
486
+ return "";
487
+ };
488
+
489
+ var getKPIFormattingData = function getKPIFormattingData() {
490
+ var _widget$current14, _widget$current15;
491
+
492
+ return isNullOrUndefinedOrEmpty((_widget$current14 = widget.current) === null || _widget$current14 === void 0 ? void 0 : _widget$current14.KPIFormatSettings) ? {} : JSON.parse((_widget$current15 = widget.current) === null || _widget$current15 === void 0 ? void 0 : _widget$current15.KPIFormatSettings);
493
+ };
494
+
495
+ var getKPIFormattingPropertyValue = function getKPIFormattingPropertyValue(propertyName, unit) {
496
+ if (unit === void 0) {
497
+ unit = "";
498
+ }
499
+
500
+ var kpiFormattingData = getKPIFormattingData();
501
+ return kpiFormattingData && kpiFormattingData[propertyName] ? kpiFormattingData[propertyName] + unit : undefined;
502
+ };
503
+
511
504
  function getLabel() {
512
- var labelFormated = getLabelFormatByDateGroupType(data.Label, widget.current, false);
505
+ var formatedValue = data ? data.Label : "";
506
+ var label = getLabelFromKPISettings();
513
507
  return React__default.createElement("div", {
514
508
  className: "dl-kpi-label-container"
515
509
  }, React__default.createElement("span", {
510
+ style: {
511
+ color: getKPIFormattingPropertyValue("MainPeriodFontColor"),
512
+ fontSize: getKPIFormattingPropertyValue("MainPeriodFontSize", "px")
513
+ },
514
+ title: formatedValue,
516
515
  className: "dl-kpi-label-span dl-kpi-textTrimming"
517
- }, labelFormated));
516
+ }, label));
518
517
  }
519
518
 
520
519
  var getIsKPIHasSmallestHeight = function getIsKPIHasSmallestHeight() {
@@ -524,13 +523,9 @@ var KpiChart = function KpiChart(props) {
524
523
  };
525
524
 
526
525
  var isKPICustomResizeNeeded = function isKPICustomResizeNeeded() {
527
- var _widget$current14, _widget$current15, _widget$current16, _widget$current17;
528
-
529
526
  if (!widget || !widget.current) return;
530
- var isThereTitle = !isNullOrUndefined((_widget$current14 = widget.current) === null || _widget$current14 === void 0 ? void 0 : _widget$current14.Title) && ((_widget$current15 = widget.current) === null || _widget$current15 === void 0 ? void 0 : _widget$current15.Title.length) > 0;
531
- var isThereSubTitle = !isNullOrUndefined((_widget$current16 = widget.current) === null || _widget$current16 === void 0 ? void 0 : _widget$current16.Subtitle) && ((_widget$current17 = widget.current) === null || _widget$current17 === void 0 ? void 0 : _widget$current17.Subtitle.length) > 0;
532
527
  var isKPIHasSmallestHeight = getIsKPIHasSmallestHeight();
533
- return isThereTitle && isThereSubTitle && isKPIHasSmallestHeight;
528
+ return isKPIHasSmallestHeight;
534
529
  };
535
530
 
536
531
  return isLoading || !widget.current ? React__default.createElement("div", {
@@ -545,7 +540,7 @@ var KpiChart = function KpiChart(props) {
545
540
  })) : !error && widget.current ? React__default.createElement("div", {
546
541
  key: triggerId,
547
542
  onClick: kpiClick,
548
- className: ((_widget$current18 = widget.current) === null || _widget$current18 === void 0 ? void 0 : _widget$current18.Alighnment) == "Left" ? "dl-kpi-container-click db-justify-content-flex-start" : "dl-kpi-container-click"
543
+ className: ((_widget$current16 = widget.current) === null || _widget$current16 === void 0 ? void 0 : _widget$current16.Alighnment) == "Left" ? "dl-kpi-container-click db-justify-content-flex-start" : "dl-kpi-container-click"
549
544
  }, React__default.createElement("div", {
550
545
  className: isKPICustomSizeNeeded ? "dl-kpi-container kpi-custom-size" : "dl-kpi-container"
551
546
  }, getLabel(), getValueComponent(), getPreviousValueComponent())) : React__default.createElement("div", {
@@ -872,6 +867,70 @@ var CustomChart = function CustomChart(props) {
872
867
  }, project()));
873
868
  };
874
869
 
870
+ var DateGroupCodes = {
871
+ Full_Date: 'Full Date',
872
+ Month: 'Month',
873
+ Quarter: 'Quarter',
874
+ Year: 'Year',
875
+ Month_Year: 'Month & Year',
876
+ Quarter_Year: 'Quarter & Year'
877
+ };
878
+
879
+ var getDateFormat = function getDateFormat(label, _format) {
880
+ if (!label) return label;
881
+
882
+ var _date = moment(label);
883
+
884
+ if (!_date || !_date.isValid()) return label;
885
+ return _date.format(_format);
886
+ };
887
+
888
+ var getQuarterYearFormat = function getQuarterYearFormat(label) {
889
+ if (!label) return label;
890
+
891
+ if (label.includes("/")) {
892
+ var result = label.split("/");
893
+ var quarterVal = result && result[1] ? result[1] : "";
894
+ var yearVal = result && result[0] ? result[0] : "";
895
+ return quarterVal + " " + yearVal;
896
+ }
897
+
898
+ return label;
899
+ };
900
+
901
+ var getLabelFormatByDateGroupType = function getLabelFormatByDateGroupType(label, widget, isSecondGrouping) {
902
+ if (isSecondGrouping === void 0) {
903
+ isSecondGrouping = false;
904
+ }
905
+
906
+ if (!widget) return label;
907
+ var groupFieldDataType = isSecondGrouping ? widget.SecondaryDateGroupCode : widget.DateGroupCode;
908
+ if (!groupFieldDataType) return label;
909
+
910
+ switch (groupFieldDataType) {
911
+ case DateGroupCodes.Full_Date:
912
+ return getDateFormat(label, "DD MMM YYYY");
913
+
914
+ case DateGroupCodes.Month:
915
+ return getDateFormat(label, "MMM");
916
+
917
+ case DateGroupCodes.Quarter:
918
+ return label;
919
+
920
+ case DateGroupCodes.Year:
921
+ return getDateFormat(label, "YYYY");
922
+
923
+ case DateGroupCodes.Month_Year:
924
+ return getDateFormat(label, "MMM YYYY");
925
+
926
+ case DateGroupCodes.Quarter_Year:
927
+ return getQuarterYearFormat(label);
928
+
929
+ default:
930
+ return label;
931
+ }
932
+ };
933
+
875
934
  function buildToolTip(widget, value, seriesName, label, index) {
876
935
  var padding = widget.TypeCode == 'line' && index > 0 ? 'padding-top: 3px' : '';
877
936
  return "\n <div style=\"min-width: 108px;" + padding + "\">\n <div style=\"display: flex;align-items: center;margin-bottom: 6px;\">\n <span style=\"margin: 0; min-height: 10px; min-width: 10px; height: 10px; width: 10px; background-color: transparent; border-radius: 50%; display: inline-block;\"></span>\n <p style=\" margin: 0; margin-left: 4px; white-space: pre-line; font-family: 'Manrope'; font-style: normal;font-weight: 400; font-size: 11px; line-height: 100%; color: #323232;\"> " + getTooltiplabel(label, seriesName) + "</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'; white-space: pre-line; font-style: normal;font-weight: 400; font-size: 11px;line-height: 100%;color: #A4A4A4;\"> " + getMeasureType(seriesName) + "</p>\n <p style=\"margin: 0;margin-left: 6px; white-space: pre-line; font-family: 'Manrope';font-style: normal;font-weight: 500;font-size: 11px;line-height: 100%; color: #323232;\">" + getTooltipValue(value) + "</p>\n " + getTooltipPercentage(widget) + " </div>\n </div>\n ";