UI: box-sizing для content/tableWrap (1280px), EBITDA≤0 в таблице и карточке
This commit is contained in:
parent
8d7a0be485
commit
3a6a256136
16
app.js
16
app.js
@ -52,6 +52,14 @@
|
|||||||
if (v === Infinity) return '<span class="inf">∞</span>';
|
if (v === Infinity) return '<span class="inf">∞</span>';
|
||||||
return nfmt(v, 2);
|
return nfmt(v, 2);
|
||||||
}
|
}
|
||||||
|
/* для отображения: EBITDA ≤ 0 вместо «нет данных» у К1/К2 */
|
||||||
|
function coefDisplay(e, key) {
|
||||||
|
var v = e[key];
|
||||||
|
if (v == null && e.why && e.why[key] && /EBITDA/i.test(e.why[key]) && e.ebitda != null && e.ebitda <= 0) {
|
||||||
|
return "EBITDA ≤ 0";
|
||||||
|
}
|
||||||
|
return typeof v === "number" ? nfmt(v, 2) : fmtR(v);
|
||||||
|
}
|
||||||
var _nfCache = {};
|
var _nfCache = {};
|
||||||
function nfmt(v, d) {
|
function nfmt(v, d) {
|
||||||
d = d == null ? 2 : d;
|
d = d == null ? 2 : d;
|
||||||
@ -636,9 +644,9 @@
|
|||||||
html += "<tr data-name=\"" + esc(e._name || e.name) + "\" class=\"" + (e.group ? "is-group" : "") + "\">" +
|
html += "<tr data-name=\"" + esc(e._name || e.name) + "\" class=\"" + (e.group ? "is-group" : "") + "\">" +
|
||||||
"<td title=\"" + esc(e._name || e.name) + "\">" + esc(e._name || e.name) + (e.group ? " <span class='kt-ai-chip' data-tone='blue' style='margin-left:6px'>группа</span>" : "") + "</td>" +
|
"<td title=\"" + esc(e._name || e.name) + "\">" + esc(e._name || e.name) + (e.group ? " <span class='kt-ai-chip' data-tone='blue' style='margin-left:6px'>группа</span>" : "") + "</td>" +
|
||||||
"<td><span class='zone-pill " + wcls + "'></span> " + zoneLabel(wzone) + "</td>" +
|
"<td><span class='zone-pill " + wcls + "'></span> " + zoneLabel(wzone) + "</td>" +
|
||||||
"<td>" + fmtR(e.k1) + " " + pill(e, "k1") + "</td>" +
|
"<td>" + coefDisplay(e, "k1") + " " + pill(e, "k1") + "</td>" +
|
||||||
"<td>" + fmtR(e.k2) + " " + pill(e, "k2") + "</td>" +
|
"<td>" + coefDisplay(e, "k2") + " " + pill(e, "k2") + "</td>" +
|
||||||
"<td>" + fmtR(e.k3) + " " + pill(e, "k3") + "</td>" +
|
"<td>" + coefDisplay(e, "k3") + " " + pill(e, "k3") + "</td>" +
|
||||||
"</tr>";
|
"</tr>";
|
||||||
}
|
}
|
||||||
body.innerHTML = html;
|
body.innerHTML = html;
|
||||||
@ -706,7 +714,7 @@
|
|||||||
var zn = e[key + "Zone"] || "nodata";
|
var zn = e[key + "Zone"] || "nodata";
|
||||||
var cls = { green: "var(--kt-ai-status-ok-fg)", yellow: "var(--kt-ai-status-warn-fg)", red: "var(--kt-ai-status-risk-fg)", nodefault: "var(--kt-ai-fg-muted)", nodata: "var(--kt-ai-fg-muted)" }[zn];
|
var cls = { green: "var(--kt-ai-status-ok-fg)", yellow: "var(--kt-ai-status-warn-fg)", red: "var(--kt-ai-status-risk-fg)", nodefault: "var(--kt-ai-fg-muted)", nodata: "var(--kt-ai-fg-muted)" }[zn];
|
||||||
return "<div class='kfu-metric'><div class='mlabel'>" + title + " " + pill(e, key) + "</div>" +
|
return "<div class='kfu-metric'><div class='mlabel'>" + title + " " + pill(e, key) + "</div>" +
|
||||||
"<div class='mval' style='color:" + cls + "'>" + fmtR(v).replace(/<[^>]+>/g, function (m) { return m === "<span class=\"none\">нет данных<\/span>" ? "<span class='none'>нет данных</span>" : m; }) + "</div>" +
|
"<div class='mval' style='color:" + cls + "'>" + (v == null && e.why && e.why[key] && /EBITDA/i.test(e.why[key]) && e.ebitda != null && e.ebitda <= 0 ? "EBITDA ≤ 0" : fmtR(v).replace(/<[^>]+>/g, function (m) { return m === "<span class=\"none\">нет данных<\/span>" ? "<span class='none'>нет данных</span>" : m; })) + "</div>" +
|
||||||
"<div class='mhint'>" + normLine(e, key) + "</div>" +
|
"<div class='mhint'>" + normLine(e, key) + "</div>" +
|
||||||
(e.why && e.why[key] ? "<div class='mhint' style='color:var(--kt-ai-status-warn-fg)'>" + esc(e.why[key]) + "</div>" : "") +
|
(e.why && e.why[key] ? "<div class='mhint' style='color:var(--kt-ai-status-warn-fg)'>" + esc(e.why[key]) + "</div>" : "") +
|
||||||
"<div class='kfu-formula'>" + formula + "</div></div>";
|
"<div class='kfu-formula'>" + formula + "</div></div>";
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
.kfu-shell { display: grid; grid-template-columns: var(--kt-ai-sidebar-width) minmax(0, 1fr); min-height: 100dvh; }
|
.kfu-shell { display: grid; grid-template-columns: var(--kt-ai-sidebar-width) minmax(0, 1fr); min-height: 100dvh; }
|
||||||
.kfu-main { min-width: 0; background: var(--kt-ai-bg); display: flex; flex-direction: column; }
|
.kfu-main { min-width: 0; background: var(--kt-ai-bg); display: flex; flex-direction: column; }
|
||||||
|
|
||||||
.kfu-content { padding: var(--kt-ai-space-8) var(--kt-ai-space-8) var(--kt-ai-space-11); max-width: 1440px; width: 100%; margin: 0 auto; }
|
.kfu-content { box-sizing: border-box; width: 100%; min-width: 0; padding: var(--kt-ai-space-8) var(--kt-ai-space-8) var(--kt-ai-space-11); max-width: 1440px; margin: 0 auto; }
|
||||||
|
|
||||||
.kfu-title-row { display: flex; align-items: baseline; gap: var(--kt-ai-space-4); margin-bottom: var(--kt-ai-space-5); flex-wrap: wrap; }
|
.kfu-title-row { display: flex; align-items: baseline; gap: var(--kt-ai-space-4); margin-bottom: var(--kt-ai-space-5); flex-wrap: wrap; }
|
||||||
.kfu-title-row h1 { font-size: var(--kt-ai-text-xl); font-weight: 400; margin: 0; letter-spacing: -.02em; }
|
.kfu-title-row h1 { font-size: var(--kt-ai-text-xl); font-weight: 400; margin: 0; letter-spacing: -.02em; }
|
||||||
@ -43,7 +43,7 @@
|
|||||||
.kfu-toolbar .kt-ai-select { min-width: 150px; width: auto; }
|
.kfu-toolbar .kt-ai-select { min-width: 150px; width: auto; }
|
||||||
.kfu-toolbar .kt-ai-checkbox { display: inline-flex; align-items: center; gap: 6px; font-size: var(--kt-ai-text-sm); color: var(--kt-ai-fg-muted); }
|
.kfu-toolbar .kt-ai-checkbox { display: inline-flex; align-items: center; gap: 6px; font-size: var(--kt-ai-text-sm); color: var(--kt-ai-fg-muted); }
|
||||||
|
|
||||||
.kfu-table-wrap { background: var(--kt-ai-card-bg); border: 1px solid var(--kt-ai-card-border); border-radius: var(--vibe-card-radius);
|
.kfu-table-wrap { box-sizing: border-box; max-width: 100%; background: var(--kt-ai-card-bg); border: 1px solid var(--kt-ai-card-border); border-radius: var(--vibe-card-radius);
|
||||||
overflow-x: auto; box-shadow: var(--kt-ai-card-shadow); }
|
overflow-x: auto; box-shadow: var(--kt-ai-card-shadow); }
|
||||||
.kfu-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
|
.kfu-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
|
||||||
.kfu-table colgroup col:nth-child(1) { width: 34%; }
|
.kfu-table colgroup col:nth-child(1) { width: 34%; }
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user