@openmrs/esm-patient-tests-app 11.3.1-pre.9388 → 11.3.1-pre.9390

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_tests_app;(()=>{"use strict";var e,r,t,n,o,a,i,s,l,u,p,f,c,d,h,m,v,g,b,y,w,_={38584:(e,r,t)=>{var n={"./start":()=>Promise.all([t.e(8307),t.e(1778),t.e(1343),t.e(5434),t.e(3205),t.e(6231)]).then((()=>()=>t(26231)))},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})}},P={};function S(e){var r=P[e];if(void 0!==r)return r.exports;var t=P[e]={id:e,exports:{}};return _[e].call(t.exports,t,t.exports,S),t.exports}S.m=_,S.c=P,S.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return S.d(r,{a:r}),r},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,S.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if("object"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&"function"==typeof t.then)return t}var o=Object.create(null);S.r(o);var a={};e=e||[null,r({}),r([]),r(r)];for(var i=2&n&&t;"object"==typeof i&&!~e.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach((e=>a[e]=()=>t[e]));return a.default=()=>t,S.d(o,a),o},S.d=(e,r)=>{for(var t in r)S.o(r,t)&&!S.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},S.f={},S.e=e=>Promise.all(Object.keys(S.f).reduce(((r,t)=>(S.f[t](e,r),r)),[])),S.u=e=>e+".js",S.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),S.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},n="@openmrs/esm-patient-tests-app:",S.l=(e,r,o,a)=>{if(t[e])t[e].push(r);else{var i,s;if(void 0!==o)for(var l=document.getElementsByTagName("script"),u=0;u<l.length;u++){var p=l[u];if(p.getAttribute("src")==e||p.getAttribute("data-webpack")==n+o){i=p;break}}i||(s=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,S.nc&&i.setAttribute("nonce",S.nc),i.setAttribute("data-webpack",n+o),i.src=e),t[e]=[r];var f=(r,n)=>{i.onerror=i.onload=null,clearTimeout(c);var o=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},c=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),s&&document.head.appendChild(i)}},S.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{S.S={};var e={},r={};S.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];S.o(S.S,t)||(S.S[t]={});var a=S.S[t],i="@openmrs/esm-patient-tests-app",s=(e,r,t,n)=>{var o=a[e]=a[e]||{},s=o[r];(!s||!s.loaded&&(!n!=!s.eager?n:i>s.from))&&(o[r]={get:t,from:i,eager:!!n})},l=[];return"default"===t&&(s("@openmrs/esm-framework","8.0.1-pre.3504",(()=>Promise.all([S.e(8555),S.e(8307),S.e(5670),S.e(1343),S.e(8010),S.e(5434),S.e(4818),S.e(3205)]).then((()=>()=>S(55670))))),s("@openmrs/esm-patient-common-lib","11.3.1-pre.9388",(()=>Promise.all([S.e(8555),S.e(8307),S.e(1343),S.e(8010),S.e(5434),S.e(4818),S.e(3205),S.e(34),S.e(7473)]).then((()=>()=>S(60034))))),s("react-i18next","16.0.0",(()=>Promise.all([S.e(6336),S.e(1343)]).then((()=>()=>S(16336))))),s("react-router-dom","6.16.0",(()=>Promise.all([S.e(2913),S.e(1343)]).then((()=>()=>S(52913))))),s("react","18.3.1",(()=>S.e(4041).then((()=>()=>S(14041))))),s("rxjs","6.6.7",(()=>S.e(2457).then((()=>()=>S(82457))))),s("swr/_internal","2.2.5",(()=>Promise.all([S.e(2372),S.e(1343)]).then((()=>()=>S(42372))))),s("swr/immutable","2.2.5",(()=>Promise.all([S.e(1343),S.e(5434),S.e(7495)]).then((()=>()=>S(29876))))),s("swr/infinite","2.2.5",(()=>Promise.all([S.e(1343),S.e(5434),S.e(89)]).then((()=>()=>S(52470)))))),e[t]=l.length?Promise.all(l).then((()=>e[t]=1)):1}}})(),(()=>{var e;S.g.importScripts&&(e=S.g.location+"");var r=S.g.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var n=t.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=t[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),S.p=e})(),o=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},a=(e,r)=>{e=o(e),r=o(r);for(var t=0;;){if(t>=e.length)return t<r.length&&"u"!=(typeof r[t])[0];var n=e[t],a=(typeof n)[0];if(t>=r.length)return"u"==a;var i=r[t],s=(typeof i)[0];if(a!=s)return"o"==a&&"n"==s||"s"==s||"u"==a;if("o"!=a&&"u"!=a&&n!=i)return n<i;t++}},i=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,o=1;o<e.length;o++)n--,t+="u"==(typeof(s=e[o]))[0]?"-":(n>0?".":"")+(n=2,s);return t}var a=[];for(o=1;o<e.length;o++){var s=e[o];a.push(0===s?"not("+l()+")":1===s?"("+l()+" || "+l()+")":2===s?a.pop()+" "+a.pop():i(s))}return l();function l(){return a.pop().replace(/^\((.+)\)$/,"$1")}},s=(e,r)=>{if(0 in e){r=o(r);var t=e[0],n=t<0;n&&(t=-t-1);for(var a=0,i=1,l=!0;;i++,a++){var u,p,f=i<e.length?(typeof e[i])[0]:"";if(a>=r.length||"o"==(p=(typeof(u=r[a]))[0]))return!l||("u"==f?i>t&&!n:""==f!=n);if("u"==p){if(!l||"u"!=f)return!1}else if(l)if(f==p)if(i<=t){if(u!=e[i])return!1}else{if(n?u>e[i]:u<e[i])return!1;u!=e[i]&&(l=!1)}else if("s"!=f&&"n"!=f){if(n||i<=t)return!1;l=!1,i--}else{if(i<=t||p<f!=n)return!1;l=!1}else"s"!=f&&"n"!=f&&(l=!1,i--)}}var c=[],d=c.pop.bind(c);for(a=1;a<e.length;a++){var h=e[a];c.push(1==h?d()|d():2==h?d()&d():h?s(h,r):!d())}return!!d()},l=(e,r)=>e&&S.o(e,r),u=e=>(e.loaded=1,e.get()),p=e=>Object.keys(e).reduce(((r,t)=>(e[t].eager&&(r[t]=e[t]),r)),{}),f=(e,r,t)=>{var n=t?p(e[r]):e[r];return Object.keys(n).reduce(((e,r)=>!e||!n[e].loaded&&a(e,r)?r:e),0)},c=(e,r,t,n)=>"Unsatisfied version "+t+" from "+(t&&e[r][t].from)+" of shared singleton module "+r+" (required "+i(n)+")",d=e=>{throw new Error(e)},h=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},m=(e,r,t)=>t?t():((e,r)=>d("Shared module "+r+" doesn't exist in shared scope "+e))(e,r),v=(e=>function(r,t,n,o,a){var i=S.I(r);return i&&i.then&&!n?i.then(e.bind(e,r,S.S[r],t,!1,o,a)):e(r,S.S[r],t,n,o,a)})(((e,r,t,n,o,a)=>{if(!l(r,t))return m(e,t,a);var i=f(r,t,n);return s(o,i)||h(c(r,t,i,o)),u(r[t][i])})),g={},b={1343:()=>v("default","react",!1,[1,18],(()=>S.e(4041).then((()=>()=>S(14041))))),88010:()=>v("default","swr/immutable",!1,[1,2],(()=>S.e(9876).then((()=>()=>S(29876))))),55434:()=>v("default","swr/_internal",!1,[1,2],(()=>S.e(2372).then((()=>()=>S(42372))))),24818:()=>v("default","rxjs",!1,[1,6],(()=>S.e(2457).then((()=>()=>S(82457))))),8877:()=>v("default","react-router-dom",!1,[1,6],(()=>S.e(2913).then((()=>()=>S(52913))))),54440:()=>v("default","@openmrs/esm-framework",!1,[1,8],(()=>Promise.all([S.e(8555),S.e(5670),S.e(8010),S.e(4818)]).then((()=>()=>S(55670))))),72339:()=>v("default","react-i18next",!1,[1,16],(()=>S.e(6336).then((()=>()=>S(16336))))),98394:()=>v("default","swr/infinite",!1,[1,2],(()=>S.e(2470).then((()=>()=>S(52470))))),36274:()=>v("default","@openmrs/esm-patient-common-lib",!1,[1,11],(()=>Promise.all([S.e(8555),S.e(8010),S.e(4818),S.e(34)]).then((()=>()=>S(60034)))))},y={1343:[1343],3205:[8877,54440,72339,98394],4818:[24818],5434:[55434],6231:[36274],8010:[88010]},w={},S.f.consumes=(e,r)=>{S.o(y,e)&&y[e].forEach((e=>{if(S.o(g,e))return r.push(g[e]);if(!w[e]){var t=r=>{g[e]=0,S.m[e]=t=>{delete S.c[e],t.exports=r()}};w[e]=!0;var n=r=>{delete g[e],S.m[e]=t=>{throw delete S.c[e],r}};try{var o=b[e]();o.then?r.push(g[e]=o.then(t).catch(n)):t(o)}catch(e){n(e)}}}))},(()=>{var e={7773:0};S.f.j=(r,t)=>{var n=S.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else if(/^(1343|3205|4818|5434|8010)$/.test(r))e[r]=0;else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var a=S.p+S.u(r),i=new Error;S.l(a,(t=>{if(S.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,s]=t,l=0;if(a.some((r=>0!==e[r]))){for(n in i)S.o(i,n)&&(S.m[n]=i[n]);s&&s(S)}for(r&&r(t);l<a.length;l++)o=a[l],S.o(e,o)&&e[o]&&e[o][0](),e[o]=0},t=globalThis.webpackChunk_openmrs_esm_patient_tests_app=globalThis.webpackChunk_openmrs_esm_patient_tests_app||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),S.nc=void 0;var j=S(38584);_openmrs_esm_patient_tests_app=j})();
1
+ var _openmrs_esm_patient_tests_app;(()=>{"use strict";var e,r,t,n,o,a,i,s,l,u,p,f,c,d,h,m,v,g,b,y,w,_={38584:(e,r,t)=>{var n={"./start":()=>Promise.all([t.e(8307),t.e(1778),t.e(1343),t.e(5434),t.e(3205),t.e(6231)]).then((()=>()=>t(26231)))},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})}},P={};function S(e){var r=P[e];if(void 0!==r)return r.exports;var t=P[e]={id:e,exports:{}};return _[e].call(t.exports,t,t.exports,S),t.exports}S.m=_,S.c=P,S.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return S.d(r,{a:r}),r},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,S.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if("object"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&"function"==typeof t.then)return t}var o=Object.create(null);S.r(o);var a={};e=e||[null,r({}),r([]),r(r)];for(var i=2&n&&t;"object"==typeof i&&!~e.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach((e=>a[e]=()=>t[e]));return a.default=()=>t,S.d(o,a),o},S.d=(e,r)=>{for(var t in r)S.o(r,t)&&!S.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},S.f={},S.e=e=>Promise.all(Object.keys(S.f).reduce(((r,t)=>(S.f[t](e,r),r)),[])),S.u=e=>e+".js",S.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),S.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},n="@openmrs/esm-patient-tests-app:",S.l=(e,r,o,a)=>{if(t[e])t[e].push(r);else{var i,s;if(void 0!==o)for(var l=document.getElementsByTagName("script"),u=0;u<l.length;u++){var p=l[u];if(p.getAttribute("src")==e||p.getAttribute("data-webpack")==n+o){i=p;break}}i||(s=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,S.nc&&i.setAttribute("nonce",S.nc),i.setAttribute("data-webpack",n+o),i.src=e),t[e]=[r];var f=(r,n)=>{i.onerror=i.onload=null,clearTimeout(c);var o=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},c=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),s&&document.head.appendChild(i)}},S.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{S.S={};var e={},r={};S.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];S.o(S.S,t)||(S.S[t]={});var a=S.S[t],i="@openmrs/esm-patient-tests-app",s=(e,r,t,n)=>{var o=a[e]=a[e]||{},s=o[r];(!s||!s.loaded&&(!n!=!s.eager?n:i>s.from))&&(o[r]={get:t,from:i,eager:!!n})},l=[];return"default"===t&&(s("@openmrs/esm-framework","8.0.1-pre.3504",(()=>Promise.all([S.e(8555),S.e(8307),S.e(5670),S.e(1343),S.e(8010),S.e(5434),S.e(4818),S.e(3205)]).then((()=>()=>S(55670))))),s("@openmrs/esm-patient-common-lib","11.3.1-pre.9390",(()=>Promise.all([S.e(8555),S.e(8307),S.e(1343),S.e(8010),S.e(5434),S.e(4818),S.e(3205),S.e(34),S.e(7473)]).then((()=>()=>S(60034))))),s("react-i18next","16.0.0",(()=>Promise.all([S.e(6336),S.e(1343)]).then((()=>()=>S(16336))))),s("react-router-dom","6.16.0",(()=>Promise.all([S.e(2913),S.e(1343)]).then((()=>()=>S(52913))))),s("react","18.3.1",(()=>S.e(4041).then((()=>()=>S(14041))))),s("rxjs","6.6.7",(()=>S.e(2457).then((()=>()=>S(82457))))),s("swr/_internal","2.2.5",(()=>Promise.all([S.e(2372),S.e(1343)]).then((()=>()=>S(42372))))),s("swr/immutable","2.2.5",(()=>Promise.all([S.e(1343),S.e(5434),S.e(7495)]).then((()=>()=>S(29876))))),s("swr/infinite","2.2.5",(()=>Promise.all([S.e(1343),S.e(5434),S.e(89)]).then((()=>()=>S(52470)))))),e[t]=l.length?Promise.all(l).then((()=>e[t]=1)):1}}})(),(()=>{var e;S.g.importScripts&&(e=S.g.location+"");var r=S.g.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var n=t.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=t[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),S.p=e})(),o=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},a=(e,r)=>{e=o(e),r=o(r);for(var t=0;;){if(t>=e.length)return t<r.length&&"u"!=(typeof r[t])[0];var n=e[t],a=(typeof n)[0];if(t>=r.length)return"u"==a;var i=r[t],s=(typeof i)[0];if(a!=s)return"o"==a&&"n"==s||"s"==s||"u"==a;if("o"!=a&&"u"!=a&&n!=i)return n<i;t++}},i=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,o=1;o<e.length;o++)n--,t+="u"==(typeof(s=e[o]))[0]?"-":(n>0?".":"")+(n=2,s);return t}var a=[];for(o=1;o<e.length;o++){var s=e[o];a.push(0===s?"not("+l()+")":1===s?"("+l()+" || "+l()+")":2===s?a.pop()+" "+a.pop():i(s))}return l();function l(){return a.pop().replace(/^\((.+)\)$/,"$1")}},s=(e,r)=>{if(0 in e){r=o(r);var t=e[0],n=t<0;n&&(t=-t-1);for(var a=0,i=1,l=!0;;i++,a++){var u,p,f=i<e.length?(typeof e[i])[0]:"";if(a>=r.length||"o"==(p=(typeof(u=r[a]))[0]))return!l||("u"==f?i>t&&!n:""==f!=n);if("u"==p){if(!l||"u"!=f)return!1}else if(l)if(f==p)if(i<=t){if(u!=e[i])return!1}else{if(n?u>e[i]:u<e[i])return!1;u!=e[i]&&(l=!1)}else if("s"!=f&&"n"!=f){if(n||i<=t)return!1;l=!1,i--}else{if(i<=t||p<f!=n)return!1;l=!1}else"s"!=f&&"n"!=f&&(l=!1,i--)}}var c=[],d=c.pop.bind(c);for(a=1;a<e.length;a++){var h=e[a];c.push(1==h?d()|d():2==h?d()&d():h?s(h,r):!d())}return!!d()},l=(e,r)=>e&&S.o(e,r),u=e=>(e.loaded=1,e.get()),p=e=>Object.keys(e).reduce(((r,t)=>(e[t].eager&&(r[t]=e[t]),r)),{}),f=(e,r,t)=>{var n=t?p(e[r]):e[r];return Object.keys(n).reduce(((e,r)=>!e||!n[e].loaded&&a(e,r)?r:e),0)},c=(e,r,t,n)=>"Unsatisfied version "+t+" from "+(t&&e[r][t].from)+" of shared singleton module "+r+" (required "+i(n)+")",d=e=>{throw new Error(e)},h=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},m=(e,r,t)=>t?t():((e,r)=>d("Shared module "+r+" doesn't exist in shared scope "+e))(e,r),v=(e=>function(r,t,n,o,a){var i=S.I(r);return i&&i.then&&!n?i.then(e.bind(e,r,S.S[r],t,!1,o,a)):e(r,S.S[r],t,n,o,a)})(((e,r,t,n,o,a)=>{if(!l(r,t))return m(e,t,a);var i=f(r,t,n);return s(o,i)||h(c(r,t,i,o)),u(r[t][i])})),g={},b={1343:()=>v("default","react",!1,[1,18],(()=>S.e(4041).then((()=>()=>S(14041))))),88010:()=>v("default","swr/immutable",!1,[1,2],(()=>S.e(9876).then((()=>()=>S(29876))))),55434:()=>v("default","swr/_internal",!1,[1,2],(()=>S.e(2372).then((()=>()=>S(42372))))),24818:()=>v("default","rxjs",!1,[1,6],(()=>S.e(2457).then((()=>()=>S(82457))))),8877:()=>v("default","react-router-dom",!1,[1,6],(()=>S.e(2913).then((()=>()=>S(52913))))),54440:()=>v("default","@openmrs/esm-framework",!1,[1,8],(()=>Promise.all([S.e(8555),S.e(5670),S.e(8010),S.e(4818)]).then((()=>()=>S(55670))))),72339:()=>v("default","react-i18next",!1,[1,16],(()=>S.e(6336).then((()=>()=>S(16336))))),98394:()=>v("default","swr/infinite",!1,[1,2],(()=>S.e(2470).then((()=>()=>S(52470))))),36274:()=>v("default","@openmrs/esm-patient-common-lib",!1,[1,11],(()=>Promise.all([S.e(8555),S.e(8010),S.e(4818),S.e(34)]).then((()=>()=>S(60034)))))},y={1343:[1343],3205:[8877,54440,72339,98394],4818:[24818],5434:[55434],6231:[36274],8010:[88010]},w={},S.f.consumes=(e,r)=>{S.o(y,e)&&y[e].forEach((e=>{if(S.o(g,e))return r.push(g[e]);if(!w[e]){var t=r=>{g[e]=0,S.m[e]=t=>{delete S.c[e],t.exports=r()}};w[e]=!0;var n=r=>{delete g[e],S.m[e]=t=>{throw delete S.c[e],r}};try{var o=b[e]();o.then?r.push(g[e]=o.then(t).catch(n)):t(o)}catch(e){n(e)}}}))},(()=>{var e={7773:0};S.f.j=(r,t)=>{var n=S.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else if(/^(1343|3205|4818|5434|8010)$/.test(r))e[r]=0;else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var a=S.p+S.u(r),i=new Error;S.l(a,(t=>{if(S.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,s]=t,l=0;if(a.some((r=>0!==e[r]))){for(n in i)S.o(i,n)&&(S.m[n]=i[n]);s&&s(S)}for(r&&r(t);l<a.length;l++)o=a[l],S.o(e,o)&&e[o]&&e[o][0](),e[o]=0},t=globalThis.webpackChunk_openmrs_esm_patient_tests_app=globalThis.webpackChunk_openmrs_esm_patient_tests_app||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),S.nc=void 0;var j=S(38584);_openmrs_esm_patient_tests_app=j})();
@@ -6,9 +6,9 @@
6
6
  "entry": false,
7
7
  "recorded": false,
8
8
  "reason": "reused as split chunk (cache group: default)",
9
- "size": 245542,
9
+ "size": 245610,
10
10
  "sizes": {
11
- "javascript": 245542
11
+ "javascript": 245610
12
12
  },
13
13
  "names": [],
14
14
  "idHints": [],
@@ -22,7 +22,7 @@
22
22
  "auxiliaryFiles": [
23
23
  "34.js.map"
24
24
  ],
25
- "hash": "27594fdb86eacada",
25
+ "hash": "345b080a0348cb96",
26
26
  "childrenByOrder": {}
27
27
  },
28
28
  {
@@ -280,9 +280,10 @@
280
280
  "initial": false,
281
281
  "entry": false,
282
282
  "recorded": false,
283
- "size": 122009,
283
+ "reason": "split chunk (cache group: default)",
284
+ "size": 112921,
284
285
  "sizes": {
285
- "javascript": 122009
286
+ "javascript": 112921
286
287
  },
287
288
  "names": [],
288
289
  "idHints": [],
@@ -296,7 +297,7 @@
296
297
  "auxiliaryFiles": [
297
298
  "1479.js.map"
298
299
  ],
299
- "hash": "6dd1195e0728d780",
300
+ "hash": "3d960528280ba0a6",
300
301
  "childrenByOrder": {}
301
302
  },
302
303
  {
@@ -323,7 +324,7 @@
323
324
  "auxiliaryFiles": [
324
325
  "1638.js.map"
325
326
  ],
326
- "hash": "d5a0aebd1fbb783c",
327
+ "hash": "c252724c15cb34a1",
327
328
  "childrenByOrder": {}
328
329
  },
329
330
  {
@@ -357,9 +358,9 @@
357
358
  "initial": false,
358
359
  "entry": false,
359
360
  "recorded": false,
360
- "size": 174126,
361
+ "size": 171252,
361
362
  "sizes": {
362
- "javascript": 174126
363
+ "javascript": 171252
363
364
  },
364
365
  "names": [],
365
366
  "idHints": [],
@@ -373,7 +374,7 @@
373
374
  "auxiliaryFiles": [
374
375
  "1935.js.map"
375
376
  ],
376
- "hash": "31522bc3686bf0a2",
377
+ "hash": "7d2f62b94fb2a01d",
377
378
  "childrenByOrder": {}
378
379
  },
379
380
  {
@@ -687,9 +688,9 @@
687
688
  "initial": false,
688
689
  "entry": false,
689
690
  "recorded": false,
690
- "size": 4080,
691
+ "size": 4146,
691
692
  "sizes": {
692
- "javascript": 4080
693
+ "javascript": 4146
693
694
  },
694
695
  "names": [],
695
696
  "idHints": [],
@@ -701,7 +702,7 @@
701
702
  "4300.js"
702
703
  ],
703
704
  "auxiliaryFiles": [],
704
- "hash": "0605422934a2dddb",
705
+ "hash": "620668be519ba012",
705
706
  "childrenByOrder": {}
706
707
  },
