InputTable-B0ZeapeL.js 31 KB

1
  1. 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.length<a)?[2,i("Combo.minLength",{minLength:a})]:[3,1];case 1:return r&&Array.isArray(t)&&t.length>r?[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;r<arguments.length;r++)a[r-2]=arguments[r];return F(this,void 0,void 0,function(){var u,p,s,m,b,d,I,g,v,c,y,x,o,f,l,E,L,O=this;return T(this,function(R){switch(R.label){case 0:return u=this.props,p=u.onAction,s=u.valueField,m=u.env,b=u.needConfirm,d=u.addable,I=u.addApi,g=u.translate,v=u.onChange,c=e.actionType,c!=="add"?[3,6]:d===!1?[2]:(y=this.state.items.concat(),I||e.payload?(x=null,J(I,t)?[4,m.fetcher(I,t)]:[3,2]):[3,4]);case 1:return o=R.sent(),o&&!o.ok?(!(I!=null&&I.silent)&&m.notify("error",(n=(i=I==null?void 0:I.messages)===null||i===void 0?void 0:i.failed)!==null&&n!==void 0?n:o.msg||g("fetchFailed")),[2]):(o&&o.ok&&(x=o.data),[3,3]);case 2:x=ne(e.payload,t),R.label=3;case 3:return x=Array.isArray(x)?x:[x],x.forEach(function(C){(!s||!he(y,function(A){return A[s]==C[s]}))&&(y.push(C),b!==!1&&Reflect.set(C,M,!0))}),this.setState(h({items:y},this.transformState(y)),function(){x.length===1&&b!==!1?O.startEdit("".concat(y.length-1),!0):v==null||v(y)}),[2];case 4:return[2,this.addItem("".concat(y.length-1),!1)];case 5:return[3,7];case 6:if(c==="remove"||c==="delete"){if(s){if(!e.payload)return[2,m.alert(g("Table.playload"))]}else return[2,m.alert(g("Table.valueField"))];return f=this.state.items.concat(),l=ne(e.payload,t),l=Array.isArray(l)?l:[l],l.forEach(function(C){var A=Se(f,function(B){return B[s]==C[s]});A!=null&&A.length&&(f=k(f,A,1))}),this.setState(h({items:f},this.transformState(f)),function(){v==null||v(f)}),[2]}else c==="initDrag"?(E=this.table).doAction.apply(E,V([e,t],D(a),!1)):c==="cancelDrag"&&(L=this.table).doAction.apply(L,V([e,t],D(a),!1));R.label=7;case 7:return[2,p&&p.apply(void 0,V([e,t],D(a),!1))]}})})},w.prototype.copyItem=function(e){return F(this,void 0,void 0,function(){var t,i,n,a,r,u,p,s,m,b,d,I,g,v,c,y,x=this;return T(this,function(o){return t=this.props,i=t.needConfirm,n=t.data,a=t.copyData,r=a===void 0?{"&":"$$"}:a,u=this.state.items.concat(),p=e.split(".").map(function(f){return parseInt(f,10)}),s=p.concat(),s[s.length-1]+=1,m=u,b=z(u,p),d=ne(r,$(n,b)),i===!1?u=k(u,s,0,d):u=k(u,s,0,h(h({},d),(y={},y[M]=!0,y))),this.reUseRowId(u,m,s),I=u[s[0]],g=h(h({},this.transformState(u)),{items:u}),g.filteredItems.includes(I)||(v=u[p[0]],c=g.filteredItems.findIndex(function(f){return f===v}),g.filteredItems.splice(c+1,0,I)),this.setState(g,function(){return F(x,void 0,void 0,function(){var f;return T(this,function(l){switch(l.label){case 0:return[4,this.dispatchEvent("add",{index:s[s.length-1],indexPath:s.join("."),item:d})];case 1:return f=l.sent(),f?[2]:(i===!1?this.emitValue():this.startEdit(s.join("."),!0),[2])}})})}),[2]})})},w.prototype.addItem=function(e,t,i){return t===void 0&&(t=!0),F(this,void 0,void 0,function(){var n,a,r,u,p,s,m,b,d,I,g,v,c,y,x,o=this;return T(this,function(f){return e=e||"".concat(this.state.items.length-1),n=this.props,a=n.needConfirm,r=n.scaffold,u=n.columns,p=n.data,n.perPage,s=this.state.items.concat(),m=(x={},x[M]=!0,x),Array.isArray(u)&&u.forEach(function(l){if(typeof l.value<"u"&&typeof l.name=="string")if("type"in l&&(l.type==="input-date"||l.type==="input-datetime"||l.type==="input-time"||l.type==="input-month"||l.type==="input-quarter"||l.type==="input-year")){if(!(typeof l.value=="string"&&l.value.trim()==="")){var E=Re(l.value,p,l.format||"X");oe(m,l.name,(l.utc?Fe.utc(E):E).format(l.format||"X"))}}else Te(l.value)||oe(m,l.name,l.value)}),m=h(h({},m),r),a===!1&&Reflect.deleteProperty(m,M),b=e.split(".").map(function(l){return parseInt(l,10)}),d=b.concat(),d[d.length-1]+=1,I=s,s=k(s,d,0,m),this.reUseRowId(s,I,d),g=s[d[0]],v=h(h({items:s},this.transformState(s,void 0,g)),a===!1?{}:{editIndex:d.join("."),isCreateMode:!0,columns:this.buildColumns(this.props,!0,"".concat(e))}),v.filteredItems.includes(g)||(c=s[b[0]],y=v.filteredItems.findIndex(function(l){return l===c}),v.filteredItems.splice(y+1,0,g)),this.setState(v,function(){return F(o,void 0,void 0,function(){return T(this,function(l){switch(l.label){case 0:return t?[4,this.dispatchEvent("add",{index:d[d.length-1],indexPath:d.join("."),item:m})]:[3,2];case 1:l.sent(),l.label=2;case 2:return a===!1&&this.emitValue(),i==null||i(),[2]}})})}),[2,!1]})})},w.prototype.subAddItem=function(e,t,i){return t===void 0&&(t=!0),F(this,void 0,void 0,function(){return T(this,function(n){return[2,this.addItem(e+".-1",t,function(){i==null||i.setExpanded(!0)})]})})},w.prototype.editItem=function(e){return F(this,void 0,void 0,function(){var t,i,n,a;return T(this,function(r){switch(r.label){case 0:return t=this.state.items,i=e.split(".").map(function(u){return parseInt(u,10)}),n=z(t,i),[4,this.dispatchEvent("edit",{index:i[i.length-1],indexPath:i.join("."),item:n})];case 1:return a=r.sent(),!a&&this.startEdit(e,!0),[2]}})})},w.prototype.dispatchEvent=function(e,t){return t===void 0&&(t={}),F(this,void 0,void 0,function(){var i,n,a;return T(this,function(r){switch(r.label){case 0:return i=this.props.dispatchEvent,n=this.state.items,[4,i(e,Be(this.props,h({value:V([],D(n),!1)},t)))];case 1:return a=r.sent(),[2,!!(a!=null&&a.prevented)]}})})},w.prototype.startEdit=function(e,t){t===void 0&&(t=!1),this.setState({editIndex:e,isCreateMode:t,columns:this.buildColumns(this.props,t,e)})},w.prototype.confirmEdit=function(){var e,t,i;return F(this,void 0,void 0,function(){var n,a,r,u,p,s,m,b,d,I,g,v,c,y,x,o,f,l,E,L,O=this;return T(this,function(R){switch(R.label){case 0:return n=this.props,a=n.addApi,r=n.updateApi,u=n.data,p=n.env,s=n.translate,m=[],Object.keys(this.subForms).forEach(function(C){return O.subForms[C]&&m.push(O.subForms[C])}),m.forEach(function(C){return C.flush()}),b=[],Object.keys(this.subFormItems).forEach(function(C){return O.subFormItems[C]&&b.push(O.subFormItems[C])}),b.forEach(function(C){var A,B;return(B=(A=C.props).onFlushChange)===null||B===void 0?void 0:B.call(A)}),d=m,[4,Promise.all(d.map(function(C){return C.validate()}).concat(b.map(function(C){return C.props.onValidate()})))];case 1:return I=R.sent(),~I.indexOf(!1)?[2]:(g=this.state.items.concat(),v=this.state.editIndex.split(".").map(function(C){return parseInt(C,10)}),c=h({},z(g,v)),y=c.hasOwnProperty(M),x=y?"addConfirm":"editConfirm",[4,this.dispatchEvent(x,{index:v[v.length-1],indexPath:v.join("."),item:c})]);case 2:return o=R.sent(),o?[2]:(f=null,l=void 0,y&&J(a,$(u,c))?[4,p.fetcher(a,$(u,c))]:[3,4]);case 3:return f=R.sent(),l=(e=a==null?void 0:a.messages)===null||e===void 0?void 0:e.failed,[3,6];case 4:return J(r,$(u,c))?[4,p.fetcher(r,$(u,c))]:[3,6];case 5:f=R.sent(),l=(t=r==null?void 0:r.messages)===null||t===void 0?void 0:t.failed,R.label=6;case 6:return f&&!f.ok?(!(!((i=y?a:r)===null||i===void 0)&&i.silent)&&p.notify("error",l??(f.msg||s("saveFailed"))),E=y?"addFail":"editFail",this.dispatchEvent(E,{index:v[v.length-1],indexPath:v.join("."),item:c,error:f}),[2]):(f&&f.ok&&(c=h(h({},(y?a:r).replaceData?{}:c),f.data)),Reflect.deleteProperty(c,M),L=g,g=k(g,v,1,c),this.reUseRowId(g,L,v),this.setState(h(h({editIndex:"",items:g},this.transformState(g)),{columns:this.buildColumns(this.props)}),function(){return F(O,void 0,void 0,function(){var C,A;return T(this,function(B){switch(B.label){case 0:return[4,this.emitValue()];case 1:return C=B.sent(),C?[2]:(A=y?"addSuccess":"editSuccess",this.dispatchEvent(A,{index:v[v.length-1],indexPath:v.join("."),item:c}),[2])}})})}),[2])}})})},w.prototype.cancelEdit=function(){var e=this.state.items.concat(),t=this.state.lastModifiedRow,i=this.state.editIndex.split(".").map(function(u){return parseInt(u,10)}),n=h({},z(e,i)),a=n.hasOwnProperty(M),r=e;a?e=k(e,i,1):t&&~(t==null?void 0:t.index)&&Ce(t==null?void 0:t.data)&&(e=k(e,i,1,h(h({},n),t.data))),this.reUseRowId(e,r,i),this.setState(h(h({editIndex:"",items:e},this.transformState(e)),{columns:this.buildColumns(this.props),lastModifiedRow:void 0}),this.emitValue)},w.prototype.removeItem=function(e){var t,i;return F(this,void 0,void 0,function(){var n,a,r,u,p,s,m,b,d,I,g,v,c,y,x,o=this;return T(this,function(f){switch(f.label){case 0:return n=this.props,a=n.value,n.onChange,r=n.deleteApi,u=n.deleteConfirmText,p=n.env,s=n.data,m=n.translate,b=Array.isArray(a)?a.concat():[],d=e.split(".").map(function(l){return parseInt(l,10)}),I=z(b,d),I?[4,this.dispatchEvent("delete",{index:d[d.length-1],indexPath:d.join("."),item:I})]:[2];case 1:return g=f.sent(),g?[2]:(v=$(s,I),J(r,v)?[4,p.confirm(u?ke(u,v):m("deleteConfirm"))]:[3,4]);case 2:return c=f.sent(),c?[4,p.fetcher(r,v)]:[2];case 3:if(y=f.sent(),!y.ok)return!(r!=null&&r.silent)&&p.notify("error",(i=(t=r==null?void 0:r.messages)===null||t===void 0?void 0:t.failed)!==null&&i!==void 0?i:m("deleteFailed")),this.dispatchEvent("deleteFail",{index:d[d.length-1],indexPath:d.join("."),item:I,error:y}),[2];f.label=4;case 4:return this.removeEntry(I),x=b,b=k(b,d,1),this.reUseRowId(b,x,d),this.setState(h({items:b},this.transformState(b)),function(){return F(o,void 0,void 0,function(){var l;return T(this,function(E){switch(E.label){case 0:return[4,this.emitValue(b)];case 1:return l=E.sent(),l?[2]:(this.dispatchEvent("deleteSuccess",{value:b,index:d[d.length-1],indexPath:d.join("."),item:I}),[2])}})})}),[2]}})})},w.prototype.convertToRawPath=function(e,t){var i=h(h({},this.state),t),n=i.filteredItems,a=i.items,r=e.split(".").map(function(p){return parseInt(p,10)}),u=n[r[0]];if(r[0]=a.findIndex(function(p){return p===u}),r[0]===-1)throw new Error("row not found");return r.join(".")},w.prototype.reUseRowId=function(e,t,i){for(var n=t,a=e,r=0,u=i.length;r<u;r++){var p=i[r];if(!(n!=null&&n[p])||!(a!=null&&a[p]))break;this.entries.set(a[p],this.entries.get(n[p])||this.entityId++),this.entries.delete(n[p]),a=a[p].children,n=n[p].children}},w.prototype.buildItemProps=function(e,t){var i={},n=this.resolveVariableProps(this.props,"minLength"),a=this.resolveVariableProps(this.props,"maxLength");return i.inputTableCanAddItem=a?a>this.state.items.length:!0,i.inputTableCanRemoveItem=n?n<this.state.items.length:!0,this.props.needConfirm===!1?(i.quickEditEnabled=!0,i):(!this.props.editable&&!this.props.addable&&!this.state.isCreateMode||(i.quickEditEnabled=this.state.editIndex===this.convertToRawPath(e.path)),i)},w.prototype.buildColumns=function(e,t,i){var n=this;t===void 0&&(t=!1);var a=this.props,r=a.env,u=a.enableStaticTransform,p=a.mobileUI,s=a.testIdBuilder,m=Array.isArray(e.columns)?e.columns.concat():[],b=this.props.classPrefix,d=this.props.translate,I=this.props.needConfirm,g=this.props.showIndex,v=this.props.static,c=this.props.disabled,y=[];if(!v&&e.addable&&e.showTableAddBtn!==!1&&y.push({children:function(o){var f=o.key,l=o.rowIndexPath,E=o.inputTableCanAddItem;return n.state.editIndex&&I!==!1||!E?null:P.createElement(G,{classPrefix:b,size:"sm",key:f,level:"link",tooltip:d("Table.addRow"),tooltipContainer:e.popOverContainer||r.getModalContainer,disabled:c,onClick:n.addItem.bind(n,n.convertToRawPath(l),void 0,void 0),testIdBuilder:s==null?void 0:s.getChild("addRow-".concat(n.convertToRawPath(l)))},e.addBtnIcon?P.createElement(Q,{cx:e.classnames,icon:e.addBtnIcon,className:"icon"}):null,e.addBtnLabel?P.createElement("span",null,e.addBtnLabel):null)}}),!v&&e.childrenAddable&&e.showTableAddBtn!==!1&&y.push({children:function(o){var f=o.key,l=o.rowIndexPath,E=o.row;return n.state.editIndex&&I!==!1?null:P.createElement(G,{classPrefix:b,size:"sm",key:f,level:"link",tooltip:d("Table.subAddRow"),tooltipContainer:e.popOverContainer||r.getModalContainer,disabled:c,onClick:n.subAddItem.bind(n,n.convertToRawPath(l),void 0,E),testIdBuilder:s==null?void 0:s.getChild("subAddRow-".concat(n.convertToRawPath(l)))},e.subAddBtnIcon?P.createElement(Q,{cx:e.classnames,icon:e.subAddBtnIcon,className:"icon"}):null,e.subAddBtnLabel?P.createElement("span",null,e.subAddBtnLabel):null)}}),!v&&e.copyable&&e.showCopyBtn!==!1&&y.push({children:function(o){var f=o.key,l=o.rowIndexPath;return n.state.editIndex&&I!==!1?null:P.createElement(G,{classPrefix:b,size:"sm",key:f,level:"link",tooltip:d("Table.copyRow"),tooltipContainer:e.popOverContainer||r.getModalContainer,disabled:c,onClick:n.copyItem.bind(n,n.convertToRawPath(l),void 0),testIdBuilder:s==null?void 0:s.getChild("copyRow-".concat(n.convertToRawPath(l)))},e.copyBtnIcon?P.createElement(Q,{cx:e.classnames,icon:e.copyBtnIcon,className:"icon"}):null,e.copyBtnLabel?P.createElement("span",null,e.copyBtnLabel):null)}}),e.needConfirm===!1?m=m.map(function(o){var f=o.quickEdit;return f===!1?se(o,["quickEdit"]):h(h({},o),o.type==="operation"?{}:{quickEdit:h(h(h({},n.columnToQuickEdit(o)),f),{visibleOn:"",hiddenOn:"",visible:!0,hidden:!1,saveImmediately:!0,mode:"inline",disabled:c,static:v||o.static})})}):v!==!0&&(e.addable||e.editable||t)?(m=m.map(function(o,f){var l=!t&&o.hasOwnProperty("quickEditOnUpdate")?o.quickEditOnUpdate:o.quickEdit,E=ee(o==null?void 0:o.type);return h(h({},l===!1?se(o,["quickEdit"]):h(h({},o),{quickEdit:h(h(h({},n.columnToQuickEdit(o)),l),{visibleOn:"",hiddenOn:"",visible:!0,hidden:!1,isQuickEditFormMode:!!(E!=null&&E.isFormItem),saveImmediately:!0,mode:"inline",disabled:c})})),u&&e.needConfirm!==!1?{staticOn:"".concat(!t," || data.index !== '").concat(i,"'")}:{})}),!v&&e.editable&&y.push({children:function(o){var f=o.key,l=o.rowIndexPath,E=o.data;return n.state.editIndex||E&&E.hasOwnProperty(M)?null:P.createElement(G,{classPrefix:b,size:"sm",key:f,level:"link",tooltip:d("Table.editRow"),tooltipContainer:e.popOverContainer||r.getModalContainer,disabled:c,onClick:function(){return n.editItem(n.convertToRawPath(l))},testIdBuilder:s==null?void 0:s.getChild("editRow-".concat(n.convertToRawPath(l)))},typeof e.updateBtnIcon<"u"?e.updateBtnIcon?P.createElement(Q,{cx:e.classnames,icon:e.updateBtnIcon,className:"icon"}):null:e.editBtnIcon?P.createElement(Q,{cx:e.classnames,icon:e.editBtnIcon,className:"icon"}):null,e.updateBtnLabel||e.editBtnLabel?P.createElement("span",null,e.updateBtnLabel||e.editBtnLabel):null)}}),!v&&y.push({children:function(o){var f=o.key,l=o.rowIndexPath;return n.state.editIndex===n.convertToRawPath(l)?P.createElement(G,{classPrefix:b,size:"sm",key:f,level:"link",tooltip:d("save"),tooltipContainer:e.popOverContainer||r.getModalContainer,onClick:n.confirmEdit,testIdBuilder:s==null?void 0:s.getChild("confirmRow-".concat(n.convertToRawPath(l)))},e.confirmBtnIcon?P.createElement(Q,{cx:e.classnames,icon:e.confirmBtnIcon,className:"icon"}):null,e.confirmBtnLabel?P.createElement("span",null,e.confirmBtnLabel):null):null}}),!v&&y.push({children:function(o){var f=o.key,l=o.rowIndexPath;return n.state.editIndex===n.convertToRawPath(l)?P.createElement(G,{classPrefix:b,size:"sm",key:f,level:"link",tooltip:d("cancel"),tooltipContainer:e.popOverContainer||r.getModalContainer,onClick:n.cancelEdit,testIdBuilder:s==null?void 0:s.getChild("cancelRow-".concat(n.convertToRawPath(l)))},e.cancelBtnIcon?P.createElement(Q,{cx:e.classnames,icon:e.cancelBtnIcon,className:"icon"}):null,e.cancelBtnLabel?P.createElement("span",null,e.cancelBtnLabel):null):null}})):m=m.map(function(o){var f=ee(o==null?void 0:o.type);return f!=null&&f.isFormItem?h(h({},o),{quickEdit:h(h({},o),{visibleOn:"",hiddenOn:"",visible:!0,hidden:!1,isFormMode:!0})}):o}),!v&&e.removable&&y.push({children:function(o){var f=o.key,l=o.rowIndexPath,E=o.data,L=o.inputTableCanRemoveItem;return(n.state.editIndex||E&&E.hasOwnProperty(M))&&I!==!1||!L?null:P.createElement(G,{classPrefix:b,size:"sm",key:f,level:"link",tooltip:d("Table.deleteRow"),tooltipContainer:e.popOverContainer||r.getModalContainer,disabled:c,onClick:n.removeItem.bind(n,n.convertToRawPath(l)),testIdBuilder:s==null?void 0:s.getChild("delRow-".concat(n.convertToRawPath(l)))},e.deleteBtnIcon?P.createElement(Q,{cx:e.classnames,icon:e.deleteBtnIcon,className:"icon"}):null,e.deleteBtnLabel?P.createElement("span",null,e.deleteBtnLabel):null)}}),y.length){var x=m.find(function(o){return o.type==="operation"});x||(x={type:"operation",buttons:[],label:d("Table.operation"),className:"v-middle nowrap",fixed:p?"":"right",width:150,innerClassName:"m-n"},m.push(x)),x.buttons=Array.isArray(x.buttons)?x.buttons.concat():[],x.buttons.unshift.apply(x.buttons,y),x.hasOwnProperty("quickEdit")&&delete x.quickEdit}return g&&m.unshift({label:d("Table.index"),width:50,children:function(o){var f=n.convertToRawPath(o.rowIndexPath).split(".").map(function(l){return parseInt(l,10)+1});return P.createElement("td",{className:o.className},o.cellPrefix,P.createElement("span",null,f.join(".")),o.cellAffix)}}),m},w.prototype.columnToQuickEdit=function(e){var t,i={type:"input-text"};return!((t=ee(e==null?void 0:e.type))===null||t===void 0)&&t.isFormItem||~["group"].indexOf(e.type)?h(h({},e),{label:""}):i},w.prototype.handleTableSave=function(e,t,i){var n=this,a;this.setState(function(r,u){var p={},s=r.editIndex,m=r.lastModifiedRow;if(s){var b=s.split(".").map(function(x){return parseInt(x,10)}),d=r.items.concat(),I=z(d,b);if(!I)return p;var g=h({},e),v=d;return d=k(d,b,1,g),n.reUseRowId(d,v,b),Object.assign(p,h({items:d,filteredItems:r.filteredItems.map(function(x){return x===I?g:x})},(m==null?void 0:m.index)===s?{}:{lastModifiedRow:I.hasOwnProperty(M)?void 0:{index:s,data:h({},I)}})),p}var c=r.items.concat();if(Array.isArray(e))i.forEach(function(x,o){x=n.convertToRawPath(x,r);var f=x.split(".").map(function(E){return parseInt(E,10)}),l=h({},z(e,f));c=k(c,f,1,l)});else{i=n.convertToRawPath(i,r);var b=i.split(".").map(function(f){return parseInt(f,10)}),y=h({},e),v=c;c=k(c,b,1,y),n.reUseRowId(c,v,b)}return Object.assign(p,h({items:c},n.transformState(c,r))),a=n.lazyEmitValue,p},function(){a&&a()})},w.prototype.handleRadioChange=function(e,t){var i=this,n=t.name,a=t.row,r=t.trueValue,u=r===void 0?!0:r,p=t.falseValue,s=p===void 0?!1:p,m;return this.setState(function(b,d){var I=a.path,g=Ee(b.items,function(v,c,y,x,o){var f;return h(h({},v),(f={},f[n]=I===o.join(".")?u:s,f))});return m=b.editIndex==a.path?void 0:i.lazyEmitValue,h({items:g},i.transformState(g))},function(){m==null||m()}),!1},w.prototype.handleSaveTableOrder=function(e,t){var i=this.props.onChange;i(t.map(function(n){return h({},n)}))},w.prototype.handlePageChange=function(e){this.setState(h({},this.transformState(this.state.items,{page:e})))},w.prototype.handleTableQuery=function(e){e=h(h({},this.state.query),e),this.setState(h({query:e},this.transformState(this.state.items,{query:e})))},w.prototype.handlePristineChange=function(e,t){var i=this,n=this.props.needConfirm,a=t.split(".").map(function(r){return parseInt(r,10)});this.setState(function(r){var u=r.items.concat(),p=z(u,a),s=h(h({},p),e),m=u;return u=k(u,a,1,s),i.reUseRowId(u,m,a),h({items:u},i.transformState(u))},function(){n===!1&&i.emitValue()})},w.prototype.removeEntry=function(e){this.entries.has(e)&&this.entries.delete(e)},w.prototype.getEntryId=function(e){return this.entries.has(e)||this.entries.set(e,this.entityId++),String(this.entries.get(e))},w.prototype.tableRef=function(e){for(;e&&e.getWrappedInstance;)e=e.getWrappedInstance();this.table=e},w.prototype.computedAddBtnDisabled=function(){var e=this.props.disabled;return e||!!this.state.editIndex},w.prototype.render=function(){var e=this,t=this.props,i=t.className;t.style,t.value;var n=t.disabled,a=t.render,r=t.placeholder,u=t.draggable,p=t.addable,s=t.columnsTogglable,m=t.combineNum,b=t.combineFromIndex,d=t.translate,I=t.canAccessSuperData,g=t.expandConfig,v=t.affixRow,c=t.prefixRow,y=t.formInited,x=t.perPage,o=t.classnames,f=t.rowClassName,l=t.rowClassNameExpr,E=t.affixHeader,L=E===void 0?!1:E,O=t.autoFillHeight,R=O===void 0?!1:O,C=t.tableContentClassName,A=t.static,B=t.showFooterAddBtn,q=t.footerAddBtn,X=t.toolbarClassName,Z=t.onEvent,N=t.testIdBuilder,_=this.resolveVariableProps(this.props,"maxLength");if(y===!1)return null;var j=this.state.query,K=this.state.filteredItems,Y=typeof x=="number",U=this.state.page||1,S=!A&&p&&B!==!1&&(!_||_>this.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};