r4069 new feature: UI: live switchport info (port config, link status, learned mac list) showed inline on any object tab
update: selective including of JS and CSS files. No more unneeded js code loaded.
gateways/deviceconfig/nxos4.connector: added two more commands: getportstatus and getmaclist
gateways/deviceconfig/ios12.connector: idem
gateways/deviceconfig/vrp53.connector: idem
gateways/deviceconfig/vrp55.connector: idem
pi.css: moved into css/ dir, removed duplicated body attributes, many new styles added for popup interface
added jquery.contextmenu plugin: css/jquery.contextmenu.css and js/jquery.contextmenu.js files
index.php: buffering of output added to call printPageHeaders after page generation for adding nesessary JS/CSS into page header
added new pix: ajax-loader.gif, checkbox_yes.png, link-disabled.png, link-up.png, link-down.png, 1x1t.gif (transparent pixel)
inc/navigation.php: new object tab 'Live ports' added
inc/interface.php: changed mainly for reacting to js/css include policy change
renderRack: add autogenerated css styles for rack atoms on-demand (addAtomCSS call), added common class atom to TDs
renderMolecule: idem
renderAtomGrid: idem
renderGridForm: include js libs on-demand (function renders some JS code)
renderRackSpaceForObject: idem
renderLivePTR: idem
renderCellFilterPortlet: idem
renderTextEditor: idem
renderRackObject: prepare portlist to add popup menu if needed, include js libs on-demand (function renders some JS code)
renderPortsForObject: idem
renderObject8021QPorts: idem
renderDiscoveredNeighbors: idem
renderObject8021QSync: idem, also preventive init port config popups (cause we already have info from switch)
renderPortsInfo: new function, renders new 'Live ports' tab
renderIPv4SpaceRecords: reflect renaming of getAutoScrollScript
renderIPv6SpaceRecords: idem
RenderIPv4Network: idem
RenderIPv6Network: idem
renderIPv4SpaceEditor: JS prefix syntax validator reformatted to reflect new JS include policy
renderIPv6SpaceEditor: idem
renderRackCodeEditor: JS reformatted reformatted to reflect new JS include policy
formatPortLink: ability to pass <a>-class
getAutoScrollScript: renamed to addAutoScrollScript, cause it does no renders anything now, only adds link to JS file
switchportInfoJS: new function checking permissions and other requirements for portinfo popup menu, and including nesessary JS/CSS
addAtomCSS: new function to generate rackatom css runtime based on config variable (legacy feature, BTW)
inc/init.php: $pageheaders cleaned up from JS and CSS, now they are included on-demand
inc/functions.php:
ios12ShortenIfName: VRP formats iface names in short manner (GE, XGE) in some pages, concerning it
printPageHeaders: adding links to remembered during page rendering JS/CSS files or inline blocks
getColumnCoordinates: new util function (used in ios12 int status gw) to parse fixed-column-length-formatted tables
addJS: new function to include JS files/block on demand
addCSS: idem
isEthernetPort: new function to check if popup menu is appiable for the specified port
inc/ajax-interface.php: new file like interface.php, but small enough to be included in ajax.php instead of huge interface.php
formatPortLinkHints: prepares HTML code for inline and popup parts of popup interface
formatPortMacHints: idem
formatPortConfigHints: idem
inc/gateways.php: ability to fetch mac list, link status and port configs from ios12, vrp, nxos.
ios12ScanTopLevel: 802.1q config parsing functions now saving every seen line to ['config'] subkey (for port config fetching)
ios12PickSwitchportCommand: idem
vrp53ScanTopLevel: idem
vrp53PickInterfaceSubcommand: idem
vrp55Read8021QConfig: idem
nxos4ScanTopLevel: idem
nxos4PickSwitchportCommand: idem
ciscoReadInterfaceStatus: function for parsing 'show int status' IOS and NXOS command output
vrpReadInterfaceStatus: idem for VRP 5.3/5.5
maclist_sort: function for sorting mac list by VLAN id
ios12ReadMacList: function for parsing 'show mac address-table dynamic' IOS command output
nxos4ReadMacList: idem for NXOS
vrp53ReadMacList: idem for VRP 5.3
vrp55ReadMacList: idem for VRP 5.5/5.7
inc/triggers.php: new trigger for 'Live ports' tab
ajax.php: 3 new ops for port info data queries. Calling functions from ajax-interface.php and encoding their output in JSON
js/jquery.thumbhover.js: JS library to show stickable popups on hover. Rewritten by me from unknown source
js/jquery.contextmenu.js, css/jquery.contextmenu.css: third-party library for displaying popup menus
js/racktables.js: new util function to parse query string and extract GET param value from it
js/jquery-1.3.1.min.js was replaced by the new version: js/jquery-1.4.4.min.js
js/portinfo.js: JS code implementing popup switchport info logic
Hooray!!!
29 files changed: