amis-playground
Version:
amis-playground 是一个amis在线代码编辑器可实时预览运行效果
2 lines (1 loc) • 4.3 kB
JavaScript
import{a as j,j as C,k as A,R as y,W as x,cN as N,cO as U,f as b,p as E,q as p,aT as R,b8 as T,e as k,w as _,D,ak as H,X as q}from"./index-7c288cb3.js";var M=function(m){j(o,m);function o(t){return m.call(this,t)||this}return o.prototype.componentWillUnmount=function(){this.unHook&&this.unHook()},o.prototype.onSearch=function(t,e,n){return C(this,void 0,void 0,function(){var a,l,i,s,d,c,u,r,f,h;return A(this,function(v){switch(v.label){case 0:if(a=this.props,l=a.searchApi,i=a.setLoading,s=a.env,l=(n==null?void 0:n.searchApi)||l,d=(n==null?void 0:n.searchTerm)||this.props.searchTerm||"term",c=(n==null?void 0:n.searchParam)||this.props.searchParam||{},u=k((h={},h[d]=t,h),c),!_(l,u))return[2,Promise.resolve([])];i(!0),v.label=1;case 1:return v.trys.push([1,,3,4]),[4,s.fetcher(l,u,{cancelExecutor:e,autoAppend:!0})];case 2:return r=v.sent(),f=r.data&&r.data.options||r.data||[],[2,f];case 3:return i(!1),[7];case 4:return[2]}})})},o.prototype.deferLoad=function(t,e,n){return C(this,void 0,void 0,function(){var a,l,i,s,d,c,u;return A(this,function(r){switch(r.label){case 0:if(a=this.props,l=a.env,i=a.deferApi,s=a.setLoading,a.formInited,a.addHook,i=(n==null?void 0:n.deferApi)||i,!l||!l.fetcher)throw new Error("fetcher is required");if(d=D(t,{}),!_(i,d))return[2,Promise.resolve([])];r.label=1;case 1:return r.trys.push([1,,3,4]),[4,l.fetcher(i,d)];case 2:return c=r.sent(),u=c.data&&c.data.options||c.data||[],e&&u.forEach(function(f){f.isRef=!0}),[2,u];case 3:return s(!1),[7];case 4:return[2]}})})},o.prototype.changeValue=function(t){return C(this,void 0,void 0,function(){var e,n,a,l,i,s,d,c,u,r,f,h;return A(this,function(v){switch(v.label){case 0:return e=this.props,n=e.joinValues,a=e.extractValue,l=e.delimiter,i=e.multiple,s=e.valueField,d=e.onChange,c=e.options,e.setOptions,e.data,u=e.dispatchEvent,r=t,f=[],(Array.isArray(t)?t:t?[t]:[]).forEach(function(g){var S=H(c,function(O){return O[s||"value"]==g[s||"value"]});S||f.push(g)}),n?i?r=Array.isArray(t)?t.map(function(g){return g[s||"value"]}).join(l):t?t[s||"value"]:"":r=r?r[s||"value"]:"":a&&(i?r=Array.isArray(t)?t.map(function(g){return g[s||"value"]}):t?[t[s||"value"]]:[]:r=r?r[s||"value"]:""),[4,u("change",q(this.props,{value:r,options:c,items:c}))];case 1:return h=v.sent(),h!=null&&h.prevented?[2]:(d(r),[2])}})})},o.prototype.renderStatic=function(){var t=this.props,e=t.selectedOptions,n=t.labelField,a=n===void 0?"label":n,l=t.classnames;return a==="avatar"?e.map(function(i,s){return y.createElement("img",{key:s,className:l("UserSelect-avatar-img"),src:i[a],alt:""})}):e.map(function(i){return i[a]}).join(",")},o.prototype.render=function(){var t=this,e=this.props,n=e.showNav,a=e.navTitle,l=e.searchable,i=e.options,s=e.className;e.style;var d=e.selectedOptions,c=e.tabOptions,u=e.multi,r=e.multiple,f=e.isDep,h=e.isRef,v=e.placeholder,g=e.searchPlaceholder,S=e.tabMode,O=e.data,w=e.displayFields,P=e.labelField,V=e.loadingConfig,L=e.disabled;return c==null||c.forEach(function(F){F.deferLoad=t.deferLoad,F.onChange=t.changeValue,F.onSearch=t.onSearch}),y.createElement("div",{className:x("UserSelectControl",s)},S?y.createElement(N,{selection:d,tabOptions:c,multiple:r,displayFields:w,onChange:this.changeValue,onSearch:this.onSearch,deferLoad:this.deferLoad,data:O,disabled:L}):y.createElement(U,{loadingConfig:V,showNav:n,navTitle:a,selection:d,options:i,multi:u,multiple:r,searchable:l,placeholder:v,searchPlaceholder:g,deferLoad:this.deferLoad,onChange:this.changeValue,onSearch:this.onSearch,displayFields:w,labelField:P,isDep:f,isRef:h,disabled:L}))},o.defaultProps={showNav:!0},b([E,p("design:type",Function),p("design:paramtypes",[String,Function,Object]),p("design:returntype",Promise)],o.prototype,"onSearch",null),b([E,p("design:type",Function),p("design:paramtypes",[Object,Boolean,Object]),p("design:returntype",Promise)],o.prototype,"deferLoad",null),b([E,p("design:type",Function),p("design:paramtypes",[Object]),p("design:returntype",Promise)],o.prototype,"changeValue",null),b([R(),p("design:type",Function),p("design:paramtypes",[]),p("design:returntype",void 0)],o.prototype,"render",null),o}(y.Component),$=function(m){j(o,m);function o(){return m!==null&&m.apply(this,arguments)||this}return o=b([T({type:"users-select"})],o),o}(M);export{$ as UserSelectControlRenderer,M as default};