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