src/widgets/Polemic.js
author ymh <ymh.work@gmail.com>
Thu, 31 Dec 2015 15:51:09 +0100
changeset 1070 36517cb225fe
parent 1069 2409cb4cebaf
child 1071 02c04d2c8fd8
permissions -rw-r--r--
increment platform version + version
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
875
43629caa77bc Big refactoring of widget files + started migration of segmentwidget
veltr
parents: 874
diff changeset
     1
IriSP.Widgets.Polemic = function(player, config) {
43629caa77bc Big refactoring of widget files + started migration of segmentwidget
veltr
parents: 874
diff changeset
     2
    IriSP.Widgets.Widget.call(this, player, config);
169
427632a324d5 first import of the polemic tweet widget.
hamidouk
parents:
diff changeset
     3
};
427632a324d5 first import of the polemic tweet widget.
hamidouk
parents:
diff changeset
     4
875
43629caa77bc Big refactoring of widget files + started migration of segmentwidget
veltr
parents: 874
diff changeset
     5
IriSP.Widgets.Polemic.prototype = new IriSP.Widgets.Widget();
187
6f1def85018a removed useless printfs.
hamidouk
parents: 176
diff changeset
     6
882
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
     7
IriSP.Widgets.Polemic.prototype.messages = {
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
     8
    fr: {
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
     9
        from_: "de ",
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
    10
        _to_: " à ",
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
    11
        _annotations: " annotation(s)"
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
    12
    },
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
    13
    en: {
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
    14
        from_: "from ",
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
    15
        _to_: " to ",
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
    16
        _annotations: " annotation(s)"
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
    17
    }
1012
7e18d953a1f8 Filter Tweets in Polemic Widget on duration = 0
veltr
parents: 1004
diff changeset
    18
};
7e18d953a1f8 Filter Tweets in Polemic Widget on duration = 0
veltr
parents: 1004
diff changeset
    19
875
43629caa77bc Big refactoring of widget files + started migration of segmentwidget
veltr
parents: 874
diff changeset
    20
IriSP.Widgets.Polemic.prototype.defaults = {
43629caa77bc Big refactoring of widget files + started migration of segmentwidget
veltr
parents: 874
diff changeset
    21
    element_width : 5,
43629caa77bc Big refactoring of widget files + started migration of segmentwidget
veltr
parents: 874
diff changeset
    22
    element_height : 5,
987
7b65bf78873a Bugfixes
veltr
parents: 986
diff changeset
    23
    max_elements: 20,
875
43629caa77bc Big refactoring of widget files + started migration of segmentwidget
veltr
parents: 874
diff changeset
    24
    annotation_type : "tweet",
43629caa77bc Big refactoring of widget files + started migration of segmentwidget
veltr
parents: 874
diff changeset
    25
    defaultcolor : "#585858",
43629caa77bc Big refactoring of widget files + started migration of segmentwidget
veltr
parents: 874
diff changeset
    26
    foundcolor : "#fc00ff",
1069
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    27
    default_version : "1",
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    28
    polemics : {
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    29
        "1" : [
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    30
            {
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    31
                "name" : "OK",
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    32
                "keywords" : [ "++" ],
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    33
                "color" : "#1D973D"
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    34
            },
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    35
            {
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    36
                "name" : "KO",
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    37
                "keywords" : [ "--" ],
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    38
                "color" : "#CE0A15"
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    39
            },
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    40
            {
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    41
                "name" : "REF",
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    42
                "keywords" : [ "==", "http://" ],
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    43
                "color" : "#C5A62D"
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    44
            },
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    45
            {
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    46
                "name" : "Q",
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    47
                "keywords" : [ "?" ],
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    48
                "color" : "#036AAE"
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    49
            }
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    50
        ],
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    51
        "2" : [
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    52
            {
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    53
                "name" : "OK",
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    54
                "keywords" : [ "++" ],
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    55
                "color" : "#1D973D"
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    56
            },
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    57
            {
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    58
                "name" : "KO",
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    59
                "keywords" : [ "!!" ],
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    60
                "color" : "#CE0A15"
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    61
            },
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    62
            {
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    63
                "name" : "REF",
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    64
                "keywords" : [ "==", "http://" ],
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    65
                "color" : "#C5A62D"
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    66
            },
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    67
            {
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    68
                "name" : "Q",
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    69
                "keywords" : [ "?" ],
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    70
                "color" : "#036AAE"
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    71
            }
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    72
        ]
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    73
    }
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    74
};
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    75
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    76
IriSP.Widgets.Polemic.prototype.getPolemics = function(version) {
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    77
    if(typeof(version) === "undefined" || !version) {
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    78
        version = this.default_version;
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    79
    }
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    80
    if(this.polemics.constructor === Array) {
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    81
        return this.polemics;
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    82
    } else {
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    83
        return this.polemics[version];
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
    84
    }
875
43629caa77bc Big refactoring of widget files + started migration of segmentwidget
veltr
parents: 874
diff changeset
    85
};
43629caa77bc Big refactoring of widget files + started migration of segmentwidget
veltr
parents: 874
diff changeset
    86
1070
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
    87
IriSP.Widgets.Polemic.prototype.drawNoStackgraph = function(_max, _slices) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
    88
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
    89
    var _this = this;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
    90
    this.is_stackgraph = false;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
    91
    if (_max) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
    92
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
    93
        this.height = (2 + _max) * this.element_height;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
    94
        this.$zone.css({
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
    95
            width: this.width + "px",
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
    96
            height: this.height + "px",
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
    97
            position: "relative"
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
    98
        });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
    99
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   100
        var _x = 0;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   101
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   102
        function displayAnnotation(_elx, _ely, _pol, _col, _annotation) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   103
            var _htmlAnnot = Mustache.to_html(
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   104
                '<div class="Ldt-Polemic-TweetDiv Ldt-TraceMe" trace-info="annotation-id:{{id}}, media-id:{{media_id}}, polemic:{{polemic}}, time:{{time}}" polemic-color="{{color}}"'
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   105
                + ' tweet-title="{{title}}" annotation-id="{{id}}" style="width: {{width}}px; height: {{height}}px; top: {{top}}px; left: {{left}}px; background: {{color}}"></div>',
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   106
            {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   107
                id: _annotation.id,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   108
                media_id: _this.source.currentMedia.id,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   109
                polemic: _pol,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   110
                left: _elx,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   111
                top: _ely,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   112
                color: _col,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   113
                width: (_this.element_width-1),
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   114
                height: _this.element_height,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   115
                title: _annotation.title,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   116
                time: _annotation.begin.toString()
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   117
            });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   118
            var _el = IriSP.jQuery(_htmlAnnot);
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   119
            _el.mouseover(function() {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   120
                _annotation.trigger("select");
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   121
            }).mouseout(function() {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   122
                _annotation.trigger("unselect");
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   123
            }).click(function() {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   124
                _annotation.trigger("click");
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   125
                return false;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   126
            });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   127
            IriSP.attachDndData(_el, {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   128
                title: _annotation.title,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   129
                description: _annotation.description,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   130
                image: _annotation.thumbnail,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   131
                uri: (typeof _annotation.url !== "undefined"
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   132
                    ? _annotation.url
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   133
                    : (document.location.href.replace(/#.*$/,'') + '#id='  + _annotation.id)),
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   134
            text: '[' + _annotation.begin.toString() + '] ' + _annotation.title
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   135
            });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   136
            // test if annotation has several colors.
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   137
            var colAr = [];
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   138
            var _polemicVersion = (_annotation.content && _annotation.content.polemic_version) || _this.default_version,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   139
                _polemics = _this.getPolemics(_polemicVersion) || [],
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   140
                _pol,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   141
                _polKey,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   142
                _polDef,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   143
                _rgxp;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   144
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   145
            for(var _j = 0; _j < _polemics.length; _j++) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   146
                _pol = _polemics[_j];
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   147
                _rgxp = _pol.rgxp || (_pol.rgxp = IriSP.Model.regexpFromTextOrArray(_pol.keywords));
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   148
                if(_rgxp.test(_annotation.description)) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   149
                    colAr.push(_pol.color);
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   150
                }
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   151
            }
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   152
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   153
            // display annotation
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   154
            _annotation.on("select", function() {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   155
                if (_this.tooltip) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   156
                    _this.tooltip.show(
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   157
                        + Math.floor(_elx + (_this.element_width - 1) / 2),
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   158
                        + _ely,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   159
                        _annotation.title,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   160
                        ( (colAr.length>1) ? colAr : _col )
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   161
                    );
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   162
                }
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   163
                _this.$tweets.each(function() {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   164
                    var _e = IriSP.jQuery(this);
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   165
                    _e.css(
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   166
                        "opacity",
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   167
                        ( _e.attr("annotation-id") == _annotation.id ? 1 : .3 )
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   168
                    );
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   169
                });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   170
            });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   171
            _annotation.on("unselect", function() {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   172
                if (_this.tooltip) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   173
                    _this.tooltip.hide();
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   174
                }
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   175
                _this.$tweets.css("opacity",1);
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   176
            });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   177
            _annotation.on("found", function() {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   178
                _el.css({
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   179
                    "background" : _this.foundcolor,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   180
                    "opacity" : 1
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   181
                });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   182
            });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   183
            _annotation.on("not-found", function() {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   184
                _el.css({
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   185
                    "background" : _col,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   186
                    "opacity" : .3
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   187
                });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   188
            });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   189
            _this.$zone.append(_el);
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   190
        };
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   191
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   192
        IriSP._(_slices).forEach(function(_slice) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   193
            var _y = _this.height;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   194
            _slice.annotations.forEach(function(_annotation) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   195
                _y -= _this.element_height;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   196
                displayAnnotation(_x, _y, "none", _this.defaultcolor, _annotation);
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   197
            });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   198
            IriSP._(_slice.polemicStacks).forEach(function(_annotations) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   199
                var _color = _annotations.polemicDef.color,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   200
                    _polemic = _annotations.polemicDef.name;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   201
                _annotations.annotations.forEach(function(_annotation) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   202
                    _y -= _this.element_height;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   203
                    displayAnnotation(_x, _y, _polemic, _color, _annotation);
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   204
                });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   205
            });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   206
            _x += _this.element_width;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   207
        });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   208
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   209
        this.$tweets = this.$.find(".Ldt-Polemic-TweetDiv");
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   210
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   211
        this.source.getAnnotations().on("search-cleared", function() {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   212
            _this.$tweets.each(function() {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   213
                var _el = IriSP.jQuery(this);
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   214
                _el.css({
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   215
                    "background" : _el.attr("polemic-color"),
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   216
                    "opacity" : 1
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   217
                });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   218
            });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   219
        });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   220
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   221
    } else {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   222
        this.$zone.hide();
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   223
    }
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   224
}
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   225
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   226
IriSP.Widgets.Polemic.prototype.drawStackgraph = function(_max, _slices) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   227
    this.is_stackgraph = true;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   228
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   229
    var _this = this;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   230
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   231
    this.height = (2 + this.max_elements) * this.element_height;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   232
    this.$zone.css({
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   233
        width: this.width + "px",
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   234
        height: this.height + "px",
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   235
        position: "relative"
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   236
    });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   237
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   238
    var _x = 0,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   239
        _html = '',
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   240
        _scale = this.max_elements * this.element_height / _max;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   241
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   242
    function displayStackElement(_x, _y, _h, _color, _nums, _begin, _end, _polemic) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   243
        _html += Mustache.to_html(
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   244
            '<div class="Ldt-Polemic-TweetDiv Ldt-TraceMe" trace-info="annotation-block, media-id={{media_id}}, polemic={{polemic}}, time:{{begin}}" pos-x="{{posx}}" pos-y="{{top}}" annotation-counts="{{nums}}" begin-time="{{begin}}" end-time="{{end}}"'
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   245
            + ' style="width: {{width}}px; height: {{height}}px; top: {{top}}px; left: {{left}}px; background: {{color}}"></div>',
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   246
        {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   247
            nums: _nums,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   248
            posx: Math.floor(_x + (_this.element_width - 1) / 2),
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   249
            media_id: _this.source.currentMedia.id,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   250
            polemic: _polemic,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   251
            left: _x,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   252
            top: _y,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   253
            color: _color,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   254
            width: (_this.element_width-1),
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   255
            height: _h,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   256
            begin: _begin,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   257
            end: _end
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   258
        });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   259
    }
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   260
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   261
    IriSP._(_slices).forEach(function(_slice) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   262
        var _y = _this.height,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   263
            _nums = _slice.annotations.length + "|" + _this.defaultcolor + "," + IriSP._(_slice.polemicStacks).map(function(_annotations) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   264
                return _annotations.annotations.length + "|" + _annotations.polemicDef.color;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   265
            }).join(",");
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   266
        if (_slice.annotations.length) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   267
            var _h = Math.ceil(_scale * _slice.annotations.length);
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   268
            _y -= _h;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   269
            displayStackElement(_x, _y, _h, _this.defaultcolor, _nums, _slice.begin, _slice.end, "none");
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   270
        }
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   271
        IriSP._(_slice.polemicStacks).forEach(function(_annotations) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   272
            if (_annotations.annotations.length) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   273
                var _color = _annotations.polemicDef.color,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   274
                    _polemic = _annotations.polemicDef.name,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   275
                    _h = Math.ceil(_scale * _annotations.annotations.length);
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   276
                _y -= _h;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   277
                displayStackElement(_x, _y, _h, _color, _nums, _slice.begin, _slice.end, _polemic);
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   278
            }
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   279
        });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   280
        _x += _this.element_width;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   281
    });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   282
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   283
    this.$zone.append(_html);
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   284
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   285
    this.$tweets = this.$.find(".Ldt-Polemic-TweetDiv");
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   286
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   287
    this.$tweets
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   288
        .mouseover(function() {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   289
            var _el = IriSP.jQuery(this),
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   290
                _nums = _el.attr("annotation-counts").split(","),
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   291
                _html = '<p>' + _this.l10n.from_ + _el.attr("begin-time") + _this.l10n._to_ + _el.attr("end-time") + '</p>';
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   292
            _html = IriSP._.reduce(_nums, function(_htmlStr, _countStr) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   293
                var _components = _countStr.split("|");
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   294
                _htmlStr += '<div class="Ldt-Tooltip-AltColor" style="background: ' + _components[1] + '"></div><p>' + _components[0] + _this.l10n._annotations + '</p>';
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   295
                return _htmlStr;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   296
            }, _html);
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   297
            if (_this.tooltip) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   298
                _this.tooltip.show(+ _el.attr("pos-x"), + _el.attr("pos-y"), _html);
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   299
            }
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   300
        })
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   301
        .mouseout(function() {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   302
            if (_this.tooltip) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   303
                _this.tooltip.hide();
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   304
            }
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   305
        });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   306
}
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   307
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   308
875
43629caa77bc Big refactoring of widget files + started migration of segmentwidget
veltr
parents: 874
diff changeset
   309
