funda-ui 1.1.159 → 1.1.162
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/MultiFuncSelect/index.css +13 -1
- package/MultiFuncSelect/index.d.ts +5 -0
- package/MultiFuncSelect/index.js +47 -30
- package/lib/cjs/MultiFuncSelect/index.d.ts +5 -0
- package/lib/cjs/MultiFuncSelect/index.js +47 -30
- package/lib/css/MultiFuncSelect/index.css +13 -1
- package/lib/esm/MultiFuncSelect/index.scss +23 -1
- package/lib/esm/MultiFuncSelect/index.tsx +495 -433
- package/package.json +1 -1
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
--mf-sel-removebtn-hover-fill: #f00;
|
|
17
17
|
/*------ Placeholder for input ------*/
|
|
18
18
|
/*------ Arrow ------*/
|
|
19
|
+
/*------ Clean ------*/
|
|
19
20
|
/*------ Input ------*/
|
|
20
21
|
/*------ Blinking cursor ------*/
|
|
21
22
|
/*------ Single selection ------*/
|
|
@@ -29,6 +30,9 @@
|
|
|
29
30
|
.mf-select__wrapper .arrow svg .arrow-fill-g {
|
|
30
31
|
fill: var(--mf-sel-arrow-fill);
|
|
31
32
|
}
|
|
33
|
+
.mf-select__wrapper .clean svg .clean-fill-g {
|
|
34
|
+
fill: var(--mf-sel-arrow-fill);
|
|
35
|
+
}
|
|
32
36
|
.mf-select__wrapper [data-select]:focus {
|
|
33
37
|
box-shadow: none;
|
|
34
38
|
border-color: transparent;
|
|
@@ -211,7 +215,8 @@
|
|
|
211
215
|
display: none;
|
|
212
216
|
min-width: var(--mf-sel-listgroup-popwin-min-width);
|
|
213
217
|
z-index: 1055; /* --bs-modal-zindex */
|
|
214
|
-
/*------ Multiple selection ------*/
|
|
218
|
+
/*------ Extended buttons of Multiple selection ------*/
|
|
219
|
+
/*------ Extended buttons of Single selection ------*/
|
|
215
220
|
}
|
|
216
221
|
.mf-select__options-wrapper.active {
|
|
217
222
|
display: block;
|
|
@@ -270,3 +275,10 @@
|
|
|
270
275
|
font-size: 0.75rem;
|
|
271
276
|
padding: 0.1rem 0.5rem;
|
|
272
277
|
}
|
|
278
|
+
.mf-select__options-wrapper .mf-select-multi__control-option-item--clean.hide {
|
|
279
|
+
display: none !important;
|
|
280
|
+
}
|
|
281
|
+
.mf-select__options-wrapper .mf-select-multi__control-option-item--clean .btn {
|
|
282
|
+
font-size: 0.75rem;
|
|
283
|
+
padding: 0.1rem 0.5rem;
|
|
284
|
+
}
|
|
@@ -23,10 +23,15 @@ interface MultiSelectConfig {
|
|
|
23
23
|
selectAllLabel?: string;
|
|
24
24
|
data: MultiSelectDataConfig | null;
|
|
25
25
|
}
|
|
26
|
+
interface CleanTriggerConfig {
|
|
27
|
+
valid: boolean;
|
|
28
|
+
cleanValueLabel?: string;
|
|
29
|
+
}
|
|
26
30
|
declare type MultiFuncSelectProps = {
|
|
27
31
|
wrapperClassName?: string;
|
|
28
32
|
controlClassName?: string;
|
|
29
33
|
multiSelect?: MultiSelectConfig;
|
|
34
|
+
cleanTrigger?: CleanTriggerConfig;
|
|
30
35
|
value?: string;
|
|
31
36
|
label?: React.ReactNode | string;
|
|
32
37
|
name?: string;
|
package/MultiFuncSelect/index.js
CHANGED
|
@@ -876,7 +876,7 @@ var enableBodyScroll = function enableBodyScroll(targetElement) {
|
|
|
876
876
|
// EXTERNAL MODULE: ./src/utils/tree.js
|
|
877
877
|
var tree = __webpack_require__(602);
|
|
878
878
|
;// CONCATENATED MODULE: ./src/index.tsx
|
|
879
|
-
var _excluded = ["wrapperClassName", "controlClassName", "multiSelect", "disabled", "required", "value", "label", "name", "readOnly", "placeholder", "id", "options", "lockBodyScroll", "hierarchical", "indentation", "doubleIndent", "style", "depth", "controlArrow", "winWidth", "tabIndex", "fetchTrigger", "fetchTriggerForDefaultData", "fetchNoneInfo", "fetchUpdate", "fetchFuncAsync", "fetchFuncMethod", "fetchFuncMethodParams", "data", "extractValueByBrackets", "fetchCallback", "onFetch", "onLoad", "onSelect", "onChange", "onBlur", "onFocus"];
|
|
879
|
+
var _excluded = ["wrapperClassName", "controlClassName", "multiSelect", "disabled", "required", "value", "label", "name", "readOnly", "placeholder", "id", "options", "cleanTrigger", "lockBodyScroll", "hierarchical", "indentation", "doubleIndent", "style", "depth", "controlArrow", "winWidth", "tabIndex", "fetchTrigger", "fetchTriggerForDefaultData", "fetchNoneInfo", "fetchUpdate", "fetchFuncAsync", "fetchFuncMethod", "fetchFuncMethodParams", "data", "extractValueByBrackets", "fetchCallback", "onFetch", "onLoad", "onSelect", "onChange", "onBlur", "onFocus"];
|
|
880
880
|
function src_toConsumableArray(arr) { return src_arrayWithoutHoles(arr) || src_iterableToArray(arr) || src_unsupportedIterableToArray(arr) || src_nonIterableSpread(); }
|
|
881
881
|
function src_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
882
882
|
function src_iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
@@ -922,6 +922,7 @@ var MultiFuncSelect = /*#__PURE__*/(0,external_root_React_commonjs2_react_common
|
|
|
922
922
|
placeholder = props.placeholder,
|
|
923
923
|
id = props.id,
|
|
924
924
|
options = props.options,
|
|
925
|
+
cleanTrigger = props.cleanTrigger,
|
|
925
926
|
lockBodyScroll = props.lockBodyScroll,
|
|
926
927
|
hierarchical = props.hierarchical,
|
|
927
928
|
indentation = props.indentation,
|
|
@@ -1005,10 +1006,9 @@ var MultiFuncSelect = /*#__PURE__*/(0,external_root_React_commonjs2_react_common
|
|
|
1005
1006
|
_useState16 = _slicedToArray(_useState15, 2),
|
|
1006
1007
|
incomingData = _useState16[0],
|
|
1007
1008
|
setIncomingData = _useState16[1];
|
|
1008
|
-
|
|
1009
|
-
// Multiple selection
|
|
1010
1009
|
var selectedSign = false;
|
|
1011
1010
|
var MULTI_SEL_VALID = multiSelect ? multiSelect.valid : false;
|
|
1011
|
+
var MULTI_SEL_LABEL = multiSelect ? multiSelect.selectAllLabel : 'Select all options';
|
|
1012
1012
|
var _useState17 = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)({
|
|
1013
1013
|
labels: [],
|
|
1014
1014
|
values: []
|
|
@@ -1022,6 +1022,10 @@ var MultiFuncSelect = /*#__PURE__*/(0,external_root_React_commonjs2_react_common
|
|
|
1022
1022
|
}).includes(val.toString());
|
|
1023
1023
|
};
|
|
1024
1024
|
|
|
1025
|
+
// clean trigger
|
|
1026
|
+
var CLEAN_TRIGGER_VALID = typeof cleanTrigger === 'undefined' ? false : cleanTrigger ? cleanTrigger.valid : false;
|
|
1027
|
+
var CLEAN_TRIGGER_LABEL = cleanTrigger ? cleanTrigger.cleanValueLabel : 'Clean';
|
|
1028
|
+
|
|
1025
1029
|
//performance
|
|
1026
1030
|
var handleChangeFetchSafe = utils_useDebounce(function (val) {
|
|
1027
1031
|
var _orginalData = [];
|
|
@@ -1603,6 +1607,8 @@ var MultiFuncSelect = /*#__PURE__*/(0,external_root_React_commonjs2_react_common
|
|
|
1603
1607
|
});
|
|
1604
1608
|
}
|
|
1605
1609
|
});
|
|
1610
|
+
|
|
1611
|
+
// select all button
|
|
1606
1612
|
var _btnSelectAll = listContentRef.current.querySelector('.mf-select-multi__control-option-item--select-all > span');
|
|
1607
1613
|
if (_btnSelectAll !== null && typeof _btnSelectAll.dataset.ev === 'undefined') {
|
|
1608
1614
|
_btnSelectAll.dataset.ev = 'true';
|
|
@@ -1610,6 +1616,15 @@ var MultiFuncSelect = /*#__PURE__*/(0,external_root_React_commonjs2_react_common
|
|
|
1610
1616
|
handleSelectAll(e);
|
|
1611
1617
|
});
|
|
1612
1618
|
}
|
|
1619
|
+
|
|
1620
|
+
// clean button
|
|
1621
|
+
var _btnClean = listContentRef.current.querySelector('.mf-select-multi__control-option-item--clean > span');
|
|
1622
|
+
if (_btnClean !== null && typeof _btnClean.dataset.ev === 'undefined') {
|
|
1623
|
+
_btnClean.dataset.ev = 'true';
|
|
1624
|
+
_btnClean.addEventListener('pointerdown', function (e) {
|
|
1625
|
+
handleCleanValue(e);
|
|
1626
|
+
});
|
|
1627
|
+
}
|
|
1613
1628
|
}
|
|
1614
1629
|
function popwinFilterItems(val) {
|
|
1615
1630
|
if (listContentRef.current === null) return;
|
|
@@ -1968,31 +1983,6 @@ var MultiFuncSelect = /*#__PURE__*/(0,external_root_React_commonjs2_react_common
|
|
|
1968
1983
|
}
|
|
1969
1984
|
function handleSelectAll(event) {
|
|
1970
1985
|
event.preventDefault();
|
|
1971
|
-
var onChangeSelectAll = function onChangeSelectAll(labelsArr, valuesArr) {
|
|
1972
|
-
if (typeof onChange === 'function') {
|
|
1973
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(selectInputRef.current, valueInputRef.current, {
|
|
1974
|
-
labels: labelsArr.map(function (v) {
|
|
1975
|
-
return v.toString();
|
|
1976
|
-
}),
|
|
1977
|
-
values: valuesArr.map(function (v) {
|
|
1978
|
-
return v.toString();
|
|
1979
|
-
}),
|
|
1980
|
-
labelsOfString: VALUE_BY_BRACKETS ? (0,convert.convertArrToValByBrackets)(labelsArr.map(function (v) {
|
|
1981
|
-
return v.toString();
|
|
1982
|
-
})) : labelsArr.map(function (v) {
|
|
1983
|
-
return v.toString();
|
|
1984
|
-
}).join(','),
|
|
1985
|
-
valuesOfString: VALUE_BY_BRACKETS ? (0,convert.convertArrToValByBrackets)(valuesArr.map(function (v) {
|
|
1986
|
-
return v.toString();
|
|
1987
|
-
})) : valuesArr.map(function (v) {
|
|
1988
|
-
return v.toString();
|
|
1989
|
-
}).join(',')
|
|
1990
|
-
});
|
|
1991
|
-
|
|
1992
|
-
//
|
|
1993
|
-
selectInputRef.current.blur();
|
|
1994
|
-
}
|
|
1995
|
-
};
|
|
1996
1986
|
var updateOptionCheckboxes = function updateOptionCheckboxes(type) {
|
|
1997
1987
|
var _labels = [];
|
|
1998
1988
|
var _values = [];
|
|
@@ -2041,6 +2031,23 @@ var MultiFuncSelect = /*#__PURE__*/(0,external_root_React_commonjs2_react_common
|
|
|
2041
2031
|
}
|
|
2042
2032
|
selectedSign = !selectedSign;
|
|
2043
2033
|
}
|
|
2034
|
+
function handleCleanValue(event) {
|
|
2035
|
+
event.preventDefault();
|
|
2036
|
+
|
|
2037
|
+
// It is valid when a single selection
|
|
2038
|
+
var emptyValue = {
|
|
2039
|
+
label: '',
|
|
2040
|
+
value: '',
|
|
2041
|
+
queryString: ''
|
|
2042
|
+
};
|
|
2043
|
+
handleSelect(null, JSON.stringify(emptyValue), [], []);
|
|
2044
|
+
if (typeof onChange === 'function') {
|
|
2045
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(selectInputRef.current, valueInputRef.current, emptyValue);
|
|
2046
|
+
}
|
|
2047
|
+
|
|
2048
|
+
// update temporary value
|
|
2049
|
+
setControlTempValue('');
|
|
2050
|
+
}
|
|
2044
2051
|
function handleMultiControlItemRemove(event) {
|
|
2045
2052
|
event.preventDefault();
|
|
2046
2053
|
var valueToRemove = String(event.currentTarget.dataset.item);
|
|
@@ -2582,9 +2589,19 @@ var MultiFuncSelect = /*#__PURE__*/(0,external_root_React_commonjs2_react_common
|
|
|
2582
2589
|
tabIndex: -1,
|
|
2583
2590
|
className: "btn btn-secondary",
|
|
2584
2591
|
dangerouslySetInnerHTML: {
|
|
2585
|
-
__html: "".concat(
|
|
2592
|
+
__html: "".concat(MULTI_SEL_LABEL)
|
|
2593
|
+
}
|
|
2594
|
+
}))) : null, !MULTI_SEL_VALID ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement((external_root_React_commonjs2_react_commonjs_react_amd_react_default()).Fragment, null, CLEAN_TRIGGER_VALID ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement((external_root_React_commonjs2_react_commonjs_react_amd_react_default()).Fragment, null, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("span", {
|
|
2595
|
+
tabIndex: -1,
|
|
2596
|
+
className: "list-group-item list-group-item-action border-start-0 border-end-0 text-secondary bg-light mf-select-multi__control-option-item--clean",
|
|
2597
|
+
role: "tab"
|
|
2598
|
+
}, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("span", {
|
|
2599
|
+
tabIndex: -1,
|
|
2600
|
+
className: "btn btn-secondary",
|
|
2601
|
+
dangerouslySetInnerHTML: {
|
|
2602
|
+
__html: "".concat(CLEAN_TRIGGER_LABEL)
|
|
2586
2603
|
}
|
|
2587
|
-
}))) : null, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("button", {
|
|
2604
|
+
}))) : null) : null, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("button", {
|
|
2588
2605
|
tabIndex: -1,
|
|
2589
2606
|
type: "button",
|
|
2590
2607
|
className: "list-group-item list-group-item-action no-match border-0 mf-select-multi__control-option-item--nomatch hide",
|
|
@@ -23,10 +23,15 @@ interface MultiSelectConfig {
|
|
|
23
23
|
selectAllLabel?: string;
|
|
24
24
|
data: MultiSelectDataConfig | null;
|
|
25
25
|
}
|
|
26
|
+
interface CleanTriggerConfig {
|
|
27
|
+
valid: boolean;
|
|
28
|
+
cleanValueLabel?: string;
|
|
29
|
+
}
|
|
26
30
|
declare type MultiFuncSelectProps = {
|
|
27
31
|
wrapperClassName?: string;
|
|
28
32
|
controlClassName?: string;
|
|
29
33
|
multiSelect?: MultiSelectConfig;
|
|
34
|
+
cleanTrigger?: CleanTriggerConfig;
|
|
30
35
|
value?: string;
|
|
31
36
|
label?: React.ReactNode | string;
|
|
32
37
|
name?: string;
|
|
@@ -876,7 +876,7 @@ var enableBodyScroll = function enableBodyScroll(targetElement) {
|
|
|
876
876
|
// EXTERNAL MODULE: ./src/utils/tree.js
|
|
877
877
|
var tree = __webpack_require__(602);
|
|
878
878
|
;// CONCATENATED MODULE: ./src/index.tsx
|
|
879
|
-
var _excluded = ["wrapperClassName", "controlClassName", "multiSelect", "disabled", "required", "value", "label", "name", "readOnly", "placeholder", "id", "options", "lockBodyScroll", "hierarchical", "indentation", "doubleIndent", "style", "depth", "controlArrow", "winWidth", "tabIndex", "fetchTrigger", "fetchTriggerForDefaultData", "fetchNoneInfo", "fetchUpdate", "fetchFuncAsync", "fetchFuncMethod", "fetchFuncMethodParams", "data", "extractValueByBrackets", "fetchCallback", "onFetch", "onLoad", "onSelect", "onChange", "onBlur", "onFocus"];
|
|
879
|
+
var _excluded = ["wrapperClassName", "controlClassName", "multiSelect", "disabled", "required", "value", "label", "name", "readOnly", "placeholder", "id", "options", "cleanTrigger", "lockBodyScroll", "hierarchical", "indentation", "doubleIndent", "style", "depth", "controlArrow", "winWidth", "tabIndex", "fetchTrigger", "fetchTriggerForDefaultData", "fetchNoneInfo", "fetchUpdate", "fetchFuncAsync", "fetchFuncMethod", "fetchFuncMethodParams", "data", "extractValueByBrackets", "fetchCallback", "onFetch", "onLoad", "onSelect", "onChange", "onBlur", "onFocus"];
|
|
880
880
|
function src_toConsumableArray(arr) { return src_arrayWithoutHoles(arr) || src_iterableToArray(arr) || src_unsupportedIterableToArray(arr) || src_nonIterableSpread(); }
|
|
881
881
|
function src_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
882
882
|
function src_iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
@@ -922,6 +922,7 @@ var MultiFuncSelect = /*#__PURE__*/(0,external_root_React_commonjs2_react_common
|
|
|
922
922
|
placeholder = props.placeholder,
|
|
923
923
|
id = props.id,
|
|
924
924
|
options = props.options,
|
|
925
|
+
cleanTrigger = props.cleanTrigger,
|
|
925
926
|
lockBodyScroll = props.lockBodyScroll,
|
|
926
927
|
hierarchical = props.hierarchical,
|
|
927
928
|
indentation = props.indentation,
|
|
@@ -1005,10 +1006,9 @@ var MultiFuncSelect = /*#__PURE__*/(0,external_root_React_commonjs2_react_common
|
|
|
1005
1006
|
_useState16 = _slicedToArray(_useState15, 2),
|
|
1006
1007
|
incomingData = _useState16[0],
|
|
1007
1008
|
setIncomingData = _useState16[1];
|
|
1008
|
-
|
|
1009
|
-
// Multiple selection
|
|
1010
1009
|
var selectedSign = false;
|
|
1011
1010
|
var MULTI_SEL_VALID = multiSelect ? multiSelect.valid : false;
|
|
1011
|
+
var MULTI_SEL_LABEL = multiSelect ? multiSelect.selectAllLabel : 'Select all options';
|
|
1012
1012
|
var _useState17 = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)({
|
|
1013
1013
|
labels: [],
|
|
1014
1014
|
values: []
|
|
@@ -1022,6 +1022,10 @@ var MultiFuncSelect = /*#__PURE__*/(0,external_root_React_commonjs2_react_common
|
|
|
1022
1022
|
}).includes(val.toString());
|
|
1023
1023
|
};
|
|
1024
1024
|
|
|
1025
|
+
// clean trigger
|
|
1026
|
+
var CLEAN_TRIGGER_VALID = typeof cleanTrigger === 'undefined' ? false : cleanTrigger ? cleanTrigger.valid : false;
|
|
1027
|
+
var CLEAN_TRIGGER_LABEL = cleanTrigger ? cleanTrigger.cleanValueLabel : 'Clean';
|
|
1028
|
+
|
|
1025
1029
|
//performance
|
|
1026
1030
|
var handleChangeFetchSafe = utils_useDebounce(function (val) {
|
|
1027
1031
|
var _orginalData = [];
|
|
@@ -1603,6 +1607,8 @@ var MultiFuncSelect = /*#__PURE__*/(0,external_root_React_commonjs2_react_common
|
|
|
1603
1607
|
});
|
|
1604
1608
|
}
|
|
1605
1609
|
});
|
|
1610
|
+
|
|
1611
|
+
// select all button
|
|
1606
1612
|
var _btnSelectAll = listContentRef.current.querySelector('.mf-select-multi__control-option-item--select-all > span');
|
|
1607
1613
|
if (_btnSelectAll !== null && typeof _btnSelectAll.dataset.ev === 'undefined') {
|
|
1608
1614
|
_btnSelectAll.dataset.ev = 'true';
|
|
@@ -1610,6 +1616,15 @@ var MultiFuncSelect = /*#__PURE__*/(0,external_root_React_commonjs2_react_common
|
|
|
1610
1616
|
handleSelectAll(e);
|
|
1611
1617
|
});
|
|
1612
1618
|
}
|
|
1619
|
+
|
|
1620
|
+
// clean button
|
|
1621
|
+
var _btnClean = listContentRef.current.querySelector('.mf-select-multi__control-option-item--clean > span');
|
|
1622
|
+
if (_btnClean !== null && typeof _btnClean.dataset.ev === 'undefined') {
|
|
1623
|
+
_btnClean.dataset.ev = 'true';
|
|
1624
|
+
_btnClean.addEventListener('pointerdown', function (e) {
|
|
1625
|
+
handleCleanValue(e);
|
|
1626
|
+
});
|
|
1627
|
+
}
|
|
1613
1628
|
}
|
|
1614
1629
|
function popwinFilterItems(val) {
|
|
1615
1630
|
if (listContentRef.current === null) return;
|
|
@@ -1968,31 +1983,6 @@ var MultiFuncSelect = /*#__PURE__*/(0,external_root_React_commonjs2_react_common
|
|
|
1968
1983
|
}
|
|
1969
1984
|
function handleSelectAll(event) {
|
|
1970
1985
|
event.preventDefault();
|
|
1971
|
-
var onChangeSelectAll = function onChangeSelectAll(labelsArr, valuesArr) {
|
|
1972
|
-
if (typeof onChange === 'function') {
|
|
1973
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(selectInputRef.current, valueInputRef.current, {
|
|
1974
|
-
labels: labelsArr.map(function (v) {
|
|
1975
|
-
return v.toString();
|
|
1976
|
-
}),
|
|
1977
|
-
values: valuesArr.map(function (v) {
|
|
1978
|
-
return v.toString();
|
|
1979
|
-
}),
|
|
1980
|
-
labelsOfString: VALUE_BY_BRACKETS ? (0,convert.convertArrToValByBrackets)(labelsArr.map(function (v) {
|
|
1981
|
-
return v.toString();
|
|
1982
|
-
})) : labelsArr.map(function (v) {
|
|
1983
|
-
return v.toString();
|
|
1984
|
-
}).join(','),
|
|
1985
|
-
valuesOfString: VALUE_BY_BRACKETS ? (0,convert.convertArrToValByBrackets)(valuesArr.map(function (v) {
|
|
1986
|
-
return v.toString();
|
|
1987
|
-
})) : valuesArr.map(function (v) {
|
|
1988
|
-
return v.toString();
|
|
1989
|
-
}).join(',')
|
|
1990
|
-
});
|
|
1991
|
-
|
|
1992
|
-
//
|
|
1993
|
-
selectInputRef.current.blur();
|
|
1994
|
-
}
|
|
1995
|
-
};
|
|
1996
1986
|
var updateOptionCheckboxes = function updateOptionCheckboxes(type) {
|
|
1997
1987
|
var _labels = [];
|
|
1998
1988
|
var _values = [];
|
|
@@ -2041,6 +2031,23 @@ var MultiFuncSelect = /*#__PURE__*/(0,external_root_React_commonjs2_react_common
|
|
|
2041
2031
|
}
|
|
2042
2032
|
selectedSign = !selectedSign;
|
|
2043
2033
|
}
|
|
2034
|
+
function handleCleanValue(event) {
|
|
2035
|
+
event.preventDefault();
|
|
2036
|
+
|
|
2037
|
+
// It is valid when a single selection
|
|
2038
|
+
var emptyValue = {
|
|
2039
|
+
label: '',
|
|
2040
|
+
value: '',
|
|
2041
|
+
queryString: ''
|
|
2042
|
+
};
|
|
2043
|
+
handleSelect(null, JSON.stringify(emptyValue), [], []);
|
|
2044
|
+
if (typeof onChange === 'function') {
|
|
2045
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(selectInputRef.current, valueInputRef.current, emptyValue);
|
|
2046
|
+
}
|
|
2047
|
+
|
|
2048
|
+
// update temporary value
|
|
2049
|
+
setControlTempValue('');
|
|
2050
|
+
}
|
|
2044
2051
|
function handleMultiControlItemRemove(event) {
|
|
2045
2052
|
event.preventDefault();
|
|
2046
2053
|
var valueToRemove = String(event.currentTarget.dataset.item);
|
|
@@ -2582,9 +2589,19 @@ var MultiFuncSelect = /*#__PURE__*/(0,external_root_React_commonjs2_react_common
|
|
|
2582
2589
|
tabIndex: -1,
|
|
2583
2590
|
className: "btn btn-secondary",
|
|
2584
2591
|
dangerouslySetInnerHTML: {
|
|
2585
|
-
__html: "".concat(
|
|
2592
|
+
__html: "".concat(MULTI_SEL_LABEL)
|
|
2593
|
+
}
|
|
2594
|
+
}))) : null, !MULTI_SEL_VALID ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement((external_root_React_commonjs2_react_commonjs_react_amd_react_default()).Fragment, null, CLEAN_TRIGGER_VALID ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement((external_root_React_commonjs2_react_commonjs_react_amd_react_default()).Fragment, null, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("span", {
|
|
2595
|
+
tabIndex: -1,
|
|
2596
|
+
className: "list-group-item list-group-item-action border-start-0 border-end-0 text-secondary bg-light mf-select-multi__control-option-item--clean",
|
|
2597
|
+
role: "tab"
|
|
2598
|
+
}, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("span", {
|
|
2599
|
+
tabIndex: -1,
|
|
2600
|
+
className: "btn btn-secondary",
|
|
2601
|
+
dangerouslySetInnerHTML: {
|
|
2602
|
+
__html: "".concat(CLEAN_TRIGGER_LABEL)
|
|
2586
2603
|
}
|
|
2587
|
-
}))) : null, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("button", {
|
|
2604
|
+
}))) : null) : null, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("button", {
|
|
2588
2605
|
tabIndex: -1,
|
|
2589
2606
|
type: "button",
|
|
2590
2607
|
className: "list-group-item list-group-item-action no-match border-0 mf-select-multi__control-option-item--nomatch hide",
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
--mf-sel-removebtn-hover-fill: #f00;
|
|
17
17
|
/*------ Placeholder for input ------*/
|
|
18
18
|
/*------ Arrow ------*/
|
|
19
|
+
/*------ Clean ------*/
|
|
19
20
|
/*------ Input ------*/
|
|
20
21
|
/*------ Blinking cursor ------*/
|
|
21
22
|
/*------ Single selection ------*/
|
|
@@ -29,6 +30,9 @@
|
|
|
29
30
|
.mf-select__wrapper .arrow svg .arrow-fill-g {
|
|
30
31
|
fill: var(--mf-sel-arrow-fill);
|
|
31
32
|
}
|
|
33
|
+
.mf-select__wrapper .clean svg .clean-fill-g {
|
|
34
|
+
fill: var(--mf-sel-arrow-fill);
|
|
35
|
+
}
|
|
32
36
|
.mf-select__wrapper [data-select]:focus {
|
|
33
37
|
box-shadow: none;
|
|
34
38
|
border-color: transparent;
|
|
@@ -211,7 +215,8 @@
|
|
|
211
215
|
display: none;
|
|
212
216
|
min-width: var(--mf-sel-listgroup-popwin-min-width);
|
|
213
217
|
z-index: 1055; /* --bs-modal-zindex */
|
|
214
|
-
/*------ Multiple selection ------*/
|
|
218
|
+
/*------ Extended buttons of Multiple selection ------*/
|
|
219
|
+
/*------ Extended buttons of Single selection ------*/
|
|
215
220
|
}
|
|
216
221
|
.mf-select__options-wrapper.active {
|
|
217
222
|
display: block;
|
|
@@ -270,3 +275,10 @@
|
|
|
270
275
|
font-size: 0.75rem;
|
|
271
276
|
padding: 0.1rem 0.5rem;
|
|
272
277
|
}
|
|
278
|
+
.mf-select__options-wrapper .mf-select-multi__control-option-item--clean.hide {
|
|
279
|
+
display: none !important;
|
|
280
|
+
}
|
|
281
|
+
.mf-select__options-wrapper .mf-select-multi__control-option-item--clean .btn {
|
|
282
|
+
font-size: 0.75rem;
|
|
283
|
+
padding: 0.1rem 0.5rem;
|
|
284
|
+
}
|
|
@@ -33,6 +33,14 @@
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
+
/*------ Clean ------*/
|
|
37
|
+
.clean {
|
|
38
|
+
svg .clean-fill-g {
|
|
39
|
+
fill: var(--mf-sel-arrow-fill);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
|
|
36
44
|
|
|
37
45
|
/*------ Input ------*/
|
|
38
46
|
[data-select]:focus {
|
|
@@ -398,7 +406,7 @@
|
|
|
398
406
|
|
|
399
407
|
|
|
400
408
|
|
|
401
|
-
/*------ Multiple selection ------*/
|
|
409
|
+
/*------ Extended buttons of Multiple selection ------*/
|
|
402
410
|
.mf-select-multi__control-option-item--select-all {
|
|
403
411
|
|
|
404
412
|
&.hide {
|
|
@@ -411,6 +419,20 @@
|
|
|
411
419
|
}
|
|
412
420
|
}
|
|
413
421
|
|
|
422
|
+
/*------ Extended buttons of Single selection ------*/
|
|
423
|
+
.mf-select-multi__control-option-item--clean {
|
|
424
|
+
|
|
425
|
+
&.hide {
|
|
426
|
+
display: none !important;
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
.btn {
|
|
430
|
+
font-size: 0.75rem;
|
|
431
|
+
padding: 0.1rem 0.5rem;
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
|
|
414
436
|
|
|
415
437
|
}
|
|
416
438
|
|