{"version":3,"file":"loginrotator.js","sources":["../../../../IREP.Web.Content/v7/scripts/modules/loginrotator/index.ts"],"sourcesContent":["import $ from 'jquery';\nimport Component from \"irep/modules/component\";\nimport { readOptions } from '../../utilities/helpers';\nexport class LoginRotator extends Component {\n get itemCount() {\n return this.loginRotatorContentsInitialChildren.length;\n }\n get contentWidth() {\n return this.loginRotatorContentsInitialChildren.first().width();\n }\n get currentSlide() {\n return this.loginRotatorContentsInitialChildren.index(this.loginRotatorContentsInitialChildren.filter('.active'));\n }\n constructor(id) {\n super('#' + id.id);\n this.forgotIsShown = false;\n this.verifyIsShown = false;\n this.oneScrollAndRebind = (onScrollEnd) => {\n clearTimeout(onScrollEnd);\n this.setAndInterchangeSlide(null);\n setTimeout(() => {\n const scrollEnd = window.setTimeout(this.setAndInterchangeSlide, 10000);\n this.oneScrollAndRebind(scrollEnd);\n }, 10000);\n };\n this.setAndInterchangeSlide = ($content) => {\n let self = this;\n if ($content == null) {\n let $currentActive = $('.login-rotator-content.active');\n let currentSlideNum = $currentActive.attr(\"data-slide-num\");\n let nextSlideNum = (Number(currentSlideNum) + 1) >= self.loginRotatorContentsInitialChildren.length ? 0 : (Number(currentSlideNum) + 1);\n $content = $('.login-rotator-content[data-slide-num=' + nextSlideNum.toString() + ']');\n }\n let initialInterchange = $content.attr(\"data-stored-bg\");\n let slideNum = $content.attr(\"data-slide-num\");\n let interchangeRules = initialInterchange.split(\"], \");\n for (let i = 0; i < interchangeRules.length; i++) {\n if (interchangeRules[i].charAt(interchangeRules[i].length - 1) != \"]\") {\n interchangeRules[i] = interchangeRules[i] + \"]\";\n }\n }\n if (this.interchange != null || this.interchange != undefined) {\n this.backgroundDiv.removeClass(\"show\").promise().done(() => {\n self.backgroundDiv.first().foundation('_destroy');\n self.interchange = new Foundation.Interchange(this.backgroundDiv.first(), {\n rules: interchangeRules\n });\n }).then(() => {\n self.backgroundDiv.addClass(\"show\");\n });\n }\n else {\n this.interchange = new Foundation.Interchange(this.backgroundDiv.first(), {\n rules: interchangeRules\n });\n }\n $('.login-rotator-scroll-cube').removeClass('active');\n let $cube = this.$component.find('.login-rotator-scroll-cube-container').find('.login-rotator-scroll-cube[data-slide-num=' + slideNum + ']');\n $cube.addClass('active');\n this.$component.find(\".login-rotator-content\").removeClass(\"active\");\n $content.addClass(\"active\");\n if ($('.login-rotator').hasClass('login-rotator-loading')) {\n $('.login-rotator').removeClass('login-rotator-loading');\n }\n };\n this.options = readOptions(id);\n this.$forgotLink = $(\"#forgotLink\");\n this.$backToLoginLink = $(\"#backtoLoginLink\");\n this.$forgotContainer = $(\"#forgotPasswordPanel\");\n this.$loginContainer = $(\"#userLoginForm\");\n this.$verifyForgotLink = $(\"#verifyForgotLink\");\n this.$verifyBackToLoginLink = $(\"#verifyBacktoLoginLink\");\n this.$verifyContainer = $(\"#verifyIdentityPanel\");\n this.qsShowForgotPassword = JSON.parse($(\".login-component-field-container\").attr(\"data-showForgotPassword\"));\n this.loginRotatorContents = this.$component.find('.login-rotator-content-container');\n this.backgroundDiv = this.$component.find('.login-rotator-bg').first();\n this.loginRotatorContentsInitialChildren = this.loginRotatorContents.children();\n const first = this.loginRotatorContentsInitialChildren.first();\n const last = this.loginRotatorContentsInitialChildren.last();\n let self = this;\n if (this.qsShowForgotPassword) {\n self.toggleForgotForm();\n }\n this.$forgotLink.click(() => {\n self.toggleForgotForm();\n });\n this.$backToLoginLink.click(() => {\n self.toggleForgotForm();\n });\n this.$verifyBackToLoginLink.click(() => {\n self.$forgotContainer.hide();\n self.$verifyContainer.hide();\n self.$loginContainer.show();\n this.forgotIsShown = false;\n this.verifyIsShown = false;\n });\n this.$verifyForgotLink.click(() => {\n self.toggleForgotForm();\n });\n this.$component.find(\".login-rotator-content-inner\").each((i, e) => {\n let $cmsContent = $(e).find(\"div:first\");\n let interchange = $cmsContent.attr(\"data-interchange\");\n $cmsContent.removeAttr(\"data-interchange\");\n $cmsContent.removeAttr(\"data-resize\");\n $cmsContent.removeAttr(\"id\");\n $cmsContent.removeAttr(\"style\");\n let smUrl = interchange.substring(interchange.indexOf(\"[\") + 1, interchange.lastIndexOf(\", small]\"));\n let mdUrl = interchange.substring(interchange.lastIndexOf(\"[\") + 1, interchange.lastIndexOf(\", medium]\"));\n let smType = \"image/\" + smUrl.substring(smUrl.lastIndexOf(\".\") + 1, smUrl.length);\n let mdType = \"image/\" + mdUrl.substring(mdUrl.lastIndexOf(\".\") + 1, mdUrl.length);\n let $smLinkTag = $('');\n let $mdLinkTag = $('');\n $(\"head\").append($smLinkTag);\n $(\"head\").append($mdLinkTag);\n let $rotatorItem = $cmsContent.closest(\".login-rotator-content\");\n $rotatorItem.attr(\"data-stored-bg\", interchange);\n }).promise().done(() => {\n self.buildScrollCubes();\n self.setAndInterchangeSlide(first);\n window.setTimeout(self.oneScrollAndRebind, 10000);\n });\n }\n toggleForgotForm() {\n if (this.forgotIsShown) {\n this.$forgotContainer.hide();\n this.$verifyContainer.hide();\n this.$loginContainer.show();\n }\n else {\n this.$forgotContainer.show();\n this.$loginContainer.hide();\n this.$verifyContainer.hide();\n }\n this.forgotIsShown = !this.forgotIsShown;\n if (this.forgotIsShown) {\n this.verifyIsShown = false;\n }\n }\n buildScrollCubes() {\n let self = this;\n let $contents = this.loginRotatorContentsInitialChildren;\n $contents.each((i, e) => {\n let storedBg = $(e).attr(\"data-stored-bg\");\n let slideNum = $(e).attr(\"data-slide-num\");\n let $cube = $('
');\n let $existingCube = self.$component.find('.login-rotator-scroll-cube-container').find('.login-rotator-scroll-cube[data-slide-num=' + slideNum + ']');\n if ($existingCube.length <= 0) {\n self.$component.find('.login-rotator-scroll-cube-container').append($cube);\n $cube.on('click', (ev) => {\n self.showContent(Number(slideNum));\n });\n }\n }).promise().done(() => {\n self.$component.find('.login-rotator-scroll-cube-container').find('.login-rotator-scroll-cube').first().addClass('active');\n });\n }\n nextSlide() {\n return (this.currentSlide + 1) % this.itemCount;\n }\n prevSlide() {\n return (this.currentSlide + this.itemCount - 1) % this.itemCount;\n }\n showContent(slidenum) {\n const activeElement = this.loginRotatorContentsInitialChildren.get(slidenum);\n this.setAndInterchangeSlide($(activeElement));\n }\n}\nfor (const elem of document.getElementsByClassName('login-rotator')) {\n new LoginRotator(elem);\n}\n"],"names":["LoginRotator","Component","itemCount","this","loginRotatorContentsInitialChildren","length","contentWidth","first","width","currentSlide","index","filter","constructor","id","super","forgotIsShown","verifyIsShown","oneScrollAndRebind","onScrollEnd","clearTimeout","setAndInterchangeSlide","setTimeout","scrollEnd","window","$content","self","currentSlideNum","$","attr","nextSlideNum","Number","toString","initialInterchange","slideNum","interchangeRules","split","i","charAt","interchange","undefined","backgroundDiv","removeClass","promise","done","foundation","Foundation","Interchange","rules","then","addClass","$component","find","hasClass","options","readOptions","$forgotLink","$backToLoginLink","$forgotContainer","$loginContainer","$verifyForgotLink","$verifyBackToLoginLink","$verifyContainer","qsShowForgotPassword","JSON","parse","loginRotatorContents","children","last","toggleForgotForm","click","hide","show","each","e","$cmsContent","removeAttr","smUrl","substring","indexOf","lastIndexOf","mdUrl","smType","mdType","$smLinkTag","$mdLinkTag","append","closest","buildScrollCubes","storedBg","$cube","on","ev","showContent","nextSlide","prevSlide","slidenum","activeElement","get","elem","document","getElementsByClassName"],"mappings":"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"}