Skip to content

Vue 3 migration: Phase 7 — show configuration basic tabs#1044

Merged
Tim020 merged 1 commit into
feature/vue3-migrationfrom
feature/vue3-migration-phase-7
May 17, 2026
Merged

Vue 3 migration: Phase 7 — show configuration basic tabs#1044
Tim020 merged 1 commit into
feature/vue3-migrationfrom
feature/vue3-migration-phase-7

Conversation

@Tim020
Copy link
Copy Markdown
Contributor

@Tim020 Tim020 commented May 17, 2026

Summary

  • Ports the four core show config tabs to Vue 3 + BVN: Show details, Acts & Scenes, Cast, and Characters
  • Adds getShowDetails() / updateShow() to systemStore (ported from V2 root store)
  • Adds useStatsTable() composable (port of statsTableMixin.ts) for linked-list act/scene traversal in stats tables
  • Full CRUD for acts, scenes, cast members, characters, and character groups; all delete confirmations use useConfirm() (not browser native)
  • Acts/scenes include circular-dependency validators to prevent linked-list loops
  • Character groups use vue-multiselect v3 with separate characterObjects ref; IDs derived at submit time
  • Stats tables (cast and character) use dynamic BTable slot syntax for per-scene columns with act grouping headers
  • Wires four previously-PlaceholderView child routes to real components

Test plan

  • /ui-new/show-config → shows detail table with titleCase keys; Edit Show button visible for editors; edit modal validates and saves
  • /ui-new/show-config/acts → Acts tab lists acts in linked-list order; add/edit/delete work; previous act dropdown only shows acts at end of chain; loop validator fires for circular references
  • /ui-new/show-config/acts → Scenes tab shows 2-column layout; first-scene-per-act table updates on change; previous scene resets when act changes in edit form
  • /ui-new/show-config/cast → Cast list CRUD works; Line Counts tab shows per-scene counts with act grouping headers
  • /ui-new/show-config/characters → Characters CRUD works; Character Groups tab multiselect works; Line Counts tab renders stats
  • Delete confirmations use the app's confirm dialog, not the browser native dialog

🤖 Generated with Claude Code

Ports the four core show config tabs (Show, Acts & Scenes, Cast,
Characters) to Vue 3 + BVN, using Pinia, Vuelidate, and
vue-multiselect.

- Add getShowDetails() + updateShow() actions to systemStore
- Add useStatsTable() composable (port of statsTableMixin)
- ConfigShow: detail table with titleCase keys + edit modal
- ConfigActsAndScenes: Acts CRUD (linked-list order, loop validator)
  and Scenes CRUD (2-column layout, per-act previous/first scene)
- ConfigCast: cast list CRUD + CastLineStats (dynamic act/scene cols)
- ConfigCharacters: character CRUD + CharacterGroups (vue-multiselect)
  + CharacterLineStats
- Wire four child routes in router; remaining placeholders unchanged

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Client V3 Test Results

0 tests  ±0   0 ✅ ±0   0s ⏱️ ±0s
0 suites ±0   0 💤 ±0 
1 files   ±0   0 ❌ ±0 

Results for commit 84e4175. ± Comparison against base commit 5bbc5b1.

@github-actions
Copy link
Copy Markdown

Client Test Results

128 tests  ±0   128 ✅ ±0   0s ⏱️ ±0s
  6 suites ±0     0 💤 ±0 
  1 files   ±0     0 ❌ ±0 

Results for commit 84e4175. ± Comparison against base commit 5bbc5b1.

@sonarqubecloud
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown

Python Test Results

  1 files  ±0    1 suites  ±0   1m 35s ⏱️ +2s
603 tests ±0  603 ✅ ±0  0 💤 ±0  0 ❌ ±0 
608 runs  ±0  608 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit 84e4175. ± Comparison against base commit 5bbc5b1.

@Tim020 Tim020 merged commit 4792a8f into feature/vue3-migration May 17, 2026
17 checks passed
@Tim020 Tim020 deleted the feature/vue3-migration-phase-7 branch May 17, 2026 18:09
@Tim020 Tim020 linked an issue May 17, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Migrate front end to Vue.js 3.x

1 participant