Hooking into dynamic CMS
This commit is contained in:
parent
6b403ac340
commit
fd02085b10
2 changed files with 32 additions and 12 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<reviewBlock
|
<reviewBlock
|
||||||
:headerCmsWidgetName="cmsWidgetName"
|
:headerCmsWidgetName="packageNameWidget"
|
||||||
:content="displayContent"
|
:content="displayContent"
|
||||||
@edit-clicked="editClicked" />
|
@edit-clicked="editClicked" />
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -16,7 +16,9 @@ import { partTypeStrings } from "@/constants/part-type-strings";
|
||||||
export default {
|
export default {
|
||||||
name: "service-package-review",
|
name: "service-package-review",
|
||||||
props: {
|
props: {
|
||||||
cmsWidgetName: String,
|
servicePackageOptionsCmsName: String,
|
||||||
|
defaultPackageItemsCmsName: String,
|
||||||
|
vapsPackageItemsCmsName: String,
|
||||||
availableLineItems: Array,
|
availableLineItems: Array,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
|
|
@ -30,23 +32,36 @@ export default {
|
||||||
computed: {
|
computed: {
|
||||||
displayContent() {
|
displayContent() {
|
||||||
return [
|
return [
|
||||||
...this.packageName,
|
|
||||||
"-",
|
|
||||||
...this.defaultPackageText,
|
...this.defaultPackageText,
|
||||||
...this.frontWipersText,
|
...this.frontWipersText,
|
||||||
...this.rearWipersText,
|
...this.rearWipersText,
|
||||||
...this.rainDefenseText,
|
...this.rainDefenseText,
|
||||||
];
|
];
|
||||||
},
|
},
|
||||||
packageName() {
|
packageNameWidget() {
|
||||||
return [this.packageLevel];
|
let servicePackageNames = this.getCmsContent(
|
||||||
|
this.servicePackageOptionsCmsName,
|
||||||
|
"Answers"
|
||||||
|
);
|
||||||
|
|
||||||
|
if(!servicePackageNames) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
let currentPackage = servicePackageNames.find(
|
||||||
|
(entry) => entry.Name === this.packageLevel
|
||||||
|
);
|
||||||
|
|
||||||
|
return currentPackage.SubWidgetName;
|
||||||
},
|
},
|
||||||
defaultPackageText() {
|
defaultPackageText() {
|
||||||
return [
|
let defaultItems = this.getCmsContent(this.defaultPackageItemsCmsName, "Answers");
|
||||||
"New replacement windshield",
|
|
||||||
"Expert installation and recalibration",
|
if(!defaultItems) {
|
||||||
"Nationwide lifetime warranty",
|
return [];
|
||||||
];
|
}
|
||||||
|
|
||||||
|
return defaultItems.map((answer) => answer.Text);
|
||||||
},
|
},
|
||||||
hasFrontWiperVAPS() {
|
hasFrontWiperVAPS() {
|
||||||
return containsLineItemWithPartType(partTypeStrings.FRONT_WIPER, this.vaps);
|
return containsLineItemWithPartType(partTypeStrings.FRONT_WIPER, this.vaps);
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,9 @@
|
||||||
<hr class="my-0" />
|
<hr class="my-0" />
|
||||||
|
|
||||||
<servicePackageReview
|
<servicePackageReview
|
||||||
cmsWidgetName="ServicePackageReviewWidget"
|
servicePackageOptionsCmsName="ServicePackageTitle"
|
||||||
|
defaultPackageItemsCmsName="DefaultPackageItemDescriptions"
|
||||||
|
vapsItemsCmsName="VapsItemDescriptions"
|
||||||
:availableLineItems="availableLineItems"
|
:availableLineItems="availableLineItems"
|
||||||
@edit-clicked="editServicePackage" />
|
@edit-clicked="editServicePackage" />
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -115,8 +117,11 @@ export default {
|
||||||
];
|
];
|
||||||
|
|
||||||
const resultMap = await settleAllPromises(promiseResultMap);
|
const resultMap = await settleAllPromises(promiseResultMap);
|
||||||
|
console.log(resultMap);
|
||||||
|
console.log(next);
|
||||||
|
|
||||||
next((vm) => {
|
next((vm) => {
|
||||||
|
console.log("next on review");
|
||||||
vm.setCmsContent(resultMap.cmsContent);
|
vm.setCmsContent(resultMap.cmsContent);
|
||||||
|
|
||||||
vm.availableWipers = resultMap.wipers;
|
vm.availableWipers = resultMap.wipers;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue