{"version":3,"sources":["block-menu.js"],"names":["BlockMenu","constructor","container","options","this","Object","assign","tabs","menuSections","externalPdfs","descriptions","document","querySelector","querySelectorAll","setEvents","onLoad","self","forEach","tab","addEventListener","clickTab","id","URL","location","searchParams","get","filterFoodMenu","length","showFirstTab","section","classList","contains","remove","add","elem","dataset","console","log"],"mappings":"qBAAqBA,UACjBC,YAAYC,EAAWC,GAOnBC,KAAKD,QAAUE,OAAOC,OAAO,GANN,CACnBC,KAAM,uBACNC,aAAc,sBACdC,aAAc,gBACdC,aAAc,wBAClB,EACiDP,CAAO,EAExDC,KAAKF,UAAYS,SAASC,cAAcV,CAAS,EACjDE,KAAKG,KAAOH,KAAKF,UAAUW,iBAAiBT,KAAKD,QAAQI,IAAI,EAC7DH,KAAKK,aAAeL,KAAKF,UAAUW,iBAAiBT,KAAKD,QAAQM,YAAY,EAC7EL,KAAKM,aAAeN,KAAKF,UAAUW,iBAAiBT,KAAKD,QAAQO,YAAY,EAC7EN,KAAKI,aAAeJ,KAAKF,UAAUW,iBAAiBT,KAAKD,QAAQK,YAAY,EAE7EJ,KAAKU,UAAU,EACfV,KAAKW,OAAO,CAChB,CAEAD,YACI,IAAIE,EAAOZ,KACXA,KAAKG,KAAKU,QAAQC,IACfA,EAAIC,iBAAiB,QAAS,WAAaH,EAAKI,SAAShB,IAAI,CAAG,CAAC,CACpE,CAAC,CACL,CAEAW,SACI,IACIM,EADS,IAAKC,IAAIX,SAASY,QAAS,EAAEC,aAC1BC,IAAI,MAAM,EAEf,OAAPJ,EACAjB,KAAKsB,eAAeL,CAAE,EACI,EAAnBjB,KAAKG,KAAKoB,QACjBvB,KAAKwB,aAAa,EAGtBxB,KAAKI,aAAaS,QAAQY,IACtBA,EAAQV,iBAAiB,QAAS,KAC1BU,EAAQC,UAAUC,SAAS,gBAAgB,EAC3CF,EAAQC,UAAUE,OAAO,gBAAgB,EAEzCH,EAAQC,UAAUG,IAAI,gBAAgB,CAE9C,CAAC,CACL,CAAC,CACL,CAEAL,eACIxB,KAAKgB,SAAShB,KAAKG,KAAK,EAAE,CAC9B,CAEAa,SAASc,GACDb,EAAKa,EAAKC,QAAQd,GAEtBjB,KAAKsB,eAAeL,CAAE,CAC1B,CAEAK,eAAeL,GACXe,QAAQC,IAAIhB,CAAE,EACdjB,KAAKG,KAAKU,QAAQC,IACVA,EAAIY,UAAUC,SAAS,MAAM,EAC7Bb,EAAIY,UAAUE,OAAO,MAAM,EAE3Bd,EAAIY,UAAUG,IAAI,MAAM,EAGxBf,EAAIY,UAAUC,SAASV,CAAE,EACzBH,EAAIY,UAAUG,IAAI,QAAQ,EAE1Bf,EAAIY,UAAUE,OAAO,QAAQ,CAErC,CAAC,EAED5B,KAAKK,aAAaQ,QAAQf,IAClBA,EAAU4B,UAAUC,SAASV,CAAE,EAC/BnB,EAAU4B,UAAUG,IAAI,MAAM,EAE9B/B,EAAU4B,UAAUE,OAAO,MAAM,CAEzC,CAAC,EAED5B,KAAKM,aAAaO,QAAQf,IAClBA,EAAU4B,UAAUC,SAASV,CAAE,EAC/BnB,EAAU4B,UAAUG,IAAI,MAAM,EAE9B/B,EAAU4B,UAAUE,OAAO,MAAM,CAEzC,CAAC,EAED5B,KAAKI,aAAaS,QAAQY,IAClBA,EAAQC,UAAUC,SAASV,CAAE,EAC7BQ,EAAQC,UAAUG,IAAI,MAAM,EAE5BJ,EAAQC,UAAUE,OAAO,MAAM,CAEvC,CAAC,CACL,CACJ","file":"block-menu.min.js","sourcesContent":["export default class BlockMenu {\r\n constructor(container, options) {\r\n const defaultOptions = {\r\n tabs: '.tabs-container .tab',\r\n menuSections: '.block-menu-section',\r\n externalPdfs: '.external-pdf',\r\n descriptions: '.description-container',\r\n };\r\n this.options = Object.assign({}, defaultOptions, options);\r\n\r\n this.container = document.querySelector(container);\r\n this.tabs = this.container.querySelectorAll(this.options.tabs);\r\n this.externalPdfs = this.container.querySelectorAll(this.options.externalPdfs);\r\n this.descriptions = this.container.querySelectorAll(this.options.descriptions);\r\n this.menuSections = this.container.querySelectorAll(this.options.menuSections);\r\n\r\n this.setEvents();\r\n this.onLoad();\r\n }\r\n\r\n setEvents() {\r\n var self = this;\r\n this.tabs.forEach(tab => {\r\n tab.addEventListener('click', function() { self.clickTab(this); }); \r\n });\r\n }\r\n \r\n onLoad() {\r\n var params = (new URL(document.location)).searchParams\r\n var id = params.get(\"show\");\r\n\r\n if (id !== null) {\r\n this.filterFoodMenu(id);\r\n } else if (this.tabs.length > 0) {\r\n this.showFirstTab();\r\n }\r\n\r\n this.menuSections.forEach(section => {\r\n section.addEventListener('click', () => {\r\n if (section.classList.contains('show-accordion')) {\r\n section.classList.remove('show-accordion') \r\n } else {\r\n section.classList.add('show-accordion')\r\n }\r\n })\r\n })\r\n }\r\n \r\n showFirstTab() {\r\n this.clickTab(this.tabs[0]);\r\n }\r\n \r\n clickTab(elem) {\r\n var id = elem.dataset.id;\r\n \r\n this.filterFoodMenu(id);\r\n }\r\n \r\n filterFoodMenu(id) {\r\n console.log(id);\r\n this.tabs.forEach(tab => {\r\n if (tab.classList.contains('show')) {\r\n tab.classList.remove('show')\r\n } else {\r\n tab.classList.add('show')\r\n }\r\n\r\n if (tab.classList.contains(id)) {\r\n tab.classList.add('active')\r\n } else {\r\n tab.classList.remove('active')\r\n }\r\n })\r\n\r\n this.externalPdfs.forEach(container => {\r\n if (container.classList.contains(id)) {\r\n container.classList.add('show')\r\n } else {\r\n container.classList.remove('show')\r\n }\r\n })\r\n\r\n this.descriptions.forEach(container => {\r\n if (container.classList.contains(id)) {\r\n container.classList.add('show')\r\n } else {\r\n container.classList.remove('show')\r\n }\r\n })\r\n\r\n this.menuSections.forEach(section => {\r\n if (section.classList.contains(id)) {\r\n section.classList.add('show')\r\n } else {\r\n section.classList.remove('show')\r\n }\r\n })\r\n }\r\n}"]}