Fetch text from cms

This commit is contained in:
Chloe Herd 2023-08-31 15:38:12 -04:00
parent 0777a1ec57
commit f14c424d23

View file

@ -2,7 +2,7 @@
<div class="payment-method-question"> <div class="payment-method-question">
<buttonQuestion <buttonQuestion
groupName="payment-time" groupName="payment-time"
questionText="Time text" :questionText="paymentTimeQuestionText"
:answers="paymentTimeAnswerData" :answers="paymentTimeAnswerData"
isRequired isRequired
v-model="paymentTime" v-model="paymentTime"
@ -11,10 +11,11 @@
<hr /> <hr />
<buttonQuestion <buttonQuestion
groupName="payment-method" groupName="payment-method"
questionText="Method Text" :questionText="paymentMethodQuestionText"
:answers="paymentMethodAnswerData" :answers="paymentMethodAnswerData"
isRequired isRequired
v-model="selectedMethod" /> v-model="selectedMethod"
textPosition="text-start" />
</div> </div>
</div> </div>
</template> </template>
@ -58,6 +59,15 @@ export default {
return payTimes.ADVANCE; return payTimes.ADVANCE;
}, },
getAnswersNullSafe(widgetName) {
const rawData = this.getCmsContent(widgetName, "Answers");
if (!rawData) {
return [];
} else {
return rawData;
}
},
}, },
computed: { computed: {
selectedMethod: { selectedMethod: {
@ -71,43 +81,35 @@ export default {
shouldDisplaySecondaryQuestion() { shouldDisplaySecondaryQuestion() {
return this.paymentTime === payTimes.ADVANCE; return this.paymentTime === payTimes.ADVANCE;
}, },
paymentTimeQuestionText() {
return this.getCmsContent("PaymentTimeWidget", "QuestionText");
},
paymentMethodQuestionText() {
return this.getCmsContent("PaymentMethodWidget", "QuestionText");
},
paymentTimeAnswerData() { paymentTimeAnswerData() {
return [ const cmsData = this.getAnswersNullSafe("PaymentTimeWidget");
{
buttonLabel: "Pay now", return cmsData.map((answer) => {
altText: "Pay now", return {
buttonLabel: answer.Text,
altText: answer.Text,
groupName: "payment-time", groupName: "payment-time",
value: payTimes.ADVANCE, value: answer.Name,
}, };
{ });
buttonLabel: "Pay during my appointment",
altText: "Pay during my appointment",
groupName: "payment-time",
value: payTimes.LATER,
},
];
}, },
paymentMethodAnswerData() { paymentMethodAnswerData() {
return [ const cmsData = this.getAnswersNullSafe("PaymentMethodWidget");
{
buttonLabel: "Credit or Debit", return cmsData.map((answer) => {
altText: "Credit or Debit", return {
buttonLabel: answer.Text,
altText: answer.Text,
groupName: "payment-method", groupName: "payment-method",
value: paymentMethods.CREDIT_CARD, value: answer.Name,
}, };
{ });
buttonLabel: "Paypal",
altText: "Paypal",
groupName: "payment-method",
value: paymentMethods.PAYPAL,
},
{
buttonLabel: "Afterpay",
altText: "Afterpay",
groupName: "payment-method",
value: paymentMethods.AFTERPAY,
},
];
}, },
}, },
watch: { watch: {
@ -127,7 +129,7 @@ export default {
<style lang="scss"> <style lang="scss">
.payment-method-question { .payment-method-question {
span { .question-text span {
text-align: left; text-align: left;
} }
} }