web/res/metadataplayer/Annotation.js
author Raphael Velt <raph.velt@gmail.com>
Fri, 25 Jan 2013 18:49:33 +0100
changeset 778 525f00c2d6ac
parent 726 d82d070cf23e
child 792 66ae5723b2de
permissions -rw-r--r--
Metadataplayer bugfixes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
654
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
     1
// TODO: Migrate Timeupdate functions to Extract
598
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
     2
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
     3
IriSP.Widgets.Annotation = function(player, config) {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
     4
    IriSP.Widgets.Widget.call(this, player, config);
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
     5
    this.lastAnnotation = false;
654
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
     6
    this.minimized = this.start_minimized || false;
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
     7
    this.bounds = [ 0, 0 ];
598
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
     8
};
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
     9
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    10
IriSP.Widgets.Annotation.prototype = new IriSP.Widgets.Widget();
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    11
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    12
IriSP.Widgets.Annotation.prototype.messages = {
654
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
    13
    fr: {
598
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    14
        watching: "Je regarde ",
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    15
        on_site: " sur ",
654
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
    16
        tags_: "Mots-clés&nbsp;:",
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
    17
        description_: "Description&nbsp;:",
719
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    18
        excerpt_from: "Extrait de&nbsp;:",
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    19
        untitled: "Segment sans titre"
598
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    20
    },
654
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
    21
    en: {
598
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    22
        watching: "I'm watching ",
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    23
        on_site: " on ",
654
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
    24
        tags_: "Keywords:",
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
    25
        description_: "Description:",
719
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    26
        excerpt_from: "Excerpt from:",
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    27
        untitled: "Untitled segment"
598
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    28
    }
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    29
}
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    30
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    31
IriSP.Widgets.Annotation.prototype.template =
694
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    32
    '{{#show_arrow}}<div class="Ldt-Annotation-Arrow"></div>{{/show_arrow}}'
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    33
    + '<div class="Ldt-Annotation-Widget {{^show_arrow}}Ldt-Annotation-ShowTop{{/show_arrow}}">'
654
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
    34
    + '<div class="Ldt-Annotation-Inner Ldt-Annotation-Empty{{#start_minimized}} Ldt-Annotation-Minimized{{/start_minimized}}">'
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
    35
    + '<div class="Ldt-Annotation-HiddenWhenEmpty Ldt-Annotation-MaxMinButton"></div>'
719
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    36
    + '{{#show_social}}<div class="Ldt-Annotation-Social Ldt-Annotation-HiddenWhenMinimized Ldt-Annotation-HiddenWhenEmpty"></div>{{/show_social}}'
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    37
    + '<h3 class="Ldt-Annotation-HiddenWhenEmpty">{{#show_annotation_type}}<span class="Ldt-Annotation-Type"></span> » {{/show_annotation_type}}<span class="Ldt-Annotation-Title"></span> <span class="Ldt-Annotation-Time Ldt-Annotation-HiddenWhenMinimized">'
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    38
    + '(<span class="Ldt-Annotation-Begin"></span> - <span class="Ldt-Annotation-End"></span>)</span></h3>'
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    39
    + '<h3 class="Ldt-Annotation-MashupOrigin Ldt-Annotation-HiddenWhenEmpty">{{l10n.excerpt_from}} <span class="Ldt-Annotation-MashupMedia"></span> <span class="Ldt-Annotation-Time Ldt-Annotation-HiddenWhenMinimized">'
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    40
    + '(<span class="Ldt-Annotation-MashupBegin"></span> - <span class="Ldt-Annotation-MashupEnd"></span>)</span></h3>'
654
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
    41
    + '<div class="Ldt-Annotation-Cleared Ldt-Annotation-HiddenWhenMinimized Ldt-Annotation-HiddenWhenEmpty Ldt-Annotation-Description-Block"><div class="Ldt-Annotation-Label">{{l10n.description_}}</div>'
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
    42
    + '<p class="Ldt-Annotation-Labelled Ldt-Annotation-Description"></p></div>'
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
    43
    + '<div class="Ldt-Annotation-Tags-Block Ldt-Annotation-HiddenWhenMinimized Ldt-Annotation-HiddenWhenEmpty Ldt-Annotation-Cleared">'
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
    44
    + '<div class="Ldt-Annotation-Label">{{l10n.tags_}}</div><ul class="Ldt-Annotation-Labelled Ldt-Annotation-Tags"></ul>'
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
    45
    + '</div></div></div></div>';
