2020-01-20 19:55:51 +01:00
|
|
|
class VideoViewer {
|
|
|
|
viewer = null;
|
|
|
|
file = null;
|
|
|
|
next = null;
|
|
|
|
|
|
|
|
vidContainer = null;
|
|
|
|
vidElement = null;
|
|
|
|
videoSource = null;
|
|
|
|
|
2020-01-21 15:33:09 +01:00
|
|
|
constructor(viewer, file, next) {let v = this;
|
|
|
|
v.viewer = viewer;
|
|
|
|
v.file = file;
|
|
|
|
v.next = next;
|
2020-01-20 19:55:51 +01:00
|
|
|
|
2020-01-21 15:33:09 +01:00
|
|
|
v.vidContainer = document.createElement("div");
|
|
|
|
v.vidContainer.classList = "image-container";
|
2020-01-20 19:55:51 +01:00
|
|
|
|
2020-01-21 15:33:09 +01:00
|
|
|
v.vidElement = document.createElement("video");
|
|
|
|
v.vidElement.autoplay = "autoplay";
|
|
|
|
v.vidElement.controls = "controls";
|
|
|
|
v.vidElement.classList = "center drop-shadow";
|
|
|
|
v.vidElement.addEventListener("ended", () => { v.next(); }, false);
|
2020-01-20 19:55:51 +01:00
|
|
|
|
2020-01-21 15:33:09 +01:00
|
|
|
v.videoSource = document.createElement("source");
|
|
|
|
v.videoSource.src = apiEndpoint+"/file/"+v.file.id;
|
2020-01-20 19:55:51 +01:00
|
|
|
|
2020-01-21 15:33:09 +01:00
|
|
|
v.vidElement.appendChild(v.videoSource);
|
|
|
|
v.vidContainer.appendChild(v.vidElement);
|
2020-01-20 19:55:51 +01:00
|
|
|
}
|
|
|
|
|
2020-01-21 15:33:09 +01:00
|
|
|
render(parent) {let v = this;
|
|
|
|
parent.appendChild(v.vidContainer);
|
2020-01-20 19:55:51 +01:00
|
|
|
}
|
|
|
|
}
|