{"version":3,"sources":["webpack:///./node_modules/ui-theme/js/widgets/_collapsible-menu.js"],"names":["$","UX","$body","isMobile","collapsibleMenu","cName","cNameRes","$target","$toggle","$ul","$li","vPort","init","addClass","id","data","on","dropdownDestroy","build","control","e","select","dropdown","this","document","removeClass","elem","closest","hasClass","children","find","text","dropdownBuild","$dropdownContainer","$activeTab","dropBlock","wrap","activevalue","get","activeTab","length","prepend","attr","remove","removeAttr","unwrap","ready","jQuery"],"mappings":"4EAGA,SAAWA,EAAGC,GACV,IAAIC,EAAQF,EAAE,QACVG,GAAW,EAEXC,EAAkB,CAClBC,MAAO,GACPC,SAAU,GACVC,QAAS,KACTC,QAAS,KACTC,IAAK,KACLC,IAAK,KACLC,MAAO,YAEPC,KAAM,SAANA,OACKR,EAAgBC,MAAQ,mBACpBD,EAAgBE,SAAWF,EAAgBC,MAAQ,QACnDD,EAAgBG,QAAUP,EAAE,yBAC7BI,EAAgBG,QAAQM,SAAST,EAAgBC,OAChDD,EAAgBU,GAAKV,EAAgBG,QAAQQ,KAAK,kBAEvDX,EAAgBY,GAAGC,gBAAgBb,EAAgBG,SACnDH,EAAgBY,GAAGE,QACnBd,EAAgBe,WAEpBA,QAAS,SAATA,UACIjB,EAAMc,GAAG,QAAS,4BAA4B,SAAUI,GACpDhB,EAAgBY,GAAGK,OAAOC,SAAStB,EAAEuB,UAGzCvB,EAAEwB,UAAUR,GAAGZ,EAAgBO,MAAQ,OAAO,WAE1CR,GAAW,EACXH,EAAE,qBAAqBa,SAAST,EAAgBE,UAChDF,EAAgBY,GAAGE,WAGvBlB,EAAEwB,UAAUR,GAAGZ,EAAgBO,MAAQ,QAAQ,WAE3CR,GAAW,EACXH,EAAE,qBAAqByB,YAAYrB,EAAgBE,UACnDF,EAAgBY,GAAGE,YAG3BF,GAAI,CACAK,OAAQ,CACJC,SAAU,SAAVA,SAAoBI,IAGC,aADFA,EAAKC,QAAQ,MAAMZ,KAAK,kBACRW,EAAKC,QAAQ,MAAMC,SAAS,oBACnCF,EAAKC,QAAQ,cACfE,SAAS,KAAKC,KAAK,QAAQC,KAAKL,EAAKK,UAInEC,cAAe,SAAfA,cAAyBN,GAErB,IAAIO,EAAoBC,EACpBjC,EAAGkC,WACHlC,EAAGkC,UAAUvB,OAEjBc,EAAKU,KACD,eACIhC,EAAgBC,MAChB,kEAER4B,EAAqBP,EAAKC,QAAQ,IAAMvB,EAAgBC,MAAQ,eAEhE,IAAIgC,EAAc,UADlBH,EAAa9B,EAAgBkC,IAAIC,UAAUb,IAE5BK,OAAOS,OAAS,IAC3BH,EAAcH,EAAWH,QAEzB/B,EAAE,0BAA0B+B,OAAOS,OAAS,IAC5CH,EAAcrC,EAAE,0BAA0B+B,QAE9CE,EAAmBQ,QACf,yCACIrC,EAAgBC,MAChB,WACAgC,EACA,mEAERX,EAAKgB,KAAK,oBAAqB,SAAWtC,EAAgBC,QAE9DY,gBAAiB,SAAjBA,gBAA2BS,GAECA,EAAKC,QAAQ,IAAMvB,EAAgBC,MAAQ,eACjDwB,SAAS,KAAKc,SAChCjB,EAAKkB,WAAW,qBACXnB,YAAY,YACZmB,WAAW,SACXC,OAAO,IAAMzC,EAAgBC,MAAQ,gBAE9Ca,MAAO,SAAPA,QACQf,EACAC,EAAgBY,GAAGgB,cAAc5B,EAAgBG,SAEjDH,EAAgBY,GAAGC,gBAAgBb,EAAgBG,WAI/D+B,IAAK,CACDC,UAAW,SAAXA,UAAqBb,GACjB,OAAOA,EAAKI,KAAK,eAK7B7B,EAAGG,gBAAkBA,EACrBJ,EAAEwB,UAAUsB,MAAM7C,EAAGG,gBAAgBQ,MA5GzC,CA6GGmC,OAAQ9C","file":"js/collapsible-menu-a407cf64604b22e90e3b.js","sourcesContent":["// todo: It has to be refactor\n// the source for this file is profile-menu.js\n\n(function ($, UX) {\n var $body = $('body'),\n isMobile = false; // variable use to determine if responsive mode is on or off\n\n var collapsibleMenu = {\n cName: '',\n cNameRes: '',\n $target: null,\n $toggle: null,\n $ul: null,\n $li: null,\n vPort: 'screen-md', // default responsive break point\n\n init: function () {\n (collapsibleMenu.cName = 'collapsible-menu'),\n (collapsibleMenu.cNameRes = collapsibleMenu.cName + '--res'),\n (collapsibleMenu.$target = $('[data-collapsible-id]')),\n collapsibleMenu.$target.addClass(collapsibleMenu.cName),\n (collapsibleMenu.id = collapsibleMenu.$target.data('collapsible-id'));\n\n collapsibleMenu.on.dropdownDestroy(collapsibleMenu.$target);\n collapsibleMenu.on.build();\n collapsibleMenu.control();\n },\n control: function () {\n $body.on('click', '.collapsible-menu--res a', function (e) {\n collapsibleMenu.on.select.dropdown($(this));\n });\n\n $(document).on(collapsibleMenu.vPort + '-on', function () {\n // Waiting for custom event that will be triggered by controller.js to activate responsive effects\n isMobile = true;\n $('.collapsible-menu').addClass(collapsibleMenu.cNameRes); // class will be used in our scss (to replace media queries)\n collapsibleMenu.on.build();\n });\n\n $(document).on(collapsibleMenu.vPort + '-off', function () {\n // Waiting for custom event that will be triggered by controller.js to deactivate responsive effects\n isMobile = false;\n $('.collapsible-menu').removeClass(collapsibleMenu.cNameRes);\n collapsibleMenu.on.build();\n });\n },\n on: {\n select: {\n dropdown: function (elem) {\n let dropdownContainer;\n var dataAttr = elem.closest('ul').data('mobile-toggle');\n if (dataAttr === 'dropdown' || elem.closest('ul').hasClass('dropblock--tab')) {\n dropdownContainer = elem.closest('.dropBlock');\n dropdownContainer.children('a').find('span').text(elem.text());\n }\n },\n },\n dropdownBuild: function (elem) {\n // rebuild tabs to be as drop down\n let $dropdownContainer, $activeTab;\n if (UX.dropBlock) {\n UX.dropBlock.init();\n }\n elem.wrap(\n '
'\n );\n $dropdownContainer = elem.closest('.' + collapsibleMenu.cName + '--dropBlock');\n $activeTab = collapsibleMenu.get.activeTab(elem);\n let activevalue = 'Select';\n if ($activeTab.text().length > 0) {\n activevalue = $activeTab.text();\n }\n if ($('.issue-navigator__link').text().length > 0) {\n activevalue = $('.issue-navigator__link').text();\n }\n $dropdownContainer.prepend(\n '' +\n activevalue +\n ''\n );\n elem.attr('data-db-target-of', 'dbTab-' + collapsibleMenu.cName);\n },\n dropdownDestroy: function (elem) {\n // return tabs to default\n var dropdownContainer = elem.closest('.' + collapsibleMenu.cName + '--dropBlock');\n dropdownContainer.children('a').remove();\n elem.removeAttr('data-db-target-of')\n .removeClass('js--open')\n .removeAttr('style')\n .unwrap('.' + collapsibleMenu.cName + '--dropBlock');\n },\n build: function () {\n if (isMobile) {\n collapsibleMenu.on.dropdownBuild(collapsibleMenu.$target);\n } else {\n collapsibleMenu.on.dropdownDestroy(collapsibleMenu.$target);\n }\n },\n },\n get: {\n activeTab: function (elem) {\n return elem.find('a.active');\n },\n },\n };\n\n UX.collapsibleMenu = collapsibleMenu;\n $(document).ready(UX.collapsibleMenu.init);\n})(jQuery, UX);\n"],"sourceRoot":""}