Only portrait mode is currently supported - please rotate your device.
Page History
HTML |
---|
<link rel="stylesheet" type="text/css" href="https://gsvlabs-confluence-files.s3-us-west-2.amazonaws.com/stylesheets/ESG/eventsDashboardStylesheet.css" /> <script type="text/javascript" src="https://gsvlabs-confluence-files.s3-us-west-2.amazonaws.com/js/esg/eventsDashboardScript.js?v=1"></script> <style> .wiki-content .ev-banner-container .ev-banner-title .card-title { background-image: unset !important; -webkit-background-clip: unset !important; background-clip: unset !important; <!-- REBRAND STYLING --> <style> .wiki-content #announcementcontainer { background-color: #f3f1eb !important; } .wiki-content #announcementcontainer .announcementcard .card-subtitle { color: black !important; } .wiki-content #announcementcontainer .announcementcard .card-description { color: black !important; } .countryFilterContainer #country-placeholderwiki-content #announcementcontainer .announcementcard a { color: height: 45pxblack !important; min-heightborder: 45px; margin: 0pxnone !important; border-bottom: 1px solid black !important; padding: text-align: left0 !important; width: calc(100% - 40px); justify-content: space-between; auto !important; } .wiki-content .ev-cards-section .ev-cards-section-title { color: rgba(255, 255, 255, 0.69); padding: 0px 20px; cursor: text; position: relative; align-items: center; background: #1f1f1f; border: none; } .countryFilterContainer { justify-content: center black !important; } .change-slide-button { border: none !important; } div#my-watchlist-container { background: #f2b006 !important; } div#all-events { background: #006920 !important; } h2#CopyofDashboardRebrand-AllEvents { color: white !important; } .active, .cdot:hover { background-color: #1c662e !important; } .wiki-content .ev-search-container { background-color: #6797f3 !important; } .countryFilterContainerwiki-content #country#events-clear-buttonsearchbar { background: position: absolute#113867 !important; border: 1px right: 0pxsolid #113867 !important; } .attendeescountryFilterContainer { display: none border: 1px solid #113867 !important; } @media screen and (max-width: 640px) { .filtersContainer { justify-content: center.countryFilterContainer #country-placeholder { background: #113867 !important; } } </style> |
HTML |
---|
<style>
.wiki-content .ev-cards-outer-container {
background-image: none;
background-size: cover;
background-repeat: no-repeat;
background-color: #f3f1eb;
}
#announcements-wrapper > span.conf-macro {
height: 100%;
}
#additional-filters-button {
width: 280px;
}
.zran-event {
display: none;
}
@media only screen and (max-width: 480px) {
.events-search-main {
flex-direction: column;
align-items: center;
height: 75px;
flex-wrap: nowrap;
justify-content: flex-start;
padding-bottom: 0px;
overflow: hidden;
}
.wiki-content .ev-search-container {
padding-bottom: 45px;
}
.countryFilterContainer {
height: 49px !important;
min-height: 49px;
}
.countryFilterContainer #country-placeholder {
font-size: 14px;
}
}
</style>
<script>
// New Version of Format Date (Asynchronous)
async function formatDate2(d) {
const monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var hh = d.getHours();
var m = d.getMinutes();
var s = d.getSeconds();
var dd = "am";
var h = hh;
if (h >= 12) {
h = hh-12;
dd = "pm";
}
if (h == 0) {
h = 12;
}
m = m<10?"0"+m:m;
s = s<10?"0"+s:s;
var strTime = h+":"+m+" "+dd
return strTime + " on " + monthNames[d.getMonth()] + " " + d.getDate();
// return dayNames[d.getDay()] + ", " + monthNames[d.getMonth()] + " " + d.getDate() + " " + d.getFullYear() + ", " + strTime;
}
</script> |
#startdate, #enddate {
background: #113867 !important;
border: 1px solid #113867 !important;
}
.dateFilter {
color: #113867 !important;
}
.wiki-content .ev-cards-outer-container {
padding: 0px !important;
}
.eventcard {
border: 1px solid #113867 !important;
}
div#my-watchlist-container {
background: #f2b006 !important;
}
div#all-events {
background: #006920 !important;
}
h2#CopyofDashboardRebrand-AllEvents {
color: white !important;
}
#my-watchlist-container #no-watchlist-yet-message {
background-color: #113867 !important;
}
</style> |
HTML |
---|
<link rel="stylesheet" type="text/css" href="https://gsvlabs-confluence-files.s3-us-west-2.amazonaws.com/stylesheets/ESG/eventsDashboardStylesheet.css" />
<script type="text/javascript" src="https://gsvlabs-confluence-files.s3-us-west-2.amazonaws.com/js/esg/eventsDashboardScript.js?v=1"></script>
<style>
.wiki-content .ev-banner-container .ev-banner-title .card-title {
background-image: unset !important;
-webkit-background-clip: unset !important;
background-clip: unset !important;
color: black !important;
}
.countryFilterContainer #country-placeholder {
height: 45px;
min-height: 45px;
margin: 0px;
text-align: left;
width: calc(100% - 40px);
justify-content: space-between;
color: rgba(255, 255, 255, 0.69);
padding: 0px 20px;
cursor: text;
position: relative;
align-items: center;
background: #1f1f1f;
border: none;
}
.countryFilterContainer {
justify-content: center !important;
}
.countryFilterContainer #country-clear-button {
position: absolute;
right: 0px;
}
.attendees {
display: none;
}
@media screen and (max-width: 640px) {
.filtersContainer {
justify-content: center;
}
}
</style> |
HTML |
---|
<style>
.wiki-content .ev-cards-outer-container {
background-image: none;
background-size: cover;
background-repeat: no-repeat;
background-color: #f3f1eb;
}
#announcements-wrapper > span.conf-macro {
height: 100%;
}
#additional-filters-button {
width: 280px;
}
.zran-event {
display: none;
}
@media only screen and (max-width: 480px) {
.events-search-main {
flex-direction: column;
align-items: center;
height: 75px;
flex-wrap: nowrap;
justify-content: flex-start;
padding-bottom: 0px;
overflow: hidden;
}
.wiki-content .ev-search-container {
padding-bottom: 45px;
}
.countryFilterContainer {
height: 49px !important;
min-height: 49px;
}
.countryFilterContainer #country-placeholder {
font-size: 14px;
}
}
</style>
<script>
// New Version of Format Date (Asynchronous)
async function formatDate2(d) {
const monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var hh = d.getHours();
var m = d.getMinutes();
var s = d.getSeconds();
var dd = "am";
var h = hh;
if (h >= 12) {
h = hh-12;
dd = "pm";
}
if (h == 0) {
h = 12;
}
m = m<10?"0"+m:m;
s = s<10?"0"+s:s;
var strTime = h+":"+m+" "+dd
return strTime + " on " + monthNames[d.getMonth()] + " " + d.getDate();
// return dayNames[d.getDay()] + ", " + monthNames[d.getMonth()] + " " + d.getDate() + " " + d.getFullYear() + ", " + strTime;
}
</script> |
Custom section | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
Custom section | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
Show If | ||||||||||||||||||||||||||||||||||||||
|
Custom section | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
|
CustomCSS | flex-direction: column; width: 100%; max-width: 100%; |
---|---|
ContainerID | announcements-wrapper |
Class | ev-banner |
ConfiForms PlainView | ||||||
---|---|---|---|---|---|---|
| ||||||
<div class="announcementcard fade">
<div class="imgalign">
<img class="announcement-image" src="/download/attachments/95587037/[entry.image.asAttachment]"></img>
</div>
<div class="text-encompasser">
<div class="change-slide-buttons-container">
<div class="change-slide-button" onclick="plusSlides(-1)"><img src="/download/attachments/81517767/chev-left.png?api=v2" /></div>
<div class="change-slide-button" onclick="plusSlides(1)"><img src="/download/attachments/81517767/chev-right.png?api=v2" /></div>
</div>
<div class="text-container ev-banner-title">
<p class="card-title">[entry.title] </p>
</div>
<div class="text-container">
<font class="card-subtitle">[entry.subtitle] </font>
</div>
<div class="text-container">
<font class="card-description">[entry.description] </font>
</div>
<div class="announcement-links-container">
<a class="buttonHref" href="[entry.cardLink]" rel="nofollow" target="_blank" onclick="handleEventCardClick(this);" data-cardtype="announcement" data-cardurl="[entry.cardLink]" data-entryid="[entry.id]" data-cardtitle="[entry.title]">
[entry.cardButtonText]
</a>
</div>
</div>
</div> |
Carousel |
---|
Class | ev-search-container |
---|
HTML | |||
---|---|---|---|
<div class="filtersContainer events-search-main">
<div id="events-search-container">
<img src="/download/attachments/81517767/searchicon.png?api=v2" />
<input id="events-searchbar" type="text" autocomplete="off" placeholder="SEARCH FOR A SPECIFIC EVENT" />
</div>
<div class="countryFilterContainer">
<input type='text' id='country-placeholder' placeholder='Country' onkeyup='handleCountrySearch(this, event)' />
<ul id="countryFilter">
</ul>
<div id='country-clear-button' style="display:none;"><img src="/download/attachments/81517767/closeicon.png?api=v2" onclick="event.stopPropagation();clearFilter('countryFilter')" /></div>
</div>
<div class="dateFilterContainer">
<div class="dateFilter">
<p class="dateInputContainer"><input type="text" placeholder="Start Date" id="startdate"></p> <span>↔</span> <p class="dateInputContainer"><input type="text" placeholder="End Date" id="enddate"></p>
</div>
</div>
<div class="resetFilterContainer">
<a id="resetFilter">Clear All Filters</a>
</div>
</div>
<div id="additional-filters-button" style="display: none;">
<img
|
CustomCSS | flex-direction: column; |
---|---|
ContainerID | event-search-result-cards |
Class | ev-cards-section |
HTML | |||
---|---|---|---|
<h2
| |||
Custom section | |||
|
|
CustomCSS | display:none; |
---|---|
ContainerID | my-events-scrolly |
Class | ev-cards-section ev-cards-section-scrollable |
HTML |
---|
<h2 class="ev-cards-section-title">My Events</h2> |
Class | scrolling-ev-cards-wrapper |
---|
filter | ownedBy:[entry._user] |
---|---|
pageTitle | Create Event |
formName | createEvent |
sort | startDate asc |
ContainerID | upcoming-events-section |
---|---|
Class | ev-cards-section ev-cards-section-scrollable |
HTML |
---|
<h2 class="ev-cards-section-title">Upcoming Events</h2> |
|
Carousel |
---|
Class | scrolling-ev-cards-wrapper |
---|
filter | endDate:>=[now] AND publish:true |
---|---|
pageTitle | Create Event |
formName | createEvent |
sort | startDate asc |
ContainerID | my-watchlist-container |
---|---|
Class | ev-cards-section ev-cards-section-scrollable |
Custom section | |||||||
---|---|---|---|---|---|---|---|
| scrolling-
| cards
| wrapper
| ||||
|
HTML |
---|
</div> |
...
ContainerID | past-events-section |
---|---|
Class | ev-cards-section ev-cards-section-scrollable |
HTML |
---|
<h2 class="ev-cards-section-title">Past Events</h2> |
...
Class | scrolling-ev-cards-wrapper |
---|
...
filter | endDate:<[now] AND publish:true |
---|---|
pageTitle | Create Event |
formName | createEvent |
sort | startDate desc |
|
Custom section | |||||||
---|---|---|---|---|---|---|---|
| |||||||
|
HTML |
---|
<div class="ev-cards-outer-container">
<div id="ev-cards-main-view"> |
Custom section | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
|
Custom section | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
|
Custom section | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
|
HTML |
---|
</div> |
Custom section | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
|
Custom section | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||
|
Show If | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||
|
HTML |
---|
</div>
</div> |
HTML |
---|
<style>
#unpublished-events .conf-macro.output-block[data-macro-name=confiform-cleanview] {
padding: 0px 35px;
display: grid;
grid-template-columns: repeat(auto-fill, 280px);
grid-gap: 20px;
height: auto !important;
justify-content: space-evenly;
}
</style> |
HTML |
---|
<script>
const getMinutesUntilEventStart = (startDate) => {
let nowDate = new Date();
let eventStartDate = new Date(startDate);
let diffMilliseconds = eventStartDate.getTime() - nowDate.getTime();
let diffMinutes = (diffMilliseconds / 60000);
return diffMinutes;
}
const getMinutesUntilEventEnd = (endDate) => {
let nowDate = new Date();
let eventEndDate = new Date(endDate);
let diffMilliseconds = eventEndDate.getTime() - nowDate.getTime();
let diffMinutes = (diffMilliseconds / 60000);
return diffMinutes;
}
const showPastWatchIndicators = () => {
let pastEvents = document.getElementById('scroll-section-3');
let pastCards = Array.from(pastEvents.getElementsByClassName('eventcard'));
for (let i = 0; i < pastCards.length; i++) {
let currCard = pastCards[i];
// Check if event was offline
|
...
CustomCSS | flex-direction: column; |
---|---|
ContainerID | all-events |
Class | ev-cards-section |
HTML |
---|
<h2 class="ev-cards-section-title" style="margin-bottom: 60px;">All Events</h2> |
...
filter | publish:true |
---|---|
pageTitle | Create Event |
formName | createEvent |
sort | startDate ASC |
...
group | confluence-administrators,judging-administrators |
---|
...
CustomCSS | flex-direction: column; |
---|---|
ContainerID | unpublished-events |
Class | ev-cards-section |
HTML |
---|
<h2 class="ev-cards-section-title" style="margin-bottom: 60px;">Unpublished Events</h2> |
...
filter | publish:false |
---|---|
pageTitle | Create Event |
formName | createEvent |
sort | startDate ASC |
HTML |
---|
</div>
</div> |
HTML |
---|
<style>
#unpublished-events .conf-macro.output-block[data-macro-name=confiform-cleanview] {
padding: 0px 35px;
display: grid;
grid-template-columns: repeat(auto-fill, 280px);
grid-gap: 20px;
height: auto !important;
justify-content: space-evenly;
}
</style> |
HTML |
---|
<script> const getMinutesUntilEventStart = (startDate) => { let nowDate = new Date(); let eventStartDate = new Date(startDate); let diffMilliseconds = eventStartDate.getTime() - nowDate.getTime(); let diffMinutes = (diffMilliseconds / 60000); return diffMinutes; } const getMinutesUntilEventEnd = (endDate) => { let nowDate = new Date(); let eventEndDate = new Date(endDate); let diffMilliseconds = eventEndDate.getTime() - nowDate.getTime(); let diffMinutes = (diffMilliseconds / 60000); return diffMinutes; } const showPastWatchIndicators = () => { let pastEvents = document.getElementById('scroll-section-3'); let pastCards = Array.from(pastEvents.getElementsByClassName('eventcard')); for (let i = 0; i < pastCards.length; i++) { let currCard = pastCards[i]; // Check if event was offline if (currCard.dataset.offline == "true") { continue } let liveEl = document.createElement("div"); liveEl.classList.add('watch-indicator'); liveEl.innerHTML = "<img class='watch-indicator-icon' src='/download/attachments/81517767/playicon.png?api=v2' /> RECORDED"; currCard.insertAdjacentElement('afterbegin', liveEl); } let allEvents = document.getElementById('all-events'); let allCards = Array.from(allEvents.getElementsByClassName('eventcard')); for (let i = 0; i < allCards.length; i++) { let currCard = allCards[i]; let currCardEnd = currCard.dataset.enddate; let minsTilEnd = getMinutesUntilEventEnd(currCardEnd); if (minsTilEnd < 0) { // Check if event was offline if (currCard.dataset.offline == "true") { continue } let liveEl = document.createElement("div"); liveEl.classList.add('watch-indicator'); liveEl.innerHTML = "<img class='watch-indicator-icon' src='/download/attachments/81517767/playicon.png?api=v2' /> RECORDED"; currCard.insertAdjacentElement('afterbegin', liveEl); } else { // Live now or upcoming (show live indicator if minsTilStart <= 0) let currCardStart = currCard.dataset.startdate; let minsTilStart = getMinutesUntilEventStart(currCardStart); if (minsTilStart <= 0) { // Check if event is offline if (currCard.dataset.offline == "true") { continue continue; } } let liveEl = document.createElement("div"); liveEl.classList.add('livewatch-circleindicator'); liveEl.innerTextinnerHTML = "LIVE"; currCard.insertAdjacentElement('afterbegin', liveEl); } } } } window.addEventListener('load', () => {<img class='watch-indicator-icon' src='/download/attachments/81517767/playicon.png?api=v2' /> RECORDED"; currCard.insertAdjacentElement('afterbegin', liveEl); } let upcomingEventsallEvents = document.getElementById('upcomingall-events-section'); let upcomingCardsallCards = Array.from(upcomingEventsallEvents.getElementsByClassName('eventcard')); for (let i = 0; i < upcomingCardsallCards.length; i++) { let currCard = upcomingCardsallCards[i]; let currCardStartcurrCardEnd = currCard.dataset.startdateenddate; let minsTilStartminsTilEnd = getMinutesUntilEventStartgetMinutesUntilEventEnd(currCardStartcurrCardEnd); if (minsTilStartminsTilEnd <= 0) { // Check if event iswas offline if (currCard.dataset.offline == "true") { continue; } let liveEl = document.createElement("div"); liveEl.classList.add('watch-indicator'); liveEl.innerHTML = "<img class='watch-indicator-icon' src='/download/attachments/81517767/playicon.png?api=v2' liveEl.classList.add('live-circle'/> RECORDED"; currCard.insertAdjacentElement('afterbegin', liveEl); } else { // Live now or liveEl.innerText = "LIVE"; currCard.insertAdjacentElement('afterbegin', liveEl); } } //if (AJS.params.remoteUser == "alex@gsvlabs.comupcoming (show live indicator if minsTilStart <= 0) let currCardStart = currCard.dataset.startdate; let minsTilStart = getMinutesUntilEventStart(currCardStart); if (minsTilStart <= 0) { // Check if event is offline if (currCard.dataset.offline == "true") { showPastWatchIndicators() //} }); </script> <style> .live-circle { font-size: 13px; padding: 3px 18px; text-transform: uppercase; font-weight: bold; background-color: #cc1f1f; color: white; position: absolute; z-index: 2; margin: 8px 8px; box-shadow: 1px 1px 5px #00000054; } </style> <style> .watch-indicator { font-size: 12px; padding: 3px 10px; text-transform: uppercase; font-weight: bold; background-color: #036bc4; color: white; position: absolute; z-index: 2; margin: 8px 8px; box-shadow: 1px 1px 5px #00000054; border-radius: 3px; display: flex; justify-content: center; align-items: center; } .watch-indicator-icon { display: block; width: 14px !important; height: 14px !important; margin-right: 6px; padding-bottom: 2px; } </style> continue; } let liveEl = document.createElement("div"); liveEl.classList.add('live-circle'); liveEl.innerText = "LIVE"; currCard.insertAdjacentElement('afterbegin', liveEl); } } } } window.addEventListener('load', () => { let upcomingEvents = document.getElementById('upcoming-events-section'); let upcomingCards = Array.from(upcomingEvents.getElementsByClassName('eventcard')); for (let i = 0; i < upcomingCards.length; i++) { let currCard = upcomingCards[i]; let currCardStart = currCard.dataset.startdate; let minsTilStart = getMinutesUntilEventStart(currCardStart); if (minsTilStart <= 0) { // Check if event is offline if (currCard.dataset.offline == "true") { continue; } let liveEl = document.createElement("div"); liveEl.classList.add('live-circle'); liveEl.innerText = "LIVE"; currCard.insertAdjacentElement('afterbegin', liveEl); } } //if (AJS.params.remoteUser == "alex@gsvlabs.com") { showPastWatchIndicators() //} }); </script> <style> .live-circle { font-size: 13px; padding: 3px 18px; text-transform: uppercase; font-weight: bold; background-color: #cc1f1f; color: white; position: absolute; z-index: 2; margin: 8px 8px; box-shadow: 1px 1px 5px #00000054; } </style> <style> .watch-indicator { font-size: 12px; padding: 3px 10px; text-transform: uppercase; font-weight: bold; background-color: #036bc4; color: white; position: absolute; z-index: 2; margin: 8px 8px; box-shadow: 1px 1px 5px #00000054; border-radius: 3px; display: flex; justify-content: center; align-items: center; } .watch-indicator-icon { display: block; width: 14px !important; height: 14px !important; margin-right: 6px; padding-bottom: 2px; } </style> |
HTML |
---|
<style>
.wiki-content #announcementcontainer .announcementcard a {
color: black !important;
border: none;
border-bottom: 1px solid black !important;
padding: 0;
width: auto;
}
|
HTML |
<!-- REBRAND STYLING -->
<style>
.wiki-content #announcementcontainer {
background-color: #d7b8f7;
}
.wiki-content #announcementcontainer .announcementcard .card-subtitle {
color: black;
}
.wiki-content #announcementcontainer .announcementcard .card-description {
color: black;
}
.wiki-content .ev-cards-section .ev-cards-section-title {
color: black;
}
.wiki-content #announcementcontainer .announcementcard a {
color: black !important;
border: 1px solid black;
}
.change-slide-button {
border: none;
}
div#my-watchlist-container {
background: #f2b006;
}
div#all-events {
background: #006920;
}
h2#CopyofDashboardRebrand-AllEvents {
color: white;
}
.active, .cdot:hover {
background-color: #1c662e;
}
.wiki-content .ev-search-container {
background-color: #6797f3
}
.wiki-content #events-searchbar {
background: #113867;
border: 1px solid #113867;
}
.countryFilterContainer {
border: 1px solid #113867;
}
.countryFilterContainer #country-placeholder {
background: #113867;
}
#startdate, #enddate {
background: #113867;
border: 1px solid #113867;
}
.dateFilter {
color: #113867;
}
.wiki-content .ev-cards-outer-container {
padding: 0px;
}
.eventcard {
border: 1px solid #113867;
}
div#my-watchlist-container {
background: #f2b006;
}
div#all-events {
background: #006920;
}
h2#CopyofDashboardRebrand-AllEvents {
color: white;
}
#my-watchlist-container #no-watchlist-yet-message {
background-color: #113867;
}
</style> |