diff options
author | Jochen Topf <jochen@topf.org> | 2012-01-23 20:57:05 +0100 |
---|---|---|
committer | Jochen Topf <jochen@topf.org> | 2012-01-23 20:57:46 +0100 |
commit | 03ef164a6e582db16b3d4e568d88d6b82e9b43e2 (patch) | |
tree | 3b24752c0dac87a0806b1bba13707ad9add49cc0 /web | |
parent | 0fd63c26f59c2be71b79f0edd2defa973eaec219 (diff) | |
download | taginfo-03ef164a6e582db16b3d4e568d88d6b82e9b43e2.tar taginfo-03ef164a6e582db16b3d4e568d88d6b82e9b43e2.tar.gz |
Add link() Javascript function
Diffstat (limited to 'web')
-rw-r--r-- | web/public/js/taginfo.js | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/web/public/js/taginfo.js b/web/public/js/taginfo.js index 38eea22..caa97f1 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 += '<a href="' + url_for_key(tags[i][0]) + '" style="font-size: ' + tags[i][1] + 'px;">' + tags[i][0] + '</a> '; + cloud += link(url_for_key(tags[i][0]), tags[i][0], { style: 'font-size: ' + tags[i][1] + 'px;' }) + ' '; } tagcloud.append(cloud); @@ -89,6 +89,18 @@ function empty(text) { return '<span class="empty">' + text + '</span>'; } +function link(url, text, attrs) { + if (attrs === undefined) { + attrs = {} + } + attrs.href = url; + var attributes = ''; + for (a in attrs) { + attributes += ' ' + a + '="' + attrs[a] + '"'; + } + return '<a' + attributes + '>' + text + '</a>'; +} + function print_wiki_link(title, options) { if (title == '') { return ''; @@ -100,7 +112,7 @@ function print_wiki_link(title, options) { path = 'wiki/' + title; } - return '<a class="extlink" rel="nofollow" href="http://wiki.openstreetmap.org/' + path + '" target="_blank">' + title + '</a>'; + return link('http://wiki.openstreetmap.org/' + path, title, { target: '_blank', class: 'extlink' }); } function print_language(code, native_name, english_name) { @@ -178,7 +190,7 @@ function link_to_value_with_title(key, value, extra) { title = html_escape(value) + ' ' + extra, url = url_for_tag(key, value); - return '<a href="' + url + '" title="' + title + '" tipsy="e">' + pp_value(value) + '</a>'; + return link(url, pp_value(value), { title: title, tipsy: 'e'}); } function print_value_with_percent(value, fraction) { @@ -235,12 +247,11 @@ function pp_value_with_highlight(value, highlight) { } function link_to_value_with_highlight(key, value, highlight) { - return '<a href="' + url_for_tag(key, value) + '">' + pp_value_with_highlight(value, highlight) + '</a>'; + return link(url_for_tag(key, value), pp_value_with_highlight(value, highlight)); } function link_to_key(key, highlight) { - var hk, k = encodeURIComponent(key); - + var hk; if (highlight === undefined) { hk = pp_key(key); } else { @@ -248,11 +259,11 @@ function link_to_key(key, highlight) { hk = key.replace(re, "<b>$1</b>"); } - return '<a href="' + url_for_key(key) + '">' + hk + '</a>'; + return link(url_for_key(key), hk); } function link_to_value(key, value) { - return '<a href="' + url_for_tag(key, value) + '">' + pp_value(value) + '</a>'; + return link(url_for_tag(key, value), pp_value(value)); } function link_to_tag(key, value) { |