From d44398033a4f0352e9f6dd46cacbc9e09b015593 Mon Sep 17 00:00:00 2001 From: indigo Date: Mon, 22 Jun 2026 10:04:55 +0800 Subject: [PATCH] Add shot table column lock with two-pane horizontal scroll Add a lock toggle to the shot table toolbar that freezes the checkbox, thumbnail, and shot name columns. When locked, the table splits into a fixed left pane and a horizontally scrollable right pane so the scrollbar spans only the movable columns. Constrain the table to fill the viewport height so the scrollbar stays at the screen bottom, and add min-w-0 to the layout to keep horizontal overflow inside the table instead of the page. Also fix the asset Task Status filter to render task type groups by using the object-aware TaskStatusBadge. Co-Authored-By: Claude Opus 4.8 --- .../components/asset/AssetTableToolbar.vue | 1 + .../src/components/asset/TaskStatusFilter.vue | 243 +++++++++--------- frontend/src/components/layout/AppLayout.vue | 2 +- frontend/src/components/shot/ShotBrowser.vue | 26 +- .../src/components/shot/ShotTableToolbar.vue | 17 +- .../src/components/shot/ShotsDataTable.vue | 162 +++++++++++- frontend/src/components/ui/table/Table.vue | 2 +- .../src/views/project/ProjectShotsView.vue | 4 +- 8 files changed, 311 insertions(+), 146 deletions(-) diff --git a/frontend/src/components/asset/AssetTableToolbar.vue b/frontend/src/components/asset/AssetTableToolbar.vue index 59b5ad1..6fc9ef5 100644 --- a/frontend/src/components/asset/AssetTableToolbar.vue +++ b/frontend/src/components/asset/AssetTableToolbar.vue @@ -91,6 +91,7 @@ diff --git a/frontend/src/components/asset/TaskStatusFilter.vue b/frontend/src/components/asset/TaskStatusFilter.vue index 80d806a..9c086d7 100644 --- a/frontend/src/components/asset/TaskStatusFilter.vue +++ b/frontend/src/components/asset/TaskStatusFilter.vue @@ -1,149 +1,136 @@ \ No newline at end of file + +const formatTaskType = (taskType: string) => + taskType.charAt(0).toUpperCase() + taskType.slice(1) + diff --git a/frontend/src/components/layout/AppLayout.vue b/frontend/src/components/layout/AppLayout.vue index 140fab0..7035fe2 100644 --- a/frontend/src/components/layout/AppLayout.vue +++ b/frontend/src/components/layout/AppLayout.vue @@ -5,7 +5,7 @@ - + diff --git a/frontend/src/components/shot/ShotBrowser.vue b/frontend/src/components/shot/ShotBrowser.vue index f6a9570..1e34366 100644 --- a/frontend/src/components/shot/ShotBrowser.vue +++ b/frontend/src/components/shot/ShotBrowser.vue @@ -1,9 +1,9 @@