@sasindi/addresults 1.0.21 → 1.0.22
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/dist/128.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_sasindi_addresults=globalThis.webpackChunk_sasindi_addresults||[]).push([["128"],{835(e,t,r){r.r(t),r.d(t,{default:()=>y});var n=r(9551),a=r.n(n),l=r(3004),o=r(7817),s=r(4878);function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function c(e,t,r,n,a,l,o){try{var s=e[l](o),i=s.value}catch(e){r(e);return}s.done?t(i):Promise.resolve(i).then(n,a)}function u(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var l=e.apply(t,r);function o(e){c(l,n,a,o,s,"next",e)}function s(e){c(l,n,a,o,s,"throw",e)}o(void 0)})}}function m(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,s=!1;try{for(a=a.call(e);!(o=(r=a.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){s=!0,n=e}finally{try{o||null==a.return||a.return()}finally{if(s)throw n}}return l}}(e,t)||d(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){if(e){if("string"==typeof e)return i(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return i(e,t)}}function f(e,t){var r,n,a,l={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),s=Object.defineProperty;return s(o,"next",{value:i(0)}),s(o,"throw",{value:i(1)}),s(o,"return",{value:i(2)}),"function"==typeof Symbol&&s(o,Symbol.iterator,{value:function(){return this}}),o;function i(s){return function(i){var c=[s,i];if(r)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(l=0)),l;)try{if(r=1,n&&(a=2&c[0]?n.return:c[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,c[1])).done)return a;switch(n=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,n=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(a=(a=l.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){l.label=c[1];break}if(6===c[0]&&l.label<a[1]){l.label=a[1],a=c;break}if(a&&l.label<a[2]){l.label=a[2],l.ops.push(c);break}a[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],n=0}finally{r=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var p=function(e){window.history.pushState({},"",e),window.dispatchEvent(new PopStateEvent("popstate"))};let h=function(){(0,o.useTranslation)().t;var e,t,r=m((0,n.useState)([]),2),l=r[0],c=r[1],h=m((0,n.useState)(""),2),y=h[0],b=h[1],E=m((0,n.useState)(""),2),g=(E[0],E[1]),v=m((0,n.useState)("Loading location..."),2),S=(v[0],v[1]),w=m((0,n.useState)([]),2),A=w[0],x=w[1],N=m((0,n.useState)(!0),2),C=N[0],I=N[1],k=m((0,n.useState)(""),2),j=k[0],L=k[1],P=m((0,n.useState)(1),2),T=P[0],B=P[1],M=m((0,n.useState)(10),1)[0];(0,n.useEffect)(function(){u(function(){var e,t,r,n,a,l,o,s,i,u;return f(this,function(d){switch(d.label){case 0:return d.trys.push([0,17,,18]),[4,fetch("/openmrs/ws/rest/v1/session")];case 1:if(!(e=d.sent()).ok)throw Error("Session request failed");return[4,e.json()];case 2:return r=(t=d.sent()).user.person.uuid,g(t.user.uuid),[4,fetch("/openmrs/ws/rest/v1/person/".concat(r))];case 3:if(!(n=d.sent()).ok)throw Error("Person details request failed");return[4,n.json()];case 4:a=d.sent(),l="",a.attributes&&a.attributes.forEach(function(e){if(e.display){var t=m(e.display.split("="),2),r=t[0],n=t[1];if(r&&n){var a=r.trim();("Institute Id"===a||"Institute"===a)&&(l=n.trim())}}}),!l&&t.sessionLocation&&t.sessionLocation.uuid&&(l=t.sessionLocation.uuid),b(l),o=!1,d.label=5;case 5:return d.trys.push([5,9,,10]),[4,fetch("/openmrs/ws/rest/v1/location?v=custom:(uuid,name,address14)")];case 6:if(!(s=d.sent()).ok)return[3,8];return[4,s.json()];case 7:(i=(d.sent().results||[]).filter(function(e){return"Hospital"===e.address14})).length>0&&(c(i),o=!0),d.label=8;case 8:return[3,10];case 9:return console.warn("Standard location API query failed, trying patientregister custom API:",d.sent()),[3,10];case 10:if(o)return[3,16];d.label=11;case 11:return d.trys.push([11,15,,16]),[4,fetch("/openmrs/ws/rest/v1/patientregister/patientregister/getSelectedTypeData/Hospital")];case 12:if(!(u=d.sent()).ok)return[3,14];return[4,u.json()];case 13:c(d.sent().data||[]),d.label=14;case 14:return[3,16];case 15:return console.error("All location loading attempts failed:",d.sent()),[3,16];case 16:return[3,18];case 17:return console.error("Error during context initialization:",d.sent()),S("Error loading location context"),[3,18];case 18:return[2]}})})()},[]),(0,n.useEffect)(function(){u(function(){var e,t,r;return f(this,function(n){switch(n.label){case 0:if(!y)return[2];I(!0),n.label=1;case 1:return n.trys.push([1,4,5,6]),[4,fetch("/openmrs/ws/rest/v1/addresult/loaddetails/".concat(y))];case 2:if(!(e=n.sent()).ok)throw Error("Failed to load table data");return[4,e.json()];case 3:return t=n.sent(),r={},(t||[]).forEach(function(e){var t=String(e[8]||e[0]||e[11]).trim();if(r[t]){var n=e[2]?String(e[2]).trim():"";n&&!r[t]._testNamesList.includes(n)&&r[t]._testNamesList.push(n)}else r[t]=function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||d(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),r[t]._testNamesList=e[2]?[String(e[2]).trim()]:[]}),x(Object.values(r).map(function(e){return e[2]=e._testNamesList.join(", "),e}).sort(function(e,t){return Number(t[11]||0)-Number(e[11]||0)})),[3,6];case 4:return console.error("Error fetching table data:",n.sent()),x([]),[3,6];case 5:return I(!1),[7];case 6:return[2]}})})()},[y]),(0,n.useEffect)(function(){if(y&&l.length>0){var e=l.find(function(e){return e.uuid===y});e&&S(e.name)}},[y,l]);var O=function(e){if(!e)return"";var t=e.trim().toUpperCase();return"M"===t||"MALE"===t?"Male":"F"===t||"FEMALE"===t?"Female":e},_=function(e){var t=e[0],r=e[7],n=e[8],a=e[11];localStorage.setItem("phnNo",t),localStorage.setItem("section",r),localStorage.setItem("barcode",n),localStorage.setItem("id",String(a)),p(window.getOpenmrsSpaBase()+"addresults-form")},W=A.filter(function(e){var t=String(e[8]||"").toLowerCase(),r=j.toLowerCase().trim();return t.includes(r)});return a().createElement("div",{className:s.A.bodyWrapper},a().createElement("div",{className:s.A.card},a().createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"2rem",flexWrap:"wrap",gap:"10px"}},a().createElement("h2",{className:s.A.navTitle,style:{margin:0}},"Add Results Dashboard"),a().createElement("div",{className:s.A.instituteSelector,style:{margin:0}},a().createElement("span",null,"Hospital:"),a().createElement("select",{className:s.A.formControl,value:y,onChange:function(e){return b(e.target.value)},style:{minWidth:"220px"}},a().createElement("option",{value:""},"Select Hospital Location"),l.map(function(e){return a().createElement("option",{key:e.uuid,value:e.uuid},e.name)})))),a().createElement("div",{className:s.A.searchBar},a().createElement("span",{className:s.A.searchLabel},"Search Barcode:"),a().createElement("input",{type:"text",className:s.A.formControl,placeholder:"Type barcode number to filter...",value:j,onChange:function(e){return L(e.target.value)},style:{flexGrow:1}})),C?a().createElement("div",{className:s.A.textCenter,style:{padding:"2rem"}},a().createElement("div",{className:s.A.spinner,style:{margin:"0 auto"}}),a().createElement("p",{style:{marginTop:"1rem",color:"var(--text-light)"}},"Loading pending samples list...")):a().createElement("div",{className:s.A.tableResponsive},a().createElement("table",{className:"".concat(s.A.table," ").concat(s.A.tableHover," ").concat(s.A.tableStriped," ").concat(s.A.tableBordered)},a().createElement("thead",null,a().createElement("tr",null,a().createElement("th",null,"No"),a().createElement("th",null,"Section"),a().createElement("th",null,"Barcode No"),a().createElement("th",null,"Gender"),a().createElement("th",null,"Age"),a().createElement("th",null,"Test Name"),a().createElement("th",null,"Order By"),a().createElement("th",null,"Order Date"),a().createElement("th",null,"Collect By"),a().createElement("th",null,"Collect Date"),a().createElement("th",{style:{textAlign:"center"}},"Action"))),a().createElement("tbody",null,W.length>0?W.slice((T-1)*M,T*M).map(function(e,t){return a().createElement("tr",{key:e[11]||t},a().createElement("td",null,(T-1)*M+t+1),a().createElement("td",null,e[7]),a().createElement("td",{style:{fontWeight:600}},e[8]),a().createElement("td",null,O(e[3])),a().createElement("td",null,e[4]),a().createElement("td",{style:{color:"var(--primary-color)",fontWeight:500}},e[2]),a().createElement("td",null,e[5]),a().createElement("td",null,e[6]),a().createElement("td",null,e[9]),a().createElement("td",null,e[10]),a().createElement("td",{style:{textAlign:"center"}},a().createElement("button",{type:"button",className:"".concat(s.A.btn," ").concat(s.A.btnPrimary),onClick:function(){return _(e)}},"Select")))}):a().createElement("tr",null,a().createElement("td",{colSpan:11,className:s.A.textCenter,style:{padding:"2rem",color:"var(--text-light)"}},"No pending laboratory samples found."))))),W.length>0&&(e=Math.max(1,Math.ceil(W.length/M)),t=(T-1)*M,a().createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:"1rem",flexWrap:"wrap"}},a().createElement("div",{style:{fontSize:"14px",color:"#6c757d"}},"Showing ",t+1," to ",Math.min(t+M,W.length)," of ",W.length," entries"),a().createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},a().createElement("button",{type:"button",className:"".concat(s.A.btn," ").concat(s.A.btnPrimary),style:{padding:"4px 12px",fontSize:"13px",cursor:T<=1?"not-allowed":"pointer"},disabled:T<=1,onClick:function(){return B(function(e){return Math.max(1,e-1)})}},"Previous"),a().createElement("span",{style:{fontSize:"13px",fontWeight:500,margin:"0 4px"}},"Page ",T," of ",e),a().createElement("button",{type:"button",className:"".concat(s.A.btn," ").concat(s.A.btnPrimary),style:{padding:"4px 12px",fontSize:"13px",cursor:T>=e?"not-allowed":"pointer"},disabled:T>=e,onClick:function(){return B(function(t){return Math.min(e,t+1)})}},"Next"))))))},y=function(){return a().createElement(l.BrowserRouter,{basename:window.getOpenmrsSpaBase()},a().createElement(l.Routes,null,a().createElement(l.Route,{path:"addresults",element:a().createElement(h,null)})))}}}]);
|
|
1
|
+
"use strict";(globalThis.webpackChunk_sasindi_addresults=globalThis.webpackChunk_sasindi_addresults||[]).push([["128"],{835(e,t,n){n.r(t),n.d(t,{default:()=>h});var r=n(9551),a=n.n(r),l=n(3004),o=n(7817),s=n(4878);function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function i(e,t,n,r,a,l,o){try{var s=e[l](o),c=s.value}catch(e){n(e);return}s.done?t(c):Promise.resolve(c).then(r,a)}function u(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){i(l,r,a,o,s,"next",e)}function s(e){i(l,r,a,o,s,"throw",e)}o(void 0)})}}function m(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,s=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){s=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(s)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){var n,r,a,l={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),s=Object.defineProperty;return s(o,"next",{value:c(0)}),s(o,"throw",{value:c(1)}),s(o,"return",{value:c(2)}),"function"==typeof Symbol&&s(o,Symbol.iterator,{value:function(){return this}}),o;function c(s){return function(c){var i=[s,c];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,i[0]&&(l=0)),l;)try{if(n=1,r&&(a=2&i[0]?r.return:i[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,i[1])).done)return a;switch(r=0,a&&(i=[2&i[0],a.value]),i[0]){case 0:case 1:a=i;break;case 4:return l.label++,{value:i[1],done:!1};case 5:l.label++,r=i[1],i=[0];continue;case 7:i=l.ops.pop(),l.trys.pop();continue;default:if(!(a=(a=l.trys).length>0&&a[a.length-1])&&(6===i[0]||2===i[0])){l=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]<a[3])){l.label=i[1];break}if(6===i[0]&&l.label<a[1]){l.label=a[1],a=i;break}if(a&&l.label<a[2]){l.label=a[2],l.ops.push(i);break}a[2]&&l.ops.pop(),l.trys.pop();continue}i=t.call(e,l)}catch(e){i=[6,e],r=0}finally{n=a=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}}}var f=function(e){window.history.pushState({},"",e),window.dispatchEvent(new PopStateEvent("popstate"))};let p=function(){(0,o.useTranslation)().t;var e,t,n,l=m((0,r.useState)([]),2),c=l[0],i=l[1],p=m((0,r.useState)(""),2),h=p[0],y=p[1],E=m((0,r.useState)(""),2),b=(E[0],E[1]),g=m((0,r.useState)("Loading location..."),2),v=(g[0],g[1]),w=m((0,r.useState)([]),2),S=w[0],A=w[1],x=m((0,r.useState)(!0),2),N=x[0],C=x[1],k=m((0,r.useState)(""),2),I=k[0],j=k[1],P=m((0,r.useState)(1),2),L=P[0],T=P[1],B=m((0,r.useState)(10),2),M=B[0];B[1],(0,r.useEffect)(function(){u(function(){var e,t,n,r,a,l,o,s,c,u;return d(this,function(d){switch(d.label){case 0:return d.trys.push([0,17,,18]),[4,fetch("/openmrs/ws/rest/v1/session")];case 1:if(!(e=d.sent()).ok)throw Error("Session request failed");return[4,e.json()];case 2:return n=(t=d.sent()).user.person.uuid,b(t.user.uuid),[4,fetch("/openmrs/ws/rest/v1/person/".concat(n))];case 3:if(!(r=d.sent()).ok)throw Error("Person details request failed");return[4,r.json()];case 4:a=d.sent(),l="",a.attributes&&a.attributes.forEach(function(e){if(e.display){var t=m(e.display.split("="),2),n=t[0],r=t[1];if(n&&r){var a=n.trim();("Institute Id"===a||"Institute"===a)&&(l=r.trim())}}}),!l&&t.sessionLocation&&t.sessionLocation.uuid&&(l=t.sessionLocation.uuid),y(l),o=!1,d.label=5;case 5:return d.trys.push([5,9,,10]),[4,fetch("/openmrs/ws/rest/v1/location?v=custom:(uuid,name,address14)")];case 6:if(!(s=d.sent()).ok)return[3,8];return[4,s.json()];case 7:(c=(d.sent().results||[]).filter(function(e){return"Hospital"===e.address14})).length>0&&(i(c),o=!0),d.label=8;case 8:return[3,10];case 9:return console.warn("Standard location API query failed, trying patientregister custom API:",d.sent()),[3,10];case 10:if(o)return[3,16];d.label=11;case 11:return d.trys.push([11,15,,16]),[4,fetch("/openmrs/ws/rest/v1/patientregister/patientregister/getSelectedTypeData/Hospital")];case 12:if(!(u=d.sent()).ok)return[3,14];return[4,u.json()];case 13:i(d.sent().data||[]),d.label=14;case 14:return[3,16];case 15:return console.error("All location loading attempts failed:",d.sent()),[3,16];case 16:return[3,18];case 17:return console.error("Error during context initialization:",d.sent()),v("Error loading location context"),[3,18];case 18:return[2]}})})()},[]),(0,r.useEffect)(function(){u(function(){var e;return d(this,function(t){switch(t.label){case 0:if(!h)return[2];C(!0),t.label=1;case 1:return t.trys.push([1,4,5,6]),[4,fetch("/openmrs/ws/rest/v1/addresult/loaddetails/".concat(h))];case 2:if(!(e=t.sent()).ok)throw Error("Failed to load table data");return[4,e.json()];case 3:return A(t.sent()||[]),[3,6];case 4:return console.error("Error fetching table data:",t.sent()),A([]),[3,6];case 5:return C(!1),[7];case 6:return[2]}})})()},[h]),(0,r.useEffect)(function(){if(h&&c.length>0){var e=c.find(function(e){return e.uuid===h});e&&v(e.name)}},[h,c]);var O=function(e){if(!e)return"";var t=e.trim().toUpperCase();return"M"===t||"MALE"===t?"Male":"F"===t||"FEMALE"===t?"Female":e},W=function(e){var t=e[0],n=e[7],r=e[8],a=e[11];localStorage.setItem("phnNo",t),localStorage.setItem("section",n),localStorage.setItem("barcode",r),localStorage.setItem("id",String(a)),f(window.getOpenmrsSpaBase()+"addresults-form")},z=S.filter(function(e){var t=String(e[8]||"").toLowerCase(),n=I.toLowerCase().trim();return t.includes(n)});return a().createElement("div",{className:s.A.bodyWrapper},a().createElement("div",{className:s.A.card},a().createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"2rem",flexWrap:"wrap",gap:"10px"}},a().createElement("h2",{className:s.A.navTitle,style:{margin:0}},"Add Results Dashboard"),a().createElement("div",{className:s.A.instituteSelector,style:{margin:0}},a().createElement("span",null,"Hospital:"),a().createElement("select",{className:s.A.formControl,value:h,onChange:function(e){return y(e.target.value)},style:{minWidth:"220px"}},a().createElement("option",{value:""},"Select Hospital Location"),c.map(function(e){return a().createElement("option",{key:e.uuid,value:e.uuid},e.name)})))),a().createElement("div",{className:s.A.searchBar},a().createElement("span",{className:s.A.searchLabel},"Search Barcode:"),a().createElement("input",{type:"text",className:s.A.formControl,placeholder:"Type barcode number to filter...",value:I,onChange:function(e){return j(e.target.value)},style:{flexGrow:1}})),N?a().createElement("div",{className:s.A.textCenter,style:{padding:"2rem"}},a().createElement("div",{className:s.A.spinner,style:{margin:"0 auto"}}),a().createElement("p",{style:{marginTop:"1rem",color:"var(--text-light)"}},"Loading pending samples list...")):a().createElement("div",{className:s.A.tableResponsive},a().createElement("table",{className:"".concat(s.A.table," ").concat(s.A.tableHover," ").concat(s.A.tableStriped," ").concat(s.A.tableBordered)},a().createElement("thead",null,a().createElement("tr",null,a().createElement("th",null,"No"),a().createElement("th",null,"Section"),a().createElement("th",null,"Barcode No"),a().createElement("th",null,"Gender"),a().createElement("th",null,"Age"),a().createElement("th",null,"Test Name"),a().createElement("th",null,"Order By"),a().createElement("th",null,"Order Date"),a().createElement("th",null,"Collect By"),a().createElement("th",null,"Collect Date"),a().createElement("th",{style:{textAlign:"center"}},"Action"))),a().createElement("tbody",null,z.length>0?(e=(L-1)*M,z.slice(e,e+M).map(function(t,n){return a().createElement("tr",{key:t[11]||n},a().createElement("td",null,e+n+1),a().createElement("td",null,t[7]),a().createElement("td",{style:{fontWeight:600}},t[8]),a().createElement("td",null,O(t[3])),a().createElement("td",null,t[4]),a().createElement("td",{style:{color:"var(--primary-color)",fontWeight:500}},t[2]),a().createElement("td",null,t[5]),a().createElement("td",null,t[6]),a().createElement("td",null,t[9]),a().createElement("td",null,t[10]),a().createElement("td",{style:{textAlign:"center"}},a().createElement("button",{type:"button",className:"".concat(s.A.btn," ").concat(s.A.btnPrimary),onClick:function(){return W(t)}},"Select")))})):a().createElement("tr",null,a().createElement("td",{colSpan:11,className:s.A.textCenter,style:{padding:"2rem",color:"var(--text-light)"}},"No pending laboratory samples found."))))),z.length>0&&(t=(L-1)*M,n=Math.max(1,Math.ceil(z.length/M)),a().createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:"1.5rem",flexWrap:"wrap"}},a().createElement("div",{style:{fontSize:"14px",color:"#6c757d"}},"Showing ",t+1," to ",Math.min(t+M,z.length)," of ",z.length," entries"),a().createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},a().createElement("button",{type:"button",className:"".concat(s.A.btn," ").concat(s.A.btnPrimary),style:{padding:"4px 12px",fontSize:"13px",cursor:L<=1?"not-allowed":"pointer"},disabled:L<=1,onClick:function(){return T(function(e){return Math.max(1,e-1)})}},"Previous"),a().createElement("span",{style:{fontSize:"13px",fontWeight:500}},"Page ",L," of ",n),a().createElement("button",{type:"button",className:"".concat(s.A.btn," ").concat(s.A.btnPrimary),style:{padding:"4px 12px",fontSize:"13px",cursor:L>=n?"not-allowed":"pointer"},disabled:L>=n,onClick:function(){return T(function(e){return Math.min(n,e+1)})}},"Next"))))))},h=function(){return a().createElement(l.BrowserRouter,{basename:window.getOpenmrsSpaBase()},a().createElement(l.Routes,null,a().createElement(l.Route,{path:"addresults",element:a().createElement(p,null)})))}}}]);
|
package/dist/128.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"128.js","sources":["webpack://@sasindi/addresults/./src/add-results.component.tsx","webpack://@sasindi/addresults/./src/root.component.tsx"],"names":["navigateTo","url","window","PopStateEvent","useTranslation","t","
|
|
1
|
+
{"version":3,"file":"128.js","sources":["webpack://@sasindi/addresults/./src/add-results.component.tsx","webpack://@sasindi/addresults/./src/root.component.tsx"],"names":["navigateTo","url","window","PopStateEvent","useTranslation","t","startIndex","totalPages","_useState","locations","setLocations","_useState1","selectedLocation","setSelectedLocation","_useState2","setCurrentUserUuid","_useState3","setLocationName","_useState4","data","setData","_useState5","loading","setLoading","_useState6","searchQuery","setSearchQuery","_useState7","page","setPage","_useState8","pageSize","useEffect","sessionRes","sessionData","personUuid","personRes","personData","initialLocUuid","loaded","locsRes","filteredLocs","fallbackRes","fetch","Error","attr","_attr_display_split","key","value","cleanKey","locsData","loc","console","e","fallbackData","e1","err","response","resData","match","l","formatGender","gender","upper","handleSelect","row","phnNo","section","barcode","id","localStorage","String","filteredData","query","styles","onChange","paginatedData","idx","onClick","Math","p","BrowserRouter","Routes","Route","AddResults"],"mappings":"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"}
|
|
@@ -51,9 +51,9 @@
|
|
|
51
51
|
"rendered": true,
|
|
52
52
|
"initial": false,
|
|
53
53
|
"entry": false,
|
|
54
|
-
"size":
|
|
54
|
+
"size": 27104,
|
|
55
55
|
"sizes": {
|
|
56
|
-
"javascript":
|
|
56
|
+
"javascript": 27104
|
|
57
57
|
},
|
|
58
58
|
"names": [],
|
|
59
59
|
"idHints": [],
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"auxiliaryFiles": [
|
|
68
68
|
"128.js.map"
|
|
69
69
|
],
|
|
70
|
-
"hash": "
|
|
70
|
+
"hash": "894169345d2e11d2",
|
|
71
71
|
"childrenByOrder": {}
|
|
72
72
|
},
|
|
73
73
|
{
|
package/dist/routes.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"$schema":"https://json.openmrs.org/routes.schema.json","pages":[{"route":"addresults","component":"root","online":true,"offline":true},{"route":"addresults-form","component":"addresultsForm","online":true,"offline":true}],"extensions":[],"version":"1.0.
|
|
1
|
+
{"$schema":"https://json.openmrs.org/routes.schema.json","pages":[{"route":"addresults","component":"root","online":true,"offline":true},{"route":"addresults-form","component":"addresultsForm","online":true,"offline":true}],"extensions":[],"version":"1.0.22"}
|
package/package.json
CHANGED
|
@@ -19,7 +19,7 @@ const AddResults: React.FC = () => {
|
|
|
19
19
|
const [loading, setLoading] = useState<boolean>(true);
|
|
20
20
|
const [searchQuery, setSearchQuery] = useState<string>('');
|
|
21
21
|
const [page, setPage] = useState<number>(1);
|
|
22
|
-
const [pageSize] = useState<number>(10);
|
|
22
|
+
const [pageSize, setPageSize] = useState<number>(10);
|
|
23
23
|
|
|
24
24
|
// Load Session, Current Location and Hospital Locations
|
|
25
25
|
useEffect(() => {
|
|
@@ -104,33 +104,7 @@ const AddResults: React.FC = () => {
|
|
|
104
104
|
const response = await fetch(url);
|
|
105
105
|
if (!response.ok) throw new Error('Failed to load table data');
|
|
106
106
|
const resData = await response.json();
|
|
107
|
-
|
|
108
|
-
// Group multiple tests sharing the same barcode into a single interface row
|
|
109
|
-
const groupedMap: { [key: string]: any } = {};
|
|
110
|
-
|
|
111
|
-
(resData || []).forEach((row: any) => {
|
|
112
|
-
const bCode = row[8] || row[0] || row[11];
|
|
113
|
-
const key = String(bCode).trim();
|
|
114
|
-
|
|
115
|
-
if (!groupedMap[key]) {
|
|
116
|
-
groupedMap[key] = [ ...row ];
|
|
117
|
-
groupedMap[key]._testNamesList = row[2] ? [String(row[2]).trim()] : [];
|
|
118
|
-
} else {
|
|
119
|
-
const tName = row[2] ? String(row[2]).trim() : '';
|
|
120
|
-
if (tName && !groupedMap[key]._testNamesList.includes(tName)) {
|
|
121
|
-
groupedMap[key]._testNamesList.push(tName);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
|
-
|
|
126
|
-
const processedData = Object.values(groupedMap).map((rowArr: any) => {
|
|
127
|
-
rowArr[2] = rowArr._testNamesList.join(', '); // Join test names comma-separated
|
|
128
|
-
return rowArr;
|
|
129
|
-
});
|
|
130
|
-
|
|
131
|
-
// Sort by ID descending so newest samples appear at top
|
|
132
|
-
const sortedData = processedData.sort((a: any, b: any) => Number(b[11] || 0) - Number(a[11] || 0));
|
|
133
|
-
setData(sortedData);
|
|
107
|
+
setData(resData || []);
|
|
134
108
|
} catch (err) {
|
|
135
109
|
console.error('Error fetching table data:', err);
|
|
136
110
|
setData([]);
|
|
@@ -242,11 +216,12 @@ const AddResults: React.FC = () => {
|
|
|
242
216
|
</thead>
|
|
243
217
|
<tbody>
|
|
244
218
|
{filteredData.length > 0 ? (
|
|
245
|
-
|
|
246
|
-
const
|
|
247
|
-
|
|
219
|
+
(() => {
|
|
220
|
+
const startIndex = (page - 1) * pageSize;
|
|
221
|
+
const paginatedData = filteredData.slice(startIndex, startIndex + pageSize);
|
|
222
|
+
return paginatedData.map((row: any, idx: number) => (
|
|
248
223
|
<tr key={row[11] || idx}>
|
|
249
|
-
<td>{
|
|
224
|
+
<td>{startIndex + idx + 1}</td>
|
|
250
225
|
<td>{row[7]}</td>
|
|
251
226
|
<td style={{ fontWeight: 600 }}>{row[8]}</td>
|
|
252
227
|
<td>{formatGender(row[3])}</td>
|
|
@@ -266,8 +241,8 @@ const AddResults: React.FC = () => {
|
|
|
266
241
|
</button>
|
|
267
242
|
</td>
|
|
268
243
|
</tr>
|
|
269
|
-
);
|
|
270
|
-
})
|
|
244
|
+
));
|
|
245
|
+
})()
|
|
271
246
|
) : (
|
|
272
247
|
<tr>
|
|
273
248
|
<td colSpan={11} className={styles.textCenter} style={{ padding: '2rem', color: 'var(--text-light)' }}>
|
|
@@ -281,10 +256,10 @@ const AddResults: React.FC = () => {
|
|
|
281
256
|
)}
|
|
282
257
|
|
|
283
258
|
{filteredData.length > 0 && (() => {
|
|
284
|
-
const totalPages = Math.max(1, Math.ceil(filteredData.length / pageSize));
|
|
285
259
|
const startIndex = (page - 1) * pageSize;
|
|
260
|
+
const totalPages = Math.max(1, Math.ceil(filteredData.length / pageSize));
|
|
286
261
|
return (
|
|
287
|
-
<div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginTop: '
|
|
262
|
+
<div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginTop: '1.5rem', flexWrap: 'wrap' }}>
|
|
288
263
|
<div style={{ fontSize: '14px', color: '#6c757d' }}>
|
|
289
264
|
Showing {startIndex + 1} to {Math.min(startIndex + pageSize, filteredData.length)} of {filteredData.length} entries
|
|
290
265
|
</div>
|
|
@@ -294,11 +269,11 @@ const AddResults: React.FC = () => {
|
|
|
294
269
|
className={`${styles.btn} ${styles.btnPrimary}`}
|
|
295
270
|
style={{ padding: '4px 12px', fontSize: '13px', cursor: page <= 1 ? 'not-allowed' : 'pointer' }}
|
|
296
271
|
disabled={page <= 1}
|
|
297
|
-
onClick={() => setPage(
|
|
272
|
+
onClick={() => setPage(p => Math.max(1, p - 1))}
|
|
298
273
|
>
|
|
299
274
|
Previous
|
|
300
275
|
</button>
|
|
301
|
-
<span style={{ fontSize: '13px', fontWeight: 500
|
|
276
|
+
<span style={{ fontSize: '13px', fontWeight: 500 }}>
|
|
302
277
|
Page {page} of {totalPages}
|
|
303
278
|
</span>
|
|
304
279
|
<button
|
|
@@ -306,7 +281,7 @@ const AddResults: React.FC = () => {
|
|
|
306
281
|
className={`${styles.btn} ${styles.btnPrimary}`}
|
|
307
282
|
style={{ padding: '4px 12px', fontSize: '13px', cursor: page >= totalPages ? 'not-allowed' : 'pointer' }}
|
|
308
283
|
disabled={page >= totalPages}
|
|
309
|
-
onClick={() => setPage(
|
|
284
|
+
onClick={() => setPage(p => Math.min(totalPages, p + 1))}
|
|
310
285
|
>
|
|
311
286
|
Next
|
|
312
287
|
</button>
|