From a4919da3a91236131f7b4e084761ff6a5f73b94f Mon Sep 17 00:00:00 2001 From: Kristian Lyngstol Date: Wed, 9 Jan 2019 22:14:56 +0100 Subject: Expose validation and "changed or not" to end user Starting to look seeeexy. Also killed off some redundant stuff that should be covered by templates instead now. --- web/js/nms-info-box.js | 143 ------------------------------------------------- 1 file changed, 143 deletions(-) (limited to 'web/js/nms-info-box.js') diff --git a/web/js/nms-info-box.js b/web/js/nms-info-box.js index d364f8b..efb2d7b 100644 --- a/web/js/nms-info-box.js +++ b/web/js/nms-info-box.js @@ -114,28 +114,6 @@ var nmsInfoBox = nmsInfoBox || { } } }, - { - 'id': 'inventoryListing', - 'title': 'Inventory listing', - 'views': { - 'initial': { - 'name': 'Distro names', - 'panels': ['inventoryListing:distro_name'] - }, - 'sysDescr': { - 'name': 'System description', - 'panels': ['inventoryListing:sysDescr'] - }, - 'jnxBoxSerialNo': { - 'name': 'Serial numbers', - 'panels': ['inventoryListing:jnxBoxSerialNo'] - }, - 'transceiver': { - 'name': 'Transceivers', - 'panels': ['inventoryListing:transceiver'] - } - } - }, { 'id': 'listNetwork', 'title': 'Networks', @@ -848,127 +826,6 @@ var switchAddPanel = function() { }; nmsInfoBox.addPanelType("switchAdd",switchAddPanel); -/* - * Panel type: Inventory listing - * - * Displays a filterable table with switch data, based on a selected mode - * - * TODO: - * - Add support for multiple columns with data - * - Add sorting - * - Add live filtering - * - Add export options? - * - */ -var inventoryListingPanel = function() { - nmsInfoPanel.call(this,"inventoryListing"); - this.filter = ""; - this.init = function (mode) { - if(!nmsData.snmp || !nmsData.snmp.snmp) { - if(!this.hasHandler("snmp")) { - this.addHandler("snmp","init"); - this._renderError("Waiting for SNMP data."); - } - return; - } else { - this.removeHandlers(); - if(!!mode && this.mode == "initial") - this.setMode(mode); - this.refresh("init"); - } - }; - this.setFilter = function (filter) { - this.filter = filter; - this.refresh(); - }; - this.refresh = function (reason) { - var targetArray = []; - var listTitle = ''; - var contentObj = document.createElement("div"); - var inputObj = document.createElement("div"); - inputObj.innerHTML = '
'; - contentObj.appendChild(inputObj); - - switch (this.mode) { - case 'distro_name': - listTitle = 'Distro names'; - break; - case 'sysDescr': - listTitle = 'System description'; - break; - case 'jnxBoxSerialNo': - listTitle = 'Serial Numbers'; - break; - case 'transceiver': - listTitle = 'Transceivers'; - break; - default: - listTitle = 'Distro names'; - } - - var resultArray = []; - for(var sw in nmsData.switches.switches) { - var value = ''; - if(this.filter != '') { - if(sw.toLowerCase().indexOf(this.filter) == -1 && !nmsSearch.searchTest(this.filter,sw)) - continue; - } - try { - switch (this.mode) { - case 'distro_name': - value = nmsData.switches.switches[sw]["distro_name"]; - resultArray.push([sw, value]); - break; - case 'sysDescr': - value = nmsData.snmp.snmp[sw]["misc"]["sysDescr"][0]; - resultArray.push([sw, value]); - break; - case 'jnxBoxSerialNo': - if(testTree(nmsData,["snmp","snmp",sw,"misc","entPhysicalSerialNum"])) { - for (var x in nmsData.snmp.snmp[sw]["misc"]["entPhysicalSerialNum"]) { - value = "misc" + x + ":" + nmsData.snmp.snmp[sw]["misc"]["entPhysicalSerialNum"][x]; - var entPhysicalDescr = nmsData.snmp.snmp[sw]["misc"]["entPhysicalDescr"][x]; - resultArray.push([sw, entPhysicalDescr+': '+value]); - } - } - if (testTree(nmsData,["snmp","snmp",sw,"misc","jnxVirtualChassisMemberSerialnumber"])) { - for (var x in nmsData.snmp.snmp[sw]["misc"]["jnxVirtualChassisMemberSerialnumber"]) { - value = "member " + x + ":" + nmsData.snmp.snmp[sw]["misc"]["jnxVirtualChassisMemberSerialnumber"][x]; - resultArray.push([sw, value]); - } - } - value = nmsData.snmp.snmp[sw]["misc"]["jnxBoxSerialNo"][0]; - resultArray.push([sw, value]); - break; - case 'transceiver': - if(testTree(nmsData,["snmp","snmp",sw,"misc","entPhysicalSerialNum"])) { - for (var x in nmsData.snmp.snmp[sw]["misc"]["entPhysicalSerialNum"]) { - var entPhysicalDescr = nmsData.snmp.snmp[sw]["misc"]["entPhysicalDescr"][x]; - if(!entPhysicalDescr.match(/^SFP/)) { - continue; - } - value = entPhysicalDescr + ": " + nmsData.snmp.snmp[sw]["misc"]["entPhysicalSerialNum"][x]; - resultArray.push([sw, entPhysicalDescr+': '+value]); - } - } - break; - - } - } catch (e) {console.log("sw: " + sw); console.log(e);} - } - - resultArray.sort(); - - var infotable = nmsInfoBox._makeTable(resultArray,listTitle); - infotable.id = "inventory-table"; - - contentObj.appendChild(infotable); - this._render(contentObj); - }; -}; - -nmsInfoBox.addPanelType("inventoryListing",inventoryListingPanel); - /* * Panel type: Edit switch * -- cgit v1.2.3