diff --git a/CHANGES b/CHANGES index c933e6ae..23ffdd09 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,9 @@ +## 14.0.9 + +--- + +- Bugfix: When Confirmation is repeatable, the added items now have a initial value of false. Added same functionality for nested items. + ## 14.0.8 --- diff --git a/package.json b/package.json index 9b92646c..f7489268 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@helsenorge/refero", - "version": "14.0.8", + "version": "14.0.9", "engines": { "node": "^18.0.0", "npm": ">=9.0.0" diff --git a/src/reducers/form.ts b/src/reducers/form.ts index 22d23943..5c12ef24 100644 --- a/src/reducers/form.ts +++ b/src/reducers/form.ts @@ -207,6 +207,14 @@ function processDeleteRepeatItemAction(action: NewValueAction, state: Form): For }); } +function addInitialValueToBooleanItem(definitionItem: QuestionnaireItem): QuestionnaireResponseItemAnswer[] | undefined { + if (definitionItem.initial && definitionItem.initial.length > 0 && definitionItem.initial[0].valueBoolean !== undefined) { + return [{ valueBoolean: definitionItem.initial[0].valueBoolean }]; + } else { + return [{ valueBoolean: false }]; + } +} + function copyItem( source: QuestionnaireResponseItem, target: QuestionnaireResponseItem | undefined, @@ -248,10 +256,15 @@ function copyItem( } const defItem = getQuestionnaireDefinitionItem(source.linkId, questionnaireDraft.item); - if (defItem && defItem.type !== 'attachment') { + if (defItem && defItem.type !== itemType.ATTATCHMENT) { for (let i = 0; source.answer && i < source.answer.length; i++) { - if (!source.answer[i].item || source.answer[i].item?.length === 0) continue; - + if (!source.answer[i].item || source.answer[i].item?.length === 0) { + if (defItem.type === itemType.BOOLEAN) { + target.answer = addInitialValueToBooleanItem(defItem); + } else { + continue; + } + } if (!target.answer) { target.answer = []; }