refactor(vue): update ArrangementConfigurator and ArrangementDialog to use label_id
This commit is contained in:
parent
b88ae3e918
commit
c714f30647
|
|
@ -67,7 +67,16 @@ watch(
|
|||
watch(
|
||||
selectedArrangement,
|
||||
(arrangement) => {
|
||||
arrangementGroups.value = arrangement?.groups?.map((group) => ({ ...group })) ?? []
|
||||
if (arrangement?.groups) {
|
||||
arrangementGroups.value = arrangement.groups.map((group) => ({ ...group }))
|
||||
} else if (arrangement?.arrangement_groups) {
|
||||
arrangementGroups.value = arrangement.arrangement_groups
|
||||
.map((ag) => props.availableGroups.find((g) => g.id === ag.label_id))
|
||||
.filter(Boolean)
|
||||
.map((g) => ({ ...g }))
|
||||
} else {
|
||||
arrangementGroups.value = []
|
||||
}
|
||||
},
|
||||
{ immediate: true },
|
||||
)
|
||||
|
|
@ -157,7 +166,7 @@ function saveArrangement() {
|
|||
`/arrangements/${selectedArrangement.value.id}`,
|
||||
{
|
||||
groups: arrangementGroups.value.map((group, index) => ({
|
||||
song_group_id: group.id,
|
||||
label_id: group.id,
|
||||
order: index + 1,
|
||||
})),
|
||||
},
|
||||
|
|
|
|||
|
|
@ -170,8 +170,11 @@ watch(
|
|||
return
|
||||
}
|
||||
const arr = localArrangements.value.find((a) => a.id === Number(id))
|
||||
if (arr?.groups?.length) {
|
||||
arrangementGroups.value = arr.groups.map((g, i) => ({ ...g, _uid: `${g.id}-${i}-${Date.now()}` }))
|
||||
const arrGroups = arr?.groups ?? (arr?.arrangement_groups
|
||||
? arr.arrangement_groups.map((ag) => props.availableGroups.find((g) => g.id === ag.label_id)).filter(Boolean)
|
||||
: [])
|
||||
if (arrGroups.length) {
|
||||
arrangementGroups.value = arrGroups.map((g, i) => ({ ...g, _uid: `${g.id}-${i}-${Date.now()}` }))
|
||||
} else {
|
||||
// Fallback: show all available groups in order (Master)
|
||||
arrangementGroups.value = props.availableGroups.map((g, i) => ({ ...g, slides: g.slides ?? [], _uid: `${g.id}-master-${i}-${Date.now()}` }))
|
||||
|
|
@ -323,7 +326,7 @@ function saveArrangement() {
|
|||
`/arrangements/${currentArrangement.value.id}`,
|
||||
{
|
||||
groups: arrangementGroups.value.map((group, index) => ({
|
||||
song_group_id: group.id,
|
||||
label_id: group.id,
|
||||
order: index + 1,
|
||||
})),
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in a new issue