diff options
-rw-r--r-- | web/public/js/taginfo.js | 19 | ||||
-rw-r--r-- | web/views/key.erb | 10 | ||||
-rw-r--r-- | web/views/reports/characters_in_keys.erb | 10 | ||||
-rw-r--r-- | web/views/reports/key_lengths.erb | 25 | ||||
-rw-r--r-- | web/views/search.erb | 16 | ||||
-rw-r--r-- | web/views/search_tags.erb | 16 | ||||
-rw-r--r-- | web/views/tag.erb | 8 |
7 files changed, 42 insertions, 62 deletions
diff --git a/web/public/js/taginfo.js b/web/public/js/taginfo.js index 41d27cf..fc55bce 100644 --- a/web/public/js/taginfo.js +++ b/web/public/js/taginfo.js @@ -349,7 +349,6 @@ function calculate_flexigrid_rp(box) { height -= 90; // table tools and header, possibly horizontal scrollbar var rp = Math.floor(height / 26); - console.log(rp); return rp; } @@ -373,6 +372,24 @@ function create_flexigrid(domid, options) { } } +function init_tabs(page, params) { + var tabset = create_flexigrid_for[page]; + if (tabset === undefined) { + tabset = create_flexigrid_for[page.split(/\./)[0]][page.split(/\./)[1]]; + } + return jQuery('#tabs').tabs({ + show: function(event, ui) { + resize_box(); + if (ui.index != 0 || window.location.hash != '') { + window.location.hash = ui.tab.hash; + } + if (ui.tab.hash.substring(1) in tabset) { + tabset[ui.tab.hash.substring(1)].apply(this, params); + } + } + }); +} + var create_flexigrid_for = { keys: { keys: function() { diff --git a/web/views/key.erb b/web/views/key.erb index 1fca4c0..f8859b8 100644 --- a/web/views/key.erb +++ b/web/views/key.erb @@ -123,15 +123,7 @@ function page_init() { window.location.search = jQuery.param(qs); }); - var tabs = jQuery('#tabs').tabs({ - show: function(event, ui) { - resize_box(); - window.location.hash = ui.tab.hash; - if (ui.tab.hash.substring(1) in create_flexigrid_for.key) { - create_flexigrid_for.key[ui.tab.hash.substring(1)](#{ @key.to_json }, #{ @filter_type.to_json }); - } - } - }); + init_tabs('key', [#{ @key.to_json }, #{ @filter_type.to_json }]); var data = #{ @prevalent_values.to_json() }; diff --git a/web/views/reports/characters_in_keys.erb b/web/views/reports/characters_in_keys.erb index bd823e4..8cc4998 100644 --- a/web/views/reports/characters_in_keys.erb +++ b/web/views/reports/characters_in_keys.erb @@ -58,15 +58,7 @@ JQuery.ready do JS.raw(<<"JAVASCRIPT") -var tabs = jQuery('#tabs').tabs({ - show: function(event, ui) { - resize_box(); - window.location.hash = ui.tab.hash; - if (create_flexigrid_for.reports.characters_in_keys[ui.tab.hash.substring(1)]) { - create_flexigrid_for.reports.characters_in_keys[ui.tab.hash.substring(1)](); - } - } -}); +init_tabs('reports.characters_in_keys', []); var data = #{ i = '@'; %w(plain colon letters space problem rest).map{ |type| i=i.next; [ { :label => i, :value => @db.stats('characters_in_keys_' + type) } ] }.to_json() }; diff --git a/web/views/reports/key_lengths.erb b/web/views/reports/key_lengths.erb index 0514c48..1f5e891 100644 --- a/web/views/reports/key_lengths.erb +++ b/web/views/reports/key_lengths.erb @@ -25,19 +25,13 @@ <div id="canvas"></div> </div> </div> -<script type="text/javascript"> +<% javascript do + JQuery.ready do + JS.raw(<<"JAVASCRIPT") -jQuery(function() { - var tabs = jQuery('#tabs').tabs({ - show: function(event, ui) { - resize_box(); - window.location.hash = ui.tab.hash; - create_flexigrid_for.reports.key_lengths[ui.tab.hash.substring(1)](); - } - }); -}); +init_tabs('reports.key_lengths', []); -var data = <%= hist.to_json %>; +var data = #{ hist.to_json }; var w=900, h=400, bar_width=6; @@ -68,8 +62,8 @@ vis.add(pv.Label) .textAlign('center') .textAngle(-Math.PI/2); -var x = pv.Scale.linear(0, <%= hist.size %>).range(bar_width, w - bar_width); -var y = pv.Scale.linear(0, <%= hist.max %>).range(0, h); +var x = pv.Scale.linear(0, #{ hist.size }).range(bar_width, w - bar_width); +var y = pv.Scale.linear(0, #{ hist.max }).range(0, h); var bar = vis.add(pv.Bar) .data(data) @@ -102,4 +96,7 @@ vis.add(pv.Rule) vis.render(); -</script> +JAVASCRIPT + end +end +%> diff --git a/web/views/search.erb b/web/views/search.erb index 1b5d312..66a37de 100644 --- a/web/views/search.erb +++ b/web/views/search.erb @@ -19,16 +19,10 @@ </div> </div> <% javascript do - JQuery.ready do - JS.raw(%Q{ - var tabs = jQuery('#tabs').tabs({ - show: function(event, ui) { - resize_box(); - window.location.hash = ui.tab.hash; - create_flexigrid_for.search[ui.tab.hash.substring(1)](#{ @query.to_json }); - } - }); - }) - end + JS.raw(%Q{ +function page_init() { + init_tabs('search', [#{ @query.to_json }]); +} + }) end %> diff --git a/web/views/search_tags.erb b/web/views/search_tags.erb index f88ff26..099261f 100644 --- a/web/views/search_tags.erb +++ b/web/views/search_tags.erb @@ -13,16 +13,10 @@ </div> </div> <% javascript do - JQuery.ready do - JS.raw(%Q{ - var tabs = jQuery('#tabs').tabs({ - show: function(event, ui) { - resize_box(); - window.location.hash = ui.tab.hash; - create_flexigrid_for.search[ui.tab.hash.substring(1)](#{ @query.to_json }); - } - }); - }) - end + JS.raw(%Q{ +function page_init() { + init_tabs('search', [#{ @query.to_json }]); +} + }) end %> diff --git a/web/views/tag.erb b/web/views/tag.erb index 662cbc2..8026230 100644 --- a/web/views/tag.erb +++ b/web/views/tag.erb @@ -75,13 +75,7 @@ function page_init() { window.location.search = 'filter=' + value; }); - var tabs = jQuery('#tabs').tabs({ - show: function(event, ui) { - resize_box(); - window.location.hash = ui.tab.hash; - create_flexigrid_for.tag[ui.tab.hash.substring(1)](#{ @key.to_json }, #{ @value.to_json }, #{ @filter_type.to_json }); - } - }); + init_tabs('tag', [#{ @key.to_json }, #{ @value.to_json }, #{ @filter_type.to_json }]); } JAVASCRIPT end |