diff -r 02c04d2c8fd8 -r ac1eacb3aa33 src/widgets/PlaceholderPlayer.js --- a/src/widgets/PlaceholderPlayer.js Sun Nov 12 22:07:33 2017 +0100 +++ b/src/widgets/PlaceholderPlayer.js Wed Sep 04 17:32:50 2024 +0200 @@ -1,69 +1,71 @@ /* This is a fake player, for when no video is available */ +import placeholderPlayerStyles from "./PlaceholderPlayer.module.css"; -IriSP.Widgets.PlaceholderPlayer = function(player, config) { - IriSP.Widgets.Widget.call(this, player, config); -}; - -IriSP.Widgets.PlaceholderPlayer.prototype = new IriSP.Widgets.Widget(); +const PlaceholderPlayer = function (ns) { + return class extends ns.Widgets.Widget { + constructor(player, config) { + super(player, config); + } -IriSP.Widgets.PlaceholderPlayer.prototype.defaults = { - autostart: false -}; + static defaults = { + autostart: false, + }; -IriSP.Widgets.PlaceholderPlayer.prototype.template = '
(loading)
'; + static template = '
(loading)
'; -IriSP.Widgets.PlaceholderPlayer.prototype.draw = function() { - - this.renderTemplate(); - - var paused = true, + draw() { + this.renderTemplate(); + + var paused = true, timeDelta = 0, - currentTime = new IriSP.Model.Time(0), + currentTime = new ns.Model.Time(0), media = this.media, sel = this.$.find(".Ldt-PlaceholderPlayer"); - - function updateTime() { + + function updateTime() { if (!paused) { - currentTime = new IriSP.Model.Time(new Date().valueOf() - timeDelta); - if (currentTime <= media.duration) { - media.trigger("timeupdate", currentTime); - setTimeout(updateTime, 100); - } else { - currentTime = media.duration; - media.pause(); - } + currentTime = new ns.Model.Time(new Date().valueOf() - timeDelta); + if (currentTime <= media.duration) { + media.trigger("timeupdate", currentTime); + setTimeout(updateTime, 100); + } else { + currentTime = media.duration; + media.pause(); + } } sel.text(currentTime.toString(true)); - } - - - // Binding functions to Popcorn - media.on("setcurrenttime", function(_milliseconds) { + } + + // Binding functions to Popcorn + media.on("setcurrenttime", function (_milliseconds) { timeDelta = new Date().valueOf() - _milliseconds; - currentTime = new IriSP.Model.Time(_milliseconds); + currentTime = new ns.Model.Time(_milliseconds); media.trigger("seeked"); media.trigger("timeupdate", currentTime); sel.text(currentTime.toString(true)); - }); - - media.on("setplay", function() { + }); + + media.on("setplay", function () { paused = false; - timeDelta = new Date().valueOf() - currentTime + timeDelta = new Date().valueOf() - currentTime; media.trigger("play"); updateTime(); - }); - - media.on("setpause", function() { + }); + + media.on("setpause", function () { paused = true; media.trigger("pause"); updateTime(); - }); - - media.trigger("loadedmetadata"); - media.trigger("setcurrenttime", 0); - - if (this.autostart) { + }); + + media.trigger("loadedmetadata"); + media.trigger("setcurrenttime", 0); + + if (this.autostart) { media.trigger("setplay"); + } } - -}; \ No newline at end of file + }; +}; + +export { PlaceholderPlayer, placeholderPlayerStyles };