<% osm = @trans.t.osm page = @trans.t.pages.relations %> function page_init() { create_flexigrid('grid-relations', { url: '/api/4/relations/all', colModel: [ { display: '<%= h(osm.relation_type) %>', name: 'rtype', width: 220, sortable: true }, { display: '<%= h(osm.relations) %>', name: 'count', width: 250, sortable: true, align: 'center' }, { display: '<%= h(osm.tag) %>', name: 'tag', width: 250, sortable: false }, { display: '<%= h(page.prevalent_roles) %>', name: 'prevalent_roles', width: 550, sortable: false } ], searchitems: [ { display: '<%= h(osm.relation_type) %>', name: 'rtype' } ], sortname: 'count', sortorder: 'desc', preProcess: function(data) { data.rows = jQuery.map(data.data, function(row, i) { return { 'cell': [ link_to_rtype(row.rtype), fmt_value_with_percent(row.count, row.count_fraction), link_to_tag('type', row.rtype), fmt_prevalent_role_list(row.prevalent_roles) ] }; }); return data; } }); }; function fmt_prevalent_role_list(list) { if (list === null) { return empty('<%= h(page.no_information) %>'); } if (list.length == 0) { return empty(page.roles_less_than_one_percent); } return jQuery.map(list, function(item, i) { if (item.role) { return tag('span', fmt_role(item.role), { tipsy: 'e', title: html_escape(item.role) + ' (' + fmt_as_percent(item.fraction) + ')' }); } else { return tag('span', empty('<%= h(page.empty_role) %>'), { tipsy: 'e', title: '(' + fmt_as_percent(item.fraction) + ')' }); } }).join(' • '); }