707
708
  {
@@ -971,6 +972,30 @@
971
972
  "hash": "0a9a908e533fe716",
972
973
  "childrenByOrder": {}
973
974
  },
975
+ {
976
+ "rendered": true,
977
+ "initial": false,
978
+ "entry": false,
979
+ "recorded": false,
980
+ "size": 10811,
981
+ "sizes": {
982
+ "javascript": 10811
983
+ },
984
+ "names": [],
985
+ "idHints": [],
986
+ "runtime": [
987
+ "@openmrs/esm-patient-tests-app",
988
+ "main"
989
+ ],
990
+ "files": [
991
+ "6113.js"
992
+ ],
993
+ "auxiliaryFiles": [
994
+ "6113.js.map"
995
+ ],
996
+ "hash": "fdcdb5e0a342d19b",
997
+ "childrenByOrder": {}
998
+ },
974
999
  {
975
1000
  "rendered": true,
976
1001
  "initial": false,
@@ -992,7 +1017,7 @@
992
1017
  "auxiliaryFiles": [
993
1018
  "6231.js.map"
994
1019
  ],
995
- "hash": "bff17054b22f2c94",
1020
+ "hash": "c5442786c121a3da",
996
1021
  "childrenByOrder": {}
997
1022
  },
998
1023
  {
@@ -1321,7 +1346,7 @@
1321
1346
  "auxiliaryFiles": [
1322
1347
  "openmrs-esm-patient-tests-app.js.map"
1323
1348
  ],
1324
- "hash": "0502fd1e8b7297d5",
1349
+ "hash": "0f87382eb266746f",
1325
1350
  "childrenByOrder": {}
1326
1351
  },
