@openmrs/esm-dispensing-app
Version:
Medication dispensing application
1 lines • 5.17 kB
JavaScript
;(globalThis.webpackChunk_openmrs_esm_dispensing_app=globalThis.webpackChunk_openmrs_esm_dispensing_app||[]).push([[6841],{26841:(e,t,n)=>{n.r(t),n.d(t,{default:()=>v});var r=n(16072),o=n.n(r),i=n(2076),a=n(69689),s=n(36920),c=n(24756),u=n(85316),l=n(9806),d=n(27042),p=n(40609);function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function m(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function b(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){s=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return f(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?f(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}const v=function(e){var t,n,f,v=e.workspaceProps,g=v.medicationDispense,y=v.mode,h=v.patientUuid,O=v.encounterUuid,E=v.customWorkspaceTitle,P=e.closeWorkspace,C=(0,i.useTranslation)().t,S=(0,s.useConfig)(),w=(0,s.usePatient)(h),k=w.patient,j=w.isLoading,A=b((0,r.useState)(),2),D=A[0],_=A[1],x=b((0,r.useState)(!1),2),T=x[0],U=x[1],N=b((0,r.useState)(!1),2),R=N[0],W=N[1],I=b((0,r.useState)([]),2),F=I[0],L=I[1],M=(0,c.M5)(S.valueSets.reasonForPause.uuid).reasonForPauseValueSet;(0,r.useEffect)((function(){var e,t=[];if(null==M||null===(e=M.compose)||void 0===e?void 0:e.include){var n,r=M.compose.include.find((function(e){return!e.system}));r&&(null===(n=r.concept)||void 0===n||n.forEach((function(e){return t.push({id:e.code,text:e.display})})),t.sort((function(e,t){return e.text.localeCompare(t.text)})))}L(t)}),[M]),(0,r.useEffect)((function(){return _(g)}),[g]),(0,r.useEffect)((function(){var e;D&&(null===(e=D.statusReasonCodeableConcept)||void 0===e?void 0:e.coding[0].code)?U(!0):U(!1)}),[D]);var V=(0,r.useMemo)((function(){if(k)return{patient:k,patientUuid:h,hideActionsOverflow:!0}}),[k,h]);return o().createElement(s.Workspace2,{title:null!=E?E:C("pausePrescription","Pause prescription")},o().createElement(a.lVW,{className:p.A.formWrapper},o().createElement("div",null,j&&o().createElement(a.OuH,{className:p.A.bannerLoading,iconDescription:"Loading",description:"Loading banner",status:"active"}),k&&o().createElement(s.ExtensionSlot,{name:"patient-header-slot",state:V}),o().createElement("section",{className:p.A.formGroup},o().createElement(s.ResponsiveWrapper,null,o().createElement(a.a32,{id:"reasonForPause",items:F,titleText:C("reasonForPause","Reason for pause"),itemToString:function(e){return null==e?void 0:e.text},initialSelectedItem:{id:null===(n=g.statusReasonCodeableConcept)||void 0===n||null===(t=n.coding[0])||void 0===t?void 0:t.code,text:null===(f=g.statusReasonCodeableConcept)||void 0===f?void 0:f.text},onChange:function(e){var t,n,r=e.selectedItem;_((t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){m(e,t,n[t])}))}return e}({},D),n=null!=(n={statusReasonCodeableConcept:{coding:[{code:null==r?void 0:r.id}]}})?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})),t))}})))),o().createElement("section",{className:p.A.buttonGroup},o().createElement(a.$nd,{disabled:R,onClick:function(){P()},kind:"secondary"},(0,s.getCoreTranslation)("cancel","Cancel")),o().createElement(a.$nd,{disabled:!T||R,onClick:function(){if(!R){W(!0);var e=new AbortController;(0,l.gY)(O),(0,c.A7)(D,d.NV.on_hold,e).then((function(e){return e.ok&&!g.id?(0,u.NT)((0,l.vj)(D.authorizingPrescription[0].reference),d.O7.on_hold):e})).then((function(e){e.ok&&((0,l.Yi)(O),(0,s.showSnackbar)({kind:"success",title:C("enter"===y?"medicationDispensePaused":"medicationDispenseUpdated","enter"===y?"Medication dispense paused.":"Dispense record successfully updated.")}),P({discardUnsavedChanges:!0}))})).catch((function(e){(0,s.showSnackbar)({title:C("enter"===y?"medicationDispensePauseError":"medicationDispenseUpdatedError","enter"===y?"Error pausing medication dispense.":"Error updating dispense record"),kind:"error",subtitle:null==e?void 0:e.message}),W(!1)}))}}},C("enter"===y?"pause":"saveChanges","enter"===y?"Pause":"Save changes")))))}}}]);