src/widgets/Annotation.js
author ymh <ymh.work@gmail.com>
Fri, 02 Oct 2015 11:27:17 +0200
changeset 1068 7623f9af9272
parent 1033 c20df1c080e6
child 1072 ac1eacb3aa33
permissions -rw-r--r--
merge pull request #3 from O. Auber
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
924
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
     1
// TODO: Migrate Timeupdate functions to Extract
876
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
     2
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
     3
IriSP.Widgets.Annotation = function(player, config) {
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
     4
    IriSP.Widgets.Widget.call(this, player, config);
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
     5
    this.lastAnnotation = false;
923
b3ee7d1b472a UI improvements
veltr
parents: 922
diff changeset
     6
    this.minimized = this.start_minimized || false;
b3ee7d1b472a UI improvements
veltr
parents: 922
diff changeset
     7
    this.bounds = [ 0, 0 ];
876
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
     8
};
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
     9
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
    10
IriSP.Widgets.Annotation.prototype = new IriSP.Widgets.Widget();
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
    11
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
    12
IriSP.Widgets.Annotation.prototype.messages = {
923
b3ee7d1b472a UI improvements
veltr
parents: 922
diff changeset
    13
    fr: {
876
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
    14
        watching: "Je regarde ",
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
    15
        on_site: " sur ",
1002
a86208b60c91 Bugfixes and changes for MDComposer
veltr
parents: 996
diff changeset
    16
        tags_: "Mots-clés\u00a0:",
a86208b60c91 Bugfixes and changes for MDComposer
veltr
parents: 996
diff changeset
    17
        description_: "Description\u00a0:",
1009
ddbe31de8ad1 Added Creator to the Annotation Widget
veltr
parents: 1007
diff changeset
    18
        creator_: "Créé par\u00a0:",
1002
a86208b60c91 Bugfixes and changes for MDComposer
veltr
parents: 996
diff changeset
    19
        excerpt_from: "Extrait de\u00a0:",
982
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 965
diff changeset
    20
        untitled: "Segment sans titre"
876
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
    21
    },
923
b3ee7d1b472a UI improvements
veltr
parents: 922
diff changeset
    22
    en: {
876
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
    23
        watching: "I'm watching ",
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
    24
        on_site: " on ",
923
b3ee7d1b472a UI improvements
veltr
parents: 922
diff changeset
    25
        tags_: "Keywords:",
b3ee7d1b472a UI improvements
veltr
parents: 922
diff changeset
    26
        description_: "Description:",
1009
ddbe31de8ad1 Added Creator to the Annotation Widget
veltr
parents: 1007
diff changeset
    27
        creator_: "Created by\u00a0:",
982
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 965
diff changeset
    28
        excerpt_from: "Excerpt from:",
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 965
diff changeset
    29
        untitled: "Untitled segment"
876
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
    30
    }
1013
392ddcd212d7 Throwed in a bunch of semicolons
veltr
parents: 1009
diff changeset
    31
};
876
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
    32
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
    33
IriSP.Widgets.Annotation.prototype.template =
965
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
    34
    '{{#show_arrow}}<div class="Ldt-Annotation-Arrow"></div>{{/show_arrow}}'
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
    35
    + '<div class="Ldt-Annotation-Widget {{^show_arrow}}Ldt-Annotation-ShowTop{{/show_arrow}}">'
923
b3ee7d1b472a UI improvements
veltr
parents: 922
diff changeset
    36
    + '<div class="Ldt-Annotation-Inner Ldt-Annotation-Empty{{#start_minimized}} Ldt-Annotation-Minimized{{/start_minimized}}">'
b3ee7d1b472a UI improvements
veltr
parents: 922
diff changeset
    37
    + '<div class="Ldt-Annotation-HiddenWhenEmpty Ldt-Annotation-MaxMinButton"></div>'
982
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 965
diff changeset
    38
    + '{{#show_social}}<div class="Ldt-Annotation-Social Ldt-Annotation-HiddenWhenMinimized Ldt-Annotation-HiddenWhenEmpty"></div>{{/show_social}}'
