refactor: convert bookmarks to typed module
This commit is contained in:
@@ -802,11 +802,12 @@ function setTheme(theme) {
|
||||
invalidateBookmarkColors();
|
||||
}
|
||||
function invalidateBookmarkColors() {
|
||||
if (typeof bmOverlayRevision === "undefined") return;
|
||||
bmOverlayRevision++;
|
||||
const bookmarks = window.trx.modules.bookmarks;
|
||||
if (!bookmarks) return;
|
||||
bookmarks.invalidateColors();
|
||||
void getComputedStyle(document.documentElement).getPropertyValue("--bg");
|
||||
const colorMap = bmCategoryColorMap();
|
||||
const ref = typeof bmOverlayList !== "undefined" ? bmOverlayList : [];
|
||||
const ref = bookmarks.overlayList;
|
||||
document.querySelectorAll(".spectrum-bookmark-chip").forEach((chip) => {
|
||||
const bm = ref.find((b) => b.id === chip.dataset.bmId);
|
||||
if (!bm) return;
|
||||
@@ -1450,7 +1451,7 @@ function drawSignalOverlay() {
|
||||
const bwEdge = BW_OVERLAY_COLORS.edge;
|
||||
const bwStroke = BW_OVERLAY_COLORS.stroke;
|
||||
const bwHard = BW_OVERLAY_COLORS.hard;
|
||||
const bmRef = typeof bmOverlayList !== "undefined" ? bmOverlayList : null;
|
||||
const bmRef = window.trx.modules.bookmarks?.overlayList ?? null;
|
||||
if (Array.isArray(bmRef) && bmRef.length > 0) {
|
||||
const colorMap = bmCategoryColorMap();
|
||||
const grouped = /* @__PURE__ */ new Map();
|
||||
@@ -4625,7 +4626,7 @@ function buildBookmarkTooltipText(bm) {
|
||||
return text;
|
||||
}
|
||||
function nearestBookmarkForHz(hz, widthPx, range) {
|
||||
const ref = typeof bmOverlayList !== "undefined" ? bmOverlayList : null;
|
||||
const ref = window.trx.modules.bookmarks?.overlayList ?? null;
|
||||
if (!Array.isArray(ref) || !Number.isFinite(hz) || !widthPx || !range || !Number.isFinite(range.visSpanHz) || range.visSpanHz <= 0) {
|
||||
return null;
|
||||
}
|
||||
@@ -7189,7 +7190,7 @@ function bmThemePalette() {
|
||||
];
|
||||
}
|
||||
function bmCategoryColorMap() {
|
||||
const ref = typeof bmOverlayList !== "undefined" ? bmOverlayList : [];
|
||||
const ref = window.trx.modules.bookmarks?.overlayList ?? [];
|
||||
const cats = [...new Set(ref.map((b) => b.category).filter(Boolean))].sort();
|
||||
const palette = bmThemePalette();
|
||||
const map = { "": palette[0] };
|
||||
@@ -7216,13 +7217,13 @@ function createBookmarkChip(bm, colorMap, options = {}) {
|
||||
span.style.setProperty("--bm-cat-bg", col);
|
||||
span.style.setProperty("--bm-cat-fg", bmContrastFg(col));
|
||||
span.addEventListener("click", () => {
|
||||
if (typeof bmApply === "function") bmApply(bm);
|
||||
void window.trx.modules.bookmarks?.apply(bm);
|
||||
});
|
||||
return span;
|
||||
}
|
||||
function updateSideBookmarkStack(container, bookmarks, colorMap) {
|
||||
if (!container) return;
|
||||
const rev = typeof bmOverlayRevision !== "undefined" ? bmOverlayRevision : 0;
|
||||
const rev = window.trx.modules.bookmarks?.overlayRevision ?? 0;
|
||||
const nextKey = Array.isArray(bookmarks) ? `${rev}:${bookmarks.map((bm) => bm.id).join(",")}` : "";
|
||||
if (!Array.isArray(bookmarks) || bookmarks.length === 0) {
|
||||
if (container.dataset.bmKey) {
|
||||
@@ -7246,7 +7247,7 @@ function updateBookmarkAxis(range) {
|
||||
const leftSideEl = document.getElementById("spectrum-bookmark-side-left");
|
||||
const rightSideEl = document.getElementById("spectrum-bookmark-side-right");
|
||||
if (!axisEl) return;
|
||||
const _bmRef = typeof bmOverlayList !== "undefined" ? bmOverlayList : null;
|
||||
const _bmRef = window.trx.modules.bookmarks?.overlayList ?? null;
|
||||
const allBookmarks = Array.isArray(_bmRef) ? _bmRef : [];
|
||||
const visBookmarks = allBookmarks.filter((bm) => bm.freq_hz >= range.visLoHz && bm.freq_hz <= range.visHiHz);
|
||||
const leftBookmarks = allBookmarks.filter((bm) => bm.freq_hz < range.visLoHz).sort((a, b) => b.freq_hz - a.freq_hz).slice(0, 3);
|
||||
@@ -7263,7 +7264,7 @@ function updateBookmarkAxis(range) {
|
||||
}
|
||||
return;
|
||||
}
|
||||
const rev = typeof bmOverlayRevision !== "undefined" ? bmOverlayRevision : 0;
|
||||
const rev = window.trx.modules.bookmarks?.overlayRevision ?? 0;
|
||||
const newKey = `${rev}:${visBookmarks.map((b) => b.id).join(",")}`;
|
||||
if (axisEl.dataset.bmKey !== newKey) {
|
||||
axisEl.dataset.bmKey = newKey;
|
||||
|
||||
Reference in New Issue
Block a user