@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.
- package/.turbo/turbo-build.log +6 -9
- package/dist/1479.js +1 -1
- package/dist/1479.js.map +1 -1
- package/dist/1638.js +1 -1
- package/dist/1638.js.map +1 -1
- package/dist/1935.js +1 -1
- package/dist/1935.js.map +1 -1
- package/dist/34.js +1 -1
- package/dist/34.js.map +1 -1
- package/dist/4300.js +1 -1
- package/dist/6113.js +1 -0
- package/dist/6113.js.map +1 -0
- package/dist/6231.js +1 -1
- package/dist/6231.js.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/openmrs-esm-patient-tests-app.js +1 -1
- package/dist/openmrs-esm-patient-tests-app.js.buildmanifest.json +41 -16
- package/dist/routes.json +1 -1
- package/package.json +2 -2
- package/src/routes.json +1 -1
- package/src/test-orders/add-test-order/add-test-order.test.tsx +9 -0
- package/src/test-orders/add-test-order/add-test-order.workspace.tsx +41 -6
- package/src/test-orders/add-test-order/test-order-form.component.tsx +36 -5
- package/src/test-orders/add-test-order/test-type-search.component.tsx +48 -7
- package/src/test-orders/lab-order-basket-panel/lab-order-basket-panel.extension.tsx +32 -6
- package/src/test-orders/lab-order-basket-panel/lab-order-basket-panel.test.tsx +6 -1
- package/translations/en.json +2 -0
|
@@ -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.
|
|
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":
|
|
9
|
+
"size": 245610,
|
|
10
10
|
"sizes": {
|
|
11
|
-
"javascript":
|
|
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": "
|
|
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
|
-
"
|
|
283
|
+
"reason": "split chunk (cache group: default)",
|
|
284
|
+
"size": 112921,
|
|
284
285
|
"sizes": {
|
|
285
|
-
"javascript":
|
|
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": "
|
|
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": "
|
|
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":
|
|
361
|
+
"size": 171252,
|
|
361
362
|
"sizes": {
|
|
362
|
-
"javascript":
|
|
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": "
|
|
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":
|
|
691
|
+
"size": 4146,
|
|
691
692
|
"sizes": {
|
|
692
|
-
"javascript":
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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","
|
|
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.
|
|
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.
|
|
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
|
@@ -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 {
|
|
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:
|
|
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: () =>
|
|
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>
|
|
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: () =>
|
|
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
|
-
[
|
|
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: () =>
|
|
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
|
-
{
|
|
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({
|
|
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: () =>
|
|
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
|
-
{
|
|
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: () =>
|
|
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));
|