fix(fe tracklist): fixed tracklist compatibility with playlist
This commit is contained in:
parent
be3a706ed1
commit
97b32ef1e9
1 changed files with 38 additions and 22 deletions
|
@ -32,19 +32,39 @@ const rehydratateTracks = () => {
|
||||||
order: key,
|
order: key,
|
||||||
db_element: null,
|
db_element: null,
|
||||||
}
|
}
|
||||||
if (track.file !== null && typeof track.file !== 'undefined') {
|
console.log(track)
|
||||||
|
if (Object.hasOwn(track, 'file') && track.file !== null) {
|
||||||
track_info.type = 'audioclip'
|
track_info.type = 'audioclip'
|
||||||
track_info.title = track.file.track_title
|
track_info.title = track.file.track_title
|
||||||
track_info.subtitle = track.file.artist_name
|
track_info.subtitle = track.file.artist_name
|
||||||
track_info.db_element = track.file
|
track_info.db_element = track.file
|
||||||
|
track_info.file = track.file
|
||||||
track_info.id = track.file_id
|
track_info.id = track.file_id
|
||||||
} else if (track.block !== null && typeof track.block !== 'undefined') {
|
}
|
||||||
|
if (!Object.hasOwn(track, 'file') && track.type === 'audioclip') {
|
||||||
|
track_info.type = 'audioclip'
|
||||||
|
track_info.title = track.track_title
|
||||||
|
track_info.subtitle = track.artist_name
|
||||||
|
track_info.db_element = track
|
||||||
|
track_info.file = track
|
||||||
|
track_info.id = track.id
|
||||||
|
}
|
||||||
|
if (Object.hasOwn(track, 'block') && track.block !== null) {
|
||||||
track_info.type = 'block'
|
track_info.type = 'block'
|
||||||
track_info.title = track.block.name
|
track_info.title = track.block.name
|
||||||
track_info.subtitle = track.block.creator.login
|
track_info.subtitle = track.block.creator.login
|
||||||
track_info.db_element = track.block
|
track_info.db_element = track.block
|
||||||
|
track_info.block = track.block
|
||||||
track_info.id = track.block_id
|
track_info.id = track.block_id
|
||||||
}
|
}
|
||||||
|
if (!Object.hasOwn(track, 'block') && track.type === 'block') {
|
||||||
|
track_info.type = 'block'
|
||||||
|
track_info.title = track.name
|
||||||
|
track_info.subtitle = track.creator.login
|
||||||
|
track_info.db_element = track
|
||||||
|
track_info.block = track
|
||||||
|
track_info.id = track.id
|
||||||
|
}
|
||||||
return track_info
|
return track_info
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -54,6 +74,7 @@ onMounted(() => {
|
||||||
})
|
})
|
||||||
|
|
||||||
const checkMove = (e) => {
|
const checkMove = (e) => {
|
||||||
|
console.log(e)
|
||||||
//if block element close criteria to avoid errors
|
//if block element close criteria to avoid errors
|
||||||
if (openElements.value.includes(e.draggedContext.index)) {
|
if (openElements.value.includes(e.draggedContext.index)) {
|
||||||
delete openElements.value[openElements.value.indexOf(e.draggedContext.index)]
|
delete openElements.value[openElements.value.indexOf(e.draggedContext.index)]
|
||||||
|
@ -67,24 +88,18 @@ watch(props, (newVal, oldVal) => {
|
||||||
|
|
||||||
const change = (event) => {
|
const change = (event) => {
|
||||||
console.log(event)
|
console.log(event)
|
||||||
//When adding an element
|
|
||||||
if (Object.hasOwn(event, 'added')) {
|
if (Object.hasOwn(event, 'added')) {
|
||||||
//Adding position
|
if (Object.hasOwn(trackList.value[event.added.newIndex], 'track_title')) {
|
||||||
trackList.value[event.added.newIndex].position = event.added.newIndex
|
console.log('ye')
|
||||||
//Check element type
|
trackList.value[event.added.newIndex].type = 'audioclip';
|
||||||
//File
|
trackList.value[event.added.newIndex].title = trackList.value[event.added.newIndex].track_title;
|
||||||
if (Object.hasOwn(event.added.element, 'track_title')) {
|
trackList.value[event.added.newIndex].subtitle = trackList.value[event.added.newIndex].artist_name;
|
||||||
trackList.value[event.added.newIndex].type = 'audioclip'
|
|
||||||
trackList.value[event.added.newIndex].title = event.added.element.track_title
|
|
||||||
trackList.value[event.added.newIndex].subtitle = event.added.element.artist_name
|
|
||||||
}
|
}
|
||||||
//Block
|
if (Object.hasOwn(trackList.value[event.added.newIndex], 'criteria')) {
|
||||||
if (Object.hasOwn(event.added.element, 'criteria')) {
|
trackList.value[event.added.newIndex].type = 'block';
|
||||||
trackList.value[event.added.newIndex].type = 'block'
|
trackList.value[event.added.newIndex].title = trackList.value[event.added.newIndex].name;
|
||||||
trackList.value[event.added.newIndex].title = event.added.element.name
|
trackList.value[event.added.newIndex].subtitle = trackList.value[event.added.newIndex].creator.login;
|
||||||
trackList.value[event.added.newIndex].subtitle = event.added.element.creator.login
|
|
||||||
}
|
}
|
||||||
trackList.value[event.added.newIndex].db_element = event.added.element
|
|
||||||
}
|
}
|
||||||
emit('updateTracks', trackList.value)
|
emit('updateTracks', trackList.value)
|
||||||
}
|
}
|
||||||
|
@ -129,6 +144,7 @@ defineExpose({ draggable });
|
||||||
<template v-slot:prepend>
|
<template v-slot:prepend>
|
||||||
<div class="index">
|
<div class="index">
|
||||||
{{ index + 1 }}
|
{{ index + 1 }}
|
||||||
|
<!-- {{ element }}-->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<v-list-item-title v-html="element.title"></v-list-item-title>
|
<v-list-item-title v-html="element.title"></v-list-item-title>
|
||||||
|
@ -142,17 +158,17 @@ defineExpose({ draggable });
|
||||||
|
|
||||||
</v-list-item-subtitle>
|
</v-list-item-subtitle>
|
||||||
<template v-slot:append>
|
<template v-slot:append>
|
||||||
<span
|
|
||||||
v-if="element.db_element.length"
|
|
||||||
>{{ timeFormatter(element.db_element.length) }}</span>
|
|
||||||
<v-icon
|
<v-icon
|
||||||
v-if="element.type === 'block' && !openElements.includes(index)"
|
v-if="element.type === 'block' && !openElements.includes(index)"
|
||||||
@click="toggleElement(index)"
|
@click="toggleElement(index)"
|
||||||
>mdi-unfold-more-horizontal</v-icon>
|
>mdi-unfold-more-horizontal</v-icon>
|
||||||
<v-icon
|
<v-icon
|
||||||
v-if="element.type === 'block' && openElements.includes(index)"
|
v-if="element.type === 'block' && openElements.includes(index)"
|
||||||
@click="toggleElement(index)"
|
@click="toggleElement(index)"
|
||||||
>mdi-unfold-less-horizontal</v-icon>
|
>mdi-unfold-less-horizontal</v-icon>
|
||||||
|
<span
|
||||||
|
v-if="element.db_element?.length"
|
||||||
|
>{{ timeFormatter(element.db_element.length) }}</span>
|
||||||
<v-icon
|
<v-icon
|
||||||
@click="remove(element, index)"
|
@click="remove(element, index)"
|
||||||
>mdi-close</v-icon>
|
>mdi-close</v-icon>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue