@openmrs/esm-patient-programs-app 8.0.2-pre.4929 → 8.0.2-pre.4958

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- var _openmrs_esm_patient_programs_app;(()=>{"use strict";var e,r,t,n,o,a,i,l,s,u,p,f,d,h,m,c={1342:(e,r,t)=>{var n={"./start":()=>Promise.all([t.e(255),t.e(731),t.e(268),t.e(325),t.e(868),t.e(610)]).then((()=>()=>t(3610)))},o=(e,r)=>(t.R=r,r=t.o(n,e)?n[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),t.R=void 0,r),a=(e,r)=>{if(t.S){var n="default",o=t.S[n];if(o&&o!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[n]=e,t.I(n,r)}};t.d(r,{get:()=>o,init:()=>a})}},v={};function g(e){var r=v[e];if(void 0!==r)return r.exports;var t=v[e]={id:e,loaded:!1,exports:{}};return c[e].call(t.exports,t,t.exports,g),t.loaded=!0,t.exports}g.m=c,g.c=v,g.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return g.d(r,{a:r}),r},g.d=(e,r)=>{for(var t in r)g.o(r,t)&&!g.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},g.f={},g.e=e=>Promise.all(Object.keys(g.f).reduce(((r,t)=>(g.f[t](e,r),r)),[])),g.u=e=>e+".js",g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),g.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r="@openmrs/esm-patient-programs-app:",g.l=(t,n,o,a)=>{if(e[t])e[t].push(n);else{var i,l;if(void 0!==o)for(var s=document.getElementsByTagName("script"),u=0;u<s.length;u++){var p=s[u];if(p.getAttribute("src")==t||p.getAttribute("data-webpack")==r+o){i=p;break}}i||(l=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,g.nc&&i.setAttribute("nonce",g.nc),i.setAttribute("data-webpack",r+o),i.src=t),e[t]=[n];var f=(r,n)=>{i.onerror=i.onload=null,clearTimeout(d);var o=e[t];if(delete e[t],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(f.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.bind(null,i.onload),l&&document.head.appendChild(i)}},g.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},g.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{g.S={};var e={},r={};g.I=(t,n)=>{n||(n=[]);var o=r[t];if(o||(o=r[t]={}),!(n.indexOf(o)>=0)){if(n.push(o),e[t])return e[t];g.o(g.S,t)||(g.S[t]={});var a=g.S[t],i="@openmrs/esm-patient-programs-app",l=(e,r,t,n)=>{var o=a[e]=a[e]||{},l=o[r];(!l||!l.loaded&&(!n!=!l.eager?n:i>l.from))&&(o[r]={get:t,from:i,eager:!!n})},s=[];return"default"===t&&(l("@openmrs/esm-framework","5.6.1-pre.2043",(()=>Promise.all([g.e(130),g.e(268)]).then((()=>()=>g(130))))),l("@openmrs/esm-patient-common-lib","8.0.2-pre.4929",(()=>Promise.all([g.e(255),g.e(731),g.e(268),g.e(325),g.e(793),g.e(868)]).then((()=>()=>g(4793))))),l("dayjs","1.11.11",(()=>g.e(879).then((()=>()=>g(8879))))),l("react-i18next","11.18.6",(()=>Promise.all([g.e(443),g.e(268)]).then((()=>()=>g(443))))),l("react-router-dom","6.16.0",(()=>Promise.all([g.e(591),g.e(268)]).then((()=>()=>g(6591))))),l("react","18.3.1",(()=>g.e(784).then((()=>()=>g(2784))))),l("swr/_internal","2.2.4",(()=>Promise.all([g.e(729),g.e(268)]).then((()=>()=>g(4729))))),l("swr/immutable","2.2.4",(()=>Promise.all([g.e(255),g.e(268),g.e(325),g.e(303)]).then((()=>()=>g(2303)))))),e[t]=s.length?Promise.all(s).then((()=>e[t]=1)):1}}})(),(()=>{var e;g.g.importScripts&&(e=g.g.location+"");var r=g.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),g.p=e})(),t=e=>{var r=e=>e.split(".").map((e=>+e==e?+e:e)),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=t[1]?r(t[1]):[];return t[2]&&(n.length++,n.push.apply(n,r(t[2]))),t[3]&&(n.push([]),n.push.apply(n,r(t[3]))),n},n=(e,r)=>{e=t(e),r=t(r);for(var n=0;;){if(n>=e.length)return n<r.length&&"u"!=(typeof r[n])[0];var o=e[n],a=(typeof o)[0];if(n>=r.length)return"u"==a;var i=r[n],l=(typeof i)[0];if(a!=l)return"o"==a&&"n"==l||"s"==l||"u"==a;if("o"!=a&&"u"!=a&&o!=i)return o<i;n++}},o=e=>{var r=e[0],t="";if(1===e.length)return"*";if(r+.5){t+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var n=1,a=1;a<e.length;a++)n--,t+="u"==(typeof(l=e[a]))[0]?"-":(n>0?".":"")+(n=2,l);return t}var i=[];for(a=1;a<e.length;a++){var l=e[a];i.push(0===l?"not("+s()+")":1===l?"("+s()+" || "+s()+")":2===l?i.pop()+" "+i.pop():o(l))}return s();function s(){return i.pop().replace(/^\((.+)\)$/,"$1")}},a=(e,r)=>{if(0 in e){r=t(r);var n=e[0],o=n<0;o&&(n=-n-1);for(var i=0,l=1,s=!0;;l++,i++){var u,p,f=l<e.length?(typeof e[l])[0]:"";if(i>=r.length||"o"==(p=(typeof(u=r[i]))[0]))return!s||("u"==f?l>n&&!o:""==f!=o);if("u"==p){if(!s||"u"!=f)return!1}else if(s)if(f==p)if(l<=n){if(u!=e[l])return!1}else{if(o?u>e[l]:u<e[l])return!1;u!=e[l]&&(s=!1)}else if("s"!=f&&"n"!=f){if(o||l<=n)return!1;s=!1,l--}else{if(l<=n||p<f!=o)return!1;s=!1}else"s"!=f&&"n"!=f&&(s=!1,l--)}}var d=[],h=d.pop.bind(d);for(i=1;i<e.length;i++){var m=e[i];d.push(1==m?h()|h():2==m?h()&h():m?a(m,r):!h())}return!!h()},i=(e,r)=>{var t=e[r];return Object.keys(t).reduce(((e,r)=>!e||!t[e].loaded&&n(e,r)?r:e),0)},l=(e,r,t,n)=>"Unsatisfied version "+t+" from "+(t&&e[r][t].from)+" of shared singleton module "+r+" (required "+o(n)+")",s=(e,r,t,n)=>{var o=i(e,t);return a(n,o)||u(l(e,t,o,n)),p(e[t][o])},u=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},p=e=>(e.loaded=1,e.get()),f=(e=>function(r,t,n,o){var a=g.I(r);return a&&a.then?a.then(e.bind(e,r,g.S[r],t,n,o)):e(0,g.S[r],t,n,o)})(((e,r,t,n,o)=>r&&g.o(r,t)?s(r,0,t,n):o())),d={},h={268:()=>f("default","react",[1,18],(()=>g.e(784).then((()=>()=>g(2784))))),3325:()=>f("default","swr/_internal",[1,2],(()=>g.e(729).then((()=>()=>g(4729))))),8744:()=>f("default","react-router-dom",[1,6],(()=>g.e(591).then((()=>()=>g(6591))))),9198:()=>f("default","swr/immutable",[1,2],(()=>g.e(152).then((()=>()=>g(2303))))),884:()=>f("default","@openmrs/esm-patient-common-lib",[1,8],(()=>g.e(793).then((()=>()=>g(4793))))),2870:()=>f("default","@openmrs/esm-framework",[1,5],(()=>g.e(130).then((()=>()=>g(130))))),4924:()=>f("default","react-i18next",[1,11],(()=>g.e(443).then((()=>()=>g(443))))),3565:()=>f("default","dayjs",[1,1],(()=>g.e(879).then((()=>()=>g(8879)))))},m={234:[3565],268:[268],325:[3325],793:[8744,9198],868:[884,2870,4924]},g.f.consumes=(e,r)=>{g.o(m,e)&&m[e].forEach((e=>{if(g.o(d,e))return r.push(d[e]);var t=r=>{d[e]=0,g.m[e]=t=>{delete g.c[e],t.exports=r()}},n=r=>{delete d[e],g.m[e]=t=>{throw delete g.c[e],r}};try{var o=h[e]();o.then?r.push(d[e]=o.then(t).catch(n)):t(o)}catch(e){n(e)}}))},(()=>{var e={55:0};g.f.j=(r,t)=>{var n=g.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else if(/^([28]68|325)$/.test(r))e[r]=0;else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var a=g.p+g.u(r),i=new Error;g.l(a,(t=>{if(g.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+o+": "+a+")",i.name="ChunkLoadError",i.type=o,i.request=a,n[1](i)}}),"chunk-"+r,r)}};var r=(r,t)=>{var n,o,[a,i,l]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in i)g.o(i,n)&&(g.m[n]=i[n]);l&&l(g)}for(r&&r(t);s<a.length;s++)o=a[s],g.o(e,o)&&e[o]&&e[o][0](),e[o]=0},t=globalThis.webpackChunk_openmrs_esm_patient_programs_app=globalThis.webpackChunk_openmrs_esm_patient_programs_app||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),g.nc=void 0;var b=g(1342);_openmrs_esm_patient_programs_app=b})();
1
+ var _openmrs_esm_patient_programs_app;(()=>{"use strict";var e,r,t,n,o,a,i,l,s,u,p,f,d,h,m,c={1342:(e,r,t)=>{var n={"./start":()=>Promise.all([t.e(255),t.e(731),t.e(268),t.e(325),t.e(868),t.e(461)]).then((()=>()=>t(7461)))},o=(e,r)=>(t.R=r,r=t.o(n,e)?n[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),t.R=void 0,r),a=(e,r)=>{if(t.S){var n="default",o=t.S[n];if(o&&o!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[n]=e,t.I(n,r)}};t.d(r,{get:()=>o,init:()=>a})}},v={};function g(e){var r=v[e];if(void 0!==r)return r.exports;var t=v[e]={id:e,loaded:!1,exports:{}};return c[e].call(t.exports,t,t.exports,g),t.loaded=!0,t.exports}g.m=c,g.c=v,g.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return g.d(r,{a:r}),r},g.d=(e,r)=>{for(var t in r)g.o(r,t)&&!g.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},g.f={},g.e=e=>Promise.all(Object.keys(g.f).reduce(((r,t)=>(g.f[t](e,r),r)),[])),g.u=e=>e+".js",g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),g.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r="@openmrs/esm-patient-programs-app:",g.l=(t,n,o,a)=>{if(e[t])e[t].push(n);else{var i,l;if(void 0!==o)for(var s=document.getElementsByTagName("script"),u=0;u<s.length;u++){var p=s[u];if(p.getAttribute("src")==t||p.getAttribute("data-webpack")==r+o){i=p;break}}i||(l=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,g.nc&&i.setAttribute("nonce",g.nc),i.setAttribute("data-webpack",r+o),i.src=t),e[t]=[n];var f=(r,n)=>{i.onerror=i.onload=null,clearTimeout(d);var o=e[t];if(delete e[t],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(f.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.bind(null,i.onload),l&&document.head.appendChild(i)}},g.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},g.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{g.S={};var e={},r={};g.I=(t,n)=>{n||(n=[]);var o=r[t];if(o||(o=r[t]={}),!(n.indexOf(o)>=0)){if(n.push(o),e[t])return e[t];g.o(g.S,t)||(g.S[t]={});var a=g.S[t],i="@openmrs/esm-patient-programs-app",l=(e,r,t,n)=>{var o=a[e]=a[e]||{},l=o[r];(!l||!l.loaded&&(!n!=!l.eager?n:i>l.from))&&(o[r]={get:t,from:i,eager:!!n})},s=[];return"default"===t&&(l("@openmrs/esm-framework","5.6.1-pre.2043",(()=>Promise.all([g.e(130),g.e(268)]).then((()=>()=>g(130))))),l("@openmrs/esm-patient-common-lib","8.0.2-pre.4958",(()=>Promise.all([g.e(255),g.e(731),g.e(268),g.e(325),g.e(793),g.e(868)]).then((()=>()=>g(4793))))),l("dayjs","1.11.11",(()=>g.e(879).then((()=>()=>g(8879))))),l("react-i18next","11.18.6",(()=>Promise.all([g.e(443),g.e(268)]).then((()=>()=>g(443))))),l("react-router-dom","6.16.0",(()=>Promise.all([g.e(591),g.e(268)]).then((()=>()=>g(6591))))),l("react","18.3.1",(()=>g.e(784).then((()=>()=>g(2784))))),l("swr/_internal","2.2.4",(()=>Promise.all([g.e(729),g.e(268)]).then((()=>()=>g(4729))))),l("swr/immutable","2.2.4",(()=>Promise.all([g.e(255),g.e(268),g.e(325),g.e(303)]).then((()=>()=>g(2303)))))),e[t]=s.length?Promise.all(s).then((()=>e[t]=1)):1}}})(),(()=>{var e;g.g.importScripts&&(e=g.g.location+"");var r=g.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),g.p=e})(),t=e=>{var r=e=>e.split(".").map((e=>+e==e?+e:e)),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=t[1]?r(t[1]):[];return t[2]&&(n.length++,n.push.apply(n,r(t[2]))),t[3]&&(n.push([]),n.push.apply(n,r(t[3]))),n},n=(e,r)=>{e=t(e),r=t(r);for(var n=0;;){if(n>=e.length)return n<r.length&&"u"!=(typeof r[n])[0];var o=e[n],a=(typeof o)[0];if(n>=r.length)return"u"==a;var i=r[n],l=(typeof i)[0];if(a!=l)return"o"==a&&"n"==l||"s"==l||"u"==a;if("o"!=a&&"u"!=a&&o!=i)return o<i;n++}},o=e=>{var r=e[0],t="";if(1===e.length)return"*";if(r+.5){t+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var n=1,a=1;a<e.length;a++)n--,t+="u"==(typeof(l=e[a]))[0]?"-":(n>0?".":"")+(n=2,l);return t}var i=[];for(a=1;a<e.length;a++){var l=e[a];i.push(0===l?"not("+s()+")":1===l?"("+s()+" || "+s()+")":2===l?i.pop()+" "+i.pop():o(l))}return s();function s(){return i.pop().replace(/^\((.+)\)$/,"$1")}},a=(e,r)=>{if(0 in e){r=t(r);var n=e[0],o=n<0;o&&(n=-n-1);for(var i=0,l=1,s=!0;;l++,i++){var u,p,f=l<e.length?(typeof e[l])[0]:"";if(i>=r.length||"o"==(p=(typeof(u=r[i]))[0]))return!s||("u"==f?l>n&&!o:""==f!=o);if("u"==p){if(!s||"u"!=f)return!1}else if(s)if(f==p)if(l<=n){if(u!=e[l])return!1}else{if(o?u>e[l]:u<e[l])return!1;u!=e[l]&&(s=!1)}else if("s"!=f&&"n"!=f){if(o||l<=n)return!1;s=!1,l--}else{if(l<=n||p<f!=o)return!1;s=!1}else"s"!=f&&"n"!=f&&(s=!1,l--)}}var d=[],h=d.pop.bind(d);for(i=1;i<e.length;i++){var m=e[i];d.push(1==m?h()|h():2==m?h()&h():m?a(m,r):!h())}return!!h()},i=(e,r)=>{var t=e[r];return Object.keys(t).reduce(((e,r)=>!e||!t[e].loaded&&n(e,r)?r:e),0)},l=(e,r,t,n)=>"Unsatisfied version "+t+" from "+(t&&e[r][t].from)+" of shared singleton module "+r+" (required "+o(n)+")",s=(e,r,t,n)=>{var o=i(e,t);return a(n,o)||u(l(e,t,o,n)),p(e[t][o])},u=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},p=e=>(e.loaded=1,e.get()),f=(e=>function(r,t,n,o){var a=g.I(r);return a&&a.then?a.then(e.bind(e,r,g.S[r],t,n,o)):e(0,g.S[r],t,n,o)})(((e,r,t,n,o)=>r&&g.o(r,t)?s(r,0,t,n):o())),d={},h={268:()=>f("default","react",[1,18],(()=>g.e(784).then((()=>()=>g(2784))))),3325:()=>f("default","swr/_internal",[1,2],(()=>g.e(729).then((()=>()=>g(4729))))),8744:()=>f("default","react-router-dom",[1,6],(()=>g.e(591).then((()=>()=>g(6591))))),9198:()=>f("default","swr/immutable",[1,2],(()=>g.e(152).then((()=>()=>g(2303))))),884:()=>f("default","@openmrs/esm-patient-common-lib",[1,8],(()=>g.e(793).then((()=>()=>g(4793))))),2870:()=>f("default","@openmrs/esm-framework",[1,5],(()=>g.e(130).then((()=>()=>g(130))))),4924:()=>f("default","react-i18next",[1,11],(()=>g.e(443).then((()=>()=>g(443))))),3565:()=>f("default","dayjs",[1,1],(()=>g.e(879).then((()=>()=>g(8879)))))},m={234:[3565],268:[268],325:[3325],793:[8744,9198],868:[884,2870,4924]},g.f.consumes=(e,r)=>{g.o(m,e)&&m[e].forEach((e=>{if(g.o(d,e))return r.push(d[e]);var t=r=>{d[e]=0,g.m[e]=t=>{delete g.c[e],t.exports=r()}},n=r=>{delete d[e],g.m[e]=t=>{throw delete g.c[e],r}};try{var o=h[e]();o.then?r.push(d[e]=o.then(t).catch(n)):t(o)}catch(e){n(e)}}))},(()=>{var e={55:0};g.f.j=(r,t)=>{var n=g.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else if(/^([28]68|325)$/.test(r))e[r]=0;else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var a=g.p+g.u(r),i=new Error;g.l(a,(t=>{if(g.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+o+": "+a+")",i.name="ChunkLoadError",i.type=o,i.request=a,n[1](i)}}),"chunk-"+r,r)}};var r=(r,t)=>{var n,o,[a,i,l]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in i)g.o(i,n)&&(g.m[n]=i[n]);l&&l(g)}for(r&&r(t);s<a.length;s++)o=a[s],g.o(e,o)&&e[o]&&e[o][0](),e[o]=0},t=globalThis.webpackChunk_openmrs_esm_patient_programs_app=globalThis.webpackChunk_openmrs_esm_patient_programs_app||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),g.nc=void 0;var b=g(1342);_openmrs_esm_patient_programs_app=b})();
@@ -24,7 +24,7 @@
24
24
  "auxiliaryFiles": [
25
25
  "openmrs-esm-patient-programs-app.js.map"
26
26
  ],
27
- "hash": "6398877435681d9e",
27
+ "hash": "3b343d131a6f5545",
28
28
  "childrenByOrder": {}
29
29
  },
30
30
  {
@@ -83,10 +83,10 @@
83
83
  "initial": true,
84
84
  "entry": true,
85
85
  "recorded": false,
86
- "size": 2208492,
86
+ "size": 2208398,
87
87
  "sizes": {
88
88
  "consume-shared": 210,
89
- "javascript": 2186649,
89
+ "javascript": 2186555,
90
90
  "share-init": 336,
91
91
  "runtime": 21297
92
92
  },
@@ -103,7 +103,7 @@
103
103
  "auxiliaryFiles": [
104
104
  "main.js.map"
105
105
  ],
106
- "hash": "37100798388a0f40",
106
+ "hash": "bece3e0564f25230",
107
107
  "childrenByOrder": {}
108
108
  },
109
109
  {
@@ -111,9 +111,9 @@
111
111
  "initial": false,
112
112
  "entry": false,
113
113
  "recorded": false,
114
- "size": 27527,
114
+ "size": 27620,
115
115
  "sizes": {
116
- "javascript": 27485,
116
+ "javascript": 27578,
117
117
  "consume-shared": 42
118
118
  },
119
119
  "names": [],
@@ -128,7 +128,7 @@
128
128
  "auxiliaryFiles": [
129
129
  "234.js.map"
130
130
  ],
131
- "hash": "4494853da8f7ebf4",
131
+ "hash": "bdb1fb64931f6ad0",
132
132
  "childrenByOrder": {}
133
133
  },
134
134
  {
@@ -322,21 +322,22 @@
322
322
  "initial": false,
323
323
  "entry": false,
324
324
  "recorded": false,
325
- "size": 1245,
325
+ "size": 46393,
326
326
  "sizes": {
327
- "javascript": 1245
327
+ "javascript": 46393
328
328
  },
329
329
  "names": [],
330
330
  "idHints": [],
331
331
  "runtime": [
332
- "@openmrs/esm-patient-programs-app",
333
- "main"
332
+ "@openmrs/esm-patient-programs-app"
334
333
  ],
335
334
  "files": [
336
- "574.js"
335
+ "461.js"
337
336
  ],
338
- "auxiliaryFiles": [],
339
- "hash": "1d6815387798556d",
337
+ "auxiliaryFiles": [
338
+ "461.js.map"
339
+ ],
340
+ "hash": "c7c95ac85d04bae0",
340
341
  "childrenByOrder": {}
341
342
  },
342
343
  {
@@ -344,26 +345,21 @@
344
345
  "initial": false,
345
346
  "entry": false,
346
347
  "recorded": false,
347
- "reason": "reused as split chunk (cache group: defaultVendors)",
348
- "size": 251616,
348
+ "size": 1263,
349
349
  "sizes": {
350
- "javascript": 251616
350
+ "javascript": 1263
351
351
  },
352
352
  "names": [],
353
- "idHints": [
354
- "vendors"
355
- ],
353
+ "idHints": [],
356
354
  "runtime": [
357
355
  "@openmrs/esm-patient-programs-app",
358
356
  "main"
359
357
  ],
360
358
  "files": [
361
- "591.js"
362
- ],
363
- "auxiliaryFiles": [
364
- "591.js.map"
359
+ "574.js"
365
360
  ],
366
- "hash": "b72af9509e77ddec",
361
+ "auxiliaryFiles": [],
362
+ "hash": "00ad9a78d012b72d",
367
363
  "childrenByOrder": {}
368
364
  },
369
365
  {
@@ -371,22 +367,26 @@
371
367
  "initial": false,
372
368
  "entry": false,
373
369
  "recorded": false,
374
- "size": 46487,
370
+ "reason": "reused as split chunk (cache group: defaultVendors)",
371
+ "size": 251616,
375
372
  "sizes": {
376
- "javascript": 46487
373
+ "javascript": 251616
377
374
  },
378
375
  "names": [],
379
- "idHints": [],
376
+ "idHints": [
377
+ "vendors"
378
+ ],
380
379
  "runtime": [
381
- "@openmrs/esm-patient-programs-app"
380
+ "@openmrs/esm-patient-programs-app",
381
+ "main"
382
382
  ],
383
383
  "files": [
384
- "610.js"
384
+ "591.js"
385
385
  ],
386
386
  "auxiliaryFiles": [
387
- "610.js.map"
387
+ "591.js.map"
388
388
  ],
389
- "hash": "6c06b6ff1f828b59",
389
+ "hash": "b72af9509e77ddec",
390
390
  "childrenByOrder": {}
391
391
  },
392
392
  {
package/dist/routes.json CHANGED
@@ -1 +1 @@
1
- {"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":"^2.2.0"},"extensions":[{"name":"programs-overview-widget","component":"programsOverview","meta":{"columnSpan":4},"order":6},{"name":"programs-details-widget","slot":"patient-chart-programs-dashboard-slot","component":"programsDetailedSummary","meta":{"columnSpan":1},"order":6},{"name":"programs-summary-dashboard","slot":"patient-chart-dashboard-slot","component":"programsDashboardLink","meta":{"slot":"patient-chart-programs-dashboard-slot","columns":1,"path":"Programs"},"order":10}],"pages":[],"workspaces":[{"name":"programs-form-workspace","title":"programEnrollmentWorkspaceTitle","component":"programsFormWorkspace"}],"version":"8.0.2-pre.4929"}
1
+ {"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":"^2.2.0"},"extensions":[{"name":"programs-overview-widget","component":"programsOverview","meta":{"columnSpan":4},"order":6},{"name":"programs-details-widget","slot":"patient-chart-programs-dashboard-slot","component":"programsDetailedSummary","meta":{"columnSpan":1},"order":6},{"name":"programs-summary-dashboard","slot":"patient-chart-dashboard-slot","component":"programsDashboardLink","meta":{"slot":"patient-chart-programs-dashboard-slot","columns":1,"path":"Programs"},"order":10}],"pages":[],"workspaces":[{"name":"programs-form-workspace","title":"programEnrollmentWorkspaceTitle","component":"programsFormWorkspace"}],"version":"8.0.2-pre.4958"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openmrs/esm-patient-programs-app",
3
- "version": "8.0.2-pre.4929",
3
+ "version": "8.0.2-pre.4958",
4
4
  "license": "MPL-2.0",
5
5
  "description": "Patient programs microfrontend for the OpenMRS SPA",
6
6
  "browser": "dist/openmrs-esm-patient-programs-app.js",
@@ -38,7 +38,7 @@
38
38
  },
39
39
  "dependencies": {
40
40
  "@carbon/react": "^1.12.0",
41
- "@openmrs/esm-patient-common-lib": "^8.0.2-pre.4929",
41
+ "@openmrs/esm-patient-common-lib": "^8.0.2-pre.4958",
42
42
  "lodash-es": "^4.17.21"
43
43
  },
44
44
  "peerDependencies": {
@@ -52,7 +52,7 @@
52
52
  "swr": "2.x"
53
53
  },
54
54
  "devDependencies": {
55
- "@openmrs/esm-patient-common-lib": "8.0.2-pre.4929",
55
+ "@openmrs/esm-patient-common-lib": "8.0.2-pre.4958",
56
56
  "webpack": "^5.88.2"
57
57
  },
58
58
  "stableVersion": "8.0.1"
