src/widgets/SlidePreview.js
changeset 1068 7623f9af9272
child 1072 ac1eacb3aa33
equal deleted inserted replaced
1067:539c9bee5372 1068:7623f9af9272
       
     1 IriSP.Widgets.SlidePreview = function(player, config) {
       
     2     IriSP.Widgets.Widget.call(this, player, config);
       
     3 }
       
     4 
       
     5 IriSP.Widgets.SlidePreview.prototype = new IriSP.Widgets.Widget();
       
     6 
       
     7 IriSP.Widgets.SlidePreview.prototype.defaults = {
       
     8     annotation_type: "Slides"
       
     9 }
       
    10 
       
    11 IriSP.Widgets.SlidePreview.prototype.template = '<div class="Ldt-SlidePreview-Container"><div class="Ldt-SlidePreview-Slides"></div></div>';
       
    12 
       
    13 IriSP.Widgets.SlidePreview.prototype.annotationTemplate = '<div data-id="{{ id }}" data-timecode="{{ ms }}" class="Ldt-SlidePreview-Item"><img title="{{ begin }} - {{ atitle }}" class="Ldt-AnnotationsList-Thumbnail" src="{{ thumbnail }}"></div>';
       
    14 
       
    15 IriSP.Widgets.SlidePreview.prototype.draw = function() {
       
    16     var _annotations = this.getWidgetAnnotations().sortBy(function(_annotation) {
       
    17         return _annotation.begin;
       
    18     });
       
    19     var _this = this;
       
    20     _this.renderTemplate();
       
    21     var content = _this.$.find('.Ldt-SlidePreview-Slides');
       
    22 
       
    23     this.getWidgetAnnotations().forEach(function(_a) {
       
    24         var _data = {
       
    25             id : _a.id,
       
    26             content : IriSP.textFieldHtml(_a.title),
       
    27             begin : _a.begin.toString(),
       
    28             ms: _a.begin.milliseconds,
       
    29             thumbnail: _a.thumbnail
       
    30             };
       
    31         var _html = Mustache.to_html(_this.annotationTemplate, _data);
       
    32         var _el = IriSP.jQuery(_html);
       
    33         content.append(_el);
       
    34     });
       
    35     _this.$.on("click", ".Ldt-SlidePreview-Item", function () {
       
    36         _this.media.setCurrentTime(Number(this.dataset.timecode));
       
    37     });
       
    38 };