import{s as ue,bf as ve,y as h,cI as pe,t as be,cJ as ye,aq as Ie,cK as ge,E as F,G as T,v as xe,w as we,b_ as z,b$ as k,ao as Ce,aD as se,cL as ee,f as P,k as G,L as Q,ax as Ee,z as ce,P as Pe,Q as te,a1 as Ae,aG as fe,ck as ne,X as J,a3 as $,aV as Re,bn as oe,aW as Fe,cM as Te,ah as Be,aH as V,aI as D,cN as le,cr as de,bX as Se,aB as he,K as ke}from"./index-BPRWoLf4.js";var M="__isPlaceholder",Oe=function(W){ue(w,W);function w(e){var t=W.call(this,e)||this;t.entityId=1,t.subForms={},t.subFormItems={},t.rowPrinstine=[],t.editting={},t.toDispose=[],t.lazyEmitValue=ve(t.emitValue.bind(t),50,{trailing:!0,leading:!1}),t.emittedValue=null;var i=e.addHook,n=Array.isArray(e.value)?e.value.concat():[];return t.state=h({columns:t.buildColumns(e),editIndex:"",items:n},t.transformState(n)),t.entries=new pe,t.buildItemProps=t.buildItemProps.bind(t),t.confirmEdit=t.confirmEdit.bind(t),t.cancelEdit=t.cancelEdit.bind(t),t.handleSaveTableOrder=t.handleSaveTableOrder.bind(t),t.handleTableSave=t.handleTableSave.bind(t),t.handleRadioChange=t.handleRadioChange.bind(t),t.getEntryId=t.getEntryId.bind(t),t.subFormRef=t.subFormRef.bind(t),t.subFormItemRef=t.subFormItemRef.bind(t),t.handlePageChange=t.handlePageChange.bind(t),t.handleTableQuery=t.handleTableQuery.bind(t),t.emitValue=t.emitValue.bind(t),t.tableRef=t.tableRef.bind(t),t.flush=t.flush.bind(t),i&&t.toDispose.push(i(t.flush,"flush")),t}return w.prototype.componentDidUpdate=function(e,t){var i=this.props,n=null;if(e.disabled!==i.disabled||e.static!==i.static||i.$schema.disabled!==e.$schema.disabled||i.$schema.static!==e.$schema.static){var a=this.state.items.filter(function(r){return!r.hasOwnProperty(M)});n=h(h(h(h({},n),{items:a}),this.transformState(a)),{editIndex:"",columns:this.buildColumns(i)})}if(i.columns!==e.columns&&(n=h(h({},n),{columns:this.buildColumns(i)})),i.value!==e.value&&i.value!==this.emittedValue){var a=Array.isArray(i.value)?i.value.concat():[];n=h(h(h(h({},n),{items:a}),this.transformState(a)),{editIndex:""})}n&&this.setState(n)},w.prototype.componentWillUnmount=function(){this.entries.dispose(),this.lazyEmitValue.cancel(),this.toDispose.forEach(function(e){return e()}),this.toDispose=[]},w.prototype.transformState=function(e,t,i){var n=this.props,a=n.perPage,r=n.matchFunc,u=h(h({},this.state),t),p=u.query,s=u.page,m=p??{},b=m.orderBy,d=m.orderDir,I=be(m,["orderBy","orderDir"]),g=Object.keys(I);g.length&&(e=ye(e,{query:I,columns:this.state.columns,matchFunc:typeof r=="string"&&r?Ie(r,"items","itemsRaw","options"):typeof r=="function"?r:void 0})),b&&(e=ge(e.concat(),b,typeof d=="string"&&/desc/i.test(d)?-1:1));var v=e.length;if(s=Math.min(s??1,typeof a=="number"?Math.max(1,Math.ceil(v/a)):1),i){var c=e.indexOf(i);~c&&(s=Math.ceil((c+1)/a))}return typeof a=="number"&&a&&e.length>a&&(e=e.slice((s-1)*a,s*a)),{filteredItems:e,page:s,total:v}},w.prototype.flush=function(){return F(this,void 0,void 0,function(){var e,t,i=this;return T(this,function(n){switch(n.label){case 0:return e=[],Object.keys(this.subForms).forEach(function(a){return i.subForms[a]&&e.push(i.subForms[a])}),[4,Promise.all(e.map(function(a){return a.flush()}))];case 1:return n.sent(),t=[],Object.keys(this.subFormItems).forEach(function(a){return i.subFormItems[a]&&t.push(i.subFormItems[a])}),[4,Promise.all(t.map(function(a){var r,u;return(u=(r=a.props).onFlushChange)===null||u===void 0?void 0:u.call(r)}))];case 2:return n.sent(),[4,this.lazyEmitValue.flush()];case 3:return n.sent(),[2]}})})},w.prototype.resolveVariableProps=function(e,t){var i={minLength:0,maxLength:1/0},n=e[t];if(!n)return i[t];if(typeof n=="string")if(xe(n)){var a=we(n,e.data,"| raw");n=typeof a=="number"&&a>=0?a:i[t]}else{var r=parseInt(n,10);n=isNaN(r)?i[t]:r}return n},w.prototype.subFormRef=function(e,t,i){this.subForms["".concat(t,"-").concat(i)]=e},w.prototype.subFormItemRef=function(e,t,i){this.subFormItems["".concat(t,"-").concat(i)]=e},w.prototype.validate=function(){return F(this,void 0,void 0,function(){var e,t,i,n,a,r,u,p,s,m,b,d,I,g=this;return T(this,function(v){switch(v.label){case 0:return e=this.props,t=e.value,i=e.translate,n=e.columns,a=this.resolveVariableProps(this.props,"minLength"),r=this.resolveVariableProps(this.props,"maxLength"),this.state.editIndex?[2,i("Table.editing")]:a&&(!Array.isArray(t)||t.lengthr?[2,i("Combo.maxLength",{maxLength:r})]:[3,2];case 2:return u=[],Object.keys(this.subForms).forEach(function(c){return g.subForms[c]&&u.push(g.subForms[c])}),u.length?[4,Promise.all(u.map(function(c){return c.validate()}))]:[3,4];case 3:if(p=v.sent(),s=~p.indexOf(!1)?i("Form.validateFailed"):"",m="",!s&&Array.isArray(n)&&Array.isArray(t)&&n.some(function(c){if(c.unique&&c.name){var y=[];return t.some(function(x){var o=fe(x,c.name);return~y.indexOf(o)?(m="".concat(c.label||c.name),!0):(y.push(o),!1)})}return!1})&&(s=i("InputTable.uniqueError",{label:m})),s)return[2,s];v.label=4;case 4:return b=[],Object.keys(this.subFormItems).forEach(function(c){return g.subFormItems[c]&&b.push(g.subFormItems[c])}),[4,Promise.all(b.map(function(c){return c.props.onValidate()}))];case 5:return d=v.sent(),I=~d.indexOf(!1)?i("Form.validateFailed"):"",[2,I]}})})},w.prototype.emitValue=function(e){return F(this,void 0,void 0,function(){var t,i,n;return T(this,function(a){switch(a.label){case 0:return t=e??this.state.items.filter(function(r){return!r.hasOwnProperty(M)}),i=this.props.onChange,[4,this.dispatchEvent("change")];case 1:return n=a.sent(),n||(this.emittedValue=t,i==null||i(t)),[2,n]}})})},w.prototype.doAction=function(e,t){for(var i,n,a=[],r=2;rthis.state.items.length:!0,i.inputTableCanRemoveItem=n?nthis.state.items.length);return P.createElement("div",{className:o("InputTable",i)},a("body",{type:"table",placeholder:d(r),columns:this.state.columns,affixHeader:L,prefixRow:c,affixRow:v,autoFillHeight:R,tableContentClassName:C,onEvent:Z},{ref:this.tableRef,value:void 0,saveImmediately:!0,disabled:n,draggable:u&&!this.state.editIndex,items:K,getEntryId:this.getEntryId,reUseRow:"match",onSave:this.handleTableSave,onRadioChange:this.handleRadioChange,onSaveOrder:this.handleSaveTableOrder,buildItemProps:this.buildItemProps,quickEditFormRef:this.subFormRef,quickEditFormItemRef:this.subFormItemRef,columnsTogglable:s,combineNum:m,combineFromIndex:b,expandConfig:g,canAccessSuperData:I,rowClassName:f,rowClassNameExpr:l,onPristineChange:this.handlePristineChange,testIdBuilder:N==null?void 0:N.getChild("table"),onQuery:this.handleTableQuery,query:j,orderBy:j==null?void 0:j.orderBy,orderDir:j==null?void 0:j.orderDir}),S||Y?P.createElement("div",{className:o("InputTable-toolbar",X)},S?a("button",h({type:"button",level:"primary",size:"sm",label:d("Table.add"),icon:"fa fa-plus",disabledTip:d("Table.addButtonDisabledTip")},q||{}),{disabled:this.computedAddBtnDisabled(),onClick:function(){return e.addItem()},testIdBuilder:N==null?void 0:N.getChild("add")}):null,Y?a("pager",{type:"pagination"},{activePage:U,perPage:x,total:this.state.total,onPageChange:this.handlePageChange,className:"InputTable-pager",testIdBuilder:N==null?void 0:N.getChild("page"),disabled:!!this.state.editIndex}):null):null)},w.defaultProps={placeholder:"placeholder.empty",scaffold:{},addBtnIcon:"plus",subAddBtnIcon:"sub-plus",copyBtnIcon:"copy",editBtnIcon:"pencil",deleteBtnIcon:"minus",confirmBtnIcon:"check",cancelBtnIcon:"close",valueField:"",minLength:0,maxLength:1/0,showFooterAddBtn:!0,showTableAddBtn:!0},w.propsList=["onChange","name","columns","label","scaffold","showTableAddBtn","addable","removable","copyable","editable","addApi","updateApi","deleteApi","needConfirm","canAccessSuperData","formStore","footerActions","toolbarClassName"],ce([Pe,te("design:type",Function),te("design:paramtypes",[Object,String]),te("design:returntype",void 0)],w.prototype,"handlePristineChange",null),w}(P.Component),Ne=function(W){ue(w,W);function w(){return W!==null&&W.apply(this,arguments)||this}return w.prototype.setData=function(e,t,i,n){return F(this,void 0,void 0,function(){var a,r,u,p,s,m=this;return T(this,function(b){switch(b.label){case 0:return this.state.items.length,i===void 0?[3,1]:(a=V([],D(this.state.items),!1),r=String(i).split(","),r.forEach(function(d){var I=d.split(".").map(function(g){return parseInt(g,10)});a=k(a,I,1,e)}),this.setState(h({items:a},this.transformState(a)),function(){m.emitValue()}),[3,4]);case 1:return n===void 0?[3,3]:(u=V([],D(this.state.items),!1),p=[],le(u,function(d,I,g,v,c){return p.unshift(function(){return F(m,void 0,void 0,function(){var y;return T(this,function(x){switch(x.label){case 0:return[4,de(n,d)];case 1:return y=x.sent(),y&&(u=k(u,V(V([],D(c),!1),[I],!1),1,e)),[2]}})})}),!0}),[4,Promise.all(p.map(function(d){return d()}))]);case 2:return b.sent(),this.setState(h({items:u},this.transformState(u)),function(){m.emitValue()}),[3,4];case 3:s=V([],D(e),!1),this.setState(h({items:s},this.transformState(s)),function(){m.emitValue()}),b.label=4;case 4:return[2]}})})},w.prototype.doAction=function(e,t,i,n){var a,r,u,p,s,m,b;return i===void 0&&(i=!1),F(this,void 0,void 0,function(){var d,I,g,v,c,y,x,o,f,l,E,L,O,R,C,A,_,B,q,X,Z,N,_,j,K,Y=this;return T(this,function(U){switch(U.label){case 0:return d=this.props,I=d.valueField,g=d.env,v=d.needConfirm,d.addable,c=d.addApi,y=d.deleteApi,x=d.resetValue,o=d.translate,f=d.onChange,l=d.formStore,E=d.store,L=d.name,O=e.actionType,R=((a=this.props.store)===null||a===void 0?void 0:a.data)||{},O!=="addItem"?[3,6]:(C=this.state.items.concat(),c||n?(A=null,J(c,R)?[4,g.fetcher(c,R)]:[3,2]):[3,4]);case 1:return _=U.sent(),_&&!_.ok?(!(c!=null&&c.silent)&&g.notify("error",(u=(r=c==null?void 0:c.messages)===null||r===void 0?void 0:r.failed)!==null&&u!==void 0?u:_.msg||o("fetchFailed")),[2]):(_&&_.ok&&(A=_.data),[3,3]);case 2:A=n.item,U.label=3;case 3:return A=(Array.isArray(A)?A:[A]).filter(function(S){return!I||!he(C,function(H){return H[I]==S[I]})}),B=[],typeof n.index=="string"&&/^\d+(\.\d+)*$/.test(n.index)?B=n.index.split(".").map(function(S){return parseInt(S,10)}):typeof n.index=="number"&&(B=[n.index]),B.length?C=k.apply(void 0,V([C,B,0],D(A),!1)):C.push.apply(C,V([],D(A),!1)),this.setState(h({items:C},this.transformState(C)),function(){if(A.length===1&&v!==!1){var S=B.concat();S[S.length-1]+=1,Y.startEdit(S.join("."),!0)}else f==null||f(C)}),[2];case 4:return[2,this.addItem("".concat(C.length-1),!1)];case 5:return[3,13];case 6:return O!=="deleteItem"?[3,12]:(q=V([],D(this.state.items),!1),X=[],(n==null?void 0:n.index)===void 0?[3,7]:(Z=String(n.index).split(","),Z.forEach(function(S){var H=S.split(".").map(function(ie){return parseInt(ie,10)});X.push(z(q,H)),q=k(q,H,1)}),[3,9]));case 7:return(n==null?void 0:n.condition)===void 0?[3,9]:(N=[],le(q,function(S,H,ie,_e,me){return N.unshift(function(){return F(Y,void 0,void 0,function(){var ae;return T(this,function(re){switch(re.label){case 0:return[4,de(n==null?void 0:n.condition,S)];case 1:return ae=re.sent(),ae&&(X.push(S),q=k(q,V(V([],D(me),!1),[H],!1),1)),[2]}})})}),!0}),[4,N.reduce(function(S,H){return S.then(H)},Promise.resolve())]);case 8:U.sent(),U.label=9;case 9:return J(y,$(R,{deletedItems:X}))?[4,g.fetcher(y,$(R,{deletedItems:X}))]:[3,11];case 10:if(_=U.sent(),_&&!_.ok)return!(y!=null&&y.silent)&&g.notify("error",(s=(p=y==null?void 0:y.messages)===null||p===void 0?void 0:p.failed)!==null&&s!==void 0?s:_.msg||o("fetchFailed")),[2];U.label=11;case 11:return this.setState(h({items:q},this.transformState(q)),function(){f==null||f(q)}),[2];case 12:if(O==="clear")return this.setState({items:[]},function(){f==null||f([])}),[2];if(O==="reset")return j=(b=fe((m=l==null?void 0:l.pristine)!==null&&m!==void 0?m:E==null?void 0:E.pristine,L))!==null&&b!==void 0?b:x,K=Array.isArray(j)?j:[],this.setState(h({items:K},this.transformState(K)),function(){f==null||f(K)}),[2];U.label=13;case 13:return[2,W.prototype.doAction.call(this,e,t,i,R)]}})})},w=ce([Ae({type:"input-table"})],w),w}(Oe);export{Ne as TableControlRenderer,Oe as default};