Merge branch 'develop' into feature/CASH-273
This commit is contained in:
commit
554bc756bd
6 changed files with 78 additions and 21 deletions
|
|
@ -19,6 +19,7 @@ const experimentSettings = {
|
||||||
INSURANCE_TAB_TO_DISPLAY_THRESHOLD_EXTERNAL: "NextGen_ExternalInsuranceTabDisplayThreshold",
|
INSURANCE_TAB_TO_DISPLAY_THRESHOLD_EXTERNAL: "NextGen_ExternalInsuranceTabDisplayThreshold",
|
||||||
DISPLAY_MSR: "DisplayMSR",
|
DISPLAY_MSR: "DisplayMSR",
|
||||||
PRICING_BY_DAY: "DisplayPricingByDay",
|
PRICING_BY_DAY: "DisplayPricingByDay",
|
||||||
|
FOSTER_LOVE: "DisplayFosterLove",
|
||||||
};
|
};
|
||||||
|
|
||||||
const experimentTriggers = {
|
const experimentTriggers = {
|
||||||
|
|
|
||||||
|
|
@ -99,8 +99,16 @@
|
||||||
// Supporting files
|
// Supporting files
|
||||||
import loader from "@/ux-components/loader/loader";
|
import loader from "@/ux-components/loader/loader";
|
||||||
import store from "@/store";
|
import store from "@/store";
|
||||||
import { TIMINGFUNC_MAP, BUFFER_OFFSET, MONTHS_OF_YEAR } from "@/digital-components/date-picker/mixins/constants";
|
import {
|
||||||
import { selectableDaysOptions, requiredParameter, forceTwoDigitString } from "@/digital-components/date-picker/mixins/helpers";
|
TIMINGFUNC_MAP,
|
||||||
|
BUFFER_OFFSET,
|
||||||
|
MONTHS_OF_YEAR,
|
||||||
|
} from "@/digital-components/date-picker/mixins/constants";
|
||||||
|
import {
|
||||||
|
selectableDaysOptions,
|
||||||
|
requiredParameter,
|
||||||
|
forceTwoDigitString,
|
||||||
|
} from "@/digital-components/date-picker/mixins/helpers";
|
||||||
import {
|
import {
|
||||||
convertDateToDateString,
|
convertDateToDateString,
|
||||||
convertDateStringToDate,
|
convertDateStringToDate,
|
||||||
|
|
@ -111,7 +119,7 @@ import { deepClone } from "@/helpers/object-helper";
|
||||||
import { v4 as uuidv4 } from "uuid";
|
import { v4 as uuidv4 } from "uuid";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "datePicker2",
|
name: "datePickerForPricingByDay",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
isLoading: true,
|
isLoading: true,
|
||||||
|
|
@ -20,7 +20,9 @@
|
||||||
target="_blank" />
|
target="_blank" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="px-4" :class="[showDonationSuccess ? 'hide-donation-block' : 'show-donation-block']">
|
<div
|
||||||
|
class="px-4"
|
||||||
|
:class="[showDonationSuccess ? 'hide-donation-block' : 'show-donation-block']">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="donation-slider my-4">
|
<div class="donation-slider my-4">
|
||||||
|
|
@ -31,9 +33,17 @@
|
||||||
:value="donationValues[0]"
|
:value="donationValues[0]"
|
||||||
checked />
|
checked />
|
||||||
<label for="one" class="label">$1</label>
|
<label for="one" class="label">$1</label>
|
||||||
<input name="amount" id="three" type="radio" :value="donationValues[1]" />
|
<input
|
||||||
|
name="amount"
|
||||||
|
id="three"
|
||||||
|
type="radio"
|
||||||
|
:value="donationValues[1]" />
|
||||||
<label for="three" class="label">$3</label>
|
<label for="three" class="label">$3</label>
|
||||||
<input name="amount" id="five" type="radio" :value="donationValues[2]" />
|
<input
|
||||||
|
name="amount"
|
||||||
|
id="five"
|
||||||
|
type="radio"
|
||||||
|
:value="donationValues[2]" />
|
||||||
<label for="five" class="label">$5</label>
|
<label for="five" class="label">$5</label>
|
||||||
<div class="indicator-bar"></div>
|
<div class="indicator-bar"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -201,19 +201,44 @@ export default {
|
||||||
If this experiment wins, move this to package-label ::before/::after below
|
If this experiment wins, move this to package-label ::before/::after below
|
||||||
*/
|
*/
|
||||||
&:before {
|
&:before {
|
||||||
top: 15px;
|
top: 0.9375rem;
|
||||||
}
|
}
|
||||||
&:after {
|
&:after {
|
||||||
top: 30px;
|
top: 1.875rem;
|
||||||
|
}
|
||||||
|
@include media-breakpoint-up(lg) {
|
||||||
|
&:before {
|
||||||
|
top: .5rem;
|
||||||
|
}
|
||||||
|
&:after {
|
||||||
|
top: 1.4375rem;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
span {
|
||||||
|
align-self: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
+ .package-label.pricing-by-day-pkg-lbl-ins {
|
+ .package-label.pricing-by-day-pkg-lbl-ins {
|
||||||
&:before {
|
&:before {
|
||||||
top: 5px;
|
top: .3125rem;
|
||||||
}
|
}
|
||||||
&:after {
|
&:after {
|
||||||
top: 20px;
|
top: 1.25rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ .package-label.pricing-by-day-pkg-lbl {
|
||||||
|
&:before {
|
||||||
|
top: 0.9375rem;
|
||||||
|
@include media-breakpoint-up(lg) {
|
||||||
|
top: .3125rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&:after {
|
||||||
|
top: 1.25rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -233,8 +258,7 @@ export default {
|
||||||
min-height: 52px;
|
min-height: 52px;
|
||||||
max-height: 126px;
|
max-height: 126px;
|
||||||
@include media-breakpoint-up(md) {
|
@include media-breakpoint-up(md) {
|
||||||
max-height: 500px;
|
max-height: 500px;
|
||||||
padding-bottom: 3rem;
|
|
||||||
}
|
}
|
||||||
transition: max-height 0.25s ease-in;
|
transition: max-height 0.25s ease-in;
|
||||||
|
|
||||||
|
|
@ -351,7 +375,8 @@ export default {
|
||||||
&.pricing-info-pricing-by-day {
|
&.pricing-info-pricing-by-day {
|
||||||
text-align: end;
|
text-align: end;
|
||||||
color: $green;
|
color: $green;
|
||||||
font-size: 0.875rem;
|
font-size: 1rem;
|
||||||
|
line-height: 1;
|
||||||
span.strikethrough-price {
|
span.strikethrough-price {
|
||||||
text-decoration: line-through;
|
text-decoration: line-through;
|
||||||
font-size: 0.75rem;
|
font-size: 0.75rem;
|
||||||
|
|
@ -377,6 +402,7 @@ export default {
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
align-self: flex-start;
|
align-self: flex-start;
|
||||||
|
line-height: 1;
|
||||||
div.strikethrough-discount-price {
|
div.strikethrough-discount-price {
|
||||||
display: inline;
|
display: inline;
|
||||||
text-decoration: line-through;
|
text-decoration: line-through;
|
||||||
|
|
@ -393,8 +419,12 @@ export default {
|
||||||
div.discount-price {
|
div.discount-price {
|
||||||
color: $green;
|
color: $green;
|
||||||
display: inline;
|
display: inline;
|
||||||
|
font-size: 1rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.caption {
|
||||||
|
font-size: 0.625rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
ul {
|
ul {
|
||||||
margin: 1rem 0 0 -5px;
|
margin: 1rem 0 0 -5px;
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@
|
||||||
:isItac="isItac"
|
:isItac="isItac"
|
||||||
:isNoComp="isNoComp" />
|
:isNoComp="isNoComp" />
|
||||||
|
|
||||||
<div class="mt-3">
|
<div class="mt-3" v-if="displayFosterLove">
|
||||||
<donationBlock
|
<donationBlock
|
||||||
cmsWidgetName="DonationWidget"
|
cmsWidgetName="DonationWidget"
|
||||||
v-model="donationAmount"
|
v-model="donationAmount"
|
||||||
|
|
@ -245,6 +245,12 @@ export default {
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
DisplayFosterLove() {
|
||||||
|
return experimentMixin.methods.hasSettingEqualTo(
|
||||||
|
experimentSettings.FOSTER_LOVE,
|
||||||
|
"true"
|
||||||
|
);
|
||||||
|
},
|
||||||
isRecalibrationOnOrder() {
|
isRecalibrationOnOrder() {
|
||||||
return containsRecalParts(this?.lineItems);
|
return containsRecalParts(this?.lineItems);
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,8 @@
|
||||||
marginTopSizeOverride="1" />
|
marginTopSizeOverride="1" />
|
||||||
</template>
|
</template>
|
||||||
<locationAlerts cmsWidgetPrefix="LocationAlert-" ref="locationAlerts" />
|
<locationAlerts cmsWidgetPrefix="LocationAlert-" ref="locationAlerts" />
|
||||||
<datePicker
|
<datePickerForPricingByDay
|
||||||
v-if="!isPricingByDayExperiment"
|
v-if="isPricingByDayExperiment"
|
||||||
customComponentId="dateQuestion"
|
customComponentId="dateQuestion"
|
||||||
selectableDatesSetting="custom"
|
selectableDatesSetting="custom"
|
||||||
ref="datePicker"
|
ref="datePicker"
|
||||||
|
|
@ -28,8 +28,8 @@
|
||||||
:customSelectableDatesCallback="getAvailableDatesMethod"
|
:customSelectableDatesCallback="getAvailableDatesMethod"
|
||||||
validationRules="date-required"
|
validationRules="date-required"
|
||||||
@date-clicked="openInshopTimeSlotsModal" />
|
@date-clicked="openInshopTimeSlotsModal" />
|
||||||
<datePicker2
|
<datePicker
|
||||||
v-if="isPricingByDayExperiment"
|
v-else
|
||||||
customComponentId="dateQuestion"
|
customComponentId="dateQuestion"
|
||||||
selectableDatesSetting="custom"
|
selectableDatesSetting="custom"
|
||||||
ref="datePicker"
|
ref="datePicker"
|
||||||
|
|
@ -81,7 +81,7 @@ import funnelSubHeader from "@/fmg-components/funnel-sub-header/funnel-sub-heade
|
||||||
import loadingModal from "@/fmg-components/loading-modal/loading-modal.vue";
|
import loadingModal from "@/fmg-components/loading-modal/loading-modal.vue";
|
||||||
import { Form, defineRule } from "vee-validate";
|
import { Form, defineRule } from "vee-validate";
|
||||||
import datePicker from "@/digital-components/date-picker/date-picker";
|
import datePicker from "@/digital-components/date-picker/date-picker";
|
||||||
import datePicker2 from "@/experiment-components/date-picker-2";
|
import datePickerForPricingByDay from "@/experiment-components/date-picker-for-pricing-by-day";
|
||||||
import locationAlerts from "@/layouts/schedule/location-alerts/location-alerts";
|
import locationAlerts from "@/layouts/schedule/location-alerts/location-alerts";
|
||||||
import timeSlotModalQuestion from "./time-slot-modal-question/time-slot-modal-question";
|
import timeSlotModalQuestion from "./time-slot-modal-question/time-slot-modal-question";
|
||||||
import textBlock from "@/digital-components/text-block/text-block";
|
import textBlock from "@/digital-components/text-block/text-block";
|
||||||
|
|
@ -227,13 +227,15 @@ export default {
|
||||||
preSelectedDate = null;
|
preSelectedDate = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
const datePickerInitialDataPromise = await datePicker2.methods.loadInitialData({
|
const datePickerInitialDataPromise = await datePicker.methods.loadInitialData({
|
||||||
// setup config options for date-picker
|
// setup config options for date-picker
|
||||||
selectableDatesSetting: "custom",
|
selectableDatesSetting: "custom",
|
||||||
initialViewRowsToShow: 5,
|
initialViewRowsToShow: 5,
|
||||||
customSelectableDatesCallback: getAvailableDates,
|
customSelectableDatesCallback: getAvailableDates,
|
||||||
preSelectedDate: preSelectedDate,
|
preSelectedDate: preSelectedDate,
|
||||||
});
|
});
|
||||||
|
// TODO - ONCE A DATEPICKER VERSION IS FINALIZED,
|
||||||
|
// MAKE SURE THE ABOVE METHOD loadInitialData POINTS TO THE RIGHT FILE
|
||||||
|
|
||||||
const premiumFeePromise = baseMixin.methods.dispatchStoreActionWithLogging(
|
const premiumFeePromise = baseMixin.methods.dispatchStoreActionWithLogging(
|
||||||
storeActions.GET_MOBILE_PREMIUM_FEE,
|
storeActions.GET_MOBILE_PREMIUM_FEE,
|
||||||
|
|
@ -559,7 +561,7 @@ export default {
|
||||||
Form,
|
Form,
|
||||||
loadingModal,
|
loadingModal,
|
||||||
datePicker,
|
datePicker,
|
||||||
datePicker2,
|
datePickerForPricingByDay,
|
||||||
locationAlerts,
|
locationAlerts,
|
||||||
timeSlotModalQuestion,
|
timeSlotModalQuestion,
|
||||||
textBlock,
|
textBlock,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue