CRUD-BBcvS2zD.js 35 KB

1
  1. import{s as ce,aj as he,ak as K,ai as J,al as fe,am as te,an as ve,V as me,v as ge,w as re,ao as ye,ap as ae,K as E,E as _,G as x,aq as ne,a3 as O,y as F,ar as be,as as Fe,at as pe,au as Ce,av as N,X as U,aw as ie,ax as V,ay as Se,az as j,aA as oe,aB as X,f as A,aC as H,aD as Te,k as le,aE as Pe,L as se,a5 as Y,H as Ae,aF as de,aG as ue,aH as Oe,ac as Ie,t as De,a4 as ke,T as _e,z as xe,D as Me,aI as Re,Q as Ee,aJ as we,aK as Be,aL as Qe,aM as Ne}from"./index-DT8qTvyx.js";import{o as Le}from"./omitBy-wxgO6b1E.js";var qe=["selectedChange","columnSort","columnFilter","columnSearch","columnToggled","orderChange","rowClick","rowDbClick","rowMouseEnter","rowMouseLeave","selected"],Ue=function(R){ce(f,R);function f(t){var e=R.call(this,t)||this;e.filterOnEvent=he(function(d){return Le(d,function(u,p){return!qe.includes(p)})}),e.controlRef=e.controlRef.bind(e),e.handleFilterReset=e.handleFilterReset.bind(e),e.handleFilterSubmit=e.handleFilterSubmit.bind(e),e.handleFilterInit=e.handleFilterInit.bind(e),e.handleAction=e.handleAction.bind(e),e.handleBulkAction=e.handleBulkAction.bind(e),e.handleChangePage=e.handleChangePage.bind(e),e.handleBulkGo=e.handleBulkGo.bind(e),e.handleDialogConfirm=e.handleDialogConfirm.bind(e),e.handleDialogClose=e.handleDialogClose.bind(e),e.handleSave=e.handleSave.bind(e),e.handleSaveOrder=e.handleSaveOrder.bind(e),e.handleSelect=e.handleSelect.bind(e),e.handleChildPopOverOpen=e.handleChildPopOverOpen.bind(e),e.handleChildPopOverClose=e.handleChildPopOverClose.bind(e),e.search=e.search.bind(e),e.silentSearch=e.silentSearch.bind(e),e.handleQuery=e.handleQuery.bind(e),e.renderHeaderToolbar=e.renderHeaderToolbar.bind(e),e.renderFooterToolbar=e.renderFooterToolbar.bind(e),e.clearSelection=e.clearSelection.bind(e);var r=t.location,a=t.store,i=t.pageField,n=t.perPageField,l=t.syncLocation;t.loadDataOnce;var o=e.getParseQueryOptions(t);e.mounted=!0,l&&r&&(r.query||r.search)?a.updateQuery(K(r,o),void 0,i,n):l&&!r&&window.location.search&&a.updateQuery(K(window.location,o),void 0,i,n),e.props.store.setFilterTogglable(!!e.props.filterTogglable,e.props.filterDefaultVisible),e.props.api&&e.props.store.updateData({items:[]});var s;return e.props.pickerMode&&(s=J(e.props))&&a.setSelectedItems(s),e}return f.prototype.componentDidMount=function(){var t=this.props,e=t.store,r=t.autoGenerateFilter,a=t.perPageField;t.columns,this.props.perPage&&!e.query[a||"perPage"]&&e.changePage(e.page,this.props.perPage),(!this.props.filter&&!r||e.filterTogggable&&!e.filterVisible)&&this.handleFilterInit({}),this.parentContainer=this.getClosestParentContainer()},f.prototype.componentDidUpdate=function(t){var e,r=this.props,a=t.store;fe(["toolbar","headerToolbar","footerToolbar","bulkActions"],t,r)&&(this.renderHeaderToolbar=this.renderHeaderToolbar.bind(this),this.renderFooterToolbar=this.renderFooterToolbar.bind(this));var i;this.props.pickerMode&&!te(i=J(this.props),J(t))&&!te(i,a.selectedItems.concat())&&a.setSelectedItems(i),!!this.props.filterTogglable!=!!t.filterTogglable&&a.setFilterTogglable(!!r.filterTogglable,r.filterDefaultVisible);var n=!1;if(t.syncLocation&&t.location&&t.location.search!==r.location.search&&(a.updateQuery(K(r.location,this.getParseQueryOptions(r)),void 0,r.pageField,r.perPageField),n=!!(r.api&&ve(a.query,this.lastQuery,!1))),!n){if(t.api&&r.api&&me(t.api,r.api,a.fetchCtxOf(t.data,{pageField:t.pageField,perPageField:t.perPageField}),a.fetchCtxOf(r.data,{pageField:r.pageField,perPageField:r.perPageField})))n=!0;else if(!r.api&&ge(r.source)&&r.data!==t.data){var l=re(r.source,r.data,"| raw");(!this.lastData||this.lastData!==l)&&(a.initFromScope(r.data,r.source,{columns:(e=a.columns)!==null&&e!==void 0?e:r.columns}),this.lastData=l)}}n&&this.search()},f.prototype.componentWillUnmount=function(){var t,e;this.mounted=!1,clearTimeout(this.timer),(e=(t=this.filterOnEvent.cache).clear)===null||e===void 0||e.call(t)},f.prototype.getParseQueryOptions=function(t){var e,r=t.parsePrimitiveQuery,a={parsePrimitive:!!(ye(r)?r!=null&&r.enable:r),primitiveTypes:(e=r==null?void 0:r.types)!==null&&e!==void 0?e:["boolean"]};return a},f.prototype.getClosestParentContainer=function(){var t=ae.findDOMNode(this),e=t==null?void 0:t.closest("[role=dialog]");return e},f.prototype.controlRef=function(t){for(;t&&t.getWrappedInstance;)t=t.getWrappedInstance();this.control=t},f.prototype.handleAction=function(t,e,r,a,i){var n=this;a===void 0&&(a=!1);var l=this.props,o=l.onAction,s=l.store,d=l.messages,u=l.pickerMode,p=l.env;l.pageField;var v=l.stopAutoRefreshWhenModalIsOpen;if(!s.loading)if(e.actionType==="dialog"){s.setCurrentAction(e,this.props.resolveDefinitions);var m=r.index,P=s.items.length;return v&&clearTimeout(this.timer),new Promise(function(b){s.openDialog(r,{hasNext:m<P-1,nextIndex:m+1,hasPrev:m>0,prevIndex:m-1,index:m},function(C,S){var y;(y=e.callback)===null||y===void 0||y.call(e,C,S),b({confirmed:C,value:S})},i||n.context)})}else if(e.actionType==="ajax"){s.setCurrentAction(e,this.props.resolveDefinitions);var c=r,h=e.redirect&&E(e.redirect,c);return h&&e.blank&&p.jumpTo(h,e,c),s.saveRemote(e.api,c,{successMessage:e.messages&&e.messages.success||d&&d.saveSuccess,errorMessage:e.messages&&e.messages.failed||d&&d.saveFailed}).then(function(b){return _(n,void 0,void 0,function(){var C,S;return x(this,function(y){switch(y.label){case 0:return C=O(r,b),e.feedback&&Y(e.feedback,C)?[4,this.openFeedback(e.feedback,C)]:[3,2];case 1:y.sent(),v&&clearTimeout(this.timer),y.label=2;case 2:return S=e.redirect&&E(e.redirect,C),S&&!e.blank&&p.jumpTo(S,e,C),e.reload?this.reloadTarget(N(e.reload,C),C):S||this.search(void 0,void 0,!0,!0),e.close&&this.closeTarget(e.close),[2]}})})}).catch(function(b){if(a||e.countDown)throw b})}else if(e.actionType==="reload"&&!e.target)this.reload();else{if(u&&(e.actionType==="confirm"||e.actionType==="submit"))return s.setCurrentAction(e,this.props.resolveDefinitions),Promise.resolve({items:s.selectedItems.concat()});if(e.onClick){s.setCurrentAction(e,this.props.resolveDefinitions);var g=e.onClick;typeof g=="string"&&(g=ne(g,"event","props","data")),g&&g(t,this.props,r)}else o(t,e,r,a,i||this.context)}},f.prototype.handleBulkAction=function(t,e,r,a){var i=this,n,l=this.props,o=l.store,s=l.primaryField,d=l.onAction,u=l.messages,p=l.pageField,v=l.stopAutoRefreshWhenModalIsOpen,m=l.env;if(!(!t.length&&a.requireSelected!==!1)){var P=t.map(function(b){return b.hasOwnProperty(s)?b[s]:null}).filter(function(b){return b}).join(","),c=O(o.mergedData,F(F({},t[0]),{currentPageData:(((n=o.mergedData)===null||n===void 0?void 0:n.items)||[]).concat(),rows:t,items:t,selectedItems:t,unSelectedItems:e,ids:P,event:r})),h=function(){if(a.actionType==="dialog")return i.handleAction(r,F(F({},a),{__from:"bulkAction"}),c);a.actionType==="ajax"?U(a.api,c)&&o.saveRemote(a.api,c,{successMessage:a.messages&&a.messages.success||u&&u.saveSuccess,errorMessage:a.messages&&a.messages.failed||u&&u.saveFailed}).then(function(b){return _(i,void 0,void 0,function(){var C,S,y;return x(this,function(T){switch(T.label){case 0:return C=O(c,b),a.feedback&&Y(a.feedback,C)?[4,this.openFeedback(a.feedback,C)]:[3,2];case 1:T.sent(),v&&clearTimeout(this.timer),T.label=2;case 2:return a.reload?this.reloadTarget(N(a.reload,C),C):this.search((y={},y[p||"page"]=1,y),void 0,!0,!0),a.close&&this.closeTarget(a.close),S=a.redirect&&E(a.redirect,C),S&&m.jumpTo(S,a,C),[2]}})})}).catch(function(){return null}):d&&d(r,a,c,!1,i.context)},g="";!a.ignoreConfirm&&a.confirmText&&m.confirm&&(g=E(a.confirmText,c))?m.confirm(g,E(a.confirmTitle,c)||void 0).then(function(b){return b&&h()}):h()}},f.prototype.handleItemAction=function(t,e){this.doAction(t,e)},f.prototype.handleFilterInit=function(t){var e=this.props,r=e.defaultParams;e.data;var a=e.store,i=e.orderBy,n=e.orderDir;e.dispatchEvent;var l=F({},r);i&&(l.orderBy=i,l.orderDir=n||"asc"),this.handleFilterSubmit(F(F(F({},l),t),a.query),!1,!0,this.props.initFetch!==!1,!0),a.setPristineQuery();var o=this.props,s=o.pickerMode,d=o.options;s&&a.updateData({items:d||[]})},f.prototype.handleFilterReset=function(t,e){var r=this.props,a=r.store,i=r.syncLocation,n=r.env,l=r.pageField,o=r.perPageField,s={};Object.keys(t).forEach(function(d){return s[d]=""}),a.updateQuery(F(F({},s),a.pristineQuery),i&&n&&n.updateLocation?function(d){return n.updateLocation(d)}:void 0,l,o,!0),this.lastQuery=a.query,!(e!=null&&e.actionType&&["reset-and-submit","clear-and-submit","submit"].includes(e.actionType))&&this.search()},f.prototype.handleFilterSubmit=function(t,e,r,a,i){var n,l,o;e===void 0&&(e=!0),r===void 0&&(r=!1),a===void 0&&(a=!0),i===void 0&&(i=!1);var s=this.props,d=s.store,u=s.syncLocation,p=s.env,v=s.pageField,m=s.perPageField,P=s.loadDataOnceFetchOnFilter,c=s.parsePrimitiveQuery,h=this.getParseQueryOptions(this.props);t=F(F({},t),be((o=(l=t==null?void 0:t.__super)===null||l===void 0?void 0:l.diff)!==null&&o!==void 0?o:{},function(g){return g===void 0})),t=u?Fe(pe(t,void 0,!0)):t,c&&(t=Ce(t,h)),d.updateQuery(F(F({},t),(n={},n[v||"page"]=e?1:d.page,n)),u&&p&&p.updateLocation?function(g){return p.updateLocation(g,r)}:void 0,v,m),this.lastQuery=d.query,a&&this.search(void 0,void 0,void 0,P!==!1,i)},f.prototype.handleBulkGo=function(t,e,r){var a=this,i=this.props.store.selectedAction,n=this.props.env,l="";return i.confirmText&&(l=E(i.confirmText,this.props.store.mergedData))?n.confirm(l).then(function(o){return o&&a.handleBulkAction(t,e,r,i)}):this.handleBulkAction(t,e,r,i)},f.prototype.handleDialogConfirm=function(t,e,r,a){var i,n,l,o,s=this.props,d=s.store,u=s.pageField,p=s.stopAutoRefreshWhenModalIsOpen,v=s.interval,m=s.silentPolling,P=s.env;d.closeDialog(!0,t);var c=d.action;if(p&&v&&(this.timer=setTimeout(m?this.silentSearch:this.search,Math.max(v,1e3))),e.actionType==="next"&&typeof r.nextIndex=="number"&&d.data.items[r.nextIndex])return this.handleAction(void 0,F({},c),O(O(d.data,{index:r.nextIndex}),d.data.items[r.nextIndex]));if(e.actionType==="prev"&&typeof r.prevIndex=="number"&&d.data.items[r.prevIndex])return this.handleAction(void 0,F({},c),O(O(d.data,{index:r.prevIndex}),d.data.items[r.prevIndex]));if(t.length){var h=t[0];r=O(r,h);var g=a[0];if(g&&g.props.type==="form")if(h&&h.__saved){var b=(n=e.reload)!==null&&n!==void 0?n:c.reload;b||this.search(c.__from?(i={},i[u||"page"]=1,i):void 0,void 0,!0,!0)}else h&&(h.hasOwnProperty("items")&&h.items||h.hasOwnProperty("ids"))&&this.control.bulkUpdate&&this.control.bulkUpdate(h,h.items)}var C=(l=e.reload)!==null&&l!==void 0?l:c.reload;C&&this.reloadTarget(N(C,r),r);var S=(o=e.redirect)!==null&&o!==void 0?o:c.redirect;S=S&&E(S,r),S&&P.jumpTo(S,c,r)},f.prototype.handleDialogClose=function(t){t===void 0&&(t=!1);var e=this.props,r=e.store,a=e.stopAutoRefreshWhenModalIsOpen,i=e.silentPolling,n=e.interval;r.closeDialog(t),a&&n&&(this.timer=setTimeout(i?this.silentSearch:this.search,Math.max(n,1e3)))},f.prototype.openFeedback=function(t,e){var r=this;return new Promise(function(a){var i=r.props.store;i.setCurrentAction({type:"button",actionType:"dialog",dialog:t},r.props.resolveDefinitions),i.openDialog(e,void 0,function(n){a(n)},r.context)})},f.prototype.search=function(t,e,r,a,i){var n,l,o,s;return a===void 0&&(a=!1),i===void 0&&(i=!1),_(this,void 0,void 0,function(){var d,u,p,v,m,P,c,h,g,b,C,S,y,T,I,M,L,k,w,B,Q,D,G,$,Z,ee,W,z;return x(this,function(q){switch(q.label){case 0:return d=this.props,u=d.store,p=d.api,v=d.messages,m=d.pageField,P=d.perPageField,c=d.interval,h=d.stopAutoRefreshWhen,g=d.stopAutoRefreshWhenModalIsOpen,b=d.silentPolling,C=d.syncLocation,S=d.syncResponse2Query,y=d.pickerMode,T=d.env,I=d.loadDataOnce,M=d.source,L=d.columns,k=d.dispatchEvent,r&&!y&&u.resetSelection(),w="",t&&typeof t.loadDataMode=="string"&&(w="load-more",delete t.loadDataMode),clearTimeout(this.timer),t&&u.updateQuery(t,!w&&C&&T&&T.updateLocation?T.updateLocation:void 0,m,P),this.lastQuery=u.query,B=O(u.data,u.query),Q=!((n=this.props)===null||n===void 0)&&n.matchFunc&&typeof this.props.matchFunc=="string"?ne(this.props.matchFunc,"items","itemsRaw","options"):void 0,U(p,B)?[4,u.fetchInitData(p,B,{successMessage:v&&v.fetchSuccess,errorMessage:v&&v.fetchFailed,autoAppend:!0,forceReload:a,loadDataOnce:I,source:M,silent:e,pageField:m,perPageField:P,loadDataMode:w,syncResponse2Query:S,columns:(l=u.columns)!==null&&l!==void 0?l:L,matchFunc:Q})]:[3,4];case 1:return D=q.sent(),Be(u)?(G=u.page,$=u.lastPage,Z=u.msg,ee=u.error,i?[4,k==null?void 0:k("fetchInited",O(this.props.data,{responseData:D!=null&&D.ok?(o=u.data)!==null&&o!==void 0?o:{}:D,responseStatus:(D==null?void 0:D.status)===void 0?ee?1:0:D==null?void 0:D.status,responseMsg:Z}))]:[3,3]):[2,D];case 2:if(W=q.sent(),W!=null&&W.prevented)return[2,u.data];q.label=3;case 3:return!u.data.items.length&&!c&&G>1&&$<G&&this.search(F(F({},u.query),(z={},z[m||"page"]=$,z)),!1,void 0),D!=null&&D.ok&&c&&this.mounted&&(!h||!(g&&u.hasModalOpened||Ne(h,O(u.data,u.query))))&&(this.timer=setTimeout(b?this.silentSearch.bind(this,void 0,void 0,!0):this.search.bind(this,void 0,void 0,void 0,!0),Math.max(c,1e3))),[3,5];case 4:M&&u.initFromScope(B,M,{columns:(s=u.columns)!==null&&s!==void 0?s:L,matchFunc:Q}),q.label=5;case 5:return[2,u.data]}})})},f.prototype.silentSearch=function(t,e,r){return r===void 0&&(r=!1),this.search(t,!0,e,r)},f.prototype.handleChangePage=function(t,e,r){var a,i=this.props,n=i.store,l=i.syncLocation,o=i.env,s=i.pageField,d=i.perPageField,u=i.pageDirectionField,p=i.autoJumpToTopOnPagerChange,v=(a={},a[s||"page"]=t,a);if(r&&(v[u||"pageDir"]=r),e&&(v[d||"perPage"]=e),n.updateQuery(v,l&&(o!=null&&o.updateLocation)?o.updateLocation:void 0,s,d),this.search(void 0,void 0,void 0),p&&this.control)if(this.control.scrollToTop)this.control.scrollToTop();else{ae.findDOMNode(this.control).scrollIntoView();var m=window.scrollY;m&&window.scroll(0,m)}},f.prototype.handleSave=function(t,e,r,a,i,n){var l=this,o=this.props,s=o.store,d=o.quickSaveApi,u=o.quickSaveItemApi,p=o.primaryField,v=o.env,m=o.messages,P=o.reload,c=o.dispatchEvent;if(Array.isArray(t)){if(!U(d)){v&&v.alert("CRUD quickSaveApi is required");return}var h=O(s.data,{rows:t,rowsDiff:e,indexes:r,rowsOrigin:i});return t.length&&t[0].hasOwnProperty(p||"id")&&(h.ids=t.map(function(C){return C[p||"id"]}).join(",")),a&&(h.unModifiedItems=a),s.saveRemote(d,h,{successMessage:m&&m.saveFailed,errorMessage:m&&m.saveSuccess}).then(function(C){return _(l,void 0,void 0,function(){var S,y,T;return x(this,function(I){switch(I.label){case 0:return C?[4,c==null?void 0:c("quickSaveSucc",V(h,{result:C}))]:[2];case 1:return S=I.sent(),S!=null&&S.prevented?[2]:(y=(T=n==null?void 0:n.reload)!==null&&T!==void 0?T:P,[2,y?this.reloadTarget(N(y,h),h):this.search(void 0,void 0,!0,!0)])}})})}).catch(function(C){return _(l,void 0,void 0,function(){return x(this,function(S){switch(S.label){case 0:return[4,c==null?void 0:c("quickSaveFail",O(this.props.data,{error:C}))];case 1:return S.sent(),[2]}})})})}else{if(!U(u)){v&&v.alert("CRUD quickSaveItemApi is required!");return}var g=O(s.data,{item:t,modified:e,origin:i}),b=O(g,t);return s.saveRemote(u,b).then(function(C){return _(l,void 0,void 0,function(){var S,y,T;return x(this,function(I){switch(I.label){case 0:return C?[4,c==null?void 0:c("quickSaveItemSucc",V(g,{result:C}))]:[2];case 1:return S=I.sent(),S!=null&&S.prevented?[2]:(y=(T=n==null?void 0:n.reload)!==null&&T!==void 0?T:P,[2,y?this.reloadTarget(N(y,g),g):this.search(void 0,void 0,!0,!0)])}})})}).catch(function(C){return _(l,void 0,void 0,function(){return x(this,function(S){switch(S.label){case 0:return n!=null&&n.resetOnFailed&&this.control.reset(),[4,c==null?void 0:c("quickSaveItemFail",O(this.props.data,{error:C}))];case 1:return S.sent(),[2]}})})})}},f.prototype.handleSaveOrder=function(t,e){var r=this,a=this.props,i=a.store,n=a.saveOrderApi,l=a.orderField,o=a.primaryField,s=a.env,d=a.reload,u=a.dispatchEvent;if(!n){s&&s.alert("CRUD saveOrderApi is required!");return}var p=O(i.data),v,m,P=[],c=o&&e[0]&&e[0].hasOwnProperty(o);if(c||(p.idMap={}),p.insertAfter={},e.forEach(function(y){if(~t.indexOf(y))if(v){var T=c?v[o]:e.indexOf(v);p.insertAfter[T]=p.insertAfter[T]||[],c||(p.idMap[T]=v),p.insertAfter[T].push(c?y[o]:y)}else P.push(y);else v=y,m=m||y}),m&&P.length){var h=c?m[o]:e.indexOf(m);c||(p.idMap[h]=m),p.insertBefore={},p.insertBefore[h]=P.map(function(y){return c?y[o]:y})}else if(P.length){var g=P[0],b=c?g[o]:e.indexOf(g);c||(p.idMap[b]=g),p.insertAfter[b]=P.slice(1).map(function(y){return c?y[o]:y})}if(l){var C=(i.page-1)*i.perPage||0;e=ie(e,function(y,T,I){var M;return V(y,(M={},M[l]=(I===1?C:0)+T+1,M))})}if(p.rows=e.concat(),c){var S=function(y){return y.map(function(T){return"".concat(T[o]).concat(Array.isArray(T.children)&&T.children.length?"[".concat(S(T.children),"]"):"")}).join(",")};p.ids=S(e),l&&(p.order=ie(e,function(y){return Se(y,[o,l,"children"])}))}return U(n,p)&&i.saveRemote(n,p).then(function(y){return _(r,void 0,void 0,function(){var T;return x(this,function(I){switch(I.label){case 0:return y?[4,u==null?void 0:u("saveOrderSucc",V(p,{result:y}))]:[2];case 1:return T=I.sent(),T!=null&&T.prevented?[2]:(d&&this.reloadTarget(N(d,p),p),this.search(void 0,void 0,!0,!0),[2])}})})}).catch(function(y){return _(r,void 0,void 0,function(){return x(this,function(T){switch(T.label){case 0:return[4,u==null?void 0:u("saveOrderFail",O(this.props.data,{error:y}))];case 1:return T.sent(),[2]}})})})},f.prototype.handleSelect=function(t,e){var r=this.props,a=r.store,i=r.keepItemSelectionOnPageChange,n=r.primaryField,l=r.multiple,o=r.pickerMode,s=r.strictMode,d=r.onSelect,u=t,p=e;if(i&&a.selectedItems.length){var v=a.selectedItems.concat(),m=a.unSelectedItems.concat(),P=function(c,h){var g=c[n||"id"],b=h[n||"id"],C=s?g===b:g==b;return c===h||g&&C};t.forEach(function(c){var h=j(v,function(b){return P(b,c)});~h?v[h]=c:v.push(c);var g=j(m,function(b){return P(b,c)});~g&&m.splice(g,1)}),e.forEach(function(c){var h=j(m,function(b){return P(b,c)}),g=j(v,function(b){return P(b,c)});~h?m[h]=c:m.push(c),!~h&&~g&&v.splice(g,1)}),u=v,p=m}o&&l===!1&&u.length>1&&p.push.apply(p,u.splice(0,u.length-1)),a.setSelectedItems(u),a.setUnSelectedItems(p),d&&d(u,p)},f.prototype.handleChildPopOverOpen=function(t){this.props.interval&&t&&~["dialog","drawer"].indexOf(t.mode)&&(this.props.stopAutoRefreshWhenModalIsOpen&&clearTimeout(this.timer),this.props.store.setInnerModalOpened(!0))},f.prototype.handleChildPopOverClose=function(t){var e=this.props,r=e.stopAutoRefreshWhenModalIsOpen,a=e.silentPolling,i=e.interval;t&&~["dialog","drawer"].indexOf(t.mode)&&(this.props.store.setInnerModalOpened(!1),r&&i&&(this.timer=setTimeout(a?this.silentSearch:this.search,Math.max(i,1e3))))},f.prototype.handleQuery=function(t,e,r,a,i){var n,l=this.props,o=l.store,s=l.syncLocation,d=l.env,u=l.pageField,p=l.perPageField,v=l.loadDataOnceFetchOnFilter;return o.updateQuery(a?F((n={},n[u||"page"]=1,n),t):t,s&&d&&d.updateLocation?d.updateLocation:void 0,u,p,r),this.search(void 0,void 0,i??r,e??v===!0)},f.prototype.reload=function(t,e,r,a,i){return e?this.receive(e,void 0,r,a,!0):this.search(void 0,void 0,!0,!0)},f.prototype.receive=function(t,e,r,a,i){return this.handleQuery(t,!0,r,a,i)},f.prototype.reloadTarget=function(t,e){},f.prototype.closeTarget=function(t){},f.prototype.doAction=function(t,e,r,a){var i;return r===void 0&&(r=!1),_(this,void 0,void 0,function(){var n,l,o;return x(this,function(s){switch(s.label){case 0:return n=this.props.store,t.actionType&&["submitQuickEdit","toggleExpanded","setExpanded","initDrag","cancelDrag"].includes(t.actionType)?[2,(i=this.control)===null||i===void 0?void 0:i.doAction(t,e,r,a)]:[3,1];case 1:return t.actionType!=="selectAll"?[3,2]:[2,this.handleSelect(n.items.concat(),[])];case 2:return t.actionType!=="clearAll"?[3,3]:[2,this.handleSelect([],n.items.concat())];case 3:return t.actionType!=="select"?[3,5]:[4,Qe(n.items,e,a==null?void 0:a.index,a==null?void 0:a.condition)];case 4:return l=s.sent(),o=n.items.filter(function(d){return!l.includes(d)}),[2,this.handleSelect(l,o)];case 5:return[2,this.handleAction(void 0,t,e,r)]}})})},f.prototype.unSelectItem=function(t,e){var r=this.props.store,a=r.selectedItems.concat(),i=r.unSelectedItems.concat(),n=a.indexOf(t);~n&&i.push.apply(i,a.splice(n,1)),r.setSelectedItems(a),r.setUnSelectedItems(i)},f.prototype.clearSelection=function(){var t=this.props.store,e=t.selectedItems.concat(),r=t.unSelectedItems.concat(e);t.setSelectedItems([]),t.setUnSelectedItems(r)},f.prototype.hasBulkActionsToolbar=function(){var t=this.props,e=t.headerToolbar,r=t.footerToolbar,a=function(i){return~["bulkActions","bulk-actions"].indexOf(i.type||i)};return Array.isArray(e)&&oe(e,a)||Array.isArray(r)&&oe(r,a)},f.prototype.hasBulkActions=function(){var t=this.props,e=t.bulkActions;t.itemActions;var r=t.store;if(!e||!e.length)return!1;var a=[],i=r.mergedData;return e&&e.length&&(a=e.map(function(n){return F(F({},n),X(n,i))}).filter(function(n){return!n.hidden&&n.visible!==!1})),a.length},f.prototype.renderBulkActions=function(t){var e=this,r,a=this.props,i=a.bulkActions,n=a.itemActions,l=a.store,o=a.render,s=a.classnames,d=a.primaryField;if(!i||!i.length)return null;var u=l.selectedItems,p=l.unSelectedItems,v=[],m=[],P=O(l.mergedData,{currentPageData:(((r=l.mergedData)===null||r===void 0?void 0:r.items)||[]).concat(),rows:u.concat(),items:u.concat(),selectedItems:u.concat(),unSelectedItems:p.concat(),ids:u.map(function(h){return h.hasOwnProperty(d)?h[d]:null}).filter(function(h){return h}).join(",")});i&&i.length&&(!n||!n.length||u.length>1)&&(v=i.map(function(h){return F(F({},h),X(h,P))}).filter(function(h){return!h.hidden&&h.visible!==!1}));var c=O(l.data,u.length?u[0]:{});return n&&u.length<=1&&(m=n.map(function(h){return F(F({},h),X(h,c))}).filter(function(h){return!h.hidden&&h.visible!==!1})),v.length||m.length?A.createElement("div",{className:s("Crud-actions")},v.map(function(h,g){return o("bulk-action/".concat(g),F(F({},H(h,["visibleOn","hiddenOn","disabledOn"])),{type:h.type||"button",ignoreConfirm:!0}),{key:"bulk-".concat(g),data:P,disabled:h.disabled||(h.requireSelected!==!1?!u.length:!1),onAction:e.handleBulkAction.bind(e,u.concat(),p.concat())})}),m.map(function(h,g){return o("bulk-action/".concat(g),F(F({},H(h,["visibleOn","hiddenOn","disabledOn"])),{type:"button"}),{key:"item-".concat(g),data:c,disabled:h.disabled||u.length!==1,onAction:e.handleItemAction.bind(e,h,c)})})):null},f.prototype.renderPagination=function(t){var e=this.props,r=e.store,a=e.render,i=e.classnames,n=e.alwaysShowPagination,l=e.perPageAvailable,o=e.testIdBuilder,s=r.page,d=r.lastPage;if(r.mode!=="simple"&&r.lastPage<2&&!n)return null;var u={};if(Array.isArray(l)&&(u.perPageAvailable=l),typeof t!="string"){Object.assign(u,t);var p=t.showPageInput;u.showPageInput=p===!0||d>9&&p==null,u.total=re(t.total,r.data)}else u.showPageInput=d>9;return A.createElement("div",{className:i("Crud-pager")},a("pagination",{type:"pagination",testIdBuilder:o==null?void 0:o.getChild("pagination")},F(F({},u),{activePage:s,lastPage:d,hasNext:r.hasNext,mode:r.mode,perPage:r.perPage,popOverContainer:this.parentContainer,onPageChange:this.handleChangePage})))},f.prototype.renderStatistics=function(){var t=this.props,e=t.store,r=t.classnames,a=t.translate,i=t.alwaysShowPagination;return e.lastPage<=1&&!i?null:A.createElement("div",{className:r("Crud-statistics")},a("CRUD.stat",{page:e.page,lastPage:e.lastPage,total:e.total}))},f.prototype.renderSwitchPerPage=function(t){var e=this,r=this.props,a=r.mobileUI,i=r.store,n=r.perPageAvailable,l=r.classnames,o=r.classPrefix,s=r.translate,d=r.testIdBuilder,u=t.items;if(!u.length)return null;var p=a?(n||[5,10,20,50,100]).map(function(v){return{label:v+" 条/页",value:v+""}}):(n||[5,10,20,50,100]).map(function(v){return{label:v,value:v+""}});return A.createElement("div",{className:l("Crud-pageSwitch")},a?null:A.createElement("span",null,s("CRUD.perPage")),A.createElement(Te,{classPrefix:o,searchable:!1,placeholder:s("Select.placeholder"),options:p,value:i.perPage+"",onChange:function(v){return e.handleChangePage(1,v.value)},clearable:!1,popOverContainer:this.parentContainer,testIdBuilder:d==null?void 0:d.getChild("perPage")}))},f.prototype.renderLoadMore=function(){var t=this,e=this.props,r=e.store,a=e.classPrefix,i=e.classnames,n=e.translate,l=e.testIdBuilder,o=r.page,s=r.lastPage;return A.createElement("div",{className:i("Crud-loadMore")},A.createElement(le,F({disabled:o>=s,disabledTip:n("CRUD.loadMoreDisableTip"),classPrefix:a,onClick:function(){return t.search({page:o+1,loadDataMode:"load-more"})},size:"sm"},l==null?void 0:l.getChild("loadMore").getTestId()),n("CRUD.loadMore")))},f.prototype.renderFilterToggler=function(){var t,e,r,a=this.props,i=a.store,n=a.classnames,l=a.translate,o=a.filterTogglable;if(!i.filterTogggable)return null;var s=Pe(o)?F({},o):{};return i.filterVisible&&(s.icon=(t=s.activeIcon)!==null&&t!==void 0?t:s.icon,s.label=(e=s.activeLabel)!==null&&e!==void 0?e:s.label),A.createElement("button",{onClick:function(){return i.setFilterVisible(!i.filterVisible)},className:n("Button Button--size-default Button--default",{"is-active":i.filterVisible})},s.icon?A.createElement(se,{icon:s.icon,className:"icon m-r-xs"}):(s==null?void 0:s.icon)!==!1?A.createElement(se,{icon:"filter",className:"icon m-r-xs"}):null,(r=s==null?void 0:s.label)!==null&&r!==void 0?r:l("CRUD.filter"))},f.prototype.renderExportCSV=function(t){var e=this.props,r=e.store,a=e.classPrefix,i=e.translate,n=e.loadDataOnce,l=t.api,o=t.filename;return A.createElement(le,{classPrefix:a,onClick:function(){return r.exportAsCSV({loadDataOnce:n,api:l,filename:o,data:r.filterData})}},t.label||i("CRUD.exportCSV"))},f.prototype.renderToolbar=function(t,e,r,a){var i=this;if(e===void 0&&(e=0),r===void 0&&(r={}),!t)return null;var n=this.props,l=n.render,o=n.store,s=n.mobileUI,d=n.translate,u=n.testIdBuilder,p=t.type||t;if(p==="bulkActions"||p==="bulk-actions")return this.renderBulkActions(r);if(p==="pagination")return this.renderPagination(t);if(p==="statistics")return this.renderStatistics();if(p==="switch-per-page")return this.renderSwitchPerPage(r);if(p==="load-more")return this.renderLoadMore();if(p==="filter-toggler")return this.renderFilterToggler();if(p==="export-csv")return this.renderExportCSV(t);if(p==="reload"){var v={label:"",icon:"fa fa-sync",tooltip:d("reload"),tooltipPlacement:"top",type:"button"};return typeof t=="object"&&(v=F(F({},v),H(t,["type","align"]))),l("toolbar/".concat(e),v,{onAction:function(){i.reload()}})}else if(Array.isArray(t)){var m=t.filter(function(b){return Y(b,o.filterData)}).map(function(b,C){return{dom:i.renderToolbar(b,C,r,a),toolbar:b}}).filter(function(b){return b.dom}),P=m.length,c=this.props.classnames;return P?A.createElement("div",F({className:c("Crud-toolbar"),key:e},u==null?void 0:u.getChild("toolbar").getTestId()),m.map(function(b,C){var S=b.toolbar,y=b.dom,T=S.type||S,I=S.align||(T==="pagination"?"right":"left");return A.createElement("div",{key:S.id||C,className:c("Crud-toolbar-item",I?"Crud-toolbar-item--".concat(I):"",{"is-mobile":s})},y)})):null}var h=a?a(t,e):void 0;if(h!==void 0)return h;var g=r.$$editable;return l("toolbar/".concat(e),t,{data:o.toolbarData,page:o.page,lastPage:o.lastPage,perPage:o.perPage,total:o.total,onQuery:this.handleQuery,onAction:this.handleAction,onChangePage:this.handleChangePage,onBulkAction:this.handleBulkAction,$$editable:g})},f.prototype.renderHeaderToolbar=function(t,e){var r=this.props,a=r.toolbar,i=r.toolbarInline,n=r.headerToolbar;return a&&(Array.isArray(n)?n=i?n.concat(a):[n,a]:n?n=[n,a]:n=a),this.renderToolbar(n||[],0,t,e)},f.prototype.renderFooterToolbar=function(t,e){var r=this.props,a=r.toolbar,i=r.toolbarInline,n=r.footerToolbar;return a&&(Array.isArray(n)?n=i?n.concat(a):[n,a]:n?n=[n,a]:n=a),this.renderToolbar(n,0,t,e)},f.prototype.renderTag=function(t,e){var r=this.props,a=r.classnames,i=r.labelField,n=r.labelTpl,l=r.primaryField,o=r.valueField;r.translate;var s=r.env;return A.createElement("div",{key:e,className:a("Crud-value")},A.createElement("span",{className:a("Crud-valueIcon"),onClick:this.unSelectItem.bind(this,t,e)},"×"),A.createElement("span",{className:a("Crud-valueLabel")},n?A.createElement(Ae,{html:E(n,t),filterHtml:s.filterHtml}):de(t,i||"label")||de(t,o||l||"id")))},f.prototype.renderSelection=function(){var t=this,e=this.props,r=e.store,a=e.classPrefix,i=e.classnames;e.labelField,e.labelTpl,e.primaryField,e.valueField;var n=e.translate;e.env;var l=e.popOverContainer,o=e.multiple,s=e.maxTagCount,d=e.overflowTagPopover;if(!r.selectedItems.length)return null;var u=r.selectedItems.length,p=r.selectedItems,v=o!==!1&&we(s,{start:0,end:u,left:"inclusive",right:"exclusive"});return v&&(p=ue(ue([],Oe(r.selectedItems.slice(0,s)),!1),[{label:"+ ".concat(u-s," ..."),value:"__overflow_tag__"}],!1)),A.createElement("div",{className:i("Crud-selection")},A.createElement("div",{className:i("Crud-selectionLabel")},n("CRUD.selected",{total:r.selectedItems.length})),p.map(function(m,P){return v&&P===s?A.createElement(Ie,{key:P,container:l,tooltip:F(F({placement:"top",trigger:"hover",showArrow:!1,offset:[0,-10],tooltipClassName:i("Crud-selection-overflow",d==null?void 0:d.tooltipClassName),title:n("已选项")},H(d,["children","content","tooltipClassName"])),{children:function(){return A.createElement("div",{className:i("".concat(a,"Crud-selection-overflow-wrapper"))},r.selectedItems.slice(s,u).map(function(c,h){var g=h+s;return t.renderTag(c,g)}))}})},A.createElement("div",{key:P,className:i("Crud-value")},A.createElement("span",{className:i("Crud-valueLabel")},m.label))):t.renderTag(m,P)}),A.createElement("a",{onClick:this.clearSelection,className:i("Crud-selectionClear")},n("clear")))},f.prototype.render=function(){var t,e=this.props,r=e.className,a=e.style,i=e.bodyClassName,n=e.filter,l=e.render,o=e.store,s=e.mode;e.syncLocation,e.children;var d=e.bulkActions,u=e.pickerMode,p=e.multiple,v=e.strictMode,m=e.valueField,P=e.primaryField;e.value;var c=e.hideQuickSaveBtn,h=e.itemActions,g=e.classnames,b=e.keepItemSelectionOnPageChange,C=e.maxKeepItemSelectionLength,S=e.maxItemSelectionLength;e.onAction;var y=e.popOverContainer,T=e.translate;e.onQuery;var I=e.autoGenerateFilter;e.onSelect;var M=e.autoFillHeight,L=e.onEvent;e.onSave,e.onSaveOrder,e.onPopOverOpened,e.onPopOverClosed,e.onSearchableFromReset,e.onSearchableFromSubmit,e.onSearchableFromInit,e.headerToolbarRender,e.footerToolbarRender;var k=e.testIdBuilder,w=e.id,B=e.filterCanAccessSuperData,Q=B===void 0?!0:B,D=De(e,["className","style","bodyClassName","filter","render","store","mode","syncLocation","children","bulkActions","pickerMode","multiple","strictMode","valueField","primaryField","value","hideQuickSaveBtn","itemActions","classnames","keepItemSelectionOnPageChange","maxKeepItemSelectionLength","maxItemSelectionLength","onAction","popOverContainer","translate","onQuery","autoGenerateFilter","onSelect","autoFillHeight","onEvent","onSave","onSaveOrder","onPopOverOpened","onPopOverClosed","onSearchableFromReset","onSearchableFromSubmit","onSearchableFromInit","headerToolbarRender","footerToolbarRender","testIdBuilder","id","filterCanAccessSuperData"]);return A.createElement("div",F({className:g("Crud",r,{"is-loading":o.loading,"is-mobile":ke()}),style:a,"data-id":w},k==null?void 0:k.getChild("wrapper").getTestId()),n&&(!o.filterTogggable||o.filterVisible)?l("filter",F(F({title:T("CRUD.filter"),mode:"inline",submitText:T("search")},n),{type:"form",api:null,testIdBuilder:k==null?void 0:k.getChild("filter")}),{key:"filter",panelClassName:g("Crud-filter",n.panelClassName||"Panel--default"),data:o.filterData,onReset:this.handleFilterReset,onSubmit:this.handleFilterSubmit,onInit:this.handleFilterInit,formStore:void 0,canAccessSuperData:Q}):null,b&&p!==!1?this.renderSelection():null,l("body",F(F({},D),{id:w,onEvent:this.filterOnEvent(L),columns:(t=o.columns)!==null&&t!==void 0?t:D.columns,type:s||"table"}),{key:"body",className:g("Crud-body",i),ref:this.controlRef,autoGenerateFilter:!n&&I,filterCanAccessSuperData:Q,autoFillHeight:M,selectable:!!(this.hasBulkActionsToolbar()&&this.hasBulkActions()||u),itemActions:h,multiple:p===void 0?!!(d&&d.length>0):p,selected:o.selectedItemsAsArray,strictMode:v,keepItemSelectionOnPageChange:b,maxKeepItemSelectionLength:C,maxItemSelectionLength:S,valueField:m||P,primaryField:P,hideQuickSaveBtn:c,items:o.data.items,query:o.query,orderBy:o.query.orderBy,orderDir:o.query.orderDir,popOverContainer:y,onAction:this.handleAction,onSave:this.handleSave,onSaveOrder:this.handleSaveOrder,onQuery:this.handleQuery,onSelect:this.handleSelect,onPopOverOpened:this.handleChildPopOverOpen,onPopOverClosed:this.handleChildPopOverClose,onSearchableFromReset:this.handleFilterReset,onSearchableFromSubmit:this.handleFilterSubmit,onSearchableFromInit:this.handleFilterInit,headerToolbarRender:this.renderHeaderToolbar,footerToolbarRender:this.renderFooterToolbar,data:o.mergedData,loading:o.loading,host:this,testIdBuilder:k==null?void 0:k.getChild("body")}),l("dialog",F(F({},o.action&&o.action.dialog),{type:"dialog"}),{key:"dialog",data:o.dialogData,onConfirm:this.handleDialogConfirm,onClose:this.handleDialogClose,show:o.dialogOpen}))},f.propsList=["bulkActions","itemActions","mode","orderField","syncLocation","toolbar","toolbarInline","messages","value","options","multiple","valueField","defaultParams","bodyClassName","perPageAvailable","pageField","perPageField","pageDirectionField","hideQuickSaveBtn","autoJumpToTopOnPagerChange","interval","silentPolling","stopAutoRefreshWhen","stopAutoRefreshWhenModalIsOpen","api","affixHeader","columnsTogglable","placeholder","tableClassName","headerClassName","footerClassName","headerToolbar","footerToolbar","filterTogglable","filterDefaultVisible","autoGenerateFilter","syncResponse2Query","keepItemSelectionOnPageChange","labelTpl","labelField","loadDataOnce","loadDataOnceFetchOnFilter","source","header","columns","size","onChange","onInit","onSaved","onSave","onQuery","formStore","autoFillHeight","maxTagCount","overflowTagPopover","parsePrimitiveQuery","matchFunc"],f.defaultProps={toolbarInline:!0,headerToolbar:["bulkActions"],footerToolbar:["statistics","pagination"],primaryField:"id",syncLocation:!0,pageField:"page",perPageField:"perPage",pageDirectionField:"pageDir",hideQuickSaveBtn:!1,autoJumpToTopOnPagerChange:!0,silentPolling:!1,filterTogglable:!1,filterDefaultVisible:!0,loadDataOnce:!1,autoFillHeight:!1,parsePrimitiveQuery:!0},f}(A.Component),je=function(R){ce(f,R);function f(t,e){var r=R.call(this,t)||this,a=e;return a.registerComponent(r),r}return f.prototype.componentWillUnmount=function(){R.prototype.componentWillUnmount.call(this);var t=this.context;t.unRegisterComponent(this)},f.prototype.reload=function(t,e,r,a,i,n){var l,o,s=this.context;return n!=null&&n.index||n!=null&&n.condition?(l=this.control)===null||l===void 0?void 0:l.reload("",e,r,void 0,void 0,n):t?s.reload(e?"".concat(t,"?").concat(pe(e)):t,r):R.prototype.reload.call(this,t,e,i,(o=n==null?void 0:n.resetPage)!==null&&o!==void 0?o:!0)},f.prototype.receive=function(t,e,r,a,i){return _(this,void 0,void 0,function(){var n;return x(this,function(l){return n=this.context,e?[2,n.send(e,t)]:[2,R.prototype.receive.call(this,t,void 0,r,a,i)]})})},f.prototype.reloadTarget=function(t,e){var r=this.context;r.reload(t,e)},f.prototype.closeTarget=function(t){var e=this.context;e.close(t)},f.prototype.setData=function(t,e,r,a){var i,n,l;return _(this,void 0,void 0,function(){var o,s,d;return x(this,function(u){return o=this.props.store,r!==void 0||a!==void 0?[2,(n=(i=this.control)===null||i===void 0?void 0:i.setData)===null||n===void 0?void 0:n.call(i,t,e,r,a)]:(s=(t==null?void 0:t.total)||(t==null?void 0:t.count),d=(l=t.rows)!==null&&l!==void 0?l:t.items,s!==void 0&&o.updateTotal(parseInt(s,10)),[2,o.updateData(F(F({},t),d?{items:d}:{}),void 0,e)])})})},f.prototype.getData=function(){var t=this.props,e=t.store,r=t.data;return e.getData(r)},f.contextType=_e,f=xe([Me({type:"crud",storeType:Re.name,isolateScope:!0}),Ee("design:paramtypes",[Object,Object])],f),f}(Ue);export{je as CRUDRenderer,Ue as default};