trotl-table 1.0.72 → 1.0.74

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/Table.esm.js CHANGED
@@ -9645,6 +9645,7 @@ function TableInner({
9645
9645
  enableDragRow = false,
9646
9646
  enableSearchUrlParam = false,
9647
9647
  enableMultiSelect = false,
9648
+ enableGroupSelection = false,
9648
9649
  initialSelectedRows = [],
9649
9650
  initaialSelectedRows,
9650
9651
  enableExternalRowDrop = false,
@@ -10391,11 +10392,12 @@ function TableInner({
10391
10392
  }
10392
10393
  }, [getAccessorKey, getAccessorValue]);
10393
10394
  const renderCell = useCallback((v, accessor, row, col) => {
10394
- const isNoData = v === undefined;
10395
+ const isUndefinedLike = v === undefined || typeof v === "string" && v.trim().toLowerCase() === "undefined";
10396
+ const isNoData = isUndefinedLike;
10395
10397
 
10396
10398
  // Checkbox column type (editable in-table)
10397
10399
  if (col && col.type === 'checkbox') {
10398
- const checked = !!v;
10400
+ const checked = isUndefinedLike ? false : !!v;
10399
10401
  return /*#__PURE__*/React__default.createElement("input", {
10400
10402
  type: "checkbox",
10401
10403
  checked: checked,
@@ -10433,7 +10435,7 @@ function TableInner({
10433
10435
 
10434
10436
  // Switch column type (uses internal Switch component)
10435
10437
  if (col && col.type === 'switch') {
10436
- const checked = !!v;
10438
+ const checked = isUndefinedLike ? false : !!v;
10437
10439
  return /*#__PURE__*/React__default.createElement("div", {
10438
10440
  title: isNoData ? translate("noData") : undefined,
10439
10441
  onClick: e => {
@@ -10471,8 +10473,8 @@ function TableInner({
10471
10473
 
10472
10474
  // Color column type (display color swatch background)
10473
10475
  if (col && col.type === 'color') {
10474
- const colorVal = v || "transparent";
10475
- const text = String(colorVal) ;
10476
+ const colorVal = isUndefinedLike ? "transparent" : v || "transparent";
10477
+ const text = isUndefinedLike ? "..." : String(colorVal) ;
10476
10478
  return /*#__PURE__*/React__default.createElement("div", {
10477
10479
  style: {
10478
10480
  width: '100%',
@@ -10614,6 +10616,23 @@ function TableInner({
10614
10616
  minute: "2-digit"
10615
10617
  }) : "-";
10616
10618
  }
10619
+ if (isUndefinedLike) {
10620
+ return /*#__PURE__*/React__default.createElement("span", {
10621
+ title: translate("noData")
10622
+ }, "...");
10623
+ }
10624
+ if (typeof v === "boolean") {
10625
+ return /*#__PURE__*/React__default.createElement("span", {
10626
+ title: String(v),
10627
+ style: {
10628
+ color: v ? "#1a7f37" : "#b42318",
10629
+ fontWeight: 700,
10630
+ display: "inline-block",
10631
+ minWidth: "1ch",
10632
+ textAlign: "center"
10633
+ }
10634
+ }, v ? "✓" : "✗");
10635
+ }
10617
10636
  // existing highlight logic for other fields
10618
10637
  return highlight(String(v));
10619
10638
  }, [highlight, isGrouped, triggerCellCallback, translate, formatArrayValue]);
@@ -10824,7 +10843,7 @@ function TableInner({
10824
10843
  },
10825
10844
  className: "table-row group-row empty-group-drop",
10826
10845
  onClick: () => toggleGroup(gid)
10827
- }, enableMultiSelect && /*#__PURE__*/React__default.createElement("div", {
10846
+ }, enableMultiSelect && enableGroupSelection && /*#__PURE__*/React__default.createElement("div", {
10828
10847
  className: "table-cell checkbox-cell"
10829
10848
  }, /*#__PURE__*/React__default.createElement("input", {
10830
10849
  type: "checkbox",
@@ -10868,7 +10887,7 @@ function TableInner({
10868
10887
  style: style,
10869
10888
  className: "table-row group-row",
10870
10889
  onClick: () => toggleGroup(gid)
10871
- }, enableMultiSelect && /*#__PURE__*/React__default.createElement("div", {
10890
+ }, enableMultiSelect && enableGroupSelection && /*#__PURE__*/React__default.createElement("div", {
10872
10891
  className: "table-cell checkbox-cell"
10873
10892
  }, /*#__PURE__*/React__default.createElement("input", {
10874
10893
  type: "checkbox",