Browse Source

Fix playlist with links in track notes

main
Matt Baer 4 years ago
parent
commit
b952bbfbc4
2 changed files with 12 additions and 22 deletions
  1. +6
    -11
      templates.go
  2. +6
    -11
      templates/parts.tmpl

+ 6
- 11
templates.go View File

@@ -75,7 +75,7 @@ var files = map[string]string{
<ol id="playlist"> <ol id="playlist">
{{range $i, $el := .}} {{range $i, $el := .}}
<li{{if eq $i 0}} class="active"{{end}}> <li{{if eq $i 0}} class="active"{{end}}>
<a href="{{$el.Filename}}">{{$el.Artist}} - {{$el.Title}}</a>
<a class="track" href="{{$el.Filename}}">{{$el.Artist}} - {{$el.Title}}</a>
{{template "track-info" $el}} {{template "track-info" $el}}
</li> </li>
{{end}} {{end}}
@@ -97,14 +97,13 @@ var files = map[string]string{
var current = 0; var current = 0;
var $audio = $('#player'); var $audio = $('#player');
var $playlist = $('#playlist'); var $playlist = $('#playlist');
var $tracks = $playlist.find('li a');
var $tracks = $playlist.find('li a.track');
var len = $tracks.length; var len = $tracks.length;


$playlist.on('click', 'a', function (e) {
$playlist.on('click', 'a.track', function (e) {
e.preventDefault(); e.preventDefault();
link = $(this); link = $(this);
current = link.parent().index(); current = link.parent().index();
console.log(current);
play(link, $audio[0]); play(link, $audio[0]);
}); });
$audio[0].addEventListener('ended', function (e) { $audio[0].addEventListener('ended', function (e) {
@@ -122,11 +121,9 @@ var files = map[string]string{
function playPrev() { function playPrev() {
current--; current--;
if (current <= 0) { if (current <= 0) {
current = len;
link = $playlist.find('a')[0];
} else {
link = $playlist.find('a')[current];
current = len - 1;
} }
link = $playlist.find('a.track')[current];
play($(link), $audio[0]); play($(link), $audio[0]);
} }


@@ -134,10 +131,8 @@ var files = map[string]string{
current++; current++;
if (current == len) { if (current == len) {
current = 0; current = 0;
link = $playlist.find('a')[0];
} else {
link = $playlist.find('a')[current];
} }
link = $playlist.find('a.track')[current];
play($(link), $audio[0]); play($(link), $audio[0]);
} }




+ 6
- 11
templates/parts.tmpl View File

@@ -9,7 +9,7 @@
<ol id="playlist"> <ol id="playlist">
{{range $i, $el := .}} {{range $i, $el := .}}
<li{{if eq $i 0}} class="active"{{end}}> <li{{if eq $i 0}} class="active"{{end}}>
<a href="{{$el.Filename}}">{{$el.Artist}} - {{$el.Title}}</a>
<a class="track" href="{{$el.Filename}}">{{$el.Artist}} - {{$el.Title}}</a>
{{template "track-info" $el}} {{template "track-info" $el}}
</li> </li>
{{end}} {{end}}
@@ -31,14 +31,13 @@
var current = 0; var current = 0;
var $audio = $('#player'); var $audio = $('#player');
var $playlist = $('#playlist'); var $playlist = $('#playlist');
var $tracks = $playlist.find('li a');
var $tracks = $playlist.find('li a.track');
var len = $tracks.length; var len = $tracks.length;


$playlist.on('click', 'a', function (e) {
$playlist.on('click', 'a.track', function (e) {
e.preventDefault(); e.preventDefault();
link = $(this); link = $(this);
current = link.parent().index(); current = link.parent().index();
console.log(current);
play(link, $audio[0]); play(link, $audio[0]);
}); });
$audio[0].addEventListener('ended', function (e) { $audio[0].addEventListener('ended', function (e) {
@@ -56,11 +55,9 @@
function playPrev() { function playPrev() {
current--; current--;
if (current <= 0) { if (current <= 0) {
current = len;
link = $playlist.find('a')[0];
} else {
link = $playlist.find('a')[current];
current = len - 1;
} }
link = $playlist.find('a.track')[current];
play($(link), $audio[0]); play($(link), $audio[0]);
} }


@@ -68,10 +65,8 @@
current++; current++;
if (current == len) { if (current == len) {
current = 0; current = 0;
link = $playlist.find('a')[0];
} else {
link = $playlist.find('a')[current];
} }
link = $playlist.find('a.track')[current];
play($(link), $audio[0]); play($(link), $audio[0]);
} }




Loading…
Cancel
Save