{"version":3,"sources":["https:\/\/elearning.iep.edu.gr\/study\/theme\/moove\/amd\/src\/accessibilitybar.js"],"names":["define","jQuery","Ajax","window","SELECTORS","FONT_SIZE","SITE_COLOR","fontsizeClass","fontsizeClassOp","fontsizeClassSize","fontsizeCurrentAction","sitecolorCurrentAction","AccessibilityBar","classList","attr","split","each","index","item","includes","itemarr","toggleFontsizeButtons","registerEventListeners","prototype","click","element","btn","currentTarget","data","fontSize","bind","siteColor","request","call","methodname","args","action","done","reloadFontsizeClass","removeClass","addClass","reloadSitecolorClass","className","match","join"],"mappings":"AAsBAA,OAAM,gCAAC,CAAC,QAAD,CAAW,WAAX,CAAD,CAA0B,SAASC,CAAT,CAAiBC,CAAjB,CAAuB,CAEnDC,MAAM,CAACF,MAAP,CAAgBA,CAAhB,CAFmD,GAI\/CG,CAAAA,CAAS,CAAG,CACZC,SAAS,CAAE,+CADC,CAEZC,UAAU,CAAE,4EAFA,CAJmC,CAS\/CC,CAAa,CAAG,IAT+B,CAU\/CC,CAAe,CAAG,IAV6B,CAW\/CC,CAAiB,CAAG,IAX2B,CAY\/CC,CAAqB,CAAG,IAZuB,CAa\/CC,CAAsB,CAAG,IAbsB,CAe\/CC,CAAgB,CAAG,UAAW,CAC9B,GAAIC,CAAAA,CAAS,CAAGZ,CAAM,CAAC,MAAD,CAAN,CAAea,IAAf,CAAoB,OAApB,EAA6BC,KAA7B,CAAmC,KAAnC,CAAhB,CACAd,CAAM,CAACe,IAAP,CAAYH,CAAZ,CAAuB,SAASI,CAAT,CAAgBC,CAAhB,CAAsB,CACzC,GAAIA,CAAI,CAACC,QAAL,CAAc,eAAd,GAAkCD,CAAI,CAACC,QAAL,CAAc,eAAd,CAAtC,CAAsE,CAClE,GAAIC,CAAAA,CAAO,CAAGF,CAAI,CAACH,KAAL,CAAW,GAAX,CAAd,CAEAR,CAAa,CAAGW,CAAhB,CACAV,CAAe,CAAGY,CAAO,CAAC,CAAD,CAAzB,CACAX,CAAiB,CAAGW,CAAO,CAAC,CAAD,CAC9B,CACJ,CARD,EAUA,KAAKC,qBAAL,GAEA,KAAKC,sBAAL,EACH,CA9BkD,CAgCnDV,CAAgB,CAACW,SAAjB,CAA2BD,sBAA3B,CAAoD,UAAW,CAC3DrB,CAAM,CAACG,CAAS,CAACC,SAAX,CAAN,CAA4BmB,KAA5B,CAAkC,SAASC,CAAT,CAAkB,CAChD,GAAIC,CAAAA,CAAG,CAAGzB,CAAM,CAACwB,CAAO,CAACE,aAAT,CAAhB,CAEAjB,CAAqB,CAAGgB,CAAG,CAACE,IAAJ,CAAS,QAAT,CAAxB,CAEA,KAAKC,QAAL,EACH,CANiC,CAMhCC,IANgC,CAM3B,IAN2B,CAAlC,EAQA7B,CAAM,CAACG,CAAS,CAACE,UAAX,CAAN,CAA6BkB,KAA7B,CAAmC,SAASC,CAAT,CAAkB,CACjD,GAAIC,CAAAA,CAAG,CAAGzB,CAAM,CAACwB,CAAO,CAACE,aAAT,CAAhB,CAEAhB,CAAsB,CAAGe,CAAG,CAACE,IAAJ,CAAS,QAAT,CAAzB,CAEA,KAAKG,SAAL,EACH,CANkC,CAMjCD,IANiC,CAM5B,IAN4B,CAAnC,CAOH,CAhBD,CAkBAlB,CAAgB,CAACW,SAAjB,CAA2BM,QAA3B,CAAsC,UAAW,CAC7C,GAAIG,CAAAA,CAAO,CAAG9B,CAAI,CAAC+B,IAAL,CAAU,CAAC,CACrBC,UAAU,CAAE,sBADS,CAErBC,IAAI,CAAE,CACFC,MAAM,CAAE1B,CADN,CAFe,CAAD,CAAV,CAAd,CAOAsB,CAAO,CAAC,CAAD,CAAP,CAAWK,IAAX,CAAgB,UAAW,CACvB,KAAKC,mBAAL,EACH,CAFe,CAEdR,IAFc,CAET,IAFS,CAAhB,CAGH,CAXD,CAaAlB,CAAgB,CAACW,SAAjB,CAA2Be,mBAA3B,CAAiD,UAAW,CACxD,GAA8B,OAA1B,GAAA5B,CAAqB,EACS,UAA1B,GAAAA,CAAqB,EAAqC,gBAAlB,GAAAH,CAD5C,EAE8B,UAA1B,GAAAG,CAAqB,EAAqC,gBAAlB,GAAAH,CAFhD,CAGE,CACEN,CAAM,CAAC,MAAD,CAAN,CAAesC,WAAf,CAA2BhC,CAA3B,EACAA,CAAa,CAAG,IAAhB,CACAC,CAAe,CAAG,IAAlB,CACAC,CAAiB,CAAG,IAApB,CAEA,KAAKY,qBAAL,GAEA,MACH,CAED,GAA8B,UAA1B,GAAAX,CAAJ,CAA0C,CACtC,GAA0B,IAAtB,GAAAD,CAAJ,CAAgC,CAC5BF,CAAa,CAAG,gBAAhB,CACAC,CAAe,CAAG,KAAlB,CACAC,CAAiB,CAAG,CACvB,CAJD,IAIO,IAAwB,KAApB,GAAAD,CAAe,EAAkC,CAApB,CAAAC,CAAjC,CAAwD,CAC3DR,CAAM,CAAC,MAAD,CAAN,CAAesC,WAAf,CAA2BhC,CAA3B,EACAE,CAAiB,GACjBF,CAAa,CAAG,gBAAkBE,CACrC,CAJM,IAIA,IAAwB,KAApB,GAAAD,CAAJ,CAA+B,CAClCP,CAAM,CAAC,MAAD,CAAN,CAAesC,WAAf,CAA2BhC,CAA3B,EACAE,CAAiB,GACjBF,CAAa,CAAG,gBAAkBE,CACrC,CAEDR,CAAM,CAAC,MAAD,CAAN,CAAeuC,QAAf,CAAwBjC,CAAxB,CACH,CAED,GAA8B,UAA1B,GAAAG,CAAJ,CAA0C,CACtC,GAA0B,IAAtB,GAAAD,CAAJ,CAAgC,CAC5BF,CAAa,CAAG,gBAAhB,CACAC,CAAe,CAAG,KAAlB,CACAC,CAAiB,CAAG,CACvB,CAJD,IAIO,IAAwB,KAApB,GAAAD,CAAe,EAAkC,CAApB,CAAAC,CAAjC,CAAwD,CAC3DR,CAAM,CAAC,MAAD,CAAN,CAAesC,WAAf,CAA2BhC,CAA3B,EACAE,CAAiB,GACjBF,CAAa,CAAG,gBAAkBE,CACrC,CAJM,IAIA,IAAwB,KAApB,GAAAD,CAAJ,CAA+B,CAClCP,CAAM,CAAC,MAAD,CAAN,CAAesC,WAAf,CAA2BhC,CAA3B,EACAE,CAAiB,GACjBF,CAAa,CAAG,gBAAkBE,CACrC,CAEDR,CAAM,CAAC,MAAD,CAAN,CAAeuC,QAAf,CAAwBjC,CAAxB,CACH,CAED,KAAKc,qBAAL,EACH,CApDD,CAsDAT,CAAgB,CAACW,SAAjB,CAA2BF,qBAA3B,CAAmD,UAAW,CAC1D,GAAsB,IAAlB,GAAAd,CAAJ,CAA4B,CACxBN,CAAM,CAAC,iBAAD,CAAN,CAA0BuC,QAA1B,CAAmC,UAAnC,EACAvC,CAAM,CAAC,eAAD,CAAN,CAAwBsC,WAAxB,CAAoC,UAApC,EACAtC,CAAM,CAAC,eAAD,CAAN,CAAwBsC,WAAxB,CAAoC,UAApC,CACH,CAED,GAAsB,IAAlB,GAAAhC,CAAJ,CAA4B,CACxBN,CAAM,CAAC,iBAAD,CAAN,CAA0BsC,WAA1B,CAAsC,UAAtC,CACH,CAED,GAAwB,KAApB,GAAA\/B,CAAJ,CAA+B,CAC3B,GAAyB,CAArB,EAAAC,CAAJ,CAA4B,CACxBR,CAAM,CAAC,eAAD,CAAN,CAAwBuC,QAAxB,CAAiC,UAAjC,CACH,CAED,GAAwB,CAApB,CAAA\/B,CAAJ,CAA2B,CACvBR,CAAM,CAAC,eAAD,CAAN,CAAwBsC,WAAxB,CAAoC,UAApC,CACH,CACJ,CAED,GAAwB,KAApB,GAAA\/B,CAAJ,CAA+B,CAC3B,GAAyB,CAArB,EAAAC,CAAJ,CAA4B,CACxBR,CAAM,CAAC,eAAD,CAAN,CAAwBuC,QAAxB,CAAiC,UAAjC,CACH,CAED,GAAwB,CAApB,CAAA\/B,CAAJ,CAA2B,CACvBR,CAAM,CAAC,eAAD,CAAN,CAAwBsC,WAAxB,CAAoC,UAApC,CACH,CACJ,CACJ,CA9BD,CAgCA3B,CAAgB,CAACW,SAAjB,CAA2BQ,SAA3B,CAAuC,UAAW,CAC9C,GAAIC,CAAAA,CAAO,CAAG9B,CAAI,CAAC+B,IAAL,CAAU,CAAC,CACrBC,UAAU,CAAE,uBADS,CAErBC,IAAI,CAAE,CACFC,MAAM,CAAEzB,CADN,CAFe,CAAD,CAAV,CAAd,CAOAqB,CAAO,CAAC,CAAD,CAAP,CAAWK,IAAX,CAAgB,UAAW,CACvB,KAAKI,oBAAL,EACH,CAFe,CAEdX,IAFc,CAET,IAFS,CAAhB,CAGH,CAXD,CAaAlB,CAAgB,CAACW,SAAjB,CAA2BkB,oBAA3B,CAAkD,UAAW,CACzDxC,CAAM,CAAC,MAAD,CAAN,CAAesC,WAAf,CAA2B,SAAStB,CAAT,CAAgByB,CAAhB,CAA2B,CAClD,MAAO,CAACA,CAAS,CAACC,KAAV,CAAgB,4BAAhB,GAAiD,EAAlD,EAAsDC,IAAtD,CAA2D,GAA3D,CACV,CAFD,EAIA,GAA+B,OAA3B,GAAAjC,CAAJ,CAAwC,CACpCV,CAAM,CAAC,MAAD,CAAN,CAAeuC,QAAf,CAAwB7B,CAAxB,CACH,CACJ,CARD,CAUA,MAAO,CACH,KAAQ,eAAW,CACf,MAAO,IAAIC,CAAAA,CACd,CAHE,CAKV,CAjLK,CAAN","sourcesContent":["\/\/ This file is part of Moodle - http:\/\/moodle.org\/\n\/\/\n\/\/ Moodle is free software: you can redistribute it and\/or modify\n\/\/ it under the terms of the GNU General Public License as published by\n\/\/ the Free Software Foundation, either version 3 of the License, or\n\/\/ (at your option) any later version.\n\/\/\n\/\/ Moodle is distributed in the hope that it will be useful,\n\/\/ but WITHOUT ANY WARRANTY; without even the implied warranty of\n\/\/ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\/\/ GNU General Public License for more details.\n\/\/\n\/\/ You should have received a copy of the GNU General Public License\n\/\/ along with Moodle. If not, see .\n\n\/**\n * Contain the logic for accessibility bar.\n *\n * @package theme_moove\n * @copyright 2020 Willian Mano - http:\/\/conecti.me\n * @license http:\/\/www.gnu.org\/copyleft\/gpl.html GNU GPL v3 or later\n *\/\ndefine(['jquery', 'core\/ajax'], function(jQuery, Ajax) {\n\n window.jQuery = jQuery;\n\n var SELECTORS = {\n FONT_SIZE: '#fontsize_dec, #fontsize_reset, #fontsize_inc',\n SITE_COLOR: '#sitecolor_color1, #sitecolor_color2, #sitecolor_color3, #sitecolor_color4'\n };\n\n var fontsizeClass = null;\n var fontsizeClassOp = null;\n var fontsizeClassSize = null;\n var fontsizeCurrentAction = null;\n var sitecolorCurrentAction = null;\n\n var AccessibilityBar = function() {\n var classList = jQuery('body').attr('class').split(\/\\s+\/);\n jQuery.each(classList, function(index, item) {\n if (item.includes('fontsize-inc-') || item.includes('fontsize-dec-')) {\n var itemarr = item.split('-');\n\n fontsizeClass = item;\n fontsizeClassOp = itemarr[1];\n fontsizeClassSize = itemarr[2];\n }\n });\n\n this.toggleFontsizeButtons();\n\n this.registerEventListeners();\n };\n\n AccessibilityBar.prototype.registerEventListeners = function() {\n jQuery(SELECTORS.FONT_SIZE).click(function(element) {\n var btn = jQuery(element.currentTarget);\n\n fontsizeCurrentAction = btn.data('action');\n\n this.fontSize();\n }.bind(this));\n\n jQuery(SELECTORS.SITE_COLOR).click(function(element) {\n var btn = jQuery(element.currentTarget);\n\n sitecolorCurrentAction = btn.data('action');\n\n this.siteColor();\n }.bind(this));\n };\n\n AccessibilityBar.prototype.fontSize = function() {\n var request = Ajax.call([{\n methodname: 'theme_moove_fontsize',\n args: {\n action: fontsizeCurrentAction\n }\n }]);\n\n request[0].done(function() {\n this.reloadFontsizeClass();\n }.bind(this));\n };\n\n AccessibilityBar.prototype.reloadFontsizeClass = function() {\n if (fontsizeCurrentAction === 'reset'\n || (fontsizeCurrentAction === 'increase' && fontsizeClass === 'fontsize-dec-1')\n || (fontsizeCurrentAction === 'decrease' && fontsizeClass === 'fontsize-inc-1')\n ) {\n jQuery('body').removeClass(fontsizeClass);\n fontsizeClass = null;\n fontsizeClassOp = null;\n fontsizeClassSize = null;\n\n this.toggleFontsizeButtons();\n\n return;\n }\n\n if (fontsizeCurrentAction === 'increase') {\n if (fontsizeClassSize === null) {\n fontsizeClass = 'fontsize-inc-1';\n fontsizeClassOp = 'inc';\n fontsizeClassSize = 1;\n } else if (fontsizeClassOp === 'inc' && fontsizeClassSize < 6) {\n jQuery('body').removeClass(fontsizeClass);\n fontsizeClassSize++;\n fontsizeClass = 'fontsize-inc-' + fontsizeClassSize;\n } else if (fontsizeClassOp === 'dec') {\n jQuery('body').removeClass(fontsizeClass);\n fontsizeClassSize--;\n fontsizeClass = 'fontsize-dec-' + fontsizeClassSize;\n }\n\n jQuery('body').addClass(fontsizeClass);\n }\n\n if (fontsizeCurrentAction === 'decrease') {\n if (fontsizeClassSize === null) {\n fontsizeClass = 'fontsize-dec-1';\n fontsizeClassOp = 'dec';\n fontsizeClassSize = 1;\n } else if (fontsizeClassOp === 'dec' && fontsizeClassSize < 6) {\n jQuery('body').removeClass(fontsizeClass);\n fontsizeClassSize++;\n fontsizeClass = 'fontsize-dec-' + fontsizeClassSize;\n } else if (fontsizeClassOp === 'inc') {\n jQuery('body').removeClass(fontsizeClass);\n fontsizeClassSize--;\n fontsizeClass = 'fontsize-inc-' + fontsizeClassSize;\n }\n\n jQuery('body').addClass(fontsizeClass);\n }\n\n this.toggleFontsizeButtons();\n };\n\n AccessibilityBar.prototype.toggleFontsizeButtons = function() {\n if (fontsizeClass === null) {\n jQuery('#fontsize_reset').addClass('disabled');\n jQuery('#fontsize_inc').removeClass('disabled');\n jQuery('#fontsize_dec').removeClass('disabled');\n }\n\n if (fontsizeClass !== null) {\n jQuery('#fontsize_reset').removeClass('disabled');\n }\n\n if (fontsizeClassOp === 'inc') {\n if (fontsizeClassSize == 6) {\n jQuery('#fontsize_inc').addClass('disabled');\n }\n\n if (fontsizeClassSize < 6) {\n jQuery('#fontsize_inc').removeClass('disabled');\n }\n }\n\n if (fontsizeClassOp === 'dec') {\n if (fontsizeClassSize == 6) {\n jQuery('#fontsize_dec').addClass('disabled');\n }\n\n if (fontsizeClassSize < 6) {\n jQuery('#fontsize_dec').removeClass('disabled');\n }\n }\n };\n\n AccessibilityBar.prototype.siteColor = function() {\n var request = Ajax.call([{\n methodname: 'theme_moove_sitecolor',\n args: {\n action: sitecolorCurrentAction\n }\n }]);\n\n request[0].done(function() {\n this.reloadSitecolorClass();\n }.bind(this));\n };\n\n AccessibilityBar.prototype.reloadSitecolorClass = function() {\n jQuery('body').removeClass(function(index, className) {\n return (className.match(\/(^|\\s)sitecolor-color-\\S+\/g) || []).join(' ');\n });\n\n if (sitecolorCurrentAction !== 'reset') {\n jQuery('body').addClass(sitecolorCurrentAction);\n }\n };\n\n return {\n 'init': function() {\n return new AccessibilityBar();\n }\n };\n});"],"file":"accessibilitybar.min.js"}