${this.loading
? html`
Loading tracks...
`
: this.renderTrackList()}
${this.renderContextMenu()}
this.handlePhantomClick(
e,
trackIndex,
)
: (e: MouseEvent) =>
this.handleTrackClick(
e,
trackIndex,
)}
@dblclick=${isPhantom
? nothing
: () =>
this.handleTrackDblClick(
trackIndex,
)}
@contextmenu=${isPhantom
? (e: MouseEvent) =>
this.handlePhantomContextMenu(
e,
trackIndex,
)
: (e: MouseEvent) =>
this.handleTrackContextMenu(
e,
trackIndex,
)}
@dragstart=${isPhantom
? nothing
: (e: DragEvent) =>
this.onTrackDragStart(
e,
track,
trackIndex,
)}
@dragend=${isPhantom
? nothing
: this.onTrackDragEnd}
>
${isPhantom
? html`
${track.FilePath}
`
: html`
${trackIndex + 1}
${track.Title || track.FilePath}
${track.Artist}
${track.Album}
${formatMilliseconds(track.Duration)}`}
`;
},
)}
`;
}
private renderContextMenu() {
return html`
`;
}
}
declare global {
interface HTMLElementTagNameMap {
'playlist-details': PlaylistDetails;
}
}