diff --git a/src/components/inputs/date/date.component.tsx b/src/components/inputs/date/date.component.tsx index 6304ba9d0..0028a68d0 100644 --- a/src/components/inputs/date/date.component.tsx +++ b/src/components/inputs/date/date.component.tsx @@ -118,6 +118,7 @@ const DateField: React.FC = ({ field, value: dateValue, err disabled={field.datePickerFormat === 'timer' ? field.isDisabled : !dateValue ? true : false} invalid={errors.length > 0} invalidText={errors[0]?.message} + readOnly={isTrue(field.readonly)} warning={warnings.length > 0} warningText={warnings[0]?.message} value={ diff --git a/src/components/inputs/multi-select/multi-select.component.tsx b/src/components/inputs/multi-select/multi-select.component.tsx index bd18605cd..e227c3308 100644 --- a/src/components/inputs/multi-select/multi-select.component.tsx +++ b/src/components/inputs/multi-select/multi-select.component.tsx @@ -25,6 +25,7 @@ const MultiSelect: React.FC = ({ field, value, errors, warn label: answer.label, key: index, disabled: answer.disable?.isDisabled, + readonly: isTrue(field.readonly), })); const initiallySelectedQuestionItems = useMemo(() => { @@ -110,10 +111,10 @@ const MultiSelect: React.FC = ({ field, value, errors, warn invalidText={errors[0]?.message} warn={warnings.length > 0} warnText={warnings[0]?.message} - readOnly={field.readonly} + readOnly={isTrue(field.readonly)} /> ) : ( - + {field.questionOptions.answers?.map((value, index) => { return ( = ({ field, value, errors, warn checked={initiallyCheckedQuestionItems.some((item) => item === value.concept)} onBlur={onblur} disabled={value.disable?.isDisabled} + readOnly={isTrue(field.readonly)} /> ); })} diff --git a/src/components/inputs/number/number.component.tsx b/src/components/inputs/number/number.component.tsx index 9016b56f4..fc5380e25 100644 --- a/src/components/inputs/number/number.component.tsx +++ b/src/components/inputs/number/number.component.tsx @@ -65,7 +65,7 @@ const NumberField: React.FC = ({ field, value, errors, warn hideSteppers={true} onWheel={(e) => e.target.blur()} disabled={field.isDisabled} - readOnly={field.readonly} + readOnly={isTrue(field.readonly)} className={classNames(styles.controlWidthConstrained, styles.boldedLabel)} warn={warnings.length > 0} warnText={warnings[0]?.message} diff --git a/src/components/inputs/radio/radio.component.tsx b/src/components/inputs/radio/radio.component.tsx index cadfb6605..c0a4877cd 100644 --- a/src/components/inputs/radio/radio.component.tsx +++ b/src/components/inputs/radio/radio.component.tsx @@ -42,6 +42,7 @@ const Radio: React.FC = ({ field, value, errors, warnings, name={field.id} valueSelected={value} onChange={handleChange} + readOnly={isTrue(field.readonly)} orientation={field.questionOptions?.orientation || 'vertical'}> {field.questionOptions.answers .filter((answer) => !answer.isHidden) diff --git a/src/components/inputs/select/dropdown.component.tsx b/src/components/inputs/select/dropdown.component.tsx index aa10e917d..a88703bd9 100644 --- a/src/components/inputs/select/dropdown.component.tsx +++ b/src/components/inputs/select/dropdown.component.tsx @@ -69,7 +69,7 @@ const Dropdown: React.FC = ({ field, value, errors, warning selectedItem={isEmpty(value) ? NullSelectOption : value} onChange={handleChange} disabled={field.isDisabled} - readOnly={field.readonly} + readOnly={isTrue(field.readonly)} invalid={errors.length > 0} invalidText={errors[0]?.message} warn={warnings.length > 0} diff --git a/src/components/inputs/text-area/text-area.component.tsx b/src/components/inputs/text-area/text-area.component.tsx index 8a8261823..07269c9cc 100644 --- a/src/components/inputs/text-area/text-area.component.tsx +++ b/src/components/inputs/text-area/text-area.component.tsx @@ -48,7 +48,7 @@ const TextArea: React.FC = ({ field, value, errors, warning value={value || ''} rows={field.questionOptions.rows || 4} disabled={field.isDisabled} - readOnly={field.readonly} + readOnly={isTrue(field.readonly)} invalid={errors.length > 0} invalidText={errors[0]?.message} warn={warnings.length > 0} diff --git a/src/components/inputs/toggle/toggle.component.tsx b/src/components/inputs/toggle/toggle.component.tsx index 8f387eed7..ac2fd96d1 100644 --- a/src/components/inputs/toggle/toggle.component.tsx +++ b/src/components/inputs/toggle/toggle.component.tsx @@ -56,7 +56,7 @@ const Toggle: React.FC = ({ field, value, errors, warnings, onToggle={handleChange} toggled={!!value} disabled={field.isDisabled} - readOnly={field.readonly} + readOnly={isTrue(field.readonly)} /> ) diff --git a/src/components/inputs/ui-select-extended/ui-select-extended.component.tsx b/src/components/inputs/ui-select-extended/ui-select-extended.component.tsx index 330ab9764..36a48c2a2 100644 --- a/src/components/inputs/ui-select-extended/ui-select-extended.component.tsx +++ b/src/components/inputs/ui-select-extended/ui-select-extended.component.tsx @@ -154,7 +154,7 @@ const UiSelectExtended: React.FC = ({ field, errors, warnin setFieldValue(selectedItem?.uuid); }} disabled={field.isDisabled} - readOnly={field.readonly} + readOnly={isTrue(field.readonly)} invalid={errors.length > 0} invalidText={errors.length && errors[0].message} onInputChange={(value) => { diff --git a/src/components/inputs/workspace-launcher/workspace-launcher.component.tsx b/src/components/inputs/workspace-launcher/workspace-launcher.component.tsx index 3ed38b7a8..65ec30cd5 100644 --- a/src/components/inputs/workspace-launcher/workspace-launcher.component.tsx +++ b/src/components/inputs/workspace-launcher/workspace-launcher.component.tsx @@ -4,6 +4,7 @@ import { showSnackbar } from '@openmrs/esm-framework'; import { useLaunchWorkspaceRequiringVisit } from '@openmrs/esm-patient-common-lib'; import { Button } from '@carbon/react'; import { type FormFieldInputProps } from '../../../types'; +import { isTrue } from '../../../utils/boolean-utils'; import styles from './workspace-launcher.scss'; const WorkspaceLauncher: React.FC = ({ field }) => { @@ -27,7 +28,7 @@ const WorkspaceLauncher: React.FC = ({ field }) => {
{t(field.label)}
- +
)