83858083785a6b2b1f3c05f93e818e5a89318692 max Tue Aug 25 01:42:34 2026 -0700 hgSession: show cytoBand and gene/locus annotations for each saved session; date-only Created/Last used columns with full timestamp on hover. Factor locusName lookup into reusable hLocusName/hLocusNameExpand in hdb.c and reuse from hgBlat. refs #38157 The Assembly column now shows band, gene/locus name and Mbp position (separated by whitespace, normal text size). hLocusNameExpand centralizes the ex:/in:/ig: and | to - expansion that hgBlat's results page did inline. diff --git src/hg/htdocs/style/hgSession.css src/hg/htdocs/style/hgSession.css index 518617ccdf0..b4805dc1012 100644 --- src/hg/htdocs/style/hgSession.css +++ src/hg/htdocs/style/hgSession.css @@ -43,32 +43,33 @@ #sessionApp .sessCount { font-size:13px; color:var(--muted); white-space:nowrap; } #sessionApp .sessToolbarActions { margin-left:auto; display:flex; gap:8px; align-items:center; } #sessionApp #sessionAppTable_length { margin:0; font-size:14px; color:var(--ink); } #sessionApp #sessionAppTable_length select { border:1px solid var(--btnLine); border-radius:0; padding:4px 6px; font-size:14px; background:#fff; margin:0 4px; } #sessionApp #sessionAppTable_filter { margin:0; } #sessionApp #sessionAppTable_filter input { width:280px; max-width:55vw; border:1px solid var(--btnLine); border-radius:0; padding:5px 9px; font-size:14px; } #sessionApp #sessionAppTable_wrapper { overflow-x:auto; } /* Session table columns. Left-align every header and cell (including Actions) for one clean edge. */ #sessionAppTable thead th, #sessionAppTable tbody td { text-align:left; } /* Bulk-select checkbox column (hidden until "Select" is pressed). */ #sessionAppTable td.sessSelCol, #sessionAppTable th.sessSelCol { width:26px; text-align:center; } #sessionAppTable td.sessNameCol a { font-weight:700; } -/* Saved position, shown inline after the assembly. */ -#sessionAppTable .sessPos { font-size:12px; color:var(--muted); white-space:nowrap; } +/* Saved region (band, locus, Mbp position), shown inline after the assembly at normal text + * size and color, separated by whitespace. */ +#sessionAppTable .sessPos { white-space:nowrap; } #sessionAppTable td.sessDescCol { max-width:280px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--muted); } #sessionAppTable td.sessActionsCol { white-space:nowrap; } /* All action controls (text and icon-only) share one height so they line up. */ #sessionAppTable td.sessActionsCol .gbPill { display:inline-flex; align-items:center; justify-content:center; height:24px; padding:0 9px; font-size:12px; margin-left:5px; box-sizing:border-box; vertical-align:middle; } #sessionAppTable td.sessActionsCol .gbPill.danger { padding:0 8px; } #sessionAppTable .sessIcon { width:13px; height:14px; display:block; } #sessionAppTable .sessShareIcon { vertical-align:-2px; margin-right:4px; } #sessionAppTable .sessPublic { display:inline-block; margin-left:6px; font-size:11px; font-weight:700; color:#1f7a34; } /* Lock marks a private (not-shared) session; sharing is the default so only the exception is marked. */ #sessionAppTable .sessLockWrap { margin-left:6px; cursor:help; } #sessionAppTable .sessLock { width:10px; height:12px; display:inline-block; vertical-align:-2px;