InputTag-DgU0qUj8.js 13 KB

1
  1. import{s as D,f as h,aF as W,E as I,G as C,bm as X,bn as J,aG as Y,aH as Z,bo as ee,bp as S,ap as te,bq as ne,be as ae,br as k,y as _,O as ie,bs as re,bt as z,aa as se,ab as oe,z as c,P as v,Q as o,aX as le,bk as ue,bf as L,ah as pe,aA as de}from"./index-DT8qTvyx.js";var ce=function(V){D(s,V);function s(e){var t=V.call(this,e)||this;return t.input=h.createRef(),t.state={isOpened:!1,inputValue:"",isFocused:!1,selectedOptions:e.selectedOptions,cacheOptions:[]},t}return s.prototype.componentDidUpdate=function(e){var t=this.props;e.value!==t.value&&this.setState({inputValue:""})},s.prototype.doAction=function(e,t,i){var n,r,a=this.props,u=a.resetValue,l=a.onChange,p=a.formStore,d=a.store,g=a.name,F=e==null?void 0:e.actionType;if(F==="clear")l==null||l("");else if(F==="reset"){var y=(r=W((n=p==null?void 0:p.pristine)!==null&&n!==void 0?n:d==null?void 0:d.pristine,g))!==null&&r!==void 0?r:u;l==null||l(y??"")}},s.prototype.dispatchEvent=function(e,t){return t===void 0&&(t={}),I(this,void 0,void 0,function(){var i,n,r,a;return C(this,function(u){switch(u.label){case 0:return i=this.props,n=i.dispatchEvent,r=i.options,[4,n(e,pe(this.props,_({options:r,items:r},t)))];case 1:return a=u.sent(),[2,!!(a!=null&&a.prevented)]}})})},s.prototype.normalizeInputValue=function(e){var t=this.props,i=t.enableBatchAdd,n=t.separator,r=t.valueField,a=t.labelField,u=t.delimiter,l=[];if(i&&n&&typeof n=="string")l=e.split(n);else{var p=X(J(e.split(u||",")));l.push.apply(l,Y([],Z(p),!1))}return l.filter(Boolean).map(function(d){var g;return g={},g["".concat(r||"value")]=d,g["".concat(a||"label")]=d,g})},s.prototype.normalizeOptions=function(e){var t=this.props,i=t.joinValues,n=t.extractValue,r=t.delimiter,a=t.valueField;return i?e.map(function(u){return u[a||"value"]}).join(r||","):n?e.map(function(u){return u[a||"value"]}):e},s.prototype.normalizeMergedValue=function(e,t){t===void 0&&(t=!0);var i=this.props,n=i.selectedOptions,r=i.valueField,a=ee(n.concat(),this.normalizeInputValue(e),function(u,l){return u[r||"value"]===l[r||"value"]});return t?this.normalizeOptions(a):a},s.prototype.validateInputValue=function(e){var t=this.props,i=t.max,n=t.maxTagLength;t.enableBatchAdd,t.separator;var r=t.onInputValidateFailed,a=t.valueField,u=this.normalizeMergedValue(e,!1);if(i!=null&&S(i)&&u.length>i)return r==null||r(u.map(function(p){return p[a||"value"]}),"max"),!1;var l=this.normalizeInputValue(e);return n!=null&&S(n)&&l.some(function(p){return p[a||"value"].length>n})?(r==null||r(l.map(function(p){return p[a||"value"]}),"maxLength"),!1):!0},s.prototype.getValue=function(e,t,i){e===void 0&&(e="normal"),t===void 0&&(t={});var n=this.props,r=n.joinValues,a=n.extractValue,u=n.delimiter,l=n.valueField;i=i||this.props.selectedOptions;var p=i.concat();return e==="push"?p.push(t):e==="pop"&&p.pop(),r?p.map(function(d){return d[l||"value"]}).join(u||","):a?p.map(function(d){return d[l||"value"]}):p},s.prototype.addItem=function(e){return I(this,void 0,void 0,function(){var t,i,n,r,a,u,l;return C(this,function(p){switch(p.label){case 0:return this.isReachMax()?[2]:(t=this.props,i=t.selectedOptions,n=t.onChange,r=t.valueField,a=i.concat(),de(a,function(d){return d[r||"value"]==e[r||"value"]})?[2]:(u=this.getValue("push",e),[4,this.dispatchEvent("change",{value:u,selectedItems:i.concat(e)})]));case 1:return l=p.sent(),l||n(u),[2]}})})},s.prototype.addItem2=function(e){var t=this.props,i=t.mobileUI,n=t.valueField,r=n===void 0?"value":n;if(i){var a=this.state.selectedOptions.concat(),u=a.findIndex(function(l){return l[r]===e[r]});~u?a.splice(u,1):this.isReachMaxFromState()||a.push(e),this.setState({selectedOptions:a})}},s.prototype.isExist=function(e){var t=this.props,i=t.options,n=t.valueField,r=n===void 0?"value":n,a=this.state.cacheOptions;return i.some(function(u){return u[r]===e})||a.some(function(u){return u[r]===e})},s.prototype.addSelection=function(){var e=this.state.inputValue,t=this.props.maxTagLength,i=this.state.selectedOptions.slice(),n=this.state.cacheOptions.slice();if(t!==void 0&&(e=e.trim(),e=e.slice(0,t)),!this.isExist(e)&&e&&!this.isReachMaxFromState()){var r=this.normalizeInputValue(e);i.push(r[0]),n.push(r[0]),this.setState({inputValue:"",selectedOptions:i,cacheOptions:n})}},s.prototype.onConfirm=function(){return I(this,void 0,void 0,function(){var e,t,i,n;return C(this,function(r){switch(r.label){case 0:return e=this.state.selectedOptions,t=this.props.onChange,i=this.getValue("normal",{},e),[4,this.dispatchEvent("change",{value:i,selectedItems:e})];case 1:return n=r.sent(),n||t(i),this.close(),[2]}})})},s.prototype.handleFocus=function(e){var t,i;return I(this,void 0,void 0,function(){var n,r;return C(this,function(a){switch(a.label){case 0:return this.setState({isFocused:!0,isOpened:!0,selectedOptions:this.props.selectedOptions}),n=this.getValue("normal"),[4,this.dispatchEvent("focus",{value:n,selectedItems:this.props.selectedOptions})];case 1:return r=a.sent(),r||((i=(t=this.props).onFocus)===null||i===void 0||i.call(t,e)),[2]}})})},s.prototype.handleBlur=function(e){var t,i;return I(this,void 0,void 0,function(){var n,r,a,u,l,p,d,g;return C(this,function(F){switch(F.label){case 0:return n=this.props,r=n.selectedOptions,a=n.onChange,u=n.mobileUI,l=n.options,u&&l.length?[2]:(p=this.state.inputValue.trim(),this.validateInputValue(p)?(d=this.normalizeMergedValue(p),[4,this.dispatchEvent("blur",{value:d,selectedItems:r})]):(this.setState({isFocused:!1,isOpened:!1}),[2]));case 1:return g=F.sent(),g||((i=(t=this.props).onBlur)===null||i===void 0||i.call(t,e)),this.setState({isFocused:!1,isOpened:!1,inputValue:""},p?function(){r.length!==d.length&&(a==null||a(d))}:void 0),[2]}})})},s.prototype.close=function(){this.setState({isOpened:!1})},s.prototype.handleInputChange=function(e){this.setState({inputValue:e})},s.prototype.handleChange=function(e){return I(this,void 0,void 0,function(){var t,i,n,r,a,u,l,p;return C(this,function(d){switch(d.label){case 0:return t=this.props,i=t.joinValues,n=t.extractValue,r=t.delimiter,a=t.valueField,u=t.onChange,l=Array.isArray(e)?e.concat():[],(i||n)&&(l=e.map(function(g){return g[a||"value"]})),i&&(l=l.join(r||",")),[4,this.dispatchEvent("change",{value:l,selectedItems:e})];case 1:return p=d.sent(),p||u(l),[2]}})})},s.prototype.renderItem=function(e){var t=this.props.labelField;return"".concat(e[t||"label"])},s.prototype.handleKeyDown=function(e){return I(this,void 0,void 0,function(){var t,i,n,r,a,u,l,p,l,p;return C(this,function(d){switch(d.label){case 0:return t=this.props,i=t.selectedOptions,n=t.onChange,r=t.delimiter,t.labelField,t.valueField,a=this.state.inputValue.trim(),u=i.concat(this.normalizeMergedValue(a,!1)),i.length&&!a&&e.key=="Backspace"?(l=this.getValue("pop"),[4,this.dispatchEvent("change",{value:l,selectedItems:u})]):[3,2];case 1:return p=d.sent(),p||n(l),[3,5];case 2:return a&&(e.key==="Enter"||e.key===r)?(e.preventDefault(),e.stopPropagation(),l=this.normalizeMergedValue(a),[4,this.dispatchEvent("change",{value:l,selectedItems:u})]):[3,4];case 3:return p=d.sent(),this.validateInputValue(a)?(!p&&i.length!==l.length&&n(l),this.setState({inputValue:""}),[3,5]):(this.setState({isFocused:!1,isOpened:!1}),[2]);case 4:!a&&e.key==="Enter"&&this.handleBlur(e),d.label=5;case 5:return[2]}})})},s.prototype.handleOptionChange=function(e){var t=this.props.mobileUI;if(t){this.addItem2(e);return}this.isReachMax()||!e||this.addItem(e)},s.prototype.getTarget=function(){return this.input.current},s.prototype.getParent=function(){return this.input.current&&te.findDOMNode(this.input.current).parentElement},s.prototype.reload=function(){var e=this.props.reloadOptions;e==null||e()},s.prototype.isReachMax=function(){var e=this.props,t=e.max,i=e.selectedOptions;return t!=null&&S(t)&&i.length>=t},s.prototype.isReachMaxFromState=function(){var e=this.state.selectedOptions,t=this.props.max;return t!=null&&S(t)&&e.length>=t},s.prototype.render=function(){var e=this,t=this.props,i=t.className;t.style;var n=t.classnames,r=t.disabled,a=t.placeholder,u=t.name,l=t.clearable,p=t.selectedOptions,d=t.loading,g=t.popOverContainer,F=t.dropdown,y=t.options,N=t.optionsTip,U=t.maxTagCount,$=t.overflowTagPopover,R=t.translate,K=t.loadingConfig,E=t.valueField,T=t.env,m=t.mobileUI,H=t.labelField,x=t.testIdBuilder,q=this.state.inputValue,w=Array.isArray(y)?ne(y,function(b,j,B,P){return b[E||"value"]!==void 0&&(m||!~p.indexOf(b))&&(L([b].concat(P),q,{keys:[H||"label",E||"value"],threshold:L.rankings.CONTAINS}).length||Array.isArray(b.children)&&!!b.children.length)},0,!0):[],M=this.isReachMax();return h.createElement(ae,{selectedItem:p,isOpen:m?this.state.isOpened:this.state.isFocused,inputValue:this.state.inputValue,onChange:this.handleOptionChange,itemToString:this.renderItem},function(b){var j=b.isOpen,B=b.highlightedIndex,P=b.getItemProps,G=b.getInputProps;return h.createElement("div",{className:n(i,"TagControl")},h.createElement(k,_({},G({name:u,ref:e.input,placeholder:R(a??"Tag.placeholder"),value:e.state.inputValue,onKeyDown:e.handleKeyDown,onFocus:m?void 0:e.handleFocus,onBlur:e.handleBlur,disabled:r}),{onResultClick:m?e.handleFocus:void 0,inputPlaceholder:"",onChange:e.handleInputChange,className:n("TagControl-input"),result:p,onResultChange:e.handleChange,itemRender:e.renderItem,clearable:l,maxTagCount:U,overflowTagPopover:$,popOverContainer:g||T.getModalContainer,allowInput:!m||m&&!(y!=null&&y.length),mobileUI:m,testIdBuilder:x==null?void 0:x.getChild("resule-box")}),d?h.createElement(ie,{loadingConfig:K,size:"sm"}):void 0),F!==!1?m?h.createElement(re,{className:n("Tag-popup"),container:m?T==null?void 0:T.getModalContainer:g||T.getModalContainer,isShow:j&&!!w.length,showConfirm:!0,onConfirm:e.onConfirm,onHide:e.close},h.createElement("div",null,h.createElement(z,{selectedOptions:p,mobileUI:m,options:w.concat(e.state.cacheOptions),itemRender:e.renderItem,highlightIndex:B,getItemProps:function(f){var O=f.item,A=f.index;return _({},P({index:A,item:O,className:n("ListMenu-item",{"is-active":~(e.state.selectedOptions.map(function(Q){return Q[E]})||[]).indexOf(O[E])})}))}}),m&&!e.isReachMaxFromState()?h.createElement("div",{className:n("ListMenu-add-wrap")},h.createElement(k,{placeholder:R("placeholder.enter")+"...",allowInput:!0,value:e.state.inputValue,mobileUI:m,clearable:!0,maxTagCount:U,onChange:function(f){e.setState({inputValue:f})},onBlur:e.addSelection})):null)):h.createElement(se,{container:g||e.getParent,target:e.getTarget,placement:"auto",show:j&&!!w.length},h.createElement(oe,{overlay:!0,className:n("TagControl-popover"),onHide:e.close},h.createElement(z,{options:w,itemRender:e.renderItem,highlightIndex:B,testIdBuilder:x==null?void 0:x.getChild("options"),getItemProps:function(f){var O=f.item,A=f.index;return _({},P({index:A,item:O,disabled:M||O.disabled,className:n("ListMenu-item",{"is-disabled":M})}))}}))):h.createElement("div",{className:n("TagControl-sug")},N?h.createElement("div",{className:n("TagControl-sugTip")},R(N)):null,y.map(function(f,O){return h.createElement("div",{className:n("TagControl-sugItem",{"is-disabled":f.disabled||r||M}),key:O,onClick:e.addItem.bind(e,f)},f.label)})))})},s.defaultProps={resetValue:"",labelField:"label",valueField:"value",multiple:!0,placeholder:"Tag.placeholder",optionsTip:"Tag.tip",separator:"-"},c([v,o("design:type",Function),o("design:paramtypes",[String,Object]),o("design:returntype",Promise)],s.prototype,"dispatchEvent",null),c([v,o("design:type",Function),o("design:paramtypes",[String,Object,Array]),o("design:returntype",void 0)],s.prototype,"getValue",null),c([v,o("design:type",Function),o("design:paramtypes",[]),o("design:returntype",void 0)],s.prototype,"addSelection",null),c([v,o("design:type",Function),o("design:paramtypes",[]),o("design:returntype",Promise)],s.prototype,"onConfirm",null),c([v,o("design:type",Function),o("design:paramtypes",[Object]),o("design:returntype",Promise)],s.prototype,"handleFocus",null),c([v,o("design:type",Function),o("design:paramtypes",[Object]),o("design:returntype",Promise)],s.prototype,"handleBlur",null),c([v,o("design:type",Function),o("design:paramtypes",[]),o("design:returntype",void 0)],s.prototype,"close",null),c([v,o("design:type",Function),o("design:paramtypes",[String]),o("design:returntype",void 0)],s.prototype,"handleInputChange",null),c([v,o("design:type",Function),o("design:paramtypes",[Array]),o("design:returntype",Promise)],s.prototype,"handleChange",null),c([v,o("design:type",Function),o("design:paramtypes",[Object]),o("design:returntype",Object)],s.prototype,"renderItem",null),c([v,o("design:type",Function),o("design:paramtypes",[Object]),o("design:returntype",Promise)],s.prototype,"handleKeyDown",null),c([v,o("design:type",Function),o("design:paramtypes",[Object]),o("design:returntype",void 0)],s.prototype,"handleOptionChange",null),c([v,o("design:type",Function),o("design:paramtypes",[]),o("design:returntype",void 0)],s.prototype,"getTarget",null),c([v,o("design:type",Function),o("design:paramtypes",[]),o("design:returntype",void 0)],s.prototype,"getParent",null),c([v,o("design:type",Function),o("design:paramtypes",[]),o("design:returntype",void 0)],s.prototype,"isReachMax",null),c([v,o("design:type",Function),o("design:paramtypes",[]),o("design:returntype",void 0)],s.prototype,"isReachMaxFromState",null),c([le(),o("design:type",Function),o("design:paramtypes",[]),o("design:returntype",void 0)],s.prototype,"render",null),s}(h.PureComponent),ve=function(V){D(s,V);function s(){return V!==null&&V.apply(this,arguments)||this}return s=c([ue({type:"input-tag"})],s),s}(ce);export{ve as TagControlRenderer,ce as default};