{"version":3,"sources":["../assets/src/scripts/frontend/validations.ts","../assets/src/scripts/frontend/behaviours/embed.ts","../assets/src/scripts/frontend/behaviours/ajax.ts","../assets/src/scripts/frontend/behaviours/submission-form.ts","../assets/src/scripts/frontend/behaviours/vote-form.ts","../assets/src/scripts/frontend/behaviours/submissions-listing.ts","../assets/src/scripts/frontend/behaviours/scroll-overflow.ts","../assets/src/scripts/frontend/behaviours/modal.ts","../assets/src/scripts/frontend/behaviours/recaptcha.ts","../assets/src/scripts/frontend/frontend.ts"],"names":[],"mappings":"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","file":"../frontend.js","sourcesContent":["namespace TotalContest {\n jQuery['validator'].addMethod(\n 'minfilesize',\n function (value, element, params) {\n return this.optional(element) || (params[1] && params[1] < (element.files[0].size / 1024));\n }\n );\n\n jQuery['validator'].addMethod(\n 'maxfilesize',\n function (value, element, params) {\n return this.optional(element) || (params[1] && params[1] > (element.files[0].size / 1024));\n }\n );\n\n jQuery['validator'].addMethod(\n 'formats',\n function (value, element, params) {\n return this.optional(element) || (params[1] && params[1].indexOf(element.files[0].type) !== -1);\n }\n );\n\n jQuery(function () {\n var messages = {};\n jQuery.each(window['jqValidationMessages'], function (rule, message) {\n messages[rule] = function (validation, element) {\n return jQuery['validator'].format(\n message\n .replace('{{label}}', element.type === 'file' ? '' : jQuery(element).siblings('label').text())\n .replace('%d', '{0}')\n .replace('%s', '{0}'),\n validation\n );\n };\n });\n\n jQuery.extend(jQuery['validator'].messages, messages);\n });\n}","namespace TotalContest {\n import Contest = TotalContest.Contest;\n\n export class EmbedResizingBehaviour {\n public listener;\n\n constructor(public contest: Contest) {\n this.listener = (event) => this.receiveRequest(event);\n window.addEventListener(\"message\", this.listener, false);\n }\n\n destroy() {\n window.removeEventListener(\"message\", this.listener);\n }\n\n postHeight() {\n top.postMessage({totalcontest: {id: this.contest.id, action: 'resizeHeight', value: jQuery(document.body).height()}}, '*');\n }\n\n receiveRequest(event) {\n if (event.data.totalcontest && event.data.totalcontest.id === this.contest.id && event.data.totalcontest.action === 'requestHeight') {\n this.postHeight();\n }\n }\n }\n}","namespace TotalContest {\n import Contest = TotalContest.Contest;\n\n export class AjaxBehaviour {\n constructor(public contest: Contest) {\n this.contest.on('state', (event, state) => {\n if (state && state.ajax) {\n this.load(state.ajax);\n }\n });\n\n contest.element.find('a[totalcontest-ajax-url]').on('click', (event) => {\n let ajaxUrl = jQuery(event.currentTarget).attr('totalcontest-ajax-url');\n if (ajaxUrl) {\n window.history.pushState({ajax: ajaxUrl}, null, event.currentTarget.href);\n this.load(ajaxUrl);\n }\n event.preventDefault();\n });\n\n contest.element.find('option[totalcontest-ajax-url]').closest('select').on('change', (event) => {\n let selected = jQuery(event.currentTarget).find('option:selected');\n let ajaxUrl = selected.attr('totalcontest-ajax-url');\n if (ajaxUrl) {\n window.history.pushState({ajax: ajaxUrl}, null, selected.val());\n this.load(ajaxUrl);\n }\n event.preventDefault();\n });\n\n contest.element.find('form').on('submit', (event) => {\n event.preventDefault();\n if (!jQuery.fn.valid || jQuery(event.currentTarget).valid()) {\n this.load(decodeURI(event.currentTarget.getAttribute('action') || contest.config.ajaxEndpoint), new FormData(event.currentTarget), event.currentTarget.method || 'post');\n }\n });\n }\n\n load(url, data = {}, method = 'GET') {\n method = method ? method.toLowerCase() : method;\n\n this.contest.element.css('pointer-events', 'none').fadeTo(500, 0.1, () => {\n if (method.toLowerCase() == 'get' && data instanceof FormData) {\n data = Object.fromEntries(data.entries());\n }\n jQuery.ajax({\n url: url,\n data: data,\n processData: method != 'post',\n contentType: false,\n type: method,\n success: (response) => {\n const textAreaElement = document.createElement(\"textarea\");\n textAreaElement.innerHTML = response;\n const decodedHtml = textAreaElement.value;\n\n let $contest = jQuery(decodedHtml).hide();\n this.contest.element.replaceWith($contest);\n $contest.fadeIn();\n\n new TotalContest.Contest($contest, true, this.contest.config['behaviours']['async'], this.contest.uid);\n }\n });\n });\n }\n\n }\n}\n","namespace TotalContest {\n import Contest = TotalContest.Contest;\n\n export class UploadedFile {\n public URL = window.URL || window['webkitURL'];\n\n constructor(private originalFile: any) {\n\n }\n\n getDimensions(callback) {\n var image: any = document.createElement('img');\n image.onload = (event) => {\n this.originalFile.dimensions = image.width + 'x' + image.height;\n callback(this.originalFile.dimensions);\n };\n image.src = this.getObjectURL();\n }\n\n getDuration(callback) {\n var media: any = document.createElement(this.getType());\n media.src = this.getObjectURL();\n media.ondurationchange = () => {\n this.originalFile.duration = new Date(media['duration'] * 1024).toISOString().substr(14, 5);\n callback(this.originalFile.duration);\n };\n }\n\n getObjectURL() {\n return URL.createObjectURL(this.originalFile);\n }\n\n getPreview(callback) {\n switch (this.getType()) {\n case 'image' : {\n this.getDimensions(() => callback(`${this.originalFile.name} - ${this.originalFile.dimensions} (${this.getSize()})`));\n break;\n }\n case 'audio' :\n case 'video' : {\n this.getDuration(() => callback(`${this.originalFile.name} - ${this.originalFile.duration} (${this.getSize()})`));\n break;\n }\n default : {\n callback(`${this.originalFile.name} - (${this.getSize()})`);\n }\n }\n }\n\n getSize() {\n return Utils.getFileSizeForHuman(this.originalFile.size);\n }\n\n getType() {\n return this.originalFile.type.split('/')[0];\n }\n }\n\n export class MaxLengthValidation {\n public counter;\n public maxlength = 0;\n\n constructor(public element) {\n this.maxlength = element.attr('maxlength');\n this.counter = jQuery(`
`);\n element.after(this.counter);\n\n element.on('change keypress keyup keydown', () => this.updateCounter());\n this.updateCounter();\n }\n\n updateCounter() {\n this.counter.text(window['jqValidationMessages']['left'].replace('%d', this.maxlength - this.element.val().length))\n }\n }\n\n export class SubmissionFormBehaviour {\n public fileInputsElements;\n public formElement;\n public formLoading;\n\n constructor(public contest: Contest) {\n this.formElement = contest.element.find('.totalcontest-participate-form');\n this.formLoading = contest.element.find('.totalcontest-form-loading');\n this.fileInputsElements = contest.element.find('.totalcontest-form-field-type-file');\n\n this.formElement.validate({\n submitHandler: (form, event) => {\n this.showProgress(form, event);\n if(! this.contest.config['behaviours']['ajax']) {\n form.submit();\n }\n },\n onclick: true,\n\n errorPlacement: function (error, element) {\n element.siblings(\".totalcontest-form-field-errors\").html('');\n error.appendTo(element.siblings(\".totalcontest-form-field-errors\"));\n }\n });\n this.formElement.attr('novalidate', 'novalidate');\n this.fileInputsElements.each((index, element) => {\n element = jQuery(element);\n let fileInputElement = element.find('input');\n let fileLabelElement = element.find('label');\n\n fileInputElement.on('change', (event) => this.handleFile(event, fileInputElement, fileLabelElement));\n fileLabelElement.data('original-text', fileLabelElement.text());\n });\n\n contest.element.find('[maxlength]:not([type=\"file\"])').each(function () {\n new MaxLengthValidation(jQuery(this));\n });\n\n contest.element.find('[maxlength][type=\"file\"],[minlength][type=\"file\"]').each(function () {\n let $field = jQuery(this);\n let rules: any = {};\n let minLength = Number($field.attr('minlength') || 0);\n let maxLength = Number($field.attr('maxlength') || 0);\n if (minLength > 0) {\n rules.minfilesize = [Utils.getFileSizeForHuman(minLength * 1024), minLength];\n }\n if (maxLength > 0) {\n rules.maxfilesize = [Utils.getFileSizeForHuman(maxLength * 1024), maxLength];\n }\n $field.rules('add', rules);\n $field.rules('remove', 'minlength maxlength');\n $field.removeAttr('minlength');\n $field.removeAttr('maxlength');\n });\n\n contest.element.find('[formats][type=\"file\"]').each(function () {\n let $field = jQuery(this);\n $field.rules('add', {\n formats: [$field.attr('formats'), $field.attr('accept').split(',')]\n });\n });\n\n contest.element.find('[required-if-empty]').each(function () {\n let $field = jQuery(this);\n let $remoteField = jQuery($field.attr('required-if-empty'));\n $remoteField.on('change', function () {\n $field.prop('required', !Boolean($remoteField.val()));\n });\n });\n }\n\n handleFile(event: any, input, label) {\n if (event.target.files[0]) {\n var file = new UploadedFile(event.target.files[0]);\n file.getPreview((content) => label.text(content));\n } else {\n label.text(label.data('original-text'));\n }\n\n input.blur();\n }\n\n showProgress(form, event) {\n this.formElement.find('[type=\"submit\"]').prop('disabled', true);\n this.formLoading.addClass('active');\n\n jQuery('body').animate({scrollTop: this.formLoading.find('svg').offset().top - 250});\n setTimeout(() => this.contest.element.finish().fadeTo(0, 1), 1);\n }\n }\n}\n","namespace TotalContest {\n import Contest = TotalContest.Contest;\n\n export class UploadedFile {\n public URL = window.URL || window['webkitURL'];\n\n constructor(private originalFile: any) {\n\n }\n\n getDimensions(callback) {\n var image: any = document.createElement('img');\n image.onload = (event) => {\n this.originalFile.dimensions = image.width + 'x' + image.height;\n callback(this.originalFile.dimensions);\n };\n image.src = this.getObjectURL();\n }\n\n getDuration(callback) {\n var media: any = document.createElement(this.getType());\n media.src = this.getObjectURL();\n media.ondurationchange = () => {\n this.originalFile.duration = new Date(media['duration'] * 1024).toISOString().substr(14, 5);\n callback(this.originalFile.duration);\n };\n }\n\n getObjectURL() {\n return URL.createObjectURL(this.originalFile);\n }\n\n getPreview(callback) {\n switch (this.getType()) {\n case 'image' : {\n this.getDimensions(() => callback(`${this.originalFile.name} - ${this.originalFile.dimensions} (${this.getSize()})`));\n break;\n }\n case 'audio' :\n case 'video' : {\n this.getDuration(() => callback(`${this.originalFile.name} - ${this.originalFile.duration} (${this.getSize()})`));\n break;\n }\n default : {\n callback(`${this.originalFile.name} - (${this.getSize()})`);\n }\n }\n }\n\n getSize() {\n return Utils.getFileSizeForHuman(this.originalFile.size);\n }\n\n getType() {\n return this.originalFile.type.split('/')[0];\n }\n }\n\n export class MaxLengthValidation {\n public counter;\n public maxlength = 0;\n\n constructor(public element) {\n this.maxlength = element.attr('maxlength');\n this.counter = jQuery(`
`);\n element.after(this.counter);\n\n element.on('change keypress keyup keydown', () => this.updateCounter());\n this.updateCounter();\n }\n\n updateCounter() {\n this.counter.text(window['jqValidationMessages']['left'].replace('%d', this.maxlength - this.element.val().length))\n }\n }\n\n export class VoteFormBehaviour {\n public fileInputsElements;\n public formElement;\n public formLoading;\n\n constructor(public contest: Contest) {\n this.formElement = contest.element.find('.totalcontest-form-vote');\n this.formLoading = contest.element.find('.totalcontest-form-loading');\n this.fileInputsElements = contest.element.find('.totalcontest-form-field-type-file');\n\n this.formElement.validate({\n submitHandler: (form, event) => {\n this.showProgress(form, event);\n if(! this.contest.config['behaviours']['ajax']) {\n form.submit();\n }\n },\n onclick: true,\n\n errorPlacement: function (error, element) {\n element.siblings(\".totalcontest-form-field-errors\").html('');\n error.appendTo(element.siblings(\".totalcontest-form-field-errors\"));\n }\n });\n this.formElement.attr('novalidate', 'novalidate');\n this.fileInputsElements.each((index, element) => {\n element = jQuery(element);\n let fileInputElement = element.find('input');\n let fileLabelElement = element.find('label');\n\n fileInputElement.on('change', (event) => this.handleFile(event, fileInputElement, fileLabelElement));\n fileLabelElement.data('original-text', fileLabelElement.text());\n });\n\n contest.element.find('[maxlength]:not([type=\"file\"])').each(function () {\n new MaxLengthValidation(jQuery(this));\n });\n\n contest.element.find('[maxlength][type=\"file\"],[minlength][type=\"file\"]').each(function () {\n let $field = jQuery(this);\n let rules: any = {};\n let minLength = Number($field.attr('minlength') || 0);\n let maxLength = Number($field.attr('maxlength') || 0);\n if (minLength > 0) {\n rules.minfilesize = [Utils.getFileSizeForHuman(minLength * 1024), minLength];\n }\n if (maxLength > 0) {\n rules.maxfilesize = [Utils.getFileSizeForHuman(maxLength * 1024), maxLength];\n }\n $field.rules('add', rules);\n $field.rules('remove', 'minlength maxlength');\n $field.removeAttr('minlength');\n $field.removeAttr('maxlength');\n });\n\n contest.element.find('[formats][type=\"file\"]').each(function () {\n let $field = jQuery(this);\n $field.rules('add', {\n formats: [$field.attr('formats'), $field.attr('accept').split(',')]\n });\n });\n\n contest.element.find('[required-if-empty]').each(function () {\n let $field = jQuery(this);\n let $remoteField = jQuery($field.attr('required-if-empty'));\n $remoteField.on('change', function () {\n $field.prop('required', !Boolean($remoteField.val()));\n });\n });\n }\n\n handleFile(event: any, input, label) {\n if (event.target.files[0]) {\n var file = new UploadedFile(event.target.files[0]);\n file.getPreview((content) => label.text(content));\n } else {\n label.text(label.data('original-text'));\n }\n\n input.blur();\n }\n\n showProgress(form, event) {\n this.formElement.find('[type=\"submit\"]').prop('disabled', true);\n this.formLoading.addClass('active');\n\n jQuery('body').animate({scrollTop: this.formLoading.find('svg').offset().top - 250});\n setTimeout(() => this.contest.element.finish().fadeTo(0, 1), 1);\n }\n }\n}\n","namespace TotalContest {\n import Contest = TotalContest.Contest;\n\n export class SubmissionsListingBehaviour {\n public layoutTogglers;\n public submissions;\n\n constructor(public contest: Contest) {\n this.submissions = contest.element.find('[totalcontest-submissions]');\n this.layoutTogglers = contest.element.find('[totalcontest-submissions-toggle-layout]');\n this.layoutTogglers.on(\n 'click',\n (event) => this.toggleLayout(\n event.currentTarget.getAttribute('totalcontest-submissions-toggle-layout')\n )\n );\n }\n\n toggleLayout(layout) {\n this.layoutTogglers.removeClass('totalcontest-submissions-toolbar-active');\n this.layoutTogglers.filter(`[totalcontest-submissions-toggle-layout=\"${layout}\"]`).addClass('totalcontest-submissions-toolbar-active');\n this.submissions.removeClass('totalcontest-submissions-items-layout-grid totalcontest-submissions-items-layout-list');\n this.submissions.addClass(`totalcontest-submissions-items-layout-${layout}`);\n }\n }\n}","namespace TotalContest {\n import Contest = TotalContest.Contest;\n\n export class ScrollOverflowBehaviour {\n public scrollables;\n\n constructor(public contest: Contest) {\n this.scrollables = contest.element.find('[totalcontest-mobile-scrollable]');\n this.scrollables.on(\n 'scroll',\n (event) => this.receiveScroll(event)\n );\n this.scrollables.each((index, scrollable) => {\n var $scrollable = jQuery(scrollable);\n $scrollable.scrollLeft($scrollable.find('.is-active').first().offset().left);\n })\n }\n\n destroy() {\n this.scrollables.off('scroll');\n }\n\n receiveScroll(event) {\n var $target = jQuery(event.target);\n var maxWidth = $target.prop('scrollWidth') - $target.prop('clientWidth');\n if (Math.round($target.scrollLeft()) >= maxWidth) {\n $target.parent().addClass('is-scroll-finished');\n } else {\n $target.parent().removeClass('is-scroll-finished');\n }\n }\n }\n}","namespace TotalContest {\n export var openModalOnceLoaded = '';\n\n export class ModalBehaviour {\n protected oldModal?: HTMLElement;\n protected modal: HTMLElement;\n protected closeButton: HTMLElement;\n protected container: HTMLElement;\n protected content: HTMLElement;\n protected previous: HTMLElement;\n protected previousPage: any;\n protected next: HTMLElement;\n protected nextPage: any;\n\n protected submissionList: Element[] = [];\n protected submission: number = 0;\n\n constructor(public contest: Contest) {\n\n this.init();\n\n this.contest.element.find('a[totalcontest-ajax-url].totalcontest-submissions-item-link').each((index, element) => {\n this.submissionList.push(element);\n });\n\n this.contest.element.find('a[totalcontest-ajax-url].totalcontest-submissions-item-link').off('click');\n\n this.contest.element.find('a[totalcontest-ajax-url].totalcontest-submissions-item-link').on('click', (event) => {\n this.submission = this.submissionList.indexOf(event.currentTarget);\n this.contest.element.css('pointer-events', 'none').fadeTo(500, 0.1);\n\n this.update(() => {\n this.contest.element.css('pointer-events', 'auto').fadeTo(500, 1);\n\n if (this.oldModal) {\n this.oldModal.remove();\n }\n });\n\n event.preventDefault();\n });\n\n if (this.oldModal && !TotalContest.openModalOnceLoaded) {\n this.oldModal.remove();\n }\n\n if (TotalContest.openModalOnceLoaded) {\n if (TotalContest.openModalOnceLoaded === 'next') {\n this.contest.element.find('a[totalcontest-ajax-url].totalcontest-submissions-item-link').first().click();\n } else {\n this.contest.element.find('a[totalcontest-ajax-url].totalcontest-submissions-item-link').last().click();\n }\n }\n\n TotalContest.openModalOnceLoaded = '';\n }\n\n protected init() {\n this.oldModal = document.getElementById(`totalcontest-modal-${this.contest.uid}`)\n\n this.modal = document.createElement('div');\n this.modal.classList.add('totalcontest-modal');\n this.modal.setAttribute('id', `totalcontest-modal-${this.contest.uid}`);\n\n let loader = document.createElement('div');\n loader.classList.add('totalcontest-modal-loader');\n loader.innerHTML = '';\n\n this.modal.appendChild(loader);\n\n this.closeButton = document.createElement('span');\n this.closeButton.classList.add('totalcontest-modal-close');\n this.closeButton.addEventListener('click', () => {\n this.close();\n });\n\n this.container = document.createElement('div');\n this.container.classList.add('totalcontest-modal-container');\n this.container.style.maxWidth = this.contest.element.outerWidth() + 'px';\n\n this.content = document.createElement('div');\n this.content.classList.add('totalcontest-modal-content');\n\n this.previous = document.createElement('span');\n this.previous.innerHTML = '';\n this.previous.classList.add('totalcontest-modal-previous');\n this.previous.addEventListener('click', () => {\n this.getPrevious();\n });\n this.previousPage = this.contest.element.find('a.totalcontest-pagination-previous');\n\n this.next = document.createElement('span');\n this.next.classList.add('totalcontest-modal-next');\n this.next.innerHTML = '';\n this.next.addEventListener('click', () => {\n this.getNext();\n });\n this.nextPage = this.contest.element.find('a.totalcontest-pagination-next');\n\n this.container.appendChild(this.content)\n\n this.modal.appendChild(this.closeButton)\n this.modal.appendChild(this.next)\n this.modal.appendChild(this.previous)\n this.modal.appendChild(this.container);\n\n document.body.appendChild(this.modal);\n }\n\n open(content: HTMLElement) {\n this.content.innerText = '';\n document.documentElement.style.overflowY = 'hidden';\n this.content.appendChild(content);\n this.preload();\n\n if (!this.submissionList[this.submission + 1] && !this.nextPage.length) {\n this.next.style.display = 'none';\n }\n\n if (!this.submissionList[this.submission - 1] && !this.previousPage.length) {\n this.previous.style.display = 'none';\n }\n\n this.modal.classList.add('-totalcontest-modal-is-open')\n }\n\n preload() {\n let submissionContent = this.content.querySelector('.totalcontest-submission-content');\n\n if (submissionContent == undefined) {\n this.modal.classList.add('-totalcontest-modal-is-loaded');\n return;\n }\n\n let images = jQuery(submissionContent).find('img:not([src=\"\"])');\n\n if (images.length == 0) {\n this.modal.classList.add('-totalcontest-modal-is-loaded');\n return;\n }\n\n let loadedImages = 0;\n\n jQuery(images).each((index, image) => {\n\n let img = new Image;\n img.onload = () => {\n loadedImages++;\n if (loadedImages === images.length) {\n this.modal.classList.add('-totalcontest-modal-is-loaded');\n return;\n }\n }\n\n img.src = jQuery(image).attr('src');\n });\n\n }\n\n getNext() {\n if (this.submissionList[this.submission + 1]) {\n this.submission++;\n this.previous.style.display = 'flex';\n this.update();\n } else if (this.nextPage.length) {\n TotalContest.openModalOnceLoaded = 'next';\n this.modal.classList.remove('-totalcontest-modal-is-loaded');\n this.nextPage.click();\n }\n\n if (!this.submissionList[this.submission + 1] && !this.nextPage.length) {\n this.next.style.display = 'none';\n }\n }\n\n getPrevious() {\n if (this.submissionList[this.submission - 1]) {\n this.submission--;\n this.next.style.display = 'flex';\n this.update();\n } else if (this.previousPage) {\n TotalContest.openModalOnceLoaded = 'previous';\n this.modal.classList.remove('-totalcontest-modal-is-loaded');\n this.previousPage.click();\n }\n\n if (!this.submissionList[this.submission - 1] && !this.previousPage.length) {\n this.previous.style.display = 'none';\n }\n }\n\n close() {\n this.content.innerHTML = '';\n this.modal.classList.remove('-totalcontest-modal-is-open')\n document.documentElement.style.overflowY = 'initial';\n this.next.style.display = 'flex';\n this.previous.style.display = 'flex';\n }\n\n update(callback = null) {\n this.modal.classList.remove('-totalcontest-modal-is-loaded');\n\n let ajaxUrl = jQuery(this.submissionList[this.submission]).attr('totalcontest-ajax-url');\n\n if (ajaxUrl) {\n this.load(ajaxUrl, callback);\n }\n }\n\n destroy() {\n // this.modal.remove();\n }\n\n load(url, callback = null) {\n jQuery.ajax({\n url: url,\n type: 'GET',\n success: (response) => {\n let $contest = jQuery(response);\n $contest.find('link[rel=\"stylesheet\"], style').remove();\n this.contest.element.css({'pointer-events': 'auto', 'opacity': 1});\n this.open($contest.get(0));\n\n let contest = new TotalContest.Contest($contest, false, false, this.contest.uid);\n\n if (callback) {\n callback(contest);\n }\n }\n });\n }\n }\n}\n","namespace TotalContest {\n import Contest = TotalContest.Contest;\n\n export class reCaptchaBehaviour {\n readonly invisible: Boolean;\n readonly widget;\n private $form;\n private $recaptcha;\n private valid: Boolean = false;\n\n constructor(private contest: Contest) {\n this.$recaptcha = contest.element.find('.g-recaptcha');\n this.$form = contest.element.find('form');\n this.invisible = this.$recaptcha.data('size') === 'invisible';\n this.widget = this.invisible ? this.$form.find('[type=\"submit\"]').get(0) : this.$recaptcha.get(0);\n if (!window['grecaptcha']) {\n jQuery.getScript('https://www.google.com/recaptcha/api.js', this.initAndBind.bind(this));\n } else {\n this.initAndBind();\n }\n }\n\n initAndBind() {\n // Invisible\n if (this.invisible) {\n this.$form.on('submit', (event) => this.validate(event));\n window['grecaptcha'].ready(() => this.render());\n } else {\n window['grecaptcha'].ready(() => this.render());\n }\n }\n\n destroy() {\n this.$recaptcha.remove();\n }\n\n render() {\n window['grecaptcha'].render(this.widget, {\n sitekey: this.$recaptcha.data('sitekey'),\n callback: () => {\n this.valid = true;\n if (this.invisible) {\n this.$form.submit();\n }\n }\n }\n );\n }\n\n validate(event) {\n if (!this.valid) {\n event.preventDefault();\n }\n }\n }\n}\n","///\n///\n///\n///\n///\n///\n///\n///\n///\n///\n\n\nnamespace TotalContest {\n export var Contests = {};\n\n export class Contest {\n public behaviours: any = {};\n public config: any = {};\n public id;\n public submissionId;\n public screen;\n\n constructor(public element, public viaAjax = false, private viaAsync = false, public uid = (Date.now() + (Math.random() * 10000000).toFixed(0))) {\n this.id = element.attr('totalcontest');\n this.submissionId = element.attr('totalcontest-submission-id');\n this.config = JSON.parse(element.find('[totalcontest-config]').text());\n this.screen = element.attr('totalcontest-screen');\n\n if (TotalContest.Contests[this.uid] && viaAjax) {\n // Destroy the old instance\n TotalContest.Contests[this.uid].destroy();\n element.fadeIn();\n }\n\n // Save instance for future usage\n TotalContest.Contests[this.uid] = this;\n element.data('contest', TotalContest.Contests[this.uid]);\n\n if (this.screen === 'contest.participate') {\n // Submission form\n this.behaviours['submissionForm'] = new SubmissionFormBehaviour(this);\n } else if (this.screen == 'contest.submissions') {\n // Submission listing\n this.behaviours['submissionsListing'] = new SubmissionsListingBehaviour(this);\n } else if (this.screen == 'submission.view') {\n this.behaviours['voteForm'] = new VoteFormBehaviour(this);\n }\n\n // reCaptcha\n if (element.find('.g-recaptcha').length) {\n this.behaviours['recaptcha'] = new reCaptchaBehaviour(this);\n }\n\n // Ajax\n if (this.config['behaviours']['async'] || this.config['behaviours']['ajax']) {\n this.behaviours['ajax'] = new AjaxBehaviour(this);\n\n //@PRO\n if (this.config['behaviours']['modal'] && this.screen == 'contest.submissions') {\n this.behaviours['modal'] = new ModalBehaviour(this);\n }\n //@END-PRO\n } else {\n element.find('option[value^=\"http\"]').closest('select').on('change', (event) => {\n let selected = jQuery(event.currentTarget).find('option:selected');\n let url = selected.attr('value');\n if (url) {\n window.location.href = url;\n }\n });\n }\n\n // Async\n if (this.config['behaviours']['async']) {\n this.behaviours['ajax'].load(element.attr('totalcontest-ajax-url'));\n }\n\n // Embed resizing\n if (window.top !== window.self) {\n this.behaviours['embed'] = new EmbedResizingBehaviour(this);\n this.behaviours['embed'].postHeight();\n }\n\n // Scroll\n // this.behaviours['scrollOverflow'] = new ScrollOverflowBehaviour(this);\n\n Hooks.doAction('totalcontest/init', this);\n }\n\n\n destroy() {\n jQuery.each(this.behaviours, function (id, behaviour) {\n if (behaviour.destroy) {\n behaviour.destroy();\n }\n });\n this.element.remove();\n Hooks.doAction('totalcontest/destroy', this);\n }\n\n isViaAjax() {\n return this.viaAjax;\n }\n\n\n isViaAsync() {\n return this.viaAsync;\n }\n\n off(event, callback) {\n\n this.element.off(event, callback);\n }\n\n on(event, callback) {\n\n this.element.on(event, callback);\n }\n\n trigger(event) {\n this.element.triggerHandler(event);\n }\n }\n\n export class Hooks {\n static addAction(event, callback) {\n\n jQuery(TotalContest).on(event, function (event) {\n let payload = [].slice.call(arguments).splice(1);\n return callback.apply(event, payload);\n });\n }\n\n static doAction(event, payload) {\n jQuery(TotalContest).triggerHandler(event, payload);\n }\n }\n\n export class Utils {\n public static getFileSizeForHuman(sizeInBytes) {\n return ((sizeInBytes / Math.pow(1024, Math.floor(Math.log(sizeInBytes) / Math.log(1024)))) || 0).toFixed(2) + ' ' + ' KMGTP'.charAt(Math.floor(Math.log(sizeInBytes) / Math.log(1024))) + 'B'\n }\n\n public static getUrlParameters(url) {\n let params = {};\n window['decodeURIComponent'](url).replace(/[?&]+([^=&]+)=([^&]*)/gi, function (search, key, value) {\n params[key] = value;\n });\n\n return params;\n };\n\n public static refreshTinyMCE() {\n if (window['tinymce']) {\n setTimeout(\n () => {\n\n for (let id in window['tinyMCEPreInit'].mceInit) {\n window['tinymce'].remove();\n\n var init = window['tinyMCEPreInit'].mceInit[id];\n var $wrap = window['tinymce'].$(`#wp-${id}-wrap`);\n\n if (($wrap.hasClass('tmce-active') || !window['tinyMCEPreInit'].qtInit.hasOwnProperty(id)) && !init.wp_skip_init) {\n window['tinymce'].init(init);\n }\n }\n },\n 100\n );\n }\n }\n }\n\n jQuery(function ($: any) {\n $('[totalcontest]').each(function () {\n new TotalContest.Contest($(this));\n });\n\n jQuery(window).on('popstate', (event: any) => {\n $('[totalcontest]').triggerHandler('state', [event.originalEvent.state]);\n return false;\n });\n });\n}\n"]}