{"version":3,"sources":["webpack:////Users/owenli/Documents/workspace/awi-wool-fe/src/views/widgets/siteHeaderBottomWidget/js/siteHeaderBottomWidget.js","webpack:///./wool/operatingSystemDetector.js"],"names":["CLS","SiteHeaderBottomWidget","element","_this","this","_classCallCheck","$element","$","operatingSystemDetector","operatingSystem","getOS","fontSizeObjects","key","value","activeFontSizeObject","getGlobalFontSizeObject","$siteHeaderBottomMenuWidget","find","$siteHeaderBottomSearchBarWidget","$siteHeaderWidget","parent","document","body","append","$togglerButton","concat","on","hasClass","destroyItems","bottomMenu","searchBar","trigger","siteHeaderBottomWidget","addClass","$searchBarButton","include","removeClass","$adjustFontSizeButton","adjustFontSize","window","_","throttle","OperatingSystemItems","Android","removeClonedWidgets","length","last","remove","globalFontObject","JSON","parse","localStorage","getItem","isNil","i","fontSizeObject","setGlobalFontSize","setItem","stringify","index","indexOf","css","fontSize","OperatingSystemDetector","MacOS","Windows","Linux","userAgent","navigator","platform","iOS","test"],"mappings":"i5BAAA,IACMA,EAAM,yBAICC,EAAsB,WA6HjC,SA5HD,SAAAA,EAAYC,GAAS,IAAAC,EAAAC,kGAAAC,CAAAD,KAAAH,GACpBG,KAAKF,QAAUA,EACfE,KAAKE,SAAWC,EAAEL,GAClBE,KAAKI,wBAA0BA,IAC/BJ,KAAKK,gBAAkBL,KAAKI,wBAAwBE,QAGpDN,KAAKO,kBAEHC,IAAK,SACLC,MAAO,KAGPD,IAAK,QACLC,MAAO,KAGPD,IAAK,SACLC,MAAO,KAGPD,IAAK,QACLC,MAAO,KAGTT,KAAKU,qBAAuBV,KAAKW,0BAEjCX,KAAKY,4BAA8BZ,KAAKE,SAASW,KAAI,+BACrDb,KAAKc,iCAAmCd,KAAKE,SAASW,KAAI,oCAC1Db,KAAKe,kBAAoBf,KAAKE,SAASc,OAAM,qBAC7Cb,EAAEc,SAASC,MAAMC,OAAOnB,KAAKY,6BAC7BT,EAAEc,SAASC,MAAMC,OAAOnB,KAAKc,kCAE7Bd,KAAKoB,eAAiBpB,KAAKE,SAASW,KAAI,IAAAQ,OAAKzB,EAAG,kBAChDI,KAAKoB,eAAeE,GAAG,QAAS,WAC3BvB,EAAKqB,eAAeG,SAAS,UAchCC,GACCC,YAAY,EACZC,WAAW,KAfZF,GACCE,WAAW,IAGZ3B,EAAKa,4BAA4Be,QAAQ,mCACxCC,uBAAwB7B,EAAKG,WAG9BH,EAAKqB,eAAeS,SAAS,UAE7B9B,EAAKgB,kBAAkBc,SAAQ,sCAUjC7B,KAAK8B,iBAAmB9B,KAAKE,SAASW,KAAI,IAAAQ,OAAKzB,EAAG,iBAClDI,KAAK8B,iBAAiBR,GAAG,QAAS,WAC7BvB,EAAK+B,iBAAiBP,SAAS,UAalCC,GACCC,YAAY,EACZC,WAAW,KAdZF,GACCC,YAAY,IAGb1B,EAAKe,iCAAiCa,QAAQ,wCAC7CC,uBAAwB7B,EAAKG,WAG9BH,EAAK+B,iBAAiBD,SAAS,UAC/B9B,EAAKgB,kBAAkBc,SAAQ,sCAUjC,IAAIL,EAAe,SAACO,GAEhBA,EAAQL,YACV3B,EAAKe,iCAAiCa,QAAQ,4CAC9C5B,EAAK+B,iBAAiBE,YAAY,WAGhCD,EAAQN,aACV1B,EAAKa,4BAA4Be,QAAQ,uCACzC5B,EAAKqB,eAAeY,YAAY,WAGjCjC,EAAKgB,kBAAkBiB,YAAW,oCAGnChC,KAAKiC,sBAAwBjC,KAAKE,SAASW,KAAI,IAAAQ,OAAKzB,EAAG,qBACvDI,KAAKiC,sBAAsBX,GAAG,QAAS,WACtCvB,EAAKmC,mBAGNlC,KAAKE,SAASoB,GAAE,GAAAD,OAAIzB,EAAG,sBAAsB,WAC5C4B,GACCC,YAAY,EACZC,WAAW,MAKbvB,EAAEgC,QAAQb,GAAG,SAAUc,EAAEC,SAAS,WAE7BtC,EAAKK,wBAAwBkC,qBAAqBC,SACrDf,GACCC,YAAY,EACZC,WAAW,KAGX,KAEHvB,EAAEgC,QAAQb,GAAG,oBAAqB,WACjCE,GACCC,YAAY,EACZC,WAAW,MAIb1B,KAAKwC,4BACLhC,IAAA,sBAAAC,MAED,WAEIN,EAAE,+BAA+BsC,OAAS,GAC5CtC,EAAE,+BAA+BuC,OAAOC,SAEtCxC,EAAE,oCAAoCsC,OAAS,GACjDtC,EAAE,oCAAoCuC,OAAOC,YAE9CnC,IAAA,0BAAAC,MAED,WACC,IAAImC,EAAmBC,KAAKC,MAAMC,aAAaC,QAAQ,8BAEvD,IAAIZ,EAAEa,MAAML,IAAqBA,EAAiBpC,IACjD,IAAI,IAAI0C,EAAI,EAAGA,EAAIlD,KAAKO,gBAAgBkC,OAAQS,IAAK,CACpD,IAAIC,EAAiBnD,KAAKO,gBAAgB2C,GAE1C,GAAGN,EAAiBpC,MAAQ2C,EAAe3C,IAC1C,OAAO2C,EAMV,OAFAP,EAAmB5C,KAAKO,gBAAgB,GACxCP,KAAKoD,kBAAkBR,GAChBA,KACPpC,IAAA,oBAAAC,MAED,SAAkB0C,GACjBJ,aAAaM,QAAQ,0BAA2BR,KAAKS,UAAUH,OAC/D3C,IAAA,iBAAAC,MAED,WACC,GAAGT,KAAKU,qBAAsB,CAC7B,IAAI6C,EAAQvD,KAAKO,gBAAgBiD,QAAQxD,KAAKU,sBAC3C6C,GAAS,GAAKA,EAAQvD,KAAKO,gBAAgBkC,OAAS,EACtDzC,KAAKU,qBAAuBV,KAAKO,gBAAgBgD,EAAQ,GAElDA,IAAUvD,KAAKO,gBAAgBkC,OAAS,IAC/CzC,KAAKU,qBAAuBV,KAAKO,gBAAgB,IAGlDP,KAAKoD,kBAAkBpD,KAAKU,sBACzBV,KAAKU,qBAAqBD,OAC5BN,EAAE,QAAQsD,KAAMC,SAAU1D,KAAKU,qBAAqBD,wGA1KrB,2zBCL5B,IAmCIL,EAA0B,IAnCD,WAQlC,SAPD,SAAAuD,iGAAc1D,CAAAD,KAAA2D,GACb3D,KAAKsC,sBACJsB,MAAO,QACPC,QAAS,UACTC,MAAO,QACPvB,QAAS,iBAEV/B,IAAA,QAAAC,MAED,WACC,IAAIsD,EAAY5B,OAAO6B,UAAUD,UAC7BE,EAAW9B,OAAO6B,UAAUC,SAKhC,OAAyC,KAJnB,YAAa,WAAY,SAAU,UAIvCT,QAAQS,GAClBjE,KAAKsC,qBAAqBsB,OAEU,KALxB,SAAU,OAAQ,QAKjBJ,QAAQS,GACrBjE,KAAKsC,qBAAqB4B,KAEc,KATxB,QAAS,QAAS,UAAW,SAS5BV,QAAQS,GACzBjE,KAAKsC,qBAAqBuB,QAE1B,QAAQM,KAAKF,GACbjE,KAAKsC,qBAAqBwB,MAE1B,UAAUK,KAAKJ,GACf/D,KAAKsC,qBAAqBC,aAD7B,iGA7B6B","file":"widget-32.430117f348aedc9992ce.js","sourcesContent":["const NS = 'SiteHeaderBottomWidget';\nconst CLS = 'siteHeaderBottomWidget';\n\nimport { operatingSystemDetector } from '../../../../global/js/wool/operatingSystemDetector';\n\nexport class SiteHeaderBottomWidget {\n\tconstructor(element) {\n\t\tthis.element = element;\n\t\tthis.$element = $(element);\n\t\tthis.operatingSystemDetector = operatingSystemDetector;\n\t\tthis.operatingSystem = this.operatingSystemDetector.getOS();\n\n\t\t// Font size objects set in order of toggling\n\t\tthis.fontSizeObjects = [\n\t\t\t{\n\t\t\t\tkey: 'normal',\n\t\t\t\tvalue: 15\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: 'large',\n\t\t\t\tvalue: 16\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: 'xlarge',\n\t\t\t\tvalue: 17\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: 'small',\n\t\t\t\tvalue: 14\n\t\t\t}\n\t\t];\n\t\tthis.activeFontSizeObject = this.getGlobalFontSizeObject();\n\n\t\tthis.$siteHeaderBottomMenuWidget = this.$element.find(`.siteHeaderBottomMenuWidget`);\n\t\tthis.$siteHeaderBottomSearchBarWidget = this.$element.find(`.siteHeaderBottomSearchBarWidget`);\n\t\tthis.$siteHeaderWidget = this.$element.parent(`.siteHeaderWidget`);\n\t\t$(document.body).append(this.$siteHeaderBottomMenuWidget);\n\t\t$(document.body).append(this.$siteHeaderBottomSearchBarWidget);\n\n\t\tthis.$togglerButton = this.$element.find(`.${CLS}-btn--toggler`);\n\t\tthis.$togglerButton.on('click', () => {\n\t\t\tif(!this.$togglerButton.hasClass('active')) {\n\t\t\t\tdestroyItems({\n\t\t\t\t\tsearchBar: true\n\t\t\t\t});\n\n\t\t\t\tthis.$siteHeaderBottomMenuWidget.trigger('siteHeaderBottomMenuWidget.open', {\n\t\t\t\t\tsiteHeaderBottomWidget: this.$element\n\t\t\t\t});\n\n\t\t\t\tthis.$togglerButton.addClass('active');\n\n\t\t\t\tthis.$siteHeaderWidget.addClass(`siteHeaderWidget--activeElement`);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tdestroyItems({\n\t\t\t\t\tbottomMenu: true,\n\t\t\t\t\tsearchBar: true\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tthis.$searchBarButton = this.$element.find(`.${CLS}-btn--search`);\n\t\tthis.$searchBarButton.on('click', () => {\n\t\t\tif(!this.$searchBarButton.hasClass('active')) {\n\t\t\t\tdestroyItems({\n\t\t\t\t\tbottomMenu: true\n\t\t\t\t});\n\n\t\t\t\tthis.$siteHeaderBottomSearchBarWidget.trigger('siteHeaderBottomSearchBarWidget.open', {\n\t\t\t\t\tsiteHeaderBottomWidget: this.$element\n\t\t\t\t});\n\n\t\t\t\tthis.$searchBarButton.addClass('active');\n\t\t\t\tthis.$siteHeaderWidget.addClass(`siteHeaderWidget--activeElement`);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tdestroyItems({\n\t\t\t\t\tbottomMenu: true,\n\t\t\t\t\tsearchBar: true\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tlet destroyItems = (include) => {\n\n\t\t\tif(include.searchBar) {\n\t\t\t\tthis.$siteHeaderBottomSearchBarWidget.trigger('siteHeaderBottomSearchBarWidget.close', {});\n\t\t\t\tthis.$searchBarButton.removeClass('active');\n\t\t\t}\n\n\t\t\tif(include.bottomMenu) {\n\t\t\t\tthis.$siteHeaderBottomMenuWidget.trigger('siteHeaderBottomMenuWidget.close', {});\n\t\t\t\tthis.$togglerButton.removeClass('active');\n\t\t\t}\n\n\t\t\tthis.$siteHeaderWidget.removeClass(`siteHeaderWidget--activeElement`);\n\t\t};\n\n\t\tthis.$adjustFontSizeButton = this.$element.find(`.${CLS}-btn--fontAdjust`);\n\t\tthis.$adjustFontSizeButton.on('click', () => {\n\t\t\tthis.adjustFontSize();\n\t\t});\n\n\t\tthis.$element.on(`${CLS}.menuWidgets.close`, () => {\n\t\t\tdestroyItems({\n\t\t\t\tbottomMenu: true,\n\t\t\t\tsearchBar: true\n\t\t\t});\n\t\t});\n\n\t\t// Conceal the dropdown and the searchBar\n\t\t$(window).on('resize', _.throttle(() => {\n\t\t\t// Make exception for android\n\t\t\tif(!this.operatingSystemDetector.OperatingSystemItems.Android) {\n\t\t\t\tdestroyItems({\n\t\t\t\t\tbottomMenu: true,\n\t\t\t\t\tsearchBar: true\n\t\t\t\t});\n\t\t\t}\n\t\t}, 50));\n\n\t\t$(window).on('orientationchange', () => {\n\t\t\tdestroyItems({\n\t\t\t\tbottomMenu: true,\n\t\t\t\tsearchBar: true\n\t\t\t});\n\t\t});\n\n\t\tthis.removeClonedWidgets();\n\t}\n\n\tremoveClonedWidgets() {\n\t\t// Remove cloned instances\n\t\tif($('.siteHeaderBottomMenuWidget').length > 1) {\n\t\t\t$('.siteHeaderBottomMenuWidget').last().remove();\n\t\t}\n\t\tif($('.siteHeaderBottomSearchBarWidget').length > 1) {\n\t\t\t$('.siteHeaderBottomSearcgBarWidget').last().remove();\n\t\t}\n\t}\n\n\tgetGlobalFontSizeObject() {\n\t\tlet globalFontObject = JSON.parse(localStorage.getItem('awi.wool.globalFontObject'));\n\n\t\tif(!_.isNil(globalFontObject) && globalFontObject.key) {\n\t\t\tfor(let i = 0; i < this.fontSizeObjects.length; i++) {\n\t\t\t\tlet fontSizeObject = this.fontSizeObjects[i];\n\n\t\t\t\tif(globalFontObject.key === fontSizeObject.key) {\n\t\t\t\t\treturn fontSizeObject;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tglobalFontObject = this.fontSizeObjects[0];\n\t\tthis.setGlobalFontSize(globalFontObject);\n\t\treturn globalFontObject;\n\t}\n\n\tsetGlobalFontSize(fontSizeObject) {\n\t\tlocalStorage.setItem('awi.wool.globalFontSize', JSON.stringify(fontSizeObject));\n\t}\n\n\tadjustFontSize() {\n\t\tif(this.activeFontSizeObject) {\n\t\t\tlet index = this.fontSizeObjects.indexOf(this.activeFontSizeObject);\n\t\t\tif(index >= 0 && index < this.fontSizeObjects.length - 1) {\n\t\t\t\tthis.activeFontSizeObject = this.fontSizeObjects[index + 1];\n\t\t\t}\n\t\t\telse if(index === this.fontSizeObjects.length - 1) {\n\t\t\t\tthis.activeFontSizeObject = this.fontSizeObjects[0];\n\t\t\t}\n\n\t\t\tthis.setGlobalFontSize(this.activeFontSizeObject);\n\t\t\tif(this.activeFontSizeObject.value) {\n\t\t\t\t$('html').css({ fontSize: this.activeFontSizeObject.value });\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconsole.error(`${NS}::Error`, 'activeFontSizeObject.value is not defined');\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tconsole.error(`${NS}::Error`, 'activeFontSizeObject is not defined');\n\t\t}\n\t}\n}\n","export class OperatingSystemDetector {\n\tconstructor() {\n\t\tthis.OperatingSystemItems = {\n\t\t\tMacOS: 'MacOS',\n\t\t\tWindows: 'Windows',\n\t\t\tLinux: 'Linux',\n\t\t\tAndroid: 'Android'\n\t\t};\n\t}\n\n\tgetOS() {\n\t\tlet userAgent = window.navigator.userAgent;\n\t\tlet platform = window.navigator.platform;\n\t\tlet macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'];\n\t\tlet windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'];\n\t\tlet iosPlatforms = ['iPhone', 'iPad', 'iPod'];\n\n\t\tif(macosPlatforms.indexOf(platform) !== -1) {\n\t\t\treturn this.OperatingSystemItems.MacOS;\n\t\t}\n\t\telse if(iosPlatforms.indexOf(platform) !== -1) {\n\t\t\treturn this.OperatingSystemItems.iOS;\n\t\t}\n\t\telse if(windowsPlatforms.indexOf(platform) !== -1) {\n\t\t\treturn this.OperatingSystemItems.Windows;\n\t\t}\n\t\telse if(/Linux/.test(platform)) {\n\t\t\treturn this.OperatingSystemItems.Linux;\n\t\t}\n\t\telse if(/Android/.test(userAgent)) {\n\t\t\treturn this.OperatingSystemItems.Android;\n\t\t}\n\t}\n}\n\nexport let operatingSystemDetector = new OperatingSystemDetector();\n"],"sourceRoot":""}