Transfer-BzS7I0rL.js 9.1 KB

1
  1. import{aq as fe,s as ee,E as G,G as X,bV as ge,a3 as P,y as h,aK as ye,v as me,X as be,bd as Ce,aG as Oe,f as V,bW as Te,bM as Z,az as Fe,aN as Re,O as Se,z as O,P as S,Q as a,aZ as _e,bm as Ae,bX as q,bY as we,bZ as D,b_ as Q,b$ as Y,c0 as Ie,ah as xe,bs as Me,bh as J,ax as Pe,aB as Ee}from"./index-BPRWoLf4.js";var Ne=function(T){switch(typeof T){case"string":return fe(T,"options","inputValue","option");case"function":return T;default:return null}},Ve=function(T){ee(l,T);function l(){return T!==null&&T.apply(this,arguments)||this}return l.prototype.reload=function(){var t=this.props.reloadOptions;t==null||t()},l.prototype.handleChange=function(t,n){return G(this,void 0,void 0,function(){var e,r,o,d,s,u,i,w,v,b,f,F,x,m,c,I,E,M,C;return X(this,function(g){switch(g.label){case 0:return e=this.props,r=e.onChange,o=e.joinValues,d=e.delimiter,s=e.valueField,u=e.extractValue,i=e.options,w=e.dispatchEvent,v=e.setOptions,b=e.selectMode,f=e.deferApi,F=e.deferField,x=F===void 0?"defer":F,m=t,c=i.concat(),Array.isArray(t)?(m=t.map(function(p){var R=q(i,D(p[s||"value"],s||"value"),{resolve:we(s),value:p[s]||"value"});if(!R)c.push(h(h({},p),{visible:!1}));else if(n){var N=Q(c,R);c=Y(c,R,1,h(h({},N),p))}return o||u?p[s||"value"]:p}),o&&(m=m.join(d||","))):t&&(m=o||u?t[s||"value"]:t,I=q(i,D(t[s||"value"],s||"value")),I?n&&(E=Q(c,I),c=Y(c,I,1,h(h({},E),t))):c.push(h(h({},t),{visible:!1}))),M=b==="tree"&&(!!f||!!Ie(i,function(p){return p.deferApi||p[x]})),(M===!0||c.length>i.length||n)&&v(c,!0),[4,w("change",xe(this.props,{value:m,options:i,items:i}))];case 1:return C=g.sent(),C!=null&&C.prevented?[2]:(r(m),[2])}})})},l.prototype.option2value=function(t){return t},l.prototype.getResult=function(t){var n=t.data.options||t.data.items||t.data;return n},l.prototype.handleSearch=function(t,n,e){return G(this,void 0,void 0,function(){var r,o,d,s,u,i,w,v,b,f,F,x,m,c,I,E,M;return X(this,function(C){switch(C.label){case 0:if(r=this.props,o=r.searchApi,d=r.options,s=r.labelField,u=r.valueField,i=r.env,w=r.data,v=r.translate,b=r.filterOption,!o)return[3,5];C.label=1;case 1:return C.trys.push([1,3,,4]),[4,i.fetcher(o,P(w,h({term:t},e||{})),{cancelExecutor:n})];case 2:if(f=C.sent(),!f.ok)throw new Error(v(f.msg||"networkError"));if(F=this.getResult(f),!Array.isArray(F))throw new Error(v("CRUD.invalidArray"));return x={},e&&(x={page:f.data.page,perPage:e.perPage,total:f.data.count}),[2,h({items:Pe(F,function(g){var p=null,R=g[u||"value"];return Array.isArray(d)&&R!==null&&R!==void 0&&(p=Ee(d,D(R,u)),g!=null&&g.children&&(p=h(h({},p),{children:g.children}))),p||g})},x)];case 3:return m=C.sent(),!i.isCancel(m)&&!o.silent&&i.notify("error",m.message),[2,{items:[]}];case 4:return[3,6];case 5:return t?(c=s||"label",I=u||"value",E={keys:[c,I]},b?(M=Ne(b),M?[2,{items:M(d,t,E)}]:(i.notify("error","自定义检索函数不符合要求"),[2,{items:[]}])):[2,{items:Me(d,function(g,p,R,N){return!!(Array.isArray(g.children)&&g.children.length||J([g].concat(N),t,{keys:[s||"label",u||"value"],threshold:J.rankings.CONTAINS}).length)},0,!0)}]):[2,{items:d}];case 6:return[2]}})})},l.prototype.handleResultSearch=function(t,n){var e=this.props,r=e.valueField,o=e.labelField,d=ge(t),s=n[o||"label"],u=n[r||"value"];return d.test(s)||d.test(u)},l.prototype.handlePageChange=function(t,n,e){var r=this.props,o=r.source,d=r.data,s=r.formItem,u=r.onChange,i=P(d,h({page:t??1,perPage:n??10},e?{pageDir:e}:{}));!s||!ye(s)||(me(o)?s.loadOptionsFromDataScope(o,i,u):be(o,i)&&s.loadOptions(o,i,void 0,!1,u,!1))},l.prototype.optionItemRender=function(t,n){var e=this.props,r=e.menuTpl,o=e.render,d=e.data;return o("item/".concat(n.index),r,{data:P(P(d,n),t)})},l.prototype.resultItemRender=function(t,n){var e=this.props,r=e.valueTpl,o=e.render,d=e.data;return o("value/".concat(n.index),r,{onChange:n.onChange,data:P(P(d,n),t)})},l.prototype.renderCell=function(t,n,e,r){var o=this.props,d=o.render,s=o.data,u=o.classnames,i=o.showInvalidMatch;return d("cell/".concat(e,"/").concat(r),h({type:"text",className:u({"is-invalid":i?n==null?void 0:n.__unmatched:!1})},t),{value:Ce(t.name,n),data:P(s,n)})},l.prototype.getRef=function(t){for(;t&&t.getWrappedInstance;)t=t.getWrappedInstance();this.tranferRef=t},l.prototype.onSelectAll=function(t){var n=this.props,e=n.dispatchEvent,r=n.data;e("selectAll",P(r,{items:t}))},l.prototype.doAction=function(t,n,e){var r,o,d,s,u,i=this.props,w=i.resetValue,v=i.onChange,b=i.formStore,f=i.store,F=i.name;switch(t.actionType){case"clear":v==null||v("");break;case"reset":v==null||v((d=(o=Oe((r=b==null?void 0:b.pristine)!==null&&r!==void 0?r:f==null?void 0:f.pristine,F))!==null&&o!==void 0?o:w)!==null&&d!==void 0?d:"");break;case"selectAll":(s=this.tranferRef)===null||s===void 0||s.selectAll();break;case"clearSearch":{(u=this.tranferRef)===null||u===void 0||u.clearSearch(n);break}}},l.prototype.render=function(){var t,n,e=this.props,r=e.className;e.style;var o=e.classnames,d=e.selectedOptions,s=e.showArrow,u=e.sortable,i=e.selectMode,w=e.columns,v=e.loading,b=e.searchable,f=e.searchResultMode,F=e.searchResultColumns,x=e.deferLoad,m=e.leftMode,c=e.rightMode,I=e.disabled,E=e.selectTitle,M=e.resultTitle,C=e.menuTpl,g=e.valueTpl,p=e.searchPlaceholder,R=e.resultListModeFollowSelect,N=R===void 0?!1:R,te=e.resultSearchPlaceholder,L=e.resultSearchable,ne=L===void 0?!1:L,ae=e.statistics,re=e.labelField,le=e.valueField,ie=e.virtualThreshold,U=e.itemHeight,H=e.loadingConfig,oe=e.showInvalidMatch,se=e.onlyChildren,de=e.mobileUI,ue=e.noResultsText,_=e.pagination,y=e.formItem,j=e.env,k=e.popOverContainer,pe=e.data,K=e.autoCheckChildren,ce=K===void 0?!0:K,W=e.initiallyOpen,he=W===void 0?!0:W,ve=e.testIdBuilder,B=this.props,A=B.options,$=B.leftOptions,z=B.leftDefaultValue;return i==="associated"&&A&&A.length&&A[0].leftOptions&&Array.isArray(A[0].children)&&($=A[0].leftOptions,z=(t=A[0].leftDefaultValue)!==null&&t!==void 0?t:z,A=A[0].children),V.createElement("div",{className:o("TransferControl",r)},V.createElement(Te,{onlyChildren:se,value:d,options:A,accumulatedOptions:(n=y==null?void 0:y.accumulatedOptions)!==null&&n!==void 0?n:[],disabled:I,onChange:this.handleChange,option2value:this.option2value,sortable:u,showArrow:s,selectMode:i,searchResultMode:f,searchResultColumns:F,columns:w,onSearch:b?this.handleSearch:void 0,onDeferLoad:x,leftOptions:$,leftMode:m,rightMode:c,cellRender:this.renderCell,selectTitle:E,resultTitle:M,resultListModeFollowSelect:N,onResultSearch:this.handleResultSearch,searchPlaceholder:p,resultSearchable:ne,resultSearchPlaceholder:te,statistics:ae,labelField:re,valueField:le,optionItemRender:C?this.optionItemRender:void 0,resultItemRender:g?this.resultItemRender:void 0,onSelectAll:this.onSelectAll,onRef:this.getRef,virtualThreshold:ie,itemHeight:Z(U)>0?Z(U):void 0,loadingConfig:H,showInvalidMatch:oe,mobileUI:de,noResultsText:ue,pagination:h(h({},Fe(_,["className","layout","perPageAvailable","popOverContainerSelector"])),{enable:(_&&_.enable!==void 0?!!(typeof _.enable=="string"?Re(_.enable,pe):_.enable):!!(y!=null&&y.enableSourcePagination))&&(!i||i==="list"||i==="table")&&A.length>0,maxButtons:Number.isInteger(_==null?void 0:_.maxButtons)?_.maxButtons:5,page:y==null?void 0:y.sourcePageNum,perPage:y==null?void 0:y.sourcePerPageNum,total:y==null?void 0:y.sourceTotalNum,popOverContainer:k??(j==null?void 0:j.getModalContainer)}),onPageChange:this.handlePageChange,initiallyOpen:he,autoCheckChildren:ce,testIdBuilder:ve}),V.createElement(Se,{overlay:!0,key:"info",loadingConfig:H,show:v}))},l.defaultProps={multiple:!0},O([S,a("design:type",Function),a("design:paramtypes",[Object,Boolean]),a("design:returntype",Promise)],l.prototype,"handleChange",null),O([S,a("design:type",Function),a("design:paramtypes",[Object]),a("design:returntype",void 0)],l.prototype,"option2value",null),O([S,a("design:type",Function),a("design:paramtypes",[Object]),a("design:returntype",void 0)],l.prototype,"getResult",null),O([S,a("design:type",Function),a("design:paramtypes",[String,Function,Object]),a("design:returntype",Promise)],l.prototype,"handleSearch",null),O([S,a("design:type",Function),a("design:paramtypes",[String,Object]),a("design:returntype",void 0)],l.prototype,"handleResultSearch",null),O([S,a("design:type",Function),a("design:paramtypes",[Number,Number,String]),a("design:returntype",void 0)],l.prototype,"handlePageChange",null),O([S,a("design:type",Function),a("design:paramtypes",[Object,Object]),a("design:returntype",void 0)],l.prototype,"optionItemRender",null),O([S,a("design:type",Function),a("design:paramtypes",[Object,Object]),a("design:returntype",void 0)],l.prototype,"resultItemRender",null),O([S,a("design:type",Function),a("design:paramtypes",[Object,Object,Number,Number]),a("design:returntype",void 0)],l.prototype,"renderCell",null),O([S,a("design:type",Function),a("design:paramtypes",[Object]),a("design:returntype",void 0)],l.prototype,"getRef",null),O([S,a("design:type",Function),a("design:paramtypes",[Array]),a("design:returntype",void 0)],l.prototype,"onSelectAll",null),O([_e(),a("design:type",Function),a("design:paramtypes",[]),a("design:returntype",void 0)],l.prototype,"render",null),l}(V.Component),je=function(T){ee(l,T);function l(){return T!==null&&T.apply(this,arguments)||this}return l}(Ve),Be=Ae({type:"transfer"})(je);export{Ve as BaseTransferRenderer,je as TransferRender,Be as default,Ne as getCustomFilterOption};