Hooking into dynamic CMS

This commit is contained in:
Chloe Herd 2023-07-12 09:16:03 -04:00
parent 6b403ac340
commit fd02085b10
2 changed files with 32 additions and 12 deletions

View file

@ -1,6 +1,6 @@
<template>
<reviewBlock
:headerCmsWidgetName="cmsWidgetName"
:headerCmsWidgetName="packageNameWidget"
:content="displayContent"
@edit-clicked="editClicked" />
</template>
@ -16,7 +16,9 @@ import { partTypeStrings } from "@/constants/part-type-strings";
export default {
name: "service-package-review",
props: {
cmsWidgetName: String,
servicePackageOptionsCmsName: String,
defaultPackageItemsCmsName: String,
vapsPackageItemsCmsName: String,
availableLineItems: Array,
},
data() {
@ -30,23 +32,36 @@ export default {
computed: {
displayContent() {
return [
...this.packageName,
"-",
...this.defaultPackageText,
...this.frontWipersText,
...this.rearWipersText,
...this.rainDefenseText,
];
},
packageName() {
return [this.packageLevel];
packageNameWidget() {
let servicePackageNames = this.getCmsContent(
this.servicePackageOptionsCmsName,
"Answers"
);
if(!servicePackageNames) {
return "";
}
let currentPackage = servicePackageNames.find(
(entry) => entry.Name === this.packageLevel
);
return currentPackage.SubWidgetName;
},
defaultPackageText() {
return [
"New replacement windshield",
"Expert installation and recalibration",
"Nationwide lifetime warranty",
];
let defaultItems = this.getCmsContent(this.defaultPackageItemsCmsName, "Answers");
if(!defaultItems) {
return [];
}
return defaultItems.map((answer) => answer.Text);
},
hasFrontWiperVAPS() {
return containsLineItemWithPartType(partTypeStrings.FRONT_WIPER, this.vaps);

View file

@ -54,7 +54,9 @@
<hr class="my-0" />
<servicePackageReview
cmsWidgetName="ServicePackageReviewWidget"
servicePackageOptionsCmsName="ServicePackageTitle"
defaultPackageItemsCmsName="DefaultPackageItemDescriptions"
vapsItemsCmsName="VapsItemDescriptions"
:availableLineItems="availableLineItems"
@edit-clicked="editServicePackage" />
</div>
@ -115,8 +117,11 @@ export default {
];
const resultMap = await settleAllPromises(promiseResultMap);
console.log(resultMap);
console.log(next);
next((vm) => {
console.log("next on review");
vm.setCmsContent(resultMap.cmsContent);
vm.availableWipers = resultMap.wipers;