{"version":3,"sources":["webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/src/views/blocks/tabDropdownBlock/js/tabDropdownBlock.js"],"names":["CLS","TabDropdownBlock","element","_this","this","_classCallCheck","$element","$","$select","find","concat","$selectedItem","$tabItems","initSelectedTab","on","_e","clickedIndex","selectedKey","children","eq","val","selectTab","window","resize","_","throttle","setHeight","key","value","attr","height","each","index","css","minHeight","dataKey","_this2","display","next","blur"],"mappings":"83BAAA,IACMA,EAAM,mBAECC,EAAgB,WAkB3B,SAjBD,SAAAA,EAAYC,GAAS,IAAAC,EAAAC,kGAAAC,CAAAD,KAAAH,GACpBG,KAAKF,QAAUA,EACfE,KAAKE,SAAWC,EAAEL,GAElBE,KAAKI,QAAUJ,KAAKE,SAASG,KAAI,IAAAC,OAAKV,EAAG,YACzCI,KAAKO,cAAgB,KACrBP,KAAKQ,UAAYR,KAAKE,SAASG,KAAI,IAAAC,OAAKV,EAAG,SAE3CI,KAAKS,kBACLT,KAAKI,QAAQM,GAAG,oBAAqB,SAACC,EAAIC,GACzC,IAAIC,EAAcd,EAAKK,QAAQU,SAAS,UAAUC,GAAGH,GAAcI,MACnEjB,EAAKkB,UAAUJ,KAGhBV,EAAEe,QAAQC,OAAOC,EAAEC,SAAS,WAC3BtB,EAAKuB,aACH,YACHC,IAAA,kBAAAC,MAED,WACC,IAAIX,EAAcb,KAAKE,SAASuB,KAAK,sBAAwB,KAC7DzB,KAAKiB,UAAUJ,GACfb,KAAKsB,eACLC,IAAA,YAAAC,MAED,WACC,IAAIE,EAAS,EAEb1B,KAAKQ,UAAUmB,KAAK,SAACC,EAAO9B,GACxBK,EAAEL,GAAS4B,SAAWA,IACxBA,EAASvB,EAAEL,GAAS4B,YAItB1B,KAAKQ,UAAUmB,KAAK,SAACC,EAAO9B,GAC3BK,EAAEL,GAAS+B,KAAMC,UAAWJ,SAE7BH,IAAA,YAAAC,MAED,SAAUO,GAAS,IAAAC,EAAAhC,KAClBA,KAAKQ,UAAUmB,KAAK,SAACC,EAAO9B,GACxBK,EAAEL,GAAS2B,KAAK,cAAgBM,IAE/BC,EAAKzB,eACPyB,EAAKzB,cAAcsB,KAAMI,QAAS,SAEnCD,EAAKzB,cAAgBJ,EAAEL,GACvBkC,EAAKzB,cAAcsB,KAAMI,QAAS,SAClCD,EAAK5B,QAAQ8B,KAAK,oBAAoBC,yGAjDb","file":"block-61.2f662a3aa586e55a56ca.js","sourcesContent":["const NS = 'TabDropdownBlock';\nconst CLS = 'tabDropdownBlock';\n\nexport class TabDropdownBlock {\n\tconstructor(element) {\n\t\tthis.element = element;\n\t\tthis.$element = $(element);\n\n\t\tthis.$select = this.$element.find(`.${CLS}-select`);\n\t\tthis.$selectedItem = null;\n\t\tthis.$tabItems = this.$element.find(`.${CLS}-tab`);\n\n\t\tthis.initSelectedTab();\n\t\tthis.$select.on('changed.bs.select', (_e, clickedIndex) => {\n\t\t\tlet selectedKey = this.$select.children('option').eq(clickedIndex).val();\n\t\t\tthis.selectTab(selectedKey);\n\t\t});\n\n\t\t$(window).resize(_.throttle(() => {\n\t\t\tthis.setHeight();\n\t\t}, 250));\n\t}\n\n\tinitSelectedTab() {\n\t\tlet selectedKey = this.$element.attr('data-selected-key') || null;\n\t\tthis.selectTab(selectedKey);\n\t\tthis.setHeight();\n\t}\n\n\tsetHeight() {\n\t\tlet height = 0;\n\n\t\tthis.$tabItems.each((index, element) => {\n\t\t\tif($(element).height() > height) {\n\t\t\t\theight = $(element).height();\n\t\t\t}\n\t\t});\n\n\t\tthis.$tabItems.each((index, element) => {\n\t\t\t$(element).css({ minHeight: height });\n\t\t});\n\t}\n\n\tselectTab(dataKey) {\n\t\tthis.$tabItems.each((index, element) => {\n\t\t\tif($(element).attr('data-key') === dataKey) {\n\t\t\t\t// Hide the previous item\n\t\t\t\tif(this.$selectedItem) {\n\t\t\t\t\tthis.$selectedItem.css({ display: 'none' });\n\t\t\t\t}\n\t\t\t\tthis.$selectedItem = $(element);\n\t\t\t\tthis.$selectedItem.css({ display: 'flex' });\n\t\t\t\tthis.$select.next('.dropdown-toggle').blur();\n\t\t\t}\n\t\t});\n\t}\n}\n"],"sourceRoot":""}