{"version":3,"sources":["webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/src/views/blocks/glossaryBlock/js/glossaryBlock.js","webpack:///./wlc/mediaQuery.js"],"names":["CLS","GlossaryBlock","element","_this","this","_classCallCheck","$element","$","$navigation","find","concat","$card","mediaQuery","createFilters","initFilterEvents","window","resize","_","debounce","adjustHeight","css","visibility","key","value","html","list","i","String","fromCharCode","navItemsMarkup","_this2","$navigationLink","filterSelection","on","event","preventDefault","removeClass","target","addClass","labelSelect","character","map","index","title","toggle","toLowerCase","charAt","breakpointMaxWidth","BREAKPOINTS","LG","height","MediaQuery","XS","SM","MD","XL","breakpoint","width","Math","max","document","documentElement","clientWidth","innerWidth","isFinite"],"mappings":"w4BAAA,IACMA,EAAM,gBAICC,EAAa,WAwBxB,SAvBD,SAAAA,EAAYC,GAAS,IAAAC,EAAAC,kGAAAC,CAAAD,KAAAH,GACpBG,KAAKF,QAAUA,EACfE,KAAKE,SAAWC,EAAEL,GAClBE,KAAKI,YAAcJ,KAAKE,SAASG,KAAI,IAAAC,OAAKV,EAAG,SAC7CI,KAAKO,MAAQP,KAAKE,SAASG,KAAI,IAAAC,OAAKV,EAAG,UACvCI,KAAKQ,WAAaA,IAElBR,KAAKS,gBACLT,KAAKU,mBAELP,EAAEQ,QAAQC,OAAOC,EAAEC,SAAS,WAC3Bf,EAAKgB,gBACH,KAEHf,KAAKe,eAELf,KAAKE,SAASc,KACbC,WAAY,YAGbjB,KAAKO,MAAMS,KACVC,WAAY,kBAEbC,IAAA,gBAAAC,MAED,WAUCnB,KAAKI,YAAYgB,KATI,WAGpB,IAFA,IAAIC,EAAI,GAEAC,EAAI,GAAIA,GAAK,GAAIA,IACxBD,GAAI,cAAAf,OAAkBV,EAAG,mCAAAU,OAAiCV,EAAG,uBAAAU,OAA4B,KAANgB,EAAW,SAAW,GAAE,gBAAAhB,OAAciB,OAAOC,aAAaF,GAAE,aAEhJ,OAAOD,EAGcI,OACtBP,IAAA,mBAAAC,MAED,WAAmB,IAAAO,EAAA1B,KAClBA,KAAK2B,gBAAkB3B,KAAKI,YAAYC,KAAK,aAC7CL,KAAK4B,gBAAgB,KAErB5B,KAAK2B,gBAAgBE,GAAG,QAAS,SAACC,GACjCA,EAAMC,iBACNL,EAAKC,gBAAgBK,YAAY,UACjC7B,EAAE2B,EAAMG,QAAQC,SAAS,UACzB,IAAIC,EAAchC,EAAE2B,EAAMG,QAAQb,OAClCM,EAAKE,gBAAgBO,QAEtBjB,IAAA,kBAAAC,MAED,SAAgBiB,GACKpC,KAAKE,SAASG,KAAK,sBACzBgC,IAAI,SAACC,EAAOxC,GACzB,IAAIyC,EAAQpC,EAAEL,GAASO,KAAK,4BAA4Be,OACxDjB,EAAEL,GAAS0C,OAAOJ,EAAUK,gBAAkBF,EAAMG,OAAO,GAAGD,oBAE/DvB,IAAA,eAAAC,MAED,WACInB,KAAKQ,WAAWmC,mBAAmB3C,KAAKQ,WAAWoC,YAAYC,IACjE7C,KAAKE,SAASc,KACb8B,OAAM,GAAAxC,OAAKN,KAAKI,YAAY0C,SAAQ,QAIrC9C,KAAKE,SAASc,KACb8B,OAAQ,yGApEc,40BCiBftC,EAAa,IAtBR,WASd,SARD,SAAAuC,iGAAc9C,CAAAD,KAAA+C,GACb/C,KAAK4C,aACJI,GAAI,EACJC,GAAI,IACJC,GAAI,IACJL,GAAI,IACJM,GAAI,YAELjC,IAAA,qBAAAC,MAED,SAAmBiC,GAClB,IAAIC,EAAQC,KAAKC,IAAIC,SAASC,gBAAgBC,YAAa/C,OAAOgD,YAAc,GAEhF,QAAG9C,EAAE+C,SAASR,IACNA,EAAaC,iGAfP","file":"block-29.2f662a3aa586e55a56ca.js","sourcesContent":["const NS = 'GlossaryBlock';\nconst CLS = 'glossaryBlock';\n\nimport { mediaQuery } from '../../../../global/js/wlc/mediaQuery';\n\nexport class GlossaryBlock {\n\tconstructor(element) {\n\t\tthis.element = element;\n\t\tthis.$element = $(element);\n\t\tthis.$navigation = this.$element.find(`.${CLS}-nav`);\n\t\tthis.$card = this.$element.find(`.${CLS}-card`);\n\t\tthis.mediaQuery = mediaQuery;\n\n\t\tthis.createFilters();\n\t\tthis.initFilterEvents();\n\n\t\t$(window).resize(_.debounce(() => {\n\t\t\tthis.adjustHeight();\n\t\t}, 50));\n\n\t\tthis.adjustHeight();\n\n\t\tthis.$element.css({\n\t\t\tvisibility: 'visible'\n\t\t});\n\n\t\tthis.$card.css({\n\t\t\tvisibility: 'visible'\n\t\t});\n\t}\n\n\tcreateFilters() {\n\t\tlet navItemsMarkup = () => {\n\t\t\tlet list = ``;\n\t\t\t// ASCII increments for letters from A–Z.\n\t\t\tfor(let i = 65; i <= 90; i++) {\n\t\t\t\tlist += `
  • ${String.fromCharCode(i)}
  • `;\n\t\t\t}\n\t\t\treturn list;\n\t\t};\n\n\t\tthis.$navigation.html(navItemsMarkup());\n\t}\n\n\tinitFilterEvents() {\n\t\tthis.$navigationLink = this.$navigation.find('.nav-link');\n\t\tthis.filterSelection('A');\n\n\t\tthis.$navigationLink.on('click', (event) => {\n\t\t\tevent.preventDefault();\n\t\t\tthis.$navigationLink.removeClass('active');\n\t\t\t$(event.target).addClass('active');\n\t\t\tlet labelSelect = $(event.target).html();\n\t\t\tthis.filterSelection(labelSelect);\n\t\t});\n\t}\n\n\tfilterSelection(character) {\n\t\tlet $glossaryItem = this.$element.find('.glossaryItemBlock');\n\t\t$glossaryItem.map((index, element) => {\n\t\t\tlet title = $(element).find('.glossaryItemBlock-title').html();\n\t\t\t$(element).toggle(character.toLowerCase() === title.charAt(0).toLowerCase());\n\t\t});\n\t}\n\n\tadjustHeight() {\n\t\tif(this.mediaQuery.breakpointMaxWidth(this.mediaQuery.BREAKPOINTS.LG)) {\n\t\t\tthis.$element.css({\n\t\t\t\theight: `${this.$navigation.height()}px`\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\tthis.$element.css({\n\t\t\t\theight: 'unset'\n\t\t\t});\n\t\t}\n\t}\n}\n","class MediaQuery {\n\tconstructor() {\n\t\tthis.BREAKPOINTS = {\n\t\t\tXS: 0,\n\t\t\tSM: 576,\n\t\t\tMD: 768,\n\t\t\tLG: 992,\n\t\t\tXL: 1200\n\t\t};\n\t}\n\n\tbreakpointMaxWidth(breakpoint) {\n\t\tlet width = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n\n\t\tif(_.isFinite(breakpoint)) {\n\t\t\treturn breakpoint > width;\n\t\t}\n\t\tconsole.error(`MediaQuery::Error`, 'Please supply a valid breakpoint');\n\t\treturn false;\n\t}\n}\n\nexport let mediaQuery = new MediaQuery();\n"],"sourceRoot":""}