Live updates during a cycle; Filter & sort dropdown on phones; layout polish
- Worker publishes the rows swept so far every few seconds (LivePublishSeconds) with a DataVersion stamp; the dashboard reloads on each new version, so tables, the Overview and open dialogs update mid-cycle. Shared files are written to a temp file and swapped in, so readers never see half a file. - Phones / tablets: one Filter & sort button opens a column list instead of a row of chips, on every table. - Details: a wrapped Simple / Advanced toggle sits on the left. - Card fields: fixed-height dialog; field list and add list share it evenly.
This commit is contained in:
1 parent
7242f8f8af
commit
9dc2d88726
8 files changed
+149
-31
No files matched your search
@@ -59,6 +59,17 @@
|
||||
}
|
||||
return null;
|
||||
}
|
||||
// Details dialog title: if the Simple/Advanced toggle wrapped under the name, align it left
|
||||
function updateDetailsTitle() {
|
||||
const t = document.getElementById('detailsTitle');
|
||||
if (!t || !t.offsetParent) return;
|
||||
const name = t.querySelector('.dt-name'), btn = t.querySelector('.dt-toggle');
|
||||
if (!name || !btn) return;
|
||||
t.classList.remove('dt-wrapped');
|
||||
const wrapped = btn.getBoundingClientRect().top > name.getBoundingClientRect().bottom - 4;
|
||||
t.classList.toggle('dt-wrapped', wrapped);
|
||||
}
|
||||
|
||||
function updateSticky() {
|
||||
const root = document.documentElement;
|
||||
const nav = document.querySelector('.top-nav');
|
||||
@@ -77,6 +88,7 @@
|
||||
if (table.parentElement) setVar(table.parentElement, '--sticky-top', top); // for the filter chip bar
|
||||
});
|
||||
setupCustomHScroll();
|
||||
updateDetailsTitle();
|
||||
}
|
||||
|
||||
// Custom View can be wider than the page. A sideways-scrolling box would stop its header
|
||||
|
||||
Reference in new issue
Block a user