v1.1: поиск классом kt-ai-input (виден на 375px), кнопка Обновляет (сброс state)

This commit is contained in:
tore 2026-09-23 05:23:52 +00:00
parent 15b3671d60
commit dadd089453
2 changed files with 15 additions and 8 deletions

View File

@ -68,7 +68,10 @@
<h1>Объём продаж по <span class="vibe-highlight">областям</span></h1> <h1>Объём продаж по <span class="vibe-highlight">областям</span></h1>
<span class="kt-ai-meta" id="dash-meta"></span> <span class="kt-ai-meta" id="dash-meta"></span>
</div> </div>
<button class="kt-ai-btn" id="btn-reset" type="button">Сбросить</button> <button class="kt-ai-btn" id="btn-refresh" type="button">
<svg class="kt-icon" aria-hidden="true"><use href="#refresh"></use></svg>
Обновить
</button>
</div> </div>
<div class="kpi-grid" id="kpi-strip"></div> <div class="kpi-grid" id="kpi-strip"></div>
@ -87,9 +90,7 @@
</div> </div>
<div class="dash-toolbar"> <div class="dash-toolbar">
<div class="kt-ai-search-field" style="width:min(360px,100%)"> <input class="kt-ai-input" id="search" type="search" placeholder="Поиск по области…" style="width:min(360px,100%)">
<input class="kt-ai-input" id="search" type="search" placeholder="Поиск по области…">
</div>
<button class="kt-ai-btn" data-size="sm" id="btn-top3" type="button">Топ-3</button> <button class="kt-ai-btn" data-size="sm" id="btn-top3" type="button">Топ-3</button>
<span class="filter-chips" id="filter-chips"></span> <span class="filter-chips" id="filter-chips"></span>
</div> </div>
@ -115,7 +116,7 @@
<div class="icon-spot"><svg class="kt-icon kt-icon-lg" aria-hidden="true"><use href="#search"></use></svg></div> <div class="icon-spot"><svg class="kt-icon kt-icon-lg" aria-hidden="true"><use href="#search"></use></svg></div>
<p class="title">Ничего не найдено</p> <p class="title">Ничего не найдено</p>
<p>Попробуйте изменить запрос или сбросить фильтры.</p> <p>Попробуйте изменить запрос или сбросить фильтры.</p>
<button class="kt-ai-btn" data-size="sm" id="btn-empty-reset" type="button">Сбросить фильтры</button> <button class="kt-ai-btn" data-size="sm" id="btn-empty-reset" type="button">Очистить фильтры</button>
</div> </div>
</div> </div>

View File

@ -206,7 +206,7 @@ function renderChart(rows) {
var top3 = (j < 3); var top3 = (j < 3);
var tip = "{&quot;title&quot;:&quot;" + r.name + "&quot;,&quot;rows&quot;:[{&quot;label&quot;:&quot;Объём продаж&quot;,&quot;value&quot;:&quot;" + formatFull(r.amount) + " млн тг&quot;},{&quot;label&quot;:&quot;Доля&quot;,&quot;value&quot;:&quot;" + formatNumber(r.share, 1) + "%&quot;}]}"; var tip = "{&quot;title&quot;:&quot;" + r.name + "&quot;,&quot;rows&quot;:[{&quot;label&quot;:&quot;Объём продаж&quot;,&quot;value&quot;:&quot;" + formatFull(r.amount) + " млн тг&quot;},{&quot;label&quot;:&quot;Доля&quot;,&quot;value&quot;:&quot;" + formatNumber(r.share, 1) + "%&quot;}]}";
html += '<div class="cc-bar"' + (top3 ? ' data-top="true"' : "") + ' data-kt-tip="' + tip + '" tabindex="0"><i style="height:' + h + '%;' + (top3 ? "--cc-color:" + CHART_COLORS + ";" : "") + '"></i></div>'; html += '<div class="cc-bar"' + (top3 ? ' data-top="true"' : "") + ' data-kt-tip="' + tip + '" tabindex="0"><i style="height:' + h + '%;' + (top3 ? "--cc-color:" + CHART_COLORS + ";" : "") + '"></i></div>';
axis += '<span data-full="' + escapeHtml(shortName(r.name)) + '" title="' + escapeHtml(r.name) + '">' + escapeHtml(shortName(r.name)) + "</span>"; axis += '<span title="' + escapeHtml(r.name) + '">' + escapeHtml(shortName(r.name)) + "</span>";
} }
barsBox.innerHTML = html; barsBox.innerHTML = html;
axisBox.innerHTML = axis; axisBox.innerHTML = axis;
@ -359,8 +359,14 @@ function wireEvents() {
}); });
} }
var resetBtn = getEl("btn-reset"); var resetBtn = getEl("btn-refresh");
if (resetBtn) resetBtn.addEventListener("click", resetAll); if (resetBtn) {
resetBtn.addEventListener("click", function () {
try { localStorage.removeItem(LS_KEY); } catch (e) { /* приватный режим */ }
resetAll();
toast("Данные обновлены");
});
}
var emptyReset = getEl("btn-empty-reset"); var emptyReset = getEl("btn-empty-reset");
if (emptyReset) emptyReset.addEventListener("click", resetAll); if (emptyReset) emptyReset.addEventListener("click", resetAll);