diff --git a/src/layouts/review/review-sections/service-package-review/service-package-review.vue b/src/layouts/review/review-sections/service-package-review/service-package-review.vue index c842c18c9..c6bdfa491 100644 --- a/src/layouts/review/review-sections/service-package-review/service-package-review.vue +++ b/src/layouts/review/review-sections/service-package-review/service-package-review.vue @@ -11,6 +11,9 @@ import { getHighestFullySatisfiedTier, containsLineItemWithPartType, } from "@/helpers/service-package-helper"; +import { settleAllPromises } from "@/helpers/layout-helper"; +import baseMixin from "@/mixins/base-mixin.js"; +import { storeActions } from "@/constants/store-actions"; export default { name: "service-package-review", @@ -18,14 +21,39 @@ export default { servicePackageOptionsCmsName: String, defaultPackageItemsCmsName: String, vapsItemsCmsName: String, - availableVaps: Array, lineItems: Object, damage: Object, }, data() { - return {}; + return { + availableVaps: [], + }; }, methods: { + loadInitialData() { + const wipersPromise = baseMixin.methods.dispatchStoreAction(storeActions.GET_WIPERS); + const rainDefensePromise = baseMixin.methods.dispatchStoreAction( + storeActions.GET_RAIN_DEFENSE + ); + + const promiseResultMap = [ + { + resultKey: "wipers", + promise: wipersPromise, + }, + { + resultKey: "rainDefense", + promise: rainDefensePromise, + }, + ]; + + return settleAllPromises(promiseResultMap); + }, + initializeComponent(apiResponses) { + const vapsFromApi = [...apiResponses.wipers, apiResponses.rainDefense]; + + this.availableVaps = vapsFromApi; + }, editClicked() { this.$emit("edit-clicked"); }, diff --git a/src/layouts/review/review.vue b/src/layouts/review/review.vue index ddbc0e709..e28b8a95e 100644 --- a/src/layouts/review/review.vue +++ b/src/layouts/review/review.vue @@ -55,11 +55,11 @@