logitude-dashboard-library 3.2.43 → 3.2.45

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.
@@ -312,7 +312,7 @@ $dark-grey: #717585;
312
312
  font-family: 'Manrope', sans-serif;
313
313
  font-style: normal;
314
314
  color: #292D30;
315
- padding-top: 6px;
315
+ padding-top: 9px;
316
316
  margin-top: 0;
317
317
  margin-bottom: 0;
318
318
  font-size: 12px;
@@ -666,6 +666,15 @@ $dark-grey: #717585;
666
666
  .db-fc-container {
667
667
  width: 100%;
668
668
  height: calc(100% - 5px);
669
+ padding-left: 0.12rem;
670
+ padding-right: 0.12rem;
671
+ padding-top: 0.05rem;
672
+ }
673
+
674
+ .db-fc-container-error {
675
+ padding-left: 0 !important;
676
+ padding-right: 0 !important;
677
+ padding-top: 0 !important;
669
678
  }
670
679
 
671
680
  .db-fc-container text {
@@ -1237,9 +1246,14 @@ $dark-grey: #717585;
1237
1246
  text-decoration: underline;
1238
1247
  }
1239
1248
 
1249
+
1240
1250
  .table-cell-datetime {
1251
+
1241
1252
  font-family: 'Manrope';
1242
1253
  font-weight: 500;
1254
+ padding: 0px 6px;
1255
+ border-radius: 4px;
1256
+ width: fit-content;
1243
1257
  }
1244
1258
 
