Statistics
| Branch: | Tag: | Revision:

root / snf-cyclades-app / synnefo / ui / static / snf / js / tests / jquery.profile.js @ 442e88bf

History | View | Annotate | Download (753 Bytes)

1 e4574d0f Kostas Papadimitriou
//this object holds the results
2 e4574d0f Kostas Papadimitriou
$profile = {};
3 e4574d0f Kostas Papadimitriou
old$ = jQuery;
4 e4574d0f Kostas Papadimitriou
$ = function () {
5 e4574d0f Kostas Papadimitriou
var args = Array.prototype.slice.apply(arguments);
6 e4574d0f Kostas Papadimitriou
if (args && args[0] && typeof args[0] === "string") {
7 e4574d0f Kostas Papadimitriou
    $profile[args[0]] = typeof $profile[args[0]] === "undefined" ? 1 : $profile[args[0]] += 1;
8 e4574d0f Kostas Papadimitriou
}
9 e4574d0f Kostas Papadimitriou
return old$.apply(this, arguments);
10 e4574d0f Kostas Papadimitriou
};
11 e4574d0f Kostas Papadimitriou
old$.extend(true, $, old$);
12 e4574d0f Kostas Papadimitriou
jQuery = $;
13 e4574d0f Kostas Papadimitriou
14 e4574d0f Kostas Papadimitriou
$$profile = function(limit) {
15 e4574d0f Kostas Papadimitriou
    var limit = limit || 10;
16 e4574d0f Kostas Papadimitriou
    results = _.select(_.map($profile, function(val,key){
17 e4574d0f Kostas Papadimitriou
        if (val > limit)
18 e4574d0f Kostas Papadimitriou
            return [key, val]
19 e4574d0f Kostas Papadimitriou
20 e4574d0f Kostas Papadimitriou
        return false;
21 e4574d0f Kostas Papadimitriou
    }), function(r){ return r })
22 e4574d0f Kostas Papadimitriou
    
23 e4574d0f Kostas Papadimitriou
    var sorted = _.sortBy(results, function(el) {
24 e4574d0f Kostas Papadimitriou
        return -el[1];
25 e4574d0f Kostas Papadimitriou
    })
26 e4574d0f Kostas Papadimitriou
27 e4574d0f Kostas Papadimitriou
    _.each(sorted, function(el) {
28 e4574d0f Kostas Papadimitriou
        console.log(el[0], el[1])
29 e4574d0f Kostas Papadimitriou
    })
30 e4574d0f Kostas Papadimitriou
}