--- a/src/widgets/JwpPlayer.js Sun Nov 12 22:07:33 2017 +0100
+++ b/src/widgets/JwpPlayer.js Wed Sep 04 17:32:50 2024 +0200
@@ -1,122 +1,132 @@
-IriSP.Widgets.JwpPlayer = function(player, config) {
- IriSP.Widgets.Widget.call(this, player, config);
-};
+// JwpPlayer
-IriSP.Widgets.JwpPlayer.prototype = new IriSP.Widgets.Widget();
+import { Player } from "jwplayer";
-IriSP.Widgets.JwpPlayer.prototype.defaults = {
-};
+const JwpPlayerWidget = function (ns) {
+ return class extends ns.Widgets.Widget {
+ constructor(player, config) {
+ super(player, config);
+ }
-IriSP.Widgets.JwpPlayer.prototype.draw = function() {
-
- var _opts = {},
- _player = jwplayer(this.$[0]),
+ static defaults = {};
+
+ draw() {
+ var _opts = {},
+ _player = Player(this.$[0]),
_seekPause = false,
_pauseState = true;
-
- if (typeof this.video === "undefined") {
+
+ if (typeof this.video === "undefined") {
this.video = this.media.video;
- }
-
- _opts.file = this.video;
- _opts.flashplayer = IriSP.getLib("jwPlayerSWF");
- _opts.primary = "flash";
- _opts.fallback = false;
- _opts.controls = false;
- _opts.width = this.width;
- if (this.height) {
+ }
+
+ _opts.file = this.video;
+ _opts.primary = "flash";
+ _opts.fallback = false;
+ _opts.controls = false;
+ _opts.width = this.width;
+ if (this.height) {
_opts.height = this.height;
- }
-
- if (this.autostart) { // There seems to be an autostart bug
+ }
+
+ if (this.autostart) {
+ // There seems to be an autostart bug
//_opts.autostart = true;
//_pauseState = false;
//this.media.trigger("play");
- }
-
- if (this.url_transform) {
+ }
+
+ if (this.url_transform) {
_opts.file = this.url_transform(_opts.file);
- }
+ }
- // Binding functions to jwplayer
+ // Binding functions to jwplayer
- var _media = this.media;
-
- _media.on("setcurrenttime", function(_milliseconds) {
+ var _media = this.media;
+
+ _media.on("setcurrenttime", function (_milliseconds) {
_seekPause = _pauseState;
_player.seek(_milliseconds / 1000);
- });
-
- _media.on("setvolume", function(_vol) {
- _player.setVolume(Math.floor(_vol*100));
+ });
+
+ _media.on("setvolume", function (_vol) {
+ _player.setVolume(Math.floor(_vol * 100));
_media.volume = _vol;
- });
-
- _media.on("setmuted", function(_muted) {
+ });
+
+ _media.on("setmuted", function (_muted) {
_player.setMute(_muted);
_media.muted = _muted;
- });
-
- _media.on("setplay", function() {
+ });
+
+ _media.on("setplay", function () {
_player.play(true);
_media.paused = false;
- });
-
- _media.on("setpause", function() {
+ });
+
+ _media.on("setpause", function () {
_player.pause(true);
_media.paused = true;
- });
-
- // Binding jwplater events to media
-
- function getVolume() {
+ });
+
+ // Binding jwplater events to media
+
+ function getVolume() {
_media.muted = _player.getMute();
_media.volume = _player.getVolume() / 100;
- }
-
- _opts.events = {
- onReady: function() {
- getVolume();
- _media.currentTime = new IriSP.Model.Time(1000*_player.getPosition() || 0);
- _media.trigger("loadedmetadata");
+ }
+
+ _opts.events = {
+ onReady: function () {
+ getVolume();
+ _media.currentTime = new ns.Model.Time(
+ 1000 * _player.getPosition() || 0
+ );
+ _media.trigger("loadedmetadata");
},
- onTime: function(_progress) {
- if (_seekPause) {
- _player.pause(true);
- _seekPause = false;
- } else {
- if (_pauseState && _player.getState() === "PLAYING") {
- _pauseState = false;
- _media.trigger("play");
- }
+ onTime: function (_progress) {
+ if (_seekPause) {
+ _player.pause(true);
+ _seekPause = false;
+ } else {
+ if (_pauseState && _player.getState() === "PLAYING") {
+ _pauseState = false;
+ _media.trigger("play");
}
- _media.trigger("timeupdate", new IriSP.Model.Time(_progress.position * 1000));
+ }
+ _media.trigger(
+ "timeupdate",
+ new ns.Model.Time(_progress.position * 1000)
+ );
},
- onPlay: function() {
- if (!_seekPause) {
- _pauseState = false;
- _media.trigger("play");
- }
+ onPlay: function () {
+ if (!_seekPause) {
+ _pauseState = false;
+ _media.trigger("play");
+ }
},
- onPause: function() {
- _pauseState = true;
- _media.trigger("pause");
+ onPause: function () {
+ _pauseState = true;
+ _media.trigger("pause");
},
- onSeek: function() {
- _media.trigger("seeked");
+ onSeek: function () {
+ _media.trigger("seeked");
},
- onMute: function(_event) {
- _media.muted = _event.mute;
- _media.trigger("volumechange");
+ onMute: function (_event) {
+ _media.muted = _event.mute;
+ _media.trigger("volumechange");
+ },
+ onVolume: function (_event) {
+ _media.volume = _event.volume / 100;
+ _media.trigger("volumechange");
},
- onVolume: function(_event) {
- _media.volume = _event.volume / 100;
- _media.trigger("volumechange");
- }
- };
-
- _player = _player.setup(_opts);
-
- this.jwplayer = _player;
-
-};
\ No newline at end of file
+ };
+
+ _player = _player.setup(_opts);
+
+ this.jwplayer = _player;
+ }
+ };
+};
+
+export { JwpPlayerWidget as JwpPlayer };