{"version":3,"file":"js/150.js","mappings":"u1BA4GA,YAxGY,WACV,c,4FAAc,SACZA,KAAKC,UAAY,CACfC,cAAe,+CACfC,YAAa,iBACbC,cAAe,+CACfC,gBAAiB,2CAErB,C,UA6FC,O,EAzFD,G,EAAA,8BACA,SAAgBC,EAAOC,EAAOC,GAC5B,IAAMC,EAAiBC,EAAEJ,GAAOK,QAAQ,QAEnCH,EAmBHE,EAAEJ,GAAOM,QAAQ,CACfC,eAAe,EACfC,YAAaP,EACbQ,WAAW,EACXC,YAAY,EACZC,MAAM,EACNC,MAAO,OACPT,eAAAA,IACCU,GAAG,iBAAiB,SAACC,GACtBV,EAAEU,EAAEC,eAAeC,OACrB,IA5BIZ,EAAEJ,GAAOK,QAAQ,kBAAkBY,QAAU,EAC/Cb,EAAEJ,GAAOM,QAAQ,CACfE,YAAaP,EACbiB,wBAAyBC,IACzBP,MAAO,OACPT,eAAAA,IAGFC,EAAEJ,GAAOM,QAAQ,CACfE,YAAaP,EACbiB,wBAAyBC,IACzBP,MAAO,OACPT,eAAAA,IACCU,GAAG,iBAAiB,SAACC,GACtBV,EAAEU,EAAEC,eAAeC,OACrB,GAeN,GAAC,8BAED,SAAiBI,GAAU,WACJhB,EAAEgB,GAEVC,MAAK,SAACC,EAAOC,GACxB,IAAMC,EAAWpB,EAAEmB,GAASE,KAAK,MAC7BxB,EAAQ,GACRC,GAAa,EAEbkB,IAAa,EAAKzB,UAAUC,eAC9BK,EAAQG,EAAE,cAAD,OAAeoB,EAAQ,OAAME,OACtCxB,GAAa,GACJkB,IAAa,EAAKzB,UAAUI,qBACD4B,IAAhCvB,EAAEmB,GAASE,KAAK,aAClBxB,EAAQG,EAAEmB,GAASK,KAAK,UAAUC,QAAQH,OAC1CxB,GAAa,IAEbD,EAAQ,iBACRC,GAAa,GAGfD,EAAQ,MAGV,EAAK6B,gBAAgBP,EAAStB,EAAOC,EACvC,GACF,GAGA,sCACA,WAA2B,WACzBE,EAAEV,KAAKC,UAAUE,aAAagB,GAAG,UAAU,WACzC,IAAMkB,EAAmB,IAAIC,kBAAiB,SAACC,GAC7CA,EAAUC,SAAQ,SAACC,GACbA,EAASC,WAAWnB,OAAS,GAAKoB,MAAMC,KAAKH,EAASC,YAAYG,SAASC,SAASC,cAAc,kDACpG,EAAKC,iBAAiB,EAAK/C,UAAUC,eAEvCmC,EAAiBY,YACnB,GACF,IAEMC,EAAcJ,SAASC,cAAc,0BAE3CV,EAAiBc,QAAQD,EAAa,CAAEE,WAAW,GACrD,GACF,GAAC,kBAED,WACM1C,EAAE,iBAAiBa,OAAS,IAChCvB,KAAKgD,iBAAiBhD,KAAKC,UAAUC,eACrCF,KAAKgD,iBAAiBhD,KAAKC,UAAUG,eACrCJ,KAAKgD,iBAAiBhD,KAAKC,UAAUI,iBACrCL,KAAKqD,2BACP,M,8EAAC,EArGS,G","sources":["webpack://t2u/./src/js/components/Select.js"],"sourcesContent":["import 'select2';\r\n\r\n/* eslint class-methods-use-this:\r\n[\"error\", { \"exceptMethods\": [\"initSelectInput\", \"initFormsSelects\"] }] */\r\nclass Select {\r\n constructor() {\r\n this.selectors = {\r\n kenticoSelect: '.form--kentico select:not(.ktc-form-control)',\r\n kenticoForm: '.form--kentico',\r\n filtersSelect: '.filters__form select:not(.ktc-form-control)',\r\n myt2uFormSelect: '.myt2uForm select:not(.ktc-form-control)',\r\n };\r\n }\r\n\r\n // using input label as placeholder\r\n // Placeholder only works if the first select option is empty\r\n // TBC with BE\r\n initSelectInput(input, label, isMultiple) {\r\n const dropdownParent = $(input).closest('form');\r\n\r\n if (!isMultiple) {\r\n if ($(input).closest('.form--kentico').length > -1) {\r\n $(input).select2({\r\n placeholder: label,\r\n minimumResultsForSearch: Infinity,\r\n width: '100%',\r\n dropdownParent,\r\n });\r\n } else {\r\n $(input).select2({\r\n placeholder: label,\r\n minimumResultsForSearch: Infinity,\r\n width: '100%',\r\n dropdownParent,\r\n }).on('select2:close', (e) => {\r\n $(e.currentTarget).valid();\r\n });\r\n }\r\n } else {\r\n $(input).select2({\r\n closeOnSelect: false,\r\n placeholder: label,\r\n allowHtml: true,\r\n allowClear: true,\r\n tags: true,\r\n width: '100%',\r\n dropdownParent,\r\n }).on('select2:close', (e) => {\r\n $(e.currentTarget).valid();\r\n });\r\n }\r\n }\r\n\r\n initFormsSelects(selector) {\r\n const selectInputs = $(selector);\r\n\r\n selectInputs.each((index, element) => {\r\n const selectID = $(element).attr('id');\r\n let label = '';\r\n let isMultiple = false;\r\n\r\n if (selector === this.selectors.kenticoSelect) {\r\n label = $(`label[for=\"${selectID}\"]`).text();\r\n isMultiple = false;\r\n } else if (selector === this.selectors.myt2uFormSelect) {\r\n if ($(element).attr('multiple') === undefined) {\r\n label = $(element).find('option').first().text();\r\n isMultiple = false;\r\n } else {\r\n label = 'Choose options';\r\n isMultiple = true;\r\n }\r\n } else {\r\n label = 'Any';\r\n }\r\n\r\n this.initSelectInput(element, label, isMultiple);\r\n });\r\n }\r\n\r\n // re-initiate Kentico forms selects on submit\r\n // as if there are errors, the form re-renders without page re-load\r\n reInitKenticoFormsSelect() {\r\n $(this.selectors.kenticoForm).on('submit', () => {\r\n const mutationObserver = new MutationObserver((mutations) => {\r\n mutations.forEach((mutation) => {\r\n if (mutation.addedNodes.length > 0 && Array.from(mutation.addedNodes).includes(document.querySelector('form[action*=\"displayValidationErrors=True\"]'))) {\r\n this.initFormsSelects(this.selectors.kenticoSelect);\r\n }\r\n mutationObserver.disconnect();\r\n });\r\n });\r\n\r\n const formWrapper = document.querySelector('div.form.form--kentico');\r\n\r\n mutationObserver.observe(formWrapper, { childList: true });\r\n });\r\n }\r\n\r\n init() {\r\n if ($('.ktc-admin-ui').length > 0) return;\r\n this.initFormsSelects(this.selectors.kenticoSelect);\r\n this.initFormsSelects(this.selectors.filtersSelect);\r\n this.initFormsSelects(this.selectors.myt2uFormSelect);\r\n this.reInitKenticoFormsSelect();\r\n }\r\n}\r\n\r\nexport default new Select();\r\n"],"names":["this","selectors","kenticoSelect","kenticoForm","filtersSelect","myt2uFormSelect","input","label","isMultiple","dropdownParent","$","closest","select2","closeOnSelect","placeholder","allowHtml","allowClear","tags","width","on","e","currentTarget","valid","length","minimumResultsForSearch","Infinity","selector","each","index","element","selectID","attr","text","undefined","find","first","initSelectInput","mutationObserver","MutationObserver","mutations","forEach","mutation","addedNodes","Array","from","includes","document","querySelector","initFormsSelects","disconnect","formWrapper","observe","childList","reInitKenticoFormsSelect"],"sourceRoot":""}