{"version":3,"sources":["webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/src/views/blocks/programsWideCarouselBlock/js/programsWideCarouselBlock.js"],"names":["NS","CLS","ProgramsWideCarouselBlock","element","_classCallCheck","this","$element","$","$tplScroller","isLoggedIn","data","registerUrl","loginUrl","api","attr","selectedClass","$courseContainer","concat","$courseSelectedId","$swiper","find","$buttonNext","$buttonPrev","$initialSlide","loadTemplates","$swiperObj","Swiper","speed","spaceBetween","slidesPerView","autoHeight","shortSwipes","slideToClickedSlide","centeredSlides","loop","loopedSlidesLimit","navigation","nextEl","prevEl","initialSlide","on","init","initAnimateScrollReveal","hide","key","value","programCoursesContentWidget","require","Handlebars","registerPartial","programCoursesOverviewWidget","programCoursesListWidget","programCoursesItemWidget","progressBarWidget","progressRadialCheckWidget","precompiled","Function","precompile","programCoursesContentWidgetRenderer","template","registerHelper","ifCond","id","_this","params","fetch","then","response","json","programCoursesContentWidgetModel","program","wg","ns","html","$programCoursesListWidget","length","ProgramCoursesListWidget","$programCoursesItemWidget","each","index","$course","ProgramCoursesItemWidget","$progressBarWidget","ProgressBarWidget","$progressRadialCheckWidget","ProgressRadialCheckWidget","Object","assign","prototype","animateScrollRevealMixinBlock"],"mappings":"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","file":"block-52.2f662a3aa586e55a56ca.js","sourcesContent":["import Handlebars from 'handlebars';\nimport Swiper from 'swiper/swiper-bundle.js';\n\nimport { animateScrollRevealMixinBlock } from '../../mixins/animateScrollRevealMixinBlock/animateScrollRevealMixinBlock';\nimport { ProgressRadialCheckWidget } from '../../../widgets/progressRadialCheckWidget/js/progressRadialCheckWidget';\nimport { ProgramCoursesListWidget } from '../../../widgets/programCoursesListWidget/js/programCoursesListWidget';\nimport { ProgramCoursesItemWidget } from '../../../widgets/programCoursesItemWidget/js/programCoursesItemWidget';\nimport { ProgressBarWidget } from '../../../widgets/progressBarWidget/js/progressBarWidget';\nimport { ifCond } from '../../../../../handlebarsHelpers';\n\nconst NS = 'ProgramsWideCarouselBlock';\nconst CLS = 'programsWideCarouselBlock';\n\nexport class ProgramsWideCarouselBlock {\n\tconstructor(element) {\n\t\tconst $this = this;\n\n\t\tthis.element = element;\n\t\tthis.$element = $(element);\n\n\t\tthis.$tplScroller = $('.tpl-scroller');\n\t\tthis.isLoggedIn = this.$element.data('loggedIn');\n\t\tthis.registerUrl = this.$element.data('registerUrl');\n\t\tthis.loginUrl = this.$element.data('loginUrl');\n\t\tthis.api = this.$element.attr('data-api');\n\t\tthis.selectedClass = 'selected';\n\t\tthis.$courseContainer = $(`#programCoursesContainer${NS}`);\n\t\tthis.$courseSelectedId = null;\n\n\t\tthis.$swiper = this.$element.find(`.${CLS}-swiper`);\n\t\tthis.$buttonNext = this.$element.find(`.${CLS}-swiper-button-next`);\n\t\tthis.$buttonPrev = this.$element.find(`.${CLS}-swiper-button-prev`);\n\t\tthis.$initialSlide = 0;\n\n\t\t// Load Templates (existing)\n\t\tthis.loadTemplates();\n\n\t\t// Carousel (new - as it is looping and centered, it has different setup to other carousels)\n\t\tthis.$swiperObj = new Swiper(this.$swiper[0], {\n\t\t\tspeed: 700,\n\t\t\tspaceBetween: 0,\n\t\t\tslidesPerView: 'auto', // scroll 3 at a time instead of 1\n\t\t\tautoHeight: false,\n\t\t\tshortSwipes: true,\n\t\t\tslideToClickedSlide: true,\n\t\t\tcenteredSlides: true,\n\t\t\tloop: false,\n\t\t\tloopedSlidesLimit: true,\n\t\t\tnavigation: {\n\t\t\t\tnextEl: this.$buttonNext[0],\n\t\t\t\tprevEl: this.$buttonPrev[0]\n\t\t\t},\n\t\t\tinitialSlide: 1,\n\t\t\ton: {\n\t\t\t\tinit: function() {\t\t\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// Scroll animation\n\t\tthis.initAnimateScrollReveal(this, CLS);\n\t\tthis.$element.find(`.card-program-arrow`).hide();\t\t\n\t}\n\n\t// Load Templates (existing)\n\tloadTemplates() {\n\t\tlet programCoursesContentWidget = require('../../../widgets/programCoursesContentWidget/tmpl/programCoursesContentWidget.hbs');\n\t\tHandlebars.registerPartial('programCoursesContentWidget', programCoursesContentWidget);\n\n\t\tlet programCoursesOverviewWidget = require('../../../widgets/programCoursesOverviewWidget/tmpl/programCoursesOverviewWidget.hbs');\n\t\tHandlebars.registerPartial('programCoursesOverviewWidget', programCoursesOverviewWidget);\n\n\t\tlet programCoursesListWidget = require('../../../widgets/programCoursesListWidget/tmpl/programCoursesListWidget.hbs');\n\t\tHandlebars.registerPartial('programCoursesListWidget', programCoursesListWidget);\n\n\t\tlet programCoursesItemWidget = require('../../../widgets/programCoursesItemWidget/tmpl/programCoursesItemWidget.hbs');\n\t\tHandlebars.registerPartial('programCoursesItemWidget', programCoursesItemWidget);\n\n\t\tlet progressBarWidget = require('../../../widgets/progressBarWidget/tmpl/progressBarWidget.hbs');\n\t\tHandlebars.registerPartial('progressBarWidget', progressBarWidget);\n\n\t\tlet progressRadialCheckWidget = require('../../../widgets/progressRadialCheckWidget/tmpl/progressRadialCheckWidget.hbs');\n\t\tHandlebars.registerPartial('progressRadialCheckWidget', progressRadialCheckWidget);\n\n\t\tlet template = `\n\t\t\t{{> programCoursesContentWidget\n\t\t\t\twg=\"programCoursesContentWidget\"\n\t\t\t\tns=\"ProgramCoursesContentWidget\"\n\t\t\t}}\n\t\t`;\n\t\tlet precompiled = new Function('return ' + Handlebars.precompile(template))();\n\t\tthis.programCoursesContentWidgetRenderer = Handlebars.template(precompiled);\n\n\t\tHandlebars.registerHelper('ifCond', ifCond);\n\t}\n\n\t// Set Selected Course (existing)\n\tsetSelectedCourse(id) {\n\t\tif(this.$courseSelectedId !== id) {\n\t\t\tthis.$courseSelectedId = id;\n\t\t\tconst params = `?id=${id}`;\n\n\t\t\tfetch(this.api + params)\n\t\t\t\t.then((response) => response.json())\n\t\t\t\t.then((json) => {\n\t\t\t\t\tlet programCoursesContentWidgetModel = {\n\t\t\t\t\t\tisLoggedIn: this.isLoggedIn,\n\t\t\t\t\t\tregisterUrl: this.registerUrl,\n\t\t\t\t\t\tloginUrl: this.loginUrl,\n\t\t\t\t\t\t// rippleSrc: this.rippleSrc,\n\t\t\t\t\t\tprogram: json,\n\t\t\t\t\t\tprogramCoursesOverviewWidget: {\n\t\t\t\t\t\t\twg: 'programCoursesOverviewWidget',\n\t\t\t\t\t\t\tns: 'ProgramCoursesOverviewWidget'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprogramCoursesListWidget: {\n\t\t\t\t\t\t\twg: 'programCoursesListWidget',\n\t\t\t\t\t\t\tns: 'ProgramCoursesListWidget',\n\t\t\t\t\t\t\tprogramCoursesItemWidget: {\n\t\t\t\t\t\t\t\twg: 'programCoursesItemWidget',\n\t\t\t\t\t\t\t\tns: 'ProgramCoursesItemWidget',\n\t\t\t\t\t\t\t\tprogressBarWidget: {\n\t\t\t\t\t\t\t\t\twg: 'progressBarWidget',\n\t\t\t\t\t\t\t\t\tns: 'ProgressBarWidget'\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tprogressRadialCheckWidget: {\n\t\t\t\t\t\t\t\t\twg: 'progressRadialCheckWidget',\n\t\t\t\t\t\t\t\t\tns: 'ProgressRadialCheckWidget'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\tthis.$courseContainer.html(this.programCoursesContentWidgetRenderer(programCoursesContentWidgetModel));\n\n\t\t\t\t\tlet $programCoursesListWidget = this.$courseContainer.find(`[data-wg=\"ProgramCoursesListWidget\"]`);\n\t\t\t\t\tif($programCoursesListWidget && $programCoursesListWidget.length > 0) {\n\t\t\t\t\t\tnew ProgramCoursesListWidget($programCoursesListWidget[0]);\n\n\t\t\t\t\t\tlet $programCoursesItemWidget = $programCoursesListWidget.find(`[data-wg=\"ProgramCoursesItemWidget\"]`);\n\n\t\t\t\t\t\tif($programCoursesItemWidget && $programCoursesItemWidget.length > 0) {\n\t\t\t\t\t\t\t$programCoursesItemWidget.each((index, element) => {\n\t\t\t\t\t\t\t\tlet $course = $(element);\n\t\t\t\t\t\t\t\tnew ProgramCoursesItemWidget($course[0]);\n\n\t\t\t\t\t\t\t\tlet $progressBarWidget = $course.find('[data-wg=\"ProgressBarWidget\"]');\n\t\t\t\t\t\t\t\tif($progressBarWidget[0]) {\n\t\t\t\t\t\t\t\t\tnew ProgressBarWidget($progressBarWidget[0]);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tlet $progressRadialCheckWidget = $course.find('[data-wg=\"ProgressRadialCheckWidget\"]');\n\t\t\t\t\t\t\t\tif($progressRadialCheckWidget[0]) {\n\t\t\t\t\t\t\t\t\tnew ProgressRadialCheckWidget($progressRadialCheckWidget[0]);\n\t\t\t\t\t\t\t\t}\n\t\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);\n\t\t}\n\t}\n}\n\nObject.assign(ProgramsWideCarouselBlock.prototype, animateScrollRevealMixinBlock);\n"],"sourceRoot":""}