From 072bc22a4fd7ef52fd0d1d77daaf24e4834f3db7 Mon Sep 17 00:00:00 2001 From: Jason Skomorowski Date: Fri, 8 Aug 2014 14:13:11 -0400 Subject: [PATCH] Template language widget --- src/mkws-widget-main.js | 37 ++++++++++-------------- src/mkws-widget-main.templates/Lang.handlebars | 19 ++++++++++++ 2 files changed, 35 insertions(+), 21 deletions(-) create mode 100644 src/mkws-widget-main.templates/Lang.handlebars diff --git a/src/mkws-widget-main.js b/src/mkws-widget-main.js index 2988550..f76edbc 100644 --- a/src/mkws-widget-main.js +++ b/src/mkws-widget-main.js @@ -250,7 +250,6 @@ mkws.registerWidgetType('Ranking', function() { } var template = this.team.loadTemplate(this.config.template || "Ranking"); - console.log(output); this.node.html(template(output)); }); @@ -272,34 +271,30 @@ mkws.registerWidgetType('Lang', function() { } for (var k in mkws.locale_lang) { - if (toBeIncluded[k] || lang_options.length == 0) - list.push(k); + if (toBeIncluded[k] || lang_options.length == 0) { + cur = {}; + if (lang === k) cur.selected = true; + cur.code = k; + cur.url = lang_url(k); + list.push(cur); + } } // add english link - if (lang_options.length == 0 || toBeIncluded[lang_default]) - list.push(lang_default); + if (lang_options.length == 0 || toBeIncluded[lang_default]) { + cur = {}; + if (lang === lang_default) cur.selected = true; + cur.code = lang_default; + cur.url = lang_url(lang_default); + list.push(cur); + } this.log("language menu: " + list.join(", ")); - /* the HTML part */ - var data = ""; - for (var i = 0; i < list.length; i++) { - var l = list[i]; - if (data) - data += ' | '; - - if (lang == l) { - data += ' ' + l + ' '; - } else { - data += ' ' + l + ' ' - } - } - - this.node.html(data); + var template = this.team.loadTemplate(this.config.template || "Lang"); + this.node.html(template({languages: list})); this.hideWhenNarrow(); - // set or re-set "lang" URL parameter function lang_url(lang) { var query = location.search; diff --git a/src/mkws-widget-main.templates/Lang.handlebars b/src/mkws-widget-main.templates/Lang.handlebars new file mode 100644 index 0000000..26ee6da --- /dev/null +++ b/src/mkws-widget-main.templates/Lang.handlebars @@ -0,0 +1,19 @@ +{{! +Language selection widget + +languages + code - two character language identifier + selected - exists for the current language + url - url to switch to this language +}} +{{#each languages}} + {{~#if selected~}} + {{code}} + {{~else~}} + {{code}} + {{~/if~}} + {{#unless last}} + | + {{/unless}} +{{/each}} + -- 1.7.10.4