1007
639129cf95bc Corrections on Jwplayer
veltr
parents: 1004
diff changeset
    39
    + '<h3 class="Ldt-Annotation-HiddenWhenEmpty">{{#show_annotation_type}}<span class="Ldt-Annotation-Type"></span> » {{/show_annotation_type}}<a class="Ldt-Annotation-Title" href="#"></a> <span class="Ldt-Annotation-Time Ldt-Annotation-HiddenWhenMinimized">'
982
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 965
diff changeset
    40
    + '(<span class="Ldt-Annotation-Begin"></span> - <span class="Ldt-Annotation-End"></span>)</span></h3>'
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 965
diff changeset
    41
    + '<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">'
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 965
diff changeset
    42
    + '(<span class="Ldt-Annotation-MashupBegin"></span> - <span class="Ldt-Annotation-MashupEnd"></span>)</span></h3>'
1009
ddbe31de8ad1 Added Creator to the Annotation Widget
veltr
parents: 1007
diff changeset
    43
    + '<div class="Ldt-Annotation-Cleared Ldt-Annotation-HiddenWhenMinimized Ldt-Annotation-HiddenWhenEmpty Ldt-Annotation-Creator-Block"><div class="Ldt-Annotation-Label">{{l10n.creator_}}</div>'
1033
c20df1c080e6 integrate changes from github
ymh <ymh.work@gmail.com>
parents: 1025
diff changeset
    44
    + '{{#show_creator}}<p class="Ldt-Annotation-Labelled Ldt-Annotation-Creator"></p></div>{{/show_creator}}'
c20df1c080e6 integrate changes from github
ymh <ymh.work@gmail.com>
parents: 1025
diff changeset
    45
    + '{{#show_description}}<div class="Ldt-Annotation-Cleared Ldt-Annotation-HiddenWhenMinimized Ldt-Annotation-HiddenWhenEmpty Ldt-Annotation-Description-Block"><div class="Ldt-Annotation-Label">{{l10n.description_}}</div>'
c20df1c080e6 integrate changes from github
ymh <ymh.work@gmail.com>
parents: 1025
diff changeset
    46
    + '<p class="Ldt-Annotation-Labelled Ldt-Annotation-Description"></p></div>{{/show_description}}'
923
b3ee7d1b472a UI improvements
veltr
parents: 922
diff changeset
    47
    + '<div class="Ldt-Annotation-Tags-Block Ldt-Annotation-HiddenWhenMinimized Ldt-Annotation-HiddenWhenEmpty Ldt-Annotation-Cleared">'
b3ee7d1b472a UI improvements
veltr
parents: 922
diff changeset
    48
    + '<div class="Ldt-Annotation-Label">{{l10n.tags_}}</div><ul class="Ldt-Annotation-Labelled Ldt-Annotation-Tags"></ul>'
924
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    49
    + '</div></div></div></div>';
876
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
    50
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
    51
IriSP.Widgets.Annotation.prototype.defaults = {
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
    52
    annotation_type : "chap",
965
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
    53
    start_minimized: false,
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
    54
    show_arrow : true,
1009
ddbe31de8ad1 Added Creator to the Annotation Widget
veltr
parents: 1007
diff changeset
    55
    show_creator: true,
1033
c20df1c080e6 integrate changes from github
ymh <ymh.work@gmail.com>
parents: 1025
diff changeset
    56
    show_description: true,
1004
cf0f2339169e Improvements for SPEL
veltr
parents: 1002
diff changeset
    57
    arrow_position: .5,
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents: 959
diff changeset
    58
    site_name : "Lignes de Temps",
982
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 965
diff changeset
    59
    search_on_tag_click: true,
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 965
diff changeset
    60
    show_social: true,
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 965
diff changeset
    61
    show_annotation_type: false
1013
392ddcd212d7 Throwed in a bunch of semicolons
veltr
parents: 1009
diff changeset
    62
};
876
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
    63
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
    64
IriSP.Widgets.Annotation.prototype.draw = function() {
965
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
    65
    
983
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
    66
    var _this = this,
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
    67
        currentAnnotation;
965
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
    68
    
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
    69
    function timeupdate(_time) {
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
    70
        var _list = _this.getWidgetAnnotationsAtTime();
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
    71
        if (!_list.length) {
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
    72
            _this.$.find(".Ldt-Annotation-Inner").addClass("Ldt-Annotation-Empty");
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
    73
            if (_this.arrow) {
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
    74
                _this.arrow.moveToTime(_time);
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
    75
            }
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
    76
            _this.bounds = [ _time, _time ];
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
    77
            _this.sendBounds();
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
    78
        }
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
    79
    }
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
    80
    
983
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
    81
    function highlightTitleAndDescription() {
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
    82
        if (!currentAnnotation) {
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
    83
            return;
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
    84
        }
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
    85
        var title = currentAnnotation.title,
988
eefd336335f9 Some improvements: Hashtags can be used, links are now clickable, ....
veltr
parents: 985
diff changeset
    86
            description = currentAnnotation.description.replace(/(^\s+|\s+$)/g,''),
eefd336335f9 Some improvements: Hashtags can be used, links are now clickable, ....
veltr
parents: 985
diff changeset
    87
            rx = (currentAnnotation.found ? (_this.source.getAnnotations().regexp || false) : false);
eefd336335f9 Some improvements: Hashtags can be used, links are now clickable, ....
veltr
parents: 985
diff changeset
    88
        _this.$.find(".Ldt-Annotation-Title").html(IriSP.textFieldHtml(title,rx)  || "(" + _this.l10n.untitled + ")");
983
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
    89
        if (description) {
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
    90
            _this.$.find(".Ldt-Annotation-Description-Block").removeClass("Ldt-Annotation-EmptyBlock");
988
eefd336335f9 Some improvements: Hashtags can be used, links are now clickable, ....
veltr
parents: 985
diff changeset
    91
            _this.$.find(".Ldt-Annotation-Description").html(IriSP.textFieldHtml(description,rx));
983
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
    92
        } else {
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
    93
            _this.$.find(".Ldt-Annotation-Description-Block").addClass("Ldt-Annotation-EmptyBlock");
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
    94
        }
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
    95
    }
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
    96
    
965
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
    97
    function drawAnnotation(_annotation) {
983
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
    98
        currentAnnotation = _annotation;
965
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
    99
        var _url = (typeof _annotation.url !== "undefined" 
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   100
                ? _annotation.url
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   101
                : (document.location.href.replace(/#.*$/,'') + '#id='  + _annotation.id)),
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   102
            _text = _this.l10n.watching + _annotation.title + (_this.site_name ? _this.l10n.on_site + _this.site_name : ''),
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   103
            _tags = _annotation.getTags(),
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   104
            _tagblock = _this.$.find(".Ldt-Annotation-Tags");
985
9859c4bae904 Corrected repeating tags bugs
veltr
parents: 983
diff changeset
   105
        _tagblock.empty();
965
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   106
        if (_tags.length) {
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   107
            _this.$.find(".Ldt-Annotation-Tags-Block").removeClass("Ldt-Annotation-EmptyBlock");
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   108
            _tags.forEach(function(_tag) {
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   109
                var _trimmedTitle =  _tag.title.replace(/(^\s+|\s+$)/g,'');
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   110
                if (_trimmedTitle) {
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   111
                    var _el = IriSP.jQuery('<li class="Ldt-Annotation-TagLabel"></li>').append(IriSP.jQuery('<span>').text(_trimmedTitle));
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   112
                    _el.click(function() {
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   113
                        if (_this.search_on_tag_click) {
983
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
   114
                            _this.source.getAnnotations().search(_trimmedTitle);
965
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   115
                        }
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   116
                        _tag.trigger("click");
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   117
                    });
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   118
                    _tagblock.append(_el);
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   119
                }
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   120
            });
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   121
        } else {
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   122
            _this.$.find(".Ldt-Annotation-Tags-Block").addClass("Ldt-Annotation-EmptyBlock");
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   123
        }
983
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
   124
        highlightTitleAndDescription();
1009
ddbe31de8ad1 Added Creator to the Annotation Widget
veltr
parents: 1007
diff changeset
   125
        if (_this.show_creator) {
ddbe31de8ad1 Added Creator to the Annotation Widget
veltr
parents: 1007
diff changeset
   126
             _this.$.find(".Ldt-Annotation-Creator").text(_annotation.creator);
ddbe31de8ad1 Added Creator to the Annotation Widget
veltr
parents: 1007
diff changeset
   127
        }
982
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 965
diff changeset
   128
        if (_this.show_annotation_type) {
1013
392ddcd212d7 Throwed in a bunch of semicolons
veltr
parents: 1009
diff changeset
   129
            _this.$.find(".Ldt-Annotation-Type").text(_annotation.getAnnotationType().title);
1025
5fb8d735fde0 annotation type description as tooltip.
cavaliet
parents: 1013
diff changeset
   130
            _this.$.find(".Ldt-Annotation-Type").attr("title", _annotation.getAnnotationType().description);
982
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 965
diff changeset
   131
        }
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 965
diff changeset
   132
        _this.$.find(".Ldt-Annotation-Begin").text(_annotation.begin.toString());
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 965
diff changeset
   133
        _this.$.find(".Ldt-Annotation-End").text(_annotation.end.toString());
965
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   134
        if (_annotation.elementType === "mashedAnnotation") {
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   135
            _this.$.find('.Ldt-Annotation-Inner').addClass("Ldt-Annotation-isMashup");
982
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 965
diff changeset
   136
            _this.$.find(".Ldt-Annotation-MashupMedia").text(_annotation.getMedia().title);
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 965
diff changeset
   137
            _this.$.find(".Ldt-Annotation-MashupBegin").text(_annotation.annotation.begin.toString());
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 965
diff changeset
   138
            _this.$.find(".Ldt-Annotation-MashupEnd").text(_annotation.annotation.end.toString());
965
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   139
        } else {
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   140
            _this.$.find('.Ldt-Annotation-Inner').removeClass("Ldt-Annotation-isMashup");
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   141
        }
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   142
        if (typeof _this.socialWidget !== "undefined") {
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   143
            _this.socialWidget.updateUrls(_url, _text);
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   144
        } else {
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   145
            setTimeout(function() {
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   146
                if (typeof _this.socialWidget !== "undefined") {
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   147
                    _this.socialWidget.updateUrls(_url, _text);
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   148
                }
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   149
            },800);
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   150
        }
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   151
        _this.$.find(".Ldt-Annotation-Inner").removeClass("Ldt-Annotation-Empty");
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   152
        _this.bounds = [ _annotation.begin, _annotation.end ];
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   153
        if (_this.arrow) {
1004
cf0f2339169e Improvements for SPEL
veltr
parents: 1002
diff changeset
   154
            _this.arrow.moveToTime((1 - _this.arrow_position) * _annotation.begin + _this.arrow_position * _annotation.end);
965
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   155
        }
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   156
        _this.sendBounds();
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   157
    }
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   158
    
876
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
   159
    this.renderTemplate();
982
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 965
diff changeset
   160
    
1007
639129cf95bc Corrections on Jwplayer
veltr
parents: 1004
diff changeset
   161
    this.$.find(".Ldt-Annotation-Title").click(function() {
639129cf95bc Corrections on Jwplayer
veltr
parents: 1004
diff changeset
   162
        if (currentAnnotation) {
639129cf95bc Corrections on Jwplayer
veltr
parents: 1004
diff changeset
   163
            _this.media.setCurrentTime(currentAnnotation.begin);
639129cf95bc Corrections on Jwplayer
veltr
parents: 1004
diff changeset
   164
        }
639129cf95bc Corrections on Jwplayer
veltr
parents: 1004
diff changeset
   165
        return false;
639129cf95bc Corrections on Jwplayer
veltr
parents: 1004
diff changeset
   166
    });
639129cf95bc Corrections on Jwplayer
veltr
parents: 1004
diff changeset
   167
    
983
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
   168
    if (this.show_social) {
982
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 965
diff changeset
   169
        this.insertSubwidget(this.$.find(".Ldt-Annotation-Social"), { type: "Social" }, "socialWidget");
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 965
diff changeset
   170
    }
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 965
diff changeset
   171
    
1004
cf0f2339169e Improvements for SPEL
veltr
parents: 1002
diff changeset
   172
    if (this.show_arrow) {
cf0f2339169e Improvements for SPEL
veltr
parents: 1002
diff changeset
   173
        this.insertSubwidget(this.$.find(".Ldt-Annotation-Arrow"), { type: "Arrow", width: this.width }, "arrow");
cf0f2339169e Improvements for SPEL
veltr
parents: 1002
diff changeset
   174
    }
965
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   175
    this.onMediaEvent("timeupdate",timeupdate);
957
4da0a5740b6c Starting 'players-as-widgets' branch
veltr
parents: 927
diff changeset
   176
    this.onMdpEvent("Annotation.hide","hide");
4da0a5740b6c Starting 'players-as-widgets' branch
veltr
parents: 927
diff changeset
   177
    this.onMdpEvent("Annotation.show","show");
4da0a5740b6c Starting 'players-as-widgets' branch
veltr
parents: 927
diff changeset
   178
    this.onMdpEvent("Annotation.minimize","minimize");
4da0a5740b6c Starting 'players-as-widgets' branch
veltr
parents: 927
diff changeset
   179
    this.onMdpEvent("Annotation.maximize","maximize");
4da0a5740b6c Starting 'players-as-widgets' branch
veltr
parents: 927
diff changeset
   180
    this.onMdpEvent("Annotation.getBounds","sendBounds");
923
b3ee7d1b472a UI improvements
veltr
parents: 922
diff changeset
   181
    this.$.find(".Ldt-Annotation-MaxMinButton").click(this.functionWrapper("toggleSize"));
1068
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents: 1033
diff changeset
   182
    this.$.on("resize", function () { _this.width = _this.$.parent().width();
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents: 1033
diff changeset
   183
                                      _this.$.css({ width: _this.width });
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents: 1033
diff changeset
   184
                                    });
965
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   185
    this.getWidgetAnnotations().forEach(function(_a) {
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   186
        _a.on("enter", function() {
1013
392ddcd212d7 Throwed in a bunch of semicolons
veltr
parents: 1009
diff changeset
   187
            drawAnnotation(_a);
965
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   188
        });
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   189
    });
983
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
   190
    this.source.getAnnotations().on("found", highlightTitleAndDescription);
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
   191
    this.source.getAnnotations().on("not-found", highlightTitleAndDescription);
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
   192
    this.source.getAnnotations().on("search-cleared", highlightTitleAndDescription);
996
c472984db275 refactored drag-and-drop interface (IE Compatibility)
veltr
parents: 994
diff changeset
   193
    IriSP.attachDndData(this.$.find("h3"), function() {
c472984db275 refactored drag-and-drop interface (IE Compatibility)
veltr
parents: 994
diff changeset
   194
    	return {
c472984db275 refactored drag-and-drop interface (IE Compatibility)
veltr
parents: 994
diff changeset
   195
	    	title: currentAnnotation.title,
c472984db275 refactored drag-and-drop interface (IE Compatibility)
veltr
parents: 994
diff changeset
   196
	    	description: currentAnnotation.description,
c472984db275 refactored drag-and-drop interface (IE Compatibility)
veltr
parents: 994
diff changeset
   197
	    	image: currentAnnotation.thumbnail,
c472984db275 refactored drag-and-drop interface (IE Compatibility)
veltr
parents: 994
diff changeset
   198
	    	uri: (typeof currentAnnotation.url !== "undefined" 
c472984db275 refactored drag-and-drop interface (IE Compatibility)
veltr
parents: 994
diff changeset
   199
	            ? currentAnnotation.url
1068
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents: 1033
diff changeset
   200
	            : (document.location.href.replace(/#.*$/,'') + '#id='  + currentAnnotation.id)),
7623f9af9272 merge pull request #3 from O. Auber
ymh <ymh.work@gmail.com>
parents: 1033
diff changeset
   201
            text: '[' + currentAnnotation.begin.toString() + '] ' + currentAnnotation.title
1013
392ddcd212d7 Throwed in a bunch of semicolons
veltr
parents: 1009
diff changeset
   202
	    };
993
a7efd386872a Drag-and-drop support for Renkan
raph
parents: 988
diff changeset
   203
    });
1013
392ddcd212d7 Throwed in a bunch of semicolons
veltr
parents: 1009
diff changeset
   204
};
923
b3ee7d1b472a UI improvements
veltr
parents: 922
diff changeset
   205
b3ee7d1b472a UI improvements
veltr
parents: 922
diff changeset
   206
IriSP.Widgets.Annotation.prototype.sendBounds = function() {
957
4da0a5740b6c Starting 'players-as-widgets' branch
veltr
parents: 927
diff changeset
   207
    this.player.trigger("Annotation.boundsChanged",this.bounds);
1013
392ddcd212d7 Throwed in a bunch of semicolons
veltr
parents: 1009
diff changeset
   208
};
876
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
   209
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
   210
IriSP.Widgets.Annotation.prototype.drawAnnotation = function(_annotation) {
03967b6ada7c ArrowWidget, AnnotationWidget
veltr
parents:
diff changeset
   211
    this.lastAnnotation = _annotation.id;
965
eadb7290c325 Improvements in widget communication
veltr
parents: 964
diff changeset
   212
1013
392ddcd212d7 Throwed in a bunch of semicolons
veltr
parents: 1009
diff changeset
   213
};
880
4c7b33bf2795 Started work on CreateAnnotation and Mediafragment
veltr
parents: 876
diff changeset
   214
4c7b33bf2795 Started work on CreateAnnotation and Mediafragment
veltr
parents: 876
diff changeset
   215
IriSP.Widgets.Annotation.prototype.hide = function() {
4c7b33bf2795 Started work on CreateAnnotation and Mediafragment
veltr
parents: 876
diff changeset
   216
    this.$.slideUp();
1013
392ddcd212d7 Throwed in a bunch of semicolons
veltr
parents: 1009
diff changeset
   217
};
880
4c7b33bf2795 Started work on CreateAnnotation and Mediafragment
veltr
parents: 876
diff changeset
   218
4c7b33bf2795 Started work on CreateAnnotation and Mediafragment
veltr
parents: 876
diff changeset
   219
IriSP.Widgets.Annotation.prototype.show = function() {
4c7b33bf2795 Started work on CreateAnnotation and Mediafragment
veltr
parents: 876
diff changeset
   220
    this.$.slideDown();
1013
392ddcd212d7 Throwed in a bunch of semicolons
veltr
parents: 1009
diff changeset
   221
};
880
4c7b33bf2795 Started work on CreateAnnotation and Mediafragment
veltr
parents: 876
diff changeset
   222
923
b3ee7d1b472a UI improvements
veltr
parents: 922
diff changeset
   223
IriSP.Widgets.Annotation.prototype.toggleSize = function() {
b3ee7d1b472a UI improvements
veltr
parents: 922
diff changeset
   224
    if (this.minimized) {
b3ee7d1b472a UI improvements
veltr
parents: 922
diff changeset
   225
        this.maximize();
b3ee7d1b472a UI improvements
veltr
parents: 922
diff changeset
   226
    } else {
b3ee7d1b472a UI improvements
veltr
parents: 922
diff changeset
   227
        this.minimize();
b3ee7d1b472a UI improvements
veltr
parents: 922
diff changeset
   228
    }
1013
392ddcd212d7 Throwed in a bunch of semicolons
veltr
parents: 1009
diff changeset
   229
};
923
b3ee7d1b472a UI improvements
veltr
parents: 922
diff changeset
   230
880
4c7b33bf2795 Started work on CreateAnnotation and Mediafragment
veltr
parents: 876
diff changeset
   231
IriSP.Widgets.Annotation.prototype.minimize = function() {
923
b3ee7d1b472a UI improvements
veltr
parents: 922
diff changeset
   232
    this.minimized = true;
880
4c7b33bf2795 Started work on CreateAnnotation and Mediafragment
veltr
parents: 876
diff changeset
   233
    this.$.find('.Ldt-Annotation-Inner').addClass("Ldt-Annotation-Minimized");
1013
392ddcd212d7 Throwed in a bunch of semicolons
veltr
parents: 1009
diff changeset
   234
};
880
4c7b33bf2795 Started work on CreateAnnotation and Mediafragment
veltr
parents: 876
diff changeset
   235
4c7b33bf2795 Started work on CreateAnnotation and Mediafragment
veltr
parents: 876
diff changeset
   236
IriSP.Widgets.Annotation.prototype.maximize = function() {
923
b3ee7d1b472a UI improvements
veltr
parents: 922
diff changeset
   237
    this.minimized = false;
880
4c7b33bf2795 Started work on CreateAnnotation and Mediafragment
veltr
parents: 876
diff changeset
   238
    this.$.find('.Ldt-Annotation-Inner').removeClass("Ldt-Annotation-Minimized");
1033
c20df1c080e6 integrate changes from github
ymh <ymh.work@gmail.com>
parents: 1025
diff changeset
   239
};