|
|
reader; group rows -> drill in. Mirrors the
* navigation contract of so the table behaves as
* an alternate presentation, not an alternate router. When
* select-many is active, plain row clicks toggle the selection
- * instead of navigating — matches the cover view's overlay
- * behavior.
+ * instead of navigating — and shift-click extends a range from
+ * the last anchor, matching the cover view.
*/
if (this.selectManyActive) {
- this.toggleItem(row);
+ this.selectItemAt(row, { shift: Boolean(event?.shiftKey) });
return;
}
const group = row.group ?? "c";
diff --git a/frontend/src/plugins/router.js b/frontend/src/plugins/router.js
index c063df27a..b4dc50898 100644
--- a/frontend/src/plugins/router.js
+++ b/frontend/src/plugins/router.js
@@ -66,8 +66,10 @@ const router = new createRouter({
});
router.afterEach((to) => {
- // Strip the ts cache-busting query param from the visible URL.
- // Vue Router's $route watcher already captured the value before this fires.
+ /*
+ * Strip the ts cache-busting query param from the visible URL.
+ * Vue Router's $route watcher already captured the value before this fires.
+ */
if (to.query?.ts !== undefined) {
const { ts, ...query } = to.query;
const cleanRoute = router.resolve({
@@ -80,9 +82,11 @@ router.afterEach((to) => {
}
});
-// Self-heal stale chunk references after a deploy: when a lazy-loaded route
-// component fails to fetch (because its hashed filename no longer exists on
-// the server), force a full page load so the browser pulls a fresh index.html.
+/*
+ * Self-heal stale chunk references after a deploy: when a lazy-loaded route
+ * component fails to fetch (because its hashed filename no longer exists on
+ * the server), force a full page load so the browser pulls a fresh index.html.
+ */
const CHUNK_ERROR_PATTERNS = [
/Failed to fetch dynamically imported module/i,
/error loading dynamically imported module/i,
diff --git a/frontend/src/plugins/vuetify.js b/frontend/src/plugins/vuetify.js
index af856ac44..1675259c6 100644
--- a/frontend/src/plugins/vuetify.js
+++ b/frontend/src/plugins/vuetify.js
@@ -32,13 +32,15 @@ const codexTheme = {
},
};
-// CSP note: this block makes Vuetify inject a runtime |