1 |
- import{ct as te,p as ne,cu as se,cv as ae,cw as re,s as z,f as v,aF as le,E as A,G as j,bS as G,cx as D,c5 as U,ap as H,bq as ie,cy as oe,b2 as J,y as R,L as de,cz as M,a8 as ce,aa as ue,ab as he,ad as Q,br as pe,a$ as ve,O as fe,bs as ye,cA as me,ae as ge,z as k,P as F,Q as l,aX as Ce,bk as Z,cB as be,bf as X,ah as ke,cC as K,cD as Oe,bn as Ne}from"./index-DT8qTvyx.js";var Se=se,Fe=te,Ee=ae,Pe=re,Ve=Fe(function(V){return Ee(Se(V,1,Pe,!0))}),_e=Ve;const Y=ne(_e);var ee=function(V){z(r,V);function r(){var e=V!==null&&V.apply(this,arguments)||this;return e.outTarget=v.createRef(),e.state={isOpened:!1,isFocused:!1,inputValue:"",stack:[e.props.options]},e}return r.prototype.domRef=function(e){this.target=e},r.prototype.componentDidUpdate=function(e){e.options!==this.props.options&&this.setState({stack:[this.props.options]})},r.prototype.doAction=function(e,t,a){var s,n,i=this.props,o=i.resetValue,d=i.onChange,u=i.formStore,h=i.store,c=i.name,f=e==null?void 0:e.actionType;if(f==="clear")d==null||d("");else if(f==="reset"){var m=(n=le((s=u==null?void 0:u.pristine)!==null&&s!==void 0?s:h==null?void 0:h.pristine,c))!==null&&n!==void 0?n:o;d==null||d(m??"")}},r.prototype.dispatchEvent=function(e,t){return t===void 0&&(t={}),A(this,void 0,void 0,function(){var a,s;return j(this,function(n){switch(n.label){case 0:return a=this.props.dispatchEvent,[4,a(e,ke(this.props,t))];case 1:return s=n.sent(),[2,!!(s!=null&&s.prevented)]}})})},r.prototype.isParentNode=function(e){return Array.isArray(e.children)&&e.children.length>0},r.prototype.handleOutClick=function(e){var t;this.props.options,this.outTargetWidth=(t=this.outTarget.current)===null||t===void 0?void 0:t.clientWidth,e.defaultPrevented||this.setState({isOpened:!0})},r.prototype.handleResultClear=function(){this.setState({inputValue:void 0})},r.prototype.close=function(){this.setState({isOpened:!1})},r.prototype.removeItem=function(e,t){return A(this,void 0,void 0,function(){var a,s,n,i,o,d,u,h,c;return j(this,function(f){switch(f.label){case 0:return a=this.props,s=a.onChange,n=a.selectedOptions,i=a.joinValues,o=a.valueField,d=a.extractValue,u=a.delimiter,h=a.value,t&&t.stopPropagation(),n.splice(e,1),i?h=n.map(function(m){return m[o||"value"]}).join(u||","):d&&(h=n.map(function(m){return m[o||"value"]})),[4,this.dispatchEvent("change",{value:h})];case 1:return c=f.sent(),c||s(h),[2]}})})},r.prototype.renderValue=function(e,t){var a=this.props,s=a.classnames,n=a.labelField,i=a.valueField,o=a.options,d=a.hideNodePathLabel,u=this.state.inputValue||"",h=G(u);if(d)return D(e[n||"label"]);var c=U(o,e,!0),f=D(e[n||"label"]),m=" / ",x=c?c.map(function(N){return D(N[n||"label"])}).join(m):f;return v.createElement("span",{className:s("Select-valueLabel"),key:t||e[i||"value"],title:x},c?c.map(function(N,P){var g=D(N[n||"label"]),C=N[i||"value"],T=P===c.length-1;return v.createElement("span",{key:P},h.test(C)||h.test(g)?be(g,u):g,!T&&m)}):f)},r.prototype.handleOptionClick=function(e){return A(this,void 0,void 0,function(){var t,a,s,n,i,o,d,u,h;return j(this,function(c){switch(c.label){case 0:return t=this.props,a=t.multiple,s=t.onChange,n=t.joinValues,i=t.extractValue,o=t.valueField,d=t.onlyLeaf,a?[2]:(u=n||i?e[o||"value"]:e,u===void 0?[2]:d&&this.isParentNode(e)?[2]:[4,this.dispatchEvent("change",{value:u})]);case 1:return h=c.sent(),h||s(u),h||this.handleResultClear(),this.setState({stack:[this.props.options]}),this.close(),[2]}})})},r.prototype.handleCheck=function(e,t,a){return A(this,void 0,void 0,function(){var s,n,i,o,d,u,h,c,f,m,x,N,P,g,C,T,_,_,y,p,S,O;return j(this,function(E){switch(E.label){case 0:if(s=this.props,n=s.onChange,i=s.selectedOptions,o=s.joinValues,d=s.delimiter,u=s.extractValue,h=s.withChildren,c=s.onlyChildren,f=s.cascade,m=s.options,x=s.onlyLeaf,N=this.state.stack,P=this.props.valueField||"value",x&&!Array.isArray(e)&&this.isParentNode(e))return[2];if(!Array.isArray(e)&&e.children&&e.children.length&&typeof t=="number"&&(N[t]?N.splice(t+1,1,e.children):N.push(e.children)),g=i,T=function(b){return Ne(M(Array.isArray(b)?b:[b],function(w){return w.children&&w.children.length?null:w}))},Array.isArray(e)?(h?e=M(e):c&&(e=T(e)),C=g.length===e.length?[]:e):Array.isArray(e.children)?f?C=K(g,[e]):h?(e=M([e]),_=e.every(function(b){return!!~g.indexOf(b)}),C=(_?K:Y)(g,e)):c?(e=T(e),_=e.every(function(b){return!!~g.indexOf(b)}),C=(_?K:Y)(g,e)):(C=g.filter(function(b){return!~M([e]).indexOf(b)}),!~g.indexOf(e)&&C.push(e)):C=K(g,[e]),!f)for(y=e;;){if(p=Oe(m,y),p!=null&&p.value&&p.children.every(function(b){return~C.indexOf(b)})){p.children.forEach(function(b){var w=C.indexOf(b);~w&&!h&&!c&&C.splice(w,1)}),c||C.push(p),y=p;continue}break}return S=o?C.map(function(b){return b[P]}).join(d):u?C.map(function(b){return b[P]}):C,[4,this.dispatchEvent("change",{value:S})];case 1:return O=E.sent(),O||n(S),O||this.handleResultClear(),a&&this.setState({stack:[this.props.options]}),[2]}})})},r.prototype.allChecked=function(e){var t=this,a=this.props,s=a.selectedOptions,n=a.withChildren,i=a.onlyChildren;return e.every(function(o){return(n||i)&&o.children?t.allChecked(o.children):s.some(function(d){return d===o})})},r.prototype.partialChecked=function(e){var t=this;return e.some(function(a){var s=a.children&&t.partialChecked(a.children);return s||t.props.selectedOptions.some(function(n){return n===a})})},r.prototype.reload=function(){var e=this.props.reloadOptions;e&&e()},r.prototype.getValue=function(){var e=this.props,t=e.selectedOptions,a=e.joinValues,s=e.valueField,n=e.extractValue,i=e.delimiter,o=e.value;return a?o=t.map(function(d){return d[s||"value"]}).join(i||","):n&&(o=t.map(function(d){return d[s||"value"]})),o},r.prototype.onFocus=function(e){return A(this,void 0,void 0,function(){var t,a,s,n,i;return j(this,function(o){switch(o.label){case 0:return t=this.props,a=t.onFocus,s=t.disabled,n=this.getValue(),!s&&!this.state.isOpened?(this.setState({isFocused:!0}),[4,this.dispatchEvent("focus",{value:n})]):[3,2];case 1:i=o.sent(),i||a&&a(e),o.label=2;case 2:return[2]}})})},r.prototype.onBlur=function(e){return A(this,void 0,void 0,function(){var t,a,s;return j(this,function(n){switch(n.label){case 0:return t=this.props.onBlur,a=this.getValue(),this.setState({isFocused:!1}),[4,this.dispatchEvent("blur",{value:a})];case 1:return s=n.sent(),s||t&&t(e),[2]}})})},r.prototype.getTarget=function(){return this.target||(this.target=H.findDOMNode(this)),this.target},r.prototype.handleKeyPress=function(e){e.key===" "&&(this.handleOutClick(e),e.preventDefault())},r.prototype.handleInputKeyDown=function(e){var t=this.state.inputValue,a=this.props,s=a.multiple,n=a.selectedOptions;e.key==="Backspace"&&!t&&n.length&&s&&this.removeItem(n.length-1)},r.prototype.handleInputChange=function(e){var t=this.props,a=t.options,s=t.labelField,n=t.valueField,i=e&&this.state.isOpened?ie(a,function(o,d,u,h){return!!X([o].concat(h),e,{keys:[s||"label",n||"value"],threshold:X.rankings.CONTAINS}).length||!!(o.children&&o.children.length)},1,!0):a.concat();this.setState({inputValue:e,stack:[i]})},r.prototype.handleResultChange=function(e){return A(this,void 0,void 0,function(){var t,a,s,n,i,o,d,u,h,c;return j(this,function(f){switch(f.label){case 0:return t=this.props,a=t.joinValues,s=t.extractValue,n=t.delimiter,i=t.valueField,o=t.onChange,d=t.multiple,u=Array.isArray(e)?e.concat():[],!d&&!u.length?[4,this.dispatchEvent("change",{value:""})]:[3,2];case 1:return h=f.sent(),h||o(""),[2];case 2:return(a||s)&&(u=e.map(function(m){return m[i||"value"]})),a&&(u=u.join(n||",")),[4,this.dispatchEvent("change",{value:u})];case 3:return c=f.sent(),c||o(u),[2]}})})},r.prototype.getMenuSelectMenuStyle=function(){var e=this.props.options,t=this.outTargetWidth,a=oe(e),s={};return t&&(s={width:t/a}),s},r.prototype.renderOptions=function(){var e=this,t=this.props,a=t.multiple,s=t.selectedOptions,n=t.classnames,i=t.options,o=t.disabled,d=t.checkAll,u=t.checkAllLabel,h=t.translate,c=t.labelField,f=t.menuClassName,m=t.cascade,x=t.onlyChildren,N=t.testIdBuilder,P=this.props.valueField||"value",g=this.state.stack,C=this.partialChecked(i),T=this.allChecked(i);return v.createElement(v.Fragment,null,g.map(function(_,y){return v.createElement("div",{key:y,className:n("NestedSelect-menu",f),style:e.getMenuSelectMenuStyle()},a&&d&&y===0?v.createElement("div",{className:n("NestedSelect-option","checkall")},v.createElement(J,{size:"sm",onChange:e.handleCheck.bind(e,_),checked:C,partial:C&&!T}),v.createElement("span",{onClick:e.handleCheck.bind(e,_)},h(u))):null,_.map(function(p,S){var O=N==null?void 0:N.getChild("menu-".concat(y)).getChild(p.value||S),E=U(i,p),b=E==null?void 0:E.some(function($){return!!~s.indexOf($)}),w=m?!1:a&&b,I=E==null?void 0:E.some(function($){return!!$.disabled}),B=w||p.disabled||I||!!o,W=!!(p.children&&e.partialChecked(p.children)),L=w||!!~s.indexOf(p);!L&&x&&a&&e.isParentNode(p)&&e.allChecked(p.children)&&(L=!0);var q=D(p[c||"label"]);return v.createElement("div",{key:S,className:n("NestedSelect-option",{"is-active":!B&&(L||!m&&W)}),onMouseEnter:e.onMouseEnter.bind(e,p,y)},a?v.createElement(J,{size:"sm",onChange:e.handleCheck.bind(e,p,y,!1),trueValue:p[P],checked:L||!m&&W,partial:!L,disabled:B,testIdBuilder:O==null?void 0:O.getChild("checkbox")}):null,v.createElement("div",R({className:n("NestedSelect-optionLabel",{"is-disabled":B}),onClick:function(){return!B&&(a?e.handleCheck(p,y):e.handleOptionClick(p))},title:q},O==null?void 0:O.getTestId()),q),p.children&&p.children.length?v.createElement("div",R({className:n("NestedSelect-optionArrowRight",{"is-disabled":B})},O==null?void 0:O.getChild("arrow-right").getTestId()),v.createElement(de,{icon:"right-arrow-bold",className:"icon"})):null)}))}))},r.prototype.renderSearchResult=function(){var e=this,t=this.state,a=t.stack,s=t.inputValue,n=this.props,i=n.classnames,o=n.translate,d=n.options,u=n.labelField,h=n.valueField,c=n.cascade,f=n.selectedOptions,m=n.multiple,x=n.disabled,N=n.onlyChildren,P=n.render,g=this.props.noResultsText;g&&(g=P("noResultText",o(g)));var C=G(s||""),T=M(a[0]).filter(function(y){return!!(C.test(y[h||"value"])||C.test(y[u||"label"]))}),_=v.createElement("div",{className:i("NestedSelect-menu"),style:this.getMenuSelectMenuStyle()},T.length?T.map(function(y,p){var S=U(d,y),O=c?!1:m&&(S==null?void 0:S.some(function(I){return!!~f.indexOf(I)})),E=O||y.disabled||!!x||(S==null?void 0:S.some(function(I){return!!I.disabled})),b=!!(y.children&&e.partialChecked(y.children)),w=O||!!~f.indexOf(y);return!w&&N&&e.isParentNode(y)&&e.allChecked(y.children)&&(w=!0),v.createElement("div",{className:i("NestedSelect-option",{"is-active":!E&&(w||!c&&b)}),key:p},v.createElement("div",{className:i("NestedSelect-optionLabel",{"is-disabled":E}),onClick:function(){!E&&(m?e.handleCheck(y,y.value,!0):e.handleOptionClick(y))}},e.renderValue(y,y.value)))}):v.createElement("div",{className:i("NestedSelect-option",{"no-result":!0})},g));return _},r.prototype.onMouseEnter=function(e,t,a){var s=this.state.stack;t=t+1;var n=e.children;n&&n.length?s[t]?s.splice(t,1,n):s.push(n):s[t]&&s.splice(t,1),this.setState({stack:s.slice(0,t+1)})},r.prototype.renderOuter=function(){var e=this,t=this.props,a=t.popOverContainer,s=t.translate,n=t.classnames,i=t.options,o=t.render,d=t.id,u=t.themeCss,h=!!this.state.inputValue,c=this.props.noResultsText;c&&(c=o("noResultText",s(c)));var f=v.createElement(ce,{disabled:!this.state.isOpened,onRootClose:this.close},function(m){return v.createElement("div",{className:n("NestedSelect-menuOuter"),ref:m},h?e.renderSearchResult():i.length?e.renderOptions():v.createElement("div",{className:n("NestedSelect-noResult")},c))});return v.createElement(ue,{target:this.getTarget,container:a||function(){return H.findDOMNode(e)},placement:"auto",show:!0},v.createElement(he,{className:n("NestedSelect-popover",Q(R(R({},this.props),{name:"nestedSelectPopoverClassName",id:d,themeCss:u})))},f))},r.prototype.render=function(){var e,t=this.props,a=t.className,s=t.style,n=t.disabled,i=t.classnames,o=t.multiple,d=t.placeholder,u=t.translate,h=t.inline,c=t.searchable,f=t.selectedOptions,m=t.clearable,x=t.loading,N=t.borderMode,P=t.mobileUI;t.popOverContainer;var g=t.env,C=t.testIdBuilder,T=t.loadingConfig,_=t.maxTagCount,y=t.overflowTagPopover,p=this.props,S=p.classPrefix,O=p.themeCss,E=p.id;return v.createElement("div",{className:i("NestedSelectControl",a),ref:this.outTarget,style:s},v.createElement(pe,{mobileUI:P,maxTagCount:_,overflowTagPopover:y,disabled:n,ref:this.domRef,placeholder:u(d??"placeholder.empty"),inputPlaceholder:"",className:i("NestedSelect",(e={"NestedSelect--inline":h,"NestedSelect--single":!o,"NestedSelect--multi":o,"NestedSelect--searchable":c,"is-opened":this.state.isOpened,"is-focused":this.state.isFocused},e["NestedSelect--border".concat(ve(N))]=N,e),Q(R(R({},this.props),{name:"nestedSelectControlClassName",id:E,themeCss:O}))),result:o?f:f.length?f[0]:"",onResultClick:this.handleOutClick,value:this.state.inputValue,onChange:this.handleInputChange,onResultChange:this.handleResultChange,onClear:this.handleResultClear,itemRender:this.renderValue,onKeyPress:this.handleKeyPress,onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.handleInputKeyDown,clearable:m,hasDropDownArrow:!0,allowInput:c&&!P,testIdBuilder:C},x?v.createElement(fe,{loadingConfig:T,size:"sm"}):void 0),P?v.createElement(ye,{className:i("NestedSelect-popup"),container:g.getModalContainer,isShow:this.state.isOpened,onHide:this.close,showConfirm:!1,showClose:!1},v.createElement(me,R({onClose:this.close},this.props,{onChange:this.handleResultChange,options:this.props.options.slice(),value:f}))):this.state.isOpened?this.renderOuter():null,v.createElement(ge,R({},this.props,{config:{themeCss:O,classNames:[{key:"nestedSelectControlClassName",weights:{hover:{suf:".is-clickable:not(.is-disabled)"},focused:{suf:".is-opened:not(.is-mobile)"},disabled:{suf:".is-disabled"}}},{key:"nestedSelectPopoverClassName",weights:{default:{suf:" .".concat(S,"NestedSelect-option")},hover:{suf:" .".concat(S,"NestedSelect-option.is-highlight")},focused:{inner:".".concat(S,"NestedSelect-option.is-active")}}}],id:E},env:g})))},r.defaultProps={cascade:!1,withChildren:!1,onlyChildren:!1,onlyLeaf:!1,searchPromptText:"Select.searchPromptText",noResultsText:"noResult",checkAll:!0,checkAllLabel:"Select.checkAll",hideNodePathLabel:!1},k([F,l("design:type",Function),l("design:paramtypes",[Object]),l("design:returntype",void 0)],r.prototype,"domRef",null),k([F,l("design:type",Function),l("design:paramtypes",[String,Object]),l("design:returntype",Promise)],r.prototype,"dispatchEvent",null),k([F,l("design:type",Function),l("design:paramtypes",[Object]),l("design:returntype",void 0)],r.prototype,"handleOutClick",null),k([F,l("design:type",Function),l("design:paramtypes",[]),l("design:returntype",void 0)],r.prototype,"handleResultClear",null),k([F,l("design:type",Function),l("design:paramtypes",[]),l("design:returntype",void 0)],r.prototype,"close",null),k([F,l("design:type",Function),l("design:paramtypes",[Object,Object]),l("design:returntype",void 0)],r.prototype,"renderValue",null),k([F,l("design:type",Function),l("design:paramtypes",[Object]),l("design:returntype",Promise)],r.prototype,"handleOptionClick",null),k([F,l("design:type",Function),l("design:paramtypes",[Object,Number,Boolean]),l("design:returntype",Promise)],r.prototype,"handleCheck",null),k([F,l("design:type",Function),l("design:paramtypes",[]),l("design:returntype",void 0)],r.prototype,"getValue",null),k([F,l("design:type",Function),l("design:paramtypes",[Object]),l("design:returntype",Promise)],r.prototype,"onFocus",null),k([F,l("design:type",Function),l("design:paramtypes",[Object]),l("design:returntype",Promise)],r.prototype,"onBlur",null),k([F,l("design:type",Function),l("design:paramtypes",[]),l("design:returntype",void 0)],r.prototype,"getTarget",null),k([F,l("design:type",Function),l("design:paramtypes",[Object]),l("design:returntype",void 0)],r.prototype,"handleKeyPress",null),k([F,l("design:type",Function),l("design:paramtypes",[Object]),l("design:returntype",void 0)],r.prototype,"handleInputKeyDown",null),k([F,l("design:type",Function),l("design:paramtypes",[String]),l("design:returntype",void 0)],r.prototype,"handleInputChange",null),k([F,l("design:type",Function),l("design:paramtypes",[Array]),l("design:returntype",Promise)],r.prototype,"handleResultChange",null),k([F,l("design:type",Function),l("design:paramtypes",[]),l("design:returntype",void 0)],r.prototype,"getMenuSelectMenuStyle",null),k([Ce(),l("design:type",Function),l("design:paramtypes",[]),l("design:returntype",void 0)],r.prototype,"render",null),r}(v.Component),Te=function(V){z(r,V);function r(){return V!==null&&V.apply(this,arguments)||this}return r=k([Z({type:"nested-select"})],r),r}(ee),xe=function(V){z(r,V);function r(){return V!==null&&V.apply(this,arguments)||this}return r=k([Z({type:"cascader-select"})],r),r}(ee);export{xe as CascaderSelectControlRenderer,Te as NestedSelectControlRenderer,ee as default};
|