1
0
Fork 0
owl-admin-starter/public/admin-assets/assets/ChainedSelect-CwaV1yf2.js

2 lines
6.6 KiB
JavaScript

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