IriSP.Widgets.Polemic.prototype.draw = function() {
1069
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
   310
957
4da0a5740b6c Starting 'players-as-widgets' branch
veltr
parents: 937
diff changeset
   311
    this.onMediaEvent("timeupdate", "onTimeupdate");
875
43629caa77bc Big refactoring of widget files + started migration of segmentwidget
veltr
parents: 874
diff changeset
   312
    this.$zone = IriSP.jQuery('<div>');
882
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
   313
    this.$zone.addClass("Ldt-Polemic");
875
43629caa77bc Big refactoring of widget files + started migration of segmentwidget
veltr
parents: 874
diff changeset
   314
    this.$.append(this.$zone);
1069
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
   315
882
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
   316
    this.$elapsed = IriSP.jQuery('<div>')
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
   317
        .css({
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
   318
            background: '#cccccc',
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
   319
            position: "absolute",
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
   320
            top: 0,
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
   321
            left: 0,
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
   322
            width: 0,
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
   323
            height: "100%"
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
   324
        });
1069
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
   325
882
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
   326
    this.$zone.append(this.$elapsed);
1069
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
   327
1021
7253d4d06f0d update widgets after enhance in annotation platform.
cavaliet
parents: 1017
diff changeset
   328
    // we don't filter with null duration anymore
874
38b65761a7d5 TooltipWidget, SliderWidget, corrections in AnnotationList, CSS are now split
veltr
parents: 842
diff changeset
   329
    var _slices = [],
875
43629caa77bc Big refactoring of widget files + started migration of segmentwidget
veltr
parents: 874
diff changeset
   330
        _slice_count = Math.floor( this.width / this.element_width ),
874
38b65761a7d5 TooltipWidget, SliderWidget, corrections in AnnotationList, CSS are now split
veltr
parents: 842
diff changeset
   331
        _duration = this.source.getDuration(),
38b65761a7d5 TooltipWidget, SliderWidget, corrections in AnnotationList, CSS are now split
veltr
parents: 842
diff changeset
   332
        _max = 0,
1021
7253d4d06f0d update widgets after enhance in annotation platform.
cavaliet
parents: 1017
diff changeset
   333
        _list = this.getWidgetAnnotations(),
7253d4d06f0d update widgets after enhance in annotation platform.
cavaliet
parents: 1017
diff changeset
   334
        _this = this;
1069
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
   335
875
43629caa77bc Big refactoring of widget files + started migration of segmentwidget
veltr
parents: 874
diff changeset
   336
    for (var _i = 0; _i < _slice_count; _i++) {
43629caa77bc Big refactoring of widget files + started migration of segmentwidget
veltr
parents: 874
diff changeset
   337
        var _begin = new IriSP.Model.Time( _i * _duration / _slice_count ),
43629caa77bc Big refactoring of widget files + started migration of segmentwidget
veltr
parents: 874
diff changeset
   338
            _end = new IriSP.Model.Time( ( _i + 1 ) * _duration / _slice_count ),
874
38b65761a7d5 TooltipWidget, SliderWidget, corrections in AnnotationList, CSS are now split
veltr
parents: 842
diff changeset
   339
            _count = 0,
38b65761a7d5 TooltipWidget, SliderWidget, corrections in AnnotationList, CSS are now split
veltr
parents: 842
diff changeset
   340
            _res = {
882
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
   341
                begin : _begin.toString(),
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
   342
                end : _end.toString(),
874
38b65761a7d5 TooltipWidget, SliderWidget, corrections in AnnotationList, CSS are now split
veltr
parents: 842
diff changeset
   343
                annotations : _list.filter(function(_annotation) {
1004
cf0f2339169e Improvements for SPEL
veltr
parents: 996
diff changeset
   344
                    return _annotation.begin >= _begin && _annotation.begin < _end;
874
38b65761a7d5 TooltipWidget, SliderWidget, corrections in AnnotationList, CSS are now split
veltr
parents: 842
diff changeset
   345
                }),
1070
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   346
                polemicStacks : {}
1012
7e18d953a1f8 Filter Tweets in Polemic Widget on duration = 0
veltr
parents: 1004
diff changeset
   347
            };
1069
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
   348
1070
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   349
        _count = _res.annotations.length;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   350
        _res.annotations = _res.annotations.filter(function(_annotation) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   351
            var _polemicVersion = (_annotation.content && _annotation.content.polemic_version) || _this.default_version,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   352
                _polemics = _this.getPolemics(_polemicVersion) || [],
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   353
                _pol,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   354
                _polKey,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   355
                _polDef,
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   356
                _rgxp;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   357
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   358
            for(var _j = 0; _j < _polemics.length; _j++) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   359
                _pol = _polemics[_j];
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   360
                _rgxp = _pol.rgxp || (_pol.rgxp = IriSP.Model.regexpFromTextOrArray(_pol.keywords));
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   361
                if(_rgxp.test(_annotation.description)) {
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   362
                    _polKey = _polemicVersion + "_" + _pol.name;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   363
                    _polDef = _res.polemicStacks[_polKey] || (_res.polemicStacks[_polKey] = { 'polemicDef' : _pol, 'annotations': []});
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   364
                    _polDef.annotations.push(_annotation);
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   365
                    return false;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   366
                }
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   367
            }
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   368
            return true;
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   369
        });
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   370
874
38b65761a7d5 TooltipWidget, SliderWidget, corrections in AnnotationList, CSS are now split
veltr
parents: 842
diff changeset
   371
        _max = Math.max(_max, _count);
38b65761a7d5 TooltipWidget, SliderWidget, corrections in AnnotationList, CSS are now split
veltr
parents: 842
diff changeset
   372
        _slices.push(_res);
38b65761a7d5 TooltipWidget, SliderWidget, corrections in AnnotationList, CSS are now split
veltr
parents: 842
diff changeset
   373
    }
1070
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   374
882
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
   375
    if (_max < this.max_elements) {
1070
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   376
        this.drawNoStackgraph(_max, _slices);
882
61c384dda19e Big refactoring
veltr
parents: 881
diff changeset
   377
    } else {
1070
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   378
        this.drawStackgraph(_max, _slices);
36517cb225fe increment platform version + version
ymh <ymh.work@gmail.com>
parents: 1069
diff changeset
   379
    }
1069
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
   380
875
43629caa77bc Big refactoring of widget files + started migration of segmentwidget
veltr
parents: 874
diff changeset
   381
    this.$position = IriSP.jQuery('<div>').addClass("Ldt-Polemic-Position");
1069
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
   382
874
38b65761a7d5 TooltipWidget, SliderWidget, corrections in AnnotationList, CSS are now split
veltr
parents: 842
diff changeset
   383
    this.$zone.append(this.$position);
1069
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
   384
874
38b65761a7d5 TooltipWidget, SliderWidget, corrections in AnnotationList, CSS are now split
veltr
parents: 842
diff changeset
   385
    this.$zone.click(function(_e) {
38b65761a7d5 TooltipWidget, SliderWidget, corrections in AnnotationList, CSS are now split
veltr
parents: 842
diff changeset
   386
        var _x = _e.pageX - _this.$zone.offset().left;
957
4da0a5740b6c Starting 'players-as-widgets' branch
veltr
parents: 937
diff changeset
   387
        _this.media.setCurrentTime(_this.media.duration * _x / _this.width);
874
38b65761a7d5 TooltipWidget, SliderWidget, corrections in AnnotationList, CSS are now split
veltr
parents: 842
diff changeset
   388
    });
1069
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
   389
924
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 916
diff changeset
   390
    this.$.append('<div class="Ldt-Polemic-Tooltip"></div>');
1069
2409cb4cebaf getting various changes from github
ymh <ymh.work@gmail.com>
parents: 1068
diff changeset
   391
986
f9d51dd4a3fe Tooltip Improvements, Update Popcorn
veltr
parents: 983
diff changeset
   392
    this.insertSubwidget(
f9d51dd4a3fe Tooltip Improvements, Update Popcorn
veltr
parents: 983
diff changeset
   393
        this.$.find(".Ldt-Polemic-Tooltip"),
f9d51dd4a3fe Tooltip Improvements, Update Popcorn
veltr
parents: 983
diff changeset
   394
        {
f9d51dd4a3fe Tooltip Improvements, Update Popcorn
veltr
parents: 983
diff changeset
   395
            type: "Tooltip",
f9d51dd4a3fe Tooltip Improvements, Update Popcorn
veltr
parents: 983
diff changeset
   396
            min_x: 0,
f9d51dd4a3fe Tooltip Improvements, Update Popcorn
veltr
parents: 983
diff changeset
   397
            max_x: this.width
f9d51dd4a3fe Tooltip Improvements, Update Popcorn
veltr
parents: 983
diff changeset
   398
        },
f9d51dd4a3fe Tooltip Improvements, Update Popcorn
veltr
parents: 983
diff changeset
   399
        "tooltip"
f9d51dd4a3fe Tooltip Improvements, Update Popcorn
veltr
parents: 983
diff changeset
   400
    );
1012
7e18d953a1f8 Filter Tweets in Polemic Widget on duration = 0
veltr
parents: 1004
diff changeset
   401
};
194
f5d86e5c4a56 some cleaning. Also added a progression indicator.
hamidouk
parents: 192
diff changeset
   402
957
4da0a5740b6c Starting 'players-as-widgets' branch
veltr
parents: 937
diff changeset
   403
IriSP.Widgets.Polemic.prototype.onTimeupdate = function(_time) {
4da0a5740b6c Starting 'players-as-widgets' branch
veltr
parents: 937
diff changeset
   404
    var _x = Math.floor( this.width * _time / this.media.duration);
874
38b65761a7d5 TooltipWidget, SliderWidget, corrections in AnnotationList, CSS are now split
veltr
parents: 842
diff changeset
   405
    this.$elapsed.css({
38b65761a7d5 TooltipWidget, SliderWidget, corrections in AnnotationList, CSS are now split
veltr
parents: 842
diff changeset
   406
        width:  _x + "px"
38b65761a7d5 TooltipWidget, SliderWidget, corrections in AnnotationList, CSS are now split
veltr
parents: 842
diff changeset
   407
    });
38b65761a7d5 TooltipWidget, SliderWidget, corrections in AnnotationList, CSS are now split
veltr
parents: 842
diff changeset
   408
    this.$position.css({
875
43629caa77bc Big refactoring of widget files + started migration of segmentwidget
veltr
parents: 874
diff changeset
   409
        left: _x + "px"
1012
7e18d953a1f8 Filter Tweets in Polemic Widget on duration = 0
veltr
parents: 1004
diff changeset
   410
    });
7e18d953a1f8 Filter Tweets in Polemic Widget on duration = 0
veltr
parents: 1004
diff changeset
   411
};