
אורן המתעפץ (שיחה | תרומות) אין תקציר עריכה |
אורן המתעפץ (שיחה | תרומות) אין תקציר עריכה |
||
שורה 311: | שורה 311: | ||
$(document).mouseup(function (e) { | $(document).mouseup(function (e) { | ||
if (!$(element).is(e.target) && element.has(e.target).length === 0) { | if (!$(element).is(e.target) && $(element).has(e.target).length === 0) { | ||
$(element).removeClass('active') | $(element).removeClass('active') | ||
} | } |
גרסה מ־12:55, 27 בפברואר 2025
/* IMPORTANT: Load CanvasJS from CDN! This must loaded before the initIndexPageChartSection */ mw.loader.load('https://canvasjs.com/assets/script/jquery.canvasjs.min.js'); var isInitedPageScripts = false; var isInitedChars = false; function onInitMaccabipediaPage() { var elPageContent = $('.mw-body-content'); initPromotionsSlider(elPageContent); initMaccabipediaCharts(elPageContent); initImagesSlider(elPageContent); initLongTextTeaser(elPageContent); initVBGamePageOpponentNameTabChange(elPageContent); initShirtsListOnTabChange(elPageContent); initExpandCollapseParagraph(elPageContent); initTOC(elPageContent); isInitedPageScripts = true; } function initStackedBarChart(elPageContent) { var stackedBarChartContainers = $(elPageContent).find('.maccabipedia-stacked-bar-chart-container'); stackedBarChartContainers.each(function (stackedBarChartIndex, element) { var currChartRendererContainer = $(element).find('.chart-renderer'); var currChartData = $(element).find('.chart-data .chart-data-hidden'); var chartMetaData = $(element).find('.chart-meta-data'); var currChartDataSeriesNames = (typeof chartMetaData.data('categories') !== 'undefined' ? chartMetaData.data('categories').split(', ') : []); var currChartBarBgcs = (typeof chartMetaData.data('bar-bgcs') !== 'undefined' ? chartMetaData.data('bar-bgcs').split(', ') : []); var currChartBarTextColors = (typeof chartMetaData.data('bar-text-color') !== 'undefined' ? chartMetaData.data('bar-text-color').split(', ') : []); var currChartCategories = currChartData.map(function (currChartDataIndex) { var currChartCategoryValues = (typeof $(this).data('values') !== 'undefined' ? $(this).data('values').split(', ').map(Number) : []); var currChartCategoryValuesSum = 0; for (var currChartCategoryValuesSumIndex = 0; currChartCategoryValuesSumIndex < currChartCategoryValues.length; currChartCategoryValuesSumIndex++) { currChartCategoryValuesSum = currChartCategoryValuesSum + currChartCategoryValues[currChartCategoryValuesSumIndex]; } return { label: (typeof $(this).data('name') !== 'undefined' ? $(this).data('name') : null), values: currChartCategoryValues, valuesSum: currChartCategoryValuesSum } }).get(); var currChartCategoriesDataParsed = []; for (var currChartCategoriesDataParsedMapIndex = 0; currChartCategoriesDataParsedMapIndex < currChartCategories[0].values.length; currChartCategoriesDataParsedMapIndex++) { var currCategoryDataPoints = []; for (var currCategoryDataPointsIndex = 0; currCategoryDataPointsIndex < currChartCategories.length; currCategoryDataPointsIndex++) { var currCategoryData = currChartCategories[currCategoryDataPointsIndex] var currCategoryDataPointsTotal = currCategoryData.valuesSum; var currCategoryDataPointsValue = currCategoryData.values[currChartCategoriesDataParsedMapIndex]; var currCategoryDataPointsPercentage = ((currCategoryDataPointsValue / currCategoryDataPointsTotal) * 100).toFixed(0); currCategoryDataPoints.push({ label: currCategoryData.label, y: currCategoryDataPointsValue, indexLabel: (currCategoryDataPointsPercentage > 0.0001) ? currCategoryDataPointsPercentage + '%' : '', indexLabelPlacement: "inside", indexLabelFontColor: currChartBarTextColors[currChartCategoriesDataParsedMapIndex], indexLabelFontWeight: "bold", indexLabelFontFamily: "'Assistant',sans-serif", indexLabelFontSize: 12, color: currChartBarBgcs[currChartCategoriesDataParsedMapIndex] }) } currChartCategoriesDataParsed.push({ type: "stackedBar100", name: currChartDataSeriesNames[currChartCategoriesDataParsedMapIndex], showInLegend: true, legendMarkerColor: currChartBarBgcs[currChartCategoriesDataParsedMapIndex], dataPoints: currCategoryDataPoints }); } var stackedBarChartOptions = { animationEnabled: true, axisY: { suffix: "", reversed: true, lineThickness: 0, gridThickness: 0, tickLength: 0, labelFormatter: function () { return ""; // Removes the labels } }, legend: { reversed: true }, toolTip: { shared: true }, data: currChartCategoriesDataParsed }; $(currChartRendererContainer).CanvasJSChart(stackedBarChartOptions); }); } function initMaccabipediaCharts(elPageContent) { jQuery(document).ready(function ($) { function initChars() { if (typeof CanvasJS !== "undefined" && typeof CanvasJS.Chart === "function") { initMultipleColumnsChart(elPageContent); initPieChart(elPageContent); initStackedBarChart(elPageContent); isInitedChars = true; } else { setTimeout(initChars, 50); } } initChars(); }); } function initPieChart(elPageContent) { var pieChartContainers = $(elPageContent).find('.maccabipedia-pie-chart-container'); var pieChartColorPalette = ['#195da6', '#ffdd00', '#a6a6a6', '#1a1a1a', '#021952', '#0b2a4b']; pieChartContainers.each(function (pieChartIndex, element) { var currChartRendererContainer = $(element).find('.chart-renderer'); var currChartData = $(element).find('.chart-data .chart-data-hidden'); var chartMetaData = $(element).find('.chart-meta-data'); var pieChartOptions = { animationEnabled: true, legend: { horizontalAlign: "right", verticalAlign: "center" }, data: [{ type: "pie", showInLegend: true, toolTipContent: "<b>{name}</b>: {y} זכיות (#percent%)", indexLabel: "{name}", legendText: "{name} (#percent%)", dataPoints: currChartData.map(function (currChartDataIndex) { return { name: (typeof $(this).data('name') !== 'undefined' ? $(this).data('name') : null), color: pieChartColorPalette[currChartDataIndex], y: (typeof $(this).data('amount') !== 'undefined' ? $(this).data('amount') : null), }; }).get() }] }; $(currChartRendererContainer).CanvasJSChart(pieChartOptions); }); } function initMultipleColumnsChart(elPageContent) { var multipleColumnsChartContainers = $(elPageContent).find('.maccabipedia-multiple-column-chart-container'); multipleColumnsChartContainers.each(function (multipleColumnChartIndex, element) { var currChartRendererContainer = $(element).find('.chart-renderer'); var currChartData = $(element).find('.chart-data .chart-data-hidden'); var chartMetaData = $(element).find('.chart-meta-data'); var multipleColumnChartOptions = { animationEnabled: true, axisY: { title: typeof $(chartMetaData).data('axis-title') !== 'undefined' ? $(chartMetaData).data('axis-title') : null, interval: typeof $(chartMetaData).data('axis-interval') !== 'undefined' ? $(chartMetaData).data('axis-interval') : null, maximum: typeof $(chartMetaData).data('axis-maximum') !== 'undefined' ? $(chartMetaData).data('axis-maximum') : null }, toolTip: { content: "{label}: {y} {legendText}" }, data: [{ type: 'column', name: (typeof $(chartMetaData).data('option1-name') !== 'undefined' ? $(chartMetaData).data('option1-name') : null), showInLegend: true, color: (typeof $(chartMetaData).data('option1-color') !== 'undefined' ? $(chartMetaData).data('option1-color') : null), dataPoints: currChartData.map(function (index) { return { label: (typeof $(this).data('title') !== 'undefined' ? $(this).data('title') : null), y: (typeof $(this).data('first-axis') !== 'undefined' ? $(this).data('first-axis') : null), optionName: (typeof $(chartMetaData).data('option1-name') !== 'undefined' ? $(chartMetaData).data('option1-name') : null) }; }).get() }, { type: 'column', name: (typeof $(chartMetaData).data('option2-name') !== 'undefined' ? $(chartMetaData).data('option2-name') : null), showInLegend: true, color: (typeof $(chartMetaData).data('option2-color') !== 'undefined' ? $(chartMetaData).data('option2-color') : null), dataPoints: currChartData.map(function (index) { return { label: (typeof $(this).data('title') !== 'undefined' ? $(this).data('title') : null), y: (typeof $(this).data('second-axis') !== 'undefined' ? $(this).data('second-axis') : null), optionName: (typeof $(chartMetaData).data('option2-name') !== 'undefined' ? $(chartMetaData).data('option2-name') : null) }; }).get() }] }; $(currChartRendererContainer).CanvasJSChart(multipleColumnChartOptions); }); } function initPromotionsSlider(elPageContent) { var elPromotionsSliderContainer = elPageContent.find('.mp-promotions-slider-container'); elPromotionsSliderPlaceholder = elPromotionsSliderContainer.find('.mp-promotions-slider-placeholder'); elPromotionsSliderElement = elPromotionsSliderContainer.find('.mp-promotions-slider-element'); elPromotionsSliderElement.slick({ autoplay: true, arrows: false, dots: true, infinite: true, autoplaySpeed: 10000, rtl: true }); elPromotionsSliderPlaceholder.css({ 'height': 0 }); elPromotionsSliderElement.css({ 'max-height': 'unset' }); } function initImagesSlider(elPageContent) { elPageContent.find('.mp-image-slider-container').slick({ autoplay: false, lazyLoad: false, dots: true, fade: false, infinite: true, rtl: true }); } function initLongTextTeaser(elPageContent) { var elsLongTextTeaser = elPageContent.find('.atom-long-text-teaser'); elsLongTextTeaser.each(function (index, element) { function longTextTeaserCtaButtonTextAdjust() { if ($(element).hasClass('collapsed')) { $(element).find('.cta-button-container').text('קרא עוד'); } else { $(element).find('.cta-button-container').text('צמצם טקסט'); } } longTextTeaserCtaButtonTextAdjust(); $(element).find('.controller').on('click', function (ev) { ev.stopPropagation(); $(element).toggleClass('collapsed'); longTextTeaserCtaButtonTextAdjust(); }); }); } function initVBGamePageOpponentNameTabChange(elPageContent) { var elsVBGameTabs = elPageContent.find('.vbgame-details-team-statistic-container nav a'); var elVBGameTeams = elPageContent.find('.vbgame-banner-team-container .vbgame-banner-team-name'); var vbGameOpponentName = undefined; elVBGameTeams.each(function (index) { var vbGameTeamName = $(this).text(); if (vbGameTeamName !== 'מכבי תל אביב') { vbGameOpponentName = vbGameTeamName; } }) elsVBGameTabs.each(function (index) { var elVBGameCurrentTabText = $(this).text(); if (elVBGameCurrentTabText === 'יריבה') { $(this).text(vbGameOpponentName); } }) } function initShirtsListOnTabChange(elPageContent) { var elsShirtsListTabs = elPageContent.find('.shirts-navigation-tab-container li'); elsShirtsListTabs.each(function (index, element) { $(element).on('click', function () { setTimeout(function () { elPageContent.find('.mp-image-slider-container').slick('refresh'); }, 100); }); }); } function initExpandCollapseParagraph(elPageContent) { var elsEXParagraphs = elPageContent.find('.simple-styled-paragraph h3, .entity-profile h3'); elsEXParagraphs.each(function (index, element) { $(element).on('click', function (ev) { ev.stopPropagation(); $(this).toggleClass('close'); $(this).siblings('.text, .profile-container').toggle('fast', 'linear'); }); }); } function initTOC(elPageContent) { var elsTocs = elPageContent.find('.atom-toc'); elsTocs.each(function (index, element) { $(element).on('click', function () { $(this).toggleClass('active'); $(document).mouseup(function (e) { if (!$(element).is(e.target) && $(element).has(e.target).length === 0) { $(element).removeClass('active') } }) }); }); } $(document).ready(function () { setTimeout(function () { while (!isInitedPageScripts) { onInitMaccabipediaPage(); } }, 30); }); /* sending mails (fanzine) */ function sendMail() { var data = { service_id: 'service_vxigmjz', template_id: 'template_2nrbvsd', user_id: 'V1S5vDtbtB7zZxrSP', template_params: { 'username': 'James', 'g-recaptcha-response': '03AHJ_ASjnLA214KSNKFJAK12sfKASfehbmfd...' } }; $.ajax('https://api.emailjs.com/api/v1.0/email/send', { type: 'POST', data: JSON.stringify(data), contentType: 'application/json' }).done(function () { alert('Your mail is sent!'); }).fail(function (error) { alert('Oops... ' + JSON.stringify(error)); }); } $('#fanzine-conact').submit(function (event) { event.preventDefault(); sendMail(); }); /* כל הסקריפטים שנכתבים כאן ייטענו עבור כל המשתמשים בכל טעינת עמוד. */ /* הצגת ערכים הנטענים באופן דינמי */ mw.loader.using('mediawiki.legacy.wikibits', function () { importScript('MediaWiki:LoadingContent.js'); }); function escapeSelector(s) { return s.replace(/(:|\.|\[|\])/g, "\\$1"); } /* --- Jump to ID - Handle links with @href started with '#' only --- */ /* Last update by Shlomi */ $(document).on('click', 'a[href^="#"]', function (e) { // target element id var id = $(escapeSelector($(this).attr('href'))); // target element var $id = $(id); if ($id.length === 0) { return; } // prevent standard hash navigation (avoid blinking in IE) e.preventDefault(); // top position relative to the document var pos = $id.offset().top - 50; // animated top scrolling $('body, html').animate({ scrollTop: pos }, 950); }); /* --- Functions for top-menu (by Shlomi, 02/09/2017) --- */ /* Last update by Shlomi (26/09/2017) */ $(function () { $('#div-nav').css('top', $('.topnav').height()); }); $(document).on('click', function (e) { var $menu = $('#div-nav'); var clicked = $(e.target).attr('class'); if (clicked === 'nav-button' || clicked === 'fas fa-bars') { $menu.toggleClass('open'); } else if (clicked == 'link-header' || clicked == 'ddIcon') { if (Modernizr.mq('screen and (max-width:76.5em)')) { e.preventDefault(); $(e.target).next().toggleClass('open-sub-menu'); } } else if (clicked == 'link') { $(e.target).next().toggleClass('open-sub-menu'); } else if (clicked == 'fas fa-pencil-alt' || clicked == 'far fa-user' || clicked == 'fas fa-cogs' || clicked == 'mobile-desc') { if (Modernizr.mq('screen and (max-width:76.5em)')) { e.preventDefault(); $(e.target).parent().next().toggleClass('open-sub-menu'); } } else { $menu.removeClass('open'); } }); /*! modernizr 3.5.0 (Custom Build) | MIT * * https://modernizr.com/download/?-mq-setclasses !*/ !function (e, n, t) { function o(e, n) { return typeof e === n } function a() { var e, n, t, a, s, i, r; for (var l in d) if (d.hasOwnProperty(l)) { if (e = [], n = d[l], n.name && (e.push(n.name.toLowerCase()), n.options && n.options.aliases && n.options.aliases.length)) for (t = 0; t < n.options.aliases.length; t++)e.push(n.options.aliases[t].toLowerCase()); for (a = o(n.fn, "function") ? n.fn() : n.fn, s = 0; s < e.length; s++)i = e[s], r = i.split("."), 1 === r.length ? Modernizr[r[0]] = a : (!Modernizr[r[0]] || Modernizr[r[0]] instanceof Boolean || (Modernizr[r[0]] = new Boolean(Modernizr[r[0]])), Modernizr[r[0]][r[1]] = a), f.push((a ? "" : "no-") + r.join("-")) } } function s(e) { var n = u.className, t = Modernizr._config.classPrefix || ""; if (p && (n = n.baseVal), Modernizr._config.enableJSClass) { var o = new RegExp("(^|\\s)" + t + "no-js(\\s|$)"); n = n.replace(o, "$1" + t + "js$2") } Modernizr._config.enableClasses && (n += " " + t + e.join(" " + t), p ? u.className.baseVal = n : u.className = n) } function i() { return "function" != typeof n.createElement ? n.createElement(arguments[0]) : p ? n.createElementNS.call(n, "http://www.w3.org/2000/svg", arguments[0]) : n.createElement.apply(n, arguments) } function r() { var e = n.body; return e || (e = i(p ? "svg" : "body"), e.fake = !0), e } function l(e, t, o, a) { var s, l, f, d, c = "modernizr", p = i("div"), m = r(); if (parseInt(o, 10)) for (; o--;)f = i("div"), f.id = a ? a[o] : c + (o + 1), p.appendChild(f); return s = i("style"), s.type = "text/css", s.id = "s" + c, (m.fake ? m : p).appendChild(s), m.appendChild(p), s.styleSheet ? s.styleSheet.cssText = e : s.appendChild(n.createTextNode(e)), p.id = c, m.fake && (m.style.background = "", m.style.overflow = "hidden", d = u.style.overflow, u.style.overflow = "hidden", u.appendChild(m)), l = t(p, e), m.fake ? (m.parentNode.removeChild(m), u.style.overflow = d, u.offsetHeight) : p.parentNode.removeChild(p), !!l } var f = [], d = [], c = { _version: "3.5.0", _config: { classPrefix: "", enableClasses: !0, enableJSClass: !0, usePrefixes: !0 }, _q: [], on: function (e, n) { var t = this; setTimeout(function () { n(t[e]) }, 0) }, addTest: function (e, n, t) { d.push({ name: e, fn: n, options: t }) }, addAsyncTest: function (e) { d.push({ name: null, fn: e }) } }, Modernizr = function () { }; Modernizr.prototype = c, Modernizr = new Modernizr; var u = n.documentElement, p = "svg" === u.nodeName.toLowerCase(), m = function () { var n = e.matchMedia || e.msMatchMedia; return n ? function (e) { var t = n(e); return t && t.matches || !1 } : function (n) { var t = !1; return l("@media " + n + " { #modernizr { position: absolute; } }", function (n) { t = "absolute" == (e.getComputedStyle ? e.getComputedStyle(n, null) : n.currentStyle).position }), t } }(); c.mq = m, a(), s(f), delete c.addTest, delete c.addAsyncTest; for (var h = 0; h < Modernizr._q.length; h++)Modernizr._q[h](); e.Modernizr = Modernizr }(window, document);