${this.renderTrackList()}
`
: html`
No tracks match the current rules.
Configure rules and click Refresh.
`}
`}
${this.renderContextMenu()}
this.onRowKeydown(e, trackIndex)}
draggable=${isPhantom ? 'false' : 'true'}
@click=${(e: MouseEvent) =>
this.handleTrackClick(
e,
trackIndex,
)}
@dblclick=${isPhantom
? nothing
: () =>
this.handleTrackDblClick(
trackIndex,
)}
@contextmenu=${isPhantom
? nothing
: (e: MouseEvent) =>
this.handleTrackContextMenu(
e,
trackIndex,
)}
@dragstart=${isPhantom
? nothing
: (e: DragEvent) =>
this.onTrackDragStart(
e,
track,
trackIndex,
)}
@dragend=${isPhantom
? nothing
: this.onTrackDragEnd}
>
${this.swipe.renderReveal(trackIndex)}
${isPhantom
? html`
${track.FilePath}
`
: html`
${trackIndex + 1}
${track.CoverArtSmall || track.CoverArtMedium
? html`

`
: nothing}
${trackLink(track.Title, track.Album, track.ReleaseGroupMBID, track.RecordingMBID, undefined, track.Artist) || track.FilePath}
${creditLink(creditStore.credits(track.RecordingMBID), track.Artist, track.ArtistMBID)}
${albumLink(track.Album, track.ReleaseGroupMBID, undefined, track.Artist)}
${formatMilliseconds(track.Duration)}`}
`;
}
private renderContextMenu() {
return html`
`;
}
}
declare global {
interface HTMLElementTagNameMap {
'smart-playlist-details': SmartPlaylistDetails;
}
}