@banch0u/core-project-test-repository 2.3.25 → 2.3.26
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.
|
@@ -77,6 +77,25 @@ var Filter = function Filter(_ref) {
|
|
|
77
77
|
var filteredColumns = columns.filter(function (col) {
|
|
78
78
|
return selectedColumns.includes(col.dataIndex) && col.filter !== false && col.filterDisable !== true || col.dataIndex === "filterOnly";
|
|
79
79
|
});
|
|
80
|
+
var getFieldName = function getFieldName(col) {
|
|
81
|
+
return col.queryName ? col.queryName : col.dataIndex;
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
// ✅ dependent selects: a column with `dependsOn: "<parent field name>"`
|
|
85
|
+
// stays disabled until the parent has a value, and is cleared when it changes
|
|
86
|
+
var formValues = Form.useWatch([], filterForm) || {};
|
|
87
|
+
var isEmptyValue = function isEmptyValue(v) {
|
|
88
|
+
return v === undefined || v === null || v === "" || Array.isArray(v) && v.length === 0;
|
|
89
|
+
};
|
|
90
|
+
var _clearDependents = function clearDependents(parentName) {
|
|
91
|
+
columns.filter(function (dep) {
|
|
92
|
+
return dep.dependsOn === parentName;
|
|
93
|
+
}).forEach(function (dep) {
|
|
94
|
+
var depName = getFieldName(dep);
|
|
95
|
+
filterForm.setFieldValue(depName, undefined);
|
|
96
|
+
_clearDependents(depName);
|
|
97
|
+
});
|
|
98
|
+
};
|
|
80
99
|
var getGrid = function getGrid() {
|
|
81
100
|
var elementCount = selectedColumns.length - disabledElementCount;
|
|
82
101
|
if (elementCount >= 5) return style.grid5;
|
|
@@ -105,17 +124,21 @@ var Filter = function Filter(_ref) {
|
|
|
105
124
|
return /*#__PURE__*/React.createElement(Form.Item, {
|
|
106
125
|
key: col.dataIndex,
|
|
107
126
|
label: col.title,
|
|
108
|
-
name: col
|
|
127
|
+
name: getFieldName(col),
|
|
109
128
|
className: gridSpanClass
|
|
110
129
|
}, /*#__PURE__*/React.createElement(Select, {
|
|
111
130
|
size: "sm",
|
|
112
131
|
style: {
|
|
113
132
|
height: "32px"
|
|
114
133
|
},
|
|
134
|
+
disabled: !!col.dependsOn && isEmptyValue(formValues[col.dependsOn]),
|
|
115
135
|
onChange: function onChange(value) {
|
|
136
|
+
var _col$onFilterChange;
|
|
116
137
|
if (col.dataIndex === "topic" || col.dataIndex === "contractTypeId" || col.dataIndex === "contractType") {
|
|
117
138
|
setSelectedTopic(value);
|
|
118
139
|
}
|
|
140
|
+
_clearDependents(getFieldName(col));
|
|
141
|
+
(_col$onFilterChange = col.onFilterChange) === null || _col$onFilterChange === void 0 || _col$onFilterChange.call(col, value);
|
|
119
142
|
},
|
|
120
143
|
mode: col.selectType === "multiple" ? "multiple" : "single",
|
|
121
144
|
optionFilterProp: "label"
|
|
@@ -168,7 +191,11 @@ var Filter = function Filter(_ref) {
|
|
|
168
191
|
className: style.buttons
|
|
169
192
|
}, /*#__PURE__*/React.createElement(Button, {
|
|
170
193
|
onClick: function onClick() {
|
|
171
|
-
|
|
194
|
+
filterForm.resetFields();
|
|
195
|
+
columns.forEach(function (col) {
|
|
196
|
+
var _col$onFilterChange2;
|
|
197
|
+
return (_col$onFilterChange2 = col.onFilterChange) === null || _col$onFilterChange2 === void 0 ? void 0 : _col$onFilterChange2.call(col, undefined);
|
|
198
|
+
});
|
|
172
199
|
},
|
|
173
200
|
color: "white"
|
|
174
201
|
}, c === null || c === void 0 ? void 0 : c.clear), /*#__PURE__*/React.createElement(Button, {
|