x
x
x
x
Only portrait mode is currently supported - please rotate your device.
...
Custom section | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||
|
Content Layout Macro |
---|
HTML |
---|
<div class="content">
<div class="cards-section">
<div id="category-cards" class="horizontal-cards">
</div>
</div>
</div>
<script>
const categories = [
{
title: "Finance & Accounting",
imgSrc: "https://gsvlabs-confluence-files.s3.us-west-2.amazonaws.com/images/MStanley/resourcePlaceholders/Finance+%26+Operations.jpeg",
redirect: "/display/MSPER/Finance+and+Accounting"
},
{
title: "Fundraising & Capital Markets",
imgSrc: "https://gsvlabs-confluence-files.s3.us-west-2.amazonaws.com/images/MStanley/resourcePlaceholders/Fundraising.jpeg",
redirect: "/display/MSPER/Fundraising+and+Capital+Markets"
}, {
title: "Leadership & Management",
imgSrc: "https://gsvlabs-confluence-files.s3.us-west-2.amazonaws.com/images/MStanley/resourcePlaceholders/Leadership.jpeg",
redirect: "/display/MSPER/Leadership+and+Management"
}, {
title: "Legal",
imgSrc: "https://gsvlabs-confluence-files.s3.us-west-2.amazonaws.com/images/MStanley/resourcePlaceholders/Legal.jpeg",
redirect: "/display/MSPER/Legal"
}, {
title: "PR & Communications",
imgSrc: "https://gsvlabs-confluence-files.s3.us-west-2.amazonaws.com/images/MStanley/resourcePlaceholders/Marketing+%26+PR.jpg",
redirect: "/display/MSPER/PR+and+Communications"
}, {
title: "Productivity",
imgSrc: "https://gsvlabs-confluence-files.s3.us-west-2.amazonaws.com/images/MStanley/resourcePlaceholders/Marketing+%26+PR.jpg",
redirect: "/display/MSPER/Productivity"
}, {
title: "Sales & Marketing",
imgSrc: "https://gsvlabs-confluence-files.s3.us-west-2.amazonaws.com/images/MStanley/resourcePlaceholders/Sales+%26+Customer+Acquisition.jpeg",
redirect: "/display/MSPER/Sales+and+Marketing"
}, {
title: "Talent Management",
imgSrc: "https://gsvlabs-confluence-files.s3.us-west-2.amazonaws.com/images/MStanley/resourcePlaceholders/Talent+%26+HR.jpeg",
redirect: "/display/MSPER/Talent+Management"
}, {
title: "Technology & Product Development",
imgSrc: "https://gsvlabs-confluence-files.s3.us-west-2.amazonaws.com/images/MStanley/resourcePlaceholders/Technology+%26+Product+Development.jpeg",
redirect: "/display/MSPER/Technology+and+Product+Development"
}
]
// renders the profile cards
async function renderCards(cards, tab) {
let cardsDiv = document.getElementById('category-cards')
cardsDiv.innerHTML = "";
let cardsArray = []
if (cards.length) {
let promiseArr = Object.values(cards).map((card) => createProfileHTML(card, tab));
cardsArray = await Promise.all(promiseArr) // wait for array of promises to resolve
} else {
cardsArray.push(`<p class="not-available">Not Available!</p>`);
}
cardsDiv.insertAdjacentHTML('beforeend', cardsArray.join(""));
}
// create html for the profile cards
async function createProfileHTML(card, tab) {
const { title, imgSrc, redirect } = card;
let myPromise = new Promise(async (resolve, reject) => {
try {
const profileHTML = `
<a class="custom-card-link-styling" onclick="handleCardClick('${title}','${redirect}')">
<div class="card" style="background-image: url(${imgSrc});">
<div class="body">
<p class="name"> ${title}</p>
</div>
</div>
</a>`
resolve(profileHTML);
} catch (error) {
throw (error);
reject()
}
});
return await myPromise;
}
function handleCardClick(title, redirect) {
window.location.href = redirect;
}
renderCards(categories);
</script>
|
OneValley