ONOS-6730: Lion: I18n for Topology View
- WIP : part 1
- toolbar (partial)
- quick help (partial)
Change-Id: I85b5f0d8c0042d82fda00f26e9760ba1320405c6
diff --git a/web/gui/src/main/webapp/app/view/topo/topoToolbar.js b/web/gui/src/main/webapp/app/view/topo/topoToolbar.js
index 82d14ac..f9661aa 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoToolbar.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoToolbar.js
@@ -127,20 +127,34 @@
keyData = d3.map(k2b);
keyData.forEach(function(key, value) {
var data = api.getActionEntry(key);
- value.cb = data[0]; // on-click callback
- value.tt = data[1] + ' (' + key + ')'; // tooltip
+
+ value.key = key;
+ value.cb = data[0]; // on-click callback
+ value.tt = data[1]; // tooltip (may be a function)
});
}
+ // returns a no-args function that returns the tooltip text
+ function deferredText(v) {
+ // this function will get invoked at the time the tooltip is displayed:
+ return function () {
+ if (!v.ttText) {
+ // haven't cached the value yet
+ v.ttText = (fs.isF(v.tt) ? v.tt() : v.tt) + ' (' + v.key + ')';
+ }
+ return v.ttText;
+ };
+ }
+
function addButton(key) {
var v = keyData.get(key);
- v.btn = toolbar.addButton(v.id, v.gid, v.cb, v.tt);
+ v.btn = toolbar.addButton(v.id, v.gid, v.cb, deferredText(v));
}
function addToggle(key, suppressIfMobile) {
var v = keyData.get(key);
if (suppressIfMobile && fs.isMobile()) { return; }
- v.tog = toolbar.addToggle(v.id, v.gid, v.isel, v.cb, v.tt);
+ v.tog = toolbar.addToggle(v.id, v.gid, v.isel, v.cb, deferredText(v));
}
function addFirstRow() {