From e26ffd1dc91fffbb38007e5adf10b49d23119e87 Mon Sep 17 00:00:00 2001 From: Robert Hasselle <123402053+rhasselle-oddball@users.noreply.github.com> Date: Fri, 4 Oct 2024 11:03:03 -0500 Subject: [PATCH] Allow formData to be accessed on summary page of array builder (#32240) --- .../array-builder/ArrayBuilderSummaryPage.jsx | 37 ++++++++++++------- .../src/js/patterns/array-builder/helpers.js | 4 +- 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/src/platform/forms-system/src/js/patterns/array-builder/ArrayBuilderSummaryPage.jsx b/src/platform/forms-system/src/js/patterns/array-builder/ArrayBuilderSummaryPage.jsx index e6ff0d93d7a4..1c31d3d774d0 100644 --- a/src/platform/forms-system/src/js/patterns/array-builder/ArrayBuilderSummaryPage.jsx +++ b/src/platform/forms-system/src/js/patterns/array-builder/ArrayBuilderSummaryPage.jsx @@ -274,7 +274,7 @@ export default function ArrayBuilderSummaryPage({ // alert setShowUpdatedAlert(false); - setRemovedItemText(getText('alertItemDeleted', item)); + setRemovedItemText(getText('alertItemDeleted', item, props.data)); setRemovedItemIndex(index); setShowRemovedAlert(true); requestAnimationFrame(() => { @@ -302,7 +302,7 @@ export default function ArrayBuilderSummaryPage({ className="vads-u-color--gray-dark vads-u-margin-top--0" data-title-for-noun-singular={nounSingular} > - {getText(textType, updatedItemData)} + {getText(textType, updatedItemData, props.data)} ); @@ -314,7 +314,7 @@ export default function ArrayBuilderSummaryPage({ onDismiss={onDismissUpdatedAlert} nounSingular={nounSingular} index={updateItemIndex} - text={getText('alertItemUpdated', updatedItemData)} + text={getText('alertItemUpdated', updatedItemData, props.data)} /> ) : null} @@ -362,7 +362,11 @@ export default function ArrayBuilderSummaryPage({ - {getText('summaryTitle', updatedItemData)} + {getText('summaryTitle', updatedItemData, props.data)}
-
{getText('yesNoBlankReviewQuestion')}
+
+ {getText('yesNoBlankReviewQuestion', null, props.data)} +
)} - {getText('summaryDescription') && ( + {getText('summaryDescription', null, props.data) && ( - {getText('summaryDescription')} + {getText('summaryDescription', null, props.data)} )} @@ -418,7 +424,11 @@ export default function ArrayBuilderSummaryPage({
- {getText('summaryDescription') && ( + {getText('summaryDescription', null, props.data) && ( <span className="vads-u-font-family--sans vads-u-font-weight--normal vads-u-display--block"> - {getText('summaryDescription')} + {getText('summaryDescription', null, props.data)} </span> )} {isMaxItemsReached && ( <MaxItemsAlert> - {getText('alertMaxItems', updatedItemData)} + {getText('alertMaxItems', updatedItemData, props.data)} </MaxItemsAlert> )} </> @@ -451,7 +461,8 @@ export default function ArrayBuilderSummaryPage({ } else { uiSchema['ui:title'] = <Title textType="summaryTitleWithoutItems" />; uiSchema['ui:description'] = - getText('summaryDescriptionWithoutItems') || undefined; + getText('summaryDescriptionWithoutItems', null, props.data) || + undefined; } if (schema?.properties && maxItems && arrayData?.length >= maxItems) { diff --git a/src/platform/forms-system/src/js/patterns/array-builder/helpers.js b/src/platform/forms-system/src/js/patterns/array-builder/helpers.js index b88dd5a2cf7d..d3f3c237c756 100644 --- a/src/platform/forms-system/src/js/patterns/array-builder/helpers.js +++ b/src/platform/forms-system/src/js/patterns/array-builder/helpers.js @@ -36,9 +36,10 @@ export function initGetText({ /** * @param {ArrayBuilderTextKey} key * @param {any} itemData + * @param {any} [formData] * @returns {string} */ - return (key, itemData) => { + return (key, itemData, formData) => { const keyVal = getTextValues?.[key]; if (key === 'getItemName' || key === 'cardDescription') { return typeof keyVal === 'function' ? keyVal(itemData) : keyVal; @@ -47,6 +48,7 @@ export function initGetText({ ? getTextValues?.[key]({ ...getTextProps, itemData, + formData, }) : keyVal; };