@@ -1,5 +1,3 @@
1
- export const moduleName = '@openmrs/esm-patient-programs-app';
2
-
3
1
  export const dashboardMeta = {
4
2
  slot: 'patient-chart-programs-dashboard-slot',
5
3
  columns: 1,
@@ -1,17 +1,26 @@
1
1
  import React from 'react';
2
2
  import userEvent from '@testing-library/user-event';
3
3
  import { render, screen } from '@testing-library/react';
4
- import { openmrsFetch, showSnackbar } from '@openmrs/esm-framework';
5
- import { mockPatient } from 'tools';
4
+ import { type FetchResponse, showSnackbar } from '@openmrs/esm-framework';
6
5
  import { mockCareProgramsResponse, mockEnrolledProgramsResponse, mockLocationsResponse } from '__mocks__';
7
- import { createProgramEnrollment, updateProgramEnrollment } from './programs.resource';
6
+ import { mockPatient } from 'tools';
7
+ import {
8
+ createProgramEnrollment,
9
+ updateProgramEnrollment,
10
+ useAvailablePrograms,
11
+ useEnrollments,
12
+ } from './programs.resource';
8
13
  import ProgramsForm from './programs-form.workspace';
9
14
 
10
- const mockCreateProgramEnrollment = createProgramEnrollment as jest.Mock;
11
- const mockUpdateProgramEnrollment = updateProgramEnrollment as jest.Mock;
12
- const mockOpenmrsFetch = openmrsFetch as jest.Mock;
13
- const mockShowSnackbar = showSnackbar as jest.Mock;
15
+ const mockUseAvailablePrograms = jest.mocked(useAvailablePrograms);
16
+ const mockUseEnrollments = jest.mocked(useEnrollments);
17
+ const mockCreateProgramEnrollment = jest.mocked(createProgramEnrollment);
18
+ const mockUpdateProgramEnrollment = jest.mocked(updateProgramEnrollment);
19
+ const mockShowSnackbar = jest.mocked(showSnackbar);
20
+
21
+ const mockCloseWorkspace = jest.fn();
14
22
  const mockCloseWorkspaceWithSavedChanges = jest.fn();
23
+ const mockPromptBeforeClosing = jest.fn();
15
24
 
16
25
  jest.mock('@openmrs/esm-framework', () => ({
17
26
  ...jest.requireActual('@openmrs/esm-framework'),
@@ -20,20 +29,36 @@ jest.mock('@openmrs/esm-framework', () => ({
20
29
  }));
21
30
 
22
31
  jest.mock('./programs.resource', () => ({
23
- ...jest.requireActual('./programs.resource'),
24
32
  createProgramEnrollment: jest.fn(),
25
33
  updateProgramEnrollment: jest.fn(),
26
- useEnrollments: jest.fn().mockReturnValue({
27
- data: mockEnrolledProgramsResponse,
28
- isLoading: false,
29
- isError: false,
30
- mutateEnrollments: jest.fn().mockResolvedValue(undefined),
31
- }),
34
+ useAvailablePrograms: jest.fn(),
35
+ useEnrollments: jest.fn(),
32
36
  }));
33
37
 
34
38
  describe('ProgramsForm', () => {
35
39
  beforeEach(() => {
36
40
  jest.clearAllMocks();
41
+
42
+ mockUseAvailablePrograms.mockReturnValue({
43
+ data: mockCareProgramsResponse,
44
+ eligiblePrograms: [],
45
+ error: null,
46
+ isLoading: false,
47
+ });
48
+
49
+ mockUseEnrollments.mockReturnValue({
50
+ data: mockEnrolledProgramsResponse,
51
+ error: null,
52
+ isLoading: false,
53
+ isValidating: false,
54
+ activeEnrollments: [],
55
+ mutateEnrollments: jest.fn(),
56
+ });
57
+
58
+ mockCreateProgramEnrollment.mockResolvedValue({
59
+ status: 201,
60
+ statusText: 'Created',
61
+ } as unknown as FetchResponse);
37
62
  });
38
63
 
39
64
  it('renders a success toast notification upon successfully recording a program enrollment', async () => {
@@ -42,10 +67,6 @@ describe('ProgramsForm', () => {
42
67
  const inpatientWardUuid = 'b1a8b05e-3542-4037-bbd3-998ee9c40574';
43
68
  const oncologyScreeningProgramUuid = '11b129ca-a5e7-4025-84bf-b92a173e20de';
44
69
 
45
- mockOpenmrsFetch.mockReturnValueOnce({ data: { results: mockCareProgramsResponse } });
46
- mockOpenmrsFetch.mockReturnValueOnce({ data: { results: mockEnrolledProgramsResponse } });
47
- mockCreateProgramEnrollment.mockResolvedValueOnce({ status: 201, statusText: 'Created' });
48
-
49
70
  renderProgramsForm();
50
71
 
51
72
  const programNameInput = screen.getByRole('combobox', { name: /program name/i });
@@ -54,12 +75,11 @@ describe('ProgramsForm', () => {
54
75
  const enrollButton = screen.getByRole('button', { name: /save and close/i });
55
76
 
56
77
  await user.click(enrollButton);
57
- expect(screen.getByText(/programrequired/i)).toBeInTheDocument();
78
+ expect(screen.getByText(/program is required/i)).toBeInTheDocument();
58
79
 
59
80
  await user.type(enrollmentDateInput, '2020-05-05');
60
81
  await user.selectOptions(programNameInput, [oncologyScreeningProgramUuid]);
61
82
  await user.selectOptions(enrollmentLocationInput, [inpatientWardUuid]);
62
-
63
83
  expect(screen.getByRole('option', { name: /Inpatient Ward/i })).toBeInTheDocument();
64
84
 
65
85
  await user.click(enrollButton);
@@ -92,7 +112,10 @@ describe('ProgramsForm', () => {
92
112
  const enrollButton = screen.getByRole('button', { name: /save and close/i });
93
113
  const completionDateInput = screen.getByRole('textbox', { name: /date completed/i });
94
114
 
95
- mockUpdateProgramEnrollment.mockResolvedValueOnce({ status: 200, statusText: 'OK' });
115
+ mockUpdateProgramEnrollment.mockResolvedValue({
116
+ status: 200,
117
+ statusText: 'OK',
118
+ } as unknown as FetchResponse);
96
119
 
97
120
  await user.type(completionDateInput, '05/05/2020');
98
121
  await user.tab();
@@ -102,8 +125,8 @@ describe('ProgramsForm', () => {
102
125
  expect(mockUpdateProgramEnrollment).toHaveBeenCalledWith(
103
126
  mockEnrolledProgramsResponse[0].uuid,
104
127
  expect.objectContaining({
105
- dateEnrolled: '2020-01-16T00:00:00+00:00',
106
- dateCompleted: '2020-05-05T00:00:00+00:00',
128
+ dateCompleted: expect.stringMatching(/^2020-05-05/),
129
+ dateEnrolled: expect.stringMatching(/^2020-01-16/),
107
130
  location: mockEnrolledProgramsResponse[0].location.uuid,
108
131
  patient: mockPatient.id,
109
132
  program: mockEnrolledProgramsResponse[0].program.uuid,
@@ -119,54 +142,14 @@ describe('ProgramsForm', () => {
119
142
  }),
120
143
  );
121
144
  });
122
-
123
- it('renders an error notification if there was a problem recording a program enrollment', async () => {
124
- const user = userEvent.setup();
125
-
126
- const inpatientWardUuid = 'b1a8b05e-3542-4037-bbd3-998ee9c40574';
127
- const oncologyScreeningProgramUuid = '11b129ca-a5e7-4025-84bf-b92a173e20de';
128
-
129
- const error = {
130
- message: 'Internal Server Error',
131
- response: {
132
- status: 500,
133
- statusText: 'Internal Server Error',
134
- },
135
- };
136
-
137
- mockOpenmrsFetch.mockReturnValue({ data: { results: mockCareProgramsResponse } });
138
- mockOpenmrsFetch.mockReturnValue({ data: { results: mockEnrolledProgramsResponse } });
139
- mockCreateProgramEnrollment.mockRejectedValueOnce(error);
140
-
141
- renderProgramsForm();
142
-
143
- const programNameInput = screen.getByRole('combobox', { name: /program name/i });
144
- const enrollmentDateInput = screen.getByRole('textbox', { name: /date enrolled/i });
145
- const enrollmentLocationInput = screen.getByRole('combobox', { name: /enrollment location/i });
146
- const enrollButton = screen.getByRole('button', { name: /save and close/i });
147
-
148
- await user.type(enrollmentDateInput, '2020-05-05');
149
- await user.selectOptions(programNameInput, [oncologyScreeningProgramUuid]);
150
- await user.selectOptions(enrollmentLocationInput, [inpatientWardUuid]);
151
-
152
- expect(enrollButton).toBeEnabled();
153
-
154
- await user.click(enrollButton);
155
-
156
- expect(mockShowSnackbar).toHaveBeenCalledWith({
157
- subtitle: 'An unknown error occurred',
158
- kind: 'error',
159
- title: 'Error saving program enrollment',
160
- });
161
- });
162
145
  });
163
146
 
164
147
  function renderProgramsForm(programEnrollmentUuidToEdit?: string) {
165
148
  const testProps = {
166
- closeWorkspace: jest.fn(),
149
+ closeWorkspace: mockCloseWorkspace,
167
150
  closeWorkspaceWithSavedChanges: mockCloseWorkspaceWithSavedChanges,
168
151
  patientUuid: mockPatient.id,
169
- promptBeforeClosing: jest.fn(),
152
+ promptBeforeClosing: mockPromptBeforeClosing,
170
153
  setTitle: jest.fn(),
171
154
  };
172
155
 
@@ -1,7 +1,9 @@
1
- import React, { useCallback, useEffect, useState } from 'react';
2
- import { useTranslation } from 'react-i18next';
1
+ import React, { useCallback, useEffect, useMemo, useState } from 'react';
2
+ import { type TFunction, useTranslation } from 'react-i18next';
3
3
  import dayjs from 'dayjs';
4
4
  import filter from 'lodash-es/filter';
5
+ import includes from 'lodash-es/includes';
6
+ import map from 'lodash-es/map';
5
7
  import {
6
8
  Button,
7
9
  ButtonSet,
@@ -19,14 +21,7 @@ import {
19
21
  import { z } from 'zod';
20
22
  import { useForm, Controller } from 'react-hook-form';
21
23
  import { zodResolver } from '@hookform/resolvers/zod';
22
- import {
23
- parseDate,
24
- showSnackbar,
25
- translateFrom,
26
- useLayoutType,
27
- useLocations,
28
- useSession,
29
- } from '@openmrs/esm-framework';
24
+ import { parseDate, showSnackbar, useLayoutType, useLocations, useSession } from '@openmrs/esm-framework';
30
25
  import { type DefaultPatientWorkspaceProps } from '@openmrs/esm-patient-common-lib';
31
26
  import {
32
27
  createProgramEnrollment,
@@ -34,23 +29,21 @@ import {
34
29
  useEnrollments,
35
30
  updateProgramEnrollment,
36
31
  } from './programs.resource';
37
- import { moduleName } from '../dashboard.meta';
38
32
  import styles from './programs-form.scss';
39
33
 
40
34
  interface ProgramsFormProps extends DefaultPatientWorkspaceProps {
41
35
  programEnrollmentId?: string;
42
36
  }
43
37
 
44
- const programsFormSchema = z.object({
45
- selectedProgram: z
46
- .string()
47
- .refine((value) => !!value, translateFrom(moduleName, 'programRequired', 'Program is required')),
48
- enrollmentDate: z.date(),
49
- completionDate: z.date().nullable(),
50
- enrollmentLocation: z.string(),
51
- });
38
+ const createProgramsFormSchema = (t: TFunction) =>
39
+ z.object({
40
+ selectedProgram: z.string().refine((value) => !!value, t('programRequired', 'Program is required')),
41
+ enrollmentDate: z.date(),
42
+ completionDate: z.date().nullable(),
43
+ enrollmentLocation: z.string(),
44
+ });
52
45
 
53
- export type ProgramsFormData = z.infer<typeof programsFormSchema>;
46
+ export type ProgramsFormData = z.infer<ReturnType<typeof createProgramsFormSchema>>;
54
47
 
55
48
  const ProgramsForm: React.FC<ProgramsFormProps> = ({
56
49
  closeWorkspace,
@@ -67,6 +60,8 @@ const ProgramsForm: React.FC<ProgramsFormProps> = ({
67
60
  const { data: enrollments, mutateEnrollments } = useEnrollments(patientUuid);
68
61
  const [isSubmittingForm, setIsSubmittingForm] = useState(false);
69
62
 
63
+ const programsFormSchema = useMemo(() => createProgramsFormSchema(t), [t]);
64
+
70
65
  const currentEnrollment = programEnrollmentId && enrollments.filter((e) => e.uuid === programEnrollmentId)[0];
71
66
  const currentProgram = currentEnrollment
72
67
  ? {
@@ -77,11 +72,7 @@ const ProgramsForm: React.FC<ProgramsFormProps> = ({
77
72
 
78
73
  const eligiblePrograms = currentProgram
79
74
  ? [currentProgram]
80
- : filter(availablePrograms, (program) => {
81
- const existingEnrollment = enrollments.find((e) => e.program.uuid === program.uuid);
82
-
83
- return !existingEnrollment || existingEnrollment.dateCompleted !== null;
84
- });
75
+ : filter(availablePrograms, (program) => !includes(map(enrollments, 'program.uuid'), program.uuid));
85
76
 
86
77
  const getLocationUuid = () => {
87
78
  if (!currentEnrollment?.location.uuid && session?.sessionLocation?.uuid) {
@@ -165,7 +156,7 @@ const ProgramsForm: React.FC<ProgramsFormProps> = ({
165
156
  <Select
166
157
  aria-label="program name"
167
158
  id="program"
168
- invalidText={t('required', 'Required')}
159
+ invalid={!!fieldState?.error}
169
160
  labelText={t('programName', 'Program name')}
170
161
  onChange={(event) => onChange(event.target.value)}
171
162
  value={value}
@@ -24,7 +24,7 @@ export function useEnrollments(patientUuid: string) {
24
24
 
25
25
  return {
26
26
  data: data ? uniqBy(formattedEnrollments, (program) => program?.program?.uuid) : null,
27
- isError: error,
27
+ error,
28
28
  isLoading,
29
29
  isValidating,
30
30
  activeEnrollments,
@@ -47,7 +47,7 @@ export function useAvailablePrograms(enrollments?: Array<PatientProgram>) {
47
47
 
48
48
  return {
49
49
  data: availablePrograms,
50
- isError: error,
50
+ error,
51
51
  isLoading,
52
52
  eligiblePrograms,
53
53
  };
@@ -72,7 +72,7 @@ export function updateProgramEnrollment(programEnrollmentUuid: string, payload,
72
72
  if (!payload && !payload.program) {
73
73
  return null;
74
74
  }
75
- const { program, dateEnrolled, dateCompleted, location } = payload;
75
+ const { dateEnrolled, dateCompleted, location } = payload;
76
76
  return openmrsFetch(`${restBaseUrl}/programenrollment/${programEnrollmentUuid}`, {
77
77
  method: 'POST',
78
78
  headers: {
@@ -86,7 +86,7 @@ export function updateProgramEnrollment(programEnrollmentUuid: string, payload,
86
86
  export const usePrograms = (patientUuid: string) => {
87
87
  const {
88
88
  data: enrollments,
89
- isError: enrollError,
89
+ error: enrollError,
90
90
  isLoading: enrolLoading,
91
91
  isValidating,
92
92
  activeEnrollments,
@@ -15,11 +15,11 @@ export interface PatientProgram {
15
15
  states: Array<{}>;
16
16
  links?: Links;
17
17
  }>;
18
- concept: {
18
+ concept?: {
19
19
  display: string;
20
20
  uuid: string;
21
21
  };
22
- links: Links;
22
+ links?: Links;
23
23
  };
24
24
  display: string;
25
25
  dateEnrolled: string;
@@ -27,12 +27,12 @@ export interface PatientProgram {
27
27
  location?: {
28
28
  uuid: string;
29
29
  display: string;
30
- links: Links;
30
+ links?: Links;
31
31
  };
32
32
  voided?: boolean;
33
33
  outcome?: null;
34
34
  states?: [];
35
- links: Links;
35
+ links?: Links;
36
36
  resourceVersion?: string;
37
37
  }
38
38
 
@@ -25,9 +25,9 @@
25
25
  "programEnrollmentSaveError": "Error saving program enrollment",
26
26
  "programEnrollmentWorkspaceTitle": "Record program enrollment",
27
27
  "programName": "Program name",
28
+ "programRequired": "Program is required",
28
29
  "programs": "Program enrollments",
29
30
  "Programs": "Programs",
30
- "required": "Required",
31
31
  "saveAndClose": "Save and close",
32
32
  "saving": "Saving",
33
33
  "seeAll": "See all",
package/dist/610.js DELETED
@@ -1 +0,0 @@
1
- (globalThis.webpackChunk_openmrs_esm_patient_programs_app=globalThis.webpackChunk_openmrs_esm_patient_programs_app||[]).push([[610],{5351:(e,r,t)=>{"use strict";t.d(r,{Z:()=>i});var n=t(272),a=t.n(n),o=t(2609),l=t.n(o)()(a());l.push([e.id,":root{--brand-01: #005d5d;--brand-02: #004144;--brand-03: #007d79;--bottom-nav-height: 4rem;--workspace-header-height: 3rem;--tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));--desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height))}.-esm-patient-programs__programs-detailed-summary__widgetCard___R5Btc{border:1px solid #e0e0e0;border-bottom:none}","",{version:3,sources:["webpack://./../../node_modules/@openmrs/esm-styleguide/src/_vars.scss","webpack://./src/programs/programs-detailed-summary.scss"],names:[],mappings:"AAoDA,MACE,mBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,+BAAA,CACA,oGAAA,CACA,2GAAA,CCzDF,sEACE,wBAAA,CACA,kBAAA",sourceRoot:""}]),l.locals={widgetCard:"-esm-patient-programs__programs-detailed-summary__widgetCard___R5Btc"};const i=l},6983:(e,r,t)=>{"use strict";t.d(r,{Z:()=>i});var n=t(272),a=t.n(n),o=t(2609),l=t.n(o)()(a());l.push([e.id,":root{--brand-01: #005d5d;--brand-02: #004144;--brand-03: #007d79;--bottom-nav-height: 4rem;--workspace-header-height: 3rem;--tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));--desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height))}.-esm-patient-programs__programs-overview__widgetCard___yEo1t{border:1px solid #e0e0e0}","",{version:3,sources:["webpack://./../../node_modules/@openmrs/esm-styleguide/src/_vars.scss","webpack://./src/programs/programs-overview.scss"],names:[],mappings:"AAoDA,MACE,mBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,+BAAA,CACA,oGAAA,CACA,2GAAA,CCzDF,8DACE,wBAAA",sourceRoot:""}]),l.locals={widgetCard:"-esm-patient-programs__programs-overview__widgetCard___yEo1t"};const i=l},2265:(e,r,t)=>{"use strict";t.d(r,{V:()=>a,e:()=>n});var n="@openmrs/esm-patient-programs-app",a={slot:"patient-chart-programs-dashboard-slot",columns:1,path:"Programs",title:"Programs"}},3610:(e,r,t)=>{"use strict";t.r(r),t.d(r,{importTranslation:()=>U,programsDashboardLink:()=>q,programsDetailedSummary:()=>$,programsFormWorkspace:()=>J,programsOverview:()=>G,startupApp:()=>V});var n=t(2870),a=t(884),o={hideAddProgramButton:{_type:n.Type.Boolean,_default:!1}},l=t(2265),i=t(268),s=t.n(i),c=t(2524),d=t.n(c),u=t(4924),m=t(9841),p=t(6759),g=t(9946),v=t(321),b=t.n(v),f=t(1195),h=t.n(f),y=t(3275),A=t.n(y),E=t(7162),w=t.n(E),C=t(2094),P=t.n(C),O=t(757),k=t.n(O),j=t(6983),_={};_.styleTagTransform=k(),_.setAttributes=w(),_.insert=A().bind(null,"head"),_.domAPI=h(),_.insertStyleElement=P(),b()(j.Z,_);const S=j.Z&&j.Z.locals?j.Z.locals:void 0;function D(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function Z(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),n.forEach((function(r){D(e,r,t[r])}))}return e}var T=t(7631),B=t(5351),L={};L.styleTagTransform=k(),L.setAttributes=w(),L.insert=A().bind(null,"head"),L.domAPI=h(),L.insertStyleElement=P(),b()(B.Z,L);const x=B.Z&&B.Z.locals?B.Z.locals:void 0;function z(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function I(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),n.forEach((function(r){z(e,r,t[r])}))}return e}function F(e){var r=e.programEnrollmentId,t=e.t,o="tablet"===(0,n.useLayoutType)(),l=(0,i.useCallback)((function(){return(0,a.launchPatientWorkspace)("programs-form-workspace",{programEnrollmentId:r})}),[r]);return s().createElement(m.zxk,{"aria-label":"edit program",kind:"ghost",renderIcon:function(e){return s().createElement(T.I8,I({size:16},e))},iconDescription:t("editProgram","Edit Program"),onClick:l,hasIconOnly:!0,tooltipPosition:"left",size:o?"lg":"sm"})}function H(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}var N="@openmrs/esm-patient-programs-app",M={featureName:"patient-programs",moduleName:N},U=t(3979);function V(){(0,n.defineConfigSchema)(N,o)}var W,R,G=(0,n.getSyncLifecycle)((function(e){e.basePath;var r=e.patientUuid,t=(0,u.useTranslation)().t,o=(0,n.useConfig)(),l=t("programs","Program enrollments"),i=t("carePrograms","Care Programs"),c=t("seeAll","See all"),v="${openmrsSpaBase}/patient/".concat(r,"/chart/Programs"),b=(0,n.useLayoutType)(),f="tablet"===b,h=(0,n.isDesktop)(b),y=(0,g.b$)(r),A=y.activeEnrollments,E=y.availablePrograms,w=y.eligiblePrograms,C=y.enrollments,P=y.isError,O=y.isLoading,k=y.isValidating,j=(0,n.usePagination)(null!=C?C:[],5),_=j.results,D=j.goTo,T=j.currentPage,B=s().useCallback((function(){return(0,a.launchPatientWorkspace)("programs-form-workspace")}),[]),L=[{key:"display",header:t("activePrograms","Active programs")},{key:"location",header:t("location","Location")},{key:"dateEnrolled",header:t("dateEnrolled","Date enrolled")},{key:"status",header:t("status","Status")},{key:"actions",header:t("actions","Actions")}],x=s().useMemo((function(){return null==_?void 0:_.map((function(e){var r,a;return{id:e.uuid,display:e.display,location:null!==(a=null===(r=e.location)||void 0===r?void 0:r.display)&&void 0!==a?a:"--",dateEnrolled:e.dateEnrolled?(0,n.formatDatetime)(new Date(e.dateEnrolled)):"--",status:e.dateCompleted?"".concat(t("completedOn","Completed On")," ").concat((0,n.formatDate)(new Date(e.dateCompleted))):t("active","Active")}}))}),[_,t]);return O?s().createElement(m.gqd,{role:"progressbar",compact:h,zebra:!0}):P?s().createElement(a.ErrorState,{error:P,headerTitle:i}):(null==A?void 0:A.length)?s().createElement("div",{className:S.widgetCard},s().createElement(a.CardHeader,{title:i},s().createElement("span",null,k?s().createElement(m.lSo,null):null),o.hideAddProgramButton?null:s().createElement(m.zxk,{kind:"ghost",renderIcon:function(e){return s().createElement(p.mm,Z({size:16},e))},iconDescription:"Add programs",onClick:B,disabled:(null==E?void 0:E.length)&&0===(null==w?void 0:w.length)},t("add","Add"))),(null==E?void 0:E.length)&&0===(null==w?void 0:w.length)&&s().createElement(m.K0D,{style:{minWidth:"100%",margin:"0rem",padding:"0rem"},kind:"info",lowContrast:!0,subtitle:t("noEligibleEnrollments","There are no more programs left to enroll this patient in"),title:t("fullyEnrolled","Enrolled in all programs")}),s().createElement(m.wQF,{rows:x,headers:L,isSortable:!0,size:f?"lg":"sm",useZebraStyles:!0},(function(e){var r=e.rows,t=e.headers,n=e.getHeaderProps,a=e.getTableProps;return s().createElement(m.xJi,null,s().createElement(m.iA_,Z({"aria-label":"programs overview"},a()),s().createElement(m.ssF,null,s().createElement(m.SCH,null,t.map((function(e){var r,t;return s().createElement(m.xDH,Z({className:d()(S.productiveHeading01,S.text02)},n({header:e,isSortable:e.isSortable})),null!==(t=null===(r=e.header)||void 0===r?void 0:r.content)&&void 0!==t?t:e.header)})))),s().createElement(m.RMI,null,r.map((function(e){return s().createElement(m.SCH,{key:e.id},e.cells.map((function(e){var r,t;return s().createElement(m.pj1,{key:e.id},null!==(t=null===(r=e.value)||void 0===r?void 0:r.content)&&void 0!==t?t:e.value)})))})))))})),s().createElement(a.PatientChartPagination,{currentItems:_.length,onPageNumberChange:function(e){var r=e.page;return D(r)},pageNumber:T,pageSize:5,totalItems:null==C?void 0:C.length,dashboardLinkUrl:v,dashboardLinkLabel:c})):s().createElement(a.EmptyState,{displayText:l,headerTitle:i,launchForm:B})}),M),$=(0,n.getSyncLifecycle)((function(e){var r=e.patientUuid,t=(0,u.useTranslation)().t,o=(0,n.useConfig)().hideAddProgramButton,l=(0,n.useLayoutType)(),c="tablet"===l,v=(0,n.isDesktop)(l),b=t("programEnrollments","Program enrollments"),f=t("carePrograms","Care Programs"),h=(0,g.b$)(r),y=h.enrollments,A=h.isLoading,E=h.isError,w=h.isValidating,C=h.availablePrograms,P=(0,i.useMemo)((function(){return[{key:"display",header:t("activePrograms","Active programs")},{key:"location",header:t("location","Location")},{key:"dateEnrolled",header:t("dateEnrolled","Date enrolled")},{key:"status",header:t("status","Status")}]}),[t]),O=(0,i.useMemo)((function(){return null==y?void 0:y.map((function(e){var r,a;return{id:e.uuid,display:e.display,location:null!==(a=null===(r=e.location)||void 0===r?void 0:r.display)&&void 0!==a?a:"--",dateEnrolled:(0,n.formatDatetime)(new Date(e.dateEnrolled)),status:e.dateCompleted?"".concat(t("completedOn","Completed On")," ").concat((0,n.formatDate)(new Date(e.dateCompleted))):t("active","Active")}}))}),[y,t]),k=(0,i.useCallback)((function(){return(0,a.launchPatientWorkspace)("programs-form-workspace")}),[]),j=(0,i.useMemo)((function(){return!(!(null==C?void 0:C.length)||!(null==y?void 0:y.length))&&y.filter((function(e){return!e.dateCompleted})).length===C.length}),[C,y]);return A?s().createElement(m.gqd,{role:"progressbar",compact:v,zebra:!0}):E?s().createElement(a.ErrorState,{error:E,headerTitle:f}):(null==y?void 0:y.length)?s().createElement("div",{className:x.widgetCard},s().createElement(a.CardHeader,{title:f},s().createElement("span",null,w?s().createElement(m.lSo,null):null),o?null:s().createElement(m.zxk,{kind:"ghost",renderIcon:function(e){return s().createElement(p.mm,I({size:16},e))},iconDescription:t("addPrograms","Add programs"),onClick:k},t("add","Add"))),j&&s().createElement(m.K0D,{style:{minWidth:"100%",margin:"0rem",padding:"0rem"},lowContrast:!0,subtitle:t("noEligibleEnrollments","There are no more programs left to enroll this patient in"),title:t("fullyEnrolled","Enrolled in all programs")}),s().createElement(m.wQF,{rows:O,headers:P,isSortable:!0,size:c?"lg":"sm",useZebraStyles:!0},(function(e){var r=e.rows,n=e.headers,a=e.getHeaderProps,o=e.getTableProps;return s().createElement(m.xJi,null,s().createElement(m.iA_,I({"aria-label":"program enrollments"},o()),s().createElement(m.ssF,null,s().createElement(m.SCH,null,n.map((function(e){var r,t;return s().createElement(m.xDH,I({className:d()(x.productiveHeading01,x.text02)},a({header:e,isSortable:e.isSortable})),null!==(t=null===(r=e.header)||void 0===r?void 0:r.content)&&void 0!==t?t:e.header)})),s().createElement(m.xDH,null))),s().createElement(m.RMI,null,r.map((function(e,r){var n;return s().createElement(m.SCH,{key:e.id},e.cells.map((function(e){var r,t;return s().createElement(m.pj1,{key:e.id},null!==(t=null===(r=e.value)||void 0===r?void 0:r.content)&&void 0!==t?t:e.value)})),s().createElement(m.pj1,{className:"cds--table-column-menu"},s().createElement(F,{programEnrollmentId:null===(n=y[r])||void 0===n?void 0:n.uuid,t})))})))))}))):s().createElement(a.EmptyState,{displayText:b,headerTitle:f,launchForm:k})}),M),q=(0,n.getSyncLifecycle)((0,a.createDashboardLink)((W=function(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),n.forEach((function(r){H(e,r,t[r])}))}return e}({},l.V),R=null!=(R={moduleName:N})?R:{},Object.getOwnPropertyDescriptors?Object.defineProperties(W,Object.getOwnPropertyDescriptors(R)):function(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(R)).forEach((function(e){Object.defineProperty(W,e,Object.getOwnPropertyDescriptor(R,e))})),W)),M),J=(0,n.getAsyncLifecycle)((function(){return Promise.all([t.e(940),t.e(234)]).then(t.bind(t,234))}),M)},9946:(e,r,t)=>{"use strict";t.d(r,{df:()=>k,YX:()=>j,oI:()=>O,Bw:()=>P,b$:()=>_});var n=t(3255),a=t(2870),o=t(4221),l=t(9626),i=t(7626),s=t(3282),c=t(8147),d=t(7885),u=t(3391);var m=t(6127),p=t(5598);var g=t(2198);const v=function(e){return null==e?[]:function(e,r){return(0,p.Z)(r,(function(r){return e[r]}))}(e,(0,g.Z)(e))};var b=Math.max;const f=function(e,r,t,n){e=(0,s.Z)(e)?e:v(e),t=t&&!n?(0,m.Z)(t):0;var a=e.length;return t<0&&(t=b(a+t,0)),function(e){return"string"==typeof e||!(0,d.Z)(e)&&(0,u.Z)(e)&&"[object String]"==(0,c.Z)(e)}(e)?t<=a&&e.indexOf(r,t)>-1:!!a&&(0,i.Z)(e,r,t)>-1};var h=t(9481),y=t(506);const A=function(e,r){var t=-1,n=(0,s.Z)(e)?Array(e.length):[];return(0,y.Z)(e,(function(e,a,o){n[++t]=r(e,a,o)})),n},E=function(e,r){return((0,d.Z)(e)?p.Z:A)(e,(0,h.Z)(r,3))};function w(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}var C="custom:(uuid,display,program,dateEnrolled,dateCompleted,location:(uuid,display))";function P(e){var r,t="".concat(a.restBaseUrl,"/programenrollment?patient=").concat(e,"&v=").concat(C),l=(0,n.ZP)(e?t:null,a.openmrsFetch),i=l.data,s=l.error,c=l.isLoading,d=l.isValidating,u=l.mutate,m=(null==i||null===(r=i.data)||void 0===r?void 0:r.results.length)>0?null==i?void 0:i.data.results.sort((function(e,r){return r.dateEnrolled>e.dateEnrolled?1:-1})):null,p=null==m?void 0:m.filter((function(e){return!e.dateCompleted}));return{data:i?(0,o.Z)(m,(function(e){var r;return null==e||null===(r=e.program)||void 0===r?void 0:r.uuid})):null,isError:s,isLoading:c,isValidating:d,activeEnrollments:p,mutateEnrollments:u}}function O(e){var r,t,o=(0,n.ZP)("".concat(a.restBaseUrl,"/program?v=custom:(uuid,display,allWorkflows,concept:(uuid,display))"),a.openmrsFetch),i=o.data,s=o.error,c=o.isLoading,d=null!==(t=null==i||null===(r=i.data)||void 0===r?void 0:r.results)&&void 0!==t?t:null;return{data:d,isError:s,isLoading:c,eligiblePrograms:(0,l.Z)(d,(function(r){return!f(E(e,"program.uuid"),r.uuid)}))}}function k(e,r){if(!e)return null;var t=e.program,n=e.patient,o=e.dateEnrolled,l=e.dateCompleted,i=e.location;return(0,a.openmrsFetch)("".concat(a.restBaseUrl,"/programenrollment"),{method:"POST",headers:{"Content-Type":"application/json"},body:{program:t,patient:n,dateEnrolled:o,dateCompleted:l,location:i},signal:r.signal})}function j(e,r,t){if(!r&&!r.program)return null;r.program;var n=r.dateEnrolled,o=r.dateCompleted,l=r.location;return(0,a.openmrsFetch)("".concat(a.restBaseUrl,"/programenrollment/").concat(e),{method:"POST",headers:{"Content-Type":"application/json"},body:{dateEnrolled:n,dateCompleted:o,location:l},signal:t.signal})}var _=function(e){var r,t,n=P(e),a=n.data,o=n.isError,l=n.isLoading,i=n.isValidating,s=n.activeEnrollments,c=O(a),d=c.data,u=c.eligiblePrograms;return r=function(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),n.forEach((function(r){w(e,r,t[r])}))}return e}({enrollments:a},{isLoading:l,isError:o}),t=null!=(t={isValidating:i,activeEnrollments:s,availablePrograms:d,eligiblePrograms:u})?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):function(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(t,e))})),r}},3979:(e,r,t)=>{var n={"./am.json":[8788,788],"./ar.json":[4460,460],"./en.json":[3574,574],"./es.json":[8319,319],"./fr.json":[2757,757],"./he.json":[5833,833],"./km.json":[7807,807],"./zh.json":[8271,271],"./zh_CN.json":[1644,644]};function a(e){if(!t.o(n,e))return Promise.resolve().then((()=>{var r=new Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}));var r=n[e],a=r[0];return t.e(r[1]).then((()=>t(a)))}a.keys=()=>Object.keys(n),a.id=3979,e.exports=a},506:(e,r,t)=>{"use strict";t.d(r,{Z:()=>l});const n=function(e,r,t){for(var n=-1,a=Object(e),o=t(e),l=o.length;l--;){var i=o[++n];if(!1===r(a[i],i,a))break}return e};var a=t(2198);var o=t(3282);const l=(i=function(e,r){return e&&n(e,r,a.Z)},function(e,r){if(null==e)return e;if(!(0,o.Z)(e))return i(e,r);for(var t=e.length,n=-1,a=Object(e);++n<t&&!1!==r(a[n],n,a););return e});var i},9626:(e,r,t)=>{"use strict";t.d(r,{Z:()=>s});var n=t(2300),a=t(506);const o=function(e,r){var t=[];return(0,a.Z)(e,(function(e,n,a){r(e,n,a)&&t.push(e)})),t};var l=t(9481),i=t(7885);const s=function(e,r){return((0,i.Z)(e)?n.Z:o)(e,(0,l.Z)(r,3))}}}]);