Undocumented apps: per-device filter and wider device column; presence for Skip USMT

- Source Devices in the undocumented-apps list filters by device name, like
  the software columns; Devices and the action column take less room.
- Drop the one-click documented pick (Documented + Only ticked does it).
- Stage legend underline spans label and number.
- Device details title stays on one line; the name truncates instead.
- Presence sweep also pings devices under Skip USMT tags.
This commit is contained in:
Johan Sandoval committed 2026-10-06 20:49:58 +00:00
1 parent f72e39892c
commit 9c21567f6d
7 files changed
+31 -35

No files matched your search

+5 -2
View File
@@ -604,14 +604,17 @@
const table = el('table', 'master-table ov-table');
table.id = 'ov-table';
const thead = el('thead'), tr = el('tr');
['App', 'Devices', 'Sources with it', ''].forEach(h => tr.appendChild(el('th', null, h)));
// Source Devices is a list column: its filter lists every device name, like the software columns
[['App', '26%'], ['Devices', '90px'], ['Source Devices', ''], ['', '130px']].forEach(([h, w]) => { const th = el('th', null, h); if (w) th.style.width = w; tr.appendChild(th); });
thead.appendChild(tr); table.appendChild(thead);
const tb = el('tbody');
items.forEach(({ app, devs }) => {
const row = el('tr');
const a = el('td'); a.appendChild(el('b', null, app)); row.appendChild(a);
row.appendChild(el('td', null, String(devs.length)));
const d = el('td', null, devs.slice(0, 6).join(', ') + (devs.length > 6 ? ` +${devs.length - 6} more` : '')); d.title = devs.join(', ');
const d = el('td', 'ov-src-list', devs.slice(0, 8).join(', ') + (devs.length > 8 ? ` +${devs.length - 8} more` : ''));
d.title = devs.join(', ');
d.setAttribute('data-val', devs.join(', ')); // the filter and copy see every name
row.appendChild(d);
const act = el('td', 'no-copy');
const btn = el('button', 'ov-btn', 'Write article'); btn.type = 'button';