????

Your IP : 216.73.216.152


Current Path : C:/inetpub/vhost/bcvt.kontum.gov.vn/admin/assets/
Upload File :
Current File : C:/inetpub/vhost/bcvt.kontum.gov.vn/admin/assets/DataSelect-a80346d8.js

var b=Object.defineProperty;var y=(o,i,e)=>i in o?b(o,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[i]=e;var r=(o,i,e)=>(y(o,typeof i!="symbol"?i+"":i,e),e);import{P as R,r as S,j as n}from"./vendor-4ed091cd.js";import{S as $,B as C}from"./ButtonLoad-3b9b6e24.js";import{C as x}from"./DialogCustomize-d5360f8b.js";import{g as v,a as I,f}from"./DataTable-65c5cdc1.js";import{q as k,k as g,S as w}from"./index-8ef13bef.js";import"./Button-7f5efc58.js";import"./ButtonSave-208099f2.js";import"./ButtonEdit-6bcc9939.js";const D=(o,i,e,t)=>{let a=`${o}`;if(e){let s=[...e];s.push(i.field),s.push(i.label),a+=`${v(s,t,!1)}`}else a+=`${v([i.field,i.label],t,!1)}`;return a},M=(o,i,e,t,a,s)=>D(`${o}?${I(a,s)}&`,i,e,t),j=()=>n.jsx(w,{});class O extends S.Component{constructor(e){super(e);r(this,"_isFirstCalled",!0);r(this,"generateDataRef",(e,t=!0)=>{const{url:a,column:s,dataRef:l}=this.props;return t?M(a,s,l,e,this.state.page,this.props.pageSize):D(`${a}?`,s,l,e)});r(this,"checkCondition",()=>{const{column:e,where:t,whereOne:a}=this.props;if(t&&this.state.valueSelect)return;let s=[];return a&&a.map((l,h)=>{s.push(`${l.field} ${l.expression} ${l.value}`)}),t&&s.push(t),this.state.querySearch&&s.push(f(e.label,"string",this.state.querySearch,!0)),s.join(" and ")});r(this,"handleMenuOpen",()=>{this._isFirstCalled?this.setState({loading:!0}):this.setState({nameRef:this.state.objSelect?[this.state.objSelect]:[],loading:!0});const e=this.props.column.field;g(this.generateDataRef(this.checkCondition())).then(t=>{if(t.value){let a=[...this.state.nameRef];t.value.forEach(s=>{this.state.nameRef.some(l=>l[e]===s[e])||a.push(s)}),this.setState({nameRef:a,totalRow:Number(t["odata.count"]),loading:!1})}this._isFirstCalled=!1}).catch(t=>this.setState({loading:!1}))});r(this,"handleInputChange",(e,{action:t})=>{if(t==="input-change"){const{column:a,where:s,whereOne:l}=this.props;this.setState({totalRow:-1,page:0,nameRef:[],loading:!0});let h="";s&&(h=f(a.label,"string",e,!0)+(s?" and "+s:"")),l&&(h=f(a.label,"string",e,!0)+(l?` and ${l[0].field} ${l[0].expression} ${l[0].value}`:"")),g(this.generateDataRef(h)).then(u=>this.setState({nameRef:u.value,totalRow:Number(u["odata.count"]),loading:!1,querySearch:e})).catch(u=>this.setState({loading:!1}))}});r(this,"handleScrolledToBottom",async()=>{if(this.state.valueSelect){if(this.state.nameRef.length-1>=this.state.totalRow)return}else if(this.state.nameRef.length>=this.state.totalRow)return;this.setState({page:this.state.page+1,loading:!0}),g(this.generateDataRef(this.checkCondition())).then(e=>{let t=[...this.state.nameRef];e.value.forEach(a=>t.push(a)),this.setState({nameRef:t,loading:!1})}).catch(e=>this.setState({loading:!1}))});r(this,"handleMenuClose",()=>{this.setState({totalRow:-1,page:0,querySearch:null})});r(this,"onOpenDialog",()=>this.setState({loading:!0,dialogIsOpen:!0}));r(this,"onCloseDialog",()=>this.setState({loading:!1,dialogIsOpen:!1}));this.state={route:k(this.props.url),totalRow:-1,page:0,querySearch:null,dialogIsOpen:!1,objSelect:null,valueSelect:null,nameRef:[],loading:!1}}componentDidMount(){const{column:e,value:t,initValue:a}=this.props;if(a)this.setState({nameRef:[a],valueSelect:a[e.field]});else if(t){this.setState({loading:!0});let s=this.generateDataRef(f(e.field,e.type,t),!1);g(s).then(l=>{if(l.value){const h=l.value[0];this.setState({nameRef:[h],valueSelect:h[e.field]})}}).catch(l=>this.setState({loading:!1})).finally(()=>this.setState({loading:!1}))}}render(){const{disabled:e,dialogOdata:t,placeholder:a,name:s,onChange:l,column:h,renderRow:u,moudle:p}=this.props,{route:c}=this.state;return n.jsxs(n.Fragment,{children:[n.jsxs("div",{style:{display:"flex"},children:[n.jsx($,{disabled:e,value:this.state.valueSelect,name:s,valueRef:h.field,labelRef:h.label,placeholder:a,options:this.state.nameRef,onChange:(d,m)=>this.setState({objSelect:d,valueSelect:d?d.value:null},l(d,m)),renderOption:(d,m)=>u(d,m),onMenuScrollToBottom:this.handleScrolledToBottom,isLoading:this.state.loading,onInputChange:this.handleInputChange,onMenuOpen:this.handleMenuOpen,onMenuClose:this.handleMenuClose}),t&&c&&n.jsx(C,{disabled:e,color:"success",icon:"plus",onClick:this.onOpenDialog}),t&&p&&n.jsx(C,{disabled:e,color:"success",icon:"plus",onClick:this.onOpenDialog})]}),t&&c&&this.state.dialogIsOpen&&n.jsx(x,{open:this.state.dialogIsOpen,handleClose:this.onCloseDialog,title:c.name,maxWidth:"lg",children:n.jsx(S.Suspense,{fallback:j(),children:n.jsx(c.component,{odata:c.odata})})}),t&&p&&this.state.dialogIsOpen&&n.jsx(x,{open:this.state.dialogIsOpen,handleClose:this.onCloseDialog,title:p.name,maxWidth:"lg",children:n.jsx(S.Suspense,{fallback:j(),children:p.component})})]})}}O.propTypes={url:R.string.isRequired,column:R.object.isRequired};O.defaultProps={pageSize:30,placeholder:"Chọn...",dialogOdata:!0};export{O as D,D as c};