nightly
This commit is contained in:
parent
bb216d1487
commit
7d3b781ce4
6 changed files with 84 additions and 85 deletions
|
|
@ -67,8 +67,8 @@
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="!suppressError" class="row form-test-error mt-1">
|
<div v-if="!suppressError" >
|
||||||
<error-message
|
<error-message class="row form-test-error mt-1"
|
||||||
:name="formatString(groupName)"
|
:name="formatString(groupName)"
|
||||||
></error-message>
|
></error-message>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -171,9 +171,11 @@ export default {
|
||||||
classes = "ui-radio d-flex";
|
classes = "ui-radio d-flex";
|
||||||
break;
|
break;
|
||||||
case "servicePackageRadio":
|
case "servicePackageRadio":
|
||||||
case "providerPrefRadio":
|
|
||||||
classes = "package-main";
|
classes = "package-main";
|
||||||
break;
|
break;
|
||||||
|
case "providerPrefRadio":
|
||||||
|
classes = "option-main";
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return classes;
|
return classes;
|
||||||
},
|
},
|
||||||
|
|
@ -182,10 +184,17 @@ export default {
|
||||||
|
|
||||||
classes += this.isWide ? "col-12" : "col";
|
classes += this.isWide ? "col-12" : "col";
|
||||||
|
|
||||||
if (this.buttonTypeString == "radio") {
|
switch(this.buttonTypeString) {
|
||||||
|
case "radio":
|
||||||
classes += " radio-button-container";
|
classes += " radio-button-container";
|
||||||
} else if (this.buttonTypeString == "servicePackageRadio" || this.buttonTypeString == "providerPrefRadio") {
|
break;
|
||||||
|
case "servicePackageRadio":
|
||||||
classes = "package-wrapper";
|
classes = "package-wrapper";
|
||||||
|
break;
|
||||||
|
case "providerPrefRadio":
|
||||||
|
classes = "option-wrapper";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
}
|
}
|
||||||
|
|
||||||
return classes;
|
return classes;
|
||||||
|
|
|
||||||
|
|
@ -145,11 +145,14 @@ function findAndReplaceGlobalStateValues(widgetModel, widgetName) {
|
||||||
function processWidgetItemForReplacement(widgetModel, key) {
|
function processWidgetItemForReplacement(widgetModel, key) {
|
||||||
// If we have a string, and it needs to be replaced.
|
// If we have a string, and it needs to be replaced.
|
||||||
if (typeof widgetModel[key] === 'string') {
|
if (typeof widgetModel[key] === 'string') {
|
||||||
|
if (widgetModel[key].includes("{if:"))
|
||||||
|
{
|
||||||
widgetModel[key] = processIfStatements(
|
widgetModel[key] = processIfStatements(
|
||||||
widgetModel[key],
|
widgetModel[key],
|
||||||
dynamicStrings.GLOBAL_STATE,
|
dynamicStrings.GLOBAL_STATE,
|
||||||
getStoreValueFromString
|
getStoreValueFromString
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (widgetModel[key].includes(dynamicStrings.MODAL_LINK)) {
|
if (widgetModel[key].includes(dynamicStrings.MODAL_LINK)) {
|
||||||
widgetModel[key] = mapStringToModal(widgetModel[key]);
|
widgetModel[key] = mapStringToModal(widgetModel[key]);
|
||||||
|
|
@ -205,7 +208,7 @@ function mapStringToLink(str) {
|
||||||
const params = linkToReplace.substring((dynamicStrings.EXTERNAL_LINK).length + 2, linkToReplace.length - 1);
|
const params = linkToReplace.substring((dynamicStrings.EXTERNAL_LINK).length + 2, linkToReplace.length - 1);
|
||||||
const splitParams = params.split(',');
|
const splitParams = params.split(',');
|
||||||
|
|
||||||
const bodyText = '<a href="' + splitParams[0] + '" class="external-text">' + splitParams[1] + '</a>';
|
const bodyText = '<a href="' + splitParams[0] + '" class="external-text" target="_blank">' + splitParams[1] + '</a>';
|
||||||
|
|
||||||
let returnVal = str.replace(linkToReplace, bodyText);
|
let returnVal = str.replace(linkToReplace, bodyText);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
<template>
|
<template>
|
||||||
<baseInputButton v-bind="$props" @buttonClicked="handleAnswerChange" v-model="selectedValue">
|
<baseInputButton v-bind="$props" @buttonClicked="handleAnswerChange" v-model="selectedValue">
|
||||||
<div class="package-label mb-4"
|
<div class="option-label mb-4"
|
||||||
:class="[this.buttonLabelSubCopy ? 'has-subheader' : '']"
|
:class="[this.buttonLabelSubCopy ? 'has-subheader' : '']"
|
||||||
for="testradio">
|
for="testradio">
|
||||||
<div class="package-specs">
|
<div class="option-specs">
|
||||||
<p class="m-0">
|
<p class="m-0">
|
||||||
<span v-html="this.buttonLabel"></span>
|
<span v-html="this.buttonLabel"></span>
|
||||||
<span class="pricing-info" v-html="this.buttonAuxiliaryCopy"></span>
|
<span class="option-info" v-html="this.buttonAuxiliaryCopy"></span>
|
||||||
</p>
|
</p>
|
||||||
<p class="sub-label m-0"
|
<p class="sub-label m-0"
|
||||||
v-if="this.buttonLabelSubCopy"
|
v-if="this.buttonLabelSubCopy"
|
||||||
|
|
@ -15,32 +15,12 @@
|
||||||
<ul >
|
<ul >
|
||||||
<li v-for="listItem in this.arrayOfListItemsFromBodyText" :key="listItem" class="mb-0">
|
<li v-for="listItem in this.arrayOfListItemsFromBodyText" :key="listItem" class="mb-0">
|
||||||
<!-- no textLink -->
|
<!-- no textLink -->
|
||||||
<span v-if="!doesCopyContainTextLink(listItem)"
|
<span v-html="listItem"></span>
|
||||||
v-html="listItem"></span>
|
|
||||||
<!-- with textLink -->
|
|
||||||
<template v-else
|
|
||||||
v-for="copy in splitCopyOnCMSPlaceHolder(listItem)"
|
|
||||||
:key="copy">
|
|
||||||
<span v-if="!doesCopyContainTextLink(copy)" v-html="copy"></span>
|
|
||||||
<span v-else>
|
|
||||||
<textLink linkType="text"
|
|
||||||
:text="getRouterLinkDisplayTextFromCopy(copy)"
|
|
||||||
href="#!"
|
|
||||||
@click-event="
|
|
||||||
$emit('buttonEvent', {
|
|
||||||
eventName: 'openModal',
|
|
||||||
args: getRouterLinkRouteFromCopy(copy),
|
|
||||||
})
|
|
||||||
"
|
|
||||||
:data-bs-target="'#' + getRouterLinkRouteFromCopy(copy)"
|
|
||||||
aria-label="Modal window" />
|
|
||||||
</span>
|
|
||||||
</template>
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<!-- End of body text parsing -->
|
<!-- End of body text parsing -->
|
||||||
<!--ms-n6-->
|
<!--ms-n6-->
|
||||||
<div class="package-footer fw-bold caption mt-4 ml-n4 mr-3"
|
<div class="option-footer fw-bold caption mt-4 ml-n4 mr-3"
|
||||||
v-if="this.buttonFooterCopy"
|
v-if="this.buttonFooterCopy"
|
||||||
v-html="this.buttonFooterCopy"></div>
|
v-html="this.buttonFooterCopy"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -59,6 +39,7 @@ import {
|
||||||
splitCopyOnCMSPlaceHolder,
|
splitCopyOnCMSPlaceHolder,
|
||||||
doesCopyContainTextLink,
|
doesCopyContainTextLink,
|
||||||
} from '@/helpers/cms-content-helper';
|
} from '@/helpers/cms-content-helper';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'providerPrefRadio',
|
name: 'providerPrefRadio',
|
||||||
mixins: [inputButtonWrapperMixin],
|
mixins: [inputButtonWrapperMixin],
|
||||||
|
|
@ -97,8 +78,8 @@ export default {
|
||||||
.mr-3 {
|
.mr-3 {
|
||||||
margin-right: $spacer * 1.5;
|
margin-right: $spacer * 1.5;
|
||||||
}
|
}
|
||||||
.package-main {
|
.option-main {
|
||||||
.package-wrapper {
|
.option-wrapper {
|
||||||
margin: 0.5rem 0;
|
margin: 0.5rem 0;
|
||||||
|
|
||||||
label {
|
label {
|
||||||
|
|
@ -110,7 +91,7 @@ export default {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: -9999px;
|
left: -9999px;
|
||||||
|
|
||||||
+ .package-label {
|
+ .option-label {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
@ -152,7 +133,7 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
+ .package-label {
|
+ .option-label {
|
||||||
&:before {
|
&:before {
|
||||||
border: 1px solid #8e9292;
|
border: 1px solid #8e9292;
|
||||||
box-shadow: 0px 0px 0px 4px #9fcee6, 0px 1px 4px rgba(0, 0, 0, 0.2);
|
box-shadow: 0px 0px 0px 4px #9fcee6, 0px 1px 4px rgba(0, 0, 0, 0.2);
|
||||||
|
|
@ -161,33 +142,33 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
&:checked {
|
&:checked {
|
||||||
+ .package-label {
|
+ .option-label {
|
||||||
.package-specs {
|
.option-specs {
|
||||||
max-height: 1000px;
|
max-height: 1000px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
+ .package-label {
|
+ .option-label {
|
||||||
.package-specs {
|
.option-specs {
|
||||||
.hide-when-closed {
|
.hide-when-closed {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
+ .package-label {
|
+ .option-label {
|
||||||
background-color: $blue-100;
|
background-color: $blue-100;
|
||||||
border: 1px solid $blue;
|
border: 1px solid $blue;
|
||||||
max-height: 500px;
|
max-height: 500px;
|
||||||
}
|
}
|
||||||
|
|
||||||
+ .package-label {
|
+ .option-label {
|
||||||
&:before {
|
&:before {
|
||||||
box-shadow: 0px 0px 0px 1px $blue;
|
box-shadow: 0px 0px 0px 1px $blue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
+ .package-label {
|
+ .option-label {
|
||||||
&:after {
|
&:after {
|
||||||
background: $blue;
|
background: $blue;
|
||||||
}
|
}
|
||||||
|
|
@ -195,7 +176,7 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
&:focus {
|
&:focus {
|
||||||
+ .package-label {
|
+ .option-label {
|
||||||
&:before {
|
&:before {
|
||||||
border: 2px solid $blue;
|
border: 2px solid $blue;
|
||||||
}
|
}
|
||||||
|
|
@ -203,11 +184,11 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.package-footer {
|
.option-footer {
|
||||||
color: $red;
|
color: $red;
|
||||||
}
|
}
|
||||||
|
|
||||||
.package-specs {
|
.option-specs {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
@ -220,7 +201,7 @@ export default {
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
span {
|
span {
|
||||||
&.pricing-info {
|
&.option-info {
|
||||||
color: $green;
|
color: $green;
|
||||||
font-size: 0.875rem;
|
font-size: 0.875rem;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,19 +2,20 @@
|
||||||
<Form @submit="onSubmit"
|
<Form @submit="onSubmit"
|
||||||
@invalid-submit="onInvalidSubmit"
|
@invalid-submit="onInvalidSubmit"
|
||||||
ref="theForm"
|
ref="theForm"
|
||||||
v-slot="{ meta }" >
|
>
|
||||||
<div class="page-container-grouped-styles">
|
<div class="page-container-grouped-styles">
|
||||||
<div class="fade-on-route-transition position-relative">
|
<div class="fade-on-route-transition position-relative">
|
||||||
<siteHeader cmsWidgetName="SiteHeaderWidget" />
|
<siteHeader cmsWidgetName="SiteHeaderWidget" />
|
||||||
<siteSubHeader cmsWidgetName="SiteSubHeader" id="sub-header" class="mb-5" />
|
<siteSubHeader cmsWidgetName="SiteSubHeader" id="sub-header" class="mb-5" />
|
||||||
|
|
||||||
<buttonQuestion ref="buttonQuestion"
|
<buttonQuestion ref="buttonQuestion"
|
||||||
|
questionText="Select an option:"
|
||||||
:answers="prefAnswers"
|
:answers="prefAnswers"
|
||||||
:groupName="prefQuestions"
|
:groupName="prefQuestions"
|
||||||
buttonTypeString="providerPrefRadio"
|
buttonTypeString="providerPrefRadio"
|
||||||
:buttonTypeObject="providerPrefRadio"
|
|
||||||
v-model="selectedProvider"
|
v-model="selectedProvider"
|
||||||
:validationRules="option-required"
|
:validationRules="option-required"
|
||||||
:isRequired="isRequired"
|
isRequired
|
||||||
class="mx-4" />
|
class="mx-4" />
|
||||||
|
|
||||||
<siteFooter
|
<siteFooter
|
||||||
|
|
@ -24,11 +25,11 @@
|
||||||
@forwardClicked="forwardButtonAction"
|
@forwardClicked="forwardButtonAction"
|
||||||
ref="siteFooter" />
|
ref="siteFooter" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<contentGroupModal cmsWidgetName="ShopPreferenceDrawer"
|
</Form>
|
||||||
ref="ShopPreferenceDrawer"
|
|
||||||
/>
|
<contentGroupModal cmsWidgetName="ShopPreferenceDrawer" ref="ShopPreferenceDrawer" />
|
||||||
|
|
||||||
<modal
|
<modal
|
||||||
ref="SteeringModal"
|
ref="SteeringModal"
|
||||||
modalId="SteeringModal"
|
modalId="SteeringModal"
|
||||||
|
|
@ -40,7 +41,7 @@
|
||||||
<div v-if="steeringModalBody2">{{steeringModalBody2}}</div>
|
<div v-if="steeringModalBody2">{{steeringModalBody2}}</div>
|
||||||
</div>
|
</div>
|
||||||
</modal>
|
</modal>
|
||||||
</Form>
|
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
// Import Supporting Files
|
// Import Supporting Files
|
||||||
|
|
@ -55,7 +56,7 @@ import { states } from "@/constants/states"
|
||||||
|
|
||||||
// Import Component
|
// Import Component
|
||||||
import baseFormMixin from "@/mixins/base-form-mixin";
|
import baseFormMixin from "@/mixins/base-form-mixin";
|
||||||
import { Form,defineRule } from "vee-validate";
|
import { Form, defineRule } from "vee-validate";
|
||||||
import siteFooter from "@/iss-components/site-footer/site-footer";
|
import siteFooter from "@/iss-components/site-footer/site-footer";
|
||||||
import siteHeader from "@/iss-components/site-header/site-header";
|
import siteHeader from "@/iss-components/site-header/site-header";
|
||||||
import siteSubHeader from "@/iss-components/site-sub-header/site-sub-header";
|
import siteSubHeader from "@/iss-components/site-sub-header/site-sub-header";
|
||||||
|
|
@ -172,18 +173,18 @@ export default {
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
backButtonAction() {
|
backButtonAction() {
|
||||||
/**
|
|
||||||
* this.navigationScenarios comes from base-mixin
|
|
||||||
*/
|
|
||||||
this.$router.navigate(this.navigationScenarios.CLICKED_BACK, this.$route);
|
this.$router.navigate(this.navigationScenarios.CLICKED_BACK, this.$route);
|
||||||
},
|
},
|
||||||
forwardButtonAction() {
|
forwardButtonAction() {
|
||||||
//todo
|
console.log("here!")
|
||||||
|
if(this.selectedProvider.toLowerCase() == "safeliteoption")
|
||||||
|
{
|
||||||
this.$router.navigate(this.navigationScenarios.CLICKED_FORWARD_WITH_SAFELITE, this.$route);
|
this.$router.navigate(this.navigationScenarios.CLICKED_FORWARD_WITH_SAFELITE, this.$route);
|
||||||
//if(this.selectedProvider == "Schedule with Safelite")
|
}
|
||||||
//{
|
else
|
||||||
// this.$router.navigate(this.navigationScenarios.CLICKED_FORWARD_WITH_SAFELITE, this.$route);
|
{
|
||||||
//}
|
this.$router.navigate(this.navigationScenarios.CLICKED_FORWARD_WITH_TPA, this.$route);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
closeSteeringModal() {
|
closeSteeringModal() {
|
||||||
this.$refs["SteeringModal"].closeModal();
|
this.$refs["SteeringModal"].closeModal();
|
||||||
|
|
@ -197,12 +198,11 @@ export default {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss" >
|
||||||
#sub-header span{
|
#sub-header span{
|
||||||
color: $black;
|
color: $black;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.modal-link a{
|
.modal-link a{
|
||||||
color: $blue-700;
|
color: $blue-700;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
|
|
@ -211,6 +211,7 @@ export default {
|
||||||
}
|
}
|
||||||
.question-text {
|
.question-text {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
|
margin-bottom: .5rem;
|
||||||
& > span {
|
& > span {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -440,6 +440,10 @@ const routingTable = function(store) {
|
||||||
{
|
{
|
||||||
scenario: navigationScenarios.CLICKED_FORWARD_WITH_SAFELITE,
|
scenario: navigationScenarios.CLICKED_FORWARD_WITH_SAFELITE,
|
||||||
destinationIssPageValue: issPageValues.SERVICE_LOCATION
|
destinationIssPageValue: issPageValues.SERVICE_LOCATION
|
||||||
|
},
|
||||||
|
{
|
||||||
|
scenario: navigationScenarios.CLICKED_FORWARD_WITH_TPA,
|
||||||
|
destinationIssPageValue: issPageValues.TPA_SEARCH
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,8 @@ html {
|
||||||
&.list-button-horizontal,
|
&.list-button-horizontal,
|
||||||
&.list-button,
|
&.list-button,
|
||||||
&.list-button.list-group,
|
&.list-button.list-group,
|
||||||
&.list-card {
|
&.list-card
|
||||||
|
&.option-label {
|
||||||
border: 1px solid $red;
|
border: 1px solid $red;
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 4;
|
z-index: 4;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue