Log list: resizable columns with a sticky header
The list gets a thin sticky header (received, message time, severity, host, app, message). Dragging the edge of a header resizes the column, a double-click returns it to the automatic width; widths are clamped per column and remembered per browser (logstream.cols.*), and Settings > Interface has a "Reset column widths" button. The columns are defined once on a #table wrapper from --col-* variables; the header and every row use subgrid, so all rows line up (host and app widths no longer vary from row to row). The wrapper clips with overflow: clip so that the header can stick under the top bar. Phones keep the two-line layout without header. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
fd8d133b9c
commit
a12fac16c8
4 files changed
+133
-5
No files matched your search
+15
-1
@@ -95,7 +95,17 @@
|
||||
<div id="error" class="error-banner" hidden></div>
|
||||
<button id="newPill" class="pill" type="button" hidden></button>
|
||||
|
||||
<main id="list" class="list"></main>
|
||||
<div id="table" class="table" hidden>
|
||||
<div id="listHead" class="list-head" role="presentation">
|
||||
<span data-col="rcv"><span class="lbl" data-i18n="colRcv">Received</span><i class="grip" data-i18n-title="colGrip"></i></span>
|
||||
<span data-col="mt"><span class="lbl" data-i18n="colMt">Message time</span><i class="grip" data-i18n-title="colGrip"></i></span>
|
||||
<span data-col="sev"><span class="lbl" data-i18n="colSev">Severity</span><i class="grip" data-i18n-title="colGrip"></i></span>
|
||||
<span data-col="host"><span class="lbl" data-i18n="colHost">Host</span><i class="grip" data-i18n-title="colGrip"></i></span>
|
||||
<span data-col="app"><span class="lbl" data-i18n="colApp">App</span><i class="grip" data-i18n-title="colGrip"></i></span>
|
||||
<span data-col="msg"><span class="lbl" data-i18n="colMsg">Message</span></span>
|
||||
</div>
|
||||
<main id="list" class="list"></main>
|
||||
</div>
|
||||
<div id="empty" class="empty" hidden>
|
||||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 6h16M4 12h10M4 18h7"/></svg>
|
||||
<p><strong data-i18n="emptyTitle">No matching logs.</strong></p>
|
||||
@@ -248,6 +258,10 @@
|
||||
</div>
|
||||
<div id="fontPreview" class="list preview-list" aria-hidden="true"></div>
|
||||
<p class="muted small" data-i18n="fontHelp"></p>
|
||||
<div class="cols-row">
|
||||
<button id="resetCols" class="btn ghost" type="button" data-i18n="resetCols">Reset column widths</button>
|
||||
<span class="muted small" data-i18n="colsHelp"></span>
|
||||
</div>
|
||||
</section>
|
||||
<section class="set-section">
|
||||
<h3 data-i18n="histoTitle">Timeline</h3>
|
||||
|
||||
Reference in new issue
Block a user