InputTree-CmGIyUds.js 8.5 KB

1
  1. import{s as Q,bd as xe,aF as Ve,bZ as U,bU as De,y as _,bf as H,E as z,G as X,a3 as S,v as Se,w as Le,f as T,c2 as je,bJ as $,ag as G,O as Re,c3 as ke,aC as Ne,z as F,P as E,Q as d,aX as Be,bk as Pe,bC as J,c4 as Ue,ah as He,X as ze}from"./index-DT8qTvyx.js";var Xe=function(O){Q(n,O);function n(e){var t=this,i;return t=O.call(this,e)||this,t.state={keyword:"",filteredOptions:(i=t.props.options)!==null&&i!==void 0?i:[]},t.handleSearch=xe(t.handleSearch.bind(t),250,{trailing:!0,leading:!1}),t}return n.prototype.componentDidUpdate=function(e){var t=this.props,i=this.state.keyword;if(e.options!==t.options||e.searchable!==t.searchable){var a=t.options,r=t.searchable;this.setState({filteredOptions:r&&i?this.filterOptions(a,i):a})}},n.prototype.reload=function(){var e=this.props.reloadOptions;e&&e()},n.prototype.doAction=function(e,t,i){var a,r,l,o,u,s,p,v,h=e==null?void 0:e.actionType,f=this.props,A=f.resetValue,c=f.onChange,C=f.formStore,y=f.store,I=f.name;if(h==="clear")c==null||c("");else if(h==="reset"){var m=(r=Ve((a=C==null?void 0:C.pristine)!==null&&a!==void 0?a:y==null?void 0:y.pristine,I))!==null&&r!==void 0?r:A;c==null||c(m??"")}else e.actionType==="expand"?this.treeRef.syncUnFolded(this.props,(l=e.args)===null||l===void 0?void 0:l.openLevel):e.actionType==="collapse"?this.treeRef.syncUnFolded(this.props,0):e.actionType==="add"?this.addItemFromAction((o=e.args)===null||o===void 0?void 0:o.item,(u=e.args)===null||u===void 0?void 0:u.parentValue):e.actionType==="edit"?this.editItemFromAction((s=e.args)===null||s===void 0?void 0:s.item,(p=e.args)===null||p===void 0?void 0:p.originValue):e.actionType==="delete"?this.deleteItemFromAction((v=e.args)===null||v===void 0?void 0:v.value):e.actionType==="reload"&&this.reload()},n.prototype.resolveOption=function(e,t){var i=this;return U(e,function(a){var r=i.props.valueField||"value",l=J(a,r)?a[r]:"";return l===t})},n.prototype.addItemFromAction=function(e,t){var i=this.props,a=i.onAdd,r=i.options,l=i.valueField,o=De(r,function(u){var s=l||"value",p=J(u,s)?u[s]:"";return p===t})||[];a&&a(o.concat(0),e,!0)},n.prototype.editItemFromAction=function(e,t){var i=this.props,a=i.onEdit,r=i.options,l=this.resolveOption(r,t);a&&l&&a(_(_({},e),{originValue:t}),l,!0)},n.prototype.deleteItemFromAction=function(e){var t=this.props,i=t.onDelete,a=t.options,r=this.resolveOption(a,e);i&&r&&i(r)},n.prototype.filterOptions=function(e,t){var i=this,a=this.props,r=a.labelField,l=a.valueField;return e.map(function(o){if(o=_({},o),o.visible=!!H([o],t,{keys:[r||"label",l||"value"],threshold:H.rankings.CONTAINS}).length,!o.visible&&o.children){o.children=i.filterOptions(o.children,t);var u=o.children.filter(function(s){return s.visible}).length;o.visible=!!u}return o.visible&&(o.collapsed=!1),o})},n.prototype.handleChange=function(e){return z(this,void 0,void 0,function(){var t,i,a,r,l,o,u,s,p,v,h,f,A,c,C,y;return X(this,function(I){switch(I.label){case 0:return t=this.props,i=t.onChange,a=t.searchable,r=t.options,l=t.dispatchEvent,o=t.multiple,u=t.delimiter,s=t.valueField,p=t.selectedOptions,v=t.joinValues,h=t.extractValue,f=this.state.filteredOptions,A=a?f:r,c=Ue(e,{multiple:o,delimiter:u,valueField:s,options:f}),C=o?null:c[0],o&&a&&p.length&&(p.forEach(function(m){var V=U(f,function(D){return D[s||"value"]===m[s||"value"]});V||c.push(m)}),e=c.map(function(m){return h||v?m[s||"value"]:m}),v&&(e=e.join(u||","))),[4,l("change",He(this.props,{value:e,item:C,items:A,selectedItems:c}))];case 1:return y=I.sent(),y!=null&&y.prevented?[2]:(i&&i(e),[2])}})})},n.prototype.handleSearch=function(e){return z(this,void 0,void 0,function(){var t,i,a,r,l,o,u,s,p,v;return X(this,function(h){switch(h.label){case 0:if(t=this.props,i=t.searchApi,a=t.options,r=t.env,l=t.data,o=t.translate,u=[],!ze(i))return[3,5];h.label=1;case 1:return h.trys.push([1,3,,4]),[4,r.fetcher(i,S(l,{term:e}))];case 2:if(s=h.sent(),!s.ok)throw new Error(o(s.msg||"networkError"));if(p=s.data.options||s.data.items||s.data,!Array.isArray(p))throw new Error(o("Tree.invalidArray"));return u=p,[3,4];case 3:return v=h.sent(),r.isCancel(v)||!i.silent&&r.notify("error",v.message),[3,4];case 4:return[3,6];case 5:e&&(u=this.filterOptions(a,e)),h.label=6;case 6:return this.setState({keyword:e,filteredOptions:e?u:a}),[2]}})})},n.prototype.domRef=function(e){this.treeRef=e},n.prototype.validate=function(){var e=this.props,t=e.value,i=e.minLength,a=e.maxLength,r=e.delimiter,l=Array.isArray(t)?t:(t?String(t):"").split(r||",");if(i&&l.length<i)return"已选择数量低于设定的最小个数".concat(i,",请选择更多的选项。");if(a&&l.length>a)return"已选择数量超出设定的最大个数".concat(a,",请取消选择超出的选项。")},n.prototype.renderOptionItem=function(e,t){var i=this.props,a=i.menuTpl,r=i.render,l=i.data;return r("option/".concat(t.index),a,{data:S(S(l,_({},t)),e)})},n.prototype.render=function(){var e=this.props,t=e.className;e.style;var i=e.treeContainerClassName,a=e.classPrefix,r=e.value,l=e.enableNodePath,o=e.pathSeparator,u=o===void 0?"/":o,s=e.disabled,p=e.joinValues,v=e.extractValue,h=e.delimiter,f=e.placeholder,A=e.options,c=e.multiple,C=e.valueField,y=e.initiallyOpen,I=e.unfoldedLevel,m=e.withChildren,V=e.onlyChildren,D=e.onlyLeaf,L=e.loading,Z=e.hideRoot,q=e.rootLabel,K=e.autoCheckChildren,M=e.cascade,W=e.rootValue,Y=e.showIcon,ee=e.showRadio,te=e.showOutline,ie=e.onAdd,ae=e.creatable,re=e.createTip,oe=e.addControls,ne=e.onEdit,le=e.editable,se=e.editTip,de=e.editControls,ue=e.removable,pe=e.removeTip,he=e.onDelete,ce=e.rootCreatable,ve=e.rootCreateTip,fe=e.labelField,me=e.iconField,ye=e.deferField,ge=e.nodePath,be=e.deferLoad,Ce=e.expandTreeOptions,j=e.translate,Fe=e.data,Te=e.virtualThreshold,R=e.itemHeight,Oe=e.loadingConfig,Ae=e.menuTpl,Ie=e.enableDefaultIcon,w=e.searchable,k=e.searchConfig,g=k===void 0?{}:k,_e=e.heightAuto,N=e.mobileUI,b=e.testIdBuilder;e.popOverContainer,e.env;var x=this.props.highlightTxt,B=this.state,Ee=B.filteredOptions,we=B.keyword;Se(x)&&(x=Le(x,Fe));var P=T.createElement(je,{classPrefix:a,onRef:this.domRef,labelField:fe,valueField:C,iconField:me,deferField:ye,disabled:s,onChange:this.handleChange,joinValues:p,extractValue:v,delimiter:h,placeholder:j(f),options:w?Ee:A,highlightTxt:w?we:x,multiple:c,initiallyOpen:y,unfoldedLevel:I,withChildren:m,onlyChildren:V,onlyLeaf:D,hideRoot:Z,rootLabel:j(q),rootValue:W,showIcon:Y,showRadio:ee,showOutline:te,autoCheckChildren:K,cascade:M,foldedField:"collapsed",value:r||"",nodePath:ge,enableNodePath:l,pathSeparator:u,selfDisabledAffectChildren:!1,onAdd:ie,creatable:ae,createTip:re,rootCreatable:ce,rootCreateTip:ve,onEdit:ne,editable:le,editTip:se,removable:ue,removeTip:pe,onDelete:he,bultinCUD:!oe&&!de,onDeferLoad:be,onExpandTree:Ce,virtualThreshold:Te,itemHeight:$(R)>0?$(R):void 0,itemRender:Ae?this.renderOptionItem:void 0,enableDefaultIcon:Ie,mobileUI:N,testIdBuilder:b==null?void 0:b.getChild("tree")});return T.createElement("div",_({className:G("".concat(a,"TreeControl"),t,i,{"is-sticky":w&&(g==null?void 0:g.sticky),"h-auto":_e})},b==null?void 0:b.getChild("control").getTestId()),T.createElement(Re,{size:"sm",key:"info",show:L,loadingConfig:Oe}),L?null:w?T.createElement(T.Fragment,null,T.createElement(ke,_({className:G("".concat(a,"TreeControl-searchbox"),g==null?void 0:g.className,{"is-sticky":g==null?void 0:g.sticky}),mini:!1,clearable:!0},Ne(g,"className","sticky"),{onSearch:this.handleSearch,mobileUI:N,testIdBuilder:b==null?void 0:b.getChild("search")})),P):P)},n.defaultProps={placeholder:"placeholder.noData",multiple:!1,rootLabel:"Tree.root",rootValue:"",showIcon:!0,enableNodePath:!1,pathSeparator:"/"},F([E,d("design:type",Function),d("design:paramtypes",[Object,Object]),d("design:returntype",void 0)],n.prototype,"addItemFromAction",null),F([E,d("design:type",Function),d("design:paramtypes",[Object,Object]),d("design:returntype",void 0)],n.prototype,"editItemFromAction",null),F([E,d("design:type",Function),d("design:paramtypes",[Object]),d("design:returntype",void 0)],n.prototype,"deleteItemFromAction",null),F([E,d("design:type",Function),d("design:paramtypes",[Object]),d("design:returntype",Promise)],n.prototype,"handleChange",null),F([E,d("design:type",Function),d("design:paramtypes",[Object]),d("design:returntype",void 0)],n.prototype,"domRef",null),F([E,d("design:type",Function),d("design:paramtypes",[Object,Object]),d("design:returntype",void 0)],n.prototype,"renderOptionItem",null),F([Be(),d("design:type",Function),d("design:paramtypes",[]),d("design:returntype",void 0)],n.prototype,"render",null),n}(T.Component),Ge=function(O){Q(n,O);function n(){return O!==null&&O.apply(this,arguments)||this}return n=F([Pe({type:"input-tree"})],n),n}(Xe);export{Ge as TreeControlRenderer,Xe as default};