INSR-7758: Add need help link and hide continue until questions answered

This commit is contained in:
Alex Humphries 2026-02-05 13:05:30 -05:00
parent e297e72a06
commit 32a083c242
4 changed files with 35 additions and 5 deletions

View file

@ -33,9 +33,17 @@
ref="siteFooter" ref="siteFooter"
class="mt-5" class="mt-5"
cmsWidgetName="SiteFooterWidget" cmsWidgetName="SiteFooterWidget"
:isForwardActionDisabled="!isMetaValid" :isForwardButtonHidden="!isMetaValid"
@backClicked="handleBackButtonAction" @backClicked="handleBackButtonAction"
@ForwardClicked="handleForwardButtonAction" /> @ForwardClicked="handleForwardButtonAction" />
<div class="need-help-link-container">
<textLink
v-if="needHelpLinkText"
linkType="navigation"
:text="needHelpLinkText"
href="#"
@clickEvent="handleNeedHelpClick" />
</div>
</div> </div>
</div> </div>
</div> </div>
@ -48,6 +56,8 @@ import alert from '@/ux-components/alert/alert.vue';
import questionChain from '@/digital-components/question-chain/question-chain.vue'; import questionChain from '@/digital-components/question-chain/question-chain.vue';
import siteSubHeader from '@/iss-components/site-sub-header/site-sub-header.vue'; import siteSubHeader from '@/iss-components/site-sub-header/site-sub-header.vue';
import siteFooter from '@/iss-components/site-footer/site-footer.vue'; import siteFooter from '@/iss-components/site-footer/site-footer.vue';
import textLink from '@/ux-components/text-link/text-link.vue';
import widgetFields from '@/constants/cms-widget-fields';
export default { export default {
name: 'questions-page', name: 'questions-page',
@ -56,7 +66,8 @@ export default {
alert, alert,
questionChain, questionChain,
siteSubHeader, siteSubHeader,
siteFooter siteFooter,
textLink
}, },
props: { props: {
isMetaValid: Boolean, isMetaValid: Boolean,
@ -68,7 +79,7 @@ export default {
loadingText: Array, loadingText: Array,
index: Number index: Number
}, },
emits: ['update:modelValue', 'forwardButtonAction', 'back-click'], emits: ['update:modelValue', 'forwardButtonAction', 'back-click', 'need-help-click'],
computed: { computed: {
selectedAnswers: { selectedAnswers: {
get() { get() {
@ -77,6 +88,9 @@ export default {
set(newValue) { set(newValue) {
this.$emit('update:modelValue', newValue); this.$emit('update:modelValue', newValue);
} }
},
needHelpLinkText() {
return this.getCmsContent('NeedHelpLinkWidget', widgetFields.TEXT_BLOCK_WIDGET.TEXT);
} }
}, },
methods: { methods: {
@ -98,6 +112,9 @@ export default {
}, },
handleBackButtonAction() { handleBackButtonAction() {
this.$emit('back-click'); this.$emit('back-click');
},
handleNeedHelpClick() {
this.$emit('need-help-click');
} }
} }
}; };
@ -122,4 +139,7 @@ export default {
} }
} }
} }
.need-help-link-container {
margin-bottom: 2.25rem;
}
</style> </style>

View file

@ -12,7 +12,8 @@
:validationRules="rules.optionRequired" :validationRules="rules.optionRequired"
:index="currentGlassIndex" :index="currentGlassIndex"
@forwardButtonAction="forwardButtonAction" @forwardButtonAction="forwardButtonAction"
@backClick="navigateBackByVehicleQuestions" /> @backClick="navigateBackByVehicleQuestions"
@needHelpClick="requestCallbackBailout" />
</Form> </Form>
</template> </template>
@ -145,6 +146,10 @@ export default {
// TODO KO delete for quote mvp // TODO KO delete for quote mvp
this.navigateForward(glassPartsForStore, null); this.navigateForward(glassPartsForStore, null);
}, },
requestCallbackBailout() {
this.mainStore.setBailout(bailoutMessage.RequestCallback());
this.$router.navigate(navigationScenarios.CLICKED_NEED_HELP_WITH_BAILOUT, this.$route);
}
}, },
}; };
</script> </script>

View file

@ -105,7 +105,8 @@ const navigationScenarios = Object.freeze({
PAY_IN_ADVANCE_SUCCESS: 'PAY_IN_ADVANCE_SUCCESS', PAY_IN_ADVANCE_SUCCESS: 'PAY_IN_ADVANCE_SUCCESS',
// Bailout // Bailout
CLICKED_FORWARD_WITH_BAILOUT: 'CLICKED_FORWARD_WITH_BAILOUT' CLICKED_FORWARD_WITH_BAILOUT: 'CLICKED_FORWARD_WITH_BAILOUT',
CLICKED_NEED_HELP_WITH_BAILOUT: 'CLICKED_NEED_HELP_WITH_BAILOUT',
}); });
export default navigationScenarios; export default navigationScenarios;

View file

@ -191,6 +191,10 @@ const routingTable = () => [
{ {
scenario: navigationScenarios.CLICKED_FORWARD_WITH_NO_MORE_QUESTIONS, scenario: navigationScenarios.CLICKED_FORWARD_WITH_NO_MORE_QUESTIONS,
destinationIssPageValue: issPageValues.COVERAGE_STATEMENT destinationIssPageValue: issPageValues.COVERAGE_STATEMENT
},
{
scenario: navigationScenarios.CLICKED_NEED_HELP_WITH_BAILOUT,
destinationIssPageValue: issPageValues.BAILOUT_PAGE
} }
] ]
}, },