rez-table-listing-mui 1.3.32 → 1.3.34

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.
@@ -4,37 +4,20 @@ import FormTextfield from "../components/Textfield";
4
4
  import FormDatePicker from "../components/Date";
5
5
  import FormMultiSelect from "../components/Multi-Select";
6
6
 
7
- export type DateOperator =
8
- | "equal"
9
- | "before"
10
- | "after"
11
- | "between"
12
- | "is"
13
- | "today"
14
- | "is_day_before"
15
- | "is_day_after"
16
- | "is_month_before"
17
- | "is_month_after"
18
- | "is_before"
19
- | "is_after"
20
- | "is_on_or_before"
21
- | "is_on_or_after";
22
-
23
- export const DATE_ALLOWED_OPERATORS: DateOperator[] = [
7
+ // Operators that should show a Date Picker
8
+ const dateAllowedOperators = [
24
9
  "equal",
25
10
  "before",
26
11
  "after",
27
12
  "between",
28
13
  "is",
29
14
  "today",
30
- "is_day_before",
31
- "is_day_after",
32
- "is_month_before",
33
- "is_month_after",
34
15
  "is_before",
35
16
  "is_after",
36
17
  "is_on_or_before",
37
18
  "is_on_or_after",
19
+ "empty",
20
+ "not_empty",
38
21
  ];
39
22
 
40
23
  export const resolveFilterInput = ({
@@ -50,20 +33,10 @@ export const resolveFilterInput = ({
50
33
  dropdownData: any;
51
34
  updateFiltersFromForm: () => void;
52
35
  }) => {
53
- const isDateType = filter.filter_attribute_data_type === "date";
54
-
55
- const showDatePicker =
56
- isDateType && operator && DATE_ALLOWED_OPERATORS.includes(operator as any);
36
+ const dataType = filter?.filter_attribute_data_type;
57
37
 
58
- const showTextInsteadOfDate =
59
- isDateType &&
60
- (!operator || !DATE_ALLOWED_OPERATORS.includes(operator as any));
61
-
62
- // TEXT / NUMBER -> Always TextField
63
- if (
64
- filter?.filter_attribute_data_type === "text" ||
65
- filter?.filter_attribute_data_type === "number"
66
- ) {
38
+ // TEXT / NUMBER → always textfield
39
+ if (dataType === "text" || dataType === "number") {
67
40
  return (
68
41
  <FormTextfield
69
42
  filter={filter}
@@ -73,8 +46,8 @@ export const resolveFilterInput = ({
73
46
  );
74
47
  }
75
48
 
76
- // YEAR
77
- if (filter?.filter_attribute_data_type === "year") {
49
+ // YEAR → DatePicker (Year mode)
50
+ if (dataType === "year") {
78
51
  return (
79
52
  <FormDatePicker
80
53
  filter={filter}
@@ -85,18 +58,21 @@ export const resolveFilterInput = ({
85
58
  );
86
59
  }
87
60
 
88
- // DATE LOGIC
89
- if (showDatePicker) {
90
- return (
91
- <FormDatePicker
92
- filter={filter}
93
- control={control}
94
- onValueChange={updateFiltersFromForm}
95
- />
96
- );
97
- }
61
+ // DATE FIELD
62
+ if (dataType === "date") {
63
+ const showDatePicker = operator && dateAllowedOperators.includes(operator);
64
+
65
+ if (showDatePicker) {
66
+ // Date Picker
67
+ return (
68
+ <FormDatePicker
69
+ filter={filter}
70
+ control={control}
71
+ onValueChange={updateFiltersFromForm}
72
+ />
73
+ );
74
+ }
98
75
 
99
- if (showTextInsteadOfDate) {
100
76
  return (
101
77
  <FormTextfield
102
78
  filter={filter}
@@ -106,7 +82,7 @@ export const resolveFilterInput = ({
106
82
  );
107
83
  }
108
84
 
109
- // MULTISELECT / SELECT / RADIO / CHECKBOX
85
+ // SELECT / MULTISELECT / RADIO / CHECKBOX
110
86
  if (
111
87
  filter?.filter_attribute_data_type !== undefined &&
112
88
  ["select", "multiselect", "radio", "checkbox"].includes(