summaryrefslogtreecommitdiff
path: root/web/viewsjs/relation.js.erb
blob: 931f33c51d7d88c6ba8a36656f905932d46417a6 (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
<%
    osm = @trans.t.osm
    page = @trans.t.pages.relation
 %>
var create_flexigrid_for = {
    overview: function(rtype) {
        create_flexigrid('grid-overview', {
            url: '/api/4/relation/stats?rtype=' + encodeURIComponent(rtype),
            colModel: [
                { display: '<%= page.overview.member_type %>', name: 'type', width: 100, sortable: true },
                { display: '<%= page.overview.member_count %>', name: 'count', width: 260, sortable: true, align: 'right' }
            ],
            usepager: false,
            useRp: false,
            preProcess: function(data) {
                return {
                    total: 4,
                    page: 1,
                    rows: jQuery.map(data.data, function(row, i) {
                        return { 'cell': [
                            fmt_type_image(row.type),
                            fmt_with_ts(row.count)
                        ]};
                    })
                };
            }
        });
    },
    roles: function(rtype) {
        create_flexigrid('grid-roles', {
            url: '/api/4/relation/roles?type=' + encodeURIComponent(rtype),
            colModel: [
                { display: '<%= osm.relation_member_role %>', name: 'role', width: 250, sortable: true },
                { display: '<span title="<%= page.roles.objects_tooltip %>"><img src="/img/types/all.16.png" width="16" height="16" alt=""/> <%= osm.relation_members %></span>', name: 'count_all_members', width: 250, sortable: true, align: 'center' },
                { display: '<span title="<%= page.roles.nodes_tooltip %>"><img src="/img/types/node.16.png" width="16" height="16" alt=""/> <%= osm.relation_member_nodes %></span>', name: 'count_node_members', width: 250, sortable: true, align: 'center' },
                { display: '<span title="<%= page.roles.ways_tooltip %>"><img src="/img/types/way.16.png" width="16" height="16" alt=""/> <%= osm.relation_member_ways %></span>', name: 'count_way_members', width: 250, sortable: true, align: 'center' },
                { display: '<span title="<%= page.roles.relations_tooltip %>"><img src="/img/types/relation.16.png" width="16" height="16" alt=""/> <%= osm.relation_member_relations %></span>', name: 'count_relation_members', width: 250, sortable: true, align: 'center' },
            ],
            searchitems: [
                { display: '<%= osm.relation_member_role %>', name: 'role' }
            ],
            sortname: 'count_all_members',
            sortorder: 'desc',
            preProcess: function(data) {
                data.rows = jQuery.map(data.data, function(row, i) {
                    return { 'cell': [
                        fmt_role(row.role),
                        fmt_value_with_percent(row.count_all_members, row.count_all_members_fraction),
                        fmt_value_with_percent(row.count_node_members, row.count_node_members_fraction),
                        fmt_value_with_percent(row.count_way_members, row.count_way_members_fraction),
                        fmt_value_with_percent(row.count_relation_members, row.count_relation_members_fraction)
                    ] };
                });
                return data;
            }
        });
    }
};

function page_init() {
    up = function() { window.location = '/relations'; };
    page_init2();
}