@openmrs/esm-appointments-app 9.0.1-pre.6386 → 9.0.1-pre.6393
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 +1 -1
- package/dist/4300.js +1 -1
- package/dist/525.js +1 -1
- package/dist/525.js.map +1 -1
- package/dist/7698.js +1 -1
- package/dist/7698.js.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/openmrs-esm-appointments-app.js +1 -1
- package/dist/openmrs-esm-appointments-app.js.buildmanifest.json +12 -12
- package/dist/routes.json +1 -1
- package/package.json +1 -1
- package/src/appointments/common-components/appointments-table.component.tsx +9 -24
- package/src/config-schema.ts +35 -0
- package/translations/en.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
var _openmrs_esm_appointments_app;(()=>{"use strict";var e,r,t,n,o,a,i,l,s,u,p,f,c,d,m,h,v,g,b,y,w,_={43347:(e,r,t)=>{var n={"./start":()=>Promise.all([t.e(4275),t.e(1343),t.e(1580),t.e(7698)]).then(()=>()=>t(47698))},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-appointments-app:",S.l=(e,r,o,a)=>{if(t[e])t[e].push(r);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")==e||p.getAttribute("data-webpack")==n+o){i=p;break}}i||(l=!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),l&&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-appointments-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","7.0.1-pre.3259",()=>Promise.all([S.e(66),S.e(3689),S.e(3379),S.e(9224),S.e(4275),S.e(717),S.e(5434),S.e(8241),S.e(1343),S.e(4569),S.e(1580)]).then(()=>()=>S(90717))),l("@openmrs/esm-patient-common-lib","11.1.1-pre.
|
|
1
|
+
var _openmrs_esm_appointments_app;(()=>{"use strict";var e,r,t,n,o,a,i,l,s,u,p,f,c,d,m,h,v,g,b,y,w,_={43347:(e,r,t)=>{var n={"./start":()=>Promise.all([t.e(4275),t.e(1343),t.e(1580),t.e(7698)]).then(()=>()=>t(47698))},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-appointments-app:",S.l=(e,r,o,a)=>{if(t[e])t[e].push(r);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")==e||p.getAttribute("data-webpack")==n+o){i=p;break}}i||(l=!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),l&&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-appointments-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","7.0.1-pre.3259",()=>Promise.all([S.e(66),S.e(3689),S.e(3379),S.e(9224),S.e(4275),S.e(717),S.e(5434),S.e(8241),S.e(1343),S.e(4569),S.e(1580)]).then(()=>()=>S(90717))),l("@openmrs/esm-patient-common-lib","11.1.1-pre.8533",()=>Promise.all([S.e(66),S.e(3689),S.e(3379),S.e(9224),S.e(4275),S.e(3732),S.e(5434),S.e(8241),S.e(1343),S.e(4569),S.e(1580)]).then(()=>()=>S(83732))),l("react-dom","18.3.1",()=>Promise.all([S.e(3144),S.e(1343)]).then(()=>()=>S(43144))),l("react-i18next","11.18.6",()=>Promise.all([S.e(2537),S.e(1343)]).then(()=>()=>S(72537))),l("react-router-dom","6.30.1",()=>Promise.all([S.e(2913),S.e(8241),S.e(1343)]).then(()=>()=>S(52913))),l("react","18.3.1",()=>S.e(4041).then(()=>()=>S(14041))),l("swr/_internal","2.2.5",()=>Promise.all([S.e(2372),S.e(1343)]).then(()=>()=>S(42372))),l("swr/immutable","2.2.5",()=>Promise.all([S.e(5434),S.e(1343),S.e(7495)]).then(()=>()=>S(29876))),l("swr/infinite","2.2.5",()=>Promise.all([S.e(5434),S.e(1343),S.e(89)]).then(()=>()=>S(52470)))),e[t]=s.length?Promise.all(s).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],l=(typeof i)[0];if(a!=l)return"o"==a&&"n"==l||"s"==l||"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(l=e[o]))[0]?"-":(n>0?".":"")+(n=2,l);return t}var a=[];for(o=1;o<e.length;o++){var l=e[o];a.push(0===l?"not("+s()+")":1===l?"("+s()+" || "+s()+")":2===l?a.pop()+" "+a.pop():i(l))}return s();function s(){return a.pop().replace(/^\((.+)\)$/,"$1")}},l=(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,s=!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!s||("u"==f?i>t&&!n:""==f!=n);if("u"==p){if(!s||"u"!=f)return!1}else if(s)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]&&(s=!1)}else if("s"!=f&&"n"!=f){if(n||i<=t)return!1;s=!1,i--}else{if(i<=t||p<f!=n)return!1;s=!1}else"s"!=f&&"n"!=f&&(s=!1,i--)}}var c=[],d=c.pop.bind(c);for(a=1;a<e.length;a++){var m=e[a];c.push(1==m?d()|d():2==m?d()&d():m?l(m,r):!d())}return!!d()},s=(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)},m=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},h=(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(!s(r,t))return h(e,t,a);var i=f(r,t,n);return l(o,i)||m(c(r,t,i,o)),u(r[t][i])}),g={},b={55434:()=>v("default","swr/_internal",!1,[1,2],()=>S.e(2372).then(()=>()=>S(42372))),98241:()=>v("default","react-dom",!1,[1,18],()=>S.e(3144).then(()=>()=>S(43144))),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))),98394:()=>v("default","swr/infinite",!1,[1,2],()=>S.e(2470).then(()=>()=>S(52470))),8877:()=>v("default","react-router-dom",!1,[1,6],()=>Promise.all([S.e(2913),S.e(8241)]).then(()=>()=>S(52913))),83437:()=>v("default","@openmrs/esm-framework",!1,[1,7],()=>Promise.all([S.e(66),S.e(3689),S.e(3379),S.e(9224),S.e(717),S.e(5434),S.e(8241),S.e(4569)]).then(()=>()=>S(90717))),93150:()=>v("default","react-i18next",!1,[1,11],()=>S.e(2537).then(()=>()=>S(72537))),97999:()=>v("default","@openmrs/esm-patient-common-lib",!1,[1,11],()=>Promise.all([S.e(66),S.e(3689),S.e(3379),S.e(9224),S.e(3732),S.e(5434),S.e(8241),S.e(4569)]).then(()=>()=>S(83732)))},y={1343:[1343],1580:[8877,83437,93150],4569:[88010,98394],5434:[55434],7999:[97999],8241:[98241]},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={3468: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|1580|4569|5434|7999|8241)$/.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,l]=t,s=0;if(a.some(r=>0!==e[r])){for(n in i)S.o(i,n)&&(S.m[n]=i[n]);l&&l(S)}for(r&&r(t);s<a.length;s++)o=a[s],S.o(e,o)&&e[o]&&e[o][0](),e[o]=0},t=globalThis.webpackChunk_openmrs_esm_appointments_app=globalThis.webpackChunk_openmrs_esm_appointments_app||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),S.nc=void 0;var j=S(43347);_openmrs_esm_appointments_app=j})();
|
|
@@ -57,9 +57,9 @@
|
|
|
57
57
|
"entry": false,
|
|
58
58
|
"recorded": false,
|
|
59
59
|
"reason": "split chunk (cache group: default)",
|
|
60
|
-
"size":
|
|
60
|
+
"size": 146337,
|
|
61
61
|
"sizes": {
|
|
62
|
-
"javascript":
|
|
62
|
+
"javascript": 146337
|
|
63
63
|
},
|
|
64
64
|
"names": [],
|
|
65
65
|
"idHints": [],
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"auxiliaryFiles": [
|
|
74
74
|
"525.js.map"
|
|
75
75
|
],
|
|
76
|
-
"hash": "
|
|
76
|
+
"hash": "9d884b24398d5100",
|
|
77
77
|
"childrenByOrder": {}
|
|
78
78
|
},
|
|
79
79
|
{
|
|
@@ -326,7 +326,7 @@
|
|
|
326
326
|
"auxiliaryFiles": [
|
|
327
327
|
"1431.js.map"
|
|
328
328
|
],
|
|
329
|
-
"hash": "
|
|
329
|
+
"hash": "4c271c2fffe86927",
|
|
330
330
|
"childrenByOrder": {}
|
|
331
331
|
},
|
|
332
332
|
{
|
|
@@ -699,7 +699,7 @@
|
|
|
699
699
|
"auxiliaryFiles": [
|
|
700
700
|
"openmrs-esm-appointments-app.js.map"
|
|
701
701
|
],
|
|
702
|
-
"hash": "
|
|
702
|
+
"hash": "3b94298954f8f70b",
|
|
703
703
|
"childrenByOrder": {}
|
|
704
704
|
},
|
|
705
705
|
{
|
|
@@ -892,7 +892,7 @@
|
|
|
892
892
|
"4300.js"
|
|
893
893
|
],
|
|
894
894
|
"auxiliaryFiles": [],
|
|
895
|
-
"hash": "
|
|
895
|
+
"hash": "4a776e3f7fc7b00c",
|
|
896
896
|
"childrenByOrder": {}
|
|
897
897
|
},
|
|
898
898
|
{
|
|
@@ -1638,9 +1638,9 @@
|
|
|
1638
1638
|
"initial": false,
|
|
1639
1639
|
"entry": false,
|
|
1640
1640
|
"recorded": false,
|
|
1641
|
-
"size":
|
|
1641
|
+
"size": 25265,
|
|
1642
1642
|
"sizes": {
|
|
1643
|
-
"javascript":
|
|
1643
|
+
"javascript": 25265
|
|
1644
1644
|
},
|
|
1645
1645
|
"names": [],
|
|
1646
1646
|
"idHints": [],
|
|
@@ -1653,7 +1653,7 @@
|
|
|
1653
1653
|
"auxiliaryFiles": [
|
|
1654
1654
|
"7698.js.map"
|
|
1655
1655
|
],
|
|
1656
|
-
"hash": "
|
|
1656
|
+
"hash": "6c396bd1ca374a75",
|
|
1657
1657
|
"childrenByOrder": {}
|
|
1658
1658
|
},
|
|
1659
1659
|
{
|
|
@@ -1793,10 +1793,10 @@
|
|
|
1793
1793
|
"initial": true,
|
|
1794
1794
|
"entry": true,
|
|
1795
1795
|
"recorded": false,
|
|
1796
|
-
"size":
|
|
1796
|
+
"size": 195829,
|
|
1797
1797
|
"sizes": {
|
|
1798
1798
|
"consume-shared": 168,
|
|
1799
|
-
"javascript":
|
|
1799
|
+
"javascript": 172293,
|
|
1800
1800
|
"share-init": 378,
|
|
1801
1801
|
"runtime": 22990
|
|
1802
1802
|
},
|
|
@@ -1813,7 +1813,7 @@
|
|
|
1813
1813
|
"auxiliaryFiles": [
|
|
1814
1814
|
"main.js.map"
|
|
1815
1815
|
],
|
|
1816
|
-
"hash": "
|
|
1816
|
+
"hash": "05e769f7745af43a",
|
|
1817
1817
|
"childrenByOrder": {}
|
|
1818
1818
|
},
|
|
1819
1819
|
{
|
package/dist/routes.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":"^2.2.0"},"extensions":[{"name":"home-appointments","slot":"homepage-widgets-slot","component":"homeAppointments","order":1},{"name":"clinical-appointments-dashboard-link","slot":"homepage-dashboard-slot","component":"appointmentsDashboardLink","meta":{"name":"appointments","slot":"clinical-appointments-dashboard-slot","title":"Appointments"},"order":2},{"component":"root","name":"clinical-appointments-dashboard","slot":"clinical-appointments-dashboard-slot"},{"name":"appointments-dashboard","slot":"appointments-dashboard-slot","component":"appointmentsDashboard"},{"name":"appointments-calendar-dashboard-link","slot":"calendar-dashboard-slot","component":"appointmentsCalendarDashboardLink"},{"name":"todays-appointments-dashboard","slot":"todays-appointment-slot","component":"homeAppointments"},{"name":"expected-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsList"},{"name":"checked-in-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsList"},{"name":"completed-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsList"},{"name":"missed-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsList"},{"name":"cancelled-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsList"},{"name":"early-appointments-panel","component":"earlyAppointments"},{"name":"patient-appointments-summary-dashboard","component":"patientAppointmentsSummaryDashboardLink","slot":"patient-chart-dashboard-slot","order":11,"meta":{"columns":1,"columnSpan":1,"hideDashboardTitle":true,"path":"Appointments","slot":"patient-chart-appointments-dashboard-slot","title":"Appointments"}},{"name":"appointments-details-widget","component":"patientAppointmentsDetailedSummary","slot":"patient-chart-appointments-dashboard-slot","meta":{"columnSpan":1}},{"name":"patient-upcoming-appointment-widget","component":"patientUpcomingAppointmentsWidget","slot":"visit-form-top-slot"},{"name":"search-patient","component":"searchPatient"},{"name":"home-appointments-tile","slot":"home-metrics-tiles-slot","component":"homeAppointmentsTile"},{"name":"metrics-card-scheduled-appointments","component":"metricsCardScheduledAppointments","slot":"appointments-metrics-slot","order":1},{"name":"metrics-card-highest-volume-service","component":"metricsCardHighestVolumeService","slot":"appointments-metrics-slot","order":2},{"name":"metrics-card-providers-booked","component":"metricsCardProvidersBooked","slot":"appointments-metrics-slot","order":3}],"modals":[{"name":"end-appointment-modal","component":"endAppointmentModal"},{"name":"cancel-appointment-modal","component":"cancelAppointmentModal"}],"workspaces":[{"name":"appointments-form-workspace","component":"appointmentsFormWorkspace","title":"createNewAppointment","type":"form"}],"version":"9.0.1-pre.
|
|
1
|
+
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":"^2.2.0"},"extensions":[{"name":"home-appointments","slot":"homepage-widgets-slot","component":"homeAppointments","order":1},{"name":"clinical-appointments-dashboard-link","slot":"homepage-dashboard-slot","component":"appointmentsDashboardLink","meta":{"name":"appointments","slot":"clinical-appointments-dashboard-slot","title":"Appointments"},"order":2},{"component":"root","name":"clinical-appointments-dashboard","slot":"clinical-appointments-dashboard-slot"},{"name":"appointments-dashboard","slot":"appointments-dashboard-slot","component":"appointmentsDashboard"},{"name":"appointments-calendar-dashboard-link","slot":"calendar-dashboard-slot","component":"appointmentsCalendarDashboardLink"},{"name":"todays-appointments-dashboard","slot":"todays-appointment-slot","component":"homeAppointments"},{"name":"expected-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsList"},{"name":"checked-in-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsList"},{"name":"completed-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsList"},{"name":"missed-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsList"},{"name":"cancelled-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsList"},{"name":"early-appointments-panel","component":"earlyAppointments"},{"name":"patient-appointments-summary-dashboard","component":"patientAppointmentsSummaryDashboardLink","slot":"patient-chart-dashboard-slot","order":11,"meta":{"columns":1,"columnSpan":1,"hideDashboardTitle":true,"path":"Appointments","slot":"patient-chart-appointments-dashboard-slot","title":"Appointments"}},{"name":"appointments-details-widget","component":"patientAppointmentsDetailedSummary","slot":"patient-chart-appointments-dashboard-slot","meta":{"columnSpan":1}},{"name":"patient-upcoming-appointment-widget","component":"patientUpcomingAppointmentsWidget","slot":"visit-form-top-slot"},{"name":"search-patient","component":"searchPatient"},{"name":"home-appointments-tile","slot":"home-metrics-tiles-slot","component":"homeAppointmentsTile"},{"name":"metrics-card-scheduled-appointments","component":"metricsCardScheduledAppointments","slot":"appointments-metrics-slot","order":1},{"name":"metrics-card-highest-volume-service","component":"metricsCardHighestVolumeService","slot":"appointments-metrics-slot","order":2},{"name":"metrics-card-providers-booked","component":"metricsCardProvidersBooked","slot":"appointments-metrics-slot","order":3}],"modals":[{"name":"end-appointment-modal","component":"endAppointmentModal"},{"name":"cancel-appointment-modal","component":"cancelAppointmentModal"}],"workspaces":[{"name":"appointments-form-workspace","component":"appointmentsFormWorkspace","title":"createNewAppointment","type":"form"}],"version":"9.0.1-pre.6393"}
|
package/package.json
CHANGED
|
@@ -65,34 +65,19 @@ const AppointmentsTable: React.FC<AppointmentsTableProps> = ({
|
|
|
65
65
|
const { t } = useTranslation();
|
|
66
66
|
const [pageSize, setPageSize] = useState(25);
|
|
67
67
|
const [searchString, setSearchString] = useState('');
|
|
68
|
+
const config = useConfig<ConfigObject>();
|
|
69
|
+
const { appointmentsTableColumns } = config;
|
|
68
70
|
const searchResults = useAppointmentSearchResults(appointments, searchString);
|
|
69
71
|
const { results, goTo, currentPage } = usePagination(searchResults, pageSize);
|
|
70
72
|
const { customPatientChartUrl, patientIdentifierType } = useConfig<ConfigObject>();
|
|
71
73
|
const { visits } = useTodaysVisits();
|
|
72
74
|
const layout = useLayoutType();
|
|
73
75
|
const responsiveSize = isDesktop(layout) ? 'sm' : 'lg';
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
{
|
|
80
|
-
header: t('identifier', 'Identifier'),
|
|
81
|
-
key: 'identifier',
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
header: t('location', 'Location'),
|
|
85
|
-
key: 'location',
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
header: t('serviceType', 'Service type'),
|
|
89
|
-
key: 'serviceType',
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
header: t('status', 'Status'),
|
|
93
|
-
key: 'status',
|
|
94
|
-
},
|
|
95
|
-
];
|
|
76
|
+
|
|
77
|
+
const headerData = appointmentsTableColumns.map((columnKey) => ({
|
|
78
|
+
header: t(columnKey, columnKey),
|
|
79
|
+
key: columnKey,
|
|
80
|
+
}));
|
|
96
81
|
|
|
97
82
|
const rowData = results?.map((appointment) => ({
|
|
98
83
|
id: appointment.uuid,
|
|
@@ -106,12 +91,12 @@ const AppointmentsTable: React.FC<AppointmentsTableProps> = ({
|
|
|
106
91
|
),
|
|
107
92
|
nextAppointmentDate: '--',
|
|
108
93
|
identifier: patientIdentifierType
|
|
109
|
-
? appointment.patient[patientIdentifierType.replaceAll(' ', '')] ?? appointment.patient.identifier
|
|
94
|
+
? (appointment.patient[patientIdentifierType.replaceAll(' ', '')] ?? appointment.patient.identifier)
|
|
110
95
|
: appointment.patient.identifier,
|
|
111
96
|
dateTime: formatDatetime(new Date(appointment.startDateTime)),
|
|
112
97
|
serviceType: appointment.service.name,
|
|
113
98
|
location: appointment.location?.name,
|
|
114
|
-
provider: appointment.
|
|
99
|
+
provider: appointment.providers?.[0]?.name ?? '--',
|
|
115
100
|
status: <AppointmentActions appointment={appointment} />,
|
|
116
101
|
}));
|
|
117
102
|
|
package/src/config-schema.ts
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
import { Type, validators } from '@openmrs/esm-framework';
|
|
2
2
|
|
|
3
|
+
export const appointmentColumnTypes = [
|
|
4
|
+
// t('patientName', 'Patient name')
|
|
5
|
+
'patientName',
|
|
6
|
+
// t('identifier', 'Identifier')
|
|
7
|
+
'identifier',
|
|
8
|
+
// t('location', 'Location')
|
|
9
|
+
'location',
|
|
10
|
+
// t('serviceType', 'Service type')
|
|
11
|
+
'serviceType',
|
|
12
|
+
// t('status', 'Status')
|
|
13
|
+
'status',
|
|
14
|
+
// t('dateTime', 'Date & time')
|
|
15
|
+
'dateTime',
|
|
16
|
+
// t('provider', 'Provider')
|
|
17
|
+
'provider',
|
|
18
|
+
] as const;
|
|
19
|
+
|
|
20
|
+
type AppointmentColumnType = (typeof appointmentColumnTypes)[number];
|
|
21
|
+
|
|
3
22
|
export const configSchema = {
|
|
4
23
|
allowAllDayAppointments: {
|
|
5
24
|
_type: Type.Boolean,
|
|
@@ -77,12 +96,23 @@ export const configSchema = {
|
|
|
77
96
|
_description:
|
|
78
97
|
'Whether to show the Unscheduled Appointments tab. Note that configuring this to true requires a custom unscheduledAppointment endpoint not currently available',
|
|
79
98
|
},
|
|
99
|
+
appointmentsTableColumns: {
|
|
100
|
+
_type: Type.Array,
|
|
101
|
+
_description:
|
|
102
|
+
'Columns to display in the appointment table. Available options: ' + appointmentColumnTypes.join(', '),
|
|
103
|
+
_default: ['patientName', 'identifier', 'location', 'serviceType', 'status'],
|
|
104
|
+
_elements: {
|
|
105
|
+
_type: Type.String,
|
|
106
|
+
_validators: [validators.oneOf(appointmentColumnTypes)],
|
|
107
|
+
},
|
|
108
|
+
},
|
|
80
109
|
};
|
|
81
110
|
|
|
82
111
|
export interface ConfigObject {
|
|
83
112
|
allowAllDayAppointments: boolean;
|
|
84
113
|
appointmentStatuses: Array<string>;
|
|
85
114
|
appointmentTypes: Array<string>;
|
|
115
|
+
appointmentsTableColumns: Array<string>;
|
|
86
116
|
checkInButton: {
|
|
87
117
|
enabled: boolean;
|
|
88
118
|
showIfActiveVisit: boolean;
|
|
@@ -97,3 +127,8 @@ export interface ConfigObject {
|
|
|
97
127
|
patientIdentifierType: string;
|
|
98
128
|
showUnscheduledAppointmentsTab: boolean;
|
|
99
129
|
}
|
|
130
|
+
|
|
131
|
+
export type AppointmentTableColumn = {
|
|
132
|
+
header: string;
|
|
133
|
+
key: string;
|
|
134
|
+
};
|
package/translations/en.json
CHANGED
|
@@ -86,8 +86,8 @@
|
|
|
86
86
|
"gender": "Gender",
|
|
87
87
|
"highestServiceVolume": "Highest volume service: {{time}}",
|
|
88
88
|
"highestServiceVolumeCardTitle": "Highest volume service",
|
|
89
|
-
"identifier": "Identifier",
|
|
90
89
|
"invalidNumber": "Number is not valid",
|
|
90
|
+
"identifier": "Identifier",
|
|
91
91
|
"isRecurringAppointment": "Is this a recurring appointment?",
|
|
92
92
|
"itemsPerPage": "Items per page",
|
|
93
93
|
"loading": "Loading",
|
|
@@ -140,8 +140,8 @@
|
|
|
140
140
|
"selectProvider": "Select a provider",
|
|
141
141
|
"selectService": "Select a service",
|
|
142
142
|
"service": "Service",
|
|
143
|
+
"serviceType":"Service type",
|
|
143
144
|
"serviceName": "Service name",
|
|
144
|
-
"serviceType": "Service Type",
|
|
145
145
|
"serviceUnavailable": "Appointment time is outside of service hours",
|
|
146
146
|
"status": "Status",
|
|
147
147
|
"SUN": "SUN",
|