1327
1352
  {
@@ -1512,7 +1537,7 @@
1512
1537
  "auxiliaryFiles": [
1513
1538
  "main.js.map"
1514
1539
  ],
1515
- "hash": "fd7fb3800b663eb0",
1540
+ "hash": "4d76127b4d188f64",
1516
1541
  "childrenByOrder": {}
1517
1542
  },
1518
1543
  {
package/dist/routes.json CHANGED
@@ -1 +1 @@
1
- {"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"fhir2":">=1.2","webservices.rest":">=2.2.0"},"extensions":[{"name":"test-results-summary-dashboard","component":"testResultsDashboardLink","slot":"patient-chart-dashboard-slot","meta":{"slot":"patient-chart-test-results-dashboard-slot","path":"Results","hideDashboardTitle":true,"layoutMode":"anchored"},"order":4},{"name":"test-results-filtered-overview","slot":"test-results-filtered-overview-slot","component":"externalOverview"},{"name":"results-viewer","slots":["patient-chart-results-viewer-slot","patient-chart-test-results-dashboard-slot"],"component":"resultsViewer"},{"name":"lab-order-panel","component":"labOrderPanel","slot":"order-basket-slot","order":2}],"modals":[{"name":"timeline-results-modal","component":"timelineResultsModal"},{"name":"print-modal","component":"printModal"},{"name":"edit-lab-results-modal","component":"editLabResultsModal"}],"workspaces":[{"name":"add-lab-order","type":"order","component":"addLabOrderWorkspace","title":"addLabOrderWorkspaceTitle"}],"version":"11.3.1-pre.9388"}
1
+ {"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"fhir2":">=1.2","webservices.rest":">=2.2.0"},"extensions":[{"name":"test-results-summary-dashboard","component":"testResultsDashboardLink","slot":"patient-chart-dashboard-slot","meta":{"slot":"patient-chart-test-results-dashboard-slot","path":"Results","hideDashboardTitle":true,"layoutMode":"anchored"},"order":4},{"name":"test-results-filtered-overview","slot":"test-results-filtered-overview-slot","component":"externalOverview"},{"name":"results-viewer","slots":["patient-chart-results-viewer-slot","patient-chart-test-results-dashboard-slot"],"component":"resultsViewer"},{"name":"lab-order-panel","component":"labOrderPanel","slots":["order-basket-slot","result-order-basket-slot"],"order":2}],"modals":[{"name":"timeline-results-modal","component":"timelineResultsModal"},{"name":"print-modal","component":"printModal"},{"name":"edit-lab-results-modal","component":"editLabResultsModal"}],"workspaces":[{"name":"add-lab-order","type":"order","component":"addLabOrderWorkspace","title":"addLabOrderWorkspaceTitle"}],"version":"11.3.1-pre.9390"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openmrs/esm-patient-tests-app",
3
- "version": "11.3.1-pre.9388",
3
+ "version": "11.3.1-pre.9390",
4
4
  "license": "MPL-2.0",
5
5
  "description": "Patient test order and results microfrontend for the OpenMRS SPA",
6
6
  "browser": "dist/openmrs-esm-patient-tests-app.js",
@@ -53,7 +53,7 @@
53
53
  "swr": "2.x"
54
54
  },
55
55
  "devDependencies": {
56
- "@openmrs/esm-patient-common-lib": "11.3.1-pre.9388",
56
+ "@openmrs/esm-patient-common-lib": "11.3.1-pre.9390",
57
57
  "webpack": "^5.99.9"
58
58
  },
59
59
  "stableVersion": "11.3.0"
package/src/routes.json CHANGED
@@ -33,7 +33,7 @@
33
33
  {
34
34
  "name": "lab-order-panel",
35
35
  "component": "labOrderPanel",
36
- "slot": "order-basket-slot",
36
+ "slots": ["order-basket-slot" ,"result-order-basket-slot"] ,
37
37
  "order": 2
38
38
  }
39
39
  ],
@@ -11,6 +11,8 @@ import {
11
11
  useConfig,
12
12
  useLayoutType,
13
13
  useSession,
14
+ useWorkspaces,
15
+ type WorkspacesInfo,
14
16
  } from '@openmrs/esm-framework';
15
17
  import { type PostDataPrepFunction, useOrderBasket, useOrderType } from '@openmrs/esm-patient-common-lib';
16
18
  import { configSchema, type ConfigObject } from '../../config-schema';
@@ -18,6 +20,7 @@ import { mockSessionDataResponse } from '__mocks__';
18
20
  import { mockPatient } from 'tools';
19
21
  import { createEmptyLabOrder } from './test-order';
20
22
  import AddLabOrderWorkspace from './add-test-order.workspace';
23
+ import { WORKSPACES } from '../lab-order-basket-panel/lab-order-basket-panel.extension';
21
24
 
22
25
  const mockCloseWorkspace = closeWorkspace as jest.Mock;
23
26
  const mockUseLayoutType = jest.mocked(useLayoutType);
@@ -25,6 +28,8 @@ const mockUseSession = jest.mocked(useSession);
25
28
  const mockUseConfig = jest.mocked(useConfig<ConfigObject>);
26
29
  const mockUseOrderType = jest.mocked(useOrderType);
27
30
  const mockLaunchWorkspace = jest.mocked(launchWorkspace);
31
+ const mockUseWorkSpaces = jest.mocked(useWorkspaces);
32
+ const mockWorkSpacesInfo = {} as WorkspacesInfo;
28
33
 
29
34
  mockCloseWorkspace.mockImplementation(({ onWorkspaceClose }) => {
30
35
  onWorkspaceClose?.();
@@ -79,6 +84,9 @@ function renderAddLabOrderWorkspace() {
79
84
  patient={mockPatient}
80
85
  setTitle={jest.fn()}
81
86
  orderTypeUuid="test-lab-order-type-uuid"
87
+ prevWorkSpace={WORKSPACES.ORDER_BASKET}
88
+ isWorkSpaceType={jest.fn()}
89
+ prevOrder={null}
82
90
  visitContext={null}
83
91
  mutateVisitContext={null}
84
92
  />,
@@ -115,6 +123,7 @@ mockUseOrderType.mockReturnValue({
115
123
  describe('AddLabOrder', () => {
116
124
  beforeEach(() => {
117
125
  _resetOrderBasketStore();
126
+ mockUseWorkSpaces.mockReturnValue(mockWorkSpacesInfo);
118
127
  });
119
128
 
120
129
  test('happy path fill and submit form', async () => {
@@ -13,16 +13,25 @@ import {
13
13
  useLayoutType,
14
14
  useConfig,
15
15
  } from '@openmrs/esm-framework';
16
- import { type DefaultPatientWorkspaceProps, type OrderBasketItem, useOrderType } from '@openmrs/esm-patient-common-lib';
16
+ import {
17
+ type DefaultPatientWorkspaceProps,
18
+ type Order,
19
+ type OrderBasketItem,
20
+ useOrderType,
21
+ } from '@openmrs/esm-patient-common-lib';
17
22
  import { type ConfigObject } from '../../config-schema';
18
23
  import type { TestOrderBasketItem } from '../../types';
19
24
  import { LabOrderForm } from './test-order-form.component';
20
25
  import { TestTypeSearch } from './test-type-search.component';
21
26
  import styles from './add-test-order.scss';
27
+ import { WORKSPACES } from '../lab-order-basket-panel/lab-order-basket-panel.extension';
22
28
 
23
29
  export interface AddLabOrderWorkspaceAdditionalProps {
24
30
  order?: OrderBasketItem;
25
31
  orderTypeUuid: string;
32
+ prevWorkSpace: string;
33
+ isWorkSpaceType: (value: string) => boolean;
34
+ prevOrder: Order | null;
26
35
  }
27
36
 
28
37
  export interface AddLabOrderWorkspace extends DefaultPatientWorkspaceProps, AddLabOrderWorkspaceAdditionalProps {}
@@ -35,6 +44,9 @@ export default function AddLabOrderWorkspace({
35
44
  closeWorkspaceWithSavedChanges,
36
45
  promptBeforeClosing,
37
46
  setTitle,
47
+ prevWorkSpace,
48
+ isWorkSpaceType,
49
+ prevOrder,
38
50
  patientUuid,
39
51
  patient,
40
52
  visitContext,
@@ -50,11 +62,16 @@ export default function AddLabOrderWorkspace({
50
62
  if (orderType) {
51
63
  setTitle(
52
64
  t(`addOrderableForOrderType`, 'Add {{orderTypeDisplay}}', {
53
- orderTypeDisplay: orderType.display.toLocaleLowerCase(),
65
+ orderTypeDisplay:
66
+ typeof isWorkSpaceType === 'function' &&
67
+ isWorkSpaceType(prevWorkSpace) &&
68
+ prevWorkSpace === WORKSPACES.TEST_RESULTS_FORM
69
+ ? 'tests'
70
+ : orderType.display.toLocaleLowerCase(),
54
71
  }),
55
72
  );
56
73
  }
57
- }, [orderType, t, setTitle]);
74
+ }, [orderType, t, setTitle, isWorkSpaceType, prevWorkSpace]);
58
75
 
59
76
  const orderableConceptSets = useMemo(() => {
60
77
  const allOrderTypes: ConfigObject['additionalTestOrderTypes'] = [
@@ -73,10 +90,16 @@ export default function AddLabOrderWorkspace({
73
90
  const cancelOrder = useCallback(() => {
74
91
  closeWorkspace({
75
92
  ignoreChanges: true,
76
- onWorkspaceClose: () => launchWorkspace('order-basket'),
93
+ onWorkspaceClose: () =>
94
+ typeof isWorkSpaceType === 'function' &&
95
+ isWorkSpaceType(prevWorkSpace) &&
96
+ prevWorkSpace === WORKSPACES.TEST_RESULTS_FORM
97
+ ? launchWorkspace(prevWorkSpace, { order: prevOrder })
98
+ : launchWorkspace(WORKSPACES.ORDER_BASKET),
99
+
77
100
  closeWorkspaceGroup: false,
78
101
  });
79
- }, [closeWorkspace]);
102
+ }, [closeWorkspace, isWorkSpaceType, prevOrder, prevWorkSpace]);
80
103
 
81
104
  return (
82
105
  <div className={styles.container}>
@@ -98,7 +121,13 @@ export default function AddLabOrderWorkspace({
98
121
  size="sm"
99
122
  onClick={cancelOrder}
100
123
  >
101
- <span>{t('backToOrderBasket', 'Back to order basket')}</span>
124
+ <span>
125
+ {typeof isWorkSpaceType === 'function' &&
126
+ isWorkSpaceType(prevWorkSpace) &&
127
+ prevWorkSpace === WORKSPACES.TEST_RESULTS_FORM
128
+ ? t('backToTestResults', 'Back to test Results')
129
+ : t('backToOrderBasket', 'Back to order basket')}
130
+ </span>
102
131
  </Button>
103
132
  </div>
104
133
  )}
@@ -113,6 +142,9 @@ export default function AddLabOrderWorkspace({
113
142
  setTitle={() => {}}
114
143
  orderTypeUuid={orderTypeUuid}
115
144
  orderableConceptSets={orderableConceptSets}
145
+ prevWorkSpace={prevWorkSpace}
146
+ isWorkSpaceType={isWorkSpaceType}
147
+ prevOrder={prevOrder}
116
148
  visitContext={visitContext}
117
149
  mutateVisitContext={mutateVisitContext}
118
150
  />
@@ -121,6 +153,9 @@ export default function AddLabOrderWorkspace({
121
153
  orderTypeUuid={orderTypeUuid}
122
154
  orderableConceptSets={orderableConceptSets}
123
155
  openLabForm={setCurrentLabOrder}
156
+ prevWorkSpace={prevWorkSpace}
157
+ isWorkSpaceType={isWorkSpaceType}
158
+ prevOrder={prevOrder}
124
159
  patient={patient}
125
160
  />
126
161
  )}
@@ -20,6 +20,7 @@ import { z } from 'zod';
20
20
  import { useTranslation } from 'react-i18next';
21
21
  import {
22
22
  type DefaultPatientWorkspaceProps,
23
+ type Order,
23
24
  type OrderUrgency,
24
25
  priorityOptions,
25
26
  useOrderBasket,
@@ -38,11 +39,15 @@ import { ordersEqual } from './test-order';
38
39
  import { type ConfigObject } from '../../config-schema';
39
40
  import { type TestOrderBasketItem } from '../../types';
40
41
  import styles from './test-order-form.scss';
42
+ import { WORKSPACES } from '../lab-order-basket-panel/lab-order-basket-panel.extension';
41
43
 
42
44
  export interface LabOrderFormProps extends DefaultPatientWorkspaceProps {
43
45
  initialOrder: TestOrderBasketItem;
44
46
  orderTypeUuid: string;
45
47
  orderableConceptSets: Array<string>;
48
+ prevWorkSpace: string;
49
+ isWorkSpaceType: (value: string) => boolean;
50
+ prevOrder: Order;
46
51
  patient: fhir.Patient;
47
52
  }
48
53
 
@@ -56,6 +61,9 @@ export function LabOrderForm({
56
61
  promptBeforeClosing,
57
62
  orderTypeUuid,
58
63
  orderableConceptSets,
64
+ prevWorkSpace,
65
+ isWorkSpaceType,
66
+ prevOrder,
59
67
  patientUuid,
60
68
  patient,
61
69
  }: LabOrderFormProps) {
@@ -163,20 +171,39 @@ export function LabOrderForm({
163
171
  setOrders(newOrders);
164
172
 
165
173
  closeWorkspaceWithSavedChanges({
166
- onWorkspaceClose: () => launchWorkspace('order-basket'),
174
+ onWorkspaceClose: () =>
175
+ typeof isWorkSpaceType === 'function' &&
176
+ isWorkSpaceType(prevWorkSpace) &&
177
+ prevWorkSpace === WORKSPACES.TEST_RESULTS_FORM
178
+ ? launchWorkspace(prevWorkSpace, { order: prevOrder })
179
+ : launchWorkspace(WORKSPACES.ORDER_BASKET),
167
180
  closeWorkspaceGroup: false,
168
181
  });
169
182
  },
170
- [orders, setOrders, session?.currentProvider?.uuid, closeWorkspaceWithSavedChanges, initialOrder],
183
+ [
184
+ orders,
185
+ setOrders,
186
+ session?.currentProvider?.uuid,
187
+ closeWorkspaceWithSavedChanges,
188
+ initialOrder,
189
+ isWorkSpaceType,
190
+ prevOrder,
191
+ prevWorkSpace,
192
+ ],
171
193
  );
172
194
 
173
195
  const cancelOrder = useCallback(() => {
174
196
  setOrders(orders.filter((order) => order.testType.conceptUuid !== defaultValues.testType.conceptUuid));
175
197
  closeWorkspace({
176
- onWorkspaceClose: () => launchWorkspace('order-basket'),
198
+ onWorkspaceClose: () =>
199
+ typeof isWorkSpaceType === 'function' &&
200
+ isWorkSpaceType(prevWorkSpace) &&
201
+ prevWorkSpace === WORKSPACES.TEST_RESULTS_FORM
202
+ ? launchWorkspace(prevWorkSpace, { order: prevOrder })
203
+ : launchWorkspace(WORKSPACES.ORDER_BASKET),
177
204
  closeWorkspaceGroup: false,
178
205
  });
179
- }, [closeWorkspace, orders, setOrders, defaultValues]);
206
+ }, [closeWorkspace, orders, setOrders, defaultValues, isWorkSpaceType, prevOrder, prevWorkSpace]);
180
207
 
181
208
  const onError = (errors: FieldErrors<TestOrderBasketItem>) => {
182
209
  if (errors) {
@@ -358,7 +385,11 @@ export function LabOrderForm({
358
385
  {t('discard', 'Discard')}
359
386
  </Button>
360
387
  <Button className={styles.button} kind="primary" size="xl" type="submit">
361
- {t('saveOrder', 'Save order')}
388
+ {typeof isWorkSpaceType === 'function' &&
389
+ isWorkSpaceType(prevWorkSpace) &&
390
+ prevWorkSpace === WORKSPACES.TEST_RESULTS_FORM
391
+ ? t('saveTest', 'Save test')
392
+ : t('saveOrder', 'Save order')}
362
393
  </Button>
363
394
  </ButtonSet>
364
395
  </div>
@@ -13,17 +13,21 @@ import {
13
13
  useLayoutType,
14
14
  useSession,
15
15
  } from '@openmrs/esm-framework';
16
- import { useOrderBasket } from '@openmrs/esm-patient-common-lib';
16
+ import { useOrderBasket, type Order } from '@openmrs/esm-patient-common-lib';
17
17
  import type { TestOrderBasketItem } from '../../types';
18
18
  import { prepTestOrderPostData } from '../api';
19
19
  import { createEmptyLabOrder } from './test-order';
20
20
  import { useTestTypes, type TestType } from './useTestTypes';
21
21
  import styles from './test-type-search.scss';
22
+ import { WORKSPACES } from '../lab-order-basket-panel/lab-order-basket-panel.extension';
22
23
 
23
24
  export interface TestTypeSearchProps {
24
25
  openLabForm: (searchResult: TestOrderBasketItem) => void;
25
26
  orderTypeUuid: string;
26
27
  orderableConceptSets: Array<string>;
28
+ prevWorkSpace: string;
29
+ isWorkSpaceType: (value: string) => boolean;
30
+ prevOrder: Order;
27
31
  patient: fhir.Patient;
28
32
  }
29
33
 
@@ -38,10 +42,21 @@ interface TestTypeSearchResultItemProps {
38
42
  orderTypeUuid: string;
39
43
  testType: TestType;
40
44
  openOrderForm: (searchResult: TestOrderBasketItem) => void;
45
+ prevWorkSpace: string;
46
+ isWorkSpaceType: (value: string) => boolean;
47
+ prevOrder: Order;
41
48
  patient: fhir.Patient;
42
49
  }
43
50
 
44
- export function TestTypeSearch({ openLabForm, orderTypeUuid, orderableConceptSets, patient }: TestTypeSearchProps) {
51
+ export function TestTypeSearch({
52
+ openLabForm,
53
+ orderTypeUuid,
54
+ orderableConceptSets,
55
+ prevWorkSpace,
56
+ isWorkSpaceType,
57
+ prevOrder,
58
+ patient,
59
+ }: TestTypeSearchProps) {
45
60
  const { t } = useTranslation();
46
61
  const [searchTerm, setSearchTerm] = useState('');
47
62
  const debouncedSearchTerm = useDebounce(searchTerm);
@@ -55,9 +70,14 @@ export function TestTypeSearch({ openLabForm, orderTypeUuid, orderableConceptSet
55
70
  const cancelOrder = useCallback(() => {
56
71
  closeWorkspace('add-lab-order', {
57
72
  ignoreChanges: true,
58
- onWorkspaceClose: () => launchWorkspace('order-basket'),
73
+ onWorkspaceClose: () =>
74
+ typeof isWorkSpaceType === 'function' &&
75
+ isWorkSpaceType(prevWorkSpace) &&
76
+ prevWorkSpace === WORKSPACES.TEST_RESULTS_FORM
77
+ ? launchWorkspace(prevWorkSpace, { order: prevOrder })
78
+ : launchWorkspace(WORKSPACES.ORDER_BASKET),
59
79
  });
60
- }, []);
80
+ }, [isWorkSpaceType, prevOrder, prevWorkSpace]);
61
81
 
62
82
  const handleSearchTermChange = useCallback(
63
83
  (event: React.ChangeEvent<HTMLInputElement>) => {
@@ -86,6 +106,9 @@ export function TestTypeSearch({ openLabForm, orderTypeUuid, orderableConceptSet
86
106
  focusAndClearSearchInput={focusAndClearSearchInput}
87
107
  openLabForm={openLabForm}
88
108
  searchTerm={debouncedSearchTerm}
109
+ prevWorkSpace={prevWorkSpace}
110
+ isWorkSpaceType={isWorkSpaceType}
111
+ prevOrder={prevOrder}
89
112
  patient={patient}
90
113
  />
91
114
  </>
@@ -99,6 +122,9 @@ function TestTypeSearchResults({
99
122
  orderableConceptSets,
100
123
  openLabForm,
101
124
  focusAndClearSearchInput,
125
+ prevWorkSpace,
126
+ isWorkSpaceType,
127
+ prevOrder,
102
128
  patient,
103
129
  }: TestTypeSearchResultsProps) {
104
130
  const { t } = useTranslation();
@@ -150,6 +176,9 @@ function TestTypeSearchResults({
150
176
  orderTypeUuid={orderTypeUuid}
151
177
  openOrderForm={openLabForm}
152
178
  testType={testType}
179
+ prevWorkSpace={prevWorkSpace}
180
+ isWorkSpaceType={isWorkSpaceType}
181
+ prevOrder={prevOrder}
153
182
  patient={patient}
154
183
  />
155
184
  ))}
@@ -159,7 +188,11 @@ function TestTypeSearchResults({
159
188
  <div className={styles.separatorContainer}>
160
189
  <p className={styles.separator}>{t('or', 'or')}</p>
161
190
  <Button iconDescription="Return to order basket" kind="ghost" onClick={cancelOrder}>
162
- {t('returnToOrderBasket', 'Return to order basket')}
191
+ {typeof isWorkSpaceType === 'function' &&
192
+ isWorkSpaceType(prevWorkSpace) &&
193
+ prevWorkSpace === WORKSPACES.TEST_RESULTS_FORM
194
+ ? t('backToTestResults', 'Back to test Results')
195
+ : t('backToOrderBasket', 'Back to order basket')}
163
196
  </Button>
164
197
  </div>
165
198
  )}
@@ -191,6 +224,9 @@ const TestTypeSearchResultItem: React.FC<TestTypeSearchResultItemProps> = ({
191
224
  testType,
192
225
  openOrderForm,
193
226
  orderTypeUuid,
227
+ prevWorkSpace,
228
+ isWorkSpaceType,
229
+ prevOrder,
194
230
  patient,
195
231
  }) => {
196
232
  const { t } = useTranslation();
@@ -216,9 +252,14 @@ const TestTypeSearchResultItem: React.FC<TestTypeSearchResultItemProps> = ({
216
252
  setOrders([...orders, labOrder]);
217
253
  closeWorkspace('add-lab-order', {
218
254
  ignoreChanges: true,
219
- onWorkspaceClose: () => launchWorkspace('order-basket'),
255
+ onWorkspaceClose: () =>
256
+ typeof isWorkSpaceType === 'function' &&
257
+ isWorkSpaceType(prevWorkSpace) &&
258
+ prevWorkSpace === WORKSPACES.TEST_RESULTS_FORM
259
+ ? launchWorkspace(prevWorkSpace, { order: prevOrder })
260
+ : launchWorkspace(WORKSPACES.ORDER_BASKET),
220
261
  });
221
- }, [orders, setOrders, createLabOrder, testType]);
262
+ }, [orders, setOrders, createLabOrder, testType, isWorkSpaceType, prevOrder, prevWorkSpace]);
222
263
 
223
264
  const removeFromBasket = useCallback(() => {
224
265
  setOrders(orders.filter((order) => order.testType.conceptUuid !== testType.conceptUuid));