@omniumretail/component-library 1.3.29 → 1.3.30
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.
|
@@ -24861,7 +24861,10 @@ const ResponsiveTable = (props) => {
|
|
|
24861
24861
|
useOrderedCellSelection = true,
|
|
24862
24862
|
initialSelectedCells,
|
|
24863
24863
|
selectedCellColor,
|
|
24864
|
-
disableCellSelection
|
|
24864
|
+
disableCellSelection,
|
|
24865
|
+
templateEditMode,
|
|
24866
|
+
currentTemplateType,
|
|
24867
|
+
currentTemplateColor
|
|
24865
24868
|
} = props;
|
|
24866
24869
|
const [customFilters, setCustomFilters] = useState([]);
|
|
24867
24870
|
const [customColumns, setCustomColumns] = useState([]);
|
|
@@ -24889,36 +24892,62 @@ const ResponsiveTable = (props) => {
|
|
|
24889
24892
|
secondCell: { ...defaultCellStyle.secondCell, ...cellSelectionStyle?.secondCell }
|
|
24890
24893
|
};
|
|
24891
24894
|
const handleCellClick = (record, columnKey, value) => {
|
|
24892
|
-
if (!enableCellSelection || !selectableColumns?.includes(columnKey)
|
|
24893
|
-
|
|
24894
|
-
|
|
24895
|
-
)
|
|
24896
|
-
|
|
24897
|
-
|
|
24898
|
-
newSelectedCells = selectedCells.filter(
|
|
24899
|
-
(cell) => !(cell.rowKey === record[rowKeyValue] && cell.columnKey === columnKey)
|
|
24895
|
+
if (!enableCellSelection || !selectableColumns?.includes(columnKey)) return;
|
|
24896
|
+
if (disableCellSelection) return;
|
|
24897
|
+
const rowKey = record[rowKeyValue];
|
|
24898
|
+
if (useOrderedCellSelection) {
|
|
24899
|
+
const isAlreadySelected = selectedCells.some(
|
|
24900
|
+
(cell) => cell.rowKey === rowKey && cell.columnKey === columnKey
|
|
24900
24901
|
);
|
|
24902
|
+
let newSelectedCells;
|
|
24903
|
+
if (isAlreadySelected) {
|
|
24904
|
+
newSelectedCells = selectedCells.filter(
|
|
24905
|
+
(cell) => !(cell.rowKey === rowKey && cell.columnKey === columnKey)
|
|
24906
|
+
);
|
|
24907
|
+
} else {
|
|
24908
|
+
const cellData = {
|
|
24909
|
+
rowKey,
|
|
24910
|
+
columnKey,
|
|
24911
|
+
value: {
|
|
24912
|
+
type: "X",
|
|
24913
|
+
color: selectedCellColor || "grey"
|
|
24914
|
+
},
|
|
24915
|
+
rowData: record
|
|
24916
|
+
};
|
|
24917
|
+
const maxSelection = maxCellSelection || 2;
|
|
24918
|
+
if (cellSelectionMode === "single") {
|
|
24919
|
+
newSelectedCells = [cellData];
|
|
24920
|
+
} else if (selectedCells.length >= maxSelection) {
|
|
24921
|
+
newSelectedCells = [...selectedCells.slice(1), cellData];
|
|
24922
|
+
} else {
|
|
24923
|
+
newSelectedCells = [...selectedCells, cellData];
|
|
24924
|
+
}
|
|
24925
|
+
}
|
|
24926
|
+
setSelectedCells(newSelectedCells);
|
|
24927
|
+
onCellsSelected?.(newSelectedCells);
|
|
24901
24928
|
} else {
|
|
24902
|
-
const
|
|
24903
|
-
rowKey
|
|
24904
|
-
|
|
24905
|
-
|
|
24906
|
-
|
|
24907
|
-
|
|
24908
|
-
},
|
|
24909
|
-
rowData: record
|
|
24910
|
-
};
|
|
24911
|
-
const maxSelection = maxCellSelection || 2;
|
|
24912
|
-
if (cellSelectionMode === "single") {
|
|
24913
|
-
newSelectedCells = [cellData];
|
|
24914
|
-
} else if (selectedCells.length >= maxSelection) {
|
|
24915
|
-
newSelectedCells = [...selectedCells.slice(1), cellData];
|
|
24929
|
+
const cellIndex = selectedCells.findIndex(
|
|
24930
|
+
(cell) => cell.rowKey === rowKey && cell.columnKey === columnKey
|
|
24931
|
+
);
|
|
24932
|
+
let newSelectedCells;
|
|
24933
|
+
if (cellIndex >= 0) {
|
|
24934
|
+
newSelectedCells = selectedCells.filter((_, index) => index !== cellIndex);
|
|
24916
24935
|
} else {
|
|
24917
|
-
|
|
24936
|
+
const newCell = {
|
|
24937
|
+
rowKey,
|
|
24938
|
+
columnKey,
|
|
24939
|
+
value: templateEditMode ? { type: currentTemplateType, color: currentTemplateColor } : { type: "X", color: selectedCellColor || "grey" },
|
|
24940
|
+
rowData: record
|
|
24941
|
+
};
|
|
24942
|
+
if (cellSelectionMode === "single") {
|
|
24943
|
+
newSelectedCells = [newCell];
|
|
24944
|
+
} else {
|
|
24945
|
+
newSelectedCells = [...selectedCells, newCell];
|
|
24946
|
+
}
|
|
24918
24947
|
}
|
|
24948
|
+
setSelectedCells(newSelectedCells);
|
|
24949
|
+
onCellsSelected?.(newSelectedCells);
|
|
24919
24950
|
}
|
|
24920
|
-
setSelectedCells(newSelectedCells);
|
|
24921
|
-
onCellsSelected?.(newSelectedCells);
|
|
24922
24951
|
};
|
|
24923
24952
|
useEffect(() => {
|
|
24924
24953
|
if (cleanCellSelection) {
|
|
@@ -25055,7 +25084,7 @@ const ResponsiveTable = (props) => {
|
|
|
25055
25084
|
(cell) => cell.rowKey === record[rowKeyValue] && cell.columnKey === key
|
|
25056
25085
|
);
|
|
25057
25086
|
const isSelected2 = cellIndex2 !== -1;
|
|
25058
|
-
if (isDisabled) {
|
|
25087
|
+
if (isDisabled && !templateEditMode) {
|
|
25059
25088
|
if (originalCellContent2?.type === "I" || isReadonly || originalCellContent2?.type === "L" || disableCellSelection) {
|
|
25060
25089
|
return /* @__PURE__ */ jsx(Tag, { color: originalCellContent2.color, style: { margin: -4, cursor: "not-allowed" }, children: originalCellContent2.type });
|
|
25061
25090
|
} else {
|
|
@@ -25075,6 +25104,31 @@ const ResponsiveTable = (props) => {
|
|
|
25075
25104
|
);
|
|
25076
25105
|
}
|
|
25077
25106
|
}
|
|
25107
|
+
if (isDisabled && templateEditMode) {
|
|
25108
|
+
const cellContent = isSelected2 ? /* @__PURE__ */ jsx(
|
|
25109
|
+
Tag,
|
|
25110
|
+
{
|
|
25111
|
+
color: selectedCells[cellIndex2]?.value?.color || selectedCellColor,
|
|
25112
|
+
style: { margin: -4, cursor: "pointer" },
|
|
25113
|
+
children: selectedCells[cellIndex2]?.value?.type || "X"
|
|
25114
|
+
}
|
|
25115
|
+
) : originalCellContent2?.type ? /* @__PURE__ */ jsx(Tag, { color: originalCellContent2.color, style: { margin: -4 }, children: originalCellContent2.type }) : null;
|
|
25116
|
+
return /* @__PURE__ */ jsx(
|
|
25117
|
+
"div",
|
|
25118
|
+
{
|
|
25119
|
+
onClick: (e) => {
|
|
25120
|
+
e.stopPropagation();
|
|
25121
|
+
handleCellClick(record, key);
|
|
25122
|
+
},
|
|
25123
|
+
className: classNames(
|
|
25124
|
+
styles$7.selectableCell,
|
|
25125
|
+
isSelected2 && styles$7.selected,
|
|
25126
|
+
isSelected2 && styles$7.uniformSelection
|
|
25127
|
+
),
|
|
25128
|
+
children: cellContent
|
|
25129
|
+
}
|
|
25130
|
+
);
|
|
25131
|
+
}
|
|
25078
25132
|
if (isSelectable2) {
|
|
25079
25133
|
const cellContent = (() => {
|
|
25080
25134
|
if (isSelected2) {
|
|
@@ -25083,7 +25137,14 @@ const ResponsiveTable = (props) => {
|
|
|
25083
25137
|
const cellType = selectedCell?.value?.type || "X";
|
|
25084
25138
|
const isLicenseType = cellType === "L";
|
|
25085
25139
|
const isReadonlyCell = selectedCell?.value?.readonly || disableCellSelection;
|
|
25086
|
-
return /* @__PURE__ */ jsx(
|
|
25140
|
+
return /* @__PURE__ */ jsx(
|
|
25141
|
+
Tag,
|
|
25142
|
+
{
|
|
25143
|
+
color: cellColor,
|
|
25144
|
+
style: { margin: -4, cursor: (isLicenseType || isReadonlyCell) && !templateEditMode ? "not-allowed" : "pointer" },
|
|
25145
|
+
children: cellType
|
|
25146
|
+
}
|
|
25147
|
+
);
|
|
25087
25148
|
}
|
|
25088
25149
|
if (originalCellContent2) {
|
|
25089
25150
|
return /* @__PURE__ */ jsx(Tag, { color: originalCellContent2.color, style: { margin: -4 }, children: originalCellContent2.type });
|
|
@@ -25096,7 +25157,7 @@ const ResponsiveTable = (props) => {
|
|
|
25096
25157
|
onClick: (e) => {
|
|
25097
25158
|
e.stopPropagation();
|
|
25098
25159
|
if (disableCellSelection) return;
|
|
25099
|
-
if (isSelected2 && selectedCells[cellIndex2]?.value?.type === "L") {
|
|
25160
|
+
if (!templateEditMode && isSelected2 && selectedCells[cellIndex2]?.value?.type === "L") {
|
|
25100
25161
|
return;
|
|
25101
25162
|
}
|
|
25102
25163
|
handleCellClick(record, key);
|