ywana-core8 0.0.136 → 0.0.140
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/dist/index.cjs +44 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +12 -0
- package/dist/index.css.map +1 -1
- package/dist/index.modern.js +44 -11
- package/dist/index.modern.js.map +1 -1
- package/dist/index.umd.js +44 -11
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/domain/ContentEditor.js +1 -1
- package/src/html/textfield-outlined.css +6 -0
- package/src/html/textfield.css +6 -0
- package/src/html/textfield.js +38 -19
package/dist/index.umd.js
CHANGED
@@ -921,7 +921,9 @@
|
|
921
921
|
_props$options = props.options,
|
922
922
|
options = _props$options === void 0 ? [] : _props$options,
|
923
923
|
value = props.value,
|
924
|
-
onChange = props.onChange
|
924
|
+
onChange = props.onChange,
|
925
|
+
_props$canFilter = props.canFilter,
|
926
|
+
canFilter = _props$canFilter === void 0 ? false : _props$canFilter;
|
925
927
|
|
926
928
|
var _useState = React.useState(false),
|
927
929
|
open = _useState[0],
|
@@ -931,6 +933,10 @@
|
|
931
933
|
label = _useState2[0],
|
932
934
|
setLabel = _useState2[1];
|
933
935
|
|
936
|
+
var _useState3 = React.useState(),
|
937
|
+
filter = _useState3[0],
|
938
|
+
setFilter = _useState3[1];
|
939
|
+
|
934
940
|
React.useEffect(function () {
|
935
941
|
if (Array.isArray(options)) {
|
936
942
|
var option = options.find(function (option) {
|
@@ -940,6 +946,16 @@
|
|
940
946
|
}
|
941
947
|
}, [value]);
|
942
948
|
|
949
|
+
function change(id, value) {
|
950
|
+
console.log('dropdown change > canFilter:', canFilter, id, value);
|
951
|
+
|
952
|
+
if (canFilter) {
|
953
|
+
setFilter(value);
|
954
|
+
} else {
|
955
|
+
if (onChange) onChange(id, value);
|
956
|
+
}
|
957
|
+
}
|
958
|
+
|
943
959
|
function toggle() {
|
944
960
|
if (site) {
|
945
961
|
site.changeFocus({
|
@@ -962,24 +978,40 @@
|
|
962
978
|
setOpen(false);
|
963
979
|
}
|
964
980
|
|
981
|
+
function renderOptions() {
|
982
|
+
var canShow = open == true && Array.isArray(options);
|
983
|
+
|
984
|
+
if (canShow) {
|
985
|
+
var filterActive = canFilter && label && label.length > 0;
|
986
|
+
var items = filterActive ? options.filter(function (option) {
|
987
|
+
return canFilter === false || filter.toUpperCase().indexOf(option.label.toUpperCase()) >= 0;
|
988
|
+
}) : options;
|
989
|
+
var lis = items.map(function (option) {
|
990
|
+
return /*#__PURE__*/React__default["default"].createElement("li", {
|
991
|
+
key: option.value,
|
992
|
+
value: option.value
|
993
|
+
}, option.label);
|
994
|
+
});
|
995
|
+
return /*#__PURE__*/React__default["default"].createElement("menu", null, /*#__PURE__*/React__default["default"].createElement("ul", {
|
996
|
+
onClick: select
|
997
|
+
}, lis));
|
998
|
+
} else {
|
999
|
+
return null;
|
1000
|
+
}
|
1001
|
+
}
|
1002
|
+
|
965
1003
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
966
1004
|
className: "dropdown"
|
967
1005
|
}, /*#__PURE__*/React__default["default"].createElement(TextField, _extends({}, props, {
|
968
1006
|
onClick: toggle,
|
969
|
-
value: label
|
1007
|
+
value: label,
|
1008
|
+
onChange: change
|
970
1009
|
})), /*#__PURE__*/React__default["default"].createElement(Icon, {
|
971
1010
|
icon: "expand_more",
|
972
1011
|
clickable: true,
|
973
1012
|
size: "small",
|
974
1013
|
action: toggle
|
975
|
-
}),
|
976
|
-
onClick: select
|
977
|
-
}, Array.isArray(options) ? options.map(function (option) {
|
978
|
-
return /*#__PURE__*/React__default["default"].createElement("li", {
|
979
|
-
key: option.value,
|
980
|
-
value: option.value
|
981
|
-
}, option.label);
|
982
|
-
}) : null)) : null);
|
1014
|
+
}), renderOptions());
|
983
1015
|
};
|
984
1016
|
|
985
1017
|
var isFunction$1 = function isFunction(value) {
|
@@ -2942,7 +2974,8 @@
|
|
2942
2974
|
value: value,
|
2943
2975
|
onChange: change,
|
2944
2976
|
options: buildOptions(),
|
2945
|
-
readOnly: !editable
|
2977
|
+
readOnly: !editable,
|
2978
|
+
canFilter: true
|
2946
2979
|
}) : /*#__PURE__*/React__default["default"].createElement(TextField, {
|
2947
2980
|
outlined: outlined,
|
2948
2981
|
id: id,
|