{"version":3,"sources":["webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/src/views/blocks/mixins/fullWindowHeightMixinBlock/fullWindowHeightMixinBlock.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/src/views/blocks/sliderBlock/js/sliderBlock.js"],"names":["__webpack_require__","r","__webpack_exports__","$","_","d","fullWindowHeightMixinBlock","initFullWindowHeight","self","$element","element","isNil","data","setElementHeight","$tplHeader","setTimeout","css","minHeight","concat","window","height","visibility","resize","debounce","CLS","SliderBlock","_this","this","_classCallCheck","$slider","find","$sliderInput","$radios","$tracker","trackingId","hasTrackingId","hasTracker","ticks","ticksLabels","each","index","push","val","attr","slider","ticks_labels","value","ticks_snap_bounds","on","sliderElement","newValue","prop","trigger","updateTrackingCompleteStatus","setValue","key","length","Object","assign","prototype"],"mappings":"8FAAAA,EAAAC,EAAAC,GAAA,SAAAC,EAAAC,GAAAJ,EAAAK,EAAAH,EAAA,+CAAAI,IAAO,IAAIA,GACVC,qBAAsB,SAACC,GAGtB,GAFAA,EAAKC,SAAWD,EAAKC,UAAYN,EAAEK,EAAKE,UAEpCN,EAAEO,MAAMH,EAAKC,SAASG,KAAK,gBAAkBJ,EAAKC,SAASG,KAAK,cAAe,CAClF,IAAIC,EAAmB,WACtB,IAAIC,EAAaX,EAAE,eAGnBY,WAAW,WACVP,EAAKC,SAASO,KACbC,UAAS,GAAAC,OAAKf,EAAEgB,QAAQC,SAAWN,EAAWM,SAAQ,MACtDC,WAAY,aAEX,MAGJlB,EAAEgB,QAAQG,OAAOlB,EAAEmB,SAAS,WAC3BV,KACE,MAEHA,SAIAE,WAAW,WACVP,EAAKC,SAASO,KACbK,WAAY,aAEX,22BC7BN,IACMG,EAAM,cAICC,EAAW,WA4DtB,SA3DD,SAAAA,EAAYf,GAAS,IAAAgB,EAAAC,KASpB,+FAToBC,CAAAD,KAAAF,GACpBE,KAAKjB,QAAUA,EACfiB,KAAKlB,SAAWN,EAAEO,GAClBiB,KAAKE,QAAUF,KAAKlB,SAASqB,KAAI,IAAAZ,OAAKM,EAAG,YACzCG,KAAKI,aAAeJ,KAAKlB,SAASqB,KAAI,IAAAZ,OAAKM,EAAG,wBAC9CG,KAAKK,QAAUL,KAAKlB,SAASqB,KAAI,IAAAZ,OAAKM,EAAG,WACzCG,KAAKM,SAAW9B,EAAE,kCAClBwB,KAAKO,WAAaP,KAAKlB,SAASG,KAAK,eAElCe,KAAKQ,iBACHR,KAAKS,aADV,CAOA,IAAIC,KACAC,KAEJX,KAAKK,QAAQO,KAAK,SAACC,EAAO9B,GACzB2B,EAAMI,KAAKtC,EAAEO,GAASgC,OACtBJ,EAAYG,KAAKtC,EAAEO,GAASiC,KAAK,iBAGlChB,KAAKI,aAAaa,QACjBP,MAAOA,EACPQ,aAAcP,EACdQ,MAAOT,EAAM,GACbU,kBAAmB,KAIpBpB,KAAKI,aAAaiB,GAAG,SAAU,SAACC,GAC/B,IAAIH,EAAQG,EAAcH,MAAMI,SAEhCxB,EAAKM,QAAQO,KAAK,SAACC,EAAO9B,IACrBP,EAAEO,GAASiC,KAAK,gBAAkBG,IACrC3C,EAAEO,GAASyC,KAAK,WAAW,GAC3BhD,EAAEO,GAAS0C,QAAQ,UAEnB1B,EAAK2B,oCAMR1B,KAAKK,QAAQO,KAAK,SAACC,EAAO9B,GACzBP,EAAEO,GAASsC,GAAG,SAAU,WACvBtB,EAAKK,aAAaa,SAAShC,KAAK,UAAU0C,UAAUnD,EAAEO,GAASiC,KAAK,mBAItEhB,KAAKE,QAAQb,KAAMK,WAAY,YAC/BM,KAAKpB,qBAAqBoB,MAG1BZ,WAAW,WACVW,EAAKK,aAAaa,OAAO,YACvB,YACHW,IAAA,gBAAAT,MAED,WACC,OAAQ1C,EAAEO,MAAMgB,KAAKO,aAAmC,KAApBP,KAAKO,cACzCqB,IAAA,aAAAT,MAED,WACC,OAAOnB,KAAKM,UAAYN,KAAKM,SAASuB,OAAS,KAC/CD,IAAA,+BAAAT,MAED,WACInB,KAAKQ,iBAAmBR,KAAKS,eAC3BT,KAAKlB,SAASG,KAAK,sBACtBe,KAAKM,SAASmB,QAAQ,qBAAuB3C,SAAUkB,KAAKlB,SAAUyB,WAAYP,KAAKO,aACvFP,KAAKlB,SAASkC,KAAK,0BAA0B,oGA1EzB,GAgFxBc,OAAOC,OAAOjC,EAAYkC,UAAWrD","file":"block-59.2f662a3aa586e55a56ca.js","sourcesContent":["export let fullWindowHeightMixinBlock = {\n\tinitFullWindowHeight: (self) => {\n\t\tself.$element = self.$element || $(self.element);\n\n\t\tif(!_.isNil(self.$element.data('fullscreen')) && self.$element.data('fullscreen')) {\n\t\t\tlet setElementHeight = () => {\n\t\t\t\tlet $tplHeader = $('.tpl-header');\n\n\t\t\t\t// Slight delay\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tself.$element.css({\n\t\t\t\t\t\tminHeight: `${$(window).height() - $tplHeader.height()}px`,\n\t\t\t\t\t\tvisibility: 'visible'\n\t\t\t\t\t});\n\t\t\t\t}, 250);\n\t\t\t};\n\n\t\t\t$(window).resize(_.debounce(() => {\n\t\t\t\tsetElementHeight();\n\t\t\t}, 250));\n\n\t\t\tsetElementHeight();\n\t\t}\n\t\telse {\n\t\t\t// Slight delay\n\t\t\tsetTimeout(() => {\n\t\t\t\tself.$element.css({\n\t\t\t\t\tvisibility: 'visible'\n\t\t\t\t});\n\t\t\t}, 250);\n\t\t}\n\t}\n};\n","const NS = 'SliderBlock';\nconst CLS = 'sliderBlock';\n\nimport { fullWindowHeightMixinBlock } from '../../mixins/fullWindowHeightMixinBlock/fullWindowHeightMixinBlock';\n\nexport class SliderBlock {\n\tconstructor(element) {\n\t\tthis.element = element;\n\t\tthis.$element = $(element);\n\t\tthis.$slider = this.$element.find(`.${CLS}-slider`);\n\t\tthis.$sliderInput = this.$element.find(`.${CLS}-slider-input input`);\n\t\tthis.$radios = this.$element.find(`.${CLS}-radio`);\n\t\tthis.$tracker = $('[data-pg][data-tracker=\"true\"]');\n\t\tthis.trackingId = this.$element.data('trackingId');\n\n\t\tif(this.hasTrackingId()) {\n\t\t\tif(!this.hasTracker()) {\n\t\t\t\tconsole.error(`${NS}::Error`, 'Please ensure that the \"[data-pg][data-tracker=\"true\"]\" element exists.');\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tlet ticks = [];\n\t\tlet ticksLabels = [];\n\n\t\tthis.$radios.each((index, element) => {\n\t\t\tticks.push($(element).val());\n\t\t\tticksLabels.push($(element).attr('data-label'));\n\t\t});\n\n\t\tthis.$sliderInput.slider({\n\t\t\tticks: ticks,\n\t\t\tticks_labels: ticksLabels,\n\t\t\tvalue: ticks[0],\n\t\t\tticks_snap_bounds: 30\n\t\t});\n\n\t\t// Slider change if any\n\t\tthis.$sliderInput.on('change', (sliderElement) => {\n\t\t\tlet value = sliderElement.value.newValue;\n\n\t\t\tthis.$radios.each((index, element) => {\n\t\t\t\tif(+$(element).attr('data-value') === value) {\n\t\t\t\t\t$(element).prop('checked', true);\n\t\t\t\t\t$(element).trigger('change');\n\n\t\t\t\t\tthis.updateTrackingCompleteStatus();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\t// Radio change event if any\n\t\tthis.$radios.each((index, element) => {\n\t\t\t$(element).on('change', () => {\n\t\t\t\tthis.$sliderInput.slider().data('slider').setValue(+$(element).attr('data-value'));\n\t\t\t});\n\t\t});\n\n\t\tthis.$slider.css({ visibility: 'visible' });\n\t\tthis.initFullWindowHeight(this);\n\n\t\t// Initial change trigger for slider to render\n\t\tsetTimeout(() => {\n\t\t\tthis.$sliderInput.slider('refresh');\n\t\t}, 250);\n\t}\n\n\thasTrackingId() {\n\t\treturn !_.isNil(this.trackingId) && this.trackingId !== '';\n\t}\n\n\thasTracker() {\n\t\treturn this.$tracker && this.$tracker.length > 0;\n\t}\n\n\tupdateTrackingCompleteStatus() {\n\t\tif(this.hasTrackingId() && this.hasTracker()) {\n\t\t\tif(!this.$element.data('trackingComplete')) {\n\t\t\t\tthis.$tracker.trigger('tracking.complete', { $element: this.$element, trackingId: this.trackingId } );\n\t\t\t\tthis.$element.attr('data-tracking-complete', true);\n\t\t\t}\n\t\t}\n\t}\n}\n\nObject.assign(SliderBlock.prototype, fullWindowHeightMixinBlock);\n"],"sourceRoot":""}