From 2f07ba507d9d56460ed738840681c9a98e876ba2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Tue, 4 Aug 2026 13:28:48 +0400 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=B8=D1=81=D1=82=D0=BE=D1=80=D0=B8?= =?UTF-8?q?=D1=8F=20=E2=80=94=20=D1=81=D1=82=D0=BE=D0=BB=D0=B1=D1=86=D1=8B?= =?UTF-8?q?=20=D1=88=D0=B8=D1=80=D0=B5,=20=D0=B4=D0=B0=D1=82=D0=B0=20?= =?UTF-8?q?=D0=B2=201=20=D1=81=D1=82=D1=80=D0=BE=D0=BA=D1=83,=20text-overf?= =?UTF-8?q?low=20(v1.2.44)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Время: 130->145px, Операция: 90->115px Все ячейки: white-space:nowrap Инстанс/Операция: overflow:hidden + text-overflow:ellipsis --- site/app.py | 2 +- site/static/js/history.js | 14 ++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/site/app.py b/site/app.py index ffcc9f0..0dfa5ae 100644 --- a/site/app.py +++ b/site/app.py @@ -32,7 +32,7 @@ from routes.api_scenario_defs import bp_defs as api_scenario_defs_bp # Версия — показывается в топбаре UI. Меняется при КАЖДОМ изменении кода. # Нужна для фильтрации истории (пользователь видит только записи своей версии). -VERSION = "1.2.43" +VERSION = "1.2.44" # Flask-приложение с Jinja2-шаблонами из папки templates/ app = Flask(__name__, template_folder="templates", static_folder="static") diff --git a/site/static/js/history.js b/site/static/js/history.js index a0c1d80..1710ff4 100644 --- a/site/static/js/history.js +++ b/site/static/js/history.js @@ -40,21 +40,19 @@ async function loadHistory(){ // Таблица с фиксированной шириной колонок let html=''; - html+=''; + html+=''; rows.forEach((r, i)=>{ const time=r.created_at?r.created_at.replace('T',' ').substring(0,19):'?'; const cls=r.status==='OK'?'badge-success':r.status==='FAIL'?'badge':''; - // Цвет фона строки: RUNNING → жёлтый, FAIL → красный const stCls=r.status==='RUNNING'?'background:#fef3c7;':r.status==='FAIL'?'background:#fef2f2;':''; - // Строка таблицы — кликабельна (раскрывает этапы) html+=` - - - - - + + + + + `; // Скрытая строка с этапами (раскрывается по клику)
ВремяОперацияИнстансСтатусДлит.
ВремяОперацияИнстансСтатусДлит.
${time}${_esc(r.op_name||'?')}${_esc(r.display_name||r.instance_uid||'?')}${_esc(r.status||'?')}${r.duration_sec!=null?r.duration_sec.toFixed(1)+'s':'-'}${time}${_esc(r.op_name||'?')}${_esc(r.display_name||r.instance_uid||'?')}${_esc(r.status||'?')}${r.duration_sec!=null?r.duration_sec.toFixed(1)+'s':'-'}