6369
редагувань
Admin (обговорення | внесок) Немає опису редагування |
Admin (обговорення | внесок) Немає опису редагування |
||
| Рядок 417: | Рядок 417: | ||
e.preventDefault(); | e.preventDefault(); | ||
doSearch(); | doSearch(); | ||
} | |||
}); | |||
}); | |||
// ================================================== | |||
// MCC DESIGN SYSTEM v2 — append to Common.js | |||
// ================================================== | |||
// -------------------------------------------------- | |||
// 1. АНІМАЦІЯ РЯДКІВ ПРИ СОРТУВАННІ ТАБЛИЦЬ | |||
// Хукається на jQuery tablesorter sortEnd | |||
// -------------------------------------------------- | |||
$(function () { | |||
// Чекаємо поки tablesorter ініціалізується | |||
$(document).on('sortEnd', 'table.wikitable', function () { | |||
var $table = $(this); | |||
// Спочатку прибираємо анімацію | |||
$table.addClass('mcc-sorting').removeClass('mcc-sorted'); | |||
// Після мікро-затримки запускаємо знову | |||
setTimeout(function () { | |||
$table.removeClass('mcc-sorting').addClass('mcc-sorted'); | |||
// Прибираємо клас після завершення останньої анімації | |||
setTimeout(function () { | |||
$table.removeClass('mcc-sorted'); | |||
}, 600); | |||
}, 20); | |||
}); | |||
}); | |||
// -------------------------------------------------- | |||
// 2. ГОРИЗОНТАЛЬНИЙ СКРОЛ + ГРАДІЄНТ-ПІДКАЗКА | |||
// Обгортає широкі таблиці в .mcc-scroll-outer | |||
// -------------------------------------------------- | |||
$(function () { | |||
// Класи таблиць, які треба загорнути | |||
var WIDE_SELECTORS = [ | |||
'.wikitable.wide-table', // існуючий клас | |||
'.mcc-wide', // новий клас для розмітки | |||
// Запис ігор — таблиця з класом full-width або в секції Запис ігор | |||
'.wikitable.full-width' | |||
].join(', '); | |||
function wrapScrollable($table) { | |||
// Не загортаємо двічі | |||
if ($table.closest('.mcc-scroll-inner').length) return; | |||
var $outer = $('<div class="mcc-scroll-outer"></div>'); | |||
var $inner = $('<div class="mcc-scroll-inner"></div>'); | |||
$table.wrap($inner); | |||
$table.closest('.mcc-scroll-inner').wrap($outer); | |||
var $scrollEl = $table.closest('.mcc-scroll-inner'); | |||
var $outerEl = $scrollEl.closest('.mcc-scroll-outer'); | |||
function checkFade() { | |||
var atEnd = $scrollEl[0].scrollLeft + $scrollEl[0].clientWidth >= $scrollEl[0].scrollWidth - 4; | |||
$outerEl.toggleClass('mcc-no-fade', atEnd); | |||
} | |||
$scrollEl.on('scroll', checkFade); | |||
checkFade(); | |||
} | |||
// Широкі таблиці (існуючі класи) | |||
$(WIDE_SELECTORS).each(function () { | |||
wrapScrollable($(this)); | |||
}); | |||
// Таблиця "Запис ігор" — знаходимо по кількості колонок (> 8) | |||
$('.wikitable').each(function () { | |||
var $t = $(this); | |||
if ($t.closest('.mcc-scroll-inner').length) return; // вже загорнута | |||
var cols = $t.find('thead tr:first th').length; | |||
if (cols > 8) { | |||
$t.addClass('mcc-wide-table'); | |||
wrapScrollable($t); | |||
} | |||
}); | |||
}); | |||
// -------------------------------------------------- | |||
// 3. ПІДСВІЧУВАННЯ ВІНРЕЙТУ В ТАБЛИЦЯХ | |||
// Автоматично додає клас .wr-hi / .wr-lo до клітинок % | |||
// -------------------------------------------------- | |||
$(function () { | |||
$('.wikitable tbody tr').each(function () { | |||
var $cells = $(this).find('td'); | |||
$cells.each(function () { | |||
var text = $(this).text().trim(); | |||
// Якщо клітинка містить відсоток | |||
if (/^\d+(\.\d+)?%$/.test(text)) { | |||
var val = parseFloat(text); | |||
if (val >= 55) { | |||
$(this).addClass('wr-hi'); | |||
} else if (val <= 33) { | |||
$(this).addClass('wr-lo'); | |||
} | |||
} | |||
}); | |||
}); | |||
}); | |||
// -------------------------------------------------- | |||
// 4. PROFILE ICONS — inactive якщо немає URL | |||
// (доповнює існуючий код, не замінює) | |||
// -------------------------------------------------- | |||
$(function () { | |||
$('.profile-icon').each(function () { | |||
var $icon = $(this); | |||
var url = $icon.attr('data-url') || ''; | |||
if (!url.trim()) { | |||
$icon.addClass('inactive'); | |||
} | } | ||
}); | }); | ||
}); | }); | ||