ywana-core8 0.0.138 → 0.0.142

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.umd.js CHANGED
@@ -933,9 +933,6 @@
933
933
  label = _useState2[0],
934
934
  setLabel = _useState2[1];
935
935
 
936
- var _useState3 = React.useState(),
937
- filter = _useState3[0];
938
-
939
936
  React.useEffect(function () {
940
937
  if (Array.isArray(options)) {
941
938
  var option = options.find(function (option) {
@@ -946,8 +943,10 @@
946
943
  }, [value]);
947
944
 
948
945
  function change(id, value) {
946
+ console.log('dropdown change > canFilter:', canFilter, id, value);
947
+
949
948
  if (canFilter) {
950
- setFilter(value);
949
+ setLabel(value);
951
950
  } else {
952
951
  if (onChange) onChange(id, value);
953
952
  }
@@ -975,14 +974,29 @@
975
974
  setOpen(false);
976
975
  }
977
976
 
978
- var items = open == true && Array.isArray(options) ? options.filter(function (option) {
979
- return canFilter === false || filter.toUpperCase().indexOf(option.label.toUpperCase()) >= 0;
980
- }).map(function (option) {
981
- return /*#__PURE__*/React__default["default"].createElement("li", {
982
- key: option.value,
983
- value: option.value
984
- }, option.label);
985
- }) : null;
977
+ function renderOptions() {
978
+ var canShow = open == true && Array.isArray(options);
979
+
980
+ if (canShow) {
981
+ var filterActive = canFilter && label && label.length > 0;
982
+ var items = filterActive ? options.filter(function (option) {
983
+ return label.toUpperCase().indexOf(option.label.toUpperCase()) >= 0;
984
+ }) : options;
985
+ console.log('filterActive: ', filterActive, label, items.length);
986
+ var lis = items.map(function (option) {
987
+ return /*#__PURE__*/React__default["default"].createElement("li", {
988
+ key: option.value,
989
+ value: option.value
990
+ }, option.label);
991
+ });
992
+ return /*#__PURE__*/React__default["default"].createElement("menu", null, /*#__PURE__*/React__default["default"].createElement("ul", {
993
+ onClick: select
994
+ }, lis));
995
+ } else {
996
+ return null;
997
+ }
998
+ }
999
+
986
1000
  return /*#__PURE__*/React__default["default"].createElement("div", {
987
1001
  className: "dropdown"
988
1002
  }, /*#__PURE__*/React__default["default"].createElement(TextField, _extends({}, props, {
@@ -994,9 +1008,7 @@
994
1008
  clickable: true,
995
1009
  size: "small",
996
1010
  action: toggle
997
- }), open == true ? /*#__PURE__*/React__default["default"].createElement("menu", null, /*#__PURE__*/React__default["default"].createElement("ul", {
998
- onClick: select
999
- }, items)) : null);
1011
+ }), renderOptions());
1000
1012
  };
1001
1013
 
1002
1014
  var isFunction$1 = function isFunction(value) {
@@ -2959,7 +2971,8 @@
2959
2971
  value: value,
2960
2972
  onChange: change,
2961
2973
  options: buildOptions(),
2962
- readOnly: !editable
2974
+ readOnly: !editable,
2975
+ canFilter: true
2963
2976
  }) : /*#__PURE__*/React__default["default"].createElement(TextField, {
2964
2977
  outlined: outlined,
2965
2978
  id: id,