web/data/cubicweb.flot.js
author Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
Mon, 11 Oct 2010 19:12:59 +0200
changeset 6448 8590d82e9b1b
parent 5658 7b9553a9db65
child 7567 d6366de1d0dc
permissions -rw-r--r--
[javascript] update to jQuery 1.4.2 and jQuery-ui 1.8.5 The most notable changes are : - A bug in jQuery 1.4.2 forces us to add 2 noop() methods on cw objects to handle event unbinding, see : http://dev.jquery.com/ticket/6184 for more details. - jquery.autocomplete.js is not maintained anymore as it now has a standard implementation in jquery ui. The downside is that the new autocomplete version needs more work to be used. cubicweb.widgets.js defines a cwautocomplete plugin which is just a (not so) thin wrapper around the std autocomplete plugin to keep backward compatibility and usage simplicty. The original autocomplete author wrote a nice migration guide : http://www.learningjquery.com/2010/06/autocomplete-migration-guide - If you're using jQuery.ajax directly, you might have surprises with arguments serialization for arrays. To get the old behaviour, you need to pass a `traditional: true` extra arguments to jQuery.ajax. Of course, it's transparent if you're using cubicweb higher level helpers such as loadxhtml, loadRemote, etc.
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) {
f36d43f00f32 [views] plot with flot and get rid of matplotlib
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    16
    if (item) {
f36d43f00f32 [views] plot with flot and get rid of matplotlib
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    17
        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
    18
            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
    19
            $("#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
    20
            var x = item.datapoint[0].toFixed(2),
5658
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 2564
diff changeset
    21
            y = item.datapoint[1].toFixed(2);
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
    22
            if (item.datapoint.length == 3) {
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
    23
                x = new Date(item.datapoint[2]);
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
    24
                x = x.toLocaleDateString() + ' ' + x.toLocaleTimeString();
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
    25
            } else if (item.datapoint.length == 4) {
5658
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 2564
diff changeset
    26
                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
    27
                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
    28
            }
5658
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 2564
diff changeset
    29
            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
    30
        }
1888
f36d43f00f32 [views] plot with flot and get rid of matplotlib
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    31
    } else {
f36d43f00f32 [views] plot with flot and get rid of matplotlib
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    32
        $("#tooltip").remove();
f36d43f00f32 [views] plot with flot and get rid of matplotlib
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    33
        previousPoint = null;
f36d43f00f32 [views] plot with flot and get rid of matplotlib
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    34
    }
f36d43f00f32 [views] plot with flot and get rid of matplotlib
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff changeset
    35
}
5658
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 2564
diff changeset
    36