Загрузка данных


(() => {
    if (window.__ozonSvgFilter) {
        window.__ozonSvgFilter.stop();
    }

    const TARGET = 'http://www.w3.org/2000/svg';

    function checkRows() {
        const rows = document.querySelectorAll('tr');

        let kept = 0;
        let removed = 0;

        rows.forEach((row, index) => {
            const cells = row.querySelectorAll(':scope > td');

            // Нужен именно 7-й столбец
            if (cells.length < 7) {
                console.log(
                    `[SVG FILTER] Строка #${index + 1}: меньше 7 столбцов → пропуск`
                );
                return;
            }

            const seventhCell = cells[6];

            const hasSvg = seventhCell.querySelector(
                `svg[xmlns="${TARGET}"]`
            );

            if (hasSvg) {
                kept++;

                console.log(
                    `%c[SVG FILTER] Строка #${index + 1}: 7-й столбец → SVG НАЙДЕН → ОСТАВЛЯЕМ`,
                    'color: lime'
                );
            } else {
                removed++;

                console.log(
                    `%c[SVG FILTER] Строка #${index + 1}: 7-й столбец → SVG НЕ НАЙДЕН → УДАЛЯЕМ`,
                    'color: red'
                );

                row.remove();
            }
        });

        console.log(
            `[SVG FILTER] Проверено: ${rows.length}, оставлено: ${kept}, удалено: ${removed}`
        );
    }

    // Первоначальная проверка
    checkRows();

    // Следим за появлением новых строк
    const observer = new MutationObserver(() => {
        checkRows();
    });

    observer.observe(document.body, {
        childList: true,
        subtree: true
    });

    window.__ozonSvgFilter = {
        stop() {
            observer.disconnect();
            delete window.__ozonSvgFilter;

            console.log(
                '%c[SVG FILTER] ОСТАНОВЛЕН',
                'color: orange'
            );
        },

        check() {
            checkRows();
        }
    };

    console.log(
        '%c[SVG FILTER] ЗАПУЩЕН',
        'color: cyan'
    );

    console.log(
        '[SVG FILTER] Проверяется именно 7-й столбец каждой строки.'
    );

    console.log(
        '[SVG FILTER] Остановка: __ozonSvgFilter.stop()'
    );
})();