Fix ticket age, bulk assign, add column visibility toggle

- TicketView: ticket age was measuring from last update not creation;
  fixed to always use created_at
- dashboard.js: bulk assign used non-existent onSelect callback (no
  selection was ever stored); fixed to onChange with selected[0],
  added max:1 to enforce single-select
- base.js: lt.combobox Enter key only fired when focusedIdx >= 0;
  now falls back to first filtered result when no arrow key used
- DashboardView + dashboard.js + dashboard.css: add COLS ▾ button on
  table header that opens a checkbox panel to show/hide optional
  columns (Ticket ID, Category, Type, Created By, Assigned To,
  Created, Updated); state persisted in localStorage, Reset button
  restores all; core columns (Priority, Title, Status, Actions) always
  visible; data-col attributes added to all th/td for CSS targeting

Notifications bell: was functional all along — was broken by the
notifications.php 500 error (now fixed). Avg resolution: correct,
tickets genuinely take ~158 days average on this dataset.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-05 12:31:30 -04:00
parent 6c491c1baa
commit c6037a9ccc
5 changed files with 163 additions and 18 deletions
+37
View File
@@ -8,6 +8,43 @@
margin-bottom: 1rem;
}
/* ── Column toggle panel ─────────────────────────────────────── */
.col-toggle-panel {
position: absolute;
top: calc(100% + 4px);
right: 0;
z-index: 200;
background: var(--bg-card);
border: 1px solid var(--border-color);
border-radius: 4px;
min-width: 160px;
box-shadow: 0 4px 16px rgba(0,0,0,0.4);
display: none;
}
.col-toggle-panel[aria-hidden="false"] { display: block; }
.col-toggle-title {
font-size: 0.6rem;
letter-spacing: 0.08em;
color: var(--text-muted);
padding: 0.4rem 0.65rem 0.25rem;
border-bottom: 1px solid var(--border-dim);
text-transform: uppercase;
}
.col-toggle-row {
display: flex;
align-items: center;
gap: 0.45rem;
padding: 0.3rem 0.65rem;
font-size: 0.72rem;
cursor: pointer;
transition: background 0.1s;
}
.col-toggle-row:hover { background: var(--bg-hover); }
.col-toggle-footer {
padding: 0.3rem 0.45rem;
border-top: 1px solid var(--border-dim);
}
/* Unit suffix on resolution time stat (smaller, muted) */
.lt-stat-unit {
font-size: 0.65em;