|
|
|
@ -10,14 +10,22 @@ class Controller {
|
|
|
|
|
let video = document.getElementById("video");
|
|
|
|
|
|
|
|
|
|
if (videoToLoad != null && videoToLoad != "") {
|
|
|
|
|
this.loadVideo(videoToLoad).then(
|
|
|
|
|
function () {
|
|
|
|
|
video.addEventListener(
|
|
|
|
|
"loadedmetadata",
|
|
|
|
|
this.model.loadXml(videoToLoad).then(
|
|
|
|
|
function (v) {
|
|
|
|
|
let comments = this.model.parseXML(v);
|
|
|
|
|
let videoFileName = this.model.getVideoFileName(v);
|
|
|
|
|
this.view.drawCommentTitles(comments);
|
|
|
|
|
this.addEventListeners();
|
|
|
|
|
this.loadVideo(videoFileName).then(
|
|
|
|
|
function () {
|
|
|
|
|
this.view.videoPlayer.updateVideoDuration();
|
|
|
|
|
this.addEventListenersToVideoControls();
|
|
|
|
|
this.init(videoToLoad);
|
|
|
|
|
video.addEventListener(
|
|
|
|
|
"loadedmetadata",
|
|
|
|
|
function () {
|
|
|
|
|
this.view.videoPlayer.updateVideoDuration();
|
|
|
|
|
this.view.drawCommentsToVideo(comments);
|
|
|
|
|
this.addEventListenersToVideoControls();
|
|
|
|
|
}.bind(this)
|
|
|
|
|
);
|
|
|
|
|
}.bind(this)
|
|
|
|
|
);
|
|
|
|
|
}.bind(this)
|
|
|
|
@ -28,21 +36,14 @@ class Controller {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
init(videoToLoad) {
|
|
|
|
|
this.loadXml(videoToLoad).then(
|
|
|
|
|
function (v) {
|
|
|
|
|
this.view.drawCommentTitles(v);
|
|
|
|
|
this.addEventListeners();
|
|
|
|
|
this.view.drawCommentsToVideo(v);
|
|
|
|
|
}.bind(this)
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
addEventListenersToAddVideo() {
|
|
|
|
|
let form = document.getElementById("form");
|
|
|
|
|
form.addEventListener("submit", function () {
|
|
|
|
|
document.getElementById("xmlFile").value = this.view.editor.getValue();
|
|
|
|
|
}.bind(this));
|
|
|
|
|
form.addEventListener(
|
|
|
|
|
"submit",
|
|
|
|
|
function () {
|
|
|
|
|
document.getElementById("xmlFile").value = this.view.editor.getValue();
|
|
|
|
|
}.bind(this)
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Přidání listenerů
|
|
|
|
@ -121,28 +122,13 @@ class Controller {
|
|
|
|
|
|
|
|
|
|
video.classList.remove("hidden");
|
|
|
|
|
|
|
|
|
|
source.setAttribute("src", "./videos/" + v + ".webm");
|
|
|
|
|
source.setAttribute("src", "./videos/" + v);
|
|
|
|
|
video.append(source);
|
|
|
|
|
|
|
|
|
|
await video.load();
|
|
|
|
|
this.view.createVideoPlayerObject();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async loadXml(v) {
|
|
|
|
|
var Connect = new XMLHttpRequest();
|
|
|
|
|
// Define which file to open and
|
|
|
|
|
// send the request.
|
|
|
|
|
Connect.open("GET", "./videos/" + v + ".xml", false);
|
|
|
|
|
Connect.setRequestHeader("Content-Type", "text/xml");
|
|
|
|
|
Connect.send(null);
|
|
|
|
|
// Place the response in an XML document.
|
|
|
|
|
var TheDocument = Connect.responseText;
|
|
|
|
|
// Place the root node in an element.
|
|
|
|
|
// var Customers = TheDocument.childNodes[0];
|
|
|
|
|
|
|
|
|
|
return this.model.parseXML(TheDocument);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
getActiveComment() {
|
|
|
|
|
const video = document.getElementById("video");
|
|
|
|
|
let currentTime = video.currentTime;
|
|
|
|
|