52 lines
No EOL
1.6 KiB
Vue
52 lines
No EOL
1.6 KiB
Vue
<template>
|
|
<div>
|
|
<div class="fade-on-route-transition">
|
|
<siteHeader cmsWidgetName="Header"/>
|
|
<p>Welcome Page Placeholder</p>
|
|
<br />
|
|
<navButton type="button" text="Next" :scenario="this.navigationScenarios.CLICKED_FORWARD"></navButton>
|
|
<navButton text="Google" :scenario="this.navigationScenarios.CLICKED_TEST"></navButton>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import navButton from "@/common-components/nav-button/nav-button";
|
|
import siteHeader from '@/common-components/site-header/site-header';
|
|
import { fetchCmsContentForPage } from "@/helpers/cms-content-helper";
|
|
import { settleAllPromises } from "@/helpers/layout-helper";
|
|
|
|
|
|
export default {
|
|
name: "welcome-page",
|
|
components: { navButton, siteHeader },
|
|
async beforeRouteEnter(to, from, next)
|
|
{
|
|
// Call APIs
|
|
const cmsContentPromise = fetchCmsContentForPage(to.query.issPage);
|
|
|
|
// Settle promises and get results
|
|
const promiseResultMap = [
|
|
{
|
|
resultKey: "cmsContent",
|
|
promise: cmsContentPromise,
|
|
},
|
|
];
|
|
|
|
//use resultMap to populate layout content.
|
|
let resultMap = await settleAllPromises(promiseResultMap);
|
|
|
|
next((vm) => {
|
|
vm.setCmsContent(resultMap.cmsContent);
|
|
});
|
|
},
|
|
}
|
|
</script>
|
|
|
|
<style scoped>
|
|
p {
|
|
font-weight: bold;
|
|
color: purple;
|
|
}
|
|
|
|
</style> |