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


(() => {
    if (window.__svgRowFilter) {
        console.log('Скрипт уже запущен.');
        return;
    }

    let stopped = false;

    const checkRows = () => {
        if (stopped) return;

        document.querySelectorAll('tr').forEach(row => {
            const hasSvg = row.querySelector(
                'svg[xmlns="http://www.w3.org/2000/svg"]'
            );

            if (!hasSvg) {
                row.remove();
            }
        });
    };

    // Проверяем уже существующие строки
    checkRows();

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

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

    window.__svgRowFilter = {
        stop: () => {
            stopped = true;
            observer.disconnect();
            delete window.__svgRowFilter;
            console.log('Скрипт остановлен.');
        }
    };

    console.log('Фильтр запущен. Для остановки введи: stop');
    
    // Перехватываем ввод команды stop через консоль
    const originalLog = console.log;
    window.stopSvgFilter = window.__svgRowFilter.stop;

    // Проверяем команды через периодический опрос
    const commandInterval = setInterval(() => {
        if (window.__svgRowFilter === undefined) {
            clearInterval(commandInterval);
        }
    }, 500);

})();