new design for rendertest (#8)

Что сделано:
* Удалёны gif, тесты заметно ускорились из-за этого, даже не смотря что делаются png из tga форсировано теперь.
* Добавлены темы, но светлой уделялось мало внимания. С костылём на автотёмную тему не знаю как будет тёмная тема работать, не проверял.
* Изменён дизайн, теперь таблица-список картинок вынесена в отдельную боковую панель.
* Появились разные режимы и настройки (лень перечислять там и так всё видно).
* Исправлена ошибка сортировки которая проявлялась на chrome-подобных браузерах.
* Исправлена ошибка с ориентацией картинок (поймал у себя что они оказались перевёрнутые).
* Произошла некоторая реорганизация кодовой базы, некоторые функции были расширены, а что-то исправлено по мелочи.

Reviewed-on: #8
Co-authored-by: NightFox <nightfox@dev.null>
Co-committed-by: NightFox <nightfox@dev.null>
This commit was merged in pull request #8.
This commit is contained in:
2024-02-15 23:35:40 +01:00
committed by provod
parent d20af78fa7
commit 25faf8b0e1
14 changed files with 1790 additions and 43 deletions

View File

@@ -2,10 +2,12 @@
function $(name) { return document.getElementById(name); }
function Tag(name, attrs, body, children) {
function Tag(name, attrs, body, children, eventName, eventHandler) {
let elem = document.createElement(name);
if (body) {
elem.innerHTML = body;
// elem.innerHTML = body; // innerHTML is ugly (slow, overwrite childNodes)
let textNode = document.createTextNode(body);
elem.appendChild(textNode);
}
for (let k in attrs) {
elem.setAttribute(k, attrs[k]);
@@ -13,6 +15,11 @@ function Tag(name, attrs, body, children) {
for (let i in children) {
elem.appendChild(children[i]);
}
if (eventName && eventHandler) {
elem.addEventListener(eventName, eventHandler);
}
return elem;
}
@@ -20,7 +27,7 @@ function Text(text) {
return document.createTextNode(text);
}
function debounce(func, cancelFunc, timeout = 500) {
function debounce(func, cancelFunc = ()=>{}, timeout = 500) {
let timer;
return (...args) => {
cancelFunc();