UNPKG

storybook-react-geekshubs

Version:

Creation and curation of hight quality react components.

1 lines 5.93 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=exports.SearchAndSelect=void 0;var _react=_interopRequireWildcard(require("react"));var _helpers=require("../../services/helpers");var _antd=require("antd");function _getRequireWildcardCache(){if(typeof WeakMap!=="function")return null;var cache=new WeakMap;_getRequireWildcardCache=function _getRequireWildcardCache(){return cache};return cache}function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj}var cache=_getRequireWildcardCache();if(cache&&cache.has(obj)){return cache.get(obj)}var newObj={};if(obj!=null){var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc)}else{newObj[key]=obj[key]}}}}newObj.default=obj;if(cache){cache.set(obj,newObj)}return newObj}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray(iter){if(Symbol.iterator in Object(iter)||Object.prototype.toString.call(iter)==="[object Arguments]")return Array.from(iter)}function _arrayWithoutHoles(arr){if(Array.isArray(arr)){for(var i=0,arr2=new Array(arr.length);i<arr.length;i++){arr2[i]=arr[i]}return arr2}}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function _iterableToArrayLimit(arr,i){if(!(Symbol.iterator in Object(arr)||Object.prototype.toString.call(arr)==="[object Arguments]")){return}var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}var SearchAndSelect=function SearchAndSelect(_ref){var _ref$onSearch=_ref.onSearch,onSearch=_ref$onSearch===void 0?_asyncToGenerator(regeneratorRuntime.mark(function _callee(){return regeneratorRuntime.wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:return _context.abrupt("return",[]);case 1:case"end":return _context.stop();}}},_callee)})):_ref$onSearch,_ref$onSelect=_ref.onSelect,_onSelect=_ref$onSelect===void 0?function(){}:_ref$onSelect,_ref$onBlur=_ref.onBlur,_onBlur=_ref$onBlur===void 0?function(){}:_ref$onBlur,_ref$renderOption=_ref.renderOption,renderOption=_ref$renderOption===void 0?function(record){return record.nombre}:_ref$renderOption,valueText=_ref.valueText,placeholder=_ref.placeholder,_ref$searchOnFocus=_ref.searchOnFocus,searchOnFocus=_ref$searchOnFocus===void 0?true:_ref$searchOnFocus,_ref$notPagination=_ref.notPagination,notPagination=_ref$notPagination===void 0?false:_ref$notPagination;var _useState=(0,_react.useState)([]),_useState2=_slicedToArray(_useState,2),source=_useState2[0],setSource=_useState2[1];var _useState3=(0,_react.useState)(1),_useState4=_slicedToArray(_useState3,2),page=_useState4[0],setPage=_useState4[1];var _useState5=(0,_react.useState)(false),_useState6=_slicedToArray(_useState5,2),loading=_useState6[0],setLoading=_useState6[1];var debouncedSearch=(0,_react.useMemo)(function(){return(0,_helpers.debounce)(function(){setLoading(true);onSearch.apply(void 0,arguments).then(function(results){setSource(results);setPage(1)}).finally(function(){return setLoading(false)})},1000)},[onSearch]);var _useState7=(0,_react.useState)(valueText),_useState8=_slicedToArray(_useState7,2),internalValue=_useState8[0],setValue=_useState8[1];(0,_react.useEffect)(function(){setValue(valueText)},[valueText]);var onDropdownScroll=function onDropdownScroll(ev){if(notPagination)return;if(ev.target.scrollTop+ev.target.offsetHeight===ev.target.scrollHeight){setLoading(true);onSearch(internalValue,page+1).then(function(results){setSource([].concat(_toConsumableArray(source),_toConsumableArray(results)));setPage(page+1)}).finally(function(){return setLoading(false)})}};return _react.default.createElement(_antd.Select,{defaultActiveFirstOption:false,loading:loading,backfill:true,dropdownMatchSelectWidth:false,showArrow:false,notFoundContent:"sin resultados",defaultValue:valueText,value:internalValue,onFocus:function onFocus(){if(searchOnFocus){onSearch(valueText,1).then(function(results){setSource(_toConsumableArray(results))}).finally(function(){return setLoading(false)})}},onSearch:function onSearch(query){setValue(query);return debouncedSearch(query)},onBlur:function onBlur(val){_onBlur(val)},onSelect:function onSelect(val){setPage(1);return _onSelect(JSON.parse(val))},showSearch:true,style:{width:"100%",minWidth:"100px"},placeholder:placeholder,onPopupScroll:onDropdownScroll},source.map(function(option){return _react.default.createElement(_antd.Select.Option,{key:"".concat(option.id),value:JSON.stringify(option)},renderOption(option))}))};exports.SearchAndSelect=SearchAndSelect;var _default=SearchAndSelect;exports.default=_default;