1 |
- import{s as j,b7 as ee,b8 as te,E as P,G as _,aG as x,aH as O,ap as L,aK as I,y as c,f as m,O as R,t as oe,ad as N,L as z,K as W,ae as re,b9 as H,z as U,P as ne,Q as F,T as se,D as ae,ba as ie,an as le,av as de,a5 as ce,a3 as $}from"./index-DT8qTvyx.js";var pe=function(T){j(a,T);function a(t){var e=T.call(this,t)||this;e.isDead=!1,e.$$id=ee(),t.store.setEntered(!!t.show),e.handleSelfClose=e.handleSelfClose.bind(e),e.handleAction=e.handleAction.bind(e),e.handleActionSensor=e.handleActionSensor.bind(e),e.handleDialogConfirm=e.handleDialogConfirm.bind(e),e.handleDialogClose=e.handleDialogClose.bind(e),e.handleDrawerConfirm=e.handleDrawerConfirm.bind(e),e.handleDrawerClose=e.handleDrawerClose.bind(e),e.handleEntered=e.handleEntered.bind(e),e.handleExited=e.handleExited.bind(e),e.handleFormInit=e.handleFormInit.bind(e),e.handleFormSaved=e.handleFormSaved.bind(e),e.handleFormChange=e.handleFormChange.bind(e),e.handleChildFinished=e.handleChildFinished.bind(e);var o=t.store;return e.reaction=te(function(){return"".concat(o.loading).concat(o.error)},function(){return e.forceUpdate()}),e}return a.prototype.componentWillUnmount=function(){this.reaction&&this.reaction(),this.isDead=!0},a.prototype.buildActions=function(){var t=this.props,e=t.actions,o=t.confirm,r=t.translate,n=t.testIdBuilder;if(typeof e<"u")return e;var s=[];return s.push({type:"button",testIdBuilder:n==null?void 0:n.getChild("cancel"),actionType:"cancel",label:r("cancel")}),o&&s.push({type:"button",testIdBuilder:n==null?void 0:n.getChild("confirm"),actionType:"confirm",label:r("confirm"),primary:!0}),s},a.prototype.handleSelfClose=function(t,e){return P(this,void 0,void 0,function(){var o,r,n,s,l;return _(this,function(d){switch(d.label){case 0:return o=this.props,r=o.onClose,n=o.store,s=o.dispatchEvent,[4,s("cancel",this.props.data)];case 1:return l=d.sent(),l!=null&&l.prevented?[2]:l!=null&&l.pendingPromise.length?[4,l.allDone()]:[3,3];case 2:d.sent(),d.label=3;case 3:return n.updateMessage(),r(e),[2]}})})},a.prototype.handleActionSensor=function(t){var e=this,o=this.props.store,r=o.busying;o.markBusying(!0),o.updateMessage(),t.then(function(){o.markBusying(r)}).catch(function(n){e.isDead||(o.updateMessage(n.message,!0),o.markBusying(r))})},a.prototype.handleAction=function(t,e,o){var r=this.props,n=r.store,s=r.onAction;e.type==="reset"?n.reset():e.actionType==="cancel"?this.handleSelfClose():s&&s(t,e,o)},a.prototype.handleDialogConfirm=function(t,e){for(var o=[],r=2;r<arguments.length;r++)o[r-2]=arguments[r];var n=this.props.store;e.mergeData&&t.length===1&&t[0]&&n.updateData(t[0]);var s=n.action.dialog;s&&s.onConfirm&&s.onConfirm.apply(s,x([t,e],O(o),!1))===!1||n.closeDialog(!0,t)},a.prototype.handleDialogClose=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var o=this.props.store,r=o.action,n=r.dialog;n.onClose&&n.onClose.apply(n,x([],O(t),!1))===!1||o.closeDialog(t[1])},a.prototype.handleDrawerConfirm=function(t,e){for(var o=[],r=2;r<arguments.length;r++)o[r-2]=arguments[r];var n=this.props.store;e.mergeData&&t.length===1&&t[0]&&n.updateData(t[0]);var s=n.action.drawer;s&&s.onConfirm&&s.onConfirm.apply(s,x([t,e],O(o),!1))===!1||n.closeDrawer(!0,t)},a.prototype.handleDrawerClose=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var o=this.props.store,r=o.action,n=r.drawer;n.onClose&&n.onClose.apply(n,x([],O(t),!1))===!1||o.closeDrawer.apply(o,x([],O(t),!1))},a.prototype.handleEntered=function(){var t=this.props,e=t.lazySchema,o=t.store;o.setEntered(!0),o.markBusying(!1),typeof e=="function"&&o.setSchema(e(this.props));var r=document.activeElement;if(r){var n=L.findDOMNode(this);n&&!n.contains(r)&&r.blur()}},a.prototype.handleExited=function(){var t=this.props,e=t.lazySchema,o=t.store,r=t.statusStore;r&&I(r)&&r.resetAll(),I(o)&&(o.reset(),o.clearMessage(),o.markBusying(!1),o.setEntered(!1),typeof e=="function"&&o.setSchema(""))},a.prototype.handleFormInit=function(t){var e=this.props.store;e.setFormData(t)},a.prototype.handleFormChange=function(t,e){var o=this.props.store;if(typeof e=="string"){o.changeValue(e,t);return}o.setFormData(t)},a.prototype.handleFormSaved=function(t,e){var o=this.props.store;o.setFormData(c(c({},t),e))},a.prototype.handleChildFinished=function(t,e){},a.prototype.openFeedback=function(t,e){var o=this;return new Promise(function(r){var n=o.props.store;n.setCurrentAction({type:"button",actionType:"dialog",dialog:t},o.props.resolveDefinitions),n.openDialog(e,void 0,function(s){r(s)},o.context)})},a.prototype.getPopOverContainer=function(){return L.findDOMNode(this).querySelector(".".concat(this.props.classPrefix,"Modal-content"))},a.prototype.renderBody=function(t,e){var o=this,r=this.props,n=r.render,s=r.store;if(Array.isArray(t))return t.map(function(i,h){return o.renderBody(i,h)});var l={key:e,disabled:t&&t.disabled||s.loading,onAction:this.handleAction,onFinished:this.handleChildFinished,popOverContainer:this.getPopOverContainer,onChange:this.handleFormChange,onInit:this.handleFormInit,onSaved:this.handleFormSaved,onActionSensor:this.handleActionSensor,btnDisabled:s.loading,syncLocation:!1};if(!t.type)return n("body".concat(e?"/".concat(e):""),t,l);var d=t;return d.type==="form"&&(d=c({mode:"horizontal",wrapWithPanel:!1,submitText:null},d)),n("body".concat(e?"/".concat(e):""),d,l)},a.prototype.renderFooter=function(){var t=this,e=this.buildActions(),o=this.props.hideActions;if(!e||!e.length||o)return null;var r=this.props,n=r.store,s=r.render,l=r.env,d=r.classnames,i=r.showErrorMsg,h=r.showLoading,u=r.show,v=r.dialogFooterClassName;return m.createElement("div",{className:d("Modal-footer",v)},h!==!1&&n.loading||i!==!1&&n.error?m.createElement("div",{className:d("Dialog-info"),key:"info"},h!==!1?m.createElement(R,{size:"sm",key:"info",show:n.loading}):null,!l.forceSilenceInsideError&&n.error&&i!==!1?m.createElement("span",{className:d("Dialog-error")},n.msg):null):null,e.map(function(p,D){return s("action/".concat(D),p,{data:n.formData,onAction:t.handleAction,onActionSensor:void 0,btnDisabled:n.loading,key:D,disabled:p.disabled||n.loading||!u})}))},a.prototype.render=function(){var t=this.props.store,e=c(c({},this.props),t.schema),o=e.className,r=e.style,n=e.size,s=e.height,l=e.width,d=e.closeOnEsc,i=e.closeOnOutside,h=e.title,u=e.render,v=e.header,p=e.body,D=e.bodyClassName,M=e.headerClassName,b=e.show,w=e.lazyRender,B=e.lazySchema,k=e.wrapperComponent,g=e.showCloseButton,y=e.env,f=e.classnames,A=e.classPrefix,C=e.translate,G=e.loadingConfig,K=e.overlay,V=e.dialogType,q=e.cancelText,Q=e.confirmText,J=e.confirmBtnLevel,X=e.cancelBtnLevel;e.popOverContainer,e.inDesign;var S=e.themeCss,E=e.id,Y=oe(e,["className","style","size","height","width","closeOnEsc","closeOnOutside","title","render","header","body","bodyClassName","headerClassName","show","lazyRender","lazySchema","wrapperComponent","showCloseButton","env","classnames","classPrefix","translate","loadingConfig","overlay","dialogType","cancelText","confirmText","confirmBtnLevel","cancelBtnLevel","popOverContainer","inDesign","themeCss","id"]),Z=k||H;return m.createElement(Z,c({},Y,{classPrefix:A,className:f(o),style:r,size:n,height:s,width:l,modalClassName:N(c(c({},this.props),{name:"dialogClassName",id:E,themeCss:S})),modalMaskClassName:N(c(c({},this.props),{name:"dialogMaskClassName",id:E,themeCss:S})),backdrop:"static",onHide:this.handleSelfClose,keyboard:d&&!t.loading,closeOnEsc:d,closeOnOutside:!t.dialogOpen&&i,show:b,onEntered:this.handleEntered,onExited:this.handleExited,container:y==null?void 0:y.getModalContainer,enforceFocus:!1,disabled:t.loading,overlay:K,dialogType:V,cancelText:q,confirmText:Q,confirmBtnLevel:J,cancelBtnLevel:X}),h&&typeof h=="string"?m.createElement("div",{className:f("Modal-header",M,N(c(c({},this.props),{name:"dialogHeaderClassName",id:E,themeCss:S})))},g!==!1&&!t.loading?m.createElement("a",{"data-tooltip":C("Dialog.close"),"data-position":"left",onClick:this.handleSelfClose,className:f("Modal-close")},m.createElement(z,{icon:"close",className:"icon",iconContent:"Dialog-close"})):null,m.createElement("div",{className:f("Modal-title",N(c(c({},this.props),{name:"dialogTitleClassName",id:E,themeCss:S})))},W(C(h),t.formData))):h?m.createElement("div",{className:f("Modal-header",M,N(c(c({},this.props),{name:"dialogHeaderClassName",id:E,themeCss:S})))},g!==!1&&!t.loading?m.createElement("a",{"data-tooltip":C("Dialog.close"),onClick:this.handleSelfClose,className:f("Modal-close")},m.createElement(z,{icon:"close",className:"icon",iconContent:"Dialog-close"})):null,u("title",h,{data:t.formData,onAction:this.handleAction,onActionSensor:void 0,btnDisabled:t.loading})):g!==!1&&!t.loading?m.createElement("a",{"data-tooltip":C("Dialog.close"),onClick:this.handleSelfClose,className:f("Modal-close")},m.createElement(z,{icon:"close",className:"icon",iconContent:"Dialog-close"})):null,v?u("header",v,{data:t.formData,onAction:this.handleAction,onActionSensor:void 0,btnDisabled:t.loading}):null,!t.entered&&w||B&&!p?m.createElement("div",{className:f("Modal-body",D,N(c(c({},this.props),{name:"dialogBodyClassName",id:E,themeCss:S}))),role:"dialog-body"},m.createElement(R,{overlay:!0,show:!0,size:"lg",loadingConfig:G})):p?m.createElement("div",{className:f("Modal-body",D,N(c(c({},this.props),{name:"dialogBodyClassName",id:E,themeCss:S}))),role:"dialog-body"},this.renderBody(p,"body"),m.createElement(re,c({},this.props,{config:{themeCss:S,classNames:[{key:"dialogClassName"},{key:"dialogMaskClassName"},{key:"dialogHeaderClassName"},{key:"dialogTitleClassName"},{key:"dialogBodyClassName"},{key:"dialogFooterClassName"}],id:E},env:y}))):null,p?this.renderFooter():null,p?u("drawer",c(c({},t.action&&t.action.drawer),{type:"drawer"}),{key:"drawer",data:t.drawerData,onConfirm:this.handleDrawerConfirm,onClose:this.handleDrawerClose,show:t.drawerOpen,onAction:this.handleAction}):null,p?u("dialog",c(c({},t.action&&t.action.dialog),{type:"dialog"}),{key:"dialog",data:t.dialogData,onConfirm:this.handleDialogConfirm,onClose:this.handleDialogClose,show:t.dialogOpen,onAction:this.handleAction}):null)},a.propsList=["title","size","closeOnEsc","closeOnOutside","children","bodyClassName","headerClassName","confirm","onClose","onConfirm","show","body","showCloseButton","showErrorMsg","actions","popOverContainer","overlay","draggable"],a.defaultProps={title:"Dialog.title",bodyClassName:"",confirm:!0,show:!1,lazyRender:!1,showCloseButton:!0,wrapperComponent:H,closeOnEsc:!1,closeOnOutside:!1,showErrorMsg:!0},U([ne,F("design:type",Function),F("design:paramtypes",[]),F("design:returntype",void 0)],a.prototype,"getPopOverContainer",null),a}(m.Component),ue=function(T){j(a,T);function a(t,e){var o=T.call(this,t)||this,r=e;return r.registerComponent(o),o}return a.prototype.componentWillUnmount=function(){var t=this.context;t.unRegisterComponent(this),T.prototype.componentWillUnmount.call(this),clearTimeout(this.clearErrorTimer)},a.prototype.tryChildrenToHandle=function(t,e,o){var r=this,n=this.context,s=[],l=this.props,d=l.onConfirm,i=l.store;if(t.target&&s.push.apply(s,x([],O(t.target.split(",").map(function(p){return n.getComponentByName(p)}).filter(function(p){return p&&p.doAction})),!1)),(t==null?void 0:t.isolateScope)!==!0&&!s.length)for(var h=n.getComponents().filter(function(p){return!~["drawer","dialog"].indexOf(p.props.type)}),u=h.concat();u.length;){var v=u.pop();if(~["crud","form","wizard"].indexOf(v.props.type)){s.push(v);break}else{if(~["drawer","dialog"].indexOf(v.props.type))continue;~["page","service"].indexOf(v.props.type)&&u.unshift.apply(u,v.context.getComponents())}}return s.length?(i.markBusying(!0),i.updateMessage(),Promise.all(s.map(function(p){return p.doAction(c(c({},t),{from:r.$$id}),e,!0)})).then(function(p){(t.type==="submit"||t.actionType==="submit"||t.actionType==="confirm")&&t.close!==!1&&!s.some(function(D){return D.props.closeDialogOnSubmit===!1})?d&&d(p,o||t,e,s):t.close&&(t.close===!0?r.handleSelfClose():r.closeTarget(t.close)),i.markBusying(!1)}).catch(function(p){r.isDead||(i.updateMessage(p.message,!0),i.markBusying(!1),clearTimeout(r.clearErrorTimer),r.clearErrorTimer=setTimeout(function(){r.isDead||i.updateMessage("")},3e3))}),!0):!1},a.prototype.doAction=function(t,e,o){this.handleAction(void 0,t,e)},a.prototype.handleAction=function(t,e,o,r,n,s){return r===void 0&&(r=!1),P(this,void 0,void 0,function(){var l,d,i,h,u,v,p,D,M,b,w,B,k=this;return _(this,function(g){switch(g.label){case 0:return l=this.props,d=l.onAction,i=l.store,h=l.onConfirm,u=l.env,v=l.dispatchEvent,p=l.onClose,D=l.show,e.from===this.$$id||!D?[2,d?d(t,e,o,r,n||this.context):!1]:s!=null&&s.pendingPromise.length?[4,s.allDone()]:[3,2];case 1:g.sent(),g.label=2;case 2:return M=this.context,e.type!=="reset"?[3,3]:(i.setCurrentAction(e,this.props.resolveDefinitions),i.reset(),[3,19]);case 3:return e.actionType==="close"||e.actionType==="cancel"?[4,v("cancel",$(this.props.data,o))]:[3,7];case 4:return b=g.sent(),b!=null&&b.prevented?[2]:b!=null&&b.pendingPromise.length?[4,b.allDone()]:[3,6];case 5:g.sent(),g.label=6;case 6:return i.setCurrentAction(e,this.props.resolveDefinitions),i.updateMessage(),p(),e.close&&(e.close===!0?this.handleSelfClose():this.closeTarget(e.close)),[3,19];case 7:return e.actionType!=="confirm"?[3,11]:[4,v("confirm",$(this.props.data,o))];case 8:return w=g.sent(),w!=null&&w.prevented?[2]:w!=null&&w.pendingPromise.length?[4,w.allDone()]:[3,10];case 9:g.sent(),g.label=10;case 10:return i.setCurrentAction(e,this.props.resolveDefinitions),B=this.tryChildrenToHandle(c(c({},e),{actionType:"submit"}),o,e),B||(i.updateMessage(),e.close!==!1&&p(!0)),[3,19];case 11:return e.actionType==="next"||e.actionType==="prev"?(i.setCurrentAction(e,this.props.resolveDefinitions),e.type==="submit"?this.tryChildrenToHandle(c(c({},e),{actionType:"submit",close:!0}),o,e)||this.handleSelfClose(void 0,!0):h([o],e,o,[]),[3,19]):[3,12];case 12:return e.actionType!=="dialog"?[3,13]:(i.setCurrentAction(e,this.props.resolveDefinitions),[2,new Promise(function(y){i.openDialog(o,void 0,function(f,A){var C;(C=e.callback)===null||C===void 0||C.call(e,f,A),y({confirmed:f,value:A})},n||k.context)})]);case 13:return e.actionType!=="drawer"?[3,14]:(i.setCurrentAction(e,this.props.resolveDefinitions),[2,new Promise(function(y){i.openDrawer(o,void 0,function(f,A){var C;(C=e.callback)===null||C===void 0||C.call(e,f,A),y({confirmed:f,value:A})})})]);case 14:return e.actionType!=="reload"?[3,15]:(i.setCurrentAction(e,this.props.resolveDefinitions),e.target&&M.reload(e.target,o),(e.close||e.type==="submit")&&(this.handleSelfClose(void 0,e.type==="submit"),e.close&&typeof e.close=="string"&&this.closeTarget(e.close)),[3,19]);case 15:return!e.from&&this.tryChildrenToHandle(e,o)?[3,19]:[3,16];case 16:return e.actionType!=="ajax"?[3,17]:(i.setCurrentAction(e,this.props.resolveDefinitions),[2,i.saveRemote(e.api,o,{successMessage:e.messages&&e.messages.success,errorMessage:e.messages&&e.messages.failed}).then(function(){return P(k,void 0,void 0,function(){var y;return _(this,function(f){switch(f.label){case 0:return e.feedback&&ce(e.feedback,i.data)?[4,this.openFeedback(e.feedback,i.data)]:[3,2];case 1:f.sent(),f.label=2;case 2:return y=e.redirect&&W(e.redirect,i.data),y&&u.jumpTo(y,e,i.data),e.reload&&this.reloadTarget(de(e.reload,i.data),i.data),e.close&&(e.close===!0?this.handleSelfClose():this.closeTarget(e.close)),[2]}})})}).catch(function(y){if(r||e.countDown)throw y})]);case 17:return d?[4,d(t,c(c({},e),{close:!1}),o,r,n||this.context)]:[3,19];case 18:g.sent(),e.close&&(e.close===!0?this.handleSelfClose():this.closeTarget(e.close)),g.label=19;case 19:return[2]}})})},a.prototype.handleChildFinished=function(t,e){if(!(e&&e.from===this.$$id||e.close===!1)){var o=this.context,r=o.getComponents().filter(function(l){return!~["drawer","dialog","action","button","submit","reset"].indexOf(l.props.type)}),n=this.props.onConfirm,s=this.props.onClose;r.length===1&&(r[0].props.type==="form"||r[0].props.type==="wizard")&&(e.close===!0||r[0].props.closeDialogOnSubmit!==!1)?n&&n([t],e,{},r):e.close===!0&&s()}},a.prototype.handleDialogConfirm=function(t,e){for(var o,r,n=[],s=2;s<arguments.length;s++)n[s-2]=arguments[s];T.prototype.handleDialogConfirm.apply(this,x([t,e],O(n),!1));var l=this.props.store,d=l.getDialogScoped()||this.context,i=l.action,h=(o=e.reload)!==null&&o!==void 0?o:i.reload;h?d.reload(h,l.data):d.component!==this&&(!((r=d.component)===null||r===void 0)&&r.reload)?d.component.reload():this.context.getComponents().filter(function(u){return u.props.type==="crud"}).forEach(function(u){return u.reload&&u.reload()})},a.prototype.handleDrawerConfirm=function(t,e){var o=this,r;T.prototype.handleDrawerConfirm.call(this,t,e);var n=this.props.store,s=n.getDialogScoped()||this.context,l=n.action,d=(r=e.reload)!==null&&r!==void 0?r:l.reload;setTimeout(function(){var i;d?s.reload(d,n.data):s.component!==o&&(!((i=s.component)===null||i===void 0)&&i.reload)?s.component.reload():o.context.getComponents().filter(function(h){return h.props.type==="crud"}).forEach(function(h){return h.reload&&h.reload()})},300)},a.prototype.reloadTarget=function(t,e){var o=this.context;o.reload(t,e)},a.prototype.closeTarget=function(t){var e=this.context;e.close(t)},a.prototype.setData=function(t,e){return this.props.store.updateData(t,void 0,e)},a.prototype.getData=function(){var t=this.props.store;return t.data},a.contextType=se,a=U([ae({type:"dialog",storeType:ie.name,storeExtendsData:!1,isolateScope:!0,shouldSyncSuperStore:function(t,e,o){return!!((t.dialogOpen||e.show)&&(e.show!==o.show||le(o.data,e.data)))}}),F("design:paramtypes",[Object,Object])],a),a}(pe);export{ue as DialogRenderer,pe as default};
|