File size: 2,318 Bytes
d736789
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
const stats = (function () {
    return {

        updateStats: function () {
            var statsDiv = $('#stats');
            if (statsDiv.children().length > 0) {
                statsDiv.empty();
                statsDiv.tooltipster('destroy');
            }

            var s = bib.nEntries + " publications";
            if (bib.nEntries != Object.keys(bib.entries).length) {
                s = bib.nEntries + ' of ' + Object.keys(bib.entries).length + ' publications';
            } else if (bib.nEntries == 0) {
                s = "no publications";
            } else if (bib.nEntries == 1) {
                s = "1 publication";
            }
            var similarities = [];
            for (var i = 0; i < selectors.nSelectors; i++) {
                similarities.push(0)
            }
            $.each(bib.filteredEntries, function (id) {
                $.each(bib.entrySelectorSimilarities[id], function (i, similarity) {
                    similarities[i] += similarity;
                });
            });
            $.each(similarities, function (i, similarity) {
                if (similarity) {
                    similarities[i] = similarity / bib.nEntries;
                }
            });
            var sparklineDiv = $("<div>", {
                class: "vis sparkline"
            }).appendTo(statsDiv);
            selectors.vis(sparklineDiv, similarities);
            statsDiv.append($('<span>', {
                text: s
            }));

            var tooltipDiv = $('<div>');
            $('<h3><span class="label">literature collection: </span>' + s + '</h3>').appendTo(tooltipDiv);
            var totalSimilarity = selectors.computeTotalSimilarity(similarities);
            if (selectors.getNActiveSelectors() > 0) {
                $('<div><span class="label">selector agreement: </span>' + totalSimilarity.toFixed(2) + '</div>').appendTo(tooltipDiv);
                if (totalSimilarity > 0) {
                    var visDiv = $('<div>', {
                        class: 'vis'
                    }).appendTo(tooltipDiv);
                    selectors.vis(visDiv, similarities);
                }
            }
            statsDiv.tooltipster({
                content: tooltipDiv,
                theme: 'tooltipster-survis'
            });
        }
    }
})();