1245
1259
  .date-time-value-container {
package/dist/index.js CHANGED
@@ -1444,12 +1444,23 @@ var TableChart = function TableChart(props) {
1444
1444
  var updatedWidgetColumnsData = JSON.parse(updatedWidgetColumns);
1445
1445
  var _updatedTableColumns = [];
1446
1446
  updatedWidgetColumnsData.forEach(function (c) {
1447
- var col = tableColumns.find(function (f) {
1447
+ var columns = tableColumns.filter(function (f) {
1448
1448
  return f.Id == c.Id;
1449
1449
  });
1450
1450
 
1451
- if (col) {
1452
- _updatedTableColumns.push(col);
1451
+ if (columns && columns.length == 1) {
1452
+ _updatedTableColumns.push(columns[0]);
1453
+ } else if (columns && columns.length > 1) {
1454
+ var isCalculatedColumn = c.ColumnVariableType === "CalculatedColumn";
1455
+ var dataTypeCode = c.ColumnVariableDataType;
1456
+ var dateDisplayMode = c.DateTimeDisplayMode || "Date";
1457
+ var column = columns.find(function (f) {
1458
+ return f.IsCalculatedColumn === isCalculatedColumn && f.DataTypeCode === dataTypeCode && f.DateTimeDisplayMode === dateDisplayMode;
1459
+ });
1460
+
1461
+ if (column) {
1462
+ _updatedTableColumns.push(column);
1463
+ }
1453
1464
  }
1454
1465
  });
1455
1466
  setTableColumns([].concat(_updatedTableColumns));
@@ -1699,6 +1710,79 @@ var TableChart = function TableChart(props) {
1699
1710
  }
1700
1711
  };
1701
1712
 
1713
+ function stripTime(date) {
1714
+ if (!date) return null;
1715
+ return new Date(date.getFullYear(), date.getMonth(), date.getDate());
1716
+ }
1717
+
1718
+ function parseLocalDate(dateStr) {
1719
+ try {
1720
+ if (!dateStr) return null;
1721
+
1722
+ var _dateStr$split$0$spli = dateStr.split('T')[0].split('-').map(Number),
1723
+ year = _dateStr$split$0$spli[0],
1724
+ month = _dateStr$split$0$spli[1],
1725
+ day = _dateStr$split$0$spli[2];
1726
+
1727
+ return new Date(year, month - 1, day);
1728
+ } catch (error) {
1729
+ return null;
1730
+ }
1731
+ }
1732
+
1733
+ function parseCustomDateLocalDate(dateStr) {
1734
+ try {
1735
+ if (!dateStr || dateStr.length < 8) return null;
1736
+ var year = Number(dateStr.substring(0, 4));
1737
+ var month = Number(dateStr.substring(4, 6));
1738
+ var day = Number(dateStr.substring(6, 8));
1739
+ return new Date(year, month - 1, day);
1740
+ } catch (error) {
1741
+ return null;
1742
+ }
1743
+ }
1744
+
1745
+ function isDateValidRule(rule, value) {
1746
+ var _rule$RuleOperator;
1747
+
1748
+ var operator = rule === null || rule === void 0 ? void 0 : (_rule$RuleOperator = rule.RuleOperator) === null || _rule$RuleOperator === void 0 ? void 0 : _rule$RuleOperator.Code;
1749
+ if (!operator) return null;
1750
+ var ruleValue1 = stripTime(parseCustomDateLocalDate(rule.RuleValue1));
1751
+ var ruleValue2 = stripTime(parseCustomDateLocalDate(rule.RuleValue2));
1752
+ var actualValue = stripTime(parseLocalDate(value));
1753
+
1754
+ switch (operator) {
1755
+ case "Equal":
1756
+ case "Between":
1757
+ return !isValueEmpty(ruleValue1) && !isValueEmpty(ruleValue2) && !isValueEmpty(actualValue) && ruleValue1 <= actualValue && actualValue <= ruleValue2;
1758
+
1759
+ case "NotEqual":
1760
+ case "NotBetween":
1761
+ return !isValueEmpty(ruleValue1) && !isValueEmpty(ruleValue2) && !isValueEmpty(actualValue) && (ruleValue1 > actualValue || actualValue > ruleValue2);
1762
+
1763
+ case "GreaterThan":
1764
+ return !isValueEmpty(ruleValue2) && !isValueEmpty(actualValue) && actualValue > ruleValue2;
1765
+
1766
+ case "GreaterThanOrEqual":
1767
+ return !isValueEmpty(ruleValue2) && !isValueEmpty(actualValue) && actualValue >= ruleValue2;
1768
+
1769
+ case "LessThan":
1770
+ return !isValueEmpty(ruleValue2) && !isValueEmpty(actualValue) && actualValue < ruleValue2;
1771
+
1772
+ case "LessThanOrEqual":
1773
+ return !isValueEmpty(ruleValue2) && !isValueEmpty(actualValue) && actualValue <= ruleValue2;
1774
+
1775
+ case "IsEmpty":
1776
+ return isValueEmpty(actualValue);
1777
+
1778
+ case "IsNotEmpty":
1779
+ return !isValueEmpty(actualValue);
1780
+
1781
+ default:
1782
+ return null;
1783
+ }
1784
+ }
1785
+
1702
1786
  var getCellPropertyByRule = function getCellPropertyByRule(column, cellValue, propertyName, defaultValue) {
1703
1787
  if (defaultValue === void 0) {
1704
1788
  defaultValue = null;
@@ -1710,12 +1794,20 @@ var TableChart = function TableChart(props) {
1710
1794
  return el.FieldId == column.Id && el.FieldType == columnType;
1711
1795
  });
1712
1796
 
1713
- if (!columnData || !columnData.FieldRules || columnData.FieldRules.length == 0) {
1797
+ if (!columnData || !columnData.FieldRules || columnData.FieldRules.length == 0 || columnData.FieldDataType != (column === null || column === void 0 ? void 0 : column.DataTypeCode)) {
1714
1798
  return defaultValue ? getTableFormattingPropertyValue(defaultValue) : undefined;
1715
1799
  }
1716
- var firstValidRule = columnData.FieldRules.find(function (rule) {
1717
- return IsValidRule(rule, cellValue);
1718
- });
1800
+ var firstValidRule = null;
1801
+
1802
+ if (FieldDataType.isDateOrDateTimeType(column === null || column === void 0 ? void 0 : column.DataTypeCode)) {
1803
+ firstValidRule = columnData.FieldRules.find(function (rule) {
1804
+ return isDateValidRule(rule, cellValue);
1805
+ });
1806
+ } else {
1807
+ firstValidRule = columnData.FieldRules.find(function (rule) {
1808
+ return IsValidRule(rule, cellValue);
1809
+ });
1810
+ }
1719
1811
 
1720
1812
  if (!firstValidRule) {
1721
1813
  return defaultValue ? getTableFormattingPropertyValue(defaultValue) : undefined;
@@ -1790,12 +1882,12 @@ var TableChart = function TableChart(props) {
1790
1882
  if (!column || !column.FieldCode) return "";
1791
1883
 
1792
1884
  if (column.DataTypeCode == "DateTime" || column.DataTypeCode == "Date") {
1885
+ var dateTimeDisplayMode = column.DateTimeDisplayMode;
1793
1886
  var fontColor = getTableFormattingPropertyValue("TableCellFontColor");
1794
1887
  var fontSizeWithoutUnit = getTableFormattingPropertyValue("TableCellFontSize");
1795
1888
  var fontSizeWitUnit = getTableFormattingPropertyValue("TableCellFontSize", "px");
1796
- var width = fontSizeWithoutUnit ? fontSizeWithoutUnit * 6 + "px" : 70 + "px";
1797
1889
  return React__default.createElement("div", {
1798
- title: getDateTimeValue(data[column.FieldCode]),
1890
+ title: dateTimeDisplayMode === 'DateTime' ? getDateTimeValue(data[column.FieldCode]) : getDateTimeValue(data[column.FieldCode], 'Date'),
1799
1891
  className: "date-time-value-container",
1800
1892
  style: {
1801
1893
  color: fontColor
@@ -1804,15 +1896,10 @@ var TableChart = function TableChart(props) {
1804
1896
  className: "table-cell-datetime",
1805
1897
  style: {
1806
1898
  fontSize: fontSizeWitUnit,
1807
- width: width,
1808
- display: 'inline-block'
1809
- }
1810
- }, getDateTimeValue(data[column.FieldCode], 'Date')), React__default.createElement("span", {
1811
- className: "table-cell-datetime",
1812
- style: {
1813
- fontSize: fontSizeWitUnit
1899
+ display: 'inline-block',
1900
+ backgroundColor: getCellPropertyByRule(column, data[column.FieldCode], 'RuleBackgroundColor')
1814
1901
  }
1815
- }, getDateTimeValue(data[column.FieldCode], 'Time')));
1902
+ }, getDateTimeValue(data[column.FieldCode], 'Date'), dateTimeDisplayMode === 'DateTime' && ' ' + getDateTimeValue(data[column.FieldCode], 'Time')));
1816
1903
  } else {
1817
1904
  return React__default.createElement("span", {
1818
1905
  onClick: function onClick() {
@@ -3529,7 +3616,15 @@ var FusionChart = React.forwardRef(function (props, comRef) {
3529
3616
  }
3530
3617
  };
3531
3618
 
3532
- return !dataLoaded ? React__default.createElement("div", {
3619
+ return React__default.createElement("div", {
3620
+ className: 'db-fc-parent-container',
3621
+ ref: fusionRef
3622
+ }, React__default.createElement("div", {
3623
+ className: 'db-fc-container' + (dataLoaded && error ? " db-fc-container-error" : ""),
3624
+ key: fusionKey,
3625
+ ref: ref,
3626
+ id: chartContainerId
3627
+ }, !dataLoaded && React__default.createElement("div", {
3533
3628
  ref: progressRef,
3534
3629
  className: 'dl-full-hight dl-flex-content-center spinner-custome'
3535
3630
  }, React__default.createElement(progressspinner.ProgressSpinner, {
@@ -3539,19 +3634,11 @@ var FusionChart = React.forwardRef(function (props, comRef) {
3539
3634
  },
3540
3635
  strokeWidth: "4",
3541
3636
  animationDuration: "2s"
3542
- })) : !error ? React__default.createElement("div", {
3543
- className: 'db-fc-parent-container',
3544
- ref: fusionRef
3545
- }, React__default.createElement("div", {
3546
- className: 'db-fc-container',
3547
- key: fusionKey,
3548
- ref: ref,
3549
- id: chartContainerId
3550
- }, React__default.createElement(ReactFC, Object.assign({}, args, {
3637
+ })), dataLoaded && !error && React__default.createElement(ReactFC, Object.assign({}, args, {
3551
3638
  "fcEvent-dataplotClick": dataplotClick,
3552
3639
  "fcEvent-loaded": loaded,
3553
3640
  onRender: renderComplete
3554
- })))) : React__default.createElement("div", {
3641
+ })), dataLoaded && error && React__default.createElement("div", {
3555
3642
  className: "dl-flex-content-center dl-full-hight",
3556
3643
  style: {
3557
3644
  width: '100%'
@@ -3562,7 +3649,7 @@ var FusionChart = React.forwardRef(function (props, comRef) {
3562
3649
  className: "red-warning-icon"
3563
3650
  }), React__default.createElement("span", {
3564
3651
  className: "dl-tooltiptext"
3565
- }, error)));
3652
+ }, error)))));
3566
3653
  });
3567
3654
 
3568
3655
  var _path$1;