{"version":3,"file":"app.js","sources":["app.js"],"sourcesContent":["// eslint-disable-next-line func-names\n(function ($, Drupal) {\n var App = (function () {\n // Base UI Actions\n const bindUiActions = () => {\n // Init responsive view\n if ($(window).outerWidth() < 1024) {\n responsive();\n } else {\n setAdminTopOffsets();\n }\n\n // Remove preload class\n $('body').removeClass('preload');\n\n // On scroll shrink header\n $(window).scroll(function () {\n const $header = $('.header');\n if ($(window).scrollTop() > 50) {\n $header.addClass('header--narrow');\n } else {\n $header.removeClass('header--narrow');\n }\n });\n\n // Document listeners\n $(document).click(function (event) {\n const $target = $(event.target);\n if ($('.header .u-submenu-open').length > 0 && !$target.closest('.u-submenu-open').length) {\n $('.u-submenu-open .menu-level-1').removeAttr('style');\n $('.u-submenu-open').removeClass('u-submenu-open');\n }\n });\n\n $(document).keyup(function (e) {\n if (e.which === 27) closeMenu();\n });\n\n let isMobileView = $(window).outerWidth() < 1024;\n\n const windowResize = debounce(() => {\n if (isMobileView && $(window).outerWidth() >= 1024) {\n responsive();\n isMobileView = false;\n }\n\n if (!isMobileView && $(window).outerWidth() < 1024) {\n responsive();\n isMobileView = true;\n }\n }, 100);\n\n $(window).on('resize', windowResize);\n\n $('select[multiple]').on('select2:opening select2:closing', function () {\n const $searchfield = $(this).parent().find('.select2-search__field');\n $searchfield.prop('disabled', true);\n });\n\n // Open/close mobile main menu\n $('.js-toggle-menu').on('click', e => {\n e.preventDefault();\n setAdminTopOffsets();\n const $this = $(e.target);\n $('body').toggleClass('u-menu-open');\n $this.attr('aria-expanded', (key, val) => {\n return val === 'false' ? 'true' : 'false';\n });\n });\n\n // Open mobile menu's submenu\n $('.mobile-menu').on('click', '.menu-item--expanded > [role=\"menuitem\"]', e => {\n e.preventDefault();\n $this = $(e.target);\n $this.parent().addClass('u-submenu-open');\n checkMobileMenuTheme();\n });\n\n // Close mobile menu's submenu\n $('.menu-back-button').on('click', e => {\n e.preventDefault();\n $this.closest('.u-submenu-open').removeClass('u-submenu-open');\n checkMobileMenuTheme();\n });\n\n // Open/close desktop main menu\n $('.header .menu-level-0 > .menu-item--expanded > [role=\"menuitem\"]').on('click', function (e) {\n e.preventDefault();\n const $parent = $(this).parent();\n $('.u-submenu-open').each(function () {\n if ($(this)[0] !== $parent[0]) $(this).removeClass('u-submenu-open');\n });\n if (!$parent.hasClass('u-submenu-open')) {\n $parent.addClass('u-submenu-open');\n const $subMenu = $('.u-submenu-open .menu-level-1');\n const availableHeight = $(window).height() - $subMenu[0].getBoundingClientRect().top - 10;\n $subMenu.css('max-height', availableHeight + 'px');\n } else {\n $('.u-submenu-open .menu-level-1').removeAttr('style');\n $parent.removeClass('u-submenu-open')\n $(this).focus();\n }\n });\n\n // Close messages\n $('body').on('click', '.messages__close', function (e) {\n $(this).parent().parent().fadeOut('fast');\n });\n\n // Datepicker fields to readonly\n $('.bef-datepicker').each(function () {\n $(this).attr('readonly', 'true');\n });\n\n // Site search type changes\n $('input[type=radio][name=type_radios]').on('change', function () {\n const $searchItemSite = $('.form-item-keys');\n const $searchItemEster = $('.form-item-searcharg');\n\n if ($(this).val() !== 'site') {\n $searchItemEster.addClass('is-visible');\n $searchItemSite.addClass('is-hidden');\n } else {\n $searchItemEster.removeClass('is-visible');\n $searchItemSite.removeClass('is-hidden');\n }\n\n });\n\n // Init Select2\n $('select').each(function () {\n const select = $(this).select2({\n minimumResultsForSearch: -1,\n width: '100%',\n });\n if ($(this).attr('multiple')) {\n const id = $(this).attr('data-drupal-selector');\n $(this)\n .next(\"span.select2\")\n .find(\"ul\")\n .html(function () {\n let count = select.select2(\"data\").length;\n return \"
  • \" + getSelectLabel(id, count) + \"
  • \";\n });\n }\n });\n\n const multiSelect = $(\"select[multiple]\");\n\n multiSelect.on(\"select2:close\", function () {\n const select = $(this);\n const id = $(this).attr('data-drupal-selector');\n $(this)\n .next(\"span.select2\")\n .find(\"ul\")\n .html(function () {\n let count = select.select2(\"data\").length;\n return \"
  • \" + getSelectLabel(id, count) + \"
  • \";\n });\n });\n\n multiSelect.on(\"select2:opening select2:closing\", function () {\n const $searchfield = $(this)\n .parent()\n .find(\".select2-search__field\");\n $searchfield.prop(\"disabled\", true);\n });\n }\n const checkMobileMenuTheme = () => {\n const mobileMenu = $('.mobile-menu');\n if ($('.u-submenu-open').length > 0) {\n mobileMenu.addClass('mobile-menu--theme-white');\n } else {\n mobileMenu.removeClass('mobile-menu--theme-white');\n }\n }\n\n const closeMenu = () => {\n $('.u-submenu-open .menu-level-1').removeAttr('style');\n $('body').removeClass('u-menu-open');\n $('.mobile-menu').removeClass('mobile-menu--theme-white');\n $('.u-submenu-open').each(function () {\n $(this).removeClass('u-submenu-open');\n });\n }\n\n const setAdminTopOffsets = () => {\n if ($(window).outerWidth() < 1024) {\n $('.mobile-menu').css({\n 'top': `${getDynamicAdminBarHeight()}px`,\n 'height': `calc(100% - ${getDynamicAdminBarHeight()}px)`,\n });\n } else {\n $('.layout .aside').css('top', getAdminBarHeight())\n }\n }\n\n const responsive = () => {\n const $langBar = $('#block-language-switcher'),\n $headerLeft = $('.header__left'),\n $headerTop = $('.header__top'),\n $headerRight = $('.header__right'),\n $menuMain = $('#main-menu').parent(),\n $menuTop = $('#top-menu').parent(),\n $mobileMenuBody = $('.mobile-menu__body'),\n $mobileLangSwitcher = $('.mobile-menu__lang-switcher'),\n $searchBlock = $('.block-we-search-block');\n\n if ($(window).outerWidth() < 1024) {\n $mobileMenuBody.append($searchBlock);\n $mobileMenuBody.append($menuMain);\n $mobileMenuBody.append($menuTop);\n $mobileLangSwitcher.append($langBar);\n closeMenu();\n } else {\n $headerLeft.prepend($searchBlock);\n $headerTop.append($menuTop);\n $headerTop.append($langBar);\n $headerRight.append($menuMain);\n closeMenu();\n }\n setAdminTopOffsets();\n }\n\n const getAdminBarHeight = () => {\n const toolbar = $('#toolbar-bar');\n return toolbar.length ? toolbar.outerHeight() : 0;\n }\n\n const getDynamicAdminBarHeight = () => {\n const height = getAdminBarHeight();\n const diff = height - $(window).scrollTop();\n return diff > 0 ? diff : 0;\n }\n\n const getSelectLabel = (id, count) => {\n const $selector = $('[data-select-id=\"' + id + '\"]');\n const label = $selector.attr('data-label-value');\n const placeholder = $selector.attr('data-placeholder-value');\n if (count === 0 && placeholder) {\n return \"
  • \" + placeholder + \"
  • \";\n }\n if (label) {\n return \"
  • \" + label + \" \" + count + \"
  • \";\n }\n return \"
  • \" + \"Selected (\" + count + \")
  • \";\n }\n\n const debounce = (func, wait, immediate) => {\n let timeout;\n return () => {\n const context = this,\n args = arguments;\n const later = () => {\n timeout = null;\n if (!immediate) {\n func.apply(context, args);\n }\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) {\n func.apply(context, args);\n }\n };\n }\n\n return {\n init: () => {\n bindUiActions();\n }\n };\n })();\n\n App.init();\n})\n(jQuery, Drupal);\n"],"names":["$","checkMobileMenuTheme","mobileMenu","length","addClass","removeClass","closeMenu","removeAttr","each","this","setAdminTopOffsets","window","outerWidth","css","top","getDynamicAdminBarHeight","height","getAdminBarHeight","responsive","$langBar","$headerLeft","$headerTop","$headerRight","$menuMain","parent","$menuTop","$mobileMenuBody","$mobileLangSwitcher","$searchBlock","append","prepend","toolbar","outerHeight","diff","scrollTop","getSelectLabel","id","count","$selector","label","attr","placeholder","debounce","func","wait","immediate","timeout","context","args","arguments","callNow","clearTimeout","setTimeout","apply","init","scroll","$header","document","click","event","$target","target","closest","keyup","e","which","isMobileView","windowResize","on","$searchfield","find","prop","preventDefault","$this","toggleClass","key","val","$parent","hasClass","focus","$subMenu","availableHeight","getBoundingClientRect","fadeOut","$searchItemSite","$searchItemEster","select","select2","minimumResultsForSearch","width","next","html","multiSelect","bindUiActions","jQuery","Drupal"],"mappings":"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"}