@openmrs/esm-form-engine-lib 3.1.2-pre.1708 → 3.1.2-pre.1721
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.
@@ -0,0 +1,18 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"uuid": "47cfe95b-357a-48f8-aa70-63eb5ae51916",
|
4
|
+
"obs": [
|
5
|
+
{
|
6
|
+
"formFieldPath": "rfe-forms-tbProgramType",
|
7
|
+
"value": {
|
8
|
+
"display": "Tuberculosis treatment program",
|
9
|
+
"uuid": "160541AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
|
10
|
+
}
|
11
|
+
},
|
12
|
+
{
|
13
|
+
"formFieldPath": "rfe-forms-tbRegDate",
|
14
|
+
"value": "2023-12-05T00:00:00.000+0000"
|
15
|
+
}
|
16
|
+
]
|
17
|
+
}
|
18
|
+
]
|
@@ -1 +1 @@
|
|
1
|
-
var _openmrs_esm_form_engine_lib;(()=>{"use strict";var e,r,t,n,o,i,a,l,s,u,f,p,d,c,h,m,v,g,b,y,w,_={8008:(e,r,t)=>{var n={"./start":()=>Promise.all([t.e(
|
1
|
+
var _openmrs_esm_form_engine_lib;(()=>{"use strict";var e,r,t,n,o,i,a,l,s,u,f,p,d,c,h,m,v,g,b,y,w,_={8008:(e,r,t)=>{var n={"./start":()=>Promise.all([t.e(991),t.e(782),t.e(72),t.e(465),t.e(299),t.e(929)]).then((()=>()=>t(2929)))},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),i=(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:()=>i})}},P={};function S(e){var r=P[e];if(void 0!==r)return r.exports;var t=P[e]={id:e,loaded:!1,exports:{}};return _[e].call(t.exports,t,t.exports,S),t.loaded=!0,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 i={};e=e||[null,r({}),r([]),r(r)];for(var a=2&n&&t;"object"==typeof a&&!~e.indexOf(a);a=r(a))Object.getOwnPropertyNames(a).forEach((e=>i[e]=()=>t[e]));return i.default=()=>t,S.d(o,i),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-form-engine-lib:",S.l=(e,r,o,i)=>{if(t[e])t[e].push(r);else{var a,l;if(void 0!==o)for(var s=document.getElementsByTagName("script"),u=0;u<s.length;u++){var f=s[u];if(f.getAttribute("src")==e||f.getAttribute("data-webpack")==n+o){a=f;break}}a||(l=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,S.nc&&a.setAttribute("nonce",S.nc),a.setAttribute("data-webpack",n+o),a.src=e),t[e]=[r];var p=(r,n)=>{a.onerror=a.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],a.parentNode&&a.parentNode.removeChild(a),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(p.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),l&&document.head.appendChild(a)}},S.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},S.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{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 i=S.S[t],a="@openmrs/esm-form-engine-lib",l=(e,r,t,n)=>{var o=i[e]=i[e]||{},l=o[r];(!l||!l.loaded&&(!n!=!l.eager?n:a>l.from))&&(o[r]={get:t,from:a,eager:!!n})},s=[];return"default"===t&&(l("@openmrs/esm-framework","6.0.3-pre.2587",(()=>Promise.all([S.e(151),S.e(72),S.e(766)]).then((()=>()=>S(5151))))),l("@openmrs/esm-patient-common-lib","9.0.1-pre.6367",(()=>Promise.all([S.e(505),S.e(991),S.e(72),S.e(465),S.e(299),S.e(499)]).then((()=>()=>S(5505))))),l("dayjs","1.11.13",(()=>S.e(353).then((()=>()=>S(4353))))),l("i18next","23.16.0",(()=>S.e(635).then((()=>()=>S(2635))))),l("react-i18next","11.18.6",(()=>Promise.all([S.e(184),S.e(72)]).then((()=>()=>S(4422))))),l("react","18.3.1",(()=>S.e(540).then((()=>()=>S(6540))))),l("swr/_internal","2.2.5",(()=>Promise.all([S.e(993),S.e(72)]).then((()=>()=>S(4993))))),l("swr/immutable","2.2.5",(()=>Promise.all([S.e(72),S.e(465),S.e(225)]).then((()=>()=>S(4225))))),l("swr/infinite","2.2.5",(()=>Promise.all([S.e(72),S.e(465),S.e(41)]).then((()=>()=>S(3041)))))),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(/#.*$/,"").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},i=(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],i=(typeof n)[0];if(t>=r.length)return"u"==i;var a=r[t],l=(typeof a)[0];if(i!=l)return"o"==i&&"n"==l||"s"==l||"u"==i;if("o"!=i&&"u"!=i&&n!=a)return n<a;t++}},a=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 i=[];for(o=1;o<e.length;o++){var l=e[o];i.push(0===l?"not("+s()+")":1===l?"("+s()+" || "+s()+")":2===l?i.pop()+" "+i.pop():a(l))}return s();function s(){return i.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 i=0,a=1,s=!0;;a++,i++){var u,f,p=a<e.length?(typeof e[a])[0]:"";if(i>=r.length||"o"==(f=(typeof(u=r[i]))[0]))return!s||("u"==p?a>t&&!n:""==p!=n);if("u"==f){if(!s||"u"!=p)return!1}else if(s)if(p==f)if(a<=t){if(u!=e[a])return!1}else{if(n?u>e[a]:u<e[a])return!1;u!=e[a]&&(s=!1)}else if("s"!=p&&"n"!=p){if(n||a<=t)return!1;s=!1,a--}else{if(a<=t||f<p!=n)return!1;s=!1}else"s"!=p&&"n"!=p&&(s=!1,a--)}}var d=[],c=d.pop.bind(d);for(i=1;i<e.length;i++){var h=e[i];d.push(1==h?c()|c():2==h?c()&c():h?l(h,r):!c())}return!!c()},s=(e,r)=>e&&S.o(e,r),u=e=>(e.loaded=1,e.get()),f=e=>Object.keys(e).reduce(((r,t)=>(e[t].eager&&(r[t]=e[t]),r)),{}),p=(e,r,t)=>{var n=t?f(e[r]):e[r];return Object.keys(n).reduce(((e,r)=>!e||!n[e].loaded&&i(e,r)?r:e),0)},d=(e,r,t,n)=>"Unsatisfied version "+t+" from "+(t&&e[r][t].from)+" of shared singleton module "+r+" (required "+a(n)+")",c=e=>{throw new Error(e)},h=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},m=(e,r,t)=>t?t():((e,r)=>c("Shared module "+r+" doesn't exist in shared scope "+e))(e,r),v=(e=>function(r,t,n,o,i){var a=S.I(r);return a&&a.then&&!n?a.then(e.bind(e,r,S.S[r],t,!1,o,i)):e(r,S.S[r],t,n,o,i)})(((e,r,t,n,o,i)=>{if(!s(r,t))return m(e,t,i);var a=p(r,t,n);return l(o,a)||h(d(r,t,a,o)),u(r[t][a])})),g={},b={6072:()=>v("default","react",!1,[1,18],(()=>S.e(540).then((()=>()=>S(6540))))),6766:()=>v("default","i18next",!1,[1,23],(()=>S.e(635).then((()=>()=>S(2635))))),8465:()=>v("default","swr/_internal",!1,[1,2],(()=>S.e(993).then((()=>()=>S(4993))))),2731:()=>v("default","@openmrs/esm-patient-common-lib",!1,[1,9],(()=>S.e(505).then((()=>()=>S(5505))))),3941:()=>v("default","react-i18next",!1,[1,11],(()=>S.e(184).then((()=>()=>S(4422))))),9197:()=>v("default","@openmrs/esm-framework",!1,[1,6],(()=>Promise.all([S.e(151),S.e(766)]).then((()=>()=>S(5151))))),4209:()=>v("default","swr/immutable",!1,[1,2],(()=>S.e(606).then((()=>()=>S(4225))))),231:()=>v("default","dayjs",!1,[1,1],(()=>S.e(353).then((()=>()=>S(4353))))),6339:()=>v("default","swr/infinite",!1,[1,2],(()=>S.e(422).then((()=>()=>S(3041)))))},y={72:[6072],299:[2731,3941,9197],465:[8465],499:[4209],766:[6766],929:[231,4209,6339]},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={719: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(/^(299|465|72|766)$/.test(r))e[r]=0;else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var i=S.p+S.u(r),a=new Error;S.l(i,(t=>{if(S.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;a.message="Loading chunk "+r+" failed.\n("+o+": "+i+")",a.name="ChunkLoadError",a.type=o,a.request=i,n[1](a)}}),"chunk-"+r,r)}};var r=(r,t)=>{var n,o,[i,a,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(n in a)S.o(a,n)&&(S.m[n]=a[n]);l&&l(S)}for(r&&r(t);s<i.length;s++)o=i[s],S.o(e,o)&&e[o]&&e[o][0](),e[o]=0},t=globalThis.webpackChunk_openmrs_esm_form_engine_lib=globalThis.webpackChunk_openmrs_esm_form_engine_lib||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),S.nc=void 0;var j=S(8008);_openmrs_esm_form_engine_lib=j})();
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@openmrs/esm-form-engine-lib",
|
3
|
-
"version": "3.1.2-pre.
|
3
|
+
"version": "3.1.2-pre.1721",
|
4
4
|
"description": "React Form Engine for O3",
|
5
5
|
"browser": "dist/openmrs-esm-form-engine-lib.js",
|
6
6
|
"main": "src/index.ts",
|
@@ -29,7 +29,7 @@
|
|
29
29
|
"access": "public"
|
30
30
|
},
|
31
31
|
"dependencies": {
|
32
|
-
"@carbon/react": "
|
32
|
+
"@carbon/react": "1.74.0",
|
33
33
|
"classnames": "^2.5.1",
|
34
34
|
"lodash-es": "^4.17.21",
|
35
35
|
"react-error-boundary": "^4.0.13",
|
@@ -90,7 +90,7 @@
|
|
90
90
|
"sass": "^1.77.2",
|
91
91
|
"swc-loader": "^0.2.6",
|
92
92
|
"swr": "^2.2.5",
|
93
|
-
"turbo": "^2.2
|
93
|
+
"turbo": "^2.4.2",
|
94
94
|
"typescript": "^4.9.5",
|
95
95
|
"webpack": "^5.91.0",
|
96
96
|
"webpack-bundle-analyzer": "^4.10.2",
|
@@ -101,6 +101,6 @@
|
|
101
101
|
"*.{ts,tsx}": "eslint --cache --fix --max-warnings 0",
|
102
102
|
"*.{css,scss,ts,tsx}": "prettier --write --list-different"
|
103
103
|
},
|
104
|
-
"packageManager": "yarn@4.
|
104
|
+
"packageManager": "yarn@4.6.0",
|
105
105
|
"stableVersion": "3.1.1"
|
106
106
|
}
|
package/src/form-engine.test.tsx
CHANGED
@@ -30,6 +30,7 @@ import sampleFieldsForm from '__mocks__/forms/rfe-forms/sample_fields.json';
|
|
30
30
|
import testEnrolmentForm from '__mocks__/forms/rfe-forms/test-enrolment-form.json';
|
31
31
|
import historicalExpressionsForm from '__mocks__/forms/rfe-forms/historical-expressions-form.json';
|
32
32
|
import mockHxpEncounter from '__mocks__/forms/rfe-forms/mockHistoricalvisitsEncounter.json';
|
33
|
+
import mockSaveEncounter from '__mocks__/forms/rfe-forms/mockSaveEncounter.json';
|
33
34
|
import requiredTestForm from '__mocks__/forms/rfe-forms/required-form.json';
|
34
35
|
import conditionalRequiredTestForm from '__mocks__/forms/rfe-forms/conditional-required-form.json';
|
35
36
|
import conditionalAnsweredForm from '__mocks__/forms/rfe-forms/conditional-answered-form.json';
|
@@ -132,7 +133,7 @@ jest.mock('../src/api', () => {
|
|
132
133
|
getPreviousEncounter: jest.fn().mockImplementation(() => Promise.resolve(mockHxpEncounter)),
|
133
134
|
getConcept: jest.fn().mockImplementation(() => Promise.resolve(null)),
|
134
135
|
getLatestObs: jest.fn().mockImplementation(() => Promise.resolve({ valueNumeric: 60 })),
|
135
|
-
saveEncounter: jest.fn(),
|
136
|
+
saveEncounter: jest.fn().mockImplementation(() => Promise.resolve(mockSaveEncounter)),
|
136
137
|
createProgramEnrollment: jest.fn(),
|
137
138
|
};
|
138
139
|
});
|
@@ -357,7 +358,7 @@ describe('Form engine component', () => {
|
|
357
358
|
await act(async () => {
|
358
359
|
renderForm(null, requiredTestForm);
|
359
360
|
});
|
360
|
-
|
361
|
+
|
361
362
|
await user.click(screen.getByRole('button', { name: /save/i }));
|
362
363
|
|
363
364
|
const labels = screen.getAllByText(/Text question/i);
|
@@ -456,7 +457,7 @@ describe('Form engine component', () => {
|
|
456
457
|
expect(selectErrorMessage).toBeInTheDocument();
|
457
458
|
|
458
459
|
// Validate multi-select field
|
459
|
-
const multiSelectInputField = screen.
|
460
|
+
const multiSelectInputField = screen.getByText('If Unscheduled, actual scheduled reason multi-select', { exact: true });
|
460
461
|
expect(multiSelectInputField).toBeInTheDocument();
|
461
462
|
const multiSelectErrorMessage = screen.getByText(
|
462
463
|
'Patient visit marked as unscheduled. Please provide the scheduled multi-select reason.',
|
@@ -559,41 +560,6 @@ describe('Form engine component', () => {
|
|
559
560
|
|
560
561
|
it('should test post submission actions', async () => {
|
561
562
|
const saveEncounterMock = jest.spyOn(api, 'saveEncounter');
|
562
|
-
saveEncounterMock.mockResolvedValue({
|
563
|
-
headers: null,
|
564
|
-
ok: true,
|
565
|
-
redirected: false,
|
566
|
-
status: 200,
|
567
|
-
statusText: 'ok',
|
568
|
-
type: 'default',
|
569
|
-
url: '',
|
570
|
-
clone: null,
|
571
|
-
body: null,
|
572
|
-
bodyUsed: null,
|
573
|
-
arrayBuffer: null,
|
574
|
-
blob: null,
|
575
|
-
formData: null,
|
576
|
-
json: null,
|
577
|
-
text: jest.fn(),
|
578
|
-
data: [
|
579
|
-
{
|
580
|
-
uuid: '47cfe95b-357a-48f8-aa70-63eb5ae51916',
|
581
|
-
obs: [
|
582
|
-
{
|
583
|
-
formFieldPath: 'rfe-forms-tbProgramType',
|
584
|
-
value: {
|
585
|
-
display: 'Tuberculosis treatment program',
|
586
|
-
uuid: '160541AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
|
587
|
-
},
|
588
|
-
},
|
589
|
-
{
|
590
|
-
formFieldPath: 'rfe-forms-tbRegDate',
|
591
|
-
value: '2023-12-05T00:00:00.000+0000',
|
592
|
-
},
|
593
|
-
],
|
594
|
-
},
|
595
|
-
],
|
596
|
-
});
|
597
563
|
|
598
564
|
await act(async () => renderForm(null, postSubmissionTestForm));
|
599
565
|
|