web/data/cubicweb.iprogress.js
author Pierre-Yves David <pierre-yves.david@logilab.fr>
Wed, 21 Mar 2012 18:33:12 +0100
branchstable
changeset 8333 baa3ea5eac2b
parent 5658 7b9553a9db65
permissions -rw-r--r--
querier: Improve error message when ERQLExpression fails on some entity (closes #2267081) When an RQL variable is indeed "constant" (we know it's eid) ERQL expression are not inserted but checked prior query execution. If the session have no read access to the entity an `Unauthorized` exception is raised. This changeset add a meaningfull message to this exception:: No read acces on "X" with eid 42.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4700
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     1
function ProgressBar() {
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     2
    this.budget = 100;
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     3
    this.todo = 100;
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     4
    this.done = 100;
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     5
    this.color_done = "green";
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     6
    this.color_budget = "blue";
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     7
    this.color_todo = "#cccccc"; //  grey
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     8
    this.height = 16;
5658
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 4700
diff changeset
     9
    this.middle = this.height / 2;
4700
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    10
    this.radius = 4;
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    11
}
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    12
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    13
ProgressBar.prototype.draw_one_rect = function(ctx, pos, color, fill) {
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    14
    ctx.beginPath();
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    15
    ctx.lineWidth = 1;
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    16
    ctx.strokeStyle = color;
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    17
    if (fill) {
5658
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 4700
diff changeset
    18
        ctx.fillStyle = color;
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 4700
diff changeset
    19
        ctx.fillRect(0, 0, pos, this.middle * 2);
4700
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    20
    } else {
5658
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 4700
diff changeset
    21
        ctx.lineWidth = 2;
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 4700
diff changeset
    22
        ctx.strokeStyle = "black";
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 4700
diff changeset
    23
        ctx.moveTo(pos, 0);
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 4700
diff changeset
    24
        ctx.lineTo(pos, this.middle * 2);
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 4700
diff changeset
    25
        ctx.stroke();
4700
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    26
    }
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    27
};
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    28
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    29
ProgressBar.prototype.draw_one_circ = function(ctx, pos, color) {
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    30
    ctx.beginPath();
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    31
    ctx.lineWidth = 2;
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    32
    ctx.strokeStyle = color;
5658
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 4700
diff changeset
    33
    ctx.moveTo(0, this.middle);
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 4700
diff changeset
    34
    ctx.lineTo(pos, this.middle);
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 4700
diff changeset
    35
    ctx.arc(pos, this.middle, this.radius, 0, Math.PI * 2, true);
4700
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    36
    ctx.stroke();
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    37
};
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    38
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    39
ProgressBar.prototype.draw_circ = function(ctx) {
5658
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 4700
diff changeset
    40
    this.draw_one_circ(ctx, this.budget, this.color_budget);
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 4700
diff changeset
    41
    this.draw_one_circ(ctx, this.todo, this.color_todo);
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 4700
diff changeset
    42
    this.draw_one_circ(ctx, this.done, this.color_done);
4700
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    43
};
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    44
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    45
ProgressBar.prototype.draw_rect = function(ctx) {
5658
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 4700
diff changeset
    46
    this.draw_one_rect(ctx, this.todo, this.color_todo, true);
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 4700
diff changeset
    47
    this.draw_one_rect(ctx, this.done, this.color_done, true);
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 4700
diff changeset
    48
    this.draw_one_rect(ctx, this.budget, this.color_budget, false);
4700
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    49
};
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    50
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    51
function draw_progressbar(cid, done, todo, budget, color) {
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    52
    var canvas = document.getElementById(cid);
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    53
    if (canvas.getContext) {
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    54
        var ctx = canvas.getContext("2d");
5658
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 4700
diff changeset
    55
        var bar = new ProgressBar();
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 4700
diff changeset
    56
        bar.budget = budget;
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 4700
diff changeset
    57
        bar.todo = todo;
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 4700
diff changeset
    58
        bar.done = done;
4700
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    59
        bar.color_done = color;
5658
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 4700
diff changeset
    60
        bar.draw_rect(ctx);
4700
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    61
    }
b981c7d3e3c0 [iprogress] missing js file
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
    62
}
5658
7b9553a9db65 [ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents: 4700
diff changeset
    63