diff options
-rw-r--r-- | web/lib/api/test/langtag.rb (renamed from web/lib/api/v4/langtag.rb) | 4 | ||||
-rw-r--r-- | web/lib/reports.rb | 17 | ||||
-rwxr-xr-x | web/taginfo.rb | 4 | ||||
-rw-r--r-- | web/views/index.erb | 2 | ||||
-rw-r--r-- | web/views/reports/index.erb | 2 | ||||
-rw-r--r-- | web/views/taginfo/apidoc.erb | 34 | ||||
-rw-r--r-- | web/viewsjs/reports/name_tags.js.erb | 4 |
7 files changed, 42 insertions, 25 deletions
diff --git a/web/lib/api/v4/langtag.rb b/web/lib/api/test/langtag.rb index a9eadf9..6cc42e5 100644 --- a/web/lib/api/v4/langtag.rb +++ b/web/lib/api/test/langtag.rb @@ -1,7 +1,7 @@ # web/lib/api/v4/langtag.rb class Taginfo < Sinatra::Base - api(4, 'keys/name', { + api(0, 'keys/name', { :description => 'Get list of keys from the database that contain the string "name".', :parameters => { :query => 'Only show keys matching this query (substring match, optional).' }, :paging => :optional, @@ -75,7 +75,7 @@ class Taginfo < Sinatra::Base @@bcp47_filters[type.to_sym] = { :expr => type, :doc => "Show entries of type '#{type}' only." }; end - api(4, 'langtags', { + api(0, 'langtags', { :description => 'Get official subtags from the IETF BCP47 registry.', :parameters => { :query => 'Only show entries matching this query (case insensitive substring match on subtags and description; optional).' }, :paging => :optional, diff --git a/web/lib/reports.rb b/web/lib/reports.rb index 4b1e3d6..398e7da 100644 --- a/web/lib/reports.rb +++ b/web/lib/reports.rb @@ -11,8 +11,14 @@ class Report end end - def self.each_with_index - @@reports.sort_by{ |report| report.title }.each_with_index do |report, idx| + def self.each_visible + @@reports.select{ |report| report.visible? }.sort_by{ |report| report.title }.each do |report| + yield report + end + end + + def self.each_visible_with_index + @@reports.select{ |report| report.visible? }.sort_by{ |report| report.title }.each_with_index do |report, idx| yield report, idx end end @@ -21,6 +27,7 @@ class Report @@reports << self @title = title @sources = Hash.new + @visible = sources.size > 0 sources.each do |id| @sources[id] = 1 end @@ -38,6 +45,10 @@ class Report '/reports/' + name end + def visible? + @visible + end + end Report.new 'Database statistics', :db @@ -48,5 +59,5 @@ Report.new 'Key lengths', :db Report.new 'Language comparison table for keys in the wiki', :wiki Report.new 'Languages', :wiki Report.new 'Wiki pages about non-existing keys', :db, :wiki -#Report.new 'Name tags', :db +Report.new 'Name tags' diff --git a/web/taginfo.rb b/web/taginfo.rb index 11157a9..ea610f3 100755 --- a/web/taginfo.rb +++ b/web/taginfo.rb @@ -203,7 +203,6 @@ class Taginfo < Sinatra::Base load 'lib/api/v4/josm.rb' load 'lib/api/v4/key.rb' load 'lib/api/v4/keys.rb' -# load 'lib/api/v4/langtag.rb' load 'lib/api/v4/relation.rb' load 'lib/api/v4/relations.rb' load 'lib/api/v4/search.rb' @@ -212,6 +211,9 @@ class Taginfo < Sinatra::Base load 'lib/api/v4/tags.rb' load 'lib/api/v4/wiki.rb' + # test API (unstable, do not use) + load 'lib/api/test/langtag.rb' + load 'lib/ui/embed.rb' load 'lib/ui/help.rb' load 'lib/ui/keys.rb' diff --git a/web/views/index.erb b/web/views/index.erb index 381fa94..80a872e 100644 --- a/web/views/index.erb +++ b/web/views/index.erb @@ -19,7 +19,7 @@ <td rowspan="5" class="box"> <p><%= t.pages.reports.intro %></p> <ul style="margin: 0 0 0 18px; padding: 0;"> -<% Report.each do |report| %> +<% Report.each_visible do |report| %> <li><a href="<%= report.url %>"><%= t.reports[report.name].name %></a></li> <% end %> </ul> diff --git a/web/views/reports/index.erb b/web/views/reports/index.erb index 1717977..1bd6e8b 100644 --- a/web/views/reports/index.erb +++ b/web/views/reports/index.erb @@ -6,7 +6,7 @@ <h2><%= t.pages.reports.list %></h2> <table class="list"> <tr><th class="tc" colspan="<%= Source.visible.size %>"/><%= t.pages.reports.data_sources %></th><th class="tl"><%= t.taginfo.report %></th></tr> - <% Report.each_with_index do |report, n| c = (n%2!=0) ? ' even' : '' %> + <% Report.each_visible_with_index do |report, n| c = (n%2!=0) ? ' even' : '' %> <tr> <% Source.visible.each do |source| %> <td class="tc<%= c %>" width="40"><%= source.img(16, t.taginfo.uses_data_from) if report.uses_source?(source.id) %></td> diff --git a/web/views/taginfo/apidoc.erb b/web/views/taginfo/apidoc.erb index 2dec778..0dcd903 100644 --- a/web/views/taginfo/apidoc.erb +++ b/web/views/taginfo/apidoc.erb @@ -13,21 +13,24 @@ <h2>Table of Contents</h2> <ul> -<% API.paths.keys.sort.each do |version| - API.paths[version].keys.sort.each do |path| - doc = API.paths[version][path] - if !doc.deprecated? || params[:show_deprecated] %> +<% API.paths.keys.sort.each do |version| + if version > 0 + API.paths[version].keys.sort.each do |path| + doc = API.paths[version][path] + if !doc.deprecated? || params[:show_deprecated] %> <li><a href="#<%= doc.complete_path.tr('/', '_')[1,1000] %>"><%= doc.complete_path %></a><%= doc.deprecated? ? " <span class='bad'>Deprecated. Use <a href='##{ doc.superseded_by.tr('/', '_')[1,1000] }'>#{ doc.superseded_by }</a> instead.</span>" : '' %></li> -<% end - end - end %> +<% end + end + end + end %> </ul> -<% API.paths.keys.sort.each do |version| - API.paths[version].keys.sort.each do |path| - doc = API.paths[version][path] - if !doc.deprecated? || params[:show_deprecated] - hashpath = doc.complete_path.tr('/', '_')[1,1000] %> +<% API.paths.keys.sort.each do |version| + if version > 0 + API.paths[version].keys.sort.each do |path| + doc = API.paths[version][path] + if !doc.deprecated? || params[:show_deprecated] + hashpath = doc.complete_path.tr('/', '_')[1,1000] %> <a name="<%= hashpath %>"></a> <h2><%= doc.complete_path %><%= doc.deprecated? ? " <span class='bad'>Deprecated. Use <a href='##{ doc.superseded_by.tr('/', '_')[1,1000] }'>#{ doc.superseded_by }</a> instead.</span>" : '' %></h2> <table class="desc"> @@ -74,6 +77,7 @@ </tr> <% end %> </table> -<% end - end - end %> +<% end + end + end + end %> diff --git a/web/viewsjs/reports/name_tags.js.erb b/web/viewsjs/reports/name_tags.js.erb index 7bf06ee..d558a29 100644 --- a/web/viewsjs/reports/name_tags.js.erb +++ b/web/viewsjs/reports/name_tags.js.erb @@ -9,7 +9,7 @@ function tt(text, c, title) { var create_flexigrid_for = { "overview": function() { create_flexigrid('grid-name', { - url: '/api/4/keys/name', + url: '/api/0/keys/name', colModel: [ { display: '<%= osm.key %>', name: 'key', width: 250, sortable: true }, { display: '<%= osm.objects %>', name: 'count_all', width: 100, sortable: true, align: 'right' }, @@ -48,7 +48,7 @@ var create_flexigrid_for = { }, "bcp47": function(filter_type) { create_flexigrid('grid-bcp47-subtags', { - url: '/api/4/langtags?filter=' + encodeURIComponent(filter_type), + url: '/api/0/langtags?filter=' + encodeURIComponent(filter_type), colModel: [ { display: 'Type', name: 'type', width: 80, sortable: false }, { display: 'Subtag', name: 'subtag', width: 80, sortable: true }, |