added basic 'scrolling' through a moment with a range input
This commit is contained in:
parent
b6dcd6a93b
commit
e4102dccb9
3 changed files with 30 additions and 3 deletions
4
main.go
4
main.go
|
|
@ -218,7 +218,6 @@ func (server Server) streamRecordings(w http.ResponseWriter, r *http.Request) {
|
||||||
if i == 0 {
|
if i == 0 {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
log.Println(i)
|
|
||||||
previousImage := images[i-1]
|
previousImage := images[i-1]
|
||||||
previousTime, err := time.Parse(timeLayout, previousImage.Name())
|
previousTime, err := time.Parse(timeLayout, previousImage.Name())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
@ -254,7 +253,7 @@ func (server Server) streamRecordings(w http.ResponseWriter, r *http.Request) {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
momentsTemplate.Execute(w, struct {
|
err = momentsTemplate.Execute(w, struct {
|
||||||
Streams map[string]*Stream
|
Streams map[string]*Stream
|
||||||
Moments [][]string
|
Moments [][]string
|
||||||
Stream *Stream
|
Stream *Stream
|
||||||
|
|
@ -265,6 +264,7 @@ func (server Server) streamRecordings(w http.ResponseWriter, r *http.Request) {
|
||||||
stream,
|
stream,
|
||||||
watchArea,
|
watchArea,
|
||||||
})
|
})
|
||||||
|
log.Println(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|
|
||||||
15
static/js/moments.js
Executable file
15
static/js/moments.js
Executable file
|
|
@ -0,0 +1,15 @@
|
||||||
|
let current_moment = null;
|
||||||
|
|
||||||
|
document.addEventListener("DOMContentLoaded", function(){
|
||||||
|
current_moment = moments[0];
|
||||||
|
|
||||||
|
let moment_current_image = document.getElementById("moment_current_image");
|
||||||
|
moment_current_image.src = "/streams/" + streamName + "/" + watchAreaName + "/" + current_moment[0];
|
||||||
|
let moment_slider = document.getElementById("moment_slider");
|
||||||
|
moment_slider.max = current_moment.length - 1;
|
||||||
|
moment_slider.value = 0;
|
||||||
|
|
||||||
|
moment_slider.addEventListener("change", e => {
|
||||||
|
moment_current_image.src = "/streams/" + streamName + "/" + watchAreaName + "/" + current_moment[moment_slider.value];
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
@ -3,9 +3,21 @@
|
||||||
<script src="/static/js/moments.js"></script>
|
<script src="/static/js/moments.js"></script>
|
||||||
{{end}}
|
{{end}}
|
||||||
{{define "content"}}
|
{{define "content"}}
|
||||||
|
|
||||||
|
<img src="#" id="moment_current_image">
|
||||||
|
<input type="range" min="0" max="1" value="0" id="moment_slider">
|
||||||
|
|
||||||
|
<script>
|
||||||
|
let streamName = "{{.Stream.Name}}";
|
||||||
|
let watchAreaName = "{{.WatchArea.Name}}";
|
||||||
|
let moments = [
|
||||||
{{range $moment := .Moments}}
|
{{range $moment := .Moments}}
|
||||||
|
[
|
||||||
{{range $image := $moment}}
|
{{range $image := $moment}}
|
||||||
<img src="/streams/{{$.Stream.Name}}/{{$.WatchArea.Name}}/{{$image}}">
|
'{{$image}}',
|
||||||
{{end}}
|
{{end}}
|
||||||
|
],
|
||||||
{{end}}
|
{{end}}
|
||||||
|
];
|
||||||
|
</script>
|
||||||
{{end}}
|
{{end}}
|
||||||
Loading…
Add table
Reference in a new issue