{"version":3,"sources":["webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/src/views/pages/mixins/scrollToTopButtonMixinPage/scrollToTopButtonMixinPage.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/src/views/pages/courseDetailsPage/js/courseDetailsPage.js"],"names":["__webpack_require__","r","__webpack_exports__","$","d","scrollToTopButtonMixinPage","gsap_dist_gsap__WEBPACK_IMPORTED_MODULE_0__","gsap_ScrollToPlugin__WEBPACK_IMPORTED_MODULE_1__","gsap_dist_ScrollTrigger_js__WEBPACK_IMPORTED_MODULE_2__","gsap","registerPlugin","ScrollToPlugin","ScrollTrigger","initScrollToTopButtonMixin","self","$element","element","$tplScroller","$tplContent","$tplFooter","$tplFooterWrap","length","data","append","$scrollButton","on","to","scrollTo","duration","height","CourseDetailsPage","_createClass","_this","this","_classCallCheck","$videoModal","find","$close","$modal","$iframe","$carouselSlider","setTimeout","slick","dots","dotsClass","autoplay","autoSlide","autoplaySpeed","appendArrows","$sliderContainer","appendDots","infinite","slidesToShow","slidesToScroll","cssEase","useTransform","adaptiveHeight","responsive","breakpoint","settings","event","videosrc","relatedTarget","attr","e","preventDefault","Object","assign","prototype"],"mappings":"8FAAAA,EAAAC,EAAAC,GAAA,SAAAC,GAAAH,EAAAI,EAAAF,EAAA,+CAAAG,IAAA,IAAAC,EAAAN,EAAA,IAAAO,EAAAP,EAAA,IAAAQ,EAAAR,EAAA,IAKAS,OAAKC,eAAeC,IAAgBC,iBAE7B,IAAIP,GACVQ,2BAA4B,SAACC,GAC5BA,EAAKC,SAAWD,EAAKC,UAAYZ,EAAEW,EAAKE,SACxCF,EAAKG,aAAeH,EAAKG,cAAgBd,EAAE,iBAC3CW,EAAKI,YAAcf,EAAE,gBACrBW,EAAKK,WAAahB,EAAE,eACpBW,EAAKM,eAAiBjB,EAAE,0BAKrBW,EAAKG,cAAgBH,EAAKG,aAAaI,OAAS,GAAKP,EAAKC,SAASO,KAAK,yBAC1ER,EAAKM,eAAeG,OAAM,oJAI1BT,EAAKU,cAAgBrB,EAAC,sBACtBW,EAAKU,cAAcC,GAAG,QAAS,WAE9BhB,OAAKiB,GAAGZ,EAAKG,aAAa,IACzBU,SAAU,EACVC,UAAWd,EAAKG,aAAaY,SAAW,KAAK,62BC5BlD,IAKaC,4GAAiBC,CAC7B,SAAAD,EAAYd,GAAS,IAAAgB,EAAAC,kGAAAC,CAAAD,KAAAH,GACpBG,KAAKjB,QAAUA,EACfiB,KAAKlB,SAAWZ,EAAE8B,KAAKjB,SACvBiB,KAAKE,YAAcF,KAAKlB,SAASqB,KAAI,eACrCH,KAAKI,OAASJ,KAAKlB,SAASqB,KAAI,UAChCH,KAAKK,OAASL,KAAKlB,SAASqB,KAAI,UAChCH,KAAKM,QAAUN,KAAKlB,SAASqB,KAAI,iBACjCH,KAAKO,gBAAkBP,KAAKlB,SAASqB,KAAI,oCACzCjC,EAAE,kBAAkBsB,GAAG,QAAQ,WAC9BgB,WAAW,WACVT,EAAKQ,gBAAgBE,OACpBC,MAAM,EACNC,UAAS,aACTC,SAAUb,EAAKc,UACbC,cAAe,IACjBC,aAAchB,EAAKiB,iBACnBC,WAAYlB,EAAKiB,iBACjBE,UAAU,EACVC,aAAc,EACdC,eAAgB,EAChBC,QAAS,cACTC,cAAc,EACdC,gBAAgB,EAChBC,aAEGC,WAAY,KACZC,UACDP,aAAc,EACdC,eAAgB,EAChBF,UAAU,EACVR,MAAM,KAILe,WAAY,IACZC,UACDP,aAAc,EACdC,eAAgB,QAKjB,OAGJpB,KAAKpB,2BAA2BoB,MAEhCA,KAAKE,YAAYV,GAAG,gBAAiB,SAAUmC,GAC9C,IACIC,EADS1D,EAAEyD,EAAME,eACCxC,KAAK,YACfnB,EAAE8B,MACRG,KAAK,sBAAsB2B,KAAK,MAAOF,KAE9C1D,EAAE8B,KAAKI,QAAQZ,GAAG,QAAS,SAACuC,GAC3BA,EAAEC,iBACF9D,EAAE6B,EAAKO,SAASwB,KAAK,MAAO,MAG7B5D,EAAE8B,KAAKK,QAAQb,GAAG,QAAS,SAACuC,GAC3BA,EAAEC,iBACF9D,EAAE6B,EAAKO,SAASwB,KAAK,MAAO,QAK/BG,OAAOC,OAAOrC,EAAkBsC,UAAW/D","file":"page-5.2f662a3aa586e55a56ca.js","sourcesContent":["import { gsap } from 'gsap/dist/gsap';\nimport { ScrollToPlugin } from 'gsap/ScrollToPlugin';\nimport { ScrollTrigger } from 'gsap/dist/ScrollTrigger.js';\n// import { scrollTo } from 'scroll-js';\n\ngsap.registerPlugin(ScrollToPlugin, ScrollTrigger);\n\nexport let scrollToTopButtonMixinPage = {\n\tinitScrollToTopButtonMixin: (self) => {\n\t\tself.$element = self.$element || $(self.element);\n\t\tself.$tplScroller = self.$tplScroller || $('.tpl-scroller');\n\t\tself.$tplContent = $('.tpl-content');\n\t\tself.$tplFooter = $('.tpl-footer');\n\t\tself.$tplFooterWrap = $('.siteFooterWidget-wrap');\n\t\t// self.$tplFooter.css({\n\t\t// \tposition: 'relative'\n\t\t// });\n\n\t\tif(self.$tplScroller && self.$tplScroller.length > 0 && self.$element.data('displayScrollButton')) {\n\t\t\tself.$tplFooterWrap.append(``);\n\n\t\t\tself.$scrollButton = $(`.scrollToTopButton`);\n\t\t\tself.$scrollButton.on('click', () => {\n\t\t\t\t// GSAP scrollTo (to replace existing method below)\n\t\t\t\tgsap.to(self.$tplScroller[0], {\n\t\t\t\t\tscrollTo: 0,\n\t\t\t\t\tduration: (self.$tplScroller.height() + 500)/1000\n\t\t\t\t});\n\n\t\t\t\t// Scrollto replaced with GSAP\n\t\t\t\t// scrollTo(self.$tplScroller[0], { top: 0, duration: self.$tplScroller.height() + 500, easing: 'ease-in-out' }).then(() => {\n\t\t\t\t// \tself.$scrollButton.removeClass(`scrollToTopButton--reveal`);\n\t\t\t\t// \tself.$scrollButton.addClass(`scrollToTopButton--conceal`);\n\t\t\t\t// });\n\t\t\t});\n\n\t\t\t// GSAP Scrolltrigger (to replace existing method below)\n\t\t\t/*\n\t\t\t\tself.$scrollButton.addClass(`scrollToTopButton--conceal`);\n\t\t\t\tself.$scrollButton.addClass(`scrollToTopButton--animate`);\n\t\t\t\tScrollTrigger.create({\n\t\t\t\t\tscroller: self.$tplScroller,\n\t\t\t\t\ttrigger: self.$tplContent,\n\t\t\t\t\tstart: 'top top-=100',\n\t\t\t\t\tend: 'bottom bottom-=1000',\n\t\t\t\t\tonToggle: (scroller) => {\n\t\t\t\t\t\tif(scroller.isActive) {\n\t\t\t\t\t\t\tself.$scrollButton.addClass(`scrollToTopButton--reveal`);\n\t\t\t\t\t\t\tself.$scrollButton.removeClass(`scrollToTopButton--conceal`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tself.$scrollButton.removeClass(`scrollToTopButton--reveal`);\n\t\t\t\t\t\t\tself.$scrollButton.addClass(`scrollToTopButton--conceal`);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tScrollTrigger.create({\n\t\t\t\t\tscroller: self.$tplScroller,\n\t\t\t\t\ttrigger: self.$tplFooter,\n\t\t\t\t\tstart: 'top bottom',\n\t\t\t\t\tonToggle: (scroller) => {\n\t\t\t\t\t\tif(scroller.isActive) {\n\t\t\t\t\t\t\tself.$scrollButton.addClass(`scrollToTopButton--absoluteRelative`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tself.$scrollButton.removeClass(`scrollToTopButton--absoluteRelative`);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tScrollTrigger.refresh();\n\t\t\t\t}, 5000);\n\t\t\t*/\n\t\t\t/*\n\t\t\t\t// Disabled due to poor performance, replacing scroll hooks with GSAP ScrollTrigger\n\t\t\t\tself.$tplScroller.on('scroll', _.throttle(() => {\n\t\t\t\t\tif(self.$tplScroller.scrollTop() > 50) { \n\t\t\t\t\t\tself.$scrollButton.addClass(`scrollToTopButton--reveal`);\n\t\t\t\t\t\tself.$scrollButton.removeClass(`scrollToTopButton--conceal`);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tself.$scrollButton.removeClass(`scrollToTopButton--reveal`);\n\t\t\t\t\t\tself.$scrollButton.addClass(`scrollToTopButton--conceal`);\n\t\t\t\t\t}\n\n\t\t\t\t\tif(self.$tplFooter && self.$tplFooter.length > 0) {\n\t\t\t\t\t\tif(self.$tplFooter.offset().top - window.innerHeight <= 0) {\n\t\t\t\t\t\t\tself.$scrollButton.addClass(`scrollToTopButton--absoluteRelative`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tself.$scrollButton.removeClass(`scrollToTopButton--absoluteRelative`);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}, 50));\n\t\t\t*/\n\t\t}\n\t}\n};\n","const NS = 'CourseDetailsPage';\nconst CLS = 'courseDetailsPage';\n\nimport { scrollToTopButtonMixinPage } from '../../mixins/scrollToTopButtonMixinPage/scrollToTopButtonMixinPage';\n\nexport class CourseDetailsPage {\n\tconstructor(element) {\n\t\tthis.element = element;\n\t\tthis.$element = $(this.element);\n\t\tthis.$videoModal = this.$element.find(`#videoModal`);\n\t\tthis.$close = this.$element.find(`.close`);\n\t\tthis.$modal = this.$element.find(`.modal`);\n\t\tthis.$iframe = this.$element.find(`.modal iframe`);\n\t\tthis.$carouselSlider = this.$element.find(`.faciliatorResourcesBlock-slider`);\n\t\t$('#resources-tab').on('click',() =>{\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.$carouselSlider.slick({\n\t\t\t\t\tdots: true,\n\t\t\t\t\tdotsClass: `slick-dots`,\n\t\t\t\t\tautoplay: this.autoSlide,\n\t\t\t\t\t autoplaySpeed: 5000,\n\t\t\t\t\tappendArrows: this.$sliderContainer,\n\t\t\t\t\tappendDots: this.$sliderContainer,\n\t\t\t\t\tinfinite: true,\n\t\t\t\t\tslidesToShow: 3,\n\t\t\t\t\tslidesToScroll: 3,\n\t\t\t\t\tcssEase: 'ease-in-out',\n\t\t\t\t\tuseTransform: true,\n\t\t\t\t\tadaptiveHeight: true,\n\t\t\t\t\tresponsive: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t breakpoint: 1024,\n\t\t\t\t\t\t settings: {\n\t\t\t\t\t\t\tslidesToShow: 2,\n\t\t\t\t\t\t\tslidesToScroll: 2,\n\t\t\t\t\t\t\tinfinite: true,\n\t\t\t\t\t\t\tdots: true\n\t\t\t\t\t\t }\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t breakpoint: 767,\n\t\t\t\t\t\t settings: {\n\t\t\t\t\t\t\tslidesToShow: 1,\n\t\t\t\t\t\t\tslidesToScroll: 1\n\t\t\t\t\t\t }\n\t\t\t\t\t\t}\n\t\t\t\t\t ]\n\t\t\t\t});\n\t\t\t}, 200);\n\t\t});\n\n\t\tthis.initScrollToTopButtonMixin(this);\n\n\t\tthis.$videoModal.on('show.bs.modal', function (event) {\n\t\t\tvar button = $(event.relatedTarget);\n\t\t\tvar videosrc = button.data('videosrc');\n\t\t\tvar modal = $(this);\n\t\t\tmodal.find('.modal-body iframe').attr('src', videosrc);\n\t\t});\n\t\t$(this.$close).on('click', (e) => {\n\t\t\te.preventDefault();\n\t\t\t$(this.$iframe).attr('src', '');\n\t\t});\n\n\t\t$(this.$modal).on('click', (e) => {\n\t\t\te.preventDefault();\n\t\t\t$(this.$iframe).attr('src', '');\n\t\t});\n\t}\n}\n\nObject.assign(CourseDetailsPage.prototype, scrollToTopButtonMixinPage);\n"],"sourceRoot":""}