diff -r 5135ccbf5a5f -r ec4f33084f8d metadataplayer edwin/metadataplayer/MediaList.js --- a/metadataplayer edwin/metadataplayer/MediaList.js Tue Oct 02 18:20:08 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,136 +0,0 @@ -IriSP.Widgets.MediaList = function(player, config) { - IriSP.Widgets.Widget.call(this, player, config); - this.lastMedia = false; -}; - -IriSP.Widgets.MediaList.prototype = new IriSP.Widgets.Widget(); - -IriSP.Widgets.MediaList.prototype.messages = { - "fr": { - now_playing: "Média en cours", - all_media: "Tous les medias", - other_media: "Autres médias" - }, - "en": { - now_playing: "Now playing", - all_media: "All media", - other_media: "Other media" - } -} - -IriSP.Widgets.MediaList.prototype.defaults = { - default_thumbnail : "http://ldt.iri.centrepompidou.fr/static/site/ldt/css/imgs/video_sequence.png", - media_url_template : "http://ldt.iri.centrepompidou.fr/ldtplatform/ldt/front/player/{{media}}/", - default_color : "#000080" -}; - -IriSP.Widgets.MediaList.prototype.template = - '

{{l10n.now_playing}}


' - + '
' - + '' - + '

' - + '

' - + '


'; - -IriSP.Widgets.MediaList.prototype.mediaViewTemplate = - '
{{#segments}}
{{/segments}}'; - -IriSP.Widgets.MediaList.prototype.mediaTemplate = - '
  • ' - + '
    ' - + '

    {{title}}

    ' - + '

    {{description}}

    ' - + IriSP.Widgets.MediaList.prototype.mediaViewTemplate + '
  • '; - - -IriSP.Widgets.MediaList.prototype.onSearch = function(searchString) { - this.searchString = typeof searchString !== "undefined" ? searchString : ''; - var _n = this.refresh(true); - if (this.searchString) { - if (_n) { - this.player.popcorn.trigger("IriSP.search.matchFound"); - } else { - this.player.popcorn.trigger("IriSP.search.noMatchFound"); - } - } -} - -IriSP.Widgets.MediaList.prototype.draw = function() { - this.bindPopcorn("timeupdate","onTimeupdate"); - this.$.addClass("Ldt-MediaListWidget") - this.renderTemplate(); - this.redraw(); -}; - -IriSP.Widgets.MediaList.prototype.getSegments = function(_media) { - var _this = this, - _scale = this.$.width()/_media.duration.milliseconds; - return this.getWidgetAnnotations() - .filter(function(_annotation) { - return _annotation.getMedia().id == _media.id; - }) - .map(function(_a) { - var _annotation = ( _a.type = "mashedAnnotation" ? _a.annotation : _a ); - return { - left: _scale * _annotation.begin, - width: _scale * (_annotation.end - _annotation.begin), - color: ( typeof _annotation.color !== "undefined" && _annotation.color ? _annotation.color : _this.default_color ) - } - }) -} - -IriSP.Widgets.MediaList.prototype.redraw = function(_media) { - if (typeof _media !== "undefined") { - this.$.find('.Ldt-MediaList-Other h2').html(this.l10n.other_media); - this.$.find('.Ldt-MediaList-NowPlaying').show(); - this.$.find('.Ldt-MediaList-Now-Thumbnail').attr("src", _media.thumbnail || this.default_thumbnail); - this.$.find('.Ldt-MediaList-Now-Title a').html(_media.title); - this.$.find('.Ldt-MediaList-Now-Description').html(_media.description); - var _url = _media.url || Mustache.to_html( - this.media_url_template, { - media: _media.id - }); - this.$.find('.Ldt-MediaList-NowContainer a').attr("href", _url); - var _mediaView = Mustache.to_html( this.mediaViewTemplate, { - segments: this.getSegments(_media) - }); - this.$.find('.Ldt-MediaList-Now-MediaView').html(_mediaView); - } else { - this.$.find('.Ldt-MediaList-Other h2').html(this.l10n.all_media); - this.$.find('.Ldt-MediaList-NowPlaying').hide(); - } - var _this = this, - _otherlist = this.source.getMedias().filter(function(_m) { - return (_m.id !== _this.lastMedia) - }); - if (_otherlist.length) { - this.$.find('.Ldt-MediaList-Other').show(); - var _html = _otherlist.map(function(_media) { - return Mustache.to_html(_this.mediaTemplate, { - thumbnail: _media.thumbnail || _this.default_thumbnail, - url: _media.url || Mustache.to_html( - _this.media_url_template, { - media: _media.id - }), - title: _media.title, - description: _media.description, - segments: _this.getSegments(_media) - }) - }).join(""); - this.$.find('.Ldt-MediaList-OtherList').html(_html); - } else { - this.$.find('.Ldt-MediaList-Other').hide(); - } -}; - -IriSP.Widgets.MediaList.prototype.onTimeupdate = function() { - var _media = this.source.currentMedia; - if (_media.elementType === "mashup") { - _media = _media.getMediaAtTime(this.player.popcorn.currentTime() * 1000); - } - if (typeof _media !== "undefined" && _media.id !== this.lastMedia) { - this.lastMedia = _media.id; - this.redraw(_media); - } -}