123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- import { getDeviceState } from '../core'
- function fourColumnRow (gallery, entries, i) {
- const entry1 = document.createElement('div')
- entry1.classList.add('col-lg-6', 'm-0', 'p-0')
- entry1.appendChild(entries[i].cloneNode(true))
- entry1.children[0].classList.add('img-type-1')
- gallery.appendChild(entry1)
- i++
- const entry2 = document.createElement('div')
- entry2.classList.add('col-lg-3', 'm-0', 'p-0')
- entry2.appendChild(entries[i].cloneNode(true))
- entry2.children[0].classList.add('img-type-1')
- gallery.appendChild(entry2)
- i++
- const entry3 = document.createElement('div')
- entry3.classList.add('col-lg-3', 'm-0', 'p-0')
- entry3.appendChild(entries[i].cloneNode(true))
- entry3.children[0].classList.add('img-type-2')
- i++
- entry3.appendChild(entries[i].cloneNode(true))
- entry3.children[1].classList.add('img-type-2')
- gallery.appendChild(entry3)
- i++
- }
- function fourColumnReversedRow (gallery, entries, i) {
- const entry1 = document.createElement('div')
- entry1.classList.add('col-lg-3', 'm-0', 'p-0')
- entry1.appendChild(entries[i].cloneNode(true))
- entry1.children[0].classList.add('img-type-2')
- i++
- entry1.appendChild(entries[i].cloneNode(true))
- entry1.children[1].classList.add('img-type-2')
- gallery.appendChild(entry1)
- i++
- const entry2 = document.createElement('div')
- entry2.classList.add('col-lg-3', 'm-0', 'p-0')
- entry2.appendChild(entries[i].cloneNode(true))
- entry2.children[0].classList.add('img-type-1')
- gallery.appendChild(entry2)
- i++
- const entry3 = document.createElement('div')
- entry3.classList.add('col-lg-6', 'm-0', 'p-0')
- entry3.appendChild(entries[i].cloneNode(true))
- entry3.children[0].classList.add('img-type-1')
- gallery.appendChild(entry3)
- i++
- }
- function threeColumnRow (gallery, entries, i) {
- console.log(i)
- const entry1 = document.createElement('div')
- entry1.classList.add('col-lg-6', 'col-md-6', 'm-0', 'p-0')
- entry1.appendChild(entries[i].cloneNode(true))
- entry1.children[0].classList.add('img-type-1')
- gallery.appendChild(entry1)
- i++
- const entry2 = document.createElement('div')
- entry2.classList.add('col-lg-3', 'col-md-3', 'm-0', 'p-0')
- entry2.appendChild(entries[i].cloneNode(true))
- entry2.children[0].classList.add('img-type-1')
- gallery.appendChild(entry2)
- i++
- const entry3 = document.createElement('div')
- entry3.classList.add('col-lg-3', 'col-md-3', 'm-0', 'p-0')
- entry3.appendChild(entries[i].cloneNode(true))
- entry3.children[0].classList.add('img-type-1')
- gallery.appendChild(entry3)
- i++
- }
- function threeColumnReversedRow (gallery, entries, i) {
- const entry1 = document.createElement('div')
- entry1.classList.add('col-lg-3', 'col-md-3', 'm-0', 'p-0')
- entry1.appendChild(entries[i].cloneNode(true))
- entry1.children[0].classList.add('img-type-1')
- gallery.appendChild(entry1)
- i++
- const entry2 = document.createElement('div')
- entry2.classList.add('col-lg-3', 'col-md-3', 'm-0', 'p-0')
- entry2.appendChild(entries[i].cloneNode(true))
- entry2.children[0].classList.add('img-type-1')
- gallery.appendChild(entry2)
- i++
- const entry3 = document.createElement('div')
- entry3.classList.add('col-lg-6', 'col-md-3', 'm-0', 'p-0')
- entry3.appendChild(entries[i].cloneNode(true))
- entry3.children[0].classList.add('img-type-1')
- gallery.appendChild(entry3)
- i++
- }
- function twoColumnRow (gallery, entries, i) {
- const entry1 = document.createElement('div')
- entry1.classList.add('col-6', 'm-0', 'p-0')
- entry1.appendChild(entries[i].cloneNode(true))
- entry1.children[0].classList.add('img-type-1')
- gallery.appendChild(entry1)
- i++
- const entry2 = document.createElement('div')
- entry2.classList.add('col-6', 'm-0', 'p-0')
- entry2.appendChild(entries[i].cloneNode(true))
- entry2.children[0].classList.add('img-type-1')
- gallery.appendChild(entry2)
- i++
- }
- function singleColumnRow (gallery, entries, i) {
- const entry1 = document.createElement('div')
- entry1.classList.add('col-12', 'm-0', 'p-0')
- entry1.appendChild(entries[i].cloneNode(true))
- entry1.children[0].classList.add('img-type-1')
- gallery.appendChild(entry1)
- i++
- }
- function showAchievements () {
- const { isLaptop, isTablet } = getDeviceState()
- // show achievements from achievements-holder div
- const gallery = document.getElementById('gallery')
- if (gallery == null) {
- return
- }
- gallery.innerHTML = ''
- const entries = document.getElementById('achievements-holder').children
- let len = entries.length
- let i = 0
- let rowNumber = 1
- while (i < len) {
- if (isLaptop) {
- if (i + 4 <= len) {
- if (rowNumber % 2) {
- fourColumnRow(gallery, entries, i)
- } else {
- fourColumnReversedRow(gallery, entries, i)
- }
- i += 4
- } else if (i + 3 <= len) {
- if (rowNumber % 2) {
- threeColumnRow(gallery, entries, i)
- } else {
- threeColumnReversedRow(gallery, entries, i)
- }
- i += 3
- } else if (i + 2 <= len) {
- twoColumnRow(gallery, entries, i)
- i += 2
- } else {
- singleColumnRow(gallery, entries, i)
- i++
- }
- } else if (isTablet) {
- if (i + 2 <= len) {
- twoColumnRow(gallery, entries, i)
- i += 2
- } else {
- singleColumnRow(gallery, entries, i)
- i++
- }
- } else {
- singleColumnRow(gallery, entries, i)
- i++
- }
- rowNumber++
- }
- // show full image on click
- const elements = document.getElementsByClassName('achievement-entry')
- len = elements.length
- for (let i = 0; i < len; i++) {
- elements[i].onclick = function () {
- const achievements = document.getElementsByClassName('achievement-entry')
- const len2 = achievements.length
- for (let j = 0; j < len2; j++) {
- achievements[j].classList.toggle('hidden')
- }
- this.classList.toggle('achievement-details')
- this.classList.toggle('hidden')
- this.parentElement.classList.toggle('col-lg-12')
- this.parentElement.classList.toggle('col-md-12')
- this.parentElement.classList.toggle('col-sm-12')
- if (this.children.SmallImage.hasAttribute('active')) {
- const mainLogo = this.children.LargeImage.getAttribute('Style')
- this.children.LargeImage.setAttribute('active', true)
- this.children.SmallImage.removeAttribute('active')
- this.setAttribute('Style', mainLogo)
- } else {
- const mainLogo = this.children.SmallImage.getAttribute('Style')
- this.children.SmallImage.setAttribute('active', true)
- this.children.LargeImage.removeAttribute('active')
- this.setAttribute('Style', mainLogo)
- }
- if (this.children.caption !== undefined) {
- this.children.caption.classList.toggle('hidden')
- }
- if (this.children['enlarge-icon'] !== undefined) {
- this.getElementsByClassName('fa-xmark')[0].classList.toggle('hidden')
- this.getElementsByClassName('fa-magnifying-glass-plus')[0].classList.toggle('hidden')
- }
- if (this.children['achievement-title'] !== undefined) {
- this.children['achievement-title'].classList.toggle('hidden')
- }
- }
- }
- }
- ['DOMContentLoaded', 'resize'].forEach((event) =>
- document.addEventListener(event, showAchievements))
|