🎯 Shot Task Columns Toggle - Implementation Complete

✅ Task Columns Toggle Button Added

Successfully added a show/hide task columns toggle button to the shot table toolbar, similar to the one in AssetBrowser.

🆕 New Feature: Task Columns Toggle

Button Implementation:

<Button v-if="viewMode === 'table'" variant="outline" size="sm" @click="toggleAllTaskColumns" class="h-8" > <ListTodo v-if="!allTaskColumnsVisible" class="h-4 w-4 mr-2" /> <ListX v-else class="h-4 w-4 mr-2" /> {{ allTaskColumnsVisible ? 'Hide' : 'Show' }} Tasks </Button>

Key Features:

📋 Implementation Details

1. Added Required Imports:

import { LayoutGrid, List, Table2, Search, Film, Plus, Layers, PanelRightClose, PanelRightOpen, Check, X, Settings2, ListTodo, ListX // ← NEW ICONS } from 'lucide-vue-next'

2. Added Computed Property for Task Column State:

// Check if all task columns are visible const allTaskColumnsVisible = computed(() => { const taskColumns = allColumns.value.filter(col => col.type === 'task') return taskColumns.length > 0 && taskColumns.every(col => props.columnVisibility[col.id] !== false) })

3. Added Toggle Method:

const toggleAllTaskColumns = () => { const newVisibility = { ...props.columnVisibility } const taskColumns = allColumns.value.filter(col => col.type === 'task') // If all task columns are visible, hide them; otherwise show them const shouldHide = allTaskColumnsVisible.value taskColumns.forEach(col => { newVisibility[col.id] = !shouldHide }) emit('update:column-visibility', newVisibility) }

🎯 Button Position in Toolbar

Updated Toolbar Layout (Left to Right):

  1. View Toggle: Grid/List/Table buttons
  2. Episode Filter: Episode dropdown (if episodes exist)
  3. Task Status Filter: Task status dropdown (table view only)
  4. Column Visibility: View columns dropdown (table view only)
  5. 🆕 Task Columns Toggle: Show/Hide Tasks button (table view only)
  6. Detail Panel Toggle: Panel show/hide button (table view only)
  7. Clear Filters: Reset button (if filters active)

Button Behavior:

🔄 Comparison with AssetBrowser

AssetBrowser Implementation

  • Separate ColumnVisibilityControl component
  • Complex dropdown with individual checkboxes
  • Saves/restores individual column states
  • Handles custom task types dynamically

ShotTableToolbar Implementation

  • Integrated button in main toolbar
  • Simple toggle for all task columns
  • Uses existing column visibility system
  • Works with dynamic task types from props

Why This Approach:

✅ Testing Checklist

🎯 User Experience Benefits

Quick Task Column Management:

Common Use Cases:

🎉 Implementation Complete

The shot table toolbar now includes a task columns toggle button with the following features:

Users can now easily show/hide task columns in the shot table, just like in the asset browser!