{"version":3,"file":"utils.min.js","sources":["utils.js"],"sourcesContent":["var utils = (function() {\n var $ = jQuery;\n var currentScroll = 0;\n\n function convertSelectToList($selectsArray) {\n var $selects = $selectsArray;\n if ($selects.length > 0) {\n var setTextOnButtonSelect = function($select, string) {\n $select.siblings(\".button--select\").children().remove();\n var $button = $select.siblings(\".button--select\");\n var text =\n typeof string == \"undefined\"\n ? $select.siblings(\".button--select\").text().trim()\n : string.trim();\n\n var maxLength = Math.round($button.width() / 10) + 2;\n\n if (text.length >= maxLength && !$select.hasClass(\"show-full\")) {\n text = _.truncate(text, { length: maxLength, separator: \"...\" });\n }\n\n // include the arrow_down icon\n text += 'expand_more';\n\n // remove elements inside the button select\n $button.children().remove();\n // apply new content on the button select\n $button.html(text);\n };\n\n var setOptionSelected = function($select) {\n var valueSelect = $select.val();\n var $button = $select.siblings(\".button.button--select\");\n var $menu = $select.siblings(\".mdl-menu__container\");\n var $itemSelected = $menu.find(\n '.mdl-menu li[data-value=\"' + valueSelect + '\"]'\n );\n var textToShow = $itemSelected.text().trim();\n\n // set a placeholder when is selected the default any\n if (\n textToShow == \"- Any -\" ||\n textToShow == \"Not Listed\" ||\n textToShow == \"- Select a value -\"\n ) {\n $button.addClass(\"is-default\");\n // set the placeholder\n textToShow = Drupal.t(\"Select an option\");\n\n // if is required field then remove the .is-valid\n // class because is the default option and is invalid\n if ($(this).hasClass(\"required\") && $button.hasClass(\"is-valid\")) {\n $button.removeClass(\"is-valid\");\n }\n } else {\n // remove class .is-default because this is not a default option\n if ($button.hasClass(\"is-default\")) {\n $button.removeClass(\"is-default\");\n }\n\n // apply .is-valid if is a field required\n if ($(this).hasClass(\"required\") && !$button.hasClass(\"is-valid\")) {\n $button.addClass(\"is-valid\");\n }\n }\n };\n\n $selects.each(function() {\n var $select = $(this);\n\n // set initial option selected\n setOptionSelected($select);\n\n // set option selected on the button\n setTimeout(function() {\n setTextOnButtonSelect($select, $select.find(\"option:selected\").text());\n }, 1000);\n\n $select.on(\"change\", function(event) {\n var $select = $(this);\n // set initial option selected\n setOptionSelected($select);\n // set option selected on the button\n setTextOnButtonSelect($select, $select.find(\"option:selected\").text());\n });\n });\n\n var $itemSelect = $selects.parent().find(\".mdl-menu .mdl-menu__item\");\n // remove previous event click\n $itemSelect.off(\"click\");\n // set event click for options on menu\n $itemSelect.on(\"click\", function(event) {\n var $optionSelected = $(this);\n var $select = $optionSelected.parents(\".mdl-menu__container\").siblings(\"select\");\n\n // set the new option selected on the select\n $select.val($optionSelected.attr(\"data-value\"));\n // trigger the change on the select\n // only since tablet version if not the code have an cycling calls and\n // brokes the environment\n $($select).trigger(\"change\");\n\n var id = $select.attr(\"id\");\n // if this select is event-category or mymw-event-catetory on event-list\n if (_.includes(id, \"event-category\") || _.includes(id, \"mymw-category\")) {\n $optionSelected.parents(\"form\").trigger(\"submit\");\n }\n });\n // if the option have a link\n $itemSelect.find(\"a\").on(\"click\", function(event) {\n $(this).parent().trigger(\"click\");\n });\n\n var $buttonSelect = $selects.siblings(\"button\");\n if ($buttonSelect.length > 0) {\n // remove previous event click\n $buttonSelect.off(\"click\");\n // set event click for options on menu\n $buttonSelect.on(\"click\", function(event) {\n var self = $(this);\n var controller = setInterval(function() {\n if (!self.next().hasClass(\"is-visible\")) {\n self.removeClass(\"is-open\");\n clearInterval(controller);\n }\n });\n\n if (self.hasClass(\"is-open\")) {\n self.removeClass(\"is-open\");\n clearInterval(controller);\n } else {\n $(\".button.button--select\").removeClass(\"is-open\");\n self.addClass(\"is-open\");\n }\n\n utils.reloadScrolls();\n });\n }\n\n componentHandler.upgradeDom();\n }\n }\n\n function reloadScrolls() {\n var $elemsForScroll = $(\"[data-scroll-height]\");\n $.each($elemsForScroll, function() {\n var maxHeightScroll = Number($(this).attr(\"data-scroll-height\"));\n applyScroll($(this), maxHeightScroll);\n });\n }\n\n function applyScroll($elem, size) {\n if (\n browserDetecter.is() != \"isIE10\" &&\n browserDetecter.is() != \"isIE11\" &&\n browserDetecter.is() != \"isEdge\"\n ) {\n if ($elem.parent().hasClass(\"slimScrollDiv\")) {\n $elem.slimScroll({ destroy: true });\n $elem.css(\"height\", \"auto\");\n }\n } else {\n if ($elem.outerHeight() > size) {\n $elem.addClass(\"is-support\");\n }\n }\n\n if ($elem.outerHeight() > size) {\n if ($elem.outerHeight() > size) {\n $elem.slimScroll({ height: String(size + \"px\")});\n\n $elem.slimScroll().bind(\"slimscrolling\", function(e, pos) {\n if (typeof Drupal.blazy !== \"undefined\") {\n Drupal.blazy.init.revalidate();\n }\n });\n }\n } else {\n if ($elem.parent().hasClass(\"slimScrollDiv\")) {\n $elem.slimScroll({ destroy: true });\n $elem.css(\"height\", \"auto\");\n }\n }\n }\n\n function blockScrollPage() {\n currentScroll = $(window).scrollTop();\n $('body').css('top', -(document.documentElement.scrollTop) + 'px').addClass('no-scroll');\n }\n\n function unBlockScrollPage() {\n $('body').removeClass('no-scroll');\n $(window).scrollTop(currentScroll);\n }\n\n function createCookie(name, value, days) {\n var expires;\n\n if (days) {\n var date = new Date();\n date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));\n expires = \"; expires=\" + date.toGMTString();\n } else {\n expires = \"\";\n }\n document.cookie = encodeURIComponent(name) + \"=\" + encodeURIComponent(value) + expires + \"; path=/\";\n }\n\n function readCookie(name) {\n var nameEQ = encodeURIComponent(name) + \"=\";\n var ca = document.cookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) === ' ')\n c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) === 0)\n return decodeURIComponent(c.substring(nameEQ.length, c.length));\n }\n return null;\n }\n\n function eraseCookie(name) {\n createCookie(name, \"\", -1);\n }\n \n return {\n convertSelectToList: convertSelectToList,\n reloadScrolls: reloadScrolls,\n applyScroll: applyScroll,\n blockScrollPage: blockScrollPage,\n unBlockScrollPage: unBlockScrollPage,\n createCookie: createCookie,\n readCookie: readCookie,\n eraseCookie: eraseCookie\n };\n})();\n"],"names":["utils","$","jQuery","currentScroll","applyScroll","$elem","size","browserDetecter","is","parent","hasClass","slimScroll","destroy","css","outerHeight","addClass","height","String","bind","e","pos","Drupal","blazy","init","revalidate","createCookie","name","value","days","date","expires","Date","setTime","getTime","toGMTString","document","cookie","encodeURIComponent","convertSelectToList","$selectsArray","setTextOnButtonSelect","setOptionSelected","$buttonSelect","$selects","length","$select","string","siblings","children","remove","$button","text","trim","maxLength","Math","round","width","_","truncate","separator","html","valueSelect","val","textToShow","find","t","this","removeClass","each","setTimeout","on","event","$itemSelect","off","$optionSelected","parents","id","attr","trigger","includes","self","controller","setInterval","next","clearInterval","reloadScrolls","componentHandler","upgradeDom","$elemsForScroll","maxHeightScroll","Number","blockScrollPage","window","scrollTop","documentElement","unBlockScrollPage","readCookie","nameEQ","ca","split","i","c","charAt","substring","indexOf","decodeURIComponent","eraseCookie"],"mappings":"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"}