1 |
- import{s as B,aF as D,X as z,y as g,E as P,G as w,aG as H,aH as T,aA as G,f as A,t as X,ag as E,aD as F,ad as V,O as L,ae as Q,z as R,aX as $,Q as O,bk as q,cp as J,ah as U}from"./index-DT8qTvyx.js";var K=function(I){B(d,I);function d(t){var e=I.call(this,t)||this;return e.state={stack:[]},e.handleChange=e.handleChange.bind(e),e.loadMore=e.loadMore.bind(e),e}return d.prototype.componentDidMount=function(){var t,e,n=this.props.formInited;n||!this.props.addHook?this.loadMore():(e=(t=this.props).addHook)===null||e===void 0||e.call(t,this.loadMore,"init")},d.prototype.componentDidUpdate=function(t){var e=this.props;t.options!==e.options?this.setState({stack:[]}):e.formInited&&e.value!==t.value&&this.loadMore()},d.prototype.doAction=function(t,e,n){var o,p,c=this.props,h=c.resetValue,r=c.onChange,v=c.formStore,u=c.store,l=c.name,a=t==null?void 0:t.actionType;if(a==="clear")r("");else if(a==="reset"){var i=(p=D((o=v==null?void 0:v.pristine)!==null&&o!==void 0?o:u==null?void 0:u.pristine,l))!==null&&p!==void 0?p:h;r(i??"")}},d.prototype.array2value=function(t,e){e===void 0&&(e=!1);var n=this.props,o=n.delimiter,p=n.joinValues,c=n.extractValue;return e?p?t.join(o||","):t:p?t.join(o||","):c?t.map(function(h){return h.value||h}):t},d.prototype.loadMore=function(){for(var t=this,e=this.props,n=e.value,o=e.delimiter,p=e.onChange,c=e.joinValues,h=e.extractValue,r=e.source,v=e.data,u=e.env,l=e.dispatchEvent,a=Array.isArray(n)?n.concat():n&&typeof n=="string"?n.split(o||","):[],i=0,S=this.state.stack.length;i<S&&a[i]&&this.state.stack[i].parentId==(c||h?a[i]:a[i].value);)i++;if(!(!a[i]||!u||!z(r,v))){var y=c||h?a[i]:a[i].value,C=this.state.stack.concat();C.splice(i,C.length-i),C.push({parentId:y,loading:!0,options:[]}),this.setState({stack:C},function(){u.fetcher(r,g(g({},v),{value:a,level:i+1,parentId:y,parent:a[i]})).then(function(s){return P(t,void 0,void 0,function(){var f,N,m,b,_,k,x,M;return w(this,function(j){switch(j.label){case 0:return f=this.state.stack.concat(),N=s.data?s.data.value:void 0,m=((k=s==null?void 0:s.data)===null||k===void 0?void 0:k.options)||((x=s==null?void 0:s.data)===null||x===void 0?void 0:x.items)||((M=s==null?void 0:s.data)===null||M===void 0?void 0:M.rows)||s.data||[],f.splice(i,f.length-i),typeof N<"u"?(a.splice(i+1,n.length-i-1),a.push(N),b=this.array2value(a,!0),[4,l("change",U(this.props,{value:b}))]):[3,2];case 1:if(_=j.sent(),_!=null&&_.prevented)return[2];p(b),j.label=2;case 2:return f.push({options:m,parentId:y,loading:!1,visible:Array.isArray(m)&&!J(m)}),this.setState({stack:f},this.loadMore),[2]}})})}).catch(function(s){!(r!=null&&r.silent)&&u.notify("error",s.message)})})}},d.prototype.handleChange=function(t,e){return P(this,void 0,void 0,function(){var n,o,p,c,h,r,v,u,l,a;return w(this,function(i){switch(i.label){case 0:return n=this.props,o=n.value,p=n.delimiter,c=n.onChange,h=n.joinValues,n.extractValue,r=n.dispatchEvent,n.data,v=Array.isArray(o)?o.concat():o&&typeof o=="string"?o.split(p||","):[],v.splice(t,v.length-t),u=h?e.value:e,u!==void 0&&v.push(u),l=this.array2value(v),[4,r("change",U(this.props,{value:l}))];case 1:return a=i.sent(),a!=null&&a.prevented?[2]:(c(l),[2])}})})},d.prototype.reload=function(){var t=this.props.reloadOptions;t&&t()},d.prototype.renderStatic=function(t){t===void 0&&(t="-");var e=this.props,n=e.options,o=n===void 0?[]:n,p=e.labelField,c=p===void 0?"label":p,h=e.valueField,r=h===void 0?"value":h,v=e.classPrefix,u=e.classnames,l=e.className,a=e.value,i=e.delimiter,S=H([{options:o,visible:!0}],T(this.state.stack||[]),!1),y=Array.isArray(a)?a.concat():a&&typeof a=="string"?a.split(i||","):[];return(y==null?void 0:y.length)>0&&(t=y.map(function(C,s){var f,N=S[s]||{},m=N.options,b=N.visible;if(b===!1)return null;if(!m||!m.length)return C;var _=G(m,function(k){return C===k[r]})||{};return(f=_[c])!==null&&f!==void 0?f:C}).filter(function(C){return C!=null}).join(" > ")),A.createElement("div",{className:u("".concat(v,"SelectStaticControl"),l)},t)},d.prototype.render=function(){var t=this,e=this.props,n=e.options,o=e.classPrefix,p=e.className,c=e.style;e.inline;var h=e.loading,r=e.value,v=e.delimiter;e.joinValues,e.extractValue,e.multiple;var u=e.mobileUI,l=e.env,a=e.testIdBuilder,i=e.popoverClassName,S=X(e,["options","classPrefix","className","style","inline","loading","value","delimiter","joinValues","extractValue","multiple","mobileUI","env","testIdBuilder","popoverClassName"]),y=Array.isArray(r)?r.concat():r&&typeof r=="string"?r.split(v||","):[],C=this.props,s=C.themeCss,f=C.id,N=this.state.stack.find(function(m){return m.loading});return A.createElement("div",{className:E("".concat(o,"ChainedSelectControl"),p)},A.createElement(F,g({},S,{mobileUI:u,popOverContainer:u?l==null?void 0:l.getModalContainer:S.popOverContainer||(l==null?void 0:l.getModalContainer),className:E(V(g(g({},this.props),{name:"chainedSelectControlClassName",id:f,themeCss:s}))),popoverClassName:E(i,V(g(g({},this.props),{name:"chainedSelectPopoverClassName",id:f,themeCss:s}))),controlStyle:c,classPrefix:o,key:"base",testIdBuilder:a==null?void 0:a.getChild("base"),options:Array.isArray(n)?n:[],value:y[0],onChange:this.handleChange.bind(this,0),loading:h,inline:!0})),this.state.stack.map(function(m,b){var _=m.options,k=m.loading,x=m.visible;return x===!1||k?null:A.createElement(F,g({},S,{mobileUI:u,popOverContainer:u?l.getModalContainer:S.popOverContainer||(l==null?void 0:l.getModalContainer),classPrefix:o,key:"x-".concat(b+1),testIdBuilder:a==null?void 0:a.getChild("x-".concat(b+1)),options:Array.isArray(_)?_:[],value:y[b+1],onChange:t.handleChange.bind(t,b+1),inline:!0,controlStyle:c,className:E(V(g(g({},t.props),{name:"chainedSelectControlClassName",id:f,themeCss:s}))),popoverClassName:E(i,V(g(g({},t.props),{name:"chainedSelectPopoverClassName",id:f,themeCss:s})))}))}),N&&A.createElement(L,{size:"sm",className:E("".concat(o,"ChainedSelectControl-spinner"))}),A.createElement(Q,g({},this.props,{config:{themeCss:s,classNames:[{key:"chainedSelectControlClassName",weights:{focused:{suf:".is-opened:not(.is-mobile)"},disabled:{suf:".is-disabled"}}},{key:"chainedSelectPopoverClassName",weights:{default:{suf:" .".concat(o,"Select-option")},hover:{suf:" .".concat(o,"Select-option.is-highlight")},focused:{inner:".".concat(o,"Select-option.is-active")}}}],id:f},env:l})))},d.defaultProps={clearable:!1,searchable:!1,multiple:!0},R([$(),O("design:type",Function),O("design:paramtypes",[]),O("design:returntype",void 0)],d.prototype,"render",null),d}(A.Component),Y=function(I){B(d,I);function d(){return I!==null&&I.apply(this,arguments)||this}return d=R([q({type:"chained-select",sizeMutable:!1})],d),d}(K);export{Y as ChainedSelectControlRenderer,K as default};
|