ywana-core8 0.0.137 → 0.0.141

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 CHANGED
@@ -924,7 +924,9 @@ var DropDown = function DropDown(props) {
924
924
  _props$options = props.options,
925
925
  options = _props$options === void 0 ? [] : _props$options,
926
926
  value = props.value,
927
- onChange = props.onChange;
927
+ onChange = props.onChange,
928
+ _props$canFilter = props.canFilter,
929
+ canFilter = _props$canFilter === void 0 ? false : _props$canFilter;
928
930
 
929
931
  var _useState = React.useState(false),
930
932
  open = _useState[0],
@@ -943,6 +945,16 @@ var DropDown = function DropDown(props) {
943
945
  }
944
946
  }, [value]);
945
947
 
948
+ function change(id, value) {
949
+ console.log('dropdown change > canFilter:', canFilter, id, value);
950
+
951
+ if (canFilter) {
952
+ setLabel(value);
953
+ } else {
954
+ if (onChange) onChange(id, value);
955
+ }
956
+ }
957
+
946
958
  function toggle() {
947
959
  if (site) {
948
960
  site.changeFocus({
@@ -965,24 +977,40 @@ var DropDown = function DropDown(props) {
965
977
  setOpen(false);
966
978
  }
967
979
 
980
+ function renderOptions() {
981
+ var canShow = open == true && Array.isArray(options);
982
+
983
+ if (canShow) {
984
+ var filterActive = canFilter && label && label.length > 0;
985
+ var items = filterActive ? options.filter(function (option) {
986
+ return canFilter === false || label.toUpperCase().indexOf(option.label.toUpperCase()) >= 0;
987
+ }) : options;
988
+ var lis = items.map(function (option) {
989
+ return /*#__PURE__*/React__default["default"].createElement("li", {
990
+ key: option.value,
991
+ value: option.value
992
+ }, option.label);
993
+ });
994
+ return /*#__PURE__*/React__default["default"].createElement("menu", null, /*#__PURE__*/React__default["default"].createElement("ul", {
995
+ onClick: select
996
+ }, lis));
997
+ } else {
998
+ return null;
999
+ }
1000
+ }
1001
+
968
1002
  return /*#__PURE__*/React__default["default"].createElement("div", {
969
1003
  className: "dropdown"
970
1004
  }, /*#__PURE__*/React__default["default"].createElement(TextField, _extends({}, props, {
971
1005
  onClick: toggle,
972
- value: label
1006
+ value: label,
1007
+ onChange: change
973
1008
  })), /*#__PURE__*/React__default["default"].createElement(Icon, {
974
1009
  icon: "expand_more",
975
1010
  clickable: true,
976
1011
  size: "small",
977
1012
  action: toggle
978
- }), open == true ? /*#__PURE__*/React__default["default"].createElement("menu", null, /*#__PURE__*/React__default["default"].createElement("ul", {
979
- onClick: select
980
- }, Array.isArray(options) ? options.map(function (option) {
981
- return /*#__PURE__*/React__default["default"].createElement("li", {
982
- key: option.value,
983
- value: option.value
984
- }, option.label);
985
- }) : null)) : null);
1013
+ }), renderOptions());
986
1014
  };
987
1015
 
988
1016
  var isFunction$1 = function isFunction(value) {
@@ -2945,7 +2973,8 @@ var StringEditor = function StringEditor(_ref6) {
2945
2973
  value: value,
2946
2974
  onChange: change,
2947
2975
  options: buildOptions(),
2948
- readOnly: !editable
2976
+ readOnly: !editable,
2977
+ canFilter: true
2949
2978
  }) : /*#__PURE__*/React__default["default"].createElement(TextField, {
2950
2979
  outlined: outlined,
2951
2980
  id: id,