From 6f1fc97c9c097249e316f85a914aa439b4273448 Mon Sep 17 00:00:00 2001 From: Kristian Lyngstol Date: Fri, 27 May 2016 23:54:45 +0200 Subject: front: More performance tweaks and testTree() testTree() will make it easier to avoid try-catch'ing because instead of if (nmsData == undefined || nmsData.snmp == undefined || nmsData.snmp.snmp == undefined || nmsData.snmp.snmp[sw] == undefined || nmsData.snmp.snmp[sw].misc ...) you can do if (!testRoot(nmsData,['snmp','snmp',sw,'misc')) { ... Which is at least slightly less annoying. --- web/js/nms.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'web/js/nms.js') diff --git a/web/js/nms.js b/web/js/nms.js index ca87f5d..a3706b9 100644 --- a/web/js/nms.js +++ b/web/js/nms.js @@ -813,3 +813,24 @@ function startNowPicker(now) { } }); } + +/* + * Test if the entire path specified in the arrary "ar" exists under the + * specified root. + * + * E.g.: + * if (!testTree(nmsData,['snmp','snmp',sw,'misc'])) { + * do stuff with nmsData.snmp.snmp[sw].misc + * } + * + */ +function testTree(root, ar) { + if (ar == undefined || root == undefined) + return false; + for (var i in ar) { + root = root[ar[i]]; + if (root == undefined) + return false; + } + return true; +} -- cgit v1.2.3