diff -r 539c9bee5372 -r 7623f9af9272 src/widgets/SlideVideoPlayer.js --- a/src/widgets/SlideVideoPlayer.js Fri Sep 25 14:45:38 2015 +0200 +++ b/src/widgets/SlideVideoPlayer.js Fri Oct 02 11:27:17 2015 +0200 @@ -7,12 +7,16 @@ IriSP.Widgets.SlideVideoPlayer.prototype.defaults = { + playerModule: "HtmlPlayer", + // mode is either "sidebyside" or "pip" + mode: "sidebyside" }; IriSP.Widgets.SlideVideoPlayer.prototype.template = '
\ -
\ -
\ -
\ +
\ +
\ +
\ +
\
'; IriSP.Widgets.SlideVideoPlayer.prototype.draw = function() { @@ -23,24 +27,60 @@ _this.$.find(".Ldt-SlideVideoPlayer-panel.Ldt-SlideVideoPlayer-slide"), { type: "ImageDisplay", - annotation_type: _this.annotation_type, - width: '100%' + annotation_type: _this.annotation_type }, "slide" ); this.insertSubwidget( _this.$.find(".Ldt-SlideVideoPlayer-panel.Ldt-SlideVideoPlayer-video"), { - type: "HtmlPlayer", + type: _this.playerModule, video: _this.video, width: '100%', url_transform: _this.url_transform }, "player" - ); - // FIXME: this should be better implemented through a signal sent - // when widgets are ready (and not just loaded) - window.setTimeout(function () { - _this.$.find(".Ldt-SlideVideoPlayer").split({ orientation: 'vertical' }); - }, 1000); + ); + + if (_this.mode == 'pip') { + _this.$.find(".Ldt-SlideVideoPlayer-panel").append('
'); + _this.$.on("click", ".Ldt-SlideVideoPlayer-pip-menu-toggle", function () { + _this.toggleMainDisplay(); + }); + window.setTimeout(function () { + _this.setMainDisplay('video'); + }, 1500); + } else { + // Default : side by side + // FIXME: this should be better implemented through a signal sent + // when widgets are ready (and not just loaded) + window.setTimeout(function () { + _this.$.find(".Ldt-SlideVideoPlayer").touchSplit({ orientation: (screen.height > screen.width) ? 'vertical' : 'horizontal', + leftMin: 20, + topMin: 20 + }); + }, 1500); + } +}; + +IriSP.Widgets.SlideVideoPlayer.prototype.toggleMainDisplay = function() { + if (this.$.find(".Ldt-SlideVideoPlayer-panel.Ldt-SlideVideoPlayer-video").hasClass("Ldt-SlideVideoPlayer-pip-main")) { + this.setMainDisplay('slides'); + } else { + this.setMainDisplay('video'); + } +}; + +// Set main display (in case of a "switch" display mode) +// main is either 'video' or 'slides' +IriSP.Widgets.SlideVideoPlayer.prototype.setMainDisplay = function(video_or_slides) { + var main = this.$.find(".Ldt-SlideVideoPlayer-panel.Ldt-SlideVideoPlayer-video"); + var pip = this.$.find(".Ldt-SlideVideoPlayer-panel.Ldt-SlideVideoPlayer-slide"); + if (video_or_slides == 'slides') { + var temp = main; + main = pip; + pip = temp; + }; + main.removeClass('Ldt-SlideVideoPlayer-pip-pip').addClass('Ldt-SlideVideoPlayer-pip-main'); + pip.removeClass('Ldt-SlideVideoPlayer-pip-main').addClass('Ldt-SlideVideoPlayer-pip-pip'); }