2 lines
31 KiB
JavaScript
2 lines
31 KiB
JavaScript
import{t as ce,bk as ve,z as c,cN as pe,v as be,cO as Ie,an as ye,cP as ge,G as B,H as S,w as we,x as xe,c4 as D,aG as V,aw as Ce,aO as oe,cQ as ie,l as P,p as X,M as H,aH as Ee,D as fe,Q as Pe,T as ae,a2 as Re,am as he,cp as re,Y as K,a4 as Q,ai as Ae,bs as le,aj as Fe,cR as Te,ah as Be,aQ as O,aK as N,cS as de,cw as ue,c1 as Se,aM as me,L as ke}from"./index-CEmnTf-r.js";var U="__isPlaceholder",Oe=function($){ce(x,$);function x(e){var t=$.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=c({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),t.filterItemIndex=t.filterItemIndex.bind(t),i&&t.toDispose.push(i(t.flush,"flush")),t}return x.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(U)});n=c(c(c(c({},n),{items:a}),this.transformState(a)),{editIndex:"",columns:this.buildColumns(i)})}if(i.columns!==e.columns&&(n=c(c({},n),{columns:this.buildColumns(i)})),i.value!==e.value&&i.value!==this.emittedValue){var a=Array.isArray(i.value)?i.value.concat():[];n=c(c(c(c({},n),{items:a}),this.transformState(a)),{editIndex:""})}n&&this.setState(n)},x.prototype.componentWillUnmount=function(){this.entries.dispose(),this.lazyEmitValue.cancel(),this.toDispose.forEach(function(e){return e()}),this.toDispose=[]},x.prototype.transformState=function(e,t,i){var n=this.props,a=n.perPage,r=n.matchFunc,s=c(c({},this.state),t),d=s.query,u=s.page,b=d??{},I=b.orderBy,f=b.orderDir,v=be(b,["orderBy","orderDir"]),g=Object.keys(v);g.length&&(e=Ie(e,{query:v,columns:this.state.columns,matchFunc:typeof r=="string"&&r?ye(r,"items","itemsRaw","options"):typeof r=="function"?r:void 0})),I&&(e=ge(e.concat(),I,typeof f=="string"&&/desc/i.test(f)?-1:1));var p=e.length;if(u=Math.min(u??1,typeof a=="number"?Math.max(1,Math.ceil(p/a)):1),i){var h=e.indexOf(i);~h&&(u=Math.ceil((h+1)/a))}return typeof a=="number"&&a&&e.length>a&&(e=e.slice((u-1)*a,u*a)),{filteredItems:e,page:u,total:p}},x.prototype.flush=function(){return B(this,void 0,void 0,function(){var e,t,i=this;return S(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,s;return(s=(r=a.props).onFlushChange)===null||s===void 0?void 0:s.call(r)}))];case 2:return n.sent(),[4,this.lazyEmitValue.flush()];case 3:return n.sent(),[2]}})})},x.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(we(n)){var a=xe(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},x.prototype.subFormRef=function(e,t,i){this.subForms["".concat(t,"-").concat(i)]=e},x.prototype.subFormItemRef=function(e,t,i){this.subFormItems["".concat(t,"-").concat(i)]=e},x.prototype.validate=function(){return B(this,void 0,void 0,function(){var e,t,i,n,a,r,s,d,u,b,I,f,v,g=this;return S(this,function(p){switch(p.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 s=[],Object.keys(this.subForms).forEach(function(h){return g.subForms[h]&&s.push(g.subForms[h])}),s.length?[4,Promise.all(s.map(function(h){return h.validate()}))]:[3,4];case 3:if(d=p.sent(),u=~d.indexOf(!1)?i("Form.validateFailed"):"",b="",!u&&Array.isArray(n)&&Array.isArray(t)&&n.some(function(h){if(h.unique&&h.name){var y=[];return t.some(function(o){var w=he(o,h.name);return~y.indexOf(w)?(b="".concat(h.label||h.name),!0):(y.push(w),!1)})}return!1})&&(u=i("InputTable.uniqueError",{label:b})),u)return[2,u];p.label=4;case 4:return I=[],Object.keys(this.subFormItems).forEach(function(h){return g.subFormItems[h]&&I.push(g.subFormItems[h])}),[4,Promise.all(I.map(function(h){return h.props.onValidate()}))];case 5:return f=p.sent(),v=~f.indexOf(!1)?i("Form.validateFailed"):"",[2,v]}})})},x.prototype.emitValue=function(e){return B(this,void 0,void 0,function(){var t,i,n;return S(this,function(a){switch(a.label){case 0:return t=e??this.state.items.filter(function(r){return!r.hasOwnProperty(U)}),i=this.props.onChange,[4,this.dispatchEvent("change")];case 1:return n=a.sent(),n||(this.emittedValue=t,i==null||i(t)),[2,n]}})})},x.prototype.doAction=function(e,t){for(var i,n,a=[],r=2;r<arguments.length;r++)a[r-2]=arguments[r];return B(this,void 0,void 0,function(){var s,d,u,b,I,f,v,g,p,h,y,o,w,l,m,R,L,k=this;return S(this,function(T){switch(T.label){case 0:return s=this.props,d=s.onAction,u=s.valueField,b=s.env,I=s.needConfirm,f=s.addable,v=s.addApi,g=s.translate,p=s.onChange,h=e.actionType,h!=="add"?[3,6]:f===!1?[2]:(y=this.state.items.concat(),v||e.payload?(o=null,K(v,t)?[4,b.fetcher(v,t)]:[3,2]):[3,4]);case 1:return w=T.sent(),w&&!w.ok?(!(v!=null&&v.silent)&&b.notify("error",(n=(i=v==null?void 0:v.messages)===null||i===void 0?void 0:i.failed)!==null&&n!==void 0?n:w.msg||g("fetchFailed")),[2]):(w&&w.ok&&(o=w.data),[3,3]);case 2:o=re(e.payload,t),T.label=3;case 3:return o=Array.isArray(o)?o:[o],o.forEach(function(C){(!u||!me(y,function(E){return E[u]==C[u]}))&&(y.push(C),I!==!1&&Reflect.set(C,U,!0))}),this.setState(c({items:y},this.transformState(y)),function(){o.length===1&&I!==!1?k.startEdit("".concat(y.length-1),!0):p==null||p(y)}),[2];case 4:return[2,this.addItem("".concat(y.length-1),!1)];case 5:return[3,7];case 6:if(h==="remove"||h==="delete"){if(u){if(!e.payload)return[2,b.alert(g("Table.playload"))]}else return[2,b.alert(g("Table.valueField"))];return l=this.state.items.concat(),m=re(e.payload,t),m=Array.isArray(m)?m:[m],m.forEach(function(C){var E=Se(l,function(_){return _[u]==C[u]});E!=null&&E.length&&(l=V(l,E,1))}),this.setState(c({items:l},this.transformState(l)),function(){p==null||p(l)}),[2]}else h==="initDrag"?(R=this.table).doAction.apply(R,O([e,t],N(a),!1)):h==="cancelDrag"&&(L=this.table).doAction.apply(L,O([e,t],N(a),!1));T.label=7;case 7:return[2,d&&d.apply(void 0,O([e,t],N(a),!1))]}})})},x.prototype.copyItem=function(e){return B(this,void 0,void 0,function(){var t,i,n,a,r,s,d,u,b,I,f,v,g,p,h,y,o=this;return S(this,function(w){return t=this.props,i=t.needConfirm,n=t.data,a=t.copyData,r=a===void 0?{"&":"$$"}:a,s=this.state.items.concat(),d=e.split(".").map(function(l){return parseInt(l,10)}),u=d.concat(),u[u.length-1]+=1,b=s,I=D(s,d),f=re(r,Q(n,I)),i===!1?s=V(s,u,0,f):s=V(s,u,0,c(c({},f),(y={},y[U]=!0,y))),this.reUseRowId(s,b,u),v=s[u[0]],g=c(c({},this.transformState(s)),{items:s}),g.filteredItems.includes(v)||(p=s[d[0]],h=g.filteredItems.findIndex(function(l){return l===p}),g.filteredItems.splice(h+1,0,v)),this.setState(g,function(){return B(o,void 0,void 0,function(){var l;return S(this,function(m){switch(m.label){case 0:return[4,this.dispatchEvent("add",{index:u[u.length-1],indexPath:u.join("."),item:f})];case 1:return l=m.sent(),l?[2]:(i===!1?this.emitValue():this.startEdit(u.join("."),!0),[2])}})})}),[2]})})},x.prototype.addItem=function(e,t,i){return t===void 0&&(t=!0),B(this,void 0,void 0,function(){var n,a,r,s,d,u,b,I,f,v,g,p,h,y,o,w=this;return S(this,function(l){return e=e||"".concat(this.state.items.length-1),n=this.props,a=n.needConfirm,r=n.scaffold,s=n.columns,d=n.data,n.perPage,u=this.state.items.concat(),b=(o={},o[U]=!0,o),Array.isArray(s)&&s.forEach(function(m){if(typeof m.value<"u"&&typeof m.name=="string")if("type"in m&&(m.type==="input-date"||m.type==="input-datetime"||m.type==="input-time"||m.type==="input-month"||m.type==="input-quarter"||m.type==="input-year")){if(!(typeof m.value=="string"&&m.value.trim()==="")){var R=Ae(m.value,d,m.format||"X");le(b,m.name,(m.utc?Fe.utc(R):R).format(m.format||"X"))}}else Te(m.value)||le(b,m.name,m.value)}),b=c(c({},b),r),a===!1&&Reflect.deleteProperty(b,U),I=e.split(".").map(function(m){return parseInt(m,10)}),f=I.concat(),f[f.length-1]+=1,v=u,u=V(u,f,0,b),this.reUseRowId(u,v,f),g=u[f[0]],p=c(c({items:u},this.transformState(u,void 0,g)),a===!1?{}:{editIndex:f.join("."),isCreateMode:!0,columns:this.buildColumns(this.props,!0,"".concat(e))}),p.filteredItems.includes(g)||(h=u[I[0]],y=p.filteredItems.findIndex(function(m){return m===h}),p.filteredItems.splice(y+1,0,g)),this.setState(p,function(){return B(w,void 0,void 0,function(){return S(this,function(m){switch(m.label){case 0:return t?[4,this.dispatchEvent("add",{index:f[f.length-1],indexPath:f.join("."),item:b})]:[3,2];case 1:m.sent(),m.label=2;case 2:return a===!1&&this.emitValue(),i==null||i(),[2]}})})}),[2,!1]})})},x.prototype.subAddItem=function(e,t,i){return t===void 0&&(t=!0),B(this,void 0,void 0,function(){return S(this,function(n){return[2,this.addItem(e+".-1",t,function(){i==null||i.setExpanded(!0)})]})})},x.prototype.editItem=function(e){return B(this,void 0,void 0,function(){var t,i,n,a;return S(this,function(r){switch(r.label){case 0:return t=this.state.items,i=e.split(".").map(function(s){return parseInt(s,10)}),n=D(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]}})})},x.prototype.dispatchEvent=function(e,t){return t===void 0&&(t={}),B(this,void 0,void 0,function(){var i,n,a,r,s;return S(this,function(d){switch(d.label){case 0:return i=this.props.dispatchEvent,n=this.state,a=n.items,r=n.rowIndex,[4,i(e,Be(this.props,c({value:O([],N(a),!1),rowIndex:r},t)))];case 1:return s=d.sent(),[2,!!(s!=null&&s.prevented)]}})})},x.prototype.startEdit=function(e,t){t===void 0&&(t=!1),this.setState({editIndex:e,isCreateMode:t,columns:this.buildColumns(this.props,t,e)})},x.prototype.confirmEdit=function(){var e,t,i;return B(this,void 0,void 0,function(){var n,a,r,s,d,u,b,I,f,v,g,p,h,y,o,w,l,m,R,L,k=this;return S(this,function(T){switch(T.label){case 0:return n=this.props,a=n.addApi,r=n.updateApi,s=n.data,d=n.env,u=n.translate,b=[],Object.keys(this.subForms).forEach(function(C){return k.subForms[C]&&b.push(k.subForms[C])}),b.forEach(function(C){return C.flush()}),I=[],Object.keys(this.subFormItems).forEach(function(C){return k.subFormItems[C]&&I.push(k.subFormItems[C])}),I.forEach(function(C){var E,_;return(_=(E=C.props).onFlushChange)===null||_===void 0?void 0:_.call(E)}),f=b,[4,Promise.all(f.map(function(C){return C.validate()}).concat(I.map(function(C){return C.props.onValidate()})))];case 1:return v=T.sent(),~v.indexOf(!1)?[2]:(g=this.state.items.concat(),p=this.state.editIndex.split(".").map(function(C){return parseInt(C,10)}),h=c({},D(g,p)),y=h.hasOwnProperty(U),o=y?"addConfirm":"editConfirm",[4,this.dispatchEvent(o,{index:p[p.length-1],indexPath:p.join("."),item:h})]);case 2:return w=T.sent(),w?[2]:(l=null,m=void 0,y&&K(a,Q(s,h))?[4,d.fetcher(a,Q(s,h))]:[3,4]);case 3:return l=T.sent(),m=(e=a==null?void 0:a.messages)===null||e===void 0?void 0:e.failed,[3,6];case 4:return!y&&K(r,Q(s,h))?[4,d.fetcher(r,Q(s,h))]:[3,6];case 5:l=T.sent(),m=(t=r==null?void 0:r.messages)===null||t===void 0?void 0:t.failed,T.label=6;case 6:return l&&!l.ok?(!(!((i=y?a:r)===null||i===void 0)&&i.silent)&&d.notify("error",m??(l.msg||u("saveFailed"))),R=y?"addFail":"editFail",this.dispatchEvent(R,{index:p[p.length-1],indexPath:p.join("."),item:h,error:l}),[2]):(l&&l.ok&&(h=c(c({},(y?a:r).replaceData?{}:h),l.data)),Reflect.deleteProperty(h,U),L=g,g=V(g,p,1,h),this.reUseRowId(g,L,p),this.setState(c(c({editIndex:"",items:g},this.transformState(g)),{columns:this.buildColumns(this.props)}),function(){return B(k,void 0,void 0,function(){var C,E;return S(this,function(_){switch(_.label){case 0:return[4,this.emitValue()];case 1:return C=_.sent(),C?[2]:(E=y?"addSuccess":"editSuccess",this.dispatchEvent(E,{index:p[p.length-1],indexPath:p.join("."),item:h}),[2])}})})}),[2])}})})},x.prototype.cancelEdit=function(){var e=this.state.items.concat(),t=this.state.lastModifiedRow,i=this.state.editIndex.split(".").map(function(s){return parseInt(s,10)}),n=c({},D(e,i)),a=n.hasOwnProperty(U),r=e;a?e=V(e,i,1):t&&~(t==null?void 0:t.index)&&Ce(t==null?void 0:t.data)&&(e=V(e,i,1,c(c({},n),t.data))),this.reUseRowId(e,r,i),this.setState(c(c({editIndex:"",items:e},this.transformState(e)),{columns:this.buildColumns(this.props),lastModifiedRow:void 0}),this.emitValue)},x.prototype.removeItem=function(e){var t,i;return B(this,void 0,void 0,function(){var n,a,r,s,d,u,b,I,f,v,g,p,h,y,o,w=this;return S(this,function(l){switch(l.label){case 0:return n=this.props,a=n.value,n.onChange,r=n.deleteApi,s=n.deleteConfirmText,d=n.env,u=n.data,b=n.translate,I=Array.isArray(a)?a.concat():[],f=e.split(".").map(function(m){return parseInt(m,10)}),v=D(I,f),v?[4,this.dispatchEvent("delete",{index:f[f.length-1],indexPath:f.join("."),item:v})]:[2];case 1:return g=l.sent(),g?[2]:(p=Q(u,v),K(r,p)?[4,d.confirm(s?ke(s,p):b("deleteConfirm"))]:[3,4]);case 2:return h=l.sent(),h?[4,d.fetcher(r,p)]:[2];case 3:if(y=l.sent(),!y.ok)return!(r!=null&&r.silent)&&d.notify("error",(i=(t=r==null?void 0:r.messages)===null||t===void 0?void 0:t.failed)!==null&&i!==void 0?i:b("deleteFailed")),this.dispatchEvent("deleteFail",{index:f[f.length-1],indexPath:f.join("."),item:v,error:y}),[2];l.label=4;case 4:return this.removeEntry(v),o=I,I=V(I,f,1),this.reUseRowId(I,o,f),this.setState(c({items:I},this.transformState(I)),function(){return B(w,void 0,void 0,function(){var m;return S(this,function(R){switch(R.label){case 0:return[4,this.emitValue(I)];case 1:return m=R.sent(),m?[2]:(this.dispatchEvent("deleteSuccess",{value:I,index:f[f.length-1],indexPath:f.join("."),item:v}),[2])}})})}),[2]}})})},x.prototype.convertToRawPath=function(e,t){var i=c(c({},this.state),t),n=i.filteredItems,a=i.items,r="".concat(e).split(".").map(function(d){return parseInt(d,10)}),s=n[r[0]];return r[0]=a.findIndex(function(d){return d===s}),r[0]===-1?e:r.join(".")},x.prototype.reUseRowId=function(e,t,i){for(var n=t,a=e,r=0,s=i.length;r<s;r++){var d=i[r];if(!(n!=null&&n[d])||!(a!=null&&a[d]))break;this.entries.set(a[d],this.entries.get(n[d])||this.entityId++),this.entries.delete(n[d]),a=a[d].children,n=n[d].children}},x.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.static&&!this.props.editable&&!this.props.addable&&!this.state.isCreateMode||(i.quickEditEnabled=this.state.editIndex===this.convertToRawPath(e.path),this.props.enableStaticTransform&&this.props.needConfirm!==!1&&(i.static=!i.quickEditEnabled)),i)},x.prototype.buildColumns=function(e,t,i){var n=this;t===void 0&&(t=!1);var a=this.props,r=a.env,s=a.mobileUI,d=a.testIdBuilder,u=Array.isArray(e.columns)?e.columns.concat():[],b=this.props.classPrefix,I=this.props.translate,f=this.props.needConfirm,v=this.props.static,g=this.props.disabled,p=[];if(!v&&e.addable&&e.showTableAddBtn!==!1&&p.push({children:function(o){var w=o.key,l=o.rowIndexPath,m=o.inputTableCanAddItem;return n.state.editIndex&&f!==!1||!m?null:P.createElement(X,{classPrefix:b,size:"sm",key:w,level:"link",tooltip:I("Table.addRow"),tooltipContainer:e.popOverContainer||r.getModalContainer,disabled:g,onClick:n.addItem.bind(n,n.convertToRawPath(l),void 0,void 0),testIdBuilder:d==null?void 0:d.getChild("addRow-".concat(n.convertToRawPath(l)))},e.addBtnIcon?P.createElement(H,{cx:e.classnames,icon:e.addBtnIcon,className:"icon"}):null,e.addBtnLabel?P.createElement("span",null,e.addBtnLabel):null)}}),!v&&e.childrenAddable&&e.showTableAddBtn!==!1&&p.push({children:function(o){var w=o.key,l=o.rowIndexPath,m=o.row;return n.state.editIndex&&f!==!1?null:P.createElement(X,{classPrefix:b,size:"sm",key:w,level:"link",tooltip:I("Table.subAddRow"),tooltipContainer:e.popOverContainer||r.getModalContainer,disabled:g,onClick:n.subAddItem.bind(n,n.convertToRawPath(l),void 0,m),testIdBuilder:d==null?void 0:d.getChild("subAddRow-".concat(n.convertToRawPath(l)))},e.subAddBtnIcon?P.createElement(H,{cx:e.classnames,icon:e.subAddBtnIcon,className:"icon"}):null,e.subAddBtnLabel?P.createElement("span",null,e.subAddBtnLabel):null)}}),!v&&e.copyable&&e.showCopyBtn!==!1&&p.push({children:function(o){var w=o.key,l=o.rowIndexPath;return n.state.editIndex&&f!==!1?null:P.createElement(X,{classPrefix:b,size:"sm",key:w,level:"link",tooltip:I("Table.copyRow"),tooltipContainer:e.popOverContainer||r.getModalContainer,disabled:g,onClick:n.copyItem.bind(n,n.convertToRawPath(l),void 0),testIdBuilder:d==null?void 0:d.getChild("copyRow-".concat(n.convertToRawPath(l)))},e.copyBtnIcon?P.createElement(H,{cx:e.classnames,icon:e.copyBtnIcon,className:"icon"}):null,e.copyBtnLabel?P.createElement("span",null,e.copyBtnLabel):null)}}),e.needConfirm===!1?u=u.map(function(o){var w=o.quickEdit;return w===!1?oe(o,["quickEdit"]):c(c({},o),o.type==="operation"?{}:{quickEdit:c(c(c({},n.columnToQuickEdit(o)),w),{visibleOn:"",hiddenOn:"",visible:!0,hidden:!1,saveImmediately:!0,mode:"inline",disabled:g,static:v||o.static})})}):v!==!0&&(e.addable||e.editable||t)?(u=u.map(function(o,w){var l=!t&&o.hasOwnProperty("quickEditOnUpdate")?o.quickEditOnUpdate:o.quickEdit,m=ie(o==null?void 0:o.type);return c({},l===!1?oe(o,["quickEdit"]):c(c({},o),{quickEdit:c(c(c({},n.columnToQuickEdit(o)),l),{visibleOn:"",hiddenOn:"",visible:!0,hidden:!1,isQuickEditFormMode:!!(m!=null&&m.isFormItem),saveImmediately:!0,mode:"inline",disabled:g})}))}),!v&&e.editable&&p.push({children:function(o){var w=o.key,l=o.rowIndexPath,m=o.data;return n.state.editIndex||m&&m.hasOwnProperty(U)?null:P.createElement(X,{classPrefix:b,size:"sm",key:w,level:"link",tooltip:I("Table.editRow"),tooltipContainer:e.popOverContainer||r.getModalContainer,disabled:g,onClick:function(){return n.editItem(n.convertToRawPath(l))},testIdBuilder:d==null?void 0:d.getChild("editRow-".concat(n.convertToRawPath(l)))},typeof e.updateBtnIcon<"u"?e.updateBtnIcon?P.createElement(H,{cx:e.classnames,icon:e.updateBtnIcon,className:"icon"}):null:e.editBtnIcon?P.createElement(H,{cx:e.classnames,icon:e.editBtnIcon,className:"icon"}):null,e.updateBtnLabel||e.editBtnLabel?P.createElement("span",null,e.updateBtnLabel||e.editBtnLabel):null)}}),!v&&p.push({children:function(o){var w=o.key,l=o.rowIndexPath;return n.state.editIndex===n.convertToRawPath(l)?P.createElement(X,{classPrefix:b,size:"sm",key:w,level:"link",tooltip:I("save"),tooltipContainer:e.popOverContainer||r.getModalContainer,onClick:n.confirmEdit,testIdBuilder:d==null?void 0:d.getChild("confirmRow-".concat(n.convertToRawPath(l)))},e.confirmBtnIcon?P.createElement(H,{cx:e.classnames,icon:e.confirmBtnIcon,className:"icon"}):null,e.confirmBtnLabel?P.createElement("span",null,e.confirmBtnLabel):null):null}}),!v&&p.push({children:function(o){var w=o.key,l=o.rowIndexPath;return n.state.editIndex===n.convertToRawPath(l)?P.createElement(X,{classPrefix:b,size:"sm",key:w,level:"link",tooltip:I("cancel"),tooltipContainer:e.popOverContainer||r.getModalContainer,onClick:n.cancelEdit,testIdBuilder:d==null?void 0:d.getChild("cancelRow-".concat(n.convertToRawPath(l)))},e.cancelBtnIcon?P.createElement(H,{cx:e.classnames,icon:e.cancelBtnIcon,className:"icon"}):null,e.cancelBtnLabel?P.createElement("span",null,e.cancelBtnLabel):null):null}})):u=u.map(function(o){var w=ie(o==null?void 0:o.type);return w!=null&&w.isFormItem?c(c({},o),{quickEdit:c(c({},o),{visibleOn:"",hiddenOn:"",visible:!0,hidden:!1,isFormMode:!0})}):o}),!v&&e.removable&&p.push({children:function(o){var w=o.key,l=o.rowIndexPath,m=o.data,R=o.inputTableCanRemoveItem;return(n.state.editIndex||m&&m.hasOwnProperty(U))&&f!==!1||!R?null:P.createElement(X,{classPrefix:b,size:"sm",key:w,level:"link",tooltip:I("Table.deleteRow"),tooltipContainer:e.popOverContainer||r.getModalContainer,disabled:g,onClick:n.removeItem.bind(n,n.convertToRawPath(l)),testIdBuilder:d==null?void 0:d.getChild("delRow-".concat(n.convertToRawPath(l)))},e.deleteBtnIcon?P.createElement(H,{cx:e.classnames,icon:e.deleteBtnIcon,className:"icon"}):null,e.deleteBtnLabel?P.createElement("span",null,e.deleteBtnLabel):null)}}),p.length){var h=u.findIndex(function(o){return o.type==="operation"}),y=u[h];h===-1?(y={type:"operation",buttons:[],label:I("Table.operation"),className:"v-middle nowrap",fixed:s?"":"right",width:150,innerClassName:"m-n"},u.push(y)):(y=c({},y),u.splice(h,1,y)),y.buttons=Array.isArray(y.buttons)?y.buttons.concat():[],y.buttons.unshift.apply(y.buttons,p),y.hasOwnProperty("quickEdit")&&delete y.quickEdit}return u},x.prototype.columnToQuickEdit=function(e){var t,i={type:"input-text"};return!((t=ie(e==null?void 0:e.type))===null||t===void 0)&&t.isFormItem||~["group"].indexOf(e.type)?c(c({},e),{label:""}):i},x.prototype.handleTableSave=function(e,t,i){var n=this,a;this.setState(function(r,s){var d={},u=r.editIndex,b=r.lastModifiedRow,I=r.items.concat();if(Array.isArray(e))i.forEach(function(l,m){l=n.convertToRawPath(l,r);var R=l.split(".").map(function(k){return parseInt(k,10)}),L=c({},D(e,R));I=V(I,R,1,L)});else{if(i=n.convertToRawPath(i,r),u&&i===u){var f=u.split(".").map(function(l){return parseInt(l,10)}),v=r.items.concat(),g=D(v,f);if(!g)return d;var p=c({},e),h=v;return v=V(v,f,1,p),n.reUseRowId(v,h,f),Object.assign(d,c({items:v,filteredItems:r.filteredItems.map(function(l){return l===g?p:l}),rowIndex:u},(b==null?void 0:b.index)===u?{}:{lastModifiedRow:g.hasOwnProperty(U)?void 0:{index:u,data:c({},g)}})),d}var y=i.split(".").map(function(l){return parseInt(l,10)}),o=c({},e),w=I;I=V(I,y,1,o),n.reUseRowId(I,w,y)}return Object.assign(d,c({items:I,rowIndex:i},n.transformState(I,r))),a=n.lazyEmitValue,d},function(){a&&a()})},x.prototype.handleRadioChange=function(e,t){var i=this,n=t.name,a=t.row,r=t.trueValue,s=r===void 0?!0:r,d=t.falseValue,u=d===void 0?!1:d,b;return this.setState(function(I,f){var v=a.path,g=Ee(I.items,function(p,h,y,o,w){var l;return c(c({},p),(l={},l[n]=v===w.join(".")?s:u,l))});return b=I.editIndex==a.path?void 0:i.lazyEmitValue,c({items:g},i.transformState(g))},function(){b==null||b()}),!1},x.prototype.handleSaveTableOrder=function(e,t){var i=this.props.onChange;i(t.map(function(n){return c({},n)}))},x.prototype.handlePageChange=function(e){this.setState(c({},this.transformState(this.state.items,{page:e})))},x.prototype.handleTableQuery=function(e){e=c(c({},this.state.query),e),this.setState(c({query:e},this.transformState(this.state.items,{query:e})))},x.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 s=r.items.concat(),d=D(s,a),u=c(c({},d),e),b=s;return s=V(s,a,1,u),i.reUseRowId(s,b,a),c({items:s},i.transformState(s))},function(){n===!1&&i.emitValue()})},x.prototype.removeEntry=function(e){this.entries.has(e)&&this.entries.delete(e)},x.prototype.getEntryId=function(e){return this.entries.has(e)||this.entries.set(e,this.entityId++),String(this.entries.get(e))},x.prototype.tableRef=function(e){for(;e&&e.getWrappedInstance;)e=e.getWrappedInstance();this.table=e},x.prototype.computedAddBtnDisabled=function(){var e=this.props.disabled;return e||!!this.state.editIndex},x.prototype.filterItemIndex=function(e){return this.convertToRawPath(e)},x.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,s=t.draggable,d=t.addable,u=t.columnsTogglable,b=t.combineNum,I=t.combineFromIndex,f=t.translate,v=t.canAccessSuperData,g=t.expandConfig,p=t.affixRow,h=t.prefixRow,y=t.formInited,o=t.perPage,w=t.classnames,l=t.rowClassName,m=t.rowClassNameExpr,R=t.affixHeader,L=R===void 0?!1:R,k=t.autoFillHeight,T=k===void 0?!1:k,C=t.tableContentClassName,E=t.static,_=t.showFooterAddBtn,q=t.footerAddBtn,W=t.toolbarClassName,Y=t.onEvent,F=t.testIdBuilder,J=t.showIndex,G=this.resolveVariableProps(this.props,"maxLength");if(y===!1)return null;var j=this.state.query,z=this.state.filteredItems;this.state.items;var A=typeof o=="number",M=this.state.page||1,Z=!E&&d&&_!==!1&&(!G||G>this.state.items.length);return P.createElement("div",{className:w("InputTable",i)},a("body",{type:"table",placeholder:f(r),columns:this.state.columns,affixHeader:L,prefixRow:h,affixRow:p,autoFillHeight:T,tableContentClassName:C,onEvent:Y,showIndex:J},{ref:this.tableRef,value:void 0,saveImmediately:!0,disabled:n,draggable:s&&!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:u,combineNum:b,combineFromIndex:I,expandConfig:g,canAccessSuperData:v,rowClassName:l,rowClassNameExpr:m,onPristineChange:this.handlePristineChange,testIdBuilder:F==null?void 0:F.getChild("table"),onQuery:this.handleTableQuery,query:j,orderBy:j==null?void 0:j.orderBy,orderDir:j==null?void 0:j.orderDir,filterItemIndex:this.filterItemIndex}),Z||A?P.createElement("div",{className:w("InputTable-toolbar",W)},Z?a("button",c({type:"button",level:"primary",size:"sm",label:f("Table.add"),icon:"fa fa-plus",disabledTip:f("Table.addButtonDisabledTip")},q||{}),{disabled:this.computedAddBtnDisabled(),onClick:function(){return e.addItem()},testIdBuilder:F==null?void 0:F.getChild("add")}):null,A?a("pager",{type:"pagination"},{activePage:M,perPage:o,total:this.state.total,onPageChange:this.handlePageChange,className:"InputTable-pager",testIdBuilder:F==null?void 0:F.getChild("page"),disabled:!!this.state.editIndex}):null):null)},x.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},x.propsList=["onChange","name","columns","label","scaffold","showTableAddBtn","addable","removable","copyable","editable","addApi","updateApi","deleteApi","needConfirm","canAccessSuperData","formStore","footerActions","toolbarClassName"],fe([Pe,ae("design:type",Function),ae("design:paramtypes",[Object,String]),ae("design:returntype",void 0)],x.prototype,"handlePristineChange",null),x}(P.Component),Ve=function($){ce(x,$);function x(){return $!==null&&$.apply(this,arguments)||this}return x.prototype.setData=function(e,t,i,n){return B(this,void 0,void 0,function(){var a,r,s,d,u,b=this;return S(this,function(I){switch(I.label){case 0:return i===void 0?[3,1]:(a=O([],N(this.state.items),!1),r=String(i).split(","),r.forEach(function(f){var v=f.split(".").map(function(p){return parseInt(p,10)}),g=a;a=V(a,v,1,t?e:c(c({},D(a,v)),e)),b.reUseRowId(a,g,v)}),this.setState(c({items:a},this.transformState(a)),function(){b.emitValue()}),[3,4]);case 1:return n===void 0?[3,3]:(s=O([],N(this.state.items),!1),d=[],de(s,function(f,v,g,p,h){return d.unshift(function(){return B(b,void 0,void 0,function(){var y,o;return S(this,function(w){switch(w.label){case 0:return[4,ue(n,f)];case 1:return y=w.sent(),y&&(o=s,s=V(s,O(O([],N(h),!1),[v],!1),1,t?e:c(c({},D(s,O(O([],N(h),!1),[v],!1))),e)),this.reUseRowId(s,o,O(O([],N(h),!1),[v],!1))),[2]}})})}),!0}),[4,Promise.all(d.map(function(f){return f()}))]);case 2:return I.sent(),this.setState(c({items:s},this.transformState(s)),function(){b.emitValue()}),[3,4];case 3:u=O([],N(e),!1),this.setState(c({items:u},this.transformState(u)),function(){b.emitValue()}),I.label=4;case 4:return[2]}})})},x.prototype.doAction=function(e,t,i,n){var a,r,s,d,u,b,I;return i===void 0&&(i=!1),B(this,void 0,void 0,function(){var f,v,g,p,h,y,o,w,l,m,R,L,k,T,C,E,F,_,q,W,Y,F,J,G,j=this;return S(this,function(z){switch(z.label){case 0:return f=this.props,v=f.valueField,g=f.env,p=f.needConfirm,f.addable,h=f.addApi,y=f.deleteApi,o=f.resetValue,w=f.translate,l=f.onChange,m=f.formStore,R=f.store,L=f.name,k=e.actionType,T=((a=this.props.store)===null||a===void 0?void 0:a.data)||{},k!=="addItem"?[3,6]:(C=this.state.items.concat(),h||n?(E=null,K(h,T)?[4,g.fetcher(h,T)]:[3,2]):[3,4]);case 1:return F=z.sent(),F&&!F.ok?(!(h!=null&&h.silent)&&g.notify("error",(s=(r=h==null?void 0:h.messages)===null||r===void 0?void 0:r.failed)!==null&&s!==void 0?s:F.msg||w("fetchFailed")),[2]):(F&&F.ok&&(E=F.data),[3,3]);case 2:E=n.item,z.label=3;case 3:return E=(Array.isArray(E)?E:[E]).filter(function(A){return!v||!me(C,function(M){return M[v]==A[v]})}),_=[],typeof n.index=="string"&&/^\d+(\.\d+)*$/.test(n.index)?_=n.index.split(".").map(function(A){return parseInt(A,10)}):typeof n.index=="number"&&(_=[n.index]),_.length?C=V.apply(void 0,O([C,_,0],N(E),!1)):C.push.apply(C,O([],N(E),!1)),this.setState(c({items:C},this.transformState(C)),function(){if(E.length===1&&p!==!1){var A=_.concat();A[A.length-1]+=1,j.startEdit(A.join("."),!0)}else l==null||l(C)}),[2];case 4:return[2,this.addItem("".concat(C.length-1),!1)];case 5:return[3,13];case 6:return k!=="deleteItem"?[3,12]:(q=O([],N(this.state.items),!1),W=[],(n==null?void 0:n.index)===void 0?[3,7]:(String(n.index).split(",").map(function(A){return A.split(".").map(function(M){return parseInt(M,10)})}).sort(function(A,M){for(var Z=Math.max(A.length,M.length),ee=0;ee<Z;ee++){var ne=A[ee]||0,te=M[ee]||0;if(ne!==te)return te-ne}return 0}).forEach(function(A){W.push(D(q,A)),q=V(q,A,1)}),[3,9]));case 7:return(n==null?void 0:n.condition)===void 0?[3,9]:(Y=[],de(q,function(A,M,Z,ee,ne){return Y.unshift(function(){return B(j,void 0,void 0,function(){var te;return S(this,function(se){switch(se.label){case 0:return[4,ue(n==null?void 0:n.condition,A)];case 1:return te=se.sent(),te&&(W.push(A),q=V(q,O(O([],N(ne),!1),[M],!1),1)),[2]}})})}),!0}),[4,Y.reduce(function(A,M){return A.then(M)},Promise.resolve())]);case 8:z.sent(),z.label=9;case 9:return K(y,Q(T,{deletedItems:W}))?[4,g.fetcher(y,Q(T,{deletedItems:W}))]:[3,11];case 10:if(F=z.sent(),F&&!F.ok)return!(y!=null&&y.silent)&&g.notify("error",(u=(d=y==null?void 0:y.messages)===null||d===void 0?void 0:d.failed)!==null&&u!==void 0?u:F.msg||w("fetchFailed")),[2];z.label=11;case 11:return this.setState(c({items:q},this.transformState(q)),function(){l==null||l(q)}),[2];case 12:if(k==="clear")return this.setState({items:[]},function(){l==null||l([])}),[2];if(k==="reset")return J=(I=he((b=m==null?void 0:m.pristine)!==null&&b!==void 0?b:R==null?void 0:R.pristine,L))!==null&&I!==void 0?I:o,G=Array.isArray(J)?J:[],this.setState(c({items:G},this.transformState(G)),function(){l==null||l(G)}),[2];z.label=13;case 13:return[2,$.prototype.doAction.call(this,e,t,i,T)]}})})},x=fe([Re({type:"input-table"})],x),x}(Oe);export{Ve as TableControlRenderer,Oe as default};
|