{"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/mixins/trackingScrollMixinBlock/trackingScrollMixinBlock.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/src/views/blocks/mixins/compactViewMixinBlock/compactViewMixinBlock.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/src/views/blocks/resourcesContainerBlock/js/resourcesContainerBlock.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/src/views/mixins/compactViewMixin/compactViewMixin.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","trackingScrollMixinBlock","initTrackingScroll","trackingId","$tracker","$tplScroller","length","markAsComplete","trigger","on","throttle","Math","ceil","position","top","outerHeight","clientHeight","scrollHeight","compactViewMixinBlock","compactViewMixin","ResourcesContainerBlock","_createClass","_classCallCheck","this","initCompactView","Object","assign","prototype","classes","applyCompactView","attr","forEach","classItem","find","isBlockExceedingHeight","toggleCompactViewAttribute","removeAttr"],"mappings":"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","file":"block-56.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","export let trackingScrollMixinBlock = {\n\tinitTrackingScroll: (self) => {\n\t\tself.$element = self.$element || $(self.element);\n\t\tself.$tplHeader = self.$tplHeader || $('.tpl-header');\n\n\t\tlet trackingId = self.$element.data('trackingId');\n\t\tif(!_.isNil(trackingId) && trackingId !== '') {\n\t\t\tlet $tracker = $('[data-pg][data-tracker=\"true\"]');\n\t\t\tself.$tplScroller = self.$tplScroller || $('.tpl-scroller');\n\n\t\t\tif(!($tracker && $tracker.length > 0)) {\n\t\t\t\tconsole.error(`TrackingScrollMixinBlock::Error`, 'Please ensure that the \"[data-pg][data-tracker=\"true\"]\" element exists.');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif(!(self.$tplScroller && self.$tplScroller.length > 0)) {\n\t\t\t\tconsole.error(`TrackingScrollMixinBlock::Error`, 'Please ensure that the \".tpl-main\" element exists.');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet markAsComplete = () => {\n\t\t\t\tif(!self.$element.data('trackingComplete')) {\n\t\t\t\t\t$tracker.trigger('tracking.complete', { $element: self.$element, trackingId: trackingId });\n\t\t\t\t\tself.$element.data('trackingComplete', true);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tself.$tplScroller.on('scroll', _.throttle(() => {\n\t\t\t\t// If the bottom part of the element is above the bottom part of the tplScroller\n\t\t\t\tif(Math.ceil((self.$element.position().top + self.$element.outerHeight())) < self.$tplScroller.height()) {\n\t\t\t\t\t// Emit to the data-pg which contains data-tracker=\"true\"\n\t\t\t\t\tmarkAsComplete();\n\t\t\t\t}\n\t\t\t}, 250));\n\n\t\t\t// Mark scrolling as complete if the scroller clientHeight is greater than the scrollHeight\n\t\t\tif(self.$tplScroller[0].clientHeight >= self.$tplScroller[0].scrollHeight) {\n\t\t\t\tmarkAsComplete();\n\t\t\t}\n\t\t}\n\t}\n};\n","import { compactViewMixin } from '../../../mixins/compactViewMixin/compactViewMixin';\nexport let compactViewMixinBlock = compactViewMixin;\n","const NS = 'ResourcesContainerBlock';\nconst CLS = 'resourcesContainerBlock';\n\nimport { compactViewMixinBlock } from '../../mixins/compactViewMixinBlock/compactViewMixinBlock';\nimport { fullWindowHeightMixinBlock } from '../../mixins/fullWindowHeightMixinBlock/fullWindowHeightMixinBlock';\nimport { trackingScrollMixinBlock } from '../../mixins/trackingScrollMixinBlock/trackingScrollMixinBlock';\n\nexport class ResourcesContainerBlock {\n\tconstructor(element) {\n\t\tthis.element = element;\n\t\tthis.$element = $(element);\n\n\t\tthis.initCompactView(this);\n\t\tthis.initFullWindowHeight(this);\n\t\tthis.initTrackingScroll(this);\n\t}\n}\n\nObject.assign(ResourcesContainerBlock.prototype, compactViewMixinBlock);\nObject.assign(ResourcesContainerBlock.prototype, fullWindowHeightMixinBlock);\nObject.assign(ResourcesContainerBlock.prototype, trackingScrollMixinBlock);\n","export let compactViewMixin = {\n\tinitCompactView: (self, classes) => {\n\t\tlet minimumHeight = 550; // 550px was the chosen number to have compact views\n\t\tself.$element = self.$element || $(self.element);\n\t\tself.$tplScroller = self.$tplScroller || $('.tpl-scroller');\n\t\tclasses = classes || [];\n\n\t\tif(self.$tplScroller && self.$tplScroller.length > 0) {\n\t\t\tlet applyCompactView = () => {\n\t\t\t\tself.$element.attr('compact-view', 'true');\n\n\t\t\t\tif(classes.length > 0) {\n\t\t\t\t\tclasses.forEach((classItem) => {\n\t\t\t\t\t\tself.$element.find(classItem).attr('compact-view', true);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tlet unapplyCompactView = () => {\n\t\t\t\tself.$element.removeAttr('compact-view');\n\n\t\t\t\tif(classes.length > 0) {\n\t\t\t\t\tclasses.forEach((classItem) => {\n\t\t\t\t\t\tself.$element.find(classItem).removeAttr('compact-view');\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tlet isBlockExceedingHeight = () => {\n\t\t\t\treturn self.$tplScroller[0].clientHeight <= minimumHeight ||\n\t\t\t\t\t((self.$element.outerHeight() > minimumHeight) && self.$element.outerHeight() > self.$tplScroller[0].clientHeight);\n\t\t\t};\n\n\t\t\tlet toggleCompactViewAttribute = () => {\n\t\t\t\tif(isBlockExceedingHeight()) {\n\t\t\t\t\tapplyCompactView();\n\n\t\t\t\t\t// Re-render\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tif(isBlockExceedingHeight()) {\n\t\t\t\t\t\t\tapplyCompactView();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 500);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tunapplyCompactView();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t$(window).resize(_.debounce(() => {\n\t\t\t\ttoggleCompactViewAttribute();\n\t\t\t}, 250));\n\n\t\t\ttoggleCompactViewAttribute();\n\t\t}\n\t}\n};\n"],"sourceRoot":""}