598
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    46
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    47
IriSP.Widgets.Annotation.prototype.defaults = {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    48
    annotation_type : "chap",
654
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
    49
    start_minimized: false,
694
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    50
    show_arrow : true,
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    51
    site_name : "Lignes de Temps",
719
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    52
    search_on_tag_click: true,
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    53
    show_social: true,
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    54
    show_annotation_type: false
598
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    55
}
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    56
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    57
IriSP.Widgets.Annotation.prototype.draw = function() {
694
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    58
    
719
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    59
    var _this = this,
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    60
        currentAnnotation;
694
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    61
    
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    62
    function timeupdate(_time) {
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    63
        var _list = _this.getWidgetAnnotationsAtTime();
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    64
        if (!_list.length) {
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    65
            _this.$.find(".Ldt-Annotation-Inner").addClass("Ldt-Annotation-Empty");
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    66
            if (_this.arrow) {
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    67
                _this.arrow.moveToTime(_time);
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    68
            }
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    69
            _this.bounds = [ _time, _time ];
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    70
            _this.sendBounds();
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    71
        }
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    72
    }
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    73
    
719
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    74
    function highlightTitleAndDescription() {
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    75
        if (!currentAnnotation) {
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    76
            return;
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    77
        }
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    78
        var title = currentAnnotation.title,
778
525f00c2d6ac Metadataplayer bugfixes
Raphael Velt <raph.velt@gmail.com>
parents: 726
diff changeset
    79
            description = currentAnnotation.description.replace(/(^\s+|\s+$)/g,''),
525f00c2d6ac Metadataplayer bugfixes
Raphael Velt <raph.velt@gmail.com>
parents: 726
diff changeset
    80
            rx = (currentAnnotation.found ? (_this.source.getAnnotations().regexp || false) : false);
525f00c2d6ac Metadataplayer bugfixes
Raphael Velt <raph.velt@gmail.com>
parents: 726
diff changeset
    81
        _this.$.find(".Ldt-Annotation-Title").html(IriSP.textFieldHtml(title,rx)  || "(" + _this.l10n.untitled + ")");
719
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    82
        if (description) {
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    83
            _this.$.find(".Ldt-Annotation-Description-Block").removeClass("Ldt-Annotation-EmptyBlock");
778
525f00c2d6ac Metadataplayer bugfixes
Raphael Velt <raph.velt@gmail.com>
parents: 726
diff changeset
    84
            _this.$.find(".Ldt-Annotation-Description").html(IriSP.textFieldHtml(description,rx));
719
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    85
        } else {
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    86
            _this.$.find(".Ldt-Annotation-Description-Block").addClass("Ldt-Annotation-EmptyBlock");
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    87
        }
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    88
    }
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    89
    
694
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    90
    function drawAnnotation(_annotation) {
719
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
    91
        currentAnnotation = _annotation;
694
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    92
        var _url = (typeof _annotation.url !== "undefined" 
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    93
                ? _annotation.url
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    94
                : (document.location.href.replace(/#.*$/,'') + '#id='  + _annotation.id)),
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    95
            _text = _this.l10n.watching + _annotation.title + (_this.site_name ? _this.l10n.on_site + _this.site_name : ''),
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    96
            _tags = _annotation.getTags(),
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    97
            _tagblock = _this.$.find(".Ldt-Annotation-Tags");
726
d82d070cf23e Update MetaDataPlayer
Raphael Velt <raph.velt@gmail.com>
parents: 719
diff changeset
    98
        _tagblock.empty();
694
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
    99
        if (_tags.length) {
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   100
            _this.$.find(".Ldt-Annotation-Tags-Block").removeClass("Ldt-Annotation-EmptyBlock");
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   101
            _tags.forEach(function(_tag) {
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   102
                var _trimmedTitle =  _tag.title.replace(/(^\s+|\s+$)/g,'');
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   103
                if (_trimmedTitle) {
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   104
                    var _el = IriSP.jQuery('<li class="Ldt-Annotation-TagLabel"></li>').append(IriSP.jQuery('<span>').text(_trimmedTitle));
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   105
                    _el.click(function() {
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   106
                        if (_this.search_on_tag_click) {
719
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
   107
                            _this.source.getAnnotations().search(_trimmedTitle);
694
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   108
                        }
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   109
                        _tag.trigger("click");
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   110
                    });
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   111
                    _tagblock.append(_el);
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   112
                }
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   113
            });
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   114
        } else {
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   115
            _this.$.find(".Ldt-Annotation-Tags-Block").addClass("Ldt-Annotation-EmptyBlock");
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   116
        }
719
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
   117
        highlightTitleAndDescription();
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
   118
        if (_this.show_annotation_type) {
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
   119
            _this.$.find(".Ldt-Annotation-Type").text(_annotation.getAnnotationType().title)
694
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   120
        }
719
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
   121
        _this.$.find(".Ldt-Annotation-Begin").text(_annotation.begin.toString());
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
   122
        _this.$.find(".Ldt-Annotation-End").text(_annotation.end.toString());
694
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   123
        if (_annotation.elementType === "mashedAnnotation") {
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   124
            _this.$.find('.Ldt-Annotation-Inner').addClass("Ldt-Annotation-isMashup");
719
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
   125
            _this.$.find(".Ldt-Annotation-MashupMedia").text(_annotation.getMedia().title);
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
   126
            _this.$.find(".Ldt-Annotation-MashupBegin").text(_annotation.annotation.begin.toString());
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
   127
            _this.$.find(".Ldt-Annotation-MashupEnd").text(_annotation.annotation.end.toString());
694
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   128
        } else {
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   129
            _this.$.find('.Ldt-Annotation-Inner').removeClass("Ldt-Annotation-isMashup");
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   130
        }
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   131
        if (typeof _this.socialWidget !== "undefined") {
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   132
            _this.socialWidget.updateUrls(_url, _text);
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   133
        } else {
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   134
            setTimeout(function() {
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   135
                if (typeof _this.socialWidget !== "undefined") {
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   136
                    _this.socialWidget.updateUrls(_url, _text);
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   137
                }
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   138
            },800);
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   139
        }
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   140
        _this.$.find(".Ldt-Annotation-Inner").removeClass("Ldt-Annotation-Empty");
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   141
        _this.bounds = [ _annotation.begin, _annotation.end ];
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   142
        if (_this.arrow) {
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   143
            _this.arrow.moveToTime((_annotation.begin + _annotation.end)/2);
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   144
        }
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   145
        _this.sendBounds();
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   146
    }
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   147
    
598
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   148
    this.renderTemplate();
719
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
   149
    
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
   150
    if (this.show_social) {
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
   151
        this.insertSubwidget(this.$.find(".Ldt-Annotation-Social"), { type: "Social" }, "socialWidget");
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
   152
    }
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
   153
    
778
525f00c2d6ac Metadataplayer bugfixes
Raphael Velt <raph.velt@gmail.com>
parents: 726
diff changeset
   154
    this.insertSubwidget(this.$.find(".Ldt-Annotation-Arrow"), { type: "Arrow", width: this.width }, "arrow");
694
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   155
    this.onMediaEvent("timeupdate",timeupdate);
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   156
    this.onMdpEvent("Annotation.hide","hide");
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   157
    this.onMdpEvent("Annotation.show","show");
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   158
    this.onMdpEvent("Annotation.minimize","minimize");
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   159
    this.onMdpEvent("Annotation.maximize","maximize");
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   160
    this.onMdpEvent("Annotation.getBounds","sendBounds");
654
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
   161
    this.$.find(".Ldt-Annotation-MaxMinButton").click(this.functionWrapper("toggleSize"));
694
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   162
    this.getWidgetAnnotations().forEach(function(_a) {
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   163
        _a.on("enter", function() {
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   164
            drawAnnotation(_a)
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   165
        });
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   166
    });
719
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
   167
    this.source.getAnnotations().on("found", highlightTitleAndDescription);
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
   168
    this.source.getAnnotations().on("not-found", highlightTitleAndDescription);
d0d3a9369f84 Update Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 694
diff changeset
   169
    this.source.getAnnotations().on("search-cleared", highlightTitleAndDescription);
654
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
   170
}
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
   171
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
   172
IriSP.Widgets.Annotation.prototype.sendBounds = function() {
694
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   173
    this.player.trigger("Annotation.boundsChanged",this.bounds);
598
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   174
}
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   175
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   176
IriSP.Widgets.Annotation.prototype.drawAnnotation = function(_annotation) {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   177
    this.lastAnnotation = _annotation.id;
694
e9400c80e1e4 Updated Metadataplayer
Raphael Velt <raph.velt@gmail.com>
parents: 654
diff changeset
   178
598
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   179
}
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   180
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   181
IriSP.Widgets.Annotation.prototype.hide = function() {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   182
    this.$.slideUp();
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   183
}
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   184
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   185
IriSP.Widgets.Annotation.prototype.show = function() {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   186
    this.$.slideDown();
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   187
}
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   188
654
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
   189
IriSP.Widgets.Annotation.prototype.toggleSize = function() {
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
   190
    if (this.minimized) {
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
   191
        this.maximize();
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
   192
    } else {
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
   193
        this.minimize();
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
   194
    }
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
   195
}
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
   196
598
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   197
IriSP.Widgets.Annotation.prototype.minimize = function() {
654
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
   198
    this.minimized = true;
598
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   199
    this.$.find('.Ldt-Annotation-Inner').addClass("Ldt-Annotation-Minimized");
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   200
}
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   201
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   202
IriSP.Widgets.Annotation.prototype.maximize = function() {
654
a5977736d2b0 Corrected metadataplayer bug
Raphael Velt <raph.velt@gmail.com>
parents: 638
diff changeset
   203
    this.minimized = false;
598
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   204
    this.$.find('.Ldt-Annotation-Inner').removeClass("Ldt-Annotation-Minimized");
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   205
}