Merge pull request #1292 from Safelite/feature/humphries/INSR-10100

INSR-10100: Allow hiding certain fields on welcome page
This commit is contained in:
AHumphriesSL 2026-07-09 15:44:37 -04:00 committed by GitHub
commit 65ed19c640
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 29 additions and 1 deletions

View file

@ -160,7 +160,8 @@ describe('entry-page.vue', () => {
ClientDisplayName: 'Display Name', ClientDisplayName: 'Display Name',
ClientPossessiveName: 'Display Name\'s', ClientPossessiveName: 'Display Name\'s',
ClaimRegistrationRequired: true, ClaimRegistrationRequired: true,
EnableNoCompQuote: true EnableNoCompQuote: true,
HiddenFields: ['PolicyNumber', 'PhoneNumber'],
}) })
}; };
wrapper.vm.populateISSConfigValues(data); wrapper.vm.populateISSConfigValues(data);
@ -176,6 +177,8 @@ describe('entry-page.vue', () => {
expect(issConfig.enableTPAFlow).toBe(true); expect(issConfig.enableTPAFlow).toBe(true);
expect(issConfig.isClaimRegistrationRequired).toBe(true); expect(issConfig.isClaimRegistrationRequired).toBe(true);
expect(issConfig.enableNoCompQuote).toBe(true); expect(issConfig.enableNoCompQuote).toBe(true);
expect(issConfig.hiddenFields.policyNumber).toBe(true);
expect(issConfig.hiddenFields.phoneNumber).toBe(true);
}); });
describe('combineClientParameters', () => { describe('combineClientParameters', () => {
let wrapper; let wrapper;

View file

@ -216,6 +216,16 @@ export default {
if (clientFlags.UseMemberNumber) { if (clientFlags.UseMemberNumber) {
this.mainStore.issConfig.useMemberNumber = true; this.mainStore.issConfig.useMemberNumber = true;
} }
if (clientFlags.HiddenFields) {
if (clientFlags.HiddenFields.includes('PolicyNumber')) {
this.mainStore.issConfig.hiddenFields.policyNumber = true;
}
if (clientFlags.HiddenFields.includes('PhoneNumber')) {
this.mainStore.issConfig.hiddenFields.phoneNumber = true;
}
}
} }
}, },
combineClientParameters(configParams, queryStringParams) { combineClientParameters(configParams, queryStringParams) {

View file

@ -14,6 +14,7 @@
cmsWidgetName="SiteSubHeaderWidget" cmsWidgetName="SiteSubHeaderWidget"
class="form-group" /> class="form-group" />
<textboxQuestion <textboxQuestion
v-if="!isPolicyNumberQuestionHidden"
ref="policyNumber" ref="policyNumber"
v-model="welcomePageModel.policyNumber" v-model="welcomePageModel.policyNumber"
inputId="policyNumberField" inputId="policyNumberField"
@ -23,6 +24,7 @@
:isDisabled="isPolicyHolderDisabled" :isDisabled="isPolicyHolderDisabled"
:validationRules="rules.policyNumber" /> :validationRules="rules.policyNumber" />
<textboxQuestion <textboxQuestion
v-if="!isPhoneNumberQuestionHidden"
ref="phoneNumber" ref="phoneNumber"
v-model="welcomePageModel.phoneNumber" v-model="welcomePageModel.phoneNumber"
inputId="phoneNumberField" inputId="phoneNumberField"
@ -34,6 +36,7 @@
placeholderText="###-###-####" placeholderText="###-###-####"
class="form-group" /> class="form-group" />
<textboxQuestion <textboxQuestion
v-if="!isPhoneNumberQuestionHidden"
ref="extension" ref="extension"
v-model="welcomePageModel.extension" v-model="welcomePageModel.extension"
inputId="extensionField" inputId="extensionField"
@ -331,6 +334,12 @@ export default {
}, },
phoneMask() { phoneMask() {
return MaskaFormattedMasks.PHONE_NUMBER; return MaskaFormattedMasks.PHONE_NUMBER;
},
isPolicyNumberQuestionHidden() {
return !!this.mainStore.issConfig.hiddenFields?.policyNumber;
},
isPhoneNumberQuestionHidden() {
return !!this.mainStore.issConfig.hiddenFields?.phoneNumber;
} }
}, },
methods: { methods: {

View file

@ -272,6 +272,10 @@ export const getDefaultState = () => ({
policyZipCode: null, policyZipCode: null,
dateOfLoss: null dateOfLoss: null
}, },
hiddenFields: { // Fields hidden based on client flags in auth table
policyNumber: false,
phoneNumber: false
},
buildInfo: (typeof __BUILD_INFO__ !== 'undefined') ? __BUILD_INFO__ : null, // Contains the build info for the website, set during the build process. Version, Time, Git info etc.... buildInfo: (typeof __BUILD_INFO__ !== 'undefined') ? __BUILD_INFO__ : null, // Contains the build info for the website, set during the build process. Version, Time, Git info etc....
siteType: null, // SiteType / SubType the site is set to (Essential/Advanced). siteType: null, // SiteType / SubType the site is set to (Essential/Advanced).
enableNoCompQuote: false, enableNoCompQuote: false,
@ -2298,6 +2302,8 @@ export const useMainStore = defineStore({
this.issConfig.disabledFields.policyNumber = false; this.issConfig.disabledFields.policyNumber = false;
this.issConfig.disabledFields.policyZipCode = false; this.issConfig.disabledFields.policyZipCode = false;
this.issConfig.disabledFields.dateOfLoss = false; this.issConfig.disabledFields.dateOfLoss = false;
this.issConfig.hiddenFields.policyNumber = false;
this.issConfig.hiddenFields.phoneNumber = false;
this.issConfig.siteType = null; this.issConfig.siteType = null;
this.issConfig.enableNoCompQuote = false; this.issConfig.enableNoCompQuote = false;
this.issConfig.billToAccountNumber = null; this.issConfig.billToAccountNumber = null;