@aehrc/smart-forms-renderer 0.6.1 → 0.6.3
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/README.md +59 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/package.json +15 -4
- package/src/index.ts +1 -1
- package/lib/api/populate.d.ts +0 -8
- package/lib/api/populate.js +0 -63
- package/lib/api/populate.js.map +0 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadio.d.ts +0 -8
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadio.js +0 -25
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadio.js.map +0 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioButton.d.ts +0 -8
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioButton.js +0 -25
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioButton.js.map +0 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingleItem.d.ts +0 -8
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingleItem.js +0 -25
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingleItem.js.map +0 -1
- package/lib/components/FormComponents/ChoiceItems/QItemChoice.d.ts +0 -9
- package/lib/components/FormComponents/ChoiceItems/QItemChoice.js +0 -61
- package/lib/components/FormComponents/ChoiceItems/QItemChoice.js.map +0 -1
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceAutocomplete.d.ts +0 -9
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceAutocomplete.js +0 -89
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceAutocomplete.js.map +0 -1
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceCheckboxAnswerOption.d.ts +0 -11
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceCheckboxAnswerOption.js +0 -70
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceCheckboxAnswerOption.js.map +0 -1
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceCheckboxAnswerValueSet.d.ts +0 -11
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceCheckboxAnswerValueSet.js +0 -67
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceCheckboxAnswerValueSet.js.map +0 -1
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioAnswerOption.d.ts +0 -11
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioAnswerOption.js +0 -70
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioAnswerOption.js.map +0 -1
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioAnswerValueSet.d.ts +0 -11
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioAnswerValueSet.js +0 -72
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioAnswerValueSet.js.map +0 -1
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioSingle.d.ts +0 -8
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioSingle.js +0 -25
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioSingle.js.map +0 -1
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceSelectAnswerOption.d.ts +0 -9
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceSelectAnswerOption.js +0 -73
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceSelectAnswerOption.js.map +0 -1
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceSelectAnswerValueSet.d.ts +0 -9
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceSelectAnswerValueSet.js +0 -82
- package/lib/components/FormComponents/ChoiceItems/QItemChoiceSelectAnswerValueSet.js.map +0 -1
- package/lib/components/FormComponents/ItemParts/CheckboxWithOpenLabel.d.ts +0 -10
- package/lib/components/FormComponents/ItemParts/CheckboxWithOpenLabel.js +0 -35
- package/lib/components/FormComponents/ItemParts/CheckboxWithOpenLabel.js.map +0 -1
- package/lib/components/FormComponents/ItemParts/QItemCheckboxSingle.d.ts +0 -10
- package/lib/components/FormComponents/ItemParts/QItemCheckboxSingle.js +0 -25
- package/lib/components/FormComponents/ItemParts/QItemCheckboxSingle.js.map +0 -1
- package/lib/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.d.ts +0 -10
- package/lib/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.js +0 -35
- package/lib/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.js.map +0 -1
- package/lib/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.d.ts +0 -10
- package/lib/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.js +0 -31
- package/lib/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.js.map +0 -1
- package/lib/components/FormComponents/ItemParts/RadioButtonItemWithOpenLabel.d.ts +0 -10
- package/lib/components/FormComponents/ItemParts/RadioButtonItemWithOpenLabel.js +0 -31
- package/lib/components/FormComponents/ItemParts/RadioButtonItemWithOpenLabel.js.map +0 -1
- package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoice.d.ts +0 -9
- package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoice.js +0 -49
- package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoice.js.map +0 -1
- package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceAutocomplete.d.ts +0 -9
- package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceAutocomplete.js +0 -109
- package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceAutocomplete.js.map +0 -1
- package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceCheckboxAnswerOption.d.ts +0 -11
- package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceCheckboxAnswerOption.js +0 -105
- package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceCheckboxAnswerOption.js.map +0 -1
- package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceRadioAnswerOption.d.ts +0 -11
- package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceRadioAnswerOption.js +0 -116
- package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceRadioAnswerOption.js.map +0 -1
- package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceSelectAnswerOption.d.ts +0 -9
- package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceSelectAnswerOption.js +0 -75
- package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceSelectAnswerOption.js.map +0 -1
- package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceSelectAnswerValueSet.d.ts +0 -9
- package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceSelectAnswerValueSet.js +0 -68
- package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceSelectAnswerValueSet.js.map +0 -1
- package/lib/components/FormComponents/QItemChoice/QItemChoice.d.ts +0 -9
- package/lib/components/FormComponents/QItemChoice/QItemChoice.js +0 -61
- package/lib/components/FormComponents/QItemChoice/QItemChoice.js.map +0 -1
- package/lib/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.d.ts +0 -9
- package/lib/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.js +0 -89
- package/lib/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.js.map +0 -1
- package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.d.ts +0 -11
- package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.js +0 -70
- package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.js.map +0 -1
- package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.d.ts +0 -11
- package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.js +0 -67
- package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.js.map +0 -1
- package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.d.ts +0 -11
- package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.js +0 -70
- package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.js.map +0 -1
- package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.d.ts +0 -11
- package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.js +0 -72
- package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.js.map +0 -1
- package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.d.ts +0 -8
- package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.js +0 -25
- package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.js.map +0 -1
- package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.d.ts +0 -9
- package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.js +0 -73
- package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.js.map +0 -1
- package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.d.ts +0 -9
- package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.js +0 -82
- package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.js.map +0 -1
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoice.d.ts +0 -9
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoice.js +0 -49
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoice.js.map +0 -1
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.d.ts +0 -9
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.js +0 -109
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.js.map +0 -1
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.d.ts +0 -11
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.js +0 -105
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.js.map +0 -1
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.d.ts +0 -11
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.js +0 -116
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.js.map +0 -1
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.d.ts +0 -9
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.js +0 -75
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.js.map +0 -1
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.d.ts +0 -9
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.js +0 -68
- package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.js.map +0 -1
- package/lib/components/FormRenderer/BaseRenderer.d.ts +0 -3
- package/lib/components/FormRenderer/BaseRenderer.js +0 -54
- package/lib/components/FormRenderer/BaseRenderer.js.map +0 -1
- package/lib/components/FormRenderer/FormBodyCollapsible.d.ts +0 -9
- package/lib/components/FormRenderer/FormBodyCollapsible.js +0 -57
- package/lib/components/FormRenderer/FormBodyCollapsible.js.map +0 -1
- package/lib/components/FormRenderer/FormBodySingleCollapsible.d.ts +0 -12
- package/lib/components/FormRenderer/FormBodySingleCollapsible.js +0 -39
- package/lib/components/FormRenderer/FormBodySingleCollapsible.js.map +0 -1
- package/lib/components/FormRenderer/FormBodySingleCollapsibleWrapper.d.ts +0 -12
- package/lib/components/FormRenderer/FormBodySingleCollapsibleWrapper.js +0 -31
- package/lib/components/FormRenderer/FormBodySingleCollapsibleWrapper.js.map +0 -1
- package/lib/components/FormRenderer/FormBodyTabbed.d.ts +0 -9
- package/lib/components/FormRenderer/FormBodyTabbed.js +0 -60
- package/lib/components/FormRenderer/FormBodyTabbed.js.map +0 -1
- package/lib/components/FormRenderer/FormRenderer.d.ts +0 -3
- package/lib/components/FormRenderer/FormRenderer.js +0 -54
- package/lib/components/FormRenderer/FormRenderer.js.map +0 -1
- package/lib/components/FormRenderer/FormTitle.d.ts +0 -7
- package/lib/components/FormRenderer/FormTitle.js +0 -30
- package/lib/components/FormRenderer/FormTitle.js.map +0 -1
- package/lib/components/FormRenderer/FormTopLevelItem.d.ts +0 -9
- package/lib/components/FormRenderer/FormTopLevelItem.js +0 -45
- package/lib/components/FormRenderer/FormTopLevelItem.js.map +0 -1
- package/lib/components/FormRenderer/SmartFormsRenderer.d.ts +0 -9
- package/lib/components/FormRenderer/SmartFormsRenderer.js +0 -39
- package/lib/components/FormRenderer/SmartFormsRenderer.js.map +0 -1
- package/lib/components/FormRenderer/index.d.ts +0 -2
- package/lib/components/FormRenderer/index.js +0 -19
- package/lib/components/FormRenderer/index.js.map +0 -1
- package/lib/contexts/TestContext.d.ts +0 -11
- package/lib/contexts/TestContext.js +0 -32
- package/lib/contexts/TestContext.js.map +0 -1
- package/lib/contexts/index.d.ts +0 -1
- package/lib/contexts/index.js +0 -2
- package/lib/contexts/index.js.map +0 -1
- package/lib/hooks/useTestContext.d.ts +0 -5
- package/lib/hooks/useTestContext.js +0 -27
- package/lib/hooks/useTestContext.js.map +0 -1
- package/lib/stores/useConfigStore.d.ts +0 -18
- package/lib/stores/useConfigStore.js +0 -17
- package/lib/stores/useConfigStore.js.map +0 -1
- package/lib/stores/useSmartClientStore.d.ts +0 -7
- package/lib/stores/useSmartClientStore.js +0 -7
- package/lib/stores/useSmartClientStore.js.map +0 -1
- package/lib/theme/globalStyles.d.ts +0 -2
- package/lib/theme/globalStyles.js +0 -64
- package/lib/theme/globalStyles.js.map +0 -1
- package/lib/utils/populate.d.ts +0 -16
- package/lib/utils/populate.js +0 -78
- package/lib/utils/populate.js.map +0 -1
- package/lib/utils/populateCallback.d.ts +0 -6
- package/lib/utils/populateCallback.js +0 -40
- package/lib/utils/populateCallback.js.map +0 -1
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
interface Props {
|
|
3
|
-
value: string | null;
|
|
4
|
-
label: string;
|
|
5
|
-
isChecked: boolean;
|
|
6
|
-
onCheckedChange: (checked: boolean) => unknown;
|
|
7
|
-
onInputChange: (input: string) => unknown;
|
|
8
|
-
}
|
|
9
|
-
declare function QItemCheckboxSingleWithOpenLabel(props: Props): React.JSX.Element;
|
|
10
|
-
export default QItemCheckboxSingleWithOpenLabel;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2023 Commonwealth Scientific and Industrial Research
|
|
3
|
-
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import React from 'react';
|
|
18
|
-
import Box from '@mui/material/Box';
|
|
19
|
-
import Checkbox from '@mui/material/Checkbox';
|
|
20
|
-
import FormControlLabel from '@mui/material/FormControlLabel';
|
|
21
|
-
import { StandardTextField } from '../Textfield.styles';
|
|
22
|
-
function QItemCheckboxSingleWithOpenLabel(props) {
|
|
23
|
-
const { value, label, isChecked, onCheckedChange, onInputChange } = props;
|
|
24
|
-
function handleCheckedChange(event) {
|
|
25
|
-
onCheckedChange(event.target.checked);
|
|
26
|
-
}
|
|
27
|
-
function handleInputChange(event) {
|
|
28
|
-
onInputChange(event.target.value);
|
|
29
|
-
}
|
|
30
|
-
return (React.createElement(Box, { "data-test": "q-item-checkbox-open-label-box" },
|
|
31
|
-
React.createElement(FormControlLabel, { control: React.createElement(Checkbox, { size: "small", checked: isChecked, onChange: handleCheckedChange }), label: label + ':', sx: { mr: 3 } }),
|
|
32
|
-
React.createElement(StandardTextField, { disabled: !isChecked, value: value, onChange: handleInputChange, fullWidth: true, isTabled: false, size: "small", "data-test": "q-item-checkbox-open-label-field" })));
|
|
33
|
-
}
|
|
34
|
-
export default QItemCheckboxSingleWithOpenLabel;
|
|
35
|
-
//# sourceMappingURL=QItemCheckboxSingleWithOpenLabel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QItemCheckboxSingleWithOpenLabel.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAUxD,SAAS,gCAAgC,CAAC,KAAY;IACpD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAE1E,SAAS,mBAAmB,CAAC,KAAoC;QAC/D,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,SAAS,iBAAiB,CAAC,KAAoC;QAC7D,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,CACL,oBAAC,GAAG,iBAAW,gCAAgC;QAC7C,oBAAC,gBAAgB,IACf,OAAO,EAAE,oBAAC,QAAQ,IAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,mBAAmB,GAAI,EACrF,KAAK,EAAE,KAAK,GAAG,GAAG,EAClB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GACb;QACF,oBAAC,iBAAiB,IAChB,QAAQ,EAAE,CAAC,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,QACT,QAAQ,EAAE,KAAK,EACf,IAAI,EAAC,OAAO,eACF,kCAAkC,GAC5C,CACE,CACP,CAAC;AACJ,CAAC;AAED,eAAe,gCAAgC,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
interface Props {
|
|
3
|
-
value: string | null;
|
|
4
|
-
label: string;
|
|
5
|
-
readOnly: boolean;
|
|
6
|
-
isSelected: boolean;
|
|
7
|
-
onInputChange: (input: string) => unknown;
|
|
8
|
-
}
|
|
9
|
-
declare function QItemRadioButtonWithOpenLabel(props: Props): React.JSX.Element;
|
|
10
|
-
export default QItemRadioButtonWithOpenLabel;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2023 Commonwealth Scientific and Industrial Research
|
|
3
|
-
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import React from 'react';
|
|
18
|
-
import Box from '@mui/material/Box';
|
|
19
|
-
import { StandardTextField } from '../Textfield.styles';
|
|
20
|
-
import ChoiceRadioSingleItem from '../ChoiceItems/ChoiceRadioSingleItem';
|
|
21
|
-
function QItemRadioButtonWithOpenLabel(props) {
|
|
22
|
-
const { value, label, readOnly, isSelected, onInputChange } = props;
|
|
23
|
-
function handleInputChange(event) {
|
|
24
|
-
onInputChange(event.target.value);
|
|
25
|
-
}
|
|
26
|
-
return (React.createElement(Box, { "data-test": "q-item-radio-open-label-box" },
|
|
27
|
-
React.createElement(ChoiceRadioSingleItem, { value: value !== null && value !== void 0 ? value : '', label: label + ':', readOnly: readOnly }),
|
|
28
|
-
React.createElement(StandardTextField, { disabled: !isSelected, value: value, onChange: handleInputChange, fullWidth: true, isTabled: false, size: "small", "data-test": "q-item-radio-open-label-field" })));
|
|
29
|
-
}
|
|
30
|
-
export default QItemRadioButtonWithOpenLabel;
|
|
31
|
-
//# sourceMappingURL=QItemRadioButtonWithOpenLabel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QItemRadioButtonWithOpenLabel.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,qBAAqB,MAAM,sCAAsC,CAAC;AAUzE,SAAS,6BAA6B,CAAC,KAAY;IACjD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IACpE,SAAS,iBAAiB,CAAC,KAAoC;QAC7D,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,CACL,oBAAC,GAAG,iBAAW,6BAA6B;QAC1C,oBAAC,qBAAqB,IAAC,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAI;QACrF,oBAAC,iBAAiB,IAChB,QAAQ,EAAE,CAAC,UAAU,EACrB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,QACT,QAAQ,EAAE,KAAK,EACf,IAAI,EAAC,OAAO,eACF,+BAA+B,GACzC,CACE,CACP,CAAC;AACJ,CAAC;AAED,eAAe,6BAA6B,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
interface Props {
|
|
3
|
-
value: string | null;
|
|
4
|
-
label: string;
|
|
5
|
-
readOnly: boolean;
|
|
6
|
-
isSelected: boolean;
|
|
7
|
-
onInputChange: (input: string) => unknown;
|
|
8
|
-
}
|
|
9
|
-
declare function RadioButtonItemWithOpenLabel(props: Props): React.JSX.Element;
|
|
10
|
-
export default RadioButtonItemWithOpenLabel;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2023 Commonwealth Scientific and Industrial Research
|
|
3
|
-
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import React from 'react';
|
|
18
|
-
import Box from '@mui/material/Box';
|
|
19
|
-
import { StandardTextField } from '../Textfield.styles';
|
|
20
|
-
import ChoiceRadio from '../ChoiceItems/ChoiceRadio';
|
|
21
|
-
function RadioButtonItemWithOpenLabel(props) {
|
|
22
|
-
const { value, label, readOnly, isSelected, onInputChange } = props;
|
|
23
|
-
function handleInputChange(event) {
|
|
24
|
-
onInputChange(event.target.value);
|
|
25
|
-
}
|
|
26
|
-
return (React.createElement(Box, { "data-test": "q-item-radio-open-label-box" },
|
|
27
|
-
React.createElement(ChoiceRadio, { value: value !== null && value !== void 0 ? value : '', label: label + ':', readOnly: readOnly }),
|
|
28
|
-
React.createElement(StandardTextField, { disabled: !isSelected, value: value, onChange: handleInputChange, fullWidth: true, isTabled: false, size: "small", "data-test": "q-item-radio-open-label-field" })));
|
|
29
|
-
}
|
|
30
|
-
export default RadioButtonItemWithOpenLabel;
|
|
31
|
-
//# sourceMappingURL=RadioButtonItemWithOpenLabel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RadioButtonItemWithOpenLabel.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ItemParts/RadioButtonItemWithOpenLabel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AAUrD,SAAS,4BAA4B,CAAC,KAAY;IAChD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IACpE,SAAS,iBAAiB,CAAC,KAAoC;QAC7D,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,CACL,oBAAC,GAAG,iBAAW,6BAA6B;QAC1C,oBAAC,WAAW,IAAC,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAI;QAC3E,oBAAC,iBAAiB,IAChB,QAAQ,EAAE,CAAC,UAAU,EACrB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,QACT,QAAQ,EAAE,KAAK,EACf,IAAI,EAAC,OAAO,eACF,+BAA+B,GACzC,CACE,CACP,CAAC;AACJ,CAAC;AAED,eAAe,4BAA4B,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
3
|
-
import type { PropsWithIsRepeatedAttribute, PropsWithIsTabledAttribute, PropsWithQrItemChangeHandler } from '../../../interfaces/renderProps.interface';
|
|
4
|
-
interface Props extends PropsWithQrItemChangeHandler<QuestionnaireResponseItem>, PropsWithIsRepeatedAttribute, PropsWithIsTabledAttribute {
|
|
5
|
-
qItem: QuestionnaireItem;
|
|
6
|
-
qrItem: QuestionnaireResponseItem;
|
|
7
|
-
}
|
|
8
|
-
declare function QItemOpenChoice(props: Props): React.JSX.Element | null;
|
|
9
|
-
export default QItemOpenChoice;
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2023 Commonwealth Scientific and Industrial Research
|
|
3
|
-
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import React from 'react';
|
|
18
|
-
import { QItemOpenChoiceControl } from '../../../interfaces/choice.enum';
|
|
19
|
-
import QItemOpenChoiceSelectAnswerOption from './QItemOpenChoiceSelectAnswerOption';
|
|
20
|
-
import QItemOpenChoiceSelectAnswerValueSet from './QItemOpenChoiceSelectAnswerValueSet';
|
|
21
|
-
import QItemOpenChoiceAutocomplete from './QItemOpenChoiceAutocomplete';
|
|
22
|
-
import { getOpenChoiceControlType } from '../../../utils/openChoice';
|
|
23
|
-
import { getChoiceOrientation } from '../../../utils/choice';
|
|
24
|
-
import QItemOpenChoiceCheckboxAnswerOption from './QItemOpenChoiceCheckboxAnswerOption';
|
|
25
|
-
import QItemOpenChoiceRadioAnswerOption from './QItemOpenChoiceRadioAnswerOption';
|
|
26
|
-
function QItemOpenChoice(props) {
|
|
27
|
-
var _a, _b;
|
|
28
|
-
const { qItem, qrItem, isRepeated, isTabled, onQrItemChange } = props;
|
|
29
|
-
const orientation = getChoiceOrientation(qItem);
|
|
30
|
-
switch (getOpenChoiceControlType(qItem)) {
|
|
31
|
-
case QItemOpenChoiceControl.Checkbox:
|
|
32
|
-
return (React.createElement(QItemOpenChoiceCheckboxAnswerOption, { qItem: qItem, qrItem: qrItem, isRepeated: (_a = qItem['repeats']) !== null && _a !== void 0 ? _a : false, onQrItemChange: onQrItemChange, orientation: orientation }));
|
|
33
|
-
case QItemOpenChoiceControl.Radio:
|
|
34
|
-
return (React.createElement(QItemOpenChoiceRadioAnswerOption, { qItem: qItem, qrItem: qrItem, isRepeated: (_b = qItem['repeats']) !== null && _b !== void 0 ? _b : false, onQrItemChange: onQrItemChange, orientation: orientation }));
|
|
35
|
-
case QItemOpenChoiceControl.Autocomplete:
|
|
36
|
-
return (React.createElement(QItemOpenChoiceAutocomplete, { qItem: qItem, qrItem: qrItem, isRepeated: isRepeated, isTabled: isTabled, onQrItemChange: onQrItemChange }));
|
|
37
|
-
case QItemOpenChoiceControl.Select:
|
|
38
|
-
if (qItem.answerValueSet) {
|
|
39
|
-
return (React.createElement(QItemOpenChoiceSelectAnswerValueSet, { qItem: qItem, qrItem: qrItem, isRepeated: isRepeated, isTabled: isTabled, onQrItemChange: onQrItemChange }));
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
return (React.createElement(QItemOpenChoiceSelectAnswerOption, { qItem: qItem, qrItem: qrItem, isRepeated: isRepeated, isTabled: isTabled, onQrItemChange: onQrItemChange }));
|
|
43
|
-
}
|
|
44
|
-
default:
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
export default QItemOpenChoice;
|
|
49
|
-
//# sourceMappingURL=QItemOpenChoice.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QItemOpenChoice.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/OpenChoiceItems/QItemOpenChoice.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,iCAAiC,MAAM,qCAAqC,CAAC;AACpF,OAAO,mCAAmC,MAAM,uCAAuC,CAAC;AACxF,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,mCAAmC,MAAM,uCAAuC,CAAC;AACxF,OAAO,gCAAgC,MAAM,oCAAoC,CAAC;AAelF,SAAS,eAAe,CAAC,KAAY;;IACnC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IACtE,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAEhD,QAAQ,wBAAwB,CAAC,KAAK,CAAC,EAAE;QACvC,KAAK,sBAAsB,CAAC,QAAQ;YAClC,OAAO,CACL,oBAAC,mCAAmC,IAClC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAA,KAAK,CAAC,SAAS,CAAC,mCAAI,KAAK,EACrC,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,GACxB,CACH,CAAC;QACJ,KAAK,sBAAsB,CAAC,KAAK;YAC/B,OAAO,CACL,oBAAC,gCAAgC,IAC/B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAA,KAAK,CAAC,SAAS,CAAC,mCAAI,KAAK,EACrC,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,GACxB,CACH,CAAC;QACJ,KAAK,sBAAsB,CAAC,YAAY;YACtC,OAAO,CACL,oBAAC,2BAA2B,IAC1B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,GAC9B,CACH,CAAC;QACJ,KAAK,sBAAsB,CAAC,MAAM;YAChC,IAAI,KAAK,CAAC,cAAc,EAAE;gBACxB,OAAO,CACL,oBAAC,mCAAmC,IAClC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,GAC9B,CACH,CAAC;aACH;iBAAM;gBACL,OAAO,CACL,oBAAC,iCAAiC,IAChC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,GAC9B,CACH,CAAC;aACH;QACH;YACE,OAAO,IAAI,CAAC;KACf;AACH,CAAC;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
3
|
-
import type { PropsWithIsRepeatedAttribute, PropsWithIsTabledAttribute, PropsWithQrItemChangeHandler } from '../../../interfaces/renderProps.interface';
|
|
4
|
-
interface QItemOpenChoiceAutocompleteProps extends PropsWithQrItemChangeHandler<QuestionnaireResponseItem>, PropsWithIsRepeatedAttribute, PropsWithIsTabledAttribute {
|
|
5
|
-
qItem: QuestionnaireItem;
|
|
6
|
-
qrItem: QuestionnaireResponseItem;
|
|
7
|
-
}
|
|
8
|
-
declare function QItemOpenChoiceAutocomplete(props: QItemOpenChoiceAutocompleteProps): React.JSX.Element | null;
|
|
9
|
-
export default QItemOpenChoiceAutocomplete;
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2023 Commonwealth Scientific and Industrial Research
|
|
3
|
-
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import React, { useState } from 'react';
|
|
18
|
-
import Autocomplete from '@mui/material/Autocomplete';
|
|
19
|
-
import Box from '@mui/material/Box';
|
|
20
|
-
import CircularProgress from '@mui/material/CircularProgress';
|
|
21
|
-
import Fade from '@mui/material/Fade';
|
|
22
|
-
import Grid from '@mui/material/Grid';
|
|
23
|
-
import Tooltip from '@mui/material/Tooltip';
|
|
24
|
-
import { createEmptyQrItem } from '../../../utils/qrItem';
|
|
25
|
-
import { StandardTextField } from '../Textfield.styles';
|
|
26
|
-
import { FullWidthFormComponentBox } from '../../Box.styles';
|
|
27
|
-
import SearchIcon from '@mui/icons-material/Search';
|
|
28
|
-
import useDebounce from '../../../hooks/useDebounce';
|
|
29
|
-
import useTerminologyServerQuery from '../../../hooks/useTerminologyServerQuery';
|
|
30
|
-
import WarningAmberIcon from '@mui/icons-material/WarningAmber';
|
|
31
|
-
import InfoIcon from '@mui/icons-material/Info';
|
|
32
|
-
import DoneIcon from '@mui/icons-material/Done';
|
|
33
|
-
import ErrorIcon from '@mui/icons-material/Error';
|
|
34
|
-
import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
|
|
35
|
-
import { getTerminologyServerUrl } from '../../../utils/valueSet';
|
|
36
|
-
import { AUTOCOMPLETE_DEBOUNCE_DURATION } from '../../../utils/debounce';
|
|
37
|
-
import DisplayInstructions from '../DisplayItem/DisplayInstructions';
|
|
38
|
-
import LabelWrapper from '../ItemParts/ItemLabelWrapper';
|
|
39
|
-
function QItemOpenChoiceAutocomplete(props) {
|
|
40
|
-
const { qItem, qrItem, isRepeated, isTabled, onQrItemChange } = props;
|
|
41
|
-
const qrOpenChoice = qrItem !== null && qrItem !== void 0 ? qrItem : createEmptyQrItem(qItem);
|
|
42
|
-
// Init input value
|
|
43
|
-
let valueAutocomplete;
|
|
44
|
-
if (qrOpenChoice.answer) {
|
|
45
|
-
const answer = qrOpenChoice.answer[0];
|
|
46
|
-
valueAutocomplete = answer.valueCoding ? answer.valueCoding : answer.valueString;
|
|
47
|
-
}
|
|
48
|
-
if (!valueAutocomplete) {
|
|
49
|
-
valueAutocomplete = '';
|
|
50
|
-
}
|
|
51
|
-
// Get additional rendering extensions
|
|
52
|
-
const { displayUnit, displayPrompt, displayInstructions, readOnly, entryFormat } = useRenderingExtensions(qItem);
|
|
53
|
-
// Query ontoserver for options
|
|
54
|
-
const maxList = 10;
|
|
55
|
-
const [input, setInput] = useState('');
|
|
56
|
-
const debouncedInput = useDebounce(input, AUTOCOMPLETE_DEBOUNCE_DURATION);
|
|
57
|
-
const answerValueSetUrl = qItem.answerValueSet;
|
|
58
|
-
const terminologyServerUrl = getTerminologyServerUrl(qItem);
|
|
59
|
-
const { options, loading, feedback } = useTerminologyServerQuery(answerValueSetUrl, maxList, input, debouncedInput, terminologyServerUrl);
|
|
60
|
-
if (!answerValueSetUrl)
|
|
61
|
-
return null;
|
|
62
|
-
// Event handlers
|
|
63
|
-
function handleValueChange(_, newValue) {
|
|
64
|
-
if (newValue === null) {
|
|
65
|
-
setInput('');
|
|
66
|
-
newValue = '';
|
|
67
|
-
}
|
|
68
|
-
if (typeof newValue === 'string') {
|
|
69
|
-
if (newValue !== '') {
|
|
70
|
-
onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem)), { answer: [{ valueString: newValue }] }));
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
onQrItemChange(createEmptyQrItem(qItem));
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem)), { answer: [{ valueCoding: newValue }] }));
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
const openChoiceAutocomplete = (React.createElement(React.Fragment, null,
|
|
81
|
-
React.createElement(Box, { display: "flex" },
|
|
82
|
-
React.createElement(Autocomplete, { id: qItem.id, value: valueAutocomplete, options: options, getOptionLabel: (option) => (typeof option === 'string' ? option : `${option.display}`), loading: loading, loadingText: 'Fetching results...', clearOnEscape: true, freeSolo: true, autoHighlight: true, sx: { maxWidth: !isTabled ? 280 : 3000, minWidth: 220, flexGrow: 1 }, placeholder: entryFormat, onChange: handleValueChange, filterOptions: (x) => x, renderInput: (params) => (React.createElement(StandardTextField, Object.assign({}, params, { value: input, onBlur: () => {
|
|
83
|
-
// set answer to current input when text field is unfocused
|
|
84
|
-
if (!valueAutocomplete && input !== '') {
|
|
85
|
-
onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem)), { answer: [{ valueString: input }] }));
|
|
86
|
-
}
|
|
87
|
-
}, onChange: (e) => setInput(e.target.value), isTabled: isTabled, disabled: readOnly, label: displayPrompt, size: "small", InputProps: Object.assign(Object.assign({}, params.InputProps), { startAdornment: (React.createElement(React.Fragment, null,
|
|
88
|
-
!valueAutocomplete || valueAutocomplete === '' ? (React.createElement(SearchIcon, { fontSize: "small", sx: { ml: 0.5 } })) : null,
|
|
89
|
-
params.InputProps.startAdornment)), endAdornment: (React.createElement(React.Fragment, null,
|
|
90
|
-
loading ? (React.createElement(CircularProgress, { color: "inherit", size: 16 })) : feedback ? (React.createElement(Fade, { in: !!feedback, timeout: 300 },
|
|
91
|
-
React.createElement(Tooltip, { title: feedback.message, arrow: true, sx: { ml: 1 } }, {
|
|
92
|
-
info: React.createElement(InfoIcon, { fontSize: "small", color: "info" }),
|
|
93
|
-
warning: React.createElement(WarningAmberIcon, { fontSize: "small", color: "warning" }),
|
|
94
|
-
success: React.createElement(DoneIcon, { fontSize: "small", color: "success" }),
|
|
95
|
-
error: React.createElement(ErrorIcon, { fontSize: "small", color: "error" })
|
|
96
|
-
}[feedback.color]))) : null,
|
|
97
|
-
params.InputProps.endAdornment,
|
|
98
|
-
displayUnit)) }), "data-test": "q-item-open-choice-autocomplete-field" }))) }))));
|
|
99
|
-
const renderQItemOpenChoiceAutocomplete = isRepeated ? (React.createElement(React.Fragment, null, openChoiceAutocomplete)) : (React.createElement(FullWidthFormComponentBox, null,
|
|
100
|
-
React.createElement(Grid, { container: true, columnSpacing: 6 },
|
|
101
|
-
React.createElement(Grid, { item: true, xs: 5 },
|
|
102
|
-
React.createElement(LabelWrapper, { qItem: qItem })),
|
|
103
|
-
React.createElement(Grid, { item: true, xs: 7 },
|
|
104
|
-
openChoiceAutocomplete,
|
|
105
|
-
React.createElement(DisplayInstructions, { displayInstructions: displayInstructions })))));
|
|
106
|
-
return React.createElement(React.Fragment, null, renderQItemOpenChoiceAutocomplete);
|
|
107
|
-
}
|
|
108
|
-
export default QItemOpenChoiceAutocomplete;
|
|
109
|
-
//# sourceMappingURL=QItemOpenChoiceAutocomplete.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QItemOpenChoiceAutocomplete.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/OpenChoiceItems/QItemOpenChoiceAutocomplete.tsx"],"names":[],"mappings":"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"}
|
package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceCheckboxAnswerOption.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { QItemChoiceOrientation } from '../../../interfaces/choice.enum';
|
|
3
|
-
import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
4
|
-
import type { PropsWithIsRepeatedAttribute, PropsWithQrItemChangeHandler } from '../../../interfaces/renderProps.interface';
|
|
5
|
-
interface QItemOpenChoiceCheckboxProps extends PropsWithQrItemChangeHandler<QuestionnaireResponseItem>, PropsWithIsRepeatedAttribute {
|
|
6
|
-
qItem: QuestionnaireItem;
|
|
7
|
-
qrItem: QuestionnaireResponseItem;
|
|
8
|
-
orientation: QItemChoiceOrientation;
|
|
9
|
-
}
|
|
10
|
-
declare function QItemOpenChoiceCheckboxAnswerOption(props: QItemOpenChoiceCheckboxProps): React.JSX.Element;
|
|
11
|
-
export default QItemOpenChoiceCheckboxAnswerOption;
|
package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceCheckboxAnswerOption.js
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2023 Commonwealth Scientific and Industrial Research
|
|
3
|
-
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import React, { useCallback, useMemo, useState } from 'react';
|
|
18
|
-
import Grid from '@mui/material/Grid';
|
|
19
|
-
import { CheckBoxOptionType, QItemChoiceOrientation } from '../../../interfaces/choice.enum';
|
|
20
|
-
import { createEmptyQrItem } from '../../../utils/qrItem';
|
|
21
|
-
import QItemCheckboxSingle from '../ItemParts/QItemCheckboxSingle';
|
|
22
|
-
import { getOpenLabelText } from '../../../utils/itemControl';
|
|
23
|
-
import QItemCheckboxSingleWithOpenLabel from '../ItemParts/QItemCheckboxSingleWithOpenLabel';
|
|
24
|
-
import { QFormGroup } from '../Item.styles';
|
|
25
|
-
import { getOldOpenLabelAnswer, updateQrOpenChoiceCheckboxAnswers } from '../../../utils/openChoice';
|
|
26
|
-
import { FullWidthFormComponentBox } from '../../Box.styles';
|
|
27
|
-
import debounce from 'lodash.debounce';
|
|
28
|
-
import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
|
|
29
|
-
import { DEBOUNCE_DURATION } from '../../../utils/debounce';
|
|
30
|
-
import DisplayInstructions from '../DisplayItem/DisplayInstructions';
|
|
31
|
-
import LabelWrapper from '../ItemParts/ItemLabelWrapper';
|
|
32
|
-
function QItemOpenChoiceCheckboxAnswerOption(props) {
|
|
33
|
-
var _a;
|
|
34
|
-
const { qItem, qrItem, isRepeated, onQrItemChange, orientation } = props;
|
|
35
|
-
// Init answers
|
|
36
|
-
const qrOpenChoiceCheckbox = qrItem !== null && qrItem !== void 0 ? qrItem : createEmptyQrItem(qItem);
|
|
37
|
-
const answers = useMemo(() => { var _a; return (_a = qrOpenChoiceCheckbox.answer) !== null && _a !== void 0 ? _a : []; }, [qrOpenChoiceCheckbox.answer]);
|
|
38
|
-
// Init options and open label value
|
|
39
|
-
const answerOptions = qItem.answerOption;
|
|
40
|
-
let initialOpenLabelValue = '';
|
|
41
|
-
let initialOpenLabelChecked = false;
|
|
42
|
-
if (answerOptions) {
|
|
43
|
-
const oldLabelAnswer = getOldOpenLabelAnswer(answers, answerOptions);
|
|
44
|
-
if (oldLabelAnswer && oldLabelAnswer.valueString) {
|
|
45
|
-
initialOpenLabelValue = oldLabelAnswer.valueString;
|
|
46
|
-
initialOpenLabelChecked = true;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
const [openLabelValue, setOpenLabelValue] = useState(initialOpenLabelValue);
|
|
50
|
-
const [openLabelChecked, setOpenLabelChecked] = useState(initialOpenLabelChecked);
|
|
51
|
-
// Get additional rendering extensions
|
|
52
|
-
const openLabelText = getOpenLabelText(qItem);
|
|
53
|
-
const { displayInstructions, readOnly } = useRenderingExtensions(qItem);
|
|
54
|
-
// Event handlers
|
|
55
|
-
const handleValueChange = useCallback((changedOptionValue, changedOpenLabelValue) => {
|
|
56
|
-
if (!answerOptions)
|
|
57
|
-
return null;
|
|
58
|
-
let updatedQrChoiceCheckbox = null;
|
|
59
|
-
if (changedOptionValue) {
|
|
60
|
-
updatedQrChoiceCheckbox = updateQrOpenChoiceCheckboxAnswers(changedOptionValue, null, answers, answerOptions, qrOpenChoiceCheckbox, CheckBoxOptionType.AnswerOption, isRepeated);
|
|
61
|
-
}
|
|
62
|
-
else if (changedOpenLabelValue !== null) {
|
|
63
|
-
updatedQrChoiceCheckbox = updateQrOpenChoiceCheckboxAnswers(null, changedOpenLabelValue, answers, answerOptions, qrOpenChoiceCheckbox, CheckBoxOptionType.AnswerOption, isRepeated);
|
|
64
|
-
}
|
|
65
|
-
if (updatedQrChoiceCheckbox) {
|
|
66
|
-
onQrItemChange(updatedQrChoiceCheckbox);
|
|
67
|
-
}
|
|
68
|
-
}, [answerOptions, answers, isRepeated, onQrItemChange, qrOpenChoiceCheckbox]);
|
|
69
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
70
|
-
const updateOpenLabelValueWithDebounce = useCallback(debounce((input) => {
|
|
71
|
-
handleValueChange(null, input);
|
|
72
|
-
}, DEBOUNCE_DURATION), [handleValueChange]); // Dependencies are tested, debounce is causing eslint to not recognise dependencies
|
|
73
|
-
const openChoiceCheckbox = (React.createElement(QFormGroup, { row: orientation === QItemChoiceOrientation.Horizontal }, (_a = qItem.answerOption) === null || _a === void 0 ? void 0 :
|
|
74
|
-
_a.map((option) => {
|
|
75
|
-
var _a, _b, _c;
|
|
76
|
-
if (option['valueCoding']) {
|
|
77
|
-
return (React.createElement(QItemCheckboxSingle, { key: (_a = option.valueCoding.code) !== null && _a !== void 0 ? _a : '', value: (_b = option.valueCoding.code) !== null && _b !== void 0 ? _b : '', label: (_c = option.valueCoding.display) !== null && _c !== void 0 ? _c : `${option.valueCoding.code}`, readOnly: readOnly, isChecked: answers.some((answer) => JSON.stringify(answer) === JSON.stringify(option)), onCheckedChange: (changedValue) => handleValueChange(changedValue, null) }));
|
|
78
|
-
}
|
|
79
|
-
else if (option['valueString']) {
|
|
80
|
-
return (React.createElement(QItemCheckboxSingle, { key: option.valueString, value: option.valueString, label: option.valueString, readOnly: readOnly, isChecked: answers.some((answer) => answer.valueString === option.valueString), onCheckedChange: (changedValue) => handleValueChange(changedValue, null) }));
|
|
81
|
-
}
|
|
82
|
-
else if (option['valueInteger']) {
|
|
83
|
-
return (React.createElement(QItemCheckboxSingle, { key: option.valueInteger, value: option.valueInteger.toString(), label: option.valueInteger.toString(), readOnly: readOnly, isChecked: answers.some((answer) => answer.valueInteger === option.valueInteger), onCheckedChange: (changedValue) => handleValueChange(changedValue, null) }));
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
return null;
|
|
87
|
-
}
|
|
88
|
-
}),
|
|
89
|
-
openLabelText ? (React.createElement(QItemCheckboxSingleWithOpenLabel, { value: openLabelValue, label: openLabelText, isChecked: openLabelChecked, onCheckedChange: (checked) => {
|
|
90
|
-
handleValueChange(null, openLabelValue);
|
|
91
|
-
setOpenLabelChecked(checked);
|
|
92
|
-
}, onInputChange: (input) => {
|
|
93
|
-
setOpenLabelValue(input);
|
|
94
|
-
updateOpenLabelValueWithDebounce(input);
|
|
95
|
-
} })) : null));
|
|
96
|
-
return (React.createElement(FullWidthFormComponentBox, { "data-test": "q-item-open-choice-checkbox-answer-option-box" },
|
|
97
|
-
React.createElement(Grid, { container: true, columnSpacing: 6 },
|
|
98
|
-
React.createElement(Grid, { item: true, xs: 5 },
|
|
99
|
-
React.createElement(LabelWrapper, { qItem: qItem })),
|
|
100
|
-
React.createElement(Grid, { item: true, xs: 7 },
|
|
101
|
-
openChoiceCheckbox,
|
|
102
|
-
React.createElement(DisplayInstructions, { displayInstructions: displayInstructions })))));
|
|
103
|
-
}
|
|
104
|
-
export default QItemOpenChoiceCheckboxAnswerOption;
|
|
105
|
-
//# sourceMappingURL=QItemOpenChoiceCheckboxAnswerOption.js.map
|
package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceCheckboxAnswerOption.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QItemOpenChoiceCheckboxAnswerOption.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/OpenChoiceItems/QItemOpenChoiceCheckboxAnswerOption.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,mBAAmB,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,gCAAgC,MAAM,+CAA+C,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,qBAAqB,EACrB,iCAAiC,EAClC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAK3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,YAAY,MAAM,+BAA+B,CAAC;AAUzD,SAAS,mCAAmC,CAAC,KAAmC;;IAC9E,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAEzE,eAAe;IACf,MAAM,oBAAoB,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,WAAC,OAAA,MAAA,oBAAoB,CAAC,MAAM,mCAAI,EAAE,CAAA,EAAA,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAEhG,oCAAoC;IACpC,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC;IACzC,IAAI,qBAAqB,GAAG,EAAE,CAAC;IAC/B,IAAI,uBAAuB,GAAG,KAAK,CAAC;IACpC,IAAI,aAAa,EAAE;QACjB,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACrE,IAAI,cAAc,IAAI,cAAc,CAAC,WAAW,EAAE;YAChD,qBAAqB,GAAG,cAAc,CAAC,WAAW,CAAC;YACnD,uBAAuB,GAAG,IAAI,CAAC;SAChC;KACF;IACD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAC5E,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IAElF,sCAAsC;IACtC,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAExE,iBAAiB;IACjB,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,kBAAiC,EAAE,qBAAoC,EAAE,EAAE;QAC1E,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAEhC,IAAI,uBAAuB,GAAqC,IAAI,CAAC;QACrE,IAAI,kBAAkB,EAAE;YACtB,uBAAuB,GAAG,iCAAiC,CACzD,kBAAkB,EAClB,IAAI,EACJ,OAAO,EACP,aAAa,EACb,oBAAoB,EACpB,kBAAkB,CAAC,YAAY,EAC/B,UAAU,CACX,CAAC;SACH;aAAM,IAAI,qBAAqB,KAAK,IAAI,EAAE;YACzC,uBAAuB,GAAG,iCAAiC,CACzD,IAAI,EACJ,qBAAqB,EACrB,OAAO,EACP,aAAa,EACb,oBAAoB,EACpB,kBAAkB,CAAC,YAAY,EAC/B,UAAU,CACX,CAAC;SACH;QAED,IAAI,uBAAuB,EAAE;YAC3B,cAAc,CAAC,uBAAuB,CAAC,CAAC;SACzC;IACH,CAAC,EACD,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAC3E,CAAC;IAEF,uDAAuD;IACvD,MAAM,gCAAgC,GAAG,WAAW,CAClD,QAAQ,CAAC,CAAC,KAAa,EAAE,EAAE;QACzB,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,EAAE,iBAAiB,CAAC,EACrB,CAAC,iBAAiB,CAAC,CACpB,CAAC,CAAC,oFAAoF;IAEvF,MAAM,kBAAkB,GAAG,CACzB,oBAAC,UAAU,IAAC,GAAG,EAAE,WAAW,KAAK,sBAAsB,CAAC,UAAU,IAC/D,MAAA,KAAK,CAAC,YAAY;WAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;;YAClC,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE;gBACzB,OAAO,CACL,oBAAC,mBAAmB,IAClB,GAAG,EAAE,MAAA,MAAM,CAAC,WAAW,CAAC,IAAI,mCAAI,EAAE,EAClC,KAAK,EAAE,MAAA,MAAM,CAAC,WAAW,CAAC,IAAI,mCAAI,EAAE,EACpC,KAAK,EAAE,MAAA,MAAM,CAAC,WAAW,CAAC,OAAO,mCAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,EACjE,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,OAAO,CAAC,IAAI,CACrB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAC9D,EACD,eAAe,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,GACxE,CACH,CAAC;aACH;iBAAM,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE;gBAChC,OAAO,CACL,oBAAC,mBAAmB,IAClB,GAAG,EAAE,MAAM,CAAC,WAAW,EACvB,KAAK,EAAE,MAAM,CAAC,WAAW,EACzB,KAAK,EAAE,MAAM,CAAC,WAAW,EACzB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW,CAAC,EAC9E,eAAe,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,GACxE,CACH,CAAC;aACH;iBAAM,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE;gBACjC,OAAO,CACL,oBAAC,mBAAmB,IAClB,GAAG,EAAE,MAAM,CAAC,YAAY,EACxB,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,EACrC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,EACrC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,YAAY,CAAC,EAChF,eAAe,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,GACxE,CACH,CAAC;aACH;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;QACH,CAAC,CAAC;QAED,aAAa,CAAC,CAAC,CAAC,CACf,oBAAC,gCAAgC,IAC/B,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,gBAAgB,EAC3B,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE;gBAC3B,iBAAiB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;gBACxC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC,EACD,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;gBACvB,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBACzB,gCAAgC,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC,GACD,CACH,CAAC,CAAC,CAAC,IAAI,CACG,CACd,CAAC;IAEF,OAAO,CACL,oBAAC,yBAAyB,iBAAW,+CAA+C;QAClF,oBAAC,IAAI,IAAC,SAAS,QAAC,aAAa,EAAE,CAAC;YAC9B,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC;gBACd,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,GAAI,CACzB;YACP,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC;gBACb,kBAAkB;gBACnB,oBAAC,mBAAmB,IAAC,mBAAmB,EAAE,mBAAmB,GAAI,CAC5D,CACF,CACmB,CAC7B,CAAC;AACJ,CAAC;AAED,eAAe,mCAAmC,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { QItemChoiceOrientation } from '../../../interfaces/choice.enum';
|
|
3
|
-
import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
4
|
-
import type { PropsWithIsRepeatedAttribute, PropsWithQrItemChangeHandler } from '../../../interfaces/renderProps.interface';
|
|
5
|
-
interface QItemOpenChoiceRadioProps extends PropsWithQrItemChangeHandler<QuestionnaireResponseItem>, PropsWithIsRepeatedAttribute {
|
|
6
|
-
qItem: QuestionnaireItem;
|
|
7
|
-
qrItem: QuestionnaireResponseItem;
|
|
8
|
-
orientation: QItemChoiceOrientation;
|
|
9
|
-
}
|
|
10
|
-
declare function QItemOpenChoiceRadioAnswerOption(props: QItemOpenChoiceRadioProps): React.JSX.Element;
|
|
11
|
-
export default QItemOpenChoiceRadioAnswerOption;
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2023 Commonwealth Scientific and Industrial Research
|
|
3
|
-
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import React, { useState } from 'react';
|
|
18
|
-
import Grid from '@mui/material/Grid';
|
|
19
|
-
import { QItemChoiceOrientation } from '../../../interfaces/choice.enum';
|
|
20
|
-
import { createEmptyQrItem } from '../../../utils/qrItem';
|
|
21
|
-
import { getOpenLabelText } from '../../../utils/itemControl';
|
|
22
|
-
import { QRadioGroup } from '../Item.styles';
|
|
23
|
-
import { getOldOpenLabelAnswer } from '../../../utils/openChoice';
|
|
24
|
-
import { FullWidthFormComponentBox } from '../../Box.styles';
|
|
25
|
-
import QItemChoiceRadioSingle from '../QItemChoice/QItemChoiceRadioSingle';
|
|
26
|
-
import { findInAnswerOptions, getQrChoiceValue } from '../../../utils/choice';
|
|
27
|
-
import QItemRadioButtonWithOpenLabel from '../ItemParts/QItemRadioButtonWithOpenLabel';
|
|
28
|
-
import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
|
|
29
|
-
import DisplayInstructions from '../DisplayItem/DisplayInstructions';
|
|
30
|
-
import LabelWrapper from '../ItemParts/ItemLabelWrapper';
|
|
31
|
-
function QItemOpenChoiceRadioAnswerOption(props) {
|
|
32
|
-
var _a, _b;
|
|
33
|
-
const { qItem, qrItem, onQrItemChange, orientation } = props;
|
|
34
|
-
// Init answers
|
|
35
|
-
const qrOpenChoiceRadio = qrItem !== null && qrItem !== void 0 ? qrItem : createEmptyQrItem(qItem);
|
|
36
|
-
let valueRadio = getQrChoiceValue(qrOpenChoiceRadio, true);
|
|
37
|
-
const answers = (_a = qrOpenChoiceRadio.answer) !== null && _a !== void 0 ? _a : [];
|
|
38
|
-
// Init empty open label
|
|
39
|
-
const answerOptions = qItem.answerOption;
|
|
40
|
-
let initialOpenLabelValue = '';
|
|
41
|
-
let initialOpenLabelSelected = false;
|
|
42
|
-
if (answerOptions) {
|
|
43
|
-
const oldLabelAnswer = getOldOpenLabelAnswer(answers, answerOptions);
|
|
44
|
-
if (oldLabelAnswer && oldLabelAnswer.valueString) {
|
|
45
|
-
initialOpenLabelValue = oldLabelAnswer.valueString;
|
|
46
|
-
initialOpenLabelSelected = true;
|
|
47
|
-
valueRadio = initialOpenLabelValue;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
const [openLabelValue, setOpenLabelValue] = useState(initialOpenLabelValue);
|
|
51
|
-
const [openLabelSelected, setOpenLabelSelected] = useState(initialOpenLabelSelected);
|
|
52
|
-
// Allow open label to remain selected even if its input was cleared
|
|
53
|
-
if (openLabelSelected && valueRadio === null) {
|
|
54
|
-
valueRadio = '';
|
|
55
|
-
}
|
|
56
|
-
// Get additional rendering extensions
|
|
57
|
-
const openLabelText = getOpenLabelText(qItem);
|
|
58
|
-
const { displayInstructions, readOnly } = useRenderingExtensions(qItem);
|
|
59
|
-
// Event handlers
|
|
60
|
-
function handleValueChange(changedOptionValue, changedOpenLabelValue) {
|
|
61
|
-
if (!answerOptions)
|
|
62
|
-
return null;
|
|
63
|
-
if (changedOptionValue !== null) {
|
|
64
|
-
if (qItem.answerOption) {
|
|
65
|
-
const qrAnswer = findInAnswerOptions(qItem.answerOption, changedOptionValue);
|
|
66
|
-
// If selected answer can be found in options, it is a non-open label selection
|
|
67
|
-
if (qrAnswer) {
|
|
68
|
-
onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem)), { answer: [qrAnswer] }));
|
|
69
|
-
setOpenLabelSelected(false);
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
// Otherwise, it is an open-label selection
|
|
73
|
-
onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem)), { answer: [{ valueString: changedOptionValue }] }));
|
|
74
|
-
setOpenLabelValue(changedOptionValue);
|
|
75
|
-
setOpenLabelSelected(true);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
if (changedOpenLabelValue !== null) {
|
|
80
|
-
setOpenLabelValue(changedOpenLabelValue);
|
|
81
|
-
if (changedOpenLabelValue === '') {
|
|
82
|
-
onQrItemChange(createEmptyQrItem(qItem));
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
setOpenLabelValue(changedOpenLabelValue);
|
|
86
|
-
onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem)), { answer: [{ valueString: changedOpenLabelValue }] }));
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
const openChoiceRadio = (React.createElement(QRadioGroup, { row: orientation === QItemChoiceOrientation.Horizontal, name: qItem.text, id: qItem.id, onChange: (e) => handleValueChange(e.target.value, null), value: valueRadio, "data-test": "q-item-radio-group" }, (_b = qItem.answerOption) === null || _b === void 0 ? void 0 :
|
|
91
|
-
_b.map((option) => {
|
|
92
|
-
var _a, _b, _c;
|
|
93
|
-
if (option['valueCoding']) {
|
|
94
|
-
return (React.createElement(QItemChoiceRadioSingle, { key: (_a = option.valueCoding.code) !== null && _a !== void 0 ? _a : '', value: (_b = option.valueCoding.code) !== null && _b !== void 0 ? _b : '', label: (_c = option.valueCoding.display) !== null && _c !== void 0 ? _c : `${option.valueCoding.code}`, readOnly: readOnly }));
|
|
95
|
-
}
|
|
96
|
-
else if (option['valueString']) {
|
|
97
|
-
return (React.createElement(QItemChoiceRadioSingle, { key: option.valueString, value: option.valueString, label: option.valueString, readOnly: readOnly }));
|
|
98
|
-
}
|
|
99
|
-
else if (option['valueInteger']) {
|
|
100
|
-
return (React.createElement(QItemChoiceRadioSingle, { key: option.valueInteger, value: option.valueInteger.toString(), label: option.valueInteger.toString(), readOnly: readOnly }));
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
return null;
|
|
104
|
-
}
|
|
105
|
-
}),
|
|
106
|
-
openLabelText ? (React.createElement(QItemRadioButtonWithOpenLabel, { value: openLabelValue, label: openLabelText, readOnly: readOnly, isSelected: openLabelSelected, onInputChange: (input) => handleValueChange(null, input) })) : null));
|
|
107
|
-
return (React.createElement(FullWidthFormComponentBox, { "data-test": "q-item-open-choice-radio-answer-option-box" },
|
|
108
|
-
React.createElement(Grid, { container: true, columnSpacing: 6 },
|
|
109
|
-
React.createElement(Grid, { item: true, xs: 5 },
|
|
110
|
-
React.createElement(LabelWrapper, { qItem: qItem })),
|
|
111
|
-
React.createElement(Grid, { item: true, xs: 7 },
|
|
112
|
-
openChoiceRadio,
|
|
113
|
-
React.createElement(DisplayInstructions, { displayInstructions: displayInstructions })))));
|
|
114
|
-
}
|
|
115
|
-
export default QItemOpenChoiceRadioAnswerOption;
|
|
116
|
-
//# sourceMappingURL=QItemOpenChoiceRadioAnswerOption.js.map
|
package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceRadioAnswerOption.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QItemOpenChoiceRadioAnswerOption.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/OpenChoiceItems/QItemOpenChoiceRadioAnswerOption.tsx"],"names":[],"mappings":"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"}
|