@megha-ui/react 1.3.119 → 1.3.121
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/components/grid/index.js +102 -94
- package/package.json +1 -1
|
@@ -1025,6 +1025,107 @@ withCard = false, cardClassName, cardHeader, title, headerLeft, headerRight, sub
|
|
|
1025
1025
|
setRowOpened(updatedRowOpened);
|
|
1026
1026
|
setOpenedRows && setOpenedRows(updatedRowOpened);
|
|
1027
1027
|
};
|
|
1028
|
+
const filterDetails = useMemo(() => {
|
|
1029
|
+
const filterColumn = gridColumns.reduce((acc, column) => {
|
|
1030
|
+
const query = searchQueries[column.key];
|
|
1031
|
+
const uniqeValues = [
|
|
1032
|
+
...new Set(filteredData.map((data) => { var _a; return data[column.key] && ((_a = data[column.key].value) === null || _a === void 0 ? void 0 : _a.toString()); })),
|
|
1033
|
+
].sort();
|
|
1034
|
+
if (query &&
|
|
1035
|
+
(query.text !== "" || query.type !== defaultSearchOperation)) {
|
|
1036
|
+
acc[column.key] = query.text;
|
|
1037
|
+
}
|
|
1038
|
+
else if (uniqueSearch[column.key] &&
|
|
1039
|
+
uniqeValues.toString() !== uniqueSearch[column.key].sort().toString()) {
|
|
1040
|
+
acc[column.key] = uniqueSearch[column.key].join(",");
|
|
1041
|
+
}
|
|
1042
|
+
return acc;
|
|
1043
|
+
}, {});
|
|
1044
|
+
const fixedFilterColumn = fixedColumns.reduce((acc, column) => {
|
|
1045
|
+
const values = fixedFilterValues[column.key] || [];
|
|
1046
|
+
if (values.length > 0) {
|
|
1047
|
+
acc[column.key] = values;
|
|
1048
|
+
}
|
|
1049
|
+
return acc;
|
|
1050
|
+
}, {});
|
|
1051
|
+
const propFilterColumn = gridColumns.reduce((acc, column) => {
|
|
1052
|
+
if (filterData) {
|
|
1053
|
+
const { searchQueries, uniqueSearch } = filterData;
|
|
1054
|
+
const query = searchQueries[column.key];
|
|
1055
|
+
const uniqeValues = [
|
|
1056
|
+
...new Set(filteredData.map((data) => { var _a; return data[column.key] && ((_a = data[column.key].value) === null || _a === void 0 ? void 0 : _a.toString()); })),
|
|
1057
|
+
].sort();
|
|
1058
|
+
if (query &&
|
|
1059
|
+
(query.text !== "" || query.type !== defaultSearchOperation)) {
|
|
1060
|
+
acc[column.key] = query.text;
|
|
1061
|
+
}
|
|
1062
|
+
else if (uniqueSearch[column.key] &&
|
|
1063
|
+
uniqeValues.toString() !==
|
|
1064
|
+
uniqueSearch[column.key].sort().toString()) {
|
|
1065
|
+
acc[column.key] = uniqueSearch[column.key].join(",");
|
|
1066
|
+
}
|
|
1067
|
+
}
|
|
1068
|
+
return acc;
|
|
1069
|
+
}, {});
|
|
1070
|
+
const propFixedFilterColumn = fixedColumns.reduce((acc, column) => {
|
|
1071
|
+
var _a;
|
|
1072
|
+
const values = (filterData && ((_a = filterData.fixedFilterValues) === null || _a === void 0 ? void 0 : _a[column.key])) || [];
|
|
1073
|
+
if (values.length > 0) {
|
|
1074
|
+
acc[column.key] = values;
|
|
1075
|
+
}
|
|
1076
|
+
return acc;
|
|
1077
|
+
}, {});
|
|
1078
|
+
const sortColumn = gridColumns.reduce((acc, column) => {
|
|
1079
|
+
const query = sortQueries === null || sortQueries === void 0 ? void 0 : sortQueries[column.key];
|
|
1080
|
+
if (query) {
|
|
1081
|
+
acc[column.key] = query;
|
|
1082
|
+
}
|
|
1083
|
+
return acc;
|
|
1084
|
+
}, {});
|
|
1085
|
+
const propSortColumn = gridColumns.reduce((acc, column) => {
|
|
1086
|
+
const query = defaultSort === null || defaultSort === void 0 ? void 0 : defaultSort[column.key];
|
|
1087
|
+
if (query) {
|
|
1088
|
+
acc[column.key] = query;
|
|
1089
|
+
}
|
|
1090
|
+
return acc;
|
|
1091
|
+
}, {});
|
|
1092
|
+
const hasFilters = Object.keys(filterColumn).length > 0 ||
|
|
1093
|
+
globalInputSearch !== "" ||
|
|
1094
|
+
Object.keys(fixedFilterColumn).length > 0;
|
|
1095
|
+
return {
|
|
1096
|
+
hasFilters,
|
|
1097
|
+
filtersUpdated: Object.keys(filterColumn).sort().toString() !==
|
|
1098
|
+
Object.keys(propFilterColumn).sort().toString() ||
|
|
1099
|
+
Object.values(filterColumn).sort().toString() !==
|
|
1100
|
+
Object.values(propFilterColumn).sort().toString() ||
|
|
1101
|
+
Object.keys(sortColumn).sort().toString() !==
|
|
1102
|
+
Object.keys(propSortColumn).sort().toString() ||
|
|
1103
|
+
Object.values(sortColumn).sort().toString() !==
|
|
1104
|
+
Object.values(propSortColumn).sort().toString() ||
|
|
1105
|
+
normalizeFixedFilters(fixedFilterColumn) !==
|
|
1106
|
+
normalizeFixedFilters(propFixedFilterColumn) ||
|
|
1107
|
+
(filterData === null || filterData === void 0 ? void 0 : filterData.globalInputSearch) !== globalInputSearch,
|
|
1108
|
+
};
|
|
1109
|
+
}, [
|
|
1110
|
+
searchQueries,
|
|
1111
|
+
globalInputSearch,
|
|
1112
|
+
uniqueSearch,
|
|
1113
|
+
gridColumns,
|
|
1114
|
+
filteredData,
|
|
1115
|
+
fixedFilterValues,
|
|
1116
|
+
fixedColumns,
|
|
1117
|
+
sortQueries,
|
|
1118
|
+
defaultSort,
|
|
1119
|
+
filterData,
|
|
1120
|
+
]);
|
|
1121
|
+
const shouldShowHeaderActionsSpacer = isSummarise ||
|
|
1122
|
+
showHideAvailable ||
|
|
1123
|
+
exportAvailable ||
|
|
1124
|
+
isHideDupsAvailable ||
|
|
1125
|
+
fullScreen ||
|
|
1126
|
+
freezeColumnsAvailable ||
|
|
1127
|
+
filterDetails.filtersUpdated ||
|
|
1128
|
+
hasCustomOperation;
|
|
1028
1129
|
useEffect(() => {
|
|
1029
1130
|
if (showHideAvailable ||
|
|
1030
1131
|
exportAvailable ||
|
|
@@ -1128,99 +1229,6 @@ withCard = false, cardClassName, cardHeader, title, headerLeft, headerRight, sub
|
|
|
1128
1229
|
.sort()
|
|
1129
1230
|
.join("|");
|
|
1130
1231
|
};
|
|
1131
|
-
const filterDetails = useMemo(() => {
|
|
1132
|
-
const filterColumn = gridColumns.reduce((acc, column) => {
|
|
1133
|
-
const query = searchQueries[column.key];
|
|
1134
|
-
const uniqeValues = [
|
|
1135
|
-
...new Set(filteredData.map((data) => { var _a; return data[column.key] && ((_a = data[column.key].value) === null || _a === void 0 ? void 0 : _a.toString()); })),
|
|
1136
|
-
].sort();
|
|
1137
|
-
if (query &&
|
|
1138
|
-
(query.text !== "" || query.type !== defaultSearchOperation)) {
|
|
1139
|
-
acc[column.key] = query.text;
|
|
1140
|
-
}
|
|
1141
|
-
else if (uniqueSearch[column.key] &&
|
|
1142
|
-
uniqeValues.toString() !== uniqueSearch[column.key].sort().toString()) {
|
|
1143
|
-
acc[column.key] = uniqueSearch[column.key].join(",");
|
|
1144
|
-
}
|
|
1145
|
-
return acc;
|
|
1146
|
-
}, {});
|
|
1147
|
-
const fixedFilterColumn = fixedColumns.reduce((acc, column) => {
|
|
1148
|
-
const values = fixedFilterValues[column.key] || [];
|
|
1149
|
-
if (values.length > 0) {
|
|
1150
|
-
acc[column.key] = values;
|
|
1151
|
-
}
|
|
1152
|
-
return acc;
|
|
1153
|
-
}, {});
|
|
1154
|
-
const propFilterColumn = gridColumns.reduce((acc, column) => {
|
|
1155
|
-
if (filterData) {
|
|
1156
|
-
const { searchQueries, uniqueSearch } = filterData;
|
|
1157
|
-
const query = searchQueries[column.key];
|
|
1158
|
-
const uniqeValues = [
|
|
1159
|
-
...new Set(filteredData.map((data) => { var _a; return data[column.key] && ((_a = data[column.key].value) === null || _a === void 0 ? void 0 : _a.toString()); })),
|
|
1160
|
-
].sort();
|
|
1161
|
-
if (query &&
|
|
1162
|
-
(query.text !== "" || query.type !== defaultSearchOperation)) {
|
|
1163
|
-
acc[column.key] = query.text;
|
|
1164
|
-
}
|
|
1165
|
-
else if (uniqueSearch[column.key] &&
|
|
1166
|
-
uniqeValues.toString() !==
|
|
1167
|
-
uniqueSearch[column.key].sort().toString()) {
|
|
1168
|
-
acc[column.key] = uniqueSearch[column.key].join(",");
|
|
1169
|
-
}
|
|
1170
|
-
}
|
|
1171
|
-
return acc;
|
|
1172
|
-
}, {});
|
|
1173
|
-
const propFixedFilterColumn = fixedColumns.reduce((acc, column) => {
|
|
1174
|
-
var _a;
|
|
1175
|
-
const values = (filterData && ((_a = filterData.fixedFilterValues) === null || _a === void 0 ? void 0 : _a[column.key])) || [];
|
|
1176
|
-
if (values.length > 0) {
|
|
1177
|
-
acc[column.key] = values;
|
|
1178
|
-
}
|
|
1179
|
-
return acc;
|
|
1180
|
-
}, {});
|
|
1181
|
-
const sortColumn = gridColumns.reduce((acc, column) => {
|
|
1182
|
-
const query = sortQueries === null || sortQueries === void 0 ? void 0 : sortQueries[column.key];
|
|
1183
|
-
if (query) {
|
|
1184
|
-
acc[column.key] = query;
|
|
1185
|
-
}
|
|
1186
|
-
return acc;
|
|
1187
|
-
}, {});
|
|
1188
|
-
const propSortColumn = gridColumns.reduce((acc, column) => {
|
|
1189
|
-
const query = defaultSort === null || defaultSort === void 0 ? void 0 : defaultSort[column.key];
|
|
1190
|
-
if (query) {
|
|
1191
|
-
acc[column.key] = query;
|
|
1192
|
-
}
|
|
1193
|
-
return acc;
|
|
1194
|
-
}, {});
|
|
1195
|
-
const hasFilters = Object.keys(filterColumn).length > 0 ||
|
|
1196
|
-
globalInputSearch !== "" ||
|
|
1197
|
-
Object.keys(fixedFilterColumn).length > 0;
|
|
1198
|
-
return {
|
|
1199
|
-
hasFilters,
|
|
1200
|
-
filtersUpdated: Object.keys(filterColumn).sort().toString() !==
|
|
1201
|
-
Object.keys(propFilterColumn).sort().toString() ||
|
|
1202
|
-
Object.values(filterColumn).sort().toString() !==
|
|
1203
|
-
Object.values(propFilterColumn).sort().toString() ||
|
|
1204
|
-
Object.keys(sortColumn).sort().toString() !==
|
|
1205
|
-
Object.keys(propSortColumn).sort().toString() ||
|
|
1206
|
-
Object.values(sortColumn).sort().toString() !==
|
|
1207
|
-
Object.values(propSortColumn).sort().toString() ||
|
|
1208
|
-
normalizeFixedFilters(fixedFilterColumn) !==
|
|
1209
|
-
normalizeFixedFilters(propFixedFilterColumn) ||
|
|
1210
|
-
(filterData === null || filterData === void 0 ? void 0 : filterData.globalInputSearch) !== globalInputSearch,
|
|
1211
|
-
};
|
|
1212
|
-
}, [
|
|
1213
|
-
searchQueries,
|
|
1214
|
-
globalInputSearch,
|
|
1215
|
-
uniqueSearch,
|
|
1216
|
-
gridColumns,
|
|
1217
|
-
filteredData,
|
|
1218
|
-
fixedFilterValues,
|
|
1219
|
-
fixedColumns,
|
|
1220
|
-
sortQueries,
|
|
1221
|
-
defaultSort,
|
|
1222
|
-
filterData,
|
|
1223
|
-
]);
|
|
1224
1232
|
const sortDetails = useMemo(() => {
|
|
1225
1233
|
const sortColumn = gridColumns.reduce((acc, column) => {
|
|
1226
1234
|
const query = sortQueries === null || sortQueries === void 0 ? void 0 : sortQueries[column.key];
|
|
@@ -1492,7 +1500,7 @@ withCard = false, cardClassName, cardHeader, title, headerLeft, headerRight, sub
|
|
|
1492
1500
|
: undefined, isSort: column.fixedFilterOrder ? false : undefined, isClear: true, searchEnabled: true, dropdownListWidth: "max-content", className: "h-8 flex-1", isMultiple: column.fixedFilter === "multi-select" }) }, column.key));
|
|
1493
1501
|
}
|
|
1494
1502
|
return null;
|
|
1495
|
-
}), _jsx("div", { className: "flex-1 h-2" }), isSummarise && (_jsx("div", { onClick: () => setSummariseAvailable((prev) => !prev), style: {
|
|
1503
|
+
}), shouldShowHeaderActionsSpacer && _jsx("div", { className: "flex-1 h-2" }), isSummarise && (_jsx("div", { onClick: () => setSummariseAvailable((prev) => !prev), style: {
|
|
1496
1504
|
cursor: "pointer",
|
|
1497
1505
|
marginLeft: "0.75rem",
|
|
1498
1506
|
}, children: SummariseIcon ? (SummariseIcon) : summariseAvailable ? (_jsx(TbCalculatorFilled, { color: summarizeColor, size: 18 })) : (_jsx(TbCalculator, { size: 18 })) })), showHideAvailable && (_jsx("div", { onClick: openSetting, style: { cursor: "pointer", marginLeft: "0.75rem" }, children: SettingIcon ? SettingIcon : _jsx(FiEye, { size: 18 }) })), exportAvailable && (_jsx("div", { onClick: handleExport, style: { cursor: "pointer", marginLeft: "0.75rem" }, children: ExportIcon ? ExportIcon : _jsx(FiShare, { size: 16 }) })), isHideDupsAvailable && (_jsx("div", { onClick: () => setHideDuplicates((prev) => !prev), style: { cursor: "pointer", marginLeft: "0.75rem" }, title: hideDuplicates ? "Show Duplicates" : "Hide Duplicates", children: hideDuplicates ? (_jsx(MdLayers, { size: 18 })) : (_jsx(MdLayersClear, { size: 18 })) })), fullScreen && (_jsx("div", { onClick: toggleFullScreen, style: { cursor: "pointer", marginLeft: "0.75rem" }, children: isFullScreen ? (_jsx(MdFullscreenExit, { size: 20 })) : (_jsx(MdFullscreen, { size: 20 })) })), freezeColumnsAvailable && (_jsx("div", { onClick: toggleCollapse, style: { cursor: "pointer", marginLeft: "0.75rem" }, children: isCollapsed ? (_jsx(FiChevronsRight, { size: 20 })) : (_jsx(FiChevronsLeft, { size: 20 })) })), (filterDetails.filtersUpdated ||
|
package/package.json
CHANGED