cubicweb/web/data/cubicweb.flot.js
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Thu, 24 Nov 2016 15:36:26 +0100
changeset 11892 08cf02efc7ce
parent 11057 0b59724cb3f2
permissions -rw-r--r--
Simplify and fix _cw.drop_entity_cache * it's never called with an eid as argument, beside in a useless case in test (removed) * the only place where it's called from outside the tests is in full-text reindexation in server.checkintegrity: we could removed the request implementation and move it in unittest_rset, byt I decided to keep it for consistency with all other entity cache handling methods * get back a fix from Julien Cristau for the connection's implementation, quoting is commit message: When removing an entity from the transaction's cache, clear the entity's own cache May avoid issues where an entity object is still accessible somewhere else (e.g. an operation) after dropping it from the transaction's cache, with a stale attribute or relation cache.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1888
f36d43f00f32 [views] plot with flot and get rid of matplotlib
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
     1
function showTooltip(x, y, contents) {
5658
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 2564
diff changeset
     2
    $('<div id="tooltip">' + contents + '</div>').css({
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 2564
diff changeset
     3
        position: 'absolute',
2564
5f38f5eaff86 [F plot] make jquery plots accept a fourth column that specifies a date format for tooltips
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 1888
diff changeset
     4
        display: 'none',
5f38f5eaff86 [F plot] make jquery plots accept a fourth column that specifies a date format for tooltips
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 1888
diff changeset
     5
        top: y + 5,
5658
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 2564
diff changeset
     6
        left: x + 5,
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 2564
diff changeset
     7
        border: '1px solid #fdd',
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 2564
diff changeset
     8
        padding: '2px',
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 2564
diff changeset
     9
        'background-color': '#fee',
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 2564
diff changeset
    10
        opacity: 0.80
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 2564
diff changeset
    11
    }).appendTo("body").fadeIn(200);
1888
f36d43f00f32 [views] plot with flot and get rid of matplotlib
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    12
}
f36d43f00f32 [views] plot with flot and get rid of matplotlib
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    13
f36d43f00f32 [views] plot with flot and get rid of matplotlib
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    14
var previousPoint = null;
f36d43f00f32 [views] plot with flot and get rid of matplotlib
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    15
function onPlotHover(event, pos, item) {
7567
d6366de1d0dc Display proper date in plot/flot (closes #1725589)
Arthur Lutz <arthur.lutz@logilab.fr>
parents: 5658
diff changeset
    16
    var $fig = $(event.target);
1888
f36d43f00f32 [views] plot with flot and get rid of matplotlib
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    17
    if (item) {
f36d43f00f32 [views] plot with flot and get rid of matplotlib
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    18
        if (previousPoint != item.datapoint) {
2564
5f38f5eaff86 [F plot] make jquery plots accept a fourth column that specifies a date format for tooltips
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 1888
diff changeset
    19
            previousPoint = item.datapoint;
5f38f5eaff86 [F plot] make jquery plots accept a fourth column that specifies a date format for tooltips
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 1888
diff changeset
    20
            $("#tooltip").remove();
5f38f5eaff86 [F plot] make jquery plots accept a fourth column that specifies a date format for tooltips
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 1888
diff changeset
    21
            var x = item.datapoint[0].toFixed(2),
7567
d6366de1d0dc Display proper date in plot/flot (closes #1725589)
Arthur Lutz <arthur.lutz@logilab.fr>
parents: 5658
diff changeset
    22
                y = item.datapoint[1].toFixed(2);
d6366de1d0dc Display proper date in plot/flot (closes #1725589)
Arthur Lutz <arthur.lutz@logilab.fr>
parents: 5658
diff changeset
    23
            if ($fig.data('mode') == 'time') {
d6366de1d0dc Display proper date in plot/flot (closes #1725589)
Arthur Lutz <arthur.lutz@logilab.fr>
parents: 5658
diff changeset
    24
                x = new Date(item.datapoint[0]);
d6366de1d0dc Display proper date in plot/flot (closes #1725589)
Arthur Lutz <arthur.lutz@logilab.fr>
parents: 5658
diff changeset
    25
                var dateformat = $fig.data('dateformat');
d6366de1d0dc Display proper date in plot/flot (closes #1725589)
Arthur Lutz <arthur.lutz@logilab.fr>
parents: 5658
diff changeset
    26
                if (dateformat) {
d6366de1d0dc Display proper date in plot/flot (closes #1725589)
Arthur Lutz <arthur.lutz@logilab.fr>
parents: 5658
diff changeset
    27
                    x = x.strftime(dateformat);
d6366de1d0dc Display proper date in plot/flot (closes #1725589)
Arthur Lutz <arthur.lutz@logilab.fr>
parents: 5658
diff changeset
    28
                } else {
d6366de1d0dc Display proper date in plot/flot (closes #1725589)
Arthur Lutz <arthur.lutz@logilab.fr>
parents: 5658
diff changeset
    29
                    x = x.toLocaleDateString() + ' ' + x.toLocaleTimeString();
d6366de1d0dc Display proper date in plot/flot (closes #1725589)
Arthur Lutz <arthur.lutz@logilab.fr>
parents: 5658
diff changeset
    30
                }
2564
5f38f5eaff86 [F plot] make jquery plots accept a fourth column that specifies a date format for tooltips
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 1888
diff changeset
    31
            } else if (item.datapoint.length == 4) {
7567
d6366de1d0dc Display proper date in plot/flot (closes #1725589)
Arthur Lutz <arthur.lutz@logilab.fr>
parents: 5658
diff changeset
    32
                // NOTE: this has no chance to work with jquery flot >= 0.6 because
d6366de1d0dc Display proper date in plot/flot (closes #1725589)
Arthur Lutz <arthur.lutz@logilab.fr>
parents: 5658
diff changeset
    33
                // jquery flot normalizes datapoints and only keeps 2 columns. Either
d6366de1d0dc Display proper date in plot/flot (closes #1725589)
Arthur Lutz <arthur.lutz@logilab.fr>
parents: 5658
diff changeset
    34
                // use processRawData hook or use the 'dateformat' option.
5658
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 2564
diff changeset
    35
                x = new Date(item.datapoint[2]);
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 2564
diff changeset
    36
                x = x.strftime(item.datapoint[3]);
1888
f36d43f00f32 [views] plot with flot and get rid of matplotlib
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    37
            }
5658
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 2564
diff changeset
    38
            showTooltip(item.pageX, item.pageY, item.series.label + ': (' + x + ' ; ' + y + ')');
2564
5f38f5eaff86 [F plot] make jquery plots accept a fourth column that specifies a date format for tooltips
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 1888
diff changeset
    39
        }
1888
f36d43f00f32 [views] plot with flot and get rid of matplotlib
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    40
    } else {
f36d43f00f32 [views] plot with flot and get rid of matplotlib
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    41
        $("#tooltip").remove();
f36d43f00f32 [views] plot with flot and get rid of matplotlib
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    42
        previousPoint = null;
f36d43f00f32 [views] plot with flot and get rid of matplotlib
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    43
    }
f36d43f00f32 [views] plot with flot and get rid of matplotlib
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    44
}
5658
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 2564
diff changeset
    45