From 0fd63c26f59c2be71b79f0edd2defa973eaec219 Mon Sep 17 00:00:00 2001 From: Jochen Topf Date: Mon, 23 Jan 2012 20:42:35 +0100 Subject: More Javascript cleanup. --- web/public/js/taginfo.js | 78 ++++++++++++++++++++++------------------------- web/views/key.erb | 2 +- web/viewsjs/search.js.erb | 4 +-- 3 files changed, 40 insertions(+), 44 deletions(-) diff --git a/web/public/js/taginfo.js b/web/public/js/taginfo.js index 4429e3f..38eea22 100644 --- a/web/public/js/taginfo.js +++ b/web/public/js/taginfo.js @@ -54,7 +54,7 @@ function resize_home() { var tags = tagcloud_data(); var cloud = ''; for (var i=0; i < tags.length; i++) { - cloud += '' + tags[i][0] + ' '; + cloud += '' + tags[i][0] + ' '; } tagcloud.append(cloud); @@ -149,18 +149,38 @@ function print_prevalent_value_list(key, list) { }).join(' • '); } -function link_to_value_with_title(key, value, extra) { - var k = encodeURIComponent(key), - v = encodeURIComponent(value), - title = html_escape(value) + ' ' + extra; +function html_escape(text) { + return text.replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"').replace(/'/g, '''); +} + +function url_for_key(key) { + var k = encodeURIComponent(key); + if (key.match(/[=\/]/)) { + return '/keys/?key=' + k; + } else { + return '/keys/' + k; + } +} +function url_for_tag(key, value) { + var k = encodeURIComponent(key), + v = encodeURIComponent(value); if (key.match(/[=\/]/) || value.match(/[=\/]/)) { - return '' + pp_value(value) + ''; + return '/tags/?key=' + k + '&value=' + v; } else { - return '' + pp_value(value) + ''; + return '/tags/' + k + '=' + v; } } +function link_to_value_with_title(key, value, extra) { + var k = encodeURIComponent(key), + v = encodeURIComponent(value), + title = html_escape(value) + ' ' + extra, + url = url_for_tag(key, value); + + return '' + pp_value(value) + ''; +} + function print_value_with_percent(value, fraction) { var v1 = print_with_ts(value), v2 = fraction.print_as_percent(); @@ -215,54 +235,30 @@ function pp_value_with_highlight(value, highlight) { } function link_to_value_with_highlight(key, value, highlight) { - return '' + pp_value_with_highlight(value, highlight) + ''; -} - -function html_escape(text) { - return text.replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"').replace(/'/g, '''); + return '' + pp_value_with_highlight(value, highlight) + ''; } -function link_to_key(key) { - var k = encodeURIComponent(key); +function link_to_key(key, highlight) { + var hk, k = encodeURIComponent(key); - if (key.match(/[=\/]/)) { - return '' + pp_key(key) + ''; + if (highlight === undefined) { + hk = pp_key(key); } else { - return '' + pp_key(key) + ''; + var re = new RegExp('(' + highlight + ')', 'gi'); + hk = key.replace(re, "$1"); } -} -function link_to_key_with_highlight(key, highlight) { - var k = encodeURIComponent(key); - - var re = new RegExp('(' + highlight + ')', 'gi'); - var hk = key.replace(re, "$1"); - - if (key.match(/[=\/]/)) { - return '' + hk + ''; - } else { - return '' + hk + ''; - } + return '' + hk + ''; } -function url_to_value(key, value) { - var k = encodeURIComponent(key), - v = encodeURIComponent(value); - if (key.match(/[=\/]/) || value.match(/[=\/]/)) { - return '/tags/?key=' + k + '&value=' + v; - } else { - return '/tags/' + k + '=' + v; - } +function link_to_value(key, value) { + return '' + pp_value(value) + ''; } function link_to_tag(key, value) { return link_to_key(key) + '=' + link_to_value(key, value); } -function link_to_value(key, value) { - return '' + pp_value(value) + ''; -} - function link_to_key_or_tag(key, value) { var link = link_to_key(key); if (value && value != '') { diff --git a/web/views/key.erb b/web/views/key.erb index ee369ca..9008260 100644 --- a/web/views/key.erb +++ b/web/views/key.erb @@ -138,7 +138,7 @@ function page_init2() { }) .event('click', function() { if (this.data().value != '(other)') { - window.location = url_to_value(#{ @key_json }, this.data().value); + window.location = url_for_tag(#{ @key_json }, this.data().value); } }) .anchor('left') diff --git a/web/viewsjs/search.js.erb b/web/viewsjs/search.js.erb index 07c3cdf..cbaa842 100644 --- a/web/viewsjs/search.js.erb +++ b/web/viewsjs/search.js.erb @@ -13,7 +13,7 @@ var create_flexigrid_for = { data.rows = jQuery.map(data.data, function(row, i) { return { 'cell': [ print_with_ts(row.count_all), - link_to_key_with_highlight(row.key, query) + link_to_key(row.key, query) ] }; }); return data; @@ -59,7 +59,7 @@ var create_flexigrid_for = { data.rows = jQuery.map(data.data, function(row, i) { return { 'cell': [ print_with_ts(row.count_all), - link_to_key_with_highlight(row.key, q[0]), + link_to_key(row.key, q[0]), link_to_value_with_highlight(row.key, row.value, q[1]) ] }; }); -- cgit v1.2.3