summaryrefslogtreecommitdiff
path: root/web/viewsjs/reports
diff options
context:
space:
mode:
authorJochen Topf <jochen@topf.org>2012-01-23 18:03:32 +0100
committerJochen Topf <jochen@topf.org>2012-01-23 18:03:32 +0100
commit9e2e806221d12e0804559e626c88994e5197399a (patch)
tree42fdd8f886672e328c6cc6a41e62ecd2e90c383e /web/viewsjs/reports
parente82337c44404f4e42081db24152e86c8ca41e7a5 (diff)
downloadtaginfo-9e2e806221d12e0804559e626c88994e5197399a.tar
taginfo-9e2e806221d12e0804559e626c88994e5197399a.tar.gz
Move flexigrid table definitions into javascript files for each page which are created dynamically according to the language.
Diffstat (limited to 'web/viewsjs/reports')
-rw-r--r--web/viewsjs/reports/characters_in_keys.js.erb84
-rw-r--r--web/viewsjs/reports/frequently_used_keys_without_wiki_page.js.erb39
-rw-r--r--web/viewsjs/reports/josm_styles.js.erb37
-rw-r--r--web/viewsjs/reports/key_lengths.js.erb49
-rw-r--r--web/viewsjs/reports/languages.js.erb32
-rw-r--r--web/viewsjs/reports/wiki_pages_about_non_existing_keys.js.erb35
6 files changed, 276 insertions, 0 deletions
diff --git a/web/viewsjs/reports/characters_in_keys.js.erb b/web/viewsjs/reports/characters_in_keys.js.erb
new file mode 100644
index 0000000..ce48a0c
--- /dev/null
+++ b/web/viewsjs/reports/characters_in_keys.js.erb
@@ -0,0 +1,84 @@
+var create_flexigrid_for = {
+ reports: {
+ characters_in_keys: {
+ whitespace: function() {
+ create_flexigrid('grid-whitespace', {
+ url: '/api/2/db/keys?filters=characters_space&include=prevalent_values',
+ colModel: [
+ { display: texts.osm.key, name: 'key', width: 250, sortable: true },
+ { display: '<span title="Number of objects with this key"><img src="/img/types/all.16.png" alt=""/> Total</span>', name: 'count_all', width: 250, sortable: true, align: 'center' },
+ { display: 'Users', name: 'users_all', width: 44, sortable: true, align: 'right' },
+ { display: '<img src="/img/sources/wiki.16.png" alt="Wiki" title="Wiki"/>', name: 'in_wiki', width: 20, sortable: true, align: 'center' },
+ { display: '<img src="/img/sources/josm.16.png" alt="JOSM" title="JOSM"/>', name: 'in_josm', width: 20, sortable: true, align: 'center' },
+ // { display: '<img src="/img/sources/potlatch.16.png" alt="Potlatch 2" title="Potlatch 2"/>', name: 'in_potlatch', width: 20, sortable: true, align: 'center' },
+ // { display: '<img src="/img/sources/merkaartor.16.png" alt="Merkaartor" title="Merkaartor"/>', name: 'in_merkaartor', width: 20, sortable: true, align: 'center' },
+ { display: '<span title="Number of different values for this key">Values</span>', name: 'values_all', width: 70, sortable: true, align: 'right' },
+ { display: 'Prevalent Values', name: 'prevalent_values', width: 500, sortable: true }
+ ],
+ searchitems: [
+ { display: texts.osm.key, name: 'key' }
+ ],
+ sortname: 'count_all',
+ sortorder: 'desc',
+ preProcess: function(data) {
+ data.rows = jQuery.map(data.data, function(row, i) {
+ return { 'cell': [
+ link_to_key(row.key),
+ print_value_with_percent(row.count_all, row.count_all_fraction),
+ print_with_ts(row.users_all),
+ row.in_wiki ? '&#x2714;' : '-',
+ row.in_josm ? '&#x2714;' : '-',
+ // row.in_potlatch ? '&#x2714;' : '-',
+ // row.in_merkaartor ? '&#x2714;' : '-',
+ print_with_ts(row.values_all),
+ print_prevalent_value_list(row.key, row.prevalent_values)
+ ] };
+ });
+ return data;
+ }
+ });
+ },
+ problematic: function() {
+ create_flexigrid('grid-problematic', {
+ url: '/api/2/db/keys?filters=characters_problematic&include=prevalent_values',
+ colModel: [
+ { display: texts.osm.key, name: 'key', width: 250, sortable: true },
+ { display: '<span title="Number of objects with this key"><img src="/img/types/all.16.png" alt=""/> Total</span>', name: 'count_all', width: 250, sortable: true, align: 'center' },
+ { display: 'Users', name: 'users_all', width: 44, sortable: true, align: 'right' },
+ { display: '<img src="/img/sources/wiki.16.png" alt="Wiki" title="Wiki"/>', name: 'in_wiki', width: 20, sortable: true, align: 'center' },
+ { display: '<img src="/img/sources/josm.16.png" alt="JOSM" title="JOSM"/>', name: 'in_josm', width: 20, sortable: true, align: 'center' },
+ // { display: '<img src="/img/sources/potlatch.16.png" alt="Potlatch 2" title="Potlatch 2"/>', name: 'in_potlatch', width: 20, sortable: true, align: 'center' },
+ // { display: '<img src="/img/sources/merkaartor.16.png" alt="Merkaartor" title="Merkaartor"/>', name: 'in_merkaartor', width: 20, sortable: true, align: 'center' },
+ { display: '<span title="Number of different values for this key">Values</span>', name: 'values_all', width: 70, sortable: true, align: 'right' },
+ { display: 'Prevalent Values', name: 'prevalent_values', width: 500, sortable: true }
+ ],
+ searchitems: [
+ { display: texts.osm.key, name: 'key' }
+ ],
+ sortname: 'count_all',
+ sortorder: 'desc',
+ preProcess: function(data) {
+ data.rows = jQuery.map(data.data, function(row, i) {
+ return { 'cell': [
+ link_to_key(row.key),
+ print_value_with_percent(row.count_all, row.count_all_fraction),
+ print_with_ts(row.users_all),
+ row.in_wiki ? '&#x2714;' : '-',
+ row.in_josm ? '&#x2714;' : '-',
+ // row.in_potlatch ? '&#x2714;' : '-',
+ // row.in_merkaartor ? '&#x2714;' : '-',
+ print_with_ts(row.values_all),
+ print_prevalent_value_list(row.key, row.prevalent_values)
+ ] };
+ });
+ return data;
+ }
+ });
+ }
+ }
+ }
+};
+
+function page_init() {
+ page_init2();
+}
diff --git a/web/viewsjs/reports/frequently_used_keys_without_wiki_page.js.erb b/web/viewsjs/reports/frequently_used_keys_without_wiki_page.js.erb
new file mode 100644
index 0000000..465059f
--- /dev/null
+++ b/web/viewsjs/reports/frequently_used_keys_without_wiki_page.js.erb
@@ -0,0 +1,39 @@
+var create_flexigrid_for = {
+ reports: {
+ frequently_used_keys_without_wiki_page: function(english) {
+ create_flexigrid('grid-keys', {
+ url: '/api/2/reports/frequently_used_keys_without_wiki_page?english=' + english,
+ colModel: [
+ { display: 'Create Wiki Page...', name: 'create_wiki_page', width: 200, sortable: false },
+ { display: texts.osm.key, name: 'key', width: 180, sortable: true },
+ { display: '<span title="Number of objects with this key">Total</span>', name: 'count_all', width: 70, sortable: true, align: 'right' },
+ { display: 'Users', name: 'users_all', width: 44, sortable: true, align: 'right' },
+ { display: '<span title="Number of different values for this key">Values</span>', name: 'values_all', width: 70, sortable: true, align: 'right' },
+ { display: 'Prevalent Values', name: 'prevalent_values', width: 500, sortable: true }
+ ],
+ searchitems: [
+ { display: texts.osm.key, name: 'key' }
+ ],
+ sortname: 'count_all',
+ sortorder: 'desc',
+ preProcess: function(data) {
+ data.rows = jQuery.map(data.data, function(row, i) {
+ return { 'cell': [
+ print_wiki_link('Key:' + row.key, { edit: true }),
+ link_to_key(row.key),
+ print_with_ts(row.count_all),
+ print_with_ts(row.users_all),
+ print_with_ts(row.values_all),
+ print_prevalent_value_list(row.key, row.prevalent_values)
+ ] };
+ });
+ return data;
+ }
+ });
+ }
+ }
+};
+
+function page_init() {
+ page_init2();
+}
diff --git a/web/viewsjs/reports/josm_styles.js.erb b/web/viewsjs/reports/josm_styles.js.erb
new file mode 100644
index 0000000..075ff02
--- /dev/null
+++ b/web/viewsjs/reports/josm_styles.js.erb
@@ -0,0 +1,37 @@
+var create_flexigrid_for = {
+ reports: {
+ josm_styles: function(stylename) {
+ create_flexigrid('grid-rules', {
+ url: '/api/2/josm/styles/' + stylename,
+ colModel: [
+ { display: texts.osm.key, name: 'k', width: 300, sortable: true },
+ { display: texts.osm.value, name: 'v', width: 300, sortable: true },
+ { display: 'Icon', name: 'icon', width: 30, sortable: false, align: 'center' },
+ { display: 'Line', name: 'line', width: 30, sortable: false, align: 'center' },
+ { display: 'Area', name: 'area', width: 30, sortable: false, align: 'center' }
+ ],
+ searchitems: [
+ { display: 'Key/Value', name: 'k' }
+ ],
+ sortname: 'k',
+ sortorder: 'asc',
+ preProcess: function(data) {
+ data.rows = jQuery.map(data.data, function(row, i) {
+ return { 'cell': [
+ link_to_key(row.k),
+ row.v ? link_to_value(row.k, row.v) : row.b ? (row.b + ' (Boolean)') : '*',
+ row.icon ? '<img src="/api/2/josm/styles/images?style=standard&image=' + row.icon + '" title="' + row.icon + '" alt=""/>' : '',
+ '<div>' + (row.line_width > 0 ? '<div title="' + row.line_color + '" style="height: ' + row.line_width + 'px; margin-top: ' + (10 - Math.round(row.line_width/2)) + 'px; padding: 0; background-color: ' + row.line_color + '"></div>' : '') + '</div>',
+ row.area_color ? '<div title="' + row.area_color + '" style="height: 18px; background-color: ' + row.area_color + '"></div>' : ''
+ ] };
+ });
+ return data;
+ }
+ });
+ }
+ }
+};
+
+function page_init() {
+ page_init2();
+}
diff --git a/web/viewsjs/reports/key_lengths.js.erb b/web/viewsjs/reports/key_lengths.js.erb
new file mode 100644
index 0000000..897df68
--- /dev/null
+++ b/web/viewsjs/reports/key_lengths.js.erb
@@ -0,0 +1,49 @@
+var create_flexigrid_for = {
+ reports: {
+ key_lengths: {
+ keys: function() {
+ create_flexigrid('grid-keys', {
+ url: '/api/2/db/keys?include=prevalent_values',
+ colModel: [
+ { display: 'Length', name: 'length', width: 60, sortable: true, align: 'right' },
+ { display: texts.osm.key, name: 'key', width: 180, sortable: true },
+ { display: 'Number of Objects', name: 'count_all', width: 250, sortable: true, align: 'center' },
+ { display: '<img src="/img/sources/wiki.16.png" alt="Wiki" title="Wiki"/>', name: 'in_wiki', width: 20, sortable: true, align: 'center' },
+ { display: '<img src="/img/sources/josm.16.png" alt="JOSM" title="JOSM"/>', name: 'in_josm', width: 20, sortable: true, align: 'center' },
+ // { display: '<img src="/img/sources/potlatch.16.png" alt="Potlatch 2" title="Potlatch 2"/>', name: 'in_potlatch', width: 20, sortable: true, align: 'center' },
+ // { display: '<img src="/img/sources/merkaartor.16.png" alt="Merkaartor" title="Merkaartor"/>', name: 'in_merkaartor', width: 20, sortable: true, align: 'center' },
+ { display: '<span title="Number of different values for this key">Values</span>', name: 'values_all', width: 70, sortable: true, align: 'right' },
+ { display: 'Prevalent Values', name: 'prevalent_values', width: 500, sortable: true }
+ ],
+ searchitems: [
+ { display: texts.osm.key, name: 'key' }
+ ],
+ sortname: 'length',
+ sortorder: 'asc',
+ preProcess: function(data) {
+ data.rows = jQuery.map(data.data, function(row, i) {
+ return { 'cell': [
+ row.key.length,
+ link_to_key(row.key),
+ print_value_with_percent(row.count_all, row.count_all_fraction),
+ row.in_wiki ? '&#x2714;' : '-',
+ row.in_josm ? '&#x2714;' : '-',
+ // row.in_potlatch ? '&#x2714;' : '-',
+ // row.in_merkaartor ? '&#x2714;' : '-',
+ print_with_ts(row.values_all),
+ print_prevalent_value_list(row.key, row.prevalent_values)
+ ] };
+ });
+ return data;
+ }
+ });
+ },
+ histogram: function() {
+ }
+ }
+ }
+};
+
+function page_init() {
+ page_init2();
+}
diff --git a/web/viewsjs/reports/languages.js.erb b/web/viewsjs/reports/languages.js.erb
new file mode 100644
index 0000000..5be1b0c
--- /dev/null
+++ b/web/viewsjs/reports/languages.js.erb
@@ -0,0 +1,32 @@
+function page_init() {
+ create_flexigrid('grid-langs', {
+ url: '/api/2/reports/languages',
+ colModel: [
+ { display: 'Code', name: 'code', width: 60, sortable: true },
+ { display: 'Native Name', name: 'native_name', width: 150, sortable: true },
+ { display: 'English Name', name: 'english_name', width: 150, sortable: true },
+ { display: 'Wiki Key Pages', name: 'wiki_key_pages', width: 260, sortable: true, align: 'center' },
+ { display: 'Wiki Tag Pages', name: 'wiki_tag_pages', width: 260, sortable: true, align: 'center' }
+ ],
+ sortname: 'code',
+ sortorder: 'asc',
+ showToggleBtn: false,
+ usepager: false,
+ useRp: false,
+ preProcess: function(data) {
+ return {
+ total: data.total,
+ page: 1,
+ rows: jQuery.map(data.data, function(row, i) {
+ return { 'cell': [
+ '<span class="lang">' + row.code + '</span>',
+ row.native_name,
+ row.english_name,
+ print_value_with_percent(row.wiki_key_pages, row.wiki_key_pages_fraction),
+ print_value_with_percent(row.wiki_tag_pages, row.wiki_tag_pages_fraction)
+ ]};
+ })
+ };
+ }
+ });
+}
diff --git a/web/viewsjs/reports/wiki_pages_about_non_existing_keys.js.erb b/web/viewsjs/reports/wiki_pages_about_non_existing_keys.js.erb
new file mode 100644
index 0000000..9de24a6
--- /dev/null
+++ b/web/viewsjs/reports/wiki_pages_about_non_existing_keys.js.erb
@@ -0,0 +1,35 @@
+function page_init() {
+ create_flexigrid('grid-keys', {
+ url: '/api/2/db/keys?filters=in_wiki,not_in_db&include=wikipages',
+ colModel: [
+ { display: '<img src="/img/sources/wiki.16.png" alt="Wiki" title="Wiki"/>', name: 'in_wiki', width: 20, sortable: true, align: 'center' },
+ { display: '<img src="/img/sources/josm.16.png" alt="JOSM" title="JOSM"/>', name: 'in_josm', width: 20, sortable: true, align: 'center' },
+ // { display: '<img src="/img/sources/potlatch.16.png" alt="Potlatch 2" title="Potlatch 2"/>', name: 'in_potlatch', width: 20, sortable: true, align: 'center' },
+ // { display: '<img src="/img/sources/merkaartor.16.png" alt="Merkaartor" title="Merkaartor"/>', name: 'in_merkaartor', width: 20, sortable: true, align: 'center' },
+ { display: texts.osm.key, name: 'key', width: 260, sortable: true, align: 'left' },
+ { display: 'Wiki Pages', name: 'wikipages', width: 400, sortable: false, align: 'left' }
+ ],
+ searchitems: [
+ { display: texts.osm.key, name: 'key' }
+ ],
+ sortname: 'count_all',
+ sortorder: 'desc',
+ preProcess: function(data) {
+ data.rows = jQuery.map(data.data, function(row, i) {
+ var wikilinks = [];
+ jQuery(row.wikipages).each(function(i, wikipage) {
+ wikilinks.push(print_wiki_link(wikipage.title));
+ });
+ return { 'cell': [
+ row.in_wiki ? '&#x2714;' : '-',
+ row.in_josm ? '&#x2714;' : '-',
+ // row.in_potlatch ? '&#x2714;' : '-',
+ // row.in_merkaartor ? '&#x2714;' : '-',
+ link_to_key(row.key),
+ wikilinks.join(' &nbsp;&bull;&nbsp; ')
+ ] };
+ });
+ return data;
+ }
+ });
+}