{"version":3,"sources":["functions.js","main.js","admin.js"],"names":["getFontColor","backgroundColor","useAlpha","undefined","cvs","document","createElement","height","width","ctx","getContext","fillStyle","fillRect","res","getImageData","data","r","Number","g","b","a","window","AMWD","$","extend","sleep","milliseconds","Promise","resolve","setTimeout","urlBase64ToUint8Array","base64String","padding","repeat","length","base64","replace","raw","atob","array","Uint8Array","i","charCodeAt","base64Encode","arrayBuffer","str","String","fromCharCode","apply","btoa","initOutlineBadge","element","find","each","_","el","color","css","is","hover","event","type","removeData","console","log","on","href","currentTarget","attr","trim","isBlank","hasClass","preventDefault","open","focus","block","file","link","startsWith","Url","get","response","text","hljs","highlightBlock","addClass","ev","off","removeClass","remove","clearTimeout","windowScrollInitTimeout","mouseMove","updateLinks","distance","scrollTop","position","top","trigger","mail","_self","_children","closest","_delete","child","prop","_parent","allChecked","someChecked","_input","first","html"],"mappings":"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","sourcesContent":["window.AMWD = $.extend(window.AMWD, {\r\n\tsleep,\r\n\turlBase64ToUint8Array,\r\n\tbase64Encode,\r\n\tgetFontColor,\r\n\tinitOutlineBadge\r\n});\r\n\r\nfunction sleep(milliseconds) {\r\n\treturn new Promise(resolve => setTimeout(resolve, milliseconds));\r\n}\r\n\r\n// https://github.com/mozilla/serviceworker-cookbook/blob/master/tools.js\r\nfunction urlBase64ToUint8Array(base64String) {\r\n\tlet padding = '='.repeat((4 - base64String.length % 4) % 4);\r\n\tlet base64 = (base64String + padding)\r\n\t\t.replace(/-/g, '+')\r\n\t\t.replace(/_/g, '/');\r\n\r\n\tlet raw = atob(base64);\r\n\tlet array = new Uint8Array(raw.length);\r\n\r\n\tfor (let i = 0; i < raw.length; ++i) {\r\n\t\tarray[i] = raw.charCodeAt(i);\r\n\t}\r\n\treturn array;\r\n}\r\n\r\nfunction base64Encode(arrayBuffer) {\r\n\tlet array = new Uint8Array(arrayBuffer);\r\n\tlet str = String.fromCharCode.apply(null, array);\r\n\treturn btoa(str);\r\n}\r\n\r\nfunction getFontColor(backgroundColor, useAlpha) {\r\n\tif (useAlpha === undefined || useAlpha === null)\r\n\t\tuseAlpha = false;\r\n\r\n\tlet cvs = document.createElement('canvas');\r\n\tcvs.height = 1;\r\n\tcvs.width = 1;\r\n\tlet ctx = cvs.getContext('2d');\r\n\tctx.fillStyle = backgroundColor;\r\n\tctx.fillRect(0, 0, 1, 1);\r\n\tlet res = ctx.getImageData(0, 0, 1, 1).data;\r\n\r\n\tlet r = Number(res[0]);\r\n\tlet g = Number(res[1]);\r\n\tlet b = Number(res[2]);\r\n\tlet a = Number(res[3]);\r\n\r\n\tif (!useAlpha && a === 0)\r\n\t\treturn 'rgba(0, 0, 0, 1)';\r\n\r\n\tif (!useAlpha)\r\n\t\ta = 1;\r\n\r\n\tif (a > 1)\r\n\t\ta /= 255;\r\n\r\n\tlet luminance = (r * 0.299 + g * 0.587 + b * 0.114) / 255;\r\n\tif (luminance <= 0.5)\r\n\t\treturn 'rgba(255, 255, 255, ' + a + ')';\r\n\r\n\treturn 'rgba(0, 0, 0, ' + a + ')';\r\n}\r\n\r\nfunction initOutlineBadge(element) {\r\n\tif (element === undefined || element === null) {\r\n\t\telement = $(document).find('.badge-outline');\r\n\t}\r\n\telse {\r\n\t\telement = $(element);\r\n\t}\r\n\r\n\t$.each(element, (_, el) => {\r\n\t\tel = $(el);\r\n\t\tlet color = el.data('color');\r\n\r\n\t\tel.css('color', color);\r\n\t\tel.css('border-color', color);\r\n\r\n\t\tif (el.is('a') || el.css('cursor') === 'pointer') {\r\n\t\t\tel.hover(event => {\r\n\t\t\t\tswitch (event.type) {\r\n\t\t\t\t\tcase \"mouseenter\":\r\n\t\t\t\t\t\tel.data('bg', el.css('background-color'));\r\n\t\t\t\t\t\tel.css('background-color', color);\r\n\t\t\t\t\t\tel.css('color', getFontColor(color, true));\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"mouseleave\":\r\n\t\t\t\t\t\tel.css('background-color', el.data('bg'));\r\n\t\t\t\t\t\tel.css('color', color);\r\n\t\t\t\t\t\tel.removeData('bg');\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tconsole.log(event);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n}\r\n","$(function () {\r\n\t$(document).on('click', 'a', event => {\r\n\t\tlet href = $(event.currentTarget).attr('href').trim();\r\n\t\tlet isBlank = $(event.currentTarget).hasClass('blank');\r\n\r\n\t\tif (href === '#' || href === '' || isBlank) {\r\n\t\t\tevent.preventDefault();\r\n\t\t}\r\n\r\n\t\tif (href !== '#' && href !== '' && isBlank) {\r\n\t\t\tlet site = window.open(href);\r\n\t\t\tsite.focus();\r\n\t\t}\r\n\t});\r\n\r\n\t$.each($('.code-highlight'), (_, el) => {\r\n\t\tlet block = $(el);\r\n\t\tlet file = block.data('file');\r\n\t\tif (file) {\r\n\t\t\tlet link = null;\r\n\t\t\tif (file.startsWith('/')) {\r\n\t\t\t\tlink = AMWD.Url + file;\r\n\t\t\t}\r\n\t\t\t//else if (file.startsWith('http')) {\r\n\t\t\t//\tlink = file;\r\n\t\t\t//}\r\n\t\t\telse {\r\n\t\t\t\tlink = AMWD.Url + '/' + file;\r\n\t\t\t}\r\n\r\n\t\t\t$.get(link, response => {\r\n\t\t\t\tblock.text(response.trim());\r\n\t\t\t\thljs.highlightBlock(el);\r\n\t\t\t});\r\n\r\n\t\t\tblock.removeData('file');\r\n\t\t}\r\n\t\telse {\r\n\t\t\tblock.text(block.text().trim());\r\n\t\t\thljs.highlightBlock(el);\r\n\t\t}\r\n\t});\r\n\r\n\t$('.navbar-toggler').on('click', event => {\r\n\t\tevent.preventDefault();\r\n\t\t$('#main').addClass('dimmed');\r\n\t\t$('.side-nav').addClass('toggled');\r\n\r\n\t\t$('#overlay').on('click', ev => {\r\n\t\t\tev.preventDefault();\r\n\t\t\t$('#overlay').off('click');\r\n\t\t\t$('.side-nav').removeClass('toggled');\r\n\t\t\t$('#main').removeClass('dimmed');\r\n\t\t});\r\n\t});\r\n\r\n\t$(document).on('click', '.alert-click-dismiss', event => {\r\n\t\tevent.preventDefault();\r\n\t\t$(event.currentTarget).remove();\r\n\t});\r\n\r\n\t$(window).on('scroll', function () {\r\n\t\tclearTimeout(windowScrollInitTimeout);\r\n\t\tif (!mouseMove) {\r\n\t\t\t$(window).on('scroll', function () {\r\n\t\t\t\tupdateLinks();\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tlet bottomPosition = $(window).scrollTop() + $(window).height();\r\n\t\tlet footerBegin = $('#footer').position().top;\r\n\r\n\t\tlet distance = bottomPosition - footerBegin;\r\n\t\tif (distance < 0) {\r\n\t\t\t$('.grecaptcha-badge').css('bottom', '14px');\r\n\t\t}\r\n\t\telse {\r\n\t\t\t$('.grecaptcha-badge').css('bottom', distance + 14 + 'px');\r\n\t\t}\r\n\t});\r\n\t$(window).on('mousemove', function () {\r\n\t\tupdateLinks();\r\n\t});\r\n\r\n\tAMWD.initOutlineBadge();\r\n\r\n\tlet mouseMove = false;\r\n\tlet windowScrollInitTimeout = setTimeout(function () {\r\n\t\t$(window).trigger('scroll');\r\n\t}, 500);\r\n\r\n\tlet updateLinks = function () {\r\n\t\tif (!mouseMove) {\r\n\t\t\tmouseMove = true;\r\n\t\t\t$.each($('.mail'), function (_, el) {\r\n\t\t\t\tel = $(el);\r\n\t\t\t\tlet name = el.data('name');\r\n\t\t\t\tlet domain = el.data('direction');\r\n\t\t\t\tlet tld = el.data('appendix');\r\n\t\t\t\tlet mail = name + '@' + domain + '.' + tld;\r\n\t\t\t\tel.attr('href', 'mailto:' + mail).text(mail);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n});\r\n","$(function () {\r\n\t$(document).on('change', '.check-all-parent', event => {\r\n\t\tevent.preventDefault();\r\n\t\tlet _self = $(event.currentTarget);\r\n\t\tlet _children = _self.closest('table').find('tbody').find('.check-all-child');\r\n\t\tlet _delete = _self.closest('thead').find('.check-all-delete');\r\n\r\n\t\tif (_self.is(':checked')) {\r\n\t\t\t$.each(_children, (_, child) => {\r\n\t\t\t\t$(child).prop('checked', true);\r\n\t\t\t});\r\n\t\t\t_delete.prop('disabled', false);\r\n\t\t}\r\n\t\telse {\r\n\t\t\t$.each(_children, (_, child) => {\r\n\t\t\t\t$(child).prop('checked', false);\r\n\t\t\t});\r\n\t\t\t_delete.prop('disabled', true);\r\n\t\t}\r\n\t});\r\n\r\n\t$(document).on('change', '.check-all-child', event => {\r\n\t\tevent.preventDefault();\r\n\t\tlet _self = $(event.currentTarget);\r\n\t\tlet _parent = _self.closest('table').find('thead').find('.check-all-parent');\r\n\t\tlet _children = _self.closest('tbody').find('.check-all-child');\r\n\t\tlet _delete = _self.closest('table').find('thead').find('.check-all-delete');\r\n\r\n\t\tlet allChecked = true;\r\n\t\tlet someChecked = false;\r\n\r\n\t\t$.each(_children, (_, child) => {\r\n\t\t\tchild = $(child);\r\n\r\n\t\t\tif (child.is(':checked')) {\r\n\t\t\t\tsomeChecked = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tallChecked = false;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif (allChecked) {\r\n\t\t\t_parent.prop('checked', true);\r\n\t\t\t_parent.prop('indeterminate', false);\r\n\t\t\t_delete.prop('disabled', false);\r\n\t\t}\r\n\t\telse if (someChecked) {\r\n\t\t\t_parent.prop('checked', false);\r\n\t\t\t_parent.prop('indeterminate', true);\r\n\t\t\t_delete.prop('disabled', false);\r\n\t\t}\r\n\t\telse {\r\n\t\t\t_parent.prop('checked', false);\r\n\t\t\t_parent.prop('indeterminate', false);\r\n\t\t\t_delete.prop('disabled', true);\r\n\t\t}\r\n\t});\r\n\r\n\t$(document).on('click', '.toggle-password', event => {\r\n\t\tevent.preventDefault();\r\n\t\tlet _self = $(event.currentTarget);\r\n\t\tlet _input = _self.closest('.input-group').find('input').first();\r\n\r\n\t\tif (_self.is(':disabled'))\r\n\t\t\treturn;\r\n\r\n\t\tif (_input.attr('type') === 'password') {\r\n\t\t\t_input.attr('type', 'text');\r\n\t\t\t_self.html('');\r\n\t\t}\r\n\t\telse {\r\n\t\t\t_input.attr('type', 'password');\r\n\t\t\t_self.html('');\r\n\t\t}\r\n\t});\r\n});\r\n"]}