Add translation support to gluon-status-page, including English, German and Russian translations.
55 lines
1.7 KiB
JavaScript
55 lines
1.7 KiB
JavaScript
"use strict"
|
|
define(["lib/helper"], function (Helper) {
|
|
return function (nodeInfo) {
|
|
var el = document.createElement("div")
|
|
|
|
update(nodeInfo)
|
|
|
|
function dlEntry(dl, dict, key, prettyName) {
|
|
var v = Helper.dictGet(dict, key.split("."))
|
|
|
|
if (v === null)
|
|
return
|
|
|
|
var dt = document.createElement("dt")
|
|
var dd = document.createElement("dd")
|
|
|
|
dt.textContent = prettyName
|
|
if (v instanceof Array) {
|
|
var tn = v.map(function (d) { return document.createTextNode(d) })
|
|
tn.forEach(function (node) {
|
|
if (dd.hasChildNodes())
|
|
dd.appendChild(document.createElement("br"))
|
|
|
|
dd.appendChild(node)
|
|
})
|
|
} else
|
|
dd.textContent = v
|
|
|
|
dl.appendChild(dt)
|
|
dl.appendChild(dd)
|
|
}
|
|
|
|
function update(nodeInfo) {
|
|
var list = document.createElement("dl")
|
|
|
|
dlEntry(list, nodeInfo, "hostname", Helper._("Node name"))
|
|
dlEntry(list, nodeInfo, "owner.contact", Helper._("Contact"))
|
|
dlEntry(list, nodeInfo, "hardware.model", Helper._("Model"))
|
|
dlEntry(list, nodeInfo, "network.mac", Helper._("Primary MAC"))
|
|
dlEntry(list, nodeInfo, "network.addresses", Helper._("IP Address"))
|
|
dlEntry(list, nodeInfo, "software.firmware.release", Helper._("Firmware"))
|
|
dlEntry(list, nodeInfo, "software.fastd.enabled", "Mesh-VPN")
|
|
dlEntry(list, nodeInfo, "software.autoupdater.enabled", Helper._("Automatic updates"))
|
|
dlEntry(list, nodeInfo, "software.autoupdater.branch", Helper._("Branch"))
|
|
|
|
el.appendChild(list)
|
|
}
|
|
|
|
return { title: document.createTextNode(Helper._("Overview"))
|
|
, render: function (d) { d.appendChild(el) }
|
|
, destroy: function () {}
|
|
}
|
|
}
|
|
})
|