web/res/metadataplayer/Tweet.js
author Raphael Velt <raph.velt@gmail.com>
Thu, 21 Jun 2012 17:31:11 +0200
changeset 639 69b2d45f9167
parent 638 e0d4e8431de3
child 654 a5977736d2b0
permissions -rw-r--r--
WIID Program Update
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
638
e0d4e8431de3 Updated Metadata Player
Raphael Velt <raph.velt@gmail.com>
parents: 598
diff changeset
     1
/* TODO: Show Twitter Links in a small Window */
e0d4e8431de3 Updated Metadata Player
Raphael Velt <raph.velt@gmail.com>
parents: 598
diff changeset
     2
598
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
     3
IriSP.Widgets.Tweet = 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;
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
     6
};
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
     7
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
     8
IriSP.Widgets.Tweet.prototype = new IriSP.Widgets.Widget();
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.Tweet.prototype.defaults = {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    11
    hide_timeout: 5000,
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    12
    polemics : [
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    13
        {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    14
            "keywords" : [ "++" ],
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    15
            "color" : "#30d765"
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    16
        },
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    17
        {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    18
            "keywords" : [ "--" ],
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    19
            "color" : "#f51123"
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    20
        },
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    21
        {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    22
            "keywords" : [ "==" ],
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    23
            "color" : "#f1e24a"  
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    24
        },
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    25
        {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    26
            "keywords" : [ "??" ],
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    27
            "color" : "#05aae6"
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    28
        }
638
e0d4e8431de3 Updated Metadata Player
Raphael Velt <raph.velt@gmail.com>
parents: 598
diff changeset
    29
    ],
e0d4e8431de3 Updated Metadata Player
Raphael Velt <raph.velt@gmail.com>
parents: 598
diff changeset
    30
    pin_at_start: false
598
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    31
}
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    32
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    33
IriSP.Widgets.Tweet.prototype.messages = {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    34
    "fr": {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    35
        retweet: "Retweeter",
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    36
        reply: "Répondre",
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    37
        keep_visible: "Garder visible",
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    38
        dont_keep_visible: "Permettre la fermeture automatique",
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    39
        close_widget: "Fermer l'affichage du tweet",
638
e0d4e8431de3 Updated Metadata Player
Raphael Velt <raph.velt@gmail.com>
parents: 598
diff changeset
    40
        original_time: "Heure d'envoi&nbsp;: ",
e0d4e8431de3 Updated Metadata Player
Raphael Velt <raph.velt@gmail.com>
parents: 598
diff changeset
    41
        video_time: "Temps de la vidéo&nbsp;: ",
e0d4e8431de3 Updated Metadata Player
Raphael Velt <raph.velt@gmail.com>
parents: 598
diff changeset
    42
        show_original: "Voir l'original"
598
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    43
    },
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    44
    "en": {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    45
        retweet: "Retweet",
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    46
        reply: "Reply",
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    47
        keep_visible: "Keep visible",
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    48
        dont_keep_visible: "Don't keep visible",
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    49
        close_widget: "Close tweet display",
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    50
        original_time: "Tweet sent at: ",
638
e0d4e8431de3 Updated Metadata Player
Raphael Velt <raph.velt@gmail.com>
parents: 598
diff changeset
    51
        video_time: "Video time: ",
e0d4e8431de3 Updated Metadata Player
Raphael Velt <raph.velt@gmail.com>
parents: 598
diff changeset
    52
        show_original: "Show original"
598
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    53
    }
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    54
}
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
IriSP.Widgets.Tweet.prototype.template =
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    57
    '<div class="Ldt-Tweet-Widget"><div class="Ldt-Tweet-Inner"><div class="Ldt-Tweet-PinClose-Buttons">'
638
e0d4e8431de3 Updated Metadata Player
Raphael Velt <raph.velt@gmail.com>
parents: 598
diff changeset
    58
    + '<a href="#" class="Ldt-Tweet-Pin Ldt-TraceMe{{#pin_at_start}} active" title="{{l10n.dont_keep_visible}}{{/pin_at_start}}{{^pin_at_start}}" title="{{l10n.keep_visible}}{{/pin_at_start}}"></a>'
e0d4e8431de3 Updated Metadata Player
Raphael Velt <raph.velt@gmail.com>
parents: 598
diff changeset
    59
    + '<a href="#" class="Ldt-Tweet-Close Ldt-TraceMe" title="{{l10n.close_widget}}"></a>'
598
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    60
    + '</div><div class="Ldt-Tweet-AvatarContainer"><a href="#" class="Ldt-Tweet-ProfileLink" target="_blank">'
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    61
    + '<img src="" class="Ldt-Tweet-Avatar"/></a></div><h3><a href="#" class="Ldt-Tweet-ProfileLink Ldt-Tweet-ScreenName" target="_blank">'
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    62
    + '</a> (<span class="Ldt-Tweet-FullName"></span>)</h3><p class="Ldt-Tweet-Contents"></p><div class="Ldt-Tweet-Bottom">'
638
e0d4e8431de3 Updated Metadata Player
Raphael Velt <raph.velt@gmail.com>
parents: 598
diff changeset
    63
    + '<span class="Ldt-Tweet-Time"></span>'
e0d4e8431de3 Updated Metadata Player
Raphael Velt <raph.velt@gmail.com>
parents: 598
diff changeset
    64
    + '<a class="Ldt-Tweet-Original" href="" target="_blank">{{l10n.show_original}}</a>'
e0d4e8431de3 Updated Metadata Player
Raphael Velt <raph.velt@gmail.com>
parents: 598
diff changeset
    65
    + '<a href="" target="_blank" class="Ldt-Tweet-Retweet"><div class="Ldt-Tweet-Icon"></div>{{l10n.retweet}}</a>'
