@openmrs/esm-form-engine-lib 3.1.4-pre.1772 → 3.1.4-pre.1777
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
|
|
1
|
-
var _openmrs_esm_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(262),t.e(469),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 j(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,j),t.loaded=!0,t.exports}j.m=_,j.c=P,j.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return j.d(r,{a:r}),r},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,j.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);j.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,j.d(o,i),o},j.d=(e,r)=>{for(var t in r)j.o(r,t)&&!j.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},j.f={},j.e=e=>Promise.all(Object.keys(j.f).reduce(((r,t)=>(j.f[t](e,r),r)),[])),j.u=e=>e+".js",j.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),j.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},n="@openmrs/esm-form-engine-lib:",j.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,j.nc&&a.setAttribute("nonce",j.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)}},j.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},j.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),j.j=719,(()=>{j.S={};var e={},r={};j.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];j.o(j.S,t)||(j.S[t]={});var i=j.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.2.1-pre.2843",(()=>Promise.all([j.e(151),j.e(72),j.e(766)]).then((()=>()=>j(5151))))),l("@openmrs/esm-patient-common-lib","9.2.3-pre.7233",(()=>Promise.all([j.e(262),j.e(522),j.e(72),j.e(465),j.e(299),j.e(499)]).then((()=>()=>j(9522))))),l("dayjs","1.11.13",(()=>j.e(353).then((()=>()=>j(6734))))),l("i18next","23.16.0",(()=>j.e(635).then((()=>()=>j(2635))))),l("react-i18next","11.18.6",(()=>Promise.all([j.e(184),j.e(72)]).then((()=>()=>j(4422))))),l("react","18.3.1",(()=>j.e(540).then((()=>()=>j(6540))))),l("swr/_internal","2.2.5",(()=>Promise.all([j.e(993),j.e(72)]).then((()=>()=>j(4993))))),l("swr/immutable","2.2.5",(()=>Promise.all([j.e(72),j.e(465),j.e(225)]).then((()=>()=>j(4225))))),l("swr/infinite","2.2.5",(()=>Promise.all([j.e(72),j.e(465),j.e(422)]).then((()=>()=>j(3041)))))),e[t]=s.length?Promise.all(s).then((()=>e[t]=1)):1}}})(),(()=>{var e;j.g.importScripts&&(e=j.g.location+"");var r=j.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(/\/[^\/]+$/,"/"),j.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&&j.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=j.I(r);return a&&a.then&&!n?a.then(e.bind(e,r,j.S[r],t,!1,o,i)):e(r,j.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],(()=>j.e(540).then((()=>()=>j(6540))))),6766:()=>v("default","i18next",!1,[1,23],(()=>j.e(635).then((()=>()=>j(2635))))),8465:()=>v("default","swr/_internal",!1,[1,2],(()=>j.e(993).then((()=>()=>j(4993))))),2731:()=>v("default","@openmrs/esm-patient-common-lib",!1,[1,9],(()=>j.e(522).then((()=>()=>j(9522))))),3941:()=>v("default","react-i18next",!1,[1,11],(()=>j.e(184).then((()=>()=>j(4422))))),9197:()=>v("default","@openmrs/esm-framework",!1,[1,6],(()=>Promise.all([j.e(151),j.e(766)]).then((()=>()=>j(5151))))),4209:()=>v("default","swr/immutable",!1,[1,2],(()=>j.e(606).then((()=>()=>j(4225))))),231:()=>v("default","dayjs",!1,[1,1],(()=>j.e(353).then((()=>()=>j(6734))))),6339:()=>v("default","swr/infinite",!1,[1,2],(()=>j.e(41).then((()=>()=>j(3041)))))},y={72:[6072],299:[2731,3941,9197],465:[8465],499:[4209],766:[6766],929:[231,4209,6339]},w={},j.f.consumes=(e,r)=>{j.o(y,e)&&y[e].forEach((e=>{if(j.o(g,e))return r.push(g[e]);if(!w[e]){var t=r=>{g[e]=0,j.m[e]=t=>{delete j.c[e],t.exports=r()}};w[e]=!0;var n=r=>{delete g[e],j.m[e]=t=>{throw delete j.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};j.f.j=(r,t)=>{var n=j.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=j.p+j.u(r),a=new Error;j.l(i,(t=>{if(j.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)j.o(a,n)&&(j.m[n]=a[n]);l&&l(j)}for(r&&r(t);s<i.length;s++)o=i[s],j.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))})(),j.nc=void 0;var S=j(8008);_openmrs_esm_form_engine_lib=S})();
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@openmrs/esm-form-engine-lib",
|
3
|
-
"version": "3.1.4-pre.
|
3
|
+
"version": "3.1.4-pre.1777",
|
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": "1.
|
32
|
+
"@carbon/react": "^1.76.0",
|
33
33
|
"classnames": "^2.5.1",
|
34
34
|
"lodash-es": "^4.17.21",
|
35
35
|
"react-error-boundary": "^4.0.13",
|
@@ -3,12 +3,12 @@ import { useTranslation } from 'react-i18next';
|
|
3
3
|
import { Dropdown as DropdownInput, Layer } from '@carbon/react';
|
4
4
|
import { shouldUseInlineLayout } from '../../../utils/form-helper';
|
5
5
|
import { isTrue } from '../../../utils/boolean-utils';
|
6
|
+
import { isEmpty } from '../../../validators/form-validator';
|
7
|
+
import { NullSelectOption } from '../../../constants';
|
6
8
|
import { type FormFieldInputProps } from '../../../types';
|
9
|
+
import { useFormProviderContext } from '../../../provider/form-provider';
|
7
10
|
import FieldValueView from '../../value/view/field-value-view.component';
|
8
11
|
import FieldLabel from '../../field-label/field-label.component';
|
9
|
-
import { useFormProviderContext } from '../../../provider/form-provider';
|
10
|
-
import { NullSelectOption } from '../../../constants';
|
11
|
-
import { isEmpty } from '../../../validators/form-validator';
|
12
12
|
import styles from './dropdown.scss';
|
13
13
|
|
14
14
|
const Dropdown: React.FC<FormFieldInputProps> = ({ field, value, errors, warnings, setFieldValue }) => {
|
@@ -62,16 +62,17 @@ const Dropdown: React.FC<FormFieldInputProps> = ({ field, value, errors, warning
|
|
62
62
|
<div className={styles.boldedLabel}>
|
63
63
|
<Layer>
|
64
64
|
<DropdownInput
|
65
|
+
aria-label={t(field.label)}
|
66
|
+
disabled={field.isDisabled}
|
65
67
|
id={field.id}
|
66
|
-
|
68
|
+
invalid={errors.length > 0}
|
69
|
+
invalidText={errors[0]?.message}
|
67
70
|
items={items}
|
68
71
|
itemToString={itemToString}
|
69
|
-
selectedItem={isEmpty(value) ? NullSelectOption : value}
|
70
72
|
onChange={handleChange}
|
71
|
-
disabled={field.isDisabled}
|
72
73
|
readOnly={isTrue(field.readonly)}
|
73
|
-
|
74
|
-
|
74
|
+
selectedItem={isEmpty(value) ? NullSelectOption : value}
|
75
|
+
titleText={<FieldLabel field={field} />}
|
75
76
|
warn={warnings.length > 0}
|
76
77
|
warnText={warnings[0]?.message}
|
77
78
|
/>
|
package/src/form-engine.test.tsx
CHANGED
@@ -248,7 +248,7 @@ describe('Form engine component', () => {
|
|
248
248
|
|
249
249
|
await assertFormHasAllFields(screen, [
|
250
250
|
{ fieldName: 'When was the HIV test conducted? *', fieldType: 'date' },
|
251
|
-
{ fieldName: 'Community service delivery point
|
251
|
+
{ fieldName: 'Community service delivery point', fieldType: 'select' },
|
252
252
|
]);
|
253
253
|
|
254
254
|
try {
|
@@ -408,7 +408,7 @@ describe('Form engine component', () => {
|
|
408
408
|
{ fieldName: 'If Unscheduled, actual number scheduled date *', fieldType: 'number' },
|
409
409
|
{ fieldName: 'If Unscheduled, actual text area scheduled date *', fieldType: 'textarea' },
|
410
410
|
{ fieldName: 'Not required actual text area scheduled date', fieldType: 'textarea' },
|
411
|
-
{ fieldName: 'If Unscheduled, actual scheduled reason select
|
411
|
+
{ fieldName: 'If Unscheduled, actual scheduled reason select', fieldType: 'select' },
|
412
412
|
{ fieldName: 'If Unscheduled, actual scheduled reason multi-select *', fieldType: 'checkbox-searchable' },
|
413
413
|
{ fieldName: 'If Unscheduled, actual scheduled reason radio *', fieldType: 'radio' },
|
414
414
|
]);
|
@@ -703,6 +703,17 @@ describe('Form engine component', () => {
|
|
703
703
|
});
|
704
704
|
|
705
705
|
describe('Default values', () => {
|
706
|
+
let originalConsoleError;
|
707
|
+
|
708
|
+
beforeEach(() => {
|
709
|
+
originalConsoleError = console.error;
|
710
|
+
console.error = jest.fn();
|
711
|
+
});
|
712
|
+
|
713
|
+
afterEach(() => {
|
714
|
+
console.error = originalConsoleError;
|
715
|
+
});
|
716
|
+
|
706
717
|
it('should initialize fields with default values', async () => {
|
707
718
|
const saveEncounterMock = jest.spyOn(api, 'saveEncounter');
|
708
719
|
|