Skip to content

Commit ed07171

Browse files
committed
code review
1 parent cf23597 commit ed07171

File tree

3 files changed

+9
-16
lines changed

3 files changed

+9
-16
lines changed

src/components/interactive-builder/modals/question/question-form/question/question.component.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,9 @@ const Question: React.FC<QuestionProps> = ({ checkIfQuestionIdExists }) => {
9797
{!formField.questionOptions?.rendering && (
9898
<SelectItem text={t('chooseRenderingType', 'Choose a rendering type')} value="" />
9999
)}
100-
{formField.type && formField.type !== 'obs' && questionTypes.includes(formField.type)
100+
{formField.type &&
101+
formField.type !== 'obs' &&
102+
questionTypes.includes(formField.type as keyof typeof renderTypeOptions)
101103
? renderTypeOptions[formField?.type].map((type, key) => (
102104
<SelectItem key={`${type}-${key}`} text={type} value={type} />
103105
))

src/constants.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ export const questionTypes = [
1111
'patientIdentifier',
1212
'testOrder',
1313
'programState',
14-
];
14+
] as const;
15+
16+
export type QuestionType = (typeof questionTypes)[number];
1517

1618
export const renderingTypes: Array<RenderType> = [
1719
'checkbox',
@@ -41,7 +43,7 @@ export const renderingTypes: Array<RenderType> = [
4143
'select-concept-answers',
4244
];
4345

44-
export const renderTypeOptions: Record<string, Array<RenderType>> = {
46+
export const renderTypeOptions: Record<Exclude<QuestionType, 'obs'>, Array<RenderType>> = {
4547
control: ['text', 'markdown'],
4648
encounterDatetime: ['date', 'datetime'],
4749
encounterLocation: ['ui-select-extended'],

src/types.ts

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import type {
88
RequiredFieldProps,
99
} from '@openmrs/esm-form-engine-lib';
1010
import type { AuditInfo } from './components/audit-details/audit-details.component';
11+
import type { questionTypes } from '@constants';
1112

1213
export interface Form {
1314
uuid: string;
@@ -44,19 +45,7 @@ export interface Resource {
4445
valueReference: string;
4546
}
4647

47-
export type QuestionType =
48-
| 'complex-obs'
49-
| 'control'
50-
| 'encounterDatetime'
51-
| 'encounterLocation'
52-
| 'encounterProvider'
53-
| 'encounterRole'
54-
| 'obs'
55-
| 'obsGroup'
56-
| 'patientIdentifier'
57-
| 'personAttribute'
58-
| 'testOrder'
59-
| 'programState';
48+
export type QuestionType = (typeof questionTypes)[number];
6049

6150
export type DatePickerType = 'both' | 'calendar' | 'timer';
6251

0 commit comments

Comments
 (0)