import{s as ue,bd as ve,cF as pe,y,E as R,G as T,v as be,w as Ie,bX as $,bY as V,ao as ye,aC as se,cG as ee,f as F,k as Y,L as Q,aw as ge,z as ce,P as xe,Q as te,a1 as we,aF as fe,cg as ne,X as J,a3 as W,aT as Ce,bl as oe,aU as Ee,cH as Pe,ah as Ae,aG as L,aH as U,cI as le,cn as de,bU as Fe,aA as he,K as Be}from"./index-DT8qTvyx.js";var q="__isPlaceholder",ke=function(X){ue(g,X);function g(t){var e=X.call(this,t)||this;e.entityId=1,e.subForms={},e.subFormItems={},e.rowPrinstine=[],e.editting={},e.toDispose=[],e.lazyEmitValue=ve(e.emitValue.bind(e),50,{trailing:!0,leading:!1}),e.emittedValue=null;var i=t.addHook;return e.state={columns:e.buildColumns(t),editIndex:"",items:Array.isArray(t.value)?t.value.concat():[]},e.entries=new pe,e.buildItemProps=e.buildItemProps.bind(e),e.confirmEdit=e.confirmEdit.bind(e),e.cancelEdit=e.cancelEdit.bind(e),e.handleSaveTableOrder=e.handleSaveTableOrder.bind(e),e.handleTableSave=e.handleTableSave.bind(e),e.handleRadioChange=e.handleRadioChange.bind(e),e.getEntryId=e.getEntryId.bind(e),e.subFormRef=e.subFormRef.bind(e),e.subFormItemRef=e.subFormItemRef.bind(e),e.handlePageChange=e.handlePageChange.bind(e),e.emitValue=e.emitValue.bind(e),e.tableRef=e.tableRef.bind(e),e.flush=e.flush.bind(e),i&&e.toDispose.push(i(e.flush,"flush")),e}return g.prototype.componentDidUpdate=function(t,e){var i=this.props,n=null;if(t.disabled!==i.disabled||t.static!==i.static||i.$schema.disabled!==t.$schema.disabled||i.$schema.static!==t.$schema.static){var r=this.state.items.filter(function(s){return!s.hasOwnProperty(q)});n=y(y({},n),{items:r,editIndex:"",columns:this.buildColumns(i)})}i.columns!==t.columns&&(n=y(y({},n),{columns:this.buildColumns(i)})),i.value!==t.value&&i.value!==this.emittedValue&&(n=y(y({},n),{items:Array.isArray(i.value)?i.value.concat():[],editIndex:""})),n&&this.setState(n)},g.prototype.componentWillUnmount=function(){this.entries.dispose(),this.lazyEmitValue.cancel(),this.toDispose.forEach(function(t){return t()}),this.toDispose=[]},g.prototype.flush=function(){return R(this,void 0,void 0,function(){var t,e,i=this;return T(this,function(n){switch(n.label){case 0:return t=[],Object.keys(this.subForms).forEach(function(r){return i.subForms[r]&&t.push(i.subForms[r])}),[4,Promise.all(t.map(function(r){return r.flush()}))];case 1:return n.sent(),e=[],Object.keys(this.subFormItems).forEach(function(r){return i.subFormItems[r]&&e.push(i.subFormItems[r])}),[4,Promise.all(e.map(function(r){var s,c;return(c=(s=r.props).onFlushChange)===null||c===void 0?void 0:c.call(s)}))];case 2:return n.sent(),[4,this.lazyEmitValue.flush()];case 3:return n.sent(),[2]}})})},g.prototype.resolveVariableProps=function(t,e){var i={minLength:0,maxLength:1/0},n=t[e];if(!n)return i[e];if(typeof n=="string")if(be(n)){var r=Ie(n,t.data,"| raw");n=typeof r=="number"&&r>=0?r:i[e]}else{var s=parseInt(n,10);n=isNaN(s)?i[e]:s}return n},g.prototype.subFormRef=function(t,e,i){this.subForms["".concat(e,"-").concat(i)]=t},g.prototype.subFormItemRef=function(t,e,i){this.subFormItems["".concat(e,"-").concat(i)]=t},g.prototype.validate=function(){return R(this,void 0,void 0,function(){var t,e,i,n,r,s,c,m,o,h,v,d,p,w=this;return T(this,function(b){switch(b.label){case 0:return t=this.props,e=t.value,i=t.translate,n=t.columns,r=this.resolveVariableProps(this.props,"minLength"),s=this.resolveVariableProps(this.props,"maxLength"),this.state.editIndex?[2,i("Table.editing")]:r&&(!Array.isArray(e)||e.lengths?[2,i("Combo.maxLength",{maxLength:s})]:[3,2];case 2:return c=[],Object.keys(this.subForms).forEach(function(u){return w.subForms[u]&&c.push(w.subForms[u])}),c.length?[4,Promise.all(c.map(function(u){return u.validate()}))]:[3,4];case 3:if(m=b.sent(),o=~m.indexOf(!1)?i("Form.validateFailed"):"",h="",!o&&Array.isArray(n)&&Array.isArray(e)&&n.some(function(u){if(u.unique&&u.name){var l=[];return e.some(function(I){var a=fe(I,u.name);return~l.indexOf(a)?(h="".concat(u.label||u.name),!0):(l.push(a),!1)})}return!1})&&(o=i("InputTable.uniqueError",{label:h})),o)return[2,o];b.label=4;case 4:return v=[],Object.keys(this.subFormItems).forEach(function(u){return w.subFormItems[u]&&v.push(w.subFormItems[u])}),[4,Promise.all(v.map(function(u){return u.props.onValidate()}))];case 5:return d=b.sent(),p=~d.indexOf(!1)?i("Form.validateFailed"):"",[2,p]}})})},g.prototype.emitValue=function(t){return R(this,void 0,void 0,function(){var e,i,n;return T(this,function(r){switch(r.label){case 0:return e=t??this.state.items.filter(function(s){return!s.hasOwnProperty(q)}),i=this.props.onChange,[4,this.dispatchEvent("change")];case 1:return n=r.sent(),n||(this.emittedValue=e,i==null||i(e)),[2,n]}})})},g.prototype.doAction=function(t,e){for(var i,n,r=[],s=2;sthis.state.items.length:!0,i.inputTableCanRemoveItem=n?n1&&typeof o=="number"&&(C[0]+=(l-1)*o);var P=y({},$(t,C));I=V(I,C,1,P)});else{var d=i.split(".").map(function(C){return parseInt(C,10)});l&&l>1&&typeof o=="number"&&(d[0]+=(l-1)*o);var a=y({},t),u=I;I=V(I,d,1,a),n.reUseRowId(I,u,d)}return Object.assign(m,{items:I}),r=n.lazyEmitValue,m},function(){r&&r()})},g.prototype.handleRadioChange=function(t,e){var i=this,n=e.name,r=e.row,s=e.trueValue,c=s===void 0?!0:s,m=e.falseValue,o=m===void 0?!1:m,h;return this.setState(function(v,d){var p=r.path,w=ge(v.items,function(b,u,l,I,a){var f;return y(y({},b),(f={},f[n]=p===a.join(".")?c:o,f))});return h=v.editIndex==r.path?void 0:i.lazyEmitValue,{items:w}},function(){h==null||h()}),!1},g.prototype.handleSaveTableOrder=function(t,e){var i=this.props.onChange;i(e.map(function(n){return y({},n)}))},g.prototype.handlePageChange=function(t){this.setState({page:t})},g.prototype.handlePristineChange=function(t,e){var i=this,n=this.props,r=n.needConfirm,s=n.perPage,c=e.split(".").map(function(m){return parseInt(m,10)});this.setState(function(m){var o=m.items.concat(),h=m.page;h&&h>1&&typeof s=="number"&&(c[0]+=(h-1)*s);var v=$(o,c),d=y(y({},v),t),p=o;return o=V(o,c,1,d),i.reUseRowId(o,p,c),{items:o}},function(){r===!1&&i.emitValue()})},g.prototype.removeEntry=function(t){this.entries.has(t)&&this.entries.delete(t)},g.prototype.getEntryId=function(t){return this.entries.has(t)||this.entries.set(t,this.entityId++),String(this.entries.get(t))},g.prototype.tableRef=function(t){for(;t&&t.getWrappedInstance;)t=t.getWrappedInstance();this.table=t},g.prototype.computedAddBtnDisabled=function(){var t=this.props.disabled;return t||!!this.state.editIndex},g.prototype.render=function(){var t=this,e=this.props,i=e.className;e.style,e.value;var n=e.disabled,r=e.render,s=e.placeholder,c=e.draggable,m=e.addable,o=e.columnsTogglable,h=e.combineNum,v=e.combineFromIndex,d=e.translate,p=e.canAccessSuperData,w=e.expandConfig,b=e.affixRow,u=e.prefixRow,l=e.formInited,I=e.perPage,a=e.classnames,f=e.rowClassName,x=e.rowClassNameExpr,C=e.affixHeader,P=C===void 0?!1:C,A=e.autoFillHeight,k=A===void 0?!1:A,E=e.tableContentClassName,B=e.static,S=e.showFooterAddBtn,j=e.footerAddBtn,G=e.toolbarClassName,Z=e.onEvent,_=e.testIdBuilder,N=this.resolveVariableProps(this.props,"maxLength");if(l===!1)return null;var z=this.state.items,K=!1,H=this.state.page||1,M=0,O=1;typeof I=="number"&&I&&z.length>I&&(O=Math.ceil(z.length/I),H>O&&(H=O),z=z.slice((H-1)*I,H*I),K=!0,M=(H-1)*I);var D=!B&&m&&S!==!1&&(!N||N>this.state.items.length);return F.createElement("div",{className:a("InputTable",i)},r("body",{type:"table",placeholder:d(s),columns:this.state.columns,affixHeader:P,prefixRow:u,affixRow:b,autoFillHeight:k,tableContentClassName:E,onEvent:Z},{ref:this.tableRef,value:void 0,saveImmediately:!0,disabled:n,draggable:c&&!this.state.editIndex,items:z,getEntryId:this.getEntryId,reUseRow:"match",onSave:this.handleTableSave,onRadioChange:this.handleRadioChange,onSaveOrder:this.handleSaveTableOrder,buildItemProps:this.buildItemProps,quickEditFormRef:this.subFormRef,quickEditFormItemRef:this.subFormItemRef,columnsTogglable:o,combineNum:h,combineFromIndex:v,expandConfig:w,canAccessSuperData:p,offset:M,rowClassName:f,rowClassNameExpr:x,onPristineChange:this.handlePristineChange,testIdBuilder:_==null?void 0:_.getChild("table")}),D||K?F.createElement("div",{className:a("InputTable-toolbar",G)},D?r("button",y({type:"button",level:"primary",size:"sm",label:d("Table.add"),icon:"fa fa-plus",disabledTip:d("Table.addButtonDisabledTip")},j||{}),{disabled:this.computedAddBtnDisabled(),onClick:function(){return t.addItem()},testIdBuilder:_==null?void 0:_.getChild("add")}):null,K?r("pager",{type:"pagination"},{activePage:H,perPage:I,total:this.state.items.length,onPageChange:this.handlePageChange,className:"InputTable-pager",testIdBuilder:_==null?void 0:_.getChild("page")}):null):null)},g.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},g.propsList=["onChange","name","columns","label","scaffold","showTableAddBtn","addable","removable","copyable","editable","addApi","updateApi","deleteApi","needConfirm","canAccessSuperData","formStore","footerActions","toolbarClassName"],ce([xe,te("design:type",Function),te("design:paramtypes",[Object,String]),te("design:returntype",void 0)],g.prototype,"handlePristineChange",null),g}(F.Component),Oe=function(X){ue(g,X);function g(){return X!==null&&X.apply(this,arguments)||this}return g.prototype.setData=function(t,e,i,n){return R(this,void 0,void 0,function(){var r,s,c,m,o=this;return T(this,function(h){switch(h.label){case 0:return this.state.items.length,i===void 0?[3,1]:(r=L([],U(this.state.items),!1),s=String(i).split(","),s.forEach(function(v){var d=v.split(".").map(function(p){return parseInt(p,10)});r=V(r,d,1,t)}),this.setState({items:r},function(){o.emitValue()}),[3,4]);case 1:return n===void 0?[3,3]:(c=L([],U(this.state.items),!1),m=[],le(c,function(v,d,p,w,b){return m.unshift(function(){return R(o,void 0,void 0,function(){var u;return T(this,function(l){switch(l.label){case 0:return[4,de(n,v)];case 1:return u=l.sent(),u&&(c=V(c,L(L([],U(b),!1),[d],!1),1,t)),[2]}})})}),!0}),[4,Promise.all(m.map(function(v){return v()}))]);case 2:return h.sent(),this.setState({items:c},function(){o.emitValue()}),[3,4];case 3:this.setState({items:L([],U(t),!1)},function(){o.emitValue()}),h.label=4;case 4:return[2]}})})},g.prototype.doAction=function(t,e,i,n){var r,s,c,m,o,h,v;return i===void 0&&(i=!1),R(this,void 0,void 0,function(){var d,p,w,b,u,l,I,a,f,x,C,P,A,k,E,B,N,S,j,G,Z,_,N,z,K,H=this;return T(this,function(M){switch(M.label){case 0:return d=this.props,p=d.valueField,w=d.env,b=d.needConfirm,d.addable,u=d.addApi,l=d.deleteApi,I=d.resetValue,a=d.translate,f=d.onChange,x=d.formStore,C=d.store,P=d.name,A=t.actionType,k=((r=this.props.store)===null||r===void 0?void 0:r.data)||{},A!=="addItem"?[3,6]:(E=this.state.items.concat(),u||n?(B=null,J(u,k)?[4,w.fetcher(u,k)]:[3,2]):[3,4]);case 1:return N=M.sent(),N&&!N.ok?(!(u!=null&&u.silent)&&w.notify("error",(c=(s=u==null?void 0:u.messages)===null||s===void 0?void 0:s.failed)!==null&&c!==void 0?c:N.msg||a("fetchFailed")),[2]):(N&&N.ok&&(B=N.data),[3,3]);case 2:B=n.item,M.label=3;case 3:return B=(Array.isArray(B)?B:[B]).filter(function(O){return!p||!he(E,function(D){return D[p]==O[p]})}),S=[],typeof n.index=="string"&&/^\d+(\.\d+)*$/.test(n.index)?S=n.index.split(".").map(function(O){return parseInt(O,10)}):typeof n.index=="number"&&(S=[n.index]),S.length?E=V.apply(void 0,L([E,S,0],U(B),!1)):E.push.apply(E,L([],U(B),!1)),this.setState({items:E},function(){if(B.length===1&&b!==!1){var O=S.concat();O[O.length-1]+=1,H.startEdit(O.join("."),!0)}else f==null||f(E)}),[2];case 4:return[2,this.addItem("".concat(E.length-1),!1)];case 5:return[3,13];case 6:return A!=="deleteItem"?[3,12]:(j=L([],U(this.state.items),!1),G=[],(n==null?void 0:n.index)===void 0?[3,7]:(Z=String(n.index).split(","),Z.forEach(function(O){var D=O.split(".").map(function(ie){return parseInt(ie,10)});G.push($(j,D)),j=V(j,D,1)}),[3,9]));case 7:return(n==null?void 0:n.condition)===void 0?[3,9]:(_=[],le(j,function(O,D,ie,Re,me){return _.unshift(function(){return R(H,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,O)];case 1:return ae=re.sent(),ae&&(G.push(O),j=V(j,L(L([],U(me),!1),[D],!1),1)),[2]}})})}),!0}),[4,_.reduce(function(O,D){return O.then(D)},Promise.resolve())]);case 8:M.sent(),M.label=9;case 9:return J(l,W(k,{deletedItems:G}))?[4,w.fetcher(l,W(k,{deletedItems:G}))]:[3,11];case 10:if(N=M.sent(),N&&!N.ok)return!(l!=null&&l.silent)&&w.notify("error",(o=(m=l==null?void 0:l.messages)===null||m===void 0?void 0:m.failed)!==null&&o!==void 0?o:N.msg||a("fetchFailed")),[2];M.label=11;case 11:return this.setState({items:j},function(){f==null||f(j)}),[2];case 12:if(A==="clear")return this.setState({items:[]},function(){f==null||f([])}),[2];if(A==="reset")return z=(v=fe((h=x==null?void 0:x.pristine)!==null&&h!==void 0?h:C==null?void 0:C.pristine,P))!==null&&v!==void 0?v:I,K=Array.isArray(z)?z:[],this.setState({items:K},function(){f==null||f(K)}),[2];M.label=13;case 13:return[2,X.prototype.doAction.call(this,t,e,i,k)]}})})},g=ce([we({type:"input-table"})],g),g}(ke);export{Oe as TableControlRenderer,ke as default};