MediaWiki:Common.js: различия между версиями

Отмена правки 52497, сделанной Pok (обсуждение)
Метка: отмена
мНет описания правки
Строка 345: Строка 345:
     // Проходим по каждой таблице
     // Проходим по каждой таблице
     Array.prototype.forEach.call(tables, function(table) {
     Array.prototype.forEach.call(tables, function(table) {
         var tbody = table.querySelector('tbody');
         var tbodies = table.querySelectorAll('tbody');
         var thead = table.querySelector('thead');
         var thead = table.querySelector('thead');
         var noHeader = table.classList.contains('no-header-table');
         var noHeader = table.classList.contains('no-header-table');


         // Проверяем, что тело таблицы существует
         // Проходим по каждому <tbody>
         if (tbody) {
         Array.prototype.forEach.call(tbodies, function(tbody) {
             // Получаем все строки <tr> внутри tbody, исключая строки, содержащие вложенные таблицы
             // Получаем все строки <tr>, исключая первый <tr> внутри каждого <tbody>
             var rows = Array.prototype.slice.call(tbody.querySelectorAll('tr')).filter(function(row) {
             var rows = Array.prototype.slice.call(tbody.querySelectorAll('tr')).filter(function(row, index) {
                 return !row.querySelector('table');
                // Исключаем строки с вложенными таблицами и первую строку <tr>
                 return index > 0 && !row.querySelector('table');
             });
             });


             // Пропускаем первую строку, если нет thead и нет класса 'no-header'
             // Пропускаем первую строку, если нет <thead> и нет класса 'no-header'
             var topLevelRows = (!thead && !noHeader) ? rows.slice(1) : rows;
             var topLevelRows = (!thead && !noHeader) ? rows.slice(1) : rows;


Строка 362: Строка 363:
             var hasTooManyRowspan = false;
             var hasTooManyRowspan = false;


// Проходим по строкам первого уровня
            // Проходим по строкам первого уровня
             topLevelRows.forEach(function(row) {
             topLevelRows.forEach(function(row) {
                 // Получаем все ячейки строки, исключая те, что имеют класс 'mobile'
                 // Получаем все ячейки строки, исключая те, что имеют класс 'mobile'
                 var cells = Array.prototype.slice.call(row.querySelectorAll('td, th')).filter(function(cell) {
                 var cells = Array.prototype.slice.call(row.querySelectorAll('td, th')).filter(function(cell) {
                return !cell.classList.contains('mobile');
                    return !cell.classList.contains('mobile');
                 });
                 });
                 var cellCount = cells.length;
                 var cellCount = cells.length;
Строка 439: Строка 440:
                 });
                 });
             });
             });
         }
         });
     });
     });
}
}