table optimization (filtering, resizing and settings saved in user settings

This commit is contained in:
2026-08-12 23:14:21 +02:00
parent e0175ab48a
commit 0fb18ae4f7
24 changed files with 991 additions and 189 deletions
+25
View File
@@ -3122,3 +3122,28 @@ html[data-theme="dark"] .column-filter-row textarea.filter-input-active{
color:#fff2b3;
border-color:#d4a735;
}
/* Advanced numeric/date filter helper. The free-form filter remains the source of truth. */
.column-filter-row th.advanced-filter-cell{position:relative;overflow:visible}
.advanced-filter-popup{position:absolute;z-index:50;top:calc(100% + 4px);left:4px;min-width:250px;padding:10px;border:1px solid var(--border-color,#c7d0d8);border-radius:6px;background:var(--surface-color,#fff);box-shadow:0 8px 24px rgba(0,0,0,.18);text-align:left}
.advanced-filter-popup[hidden]{display:none}
.advanced-filter-title{display:block;margin-bottom:8px}
.advanced-filter-popup label{display:block;margin:6px 0;font-size:12px;font-weight:600}
.advanced-filter-popup select,.advanced-filter-popup input{display:block;width:100%;min-width:0;margin-top:4px;padding:6px;font-size:13px}
.advanced-filter-values{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.advanced-filter-values label:only-child{grid-column:1/-1}
.advanced-filter-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}
.advanced-filter-actions .button{padding:6px 10px;font-size:12px}
html[data-theme="dark"] .advanced-filter-popup{background:#202a34;color:#e8edf2;border-color:#53606d;box-shadow:0 8px 24px rgba(0,0,0,.45)}
html[data-theme="dark"] .advanced-filter-popup select,html[data-theme="dark"] .advanced-filter-popup input{background:#172029;color:#e8edf2;border-color:#596673}
/* v0.5.5.71: advanced filter popup lives below body so table scrollers cannot clip it. */
.advanced-filter-popup-portal{
position:fixed;
z-index:10000;
top:0;
left:0;
}
/* v0.5.5.72: hidden value fields in advanced filter builder must stay hidden despite label display rules. */
.advanced-filter-popup label[hidden]{display:none!important}