598
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    66
    + '<a href="" target="_blank" class="Ldt-Tweet-Reply"><div class="Ldt-Tweet-Icon"></div>{{l10n.reply}}</a></div></div></div>';
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    67
    
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    68
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    69
IriSP.Widgets.Tweet.prototype.draw = function() {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    70
    this.renderTemplate();
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    71
    this.bindPopcorn("IriSP.Tweet.show","show");
638
e0d4e8431de3 Updated Metadata Player
Raphael Velt <raph.velt@gmail.com>
parents: 598
diff changeset
    72
    this.pinned = this.pin_at_start;
598
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    73
    var _this = this;
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    74
    this.$.find(".Ldt-Tweet-Pin").click(function() {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    75
        _this.pinned = !_this.pinned;
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    76
        var _el = IriSP.jQuery(this)
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    77
        if (_this.pinned) {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    78
            _el.addClass("active").attr("title",_this.l10n.dont_keep_visible);
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    79
            _this.cancelTimeout();
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    80
        } else {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    81
            _el.removeClass("active").attr("title",_this.l10n.keep_visible);
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    82
            _this.hideTimeout();
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    83
        }
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    84
    });
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    85
    this.$.find(".Ldt-Tweet-Close").click(function() {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    86
        _this.hide();
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    87
    });
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    88
    this.$.hide();
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    89
}
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    90
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    91
IriSP.Widgets.Tweet.prototype.show = function(_id) {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    92
    var _tweet = this.source.getElement(_id);
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    93
    if (typeof _tweet !== "undefined" && typeof _tweet.source !== "undefined") {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    94
        var _entities = [];
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    95
        for (var _i = 0; _i < _tweet.source.entities.hashtags.length; _i++) {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    96
            var _hash = _tweet.source.entities.hashtags[_i];
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    97
            _entities.push({
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    98
                is_link: true,
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
    99
                text: '#' + _hash.text,
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   100
                url: 'http://twitter.com/search?q=%23' + encodeURIComponent(_hash.text),
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   101
                indices: _hash.indices
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   102
            });
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   103
        }
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   104
        for (var _i = 0; _i < _tweet.source.entities.urls.length; _i++) {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   105
            var _url = _tweet.source.entities.urls[_i],
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   106
                _displayurl = (typeof _url.display_url !== "undefined" && _url.display_url !== null ? _url.display_url : _url.url),
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   107
                _linkurl = (typeof _url.expanded_url !== "undefined" && _url.expanded_url !== null ? _url.expanded_url : _url.url);
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   108
            _displayurl = _displayurl.replace(/^\w+:\/\//,'');
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   109
            if (!/^\w+:\/\//.test(_linkurl)) {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   110
                _linkurl = 'http://' + _linkurl;
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   111
            }
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   112
            _entities.push({
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   113
                is_link: true,
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   114
                text: _displayurl,
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   115
                url: _linkurl,
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   116
                indices: _url.indices
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   117
            });
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   118
        }
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   119
        for (var _i = 0; _i < _tweet.source.entities.user_mentions.length; _i++) {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   120
            var _user = _tweet.source.entities.user_mentions[_i];
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   121
            _entities.push({
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   122
                is_link: true,
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   123
                text: '@' + _user.screen_name,
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   124
                url: 'http://twitter.com/' + encodeURIComponent(_user.screen_name),
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   125
                indices: _user.indices
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   126
            });
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   127
        }
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   128
        for (var _i = 0; _i < this.polemics.length; _i++) {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   129
            for (var _j = 0; _j < this.polemics[_i].keywords.length; _j++) {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   130
                var _p = _tweet.source.text.indexOf(this.polemics[_i].keywords[_j]);
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   131
                while (_p !== -1) {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   132
                    var _end = (_p + this.polemics[_i].keywords[_j].length);
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   133
                    _entities.push({
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   134
                        is_link: false,
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   135
                        text: this.polemics[_i].keywords[_j],
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   136
                        color: this.polemics[_i].color,
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   137
                        indices: [_p, _end]
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   138
                    });
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   139
                    _p = _tweet.source.text.indexOf(this.polemics[_i].keywords[_j], _end);
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   140
                }
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   141
            }
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   142
        }
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   143
        _entities = IriSP._(_entities).sortBy(function(_entity) {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   144
            return _entity.indices[0];
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   145
        });
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   146
        var _currentPos = 0,
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   147
            _txt = '';
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   148
        for (var _i = 0; _i < _entities.length; _i++) {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   149
            if (_entities[_i].indices[0] >= _currentPos) {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   150
                _txt += _tweet.source.text.substring(_currentPos, _entities[_i].indices[0]);
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   151
                _currentPos = _entities[_i].indices[1];
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   152
                if (_entities[_i].is_link) {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   153
                    _txt += '<a href="' + _entities[_i].url + '" target="_blank">';
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   154
                } else {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   155
                    _txt += '<span style="background:' + _entities[_i].color + '">';
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   156
                }
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   157
                _txt += _entities[_i].text;
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   158
                if (_entities[_i].is_link) {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   159
                    _txt += '</a>';
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   160
                } else {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   161
                    _txt += '</span>';
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   162
                }
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   163
            }
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   164
        }
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   165
        _txt += _tweet.source.text.substring(_currentPos);
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   166
        this.$.find(".Ldt-Tweet-Avatar").attr("src",_tweet.source.user.profile_image_url);
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   167
        this.$.find(".Ldt-Tweet-ScreenName").html('@'+_tweet.source.user.screen_name);
638
e0d4e8431de3 Updated Metadata Player
Raphael Velt <raph.velt@gmail.com>
parents: 598
diff changeset
   168
        this.$.find(".Ldt-Tweet-ProfileLink").attr("href", "https://twitter.com/" + _tweet.source.user.screen_name);
598
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   169
        this.$.find(".Ldt-Tweet-FullName").html(_tweet.source.user.name);
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   170
        this.$.find(".Ldt-Tweet-Contents").html(_txt);
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   171
        this.$.find(".Ldt-Tweet-Time").html(this.l10n.original_time + new Date(_tweet.source.created_at).toLocaleTimeString() + " / " + this.l10n.video_time + _tweet.begin.toString());
638
e0d4e8431de3 Updated Metadata Player
Raphael Velt <raph.velt@gmail.com>
parents: 598
diff changeset
   172
        this.$.find(".Ldt-Tweet-Retweet").attr("href", "https://twitter.com/intent/retweet?tweet_id=" + _tweet.source.id_str);
e0d4e8431de3 Updated Metadata Player
Raphael Velt <raph.velt@gmail.com>
parents: 598
diff changeset
   173
        this.$.find(".Ldt-Tweet-Reply").attr("href", "https://twitter.com/intent/tweet?in_reply_to=" + _tweet.source.id_str);
e0d4e8431de3 Updated Metadata Player
Raphael Velt <raph.velt@gmail.com>
parents: 598
diff changeset
   174
        this.$.find(".Ldt-Tweet-Original").attr("href", "https://twitter.com/" + _tweet.source.user.screen_name + "/status/" + _tweet.source.id_str);
598
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   175
        this.player.popcorn.trigger("IriSP.Annotation.minimize");
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   176
        this.$.slideDown();
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   177
        this.cancelTimeout();
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   178
        if (!this.pinned) {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   179
            this.hideTimeout();
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
    } else {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   182
        this.hide();
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
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   186
IriSP.Widgets.Tweet.prototype.hide = function() {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   187
    this.player.popcorn.trigger("IriSP.Annotation.maximize");
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   188
    this.$.slideUp();
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   189
    this.cancelTimeout();
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   190
}
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   191
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   192
IriSP.Widgets.Tweet.prototype.cancelTimeout = function() {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   193
    if (typeof this.hide_timer !== "undefined") {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   194
        window.clearTimeout(this.hide_timer);
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   195
        this.hide_timer = undefined;
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   196
    }  
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   197
}
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   198
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   199
IriSP.Widgets.Tweet.prototype.hideTimeout = function() {
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   200
    this.cancelTimeout();
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   201
    this.hide_timer = window.setTimeout(this.functionWrapper("hide"), this.hide_timeout);
d366aa22bd79 New Metadataplayer version
Raphael Velt <raph.velt@gmail.com>
parents:
diff changeset
   202
}