diff --git a/src/info.html b/src/info.html index f8b99d3..c08a9a7 100644 --- a/src/info.html +++ b/src/info.html @@ -83,9 +83,11 @@ tr.unused {

+

diff --git a/src/js/info.js b/src/js/info.js index dc9ee0c..1a28f74 100644 --- a/src/js/info.js +++ b/src/js/info.js @@ -68,16 +68,7 @@ function renderNumber(value) { if ( isNaN(value) ) { return '0'; } - // TODO: localization - if ( +value > 1000 ) { - value = value.toString(); - var i = value.length - 3; - while ( i > 0 ) { - value = value.slice(0, i) + ',' + value.slice(i); - i -= 3; - } - } - return value; + return value.toLocaleString(); } /******************************************************************************/ @@ -110,13 +101,20 @@ var renderLocalized = function(id, map) { function renderPageUrls() { var onResponseReceived = function(r) { - var select = $('#selectPageUrls'); - - // One of the permanent entry will serve as a template - var optionTemplate = $('#selectPageUrlTemplate', select); + var i, n; + var select = uDom('#selectPageUrls'); // Remove whatever was put there in a previous call - $(optionTemplate).nextAll().remove(); + uDom('#selectPageUrls > option').remove(); + var builtinOptions = uDom('#selectPageUrlsTemplate > option'); + var n = builtinOptions.length; + for ( i = 0; i < n; i++ ) { + option = builtinOptions.at(i).clone(); + if ( option.val() === targetUrl ) { + option.attr('selected', true); + } + select.append(option); + } var pageURLs = r.pageURLs.sort(); var pageURL, option; @@ -126,16 +124,18 @@ function renderPageUrls() { if ( pageURL === r.behindTheSceneURL ) { continue; } - option = optionTemplate.clone(); - option.attr('id', ''); - option.attr('value', pageURL); + option = uDom('