src/widgets/PlaceholderPlayer.js
changeset 1072 ac1eacb3aa33
parent 1013 392ddcd212d7
--- 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 = '<div class="Ldt-PlaceholderPlayer">(loading)</div>';
+    static template = '<div class="Ldt-PlaceholderPlayer">(loading)</div>';
 
-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 };