rez-table-listing-mui 1.0.41 → 1.0.43

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rez-table-listing-mui",
3
- "version": "1.0.41",
3
+ "version": "1.0.43",
4
4
  "type": "module",
5
5
  "description": "A rez table listing component built on TanStack Table",
6
6
  "main": "dist/index.js",
@@ -112,6 +112,7 @@ const AttributesFilter = ({
112
112
  flexDirection: "column",
113
113
  gap: "1.25rem",
114
114
  }}
115
+ className="attributes-filter-component-wrapper"
115
116
  >
116
117
  <FormControl fullWidth size="small">
117
118
  <Select
@@ -223,7 +223,10 @@ const FilterForm = ({
223
223
  </Box>
224
224
  )}
225
225
 
226
- <Box sx={filterFormStyles.formFlexContainer}>
226
+ <Box
227
+ className="filter-criteria-form"
228
+ sx={filterFormStyles.formFlexContainer}
229
+ >
227
230
  <FilterCriteria
228
231
  columnsData={columnsData}
229
232
  tableStates={tableStates}
@@ -236,99 +239,103 @@ const FilterForm = ({
236
239
  <CustomSearch value={searchTerm} onChange={setSearchTerm} />
237
240
  )}
238
241
 
239
- {selectedFilters
240
- .filter(
241
- (filter) =>
242
- filter.name?.toLowerCase().includes(searchTerm.toLowerCase()) ||
243
- filter.filter_value
244
- ?.toString()
245
- .toLowerCase()
246
- .includes(searchTerm.toLowerCase())
247
- )
248
- .map((filter) => {
249
- const { dropdown_list = [] } = filter;
250
- return (
251
- <Box
252
- key={filter.filter_attribute}
253
- sx={filterFormStyles.formListItem}
254
- >
255
- <Box sx={filterFormStyles.formListItemHeader}>
256
- <Typography sx={filterFormStyles.formListItemHeaderName}>
257
- {filter.name}
258
- </Typography>
259
- <FormDropdown
260
- filter={filter}
261
- control={control}
262
- dropdownList={dropdown_list}
263
- sx={filterFormStyles.formListItemHeaderDropdown}
264
- onValueChange={updateFiltersFromForm}
265
- />
266
- <IconButton
267
- sx={{ marginLeft: "auto" }}
268
- onClick={() => {
269
- unregister(`${filter.name}.value`);
270
- unregister(`${filter.name}.operator`);
271
-
272
- // ✅ Toggle dummy field to force form dirty
273
- const dummy = watch("dummyChange");
274
- setValue(
275
- "dummyChange",
276
- dummy === "changed" ? "reset" : "changed",
277
- {
278
- shouldDirty: true,
279
- }
280
- );
281
-
282
- handleRemoveFilter(filter.filter_attribute);
283
- }}
284
- size="small"
285
- >
286
- <CloseIcon />
287
- </IconButton>
288
- </Box>
289
-
290
- <Box>
291
- {filter.data_type === "text" ||
292
- filter.data_type === "number" ? (
293
- <FormTextfield
294
- filter={filter}
295
- control={control}
296
- onValueChange={updateFiltersFromForm}
297
- />
298
- ) : filter.data_type === "year" ? (
299
- <FormDatePicker
300
- filter={filter}
301
- control={control}
302
- views={["year"]}
303
- onValueChange={updateFiltersFromForm}
304
- />
305
- ) : filter.data_type === "date" ? (
306
- <FormDatePicker
242
+ <Box className="filter-form-inputs">
243
+ {selectedFilters
244
+ .filter(
245
+ (filter) =>
246
+ filter.name
247
+ ?.toLowerCase()
248
+ .includes(searchTerm.toLowerCase()) ||
249
+ filter.filter_value
250
+ ?.toString()
251
+ .toLowerCase()
252
+ .includes(searchTerm.toLowerCase())
253
+ )
254
+ .map((filter) => {
255
+ const { dropdown_list = [] } = filter;
256
+ return (
257
+ <Box
258
+ key={filter.filter_attribute}
259
+ sx={filterFormStyles.formListItem}
260
+ >
261
+ <Box sx={filterFormStyles.formListItemHeader}>
262
+ <Typography sx={filterFormStyles.formListItemHeaderName}>
263
+ {filter.name}
264
+ </Typography>
265
+ <FormDropdown
307
266
  filter={filter}
308
267
  control={control}
268
+ dropdownList={dropdown_list}
269
+ sx={filterFormStyles.formListItemHeaderDropdown}
309
270
  onValueChange={updateFiltersFromForm}
310
271
  />
311
- ) : filter.data_type === "select" ? (
312
- <FormSelect
313
- filter={filter}
314
- control={control}
315
- dropdownData={dropdownData}
316
- onValueChange={updateFiltersFromForm}
317
- />
318
- ) : filter.data_type === "multiselect" ? (
319
- <FormMultiSelect
320
- filter={filter}
321
- control={control}
322
- dropdownData={dropdownData}
323
- onValueChange={updateFiltersFromForm}
324
- />
325
- ) : (
326
- <FormControl fullWidth size="small" />
327
- )}
272
+ <IconButton
273
+ sx={{ marginLeft: "auto" }}
274
+ onClick={() => {
275
+ unregister(`${filter.name}.value`);
276
+ unregister(`${filter.name}.operator`);
277
+
278
+ // ✅ Toggle dummy field to force form dirty
279
+ const dummy = watch("dummyChange");
280
+ setValue(
281
+ "dummyChange",
282
+ dummy === "changed" ? "reset" : "changed",
283
+ {
284
+ shouldDirty: true,
285
+ }
286
+ );
287
+
288
+ handleRemoveFilter(filter.filter_attribute);
289
+ }}
290
+ size="small"
291
+ >
292
+ <CloseIcon />
293
+ </IconButton>
294
+ </Box>
295
+
296
+ <Box>
297
+ {filter.data_type === "text" ||
298
+ filter.data_type === "number" ? (
299
+ <FormTextfield
300
+ filter={filter}
301
+ control={control}
302
+ onValueChange={updateFiltersFromForm}
303
+ />
304
+ ) : filter.data_type === "year" ? (
305
+ <FormDatePicker
306
+ filter={filter}
307
+ control={control}
308
+ views={["year"]}
309
+ onValueChange={updateFiltersFromForm}
310
+ />
311
+ ) : filter.data_type === "date" ? (
312
+ <FormDatePicker
313
+ filter={filter}
314
+ control={control}
315
+ onValueChange={updateFiltersFromForm}
316
+ />
317
+ ) : filter.data_type === "select" ? (
318
+ <FormSelect
319
+ filter={filter}
320
+ control={control}
321
+ dropdownData={dropdownData}
322
+ onValueChange={updateFiltersFromForm}
323
+ />
324
+ ) : filter.data_type === "multiselect" ? (
325
+ <FormMultiSelect
326
+ filter={filter}
327
+ control={control}
328
+ dropdownData={dropdownData}
329
+ onValueChange={updateFiltersFromForm}
330
+ />
331
+ ) : (
332
+ <FormControl fullWidth size="small" />
333
+ )}
334
+ </Box>
328
335
  </Box>
329
- </Box>
330
- );
331
- })}
336
+ );
337
+ })}
338
+ </Box>
332
339
  </Box>
333
340
  </Box>
334
341
 
@@ -44,7 +44,7 @@ const MainFilter = ({
44
44
  };
45
45
 
46
46
  return (
47
- <Box sx={mainBoxStyles}>
47
+ <Box sx={mainBoxStyles} className="main-filter-component-wrapper">
48
48
  {/* Set selectedFilters state */}
49
49
 
50
50
  {/* Render selectedFilters state */}
@@ -134,7 +134,7 @@ const SavedFilter = ({
134
134
  };
135
135
 
136
136
  return (
137
- <Box sx={mainBoxStyles}>
137
+ <Box sx={mainBoxStyles} className="saved-filter-component-wrapper">
138
138
  {/* Render search input and list */}
139
139
  {!editMode && renderList()}
140
140
 
@@ -41,6 +41,7 @@ const Sorting = ({
41
41
  setSortingTabState,
42
42
  saveButtonError,
43
43
  setSaveButtonError,
44
+ columnTabState,
44
45
  } = filterSettingStates;
45
46
 
46
47
  const [activeTab, setActiveTab] = useState<string | undefined>(
@@ -248,6 +249,24 @@ const Sorting = ({
248
249
  );
249
250
  }, [saveButtonError]);
250
251
 
252
+ const getCurrentLists = () => {
253
+ if (sortingTabState?.isDefault) {
254
+ return {
255
+ showList: columnTabState.show_list || [],
256
+ hideList: columnTabState.hide_list || [],
257
+ };
258
+ } else {
259
+ const currentTab = columnTabState?.tabs?.[activeTabIndex || 0];
260
+ return {
261
+ showList: currentTab?.show_list || [],
262
+ hideList: currentTab?.hide_list || [],
263
+ };
264
+ }
265
+ };
266
+
267
+ const { showList, hideList } = getCurrentLists();
268
+ console.log("showList", showList);
269
+
251
270
  return (
252
271
  <Box sx={{ display: "flex", flexDirection: "column", gap: "0.75rem" }}>
253
272
  <Typography>Select attribute(s) you want to sort by</Typography>
@@ -296,15 +315,15 @@ const Sorting = ({
296
315
  size="small"
297
316
  fullWidth
298
317
  >
299
- {columnsData?.column_list?.map((column) => (
318
+ {showList?.map((column, index) => (
300
319
  <MenuItem
301
- key={column?.attribute_key}
302
- value={column?.attribute_key}
320
+ key={index}
321
+ value={column.value}
303
322
  disabled={tabSortedList.some(
304
- (s) => s.column === column?.attribute_key
323
+ (s) => s.column === column?.value
305
324
  )}
306
325
  >
307
- {column?.name}
326
+ {column?.label}
308
327
  </MenuItem>
309
328
  ))}
310
329
  </Select>