summaryrefslogtreecommitdiff
path: root/web/views/reports/language_comparison_table_for_keys_in_the_wiki.erb
blob: e6655d1aa581f8171f5667d4c85aa88e81aada59 (plain)
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<%
    @languages = @db.execute('SELECT language FROM wiki_languages ORDER by language').map do |row|
        row['language']
    end

    lang_lookup = Hash.new
    @languages.each_with_index do |lang, idx|
        lang_lookup[lang] = idx + 1
    end
    @languages_lookup = @languages.map{ |lang| "'#{lang}': #{lang_lookup[lang]}" }.join(', ')
%>
<div class="pre">
    <h1><%= t.reports.language_comparison_table_for_keys_in_the_wiki.name %></h1>
    <%= t.reports.language_comparison_table_for_keys_in_the_wiki.intro %>
</div>
<div class="box resize">
    <table id="grid-keys">
    </table>
    <table class="boxpre">
        <tr><td><img src="/img/sources/wiki/wiki-t.png" alt="[t]"/></td><td><%= t.reports.language_comparison_table_for_keys_in_the_wiki.icons.template %></td></tr>
        <tr><td><img src="/img/sources/wiki/wiki-e.png" alt="[e]"/></td><td><%= t.reports.language_comparison_table_for_keys_in_the_wiki.icons.error    %></td></tr>
        <tr><td><img src="/img/sources/wiki/wiki-p.png" alt="[p]"/></td><td><%= t.reports.language_comparison_table_for_keys_in_the_wiki.icons.page     %></td></tr>
        <tr><td><img src="/img/sources/wiki/wiki-r.png" alt="[r]"/></td><td><%= t.reports.language_comparison_table_for_keys_in_the_wiki.icons.redirect %></td></tr>
    </table>
</div>
<script type="text/javascript">
    jQuery(document).ready(function() {
        resize_wrapper();
        var lang_to_idx = {
            <%= @languages_lookup %>
        };
        var rp = calculate_flexigrid_rp(jQuery('div.box')) - 1;
        current_grid = 'grid-keys';
        grids[current_grid] = jQuery('#grid-keys').flexigrid({
            url: '/api/2/wiki/keys',
            method: 'GET',
            dataType: 'json',
            colModel: [
                { display: '<br/>Key', name: 'key', width: 200, sortable: true },
                <% @languages.each do |lang| %>
                { display: '<%= ::Language[lang].native_name %><br /><span class="lang" style="margin-top: 2px;"><%= lang %></span>', name: '<%= lang %>', align: 'center', width: 60, sortable: false },
                <% end %>
            ],
            searchitems: [
                { display: 'Key', name: 'key' }
            ],
            sortname: 'key',
            sortorder: 'asc',
            showToggleBtn: false,
            showTableToggleBtn: false,
            usepager: true,
            useRp: false,
            rp: rp,
            height: 'auto',
            onSuccess: function(grid) {
                grid.fixHeight();
            },
            preProcess: function(data) {
                return {
                    total: data.total,
                    page: data.page,
                    rows: jQuery.map(data.data, function(row, i) {
                        d = [link_to_key(row.key) <%= @languages.map{ ", ''"}.join() %>];
                        for (var lang in row.lang) {
                            ptype = row.lang[lang];
                            d[lang_to_idx[lang]] = '<img src="/img/sources/wiki/wiki-' + ptype + '.png" alt="[' + ptype + ']"/>';
                        }
                        return { 'cell': d };
                    })
                };
            }
        });
    });
</script>