@megha-ui/react 1.2.114 → 1.2.116

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.
@@ -62,7 +62,7 @@ const Grid = ({ columns, wrapperClass, updateGridColumns, data, height, sortable
62
62
  borderLeft: "0.5rem solid #d9d9d9",
63
63
  }, defaultSort, noKeyEvents = true, customOperation, hasCustomOperation, globalSearch, headerDropdownIndex, draggable = false, resizable = false, updateGridData, widthUnits, checkboxWrapper, ignoreHugContent = false, setRendered, isSummarise = true, fullScreenAvailable = true, defaultGroupOpen, alternateRowColor = true, activeCalculateColor = "#2377BA", calculatetextColor = "#fff", actionsKey = "actions", saveAsNewView = false, handleSaveAsView, saveAsViewIcon, filterData, chipColor = "#ccc", withAscii = false, propSummariseKeys, SummariseIcon, summarizeColor = "black", isExpandable = false, expandedRow, extraRow, selectedCheckBox, setSelectedCheckbox, ignoreRowSelect, setOpenedRows, openedRows, getLoadingState, globalSearchOpen = false, updateFixedFilterValues = (fixedFilterValues) => {
64
64
  console.log("Update fixed filter values not implemented", fixedFilterValues);
65
- }, locale, formatOptions }) => {
65
+ }, locale, formatOptions, }) => {
66
66
  var _a, _b, _c, _d;
67
67
  const [searchQueries, setSearchQueries] = (0, react_1.useState)({});
68
68
  const [chips, setChips] = (0, react_1.useState)([]);
@@ -179,56 +179,71 @@ const Grid = ({ columns, wrapperClass, updateGridColumns, data, height, sortable
179
179
  const regex = (0, regexUtils_1.createRegexFromWildcard)(query);
180
180
  return regex.test(value);
181
181
  }
182
- if (query) {
183
- switch ((_c = searchQueries[column.key]) === null || _c === void 0 ? void 0 : _c.type) {
184
- case "contains":
185
- return value.toLowerCase().includes(query.toLowerCase());
186
- case "doesNotContain":
187
- return !value.toLowerCase().includes(query.toLowerCase());
188
- case "equals":
189
- return value.toLowerCase() === query.toLowerCase();
190
- case "gt":
182
+ switch ((_c = searchQueries[column.key]) === null || _c === void 0 ? void 0 : _c.type) {
183
+ case "contains":
184
+ return value.toLowerCase().includes(query.toLowerCase());
185
+ case "doesNotContain":
186
+ return !value.toLowerCase().includes(query.toLowerCase());
187
+ case "equals":
188
+ return value.toLowerCase() === query.toLowerCase();
189
+ case "gt":
190
+ if (query) {
191
191
  return parseFloat(value) > parseFloat(query);
192
- case "gte":
192
+ }
193
+ return true;
194
+ case "gte":
195
+ if (query) {
193
196
  return parseFloat(value) >= parseFloat(query);
194
- case "lt":
197
+ }
198
+ return true;
199
+ case "lt":
200
+ if (query) {
195
201
  return parseFloat(value) < parseFloat(query);
196
- case "lte":
202
+ }
203
+ return;
204
+ case "lte":
205
+ if (query) {
197
206
  return parseFloat(value) <= parseFloat(query);
198
- case "after":
207
+ }
208
+ return true;
209
+ case "after":
210
+ if (query) {
199
211
  return new Date(value).getTime() > new Date(query).getTime();
200
- case "before":
212
+ }
213
+ return true;
214
+ case "before":
215
+ if (query) {
201
216
  return new Date(value).getTime() < new Date(query).getTime();
202
- case "between":
203
- let [start, end] = column.dataType === "date"
204
- ? query.split("to")
205
- : query.split("-");
206
- if (column.dataType === "date" && start && end) {
207
- start = new Date(start).getTime();
208
- end = new Date(end).getTime();
209
- return (start < new Date(value).getTime() &&
210
- new Date(value).getTime() < end);
211
- }
212
- else if (start && end) {
213
- return (parseFloat(start.trim()) < parseFloat(value) &&
214
- parseFloat(value) < parseFloat(end.trim()));
215
- }
216
- return true;
217
- case "doesNotEqual":
218
- return value.toLowerCase() !== query.toLowerCase();
219
- case "startsWith":
220
- return value.toLowerCase().startsWith(query.toLowerCase());
221
- case "endsWith":
222
- return value.toLowerCase().endsWith(query.toLowerCase());
223
- case "blank":
224
- return value === "";
225
- case "notBlank":
226
- return value !== "";
227
- default:
228
- return true;
229
- }
217
+ }
218
+ return true;
219
+ case "between":
220
+ let [start, end] = column.dataType === "date"
221
+ ? query.split("to")
222
+ : query.split("-");
223
+ if (column.dataType === "date" && start && end) {
224
+ start = new Date(start).getTime();
225
+ end = new Date(end).getTime();
226
+ return (start < new Date(value).getTime() &&
227
+ new Date(value).getTime() < end);
228
+ }
229
+ else if (start && end) {
230
+ return (parseFloat(start.trim()) < parseFloat(value) &&
231
+ parseFloat(value) < parseFloat(end.trim()));
232
+ }
233
+ return true;
234
+ case "doesNotEqual":
235
+ return value.toLowerCase() !== query.toLowerCase();
236
+ case "startsWith":
237
+ return value.toLowerCase().startsWith(query.toLowerCase());
238
+ case "endsWith":
239
+ return value.toLowerCase().endsWith(query.toLowerCase());
240
+ case "blank":
241
+ return value === "";
242
+ case "notBlank":
243
+ return value !== "";
244
+ default:
245
+ return true;
230
246
  }
231
- return true;
232
247
  })
233
248
  : filterColumns.some((column) => {
234
249
  var _a, _b, _c;
@@ -240,56 +255,71 @@ const Grid = ({ columns, wrapperClass, updateGridColumns, data, height, sortable
240
255
  const regex = (0, regexUtils_1.createRegexFromWildcard)(query);
241
256
  return regex.test(value);
242
257
  }
243
- if (query) {
244
- switch ((_c = searchQueries[column.key]) === null || _c === void 0 ? void 0 : _c.type) {
245
- case "contains":
246
- return value.toLowerCase().includes(query.toLowerCase());
247
- case "doesNotContain":
248
- return !value.toLowerCase().includes(query.toLowerCase());
249
- case "equals":
250
- return value.toLowerCase() === query.toLowerCase();
251
- case "gt":
258
+ switch ((_c = searchQueries[column.key]) === null || _c === void 0 ? void 0 : _c.type) {
259
+ case "contains":
260
+ return value.toLowerCase().includes(query.toLowerCase());
261
+ case "doesNotContain":
262
+ return !value.toLowerCase().includes(query.toLowerCase());
263
+ case "equals":
264
+ return value.toLowerCase() === query.toLowerCase();
265
+ case "gt":
266
+ if (query) {
252
267
  return parseFloat(value) > parseFloat(query);
253
- case "gte":
268
+ }
269
+ return true;
270
+ case "gte":
271
+ if (query) {
254
272
  return parseFloat(value) >= parseFloat(query);
255
- case "lt":
273
+ }
274
+ return true;
275
+ case "lt":
276
+ if (query) {
256
277
  return parseFloat(value) < parseFloat(query);
257
- case "lte":
278
+ }
279
+ return;
280
+ case "lte":
281
+ if (query) {
258
282
  return parseFloat(value) <= parseFloat(query);
259
- case "after":
283
+ }
284
+ return true;
285
+ case "after":
286
+ if (query) {
260
287
  return new Date(value).getTime() > new Date(query).getTime();
261
- case "before":
288
+ }
289
+ return true;
290
+ case "before":
291
+ if (query) {
262
292
  return new Date(value).getTime() < new Date(query).getTime();
263
- case "between":
264
- let [start, end] = column.dataType === "date"
265
- ? query.split("to")
266
- : query.split("-");
267
- if (column.dataType === "date" && start && end) {
268
- start = new Date(start).getTime();
269
- end = new Date(end).getTime();
270
- return (start < new Date(value).getTime() &&
271
- new Date(value).getTime() < end);
272
- }
273
- else if (start && end) {
274
- return (parseFloat(start.trim()) < parseFloat(value) &&
275
- parseFloat(value) < parseFloat(end.trim()));
276
- }
277
- return true;
278
- case "doesNotEqual":
279
- return value.toLowerCase() !== query.toLowerCase();
280
- case "startsWith":
281
- return value.toLowerCase().startsWith(query.toLowerCase());
282
- case "endsWith":
283
- return value.toLowerCase().endsWith(query.toLowerCase());
284
- case "blank":
285
- return value === "";
286
- case "notBlank":
287
- return value !== "";
288
- default:
289
- return true;
290
- }
293
+ }
294
+ return true;
295
+ case "between":
296
+ let [start, end] = column.dataType === "date"
297
+ ? query.split("to")
298
+ : query.split("-");
299
+ if (column.dataType === "date" && start && end) {
300
+ start = new Date(start).getTime();
301
+ end = new Date(end).getTime();
302
+ return (start < new Date(value).getTime() &&
303
+ new Date(value).getTime() < end);
304
+ }
305
+ else if (start && end) {
306
+ return (parseFloat(start.trim()) < parseFloat(value) &&
307
+ parseFloat(value) < parseFloat(end.trim()));
308
+ }
309
+ return true;
310
+ case "doesNotEqual":
311
+ return value.toLowerCase() !== query.toLowerCase();
312
+ case "startsWith":
313
+ return value.toLowerCase().startsWith(query.toLowerCase());
314
+ case "endsWith":
315
+ return value.toLowerCase().endsWith(query.toLowerCase());
316
+ case "blank":
317
+ return value === "";
318
+ case "notBlank":
319
+ return value !== "";
320
+ default:
321
+ return true;
291
322
  }
292
- return true;
293
323
  }));
294
324
  _filteredData = _filteredData.filter((item) => {
295
325
  const query = (globalInputSearch || "").toLowerCase().split(",");
@@ -1314,15 +1344,26 @@ const Grid = ({ columns, wrapperClass, updateGridColumns, data, height, sortable
1314
1344
  gap: "0.5rem",
1315
1345
  padding: "0.25rem 0.5rem",
1316
1346
  }, children: fixedColumns.map((column) => {
1317
- const options = [
1318
- ...new Set(data
1347
+ const selectedValues = fixedFilterValues[column.key]
1348
+ ? fixedFilterValues[column.key].map((item) => item.toString())
1349
+ : [];
1350
+ let options = [
1351
+ ...data
1319
1352
  .filter((item) => item[column.key])
1320
1353
  .map((data) => {
1321
1354
  var _a;
1322
1355
  return data[column.key] && data[column.key].value
1323
1356
  ? (_a = data[column.key].value) === null || _a === void 0 ? void 0 : _a.toString()
1324
1357
  : "";
1325
- })),
1358
+ })
1359
+ ];
1360
+ selectedValues.forEach(item => {
1361
+ if (!options.includes(item)) {
1362
+ options.push(item);
1363
+ }
1364
+ });
1365
+ options = [
1366
+ ...new Set(options),
1326
1367
  ];
1327
1368
  if (!column.hidden) {
1328
1369
  return ((0, jsx_runtime_1.jsx)("div", { style: {
@@ -1331,9 +1372,7 @@ const Grid = ({ columns, wrapperClass, updateGridColumns, data, height, sortable
1331
1372
  }, children: (0, jsx_runtime_1.jsx)(dropdown_1.default, { options: options.map((option) => ({
1332
1373
  label: option,
1333
1374
  value: option,
1334
- })), label: column.label, placeholder: "Select", selectedValues: fixedFilterValues[column.key]
1335
- ? fixedFilterValues[column.key].map((item) => item.toString())
1336
- : [], onChange: (selected) => {
1375
+ })), label: column.label, placeholder: "Select", selectedValues: selectedValues, onChange: (selected) => {
1337
1376
  if (column.fixedFilter !== "multi-select") {
1338
1377
  const values = selected
1339
1378
  .filter((item) => item)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@megha-ui/react",
3
- "version": "1.2.114",
3
+ "version": "1.2.116",
4
4
  "description": "A collection of reusable UI components for React applications, built with TypeScript.",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",