@aehrc/smart-forms-renderer 0.16.3 → 0.17.0
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/lib/components/FormComponents/AttachmentItem/AttachmentFieldWrapper.js +3 -1
- package/lib/components/FormComponents/AttachmentItem/AttachmentFieldWrapper.js.map +1 -1
- package/lib/components/FormComponents/BooleanItem/BooleanItem.js +3 -1
- package/lib/components/FormComponents/BooleanItem/BooleanItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js +3 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js +3 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js +3 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js +3 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js +3 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js +3 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js +3 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/CustomDateItem/CustomDateItem.js +3 -1
- package/lib/components/FormComponents/CustomDateItem/CustomDateItem.js.map +1 -1
- package/lib/components/FormComponents/DateTimeItem/DateTimeItem.js +3 -1
- package/lib/components/FormComponents/DateTimeItem/DateTimeItem.js.map +1 -1
- package/lib/components/FormComponents/DecimalItem/DecimalItem.js +3 -1
- package/lib/components/FormComponents/DecimalItem/DecimalItem.js.map +1 -1
- package/lib/components/FormComponents/DisplayItem/DisplayItem.js +3 -1
- package/lib/components/FormComponents/DisplayItem/DisplayItem.js.map +1 -1
- package/lib/components/FormComponents/GridGroup/GridGroup.js +3 -1
- package/lib/components/FormComponents/GridGroup/GridGroup.js.map +1 -1
- package/lib/components/FormComponents/IntegerItem/IntegerItem.js +3 -1
- package/lib/components/FormComponents/IntegerItem/IntegerItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js +3 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js +3 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js +3 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.js +3 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js +3 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/RepeatItem/RepeatItem.js +3 -1
- package/lib/components/FormComponents/RepeatItem/RepeatItem.js.map +1 -1
- package/lib/components/FormComponents/SliderItem/SliderItem.js +3 -1
- package/lib/components/FormComponents/SliderItem/SliderItem.js.map +1 -1
- package/lib/components/FormComponents/StringItem/StringItem.js +3 -1
- package/lib/components/FormComponents/StringItem/StringItem.js.map +1 -1
- package/lib/components/FormComponents/Tables/GroupTableView.js +3 -1
- package/lib/components/FormComponents/Tables/GroupTableView.js.map +1 -1
- package/lib/components/FormComponents/TextItem/TextItem.js +3 -1
- package/lib/components/FormComponents/TextItem/TextItem.js.map +1 -1
- package/lib/components/FormComponents/TimeItem/TimeItem.js +3 -1
- package/lib/components/FormComponents/TimeItem/TimeItem.js.map +1 -1
- package/lib/components/FormComponents/UrlItem/UrlItem.js +3 -1
- package/lib/components/FormComponents/UrlItem/UrlItem.js.map +1 -1
- package/lib/stores/questionnaireStore.d.ts +4 -0
- package/lib/stores/questionnaireStore.js +5 -1
- package/lib/stores/questionnaireStore.js.map +1 -1
- package/package.json +1 -1
- package/src/components/FormComponents/AttachmentItem/AttachmentFieldWrapper.tsx +7 -1
- package/src/components/FormComponents/BooleanItem/BooleanItem.tsx +7 -1
- package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.tsx +5 -1
- package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.tsx +5 -1
- package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.tsx +5 -1
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx +5 -1
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.tsx +5 -1
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.tsx +5 -1
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.tsx +5 -1
- package/src/components/FormComponents/CustomDateItem/CustomDateItem.tsx +7 -1
- package/src/components/FormComponents/DateTimeItem/DateTimeItem.tsx +7 -1
- package/src/components/FormComponents/DecimalItem/DecimalItem.tsx +7 -1
- package/src/components/FormComponents/DisplayItem/DisplayItem.tsx +7 -1
- package/src/components/FormComponents/GridGroup/GridGroup.tsx +5 -1
- package/src/components/FormComponents/IntegerItem/IntegerItem.tsx +7 -1
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.tsx +5 -1
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.tsx +5 -1
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.tsx +5 -1
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.tsx +5 -1
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.tsx +5 -1
- package/src/components/FormComponents/RepeatItem/RepeatItem.tsx +7 -1
- package/src/components/FormComponents/SliderItem/SliderItem.tsx +7 -1
- package/src/components/FormComponents/StringItem/StringItem.tsx +7 -1
- package/src/components/FormComponents/Tables/GroupTableView.tsx +5 -1
- package/src/components/FormComponents/TextItem/TextItem.tsx +7 -1
- package/src/components/FormComponents/TimeItem/TimeItem.tsx +7 -1
- package/src/components/FormComponents/UrlItem/UrlItem.tsx +7 -1
- package/src/stores/questionnaireStore.ts +8 -1
|
@@ -32,6 +32,7 @@ import { FullWidthFormComponentBox } from '../../Box.styles';
|
|
|
32
32
|
import UrlField from './UrlField';
|
|
33
33
|
import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
|
|
34
34
|
import useReadOnly from '../../../hooks/useReadOnly';
|
|
35
|
+
import { useQuestionnaireStore } from '../../../stores';
|
|
35
36
|
|
|
36
37
|
interface UrlItemProps
|
|
37
38
|
extends PropsWithQrItemChangeHandler,
|
|
@@ -44,6 +45,8 @@ interface UrlItemProps
|
|
|
44
45
|
function UrlItem(props: UrlItemProps) {
|
|
45
46
|
const { qItem, qrItem, isRepeated, isTabled, parentIsReadOnly, onQrItemChange } = props;
|
|
46
47
|
|
|
48
|
+
const onFocusLinkId = useQuestionnaireStore.use.onFocusLinkId();
|
|
49
|
+
|
|
47
50
|
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
48
51
|
const { displayUnit, displayPrompt, entryFormat, regexValidation, minLength, maxLength } =
|
|
49
52
|
useRenderingExtensions(qItem);
|
|
@@ -93,7 +96,10 @@ function UrlItem(props: UrlItemProps) {
|
|
|
93
96
|
);
|
|
94
97
|
}
|
|
95
98
|
return (
|
|
96
|
-
<FullWidthFormComponentBox
|
|
99
|
+
<FullWidthFormComponentBox
|
|
100
|
+
data-test="q-item-string-box"
|
|
101
|
+
data-linkid={qItem.linkId}
|
|
102
|
+
onClick={() => onFocusLinkId(qItem.linkId)}>
|
|
97
103
|
<ItemFieldGrid qItem={qItem} readOnly={readOnly}>
|
|
98
104
|
<UrlField
|
|
99
105
|
linkId={qItem.linkId}
|
|
@@ -58,6 +58,7 @@ interface QuestionnaireStoreType {
|
|
|
58
58
|
processedValueSetUrls: Record<string, string>;
|
|
59
59
|
cachedValueSetCodings: Record<string, Coding[]>;
|
|
60
60
|
fhirPathContext: Record<string, any>;
|
|
61
|
+
focusedLinkId: string;
|
|
61
62
|
readOnly: boolean;
|
|
62
63
|
buildSourceQuestionnaire: (
|
|
63
64
|
questionnaire: Questionnaire,
|
|
@@ -77,6 +78,7 @@ interface QuestionnaireStoreType {
|
|
|
77
78
|
populatedResponse: QuestionnaireResponse,
|
|
78
79
|
persistTabIndex?: boolean
|
|
79
80
|
) => QuestionnaireResponse;
|
|
81
|
+
onFocusLinkId: (linkId: string) => void;
|
|
80
82
|
}
|
|
81
83
|
|
|
82
84
|
export const questionnaireStore = createStore<QuestionnaireStoreType>()((set, get) => ({
|
|
@@ -96,6 +98,7 @@ export const questionnaireStore = createStore<QuestionnaireStoreType>()((set, ge
|
|
|
96
98
|
processedValueSetUrls: {},
|
|
97
99
|
cachedValueSetCodings: {},
|
|
98
100
|
fhirPathContext: {},
|
|
101
|
+
focusedLinkId: '',
|
|
99
102
|
readOnly: false,
|
|
100
103
|
buildSourceQuestionnaire: async (
|
|
101
104
|
questionnaire,
|
|
@@ -269,7 +272,11 @@ export const questionnaireStore = createStore<QuestionnaireStoreType>()((set, ge
|
|
|
269
272
|
}));
|
|
270
273
|
|
|
271
274
|
return updatedResponse;
|
|
272
|
-
}
|
|
275
|
+
},
|
|
276
|
+
onFocusLinkId: (linkId: string) =>
|
|
277
|
+
set(() => ({
|
|
278
|
+
focusedLinkId: linkId
|
|
279
|
+
}))
|
|
273
280
|
}));
|
|
274
281
|
|
|
275
282
|
export const useQuestionnaireStore = createSelectors(questionnaireStore);
|