aboutsummaryrefslogtreecommitdiffstats
path: root/web/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'web/index.html')
-rw-r--r--web/index.html665
1 files changed, 371 insertions, 294 deletions
diff --git a/web/index.html b/web/index.html
index ab1d0af..0167092 100644
--- a/web/index.html
+++ b/web/index.html
@@ -1,314 +1,393 @@
<!DOCTYPE html>
<html lang="en">
<head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
- <meta name="description" content="">
- <meta name="author" content="">
- <link rel="icon" href="../../favicon.ico">
-
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Gondul</title>
-
- <!-- Bootstrap core CSS -->
- <link href="css/bootstrap.min.css" rel="stylesheet">
-
- <!-- Custom styles for this template -->
- <link href="css/navbar-static-top.css" rel="stylesheet">
-
- <!-- Date-picker styles -->
- <link href="css/jquery.datetimepicker.css" rel="stylesheet">
-
- <link href="css/nms.css" rel="stylesheet">
+ <link
+ href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.4/dist/css/bootstrap.min.css"
+ rel="stylesheet"
+ crossorigin="anonymous"
+ />
+ <link
+ rel="stylesheet"
+ href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css"
+ />
+ <link rel="stylesheet" href="css/nms.css" />
</head>
-
<body id="body">
- <nav class="navbar navbar-default navbar-static-top">
+ <nav
+ id="navbar"
+ class="navbar navbar-expand-md sticky-top navbar-dark bg-dark mt-0 pt-0 mb-0 pb-0"
+ >
<div class="container-fluid">
- <div class="navbar-header">
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
- <span class="sr-only">Toggle navigation</span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- </div>
- <div id="navbar" class="navbar-collapse collapse">
- <p class="navbar-text"><span class="glyphicon glyphicon-heart" id="heartbeat" aria-hidden="true"></span></p>
- <ul class="nav navbar-nav">
- <li id='map-link' class="active"><a href="#" onclick="nmsUi.setActive('map');" title="Map">M<span class="sr-only">(current)</span></a></li>
- <li id='admin-link' class="gondul-is-private"><a href="#" onclick="nmsUi.setActive('admin');nmsAdmin.updateConfigPane();" title="Admin">A</a></li>
- <li id='template-link' class="gondul-is-private"><a href="#" onclick="nmsUi.setActive('template');" title="Template">T</a></li>
- <li id='oplog-link' class="gondul-is-private"><a href="#" onclick="nmsUi.setActive('oplog');" title="Oplog">O</a></li>
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false" title="Menu">M
- <span class="caret"></span>
- </a>
- <ul class="dropdown-menu" role="menu">
- <li class="gondul-is-private dropdown-header">Switches</li>
- <li class="gondul-is-private"><a href="#" onclick="new nmsNewSwitch().show();">Add switch</a></li>
- <li class="gondul-is-private"><a href="#" onclick="new nmsNewNet().show();">Add network</a></li>
- <li class="gondul-is-private"><a href="#" onclick="nmsInfoBox.showWindow('listNetwork')">List networks</a></li>
- <li class="gondul-is-private"><a href="#" onclick="nmsMap.moveSet(true);">Enable switch moving</a></li>
- <li class="gondul-is-private"><a href="#" onclick="nmsMap.moveSet(false);">Disable switch moving</a></li>
- <li class="gondul-is-private divider"> </li>
- <li class="dropdown-header">Time</li>
- <li><a href="#" onclick="toggleLayer('nowPickerBox');nmsTime.startNowPicker();">Travel in time</a></li>
- <li><a href="#" onclick="nmsTime.replayEvent();" title="Replay from opening 120 minutes per second">Replay event</a></li>
- <li class="divider"> </li>
- <li class="dropdown-header">View</li>
- <li><a href="#" onclick="nmsUi.toggleVertical()">Toggle vertical mode</a></li>
- <li class="divider"> </li>
- <li class="gondul-is-private dropdown-header">Inventory lists</li>
- <li class="gondul-is-private"><a href="#" onclick="nmsInfoBox.showWindow('inventoryListing','distro_name');">Distro names</a></li>
- <li class="gondul-is-private"><a href="#" onclick="nmsInfoBox.showWindow('inventoryListing','sysDescr')">System description</a></li>
- <li class="gondul-is-private"><a href="#" onclick="nmsInfoBox.showWindow('inventoryListing','jnxBoxSerialNo')">Serial Numbers</a></li>
- <li class="gondul-is-private divider"> </li>
- <li class="dropdown-header">Help</li>
- <li><a href="#" onclick="toggleLayer('aboutKeybindings');" >Keyboard Shortcuts</a></li>
- </ul>
- </li>
- <div class="navbar-form navbar-left">
- <div class="input-group input-group-sm">
- <input id="searchbox" type="text" class="form-control" size="8" placeholder="Filter" oninput="nmsSearch.search()" />
- <span class="input-group-btn">
- <button id="searchbox-x" class="btn btn-default" type="button" onclick="nmsSearch.reset();">X</button>
- <button id="searchbox-help" class="btn btn-default" type="button" onclick="nmsInfoBox.showWindow('searchHelp');">?</button>
- <button id="searchbox-submit" class="btn btn-default" type="button" onclick="nmsSearch.runSearch();">Go!</button>
- </span>
- </div>
- </div>
- <p class="navbar-text" id="dhcp-summary">(...)</p>
- <div class="navbar-text" id="navbar-graph-div">
- <img id="navbar-graph" style="display:none" title="Blue: Average latency. Green: Total traffic. Time frame: last 60 minutes."/>
- </div>
- </li>
- </ul>
- </div><!--/.nav-collapse -->
+ <span class="navbar-text">
+ <i
+ id="heartbeat"
+ aria-hidden="true"
+ class="navbar-brand bi bi-heart-fill"
+ ></i>
+ </span>
+ <button
+ class="navbar-toggler"
+ type="button"
+ data-bs-toggle="collapse"
+ data-bs-target="#navbarSupportedContent"
+ aria-controls="navbarSupportedContent"
+ aria-expanded="false"
+ aria-label="Toggle navigation"
+ >
+ <span class="navbar-toggler-icon"></span>
+ </button>
+ <div class="collapse navbar-collapse" id="navbarSupportedContent">
+ <ul class="navbar-nav me-2 mb-lg-0">
+ <li id="map-link" class="nav-item active">
+ <a
+ class="nav-link active"
+ aria-current="page"
+ href="#"
+ onclick="nmsUi.setActive('map');"
+ >Map</a
+ >
+ </li>
+ <li id="oplog-link" class="nav-item">
+ <a class="nav-link" href="#" onclick="nmsUi.setActive('oplog');"
+ >Oplog</a
+ >
+ </li>
+ <li class="nav-item dropdown">
+ <a
+ class="nav-link"
+ href="#"
+ id="navbarDropdown"
+ role="button"
+ data-bs-toggle="dropdown"
+ aria-expanded="false"
+ >
+ <i class="bi bi-menu-button-wide"></i>
+ </a>
+ <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
+ <li class="gondul-is-private">
+ <a
+ href="#"
+ class="dropdown-item"
+ onclick="nmsInfoBox.showWindow('searchResults')"
+ >List devices</a
+ >
+ </li>
+ <li class="gondul-is-private">
+ <a
+ href="#"
+ class="dropdown-item"
+ onclick="nmsInfoBox.showWindow('listNetwork')"
+ >List networks</a
+ >
+ </li>
+ <li class="gondul-is-private">
+ <a
+ href="#"
+ class="dropdown-item"
+ onclick="nmsMap.moveSet(true);"
+ >Enable switch moving</a
+ >
+ </li>
+ <li class="gondul-is-private">
+ <a
+ href="#"
+ class="dropdown-item"
+ onclick="nmsMap.moveSet(false);"
+ >Disable switch moving</a
+ >
+ </li>
+ <li class="gondul-is-private">
+ <hr class="dropdown-divider" />
+ </li>
+ <li class="gondul-is-private dropdown-header">Time</li>
+ <li class="gondul-is-private dropdown-header">View</li>
+ <li class="gondul-is-private dropdown-header">
+ Inventory lists
+ </li>
+ <li class="gondul-is-private dropdown-header">Help</li>
+ <li>
+ <a
+ href="#"
+ class="dropdown-item"
+ onclick="toggleLayer('aboutKeybindings');"
+ >Keyboard Shortcuts</a
+ >
+ </li>
+ <li>
+ <a
+ href="#"
+ class="dropdown-item"
+ onclick="nmsInfoBox.showWindow('debug');"
+ >Debug</a
+ >
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <form class="form-inline">
+ <div class="input-group input-group-sm">
+ <input
+ id="searchbox"
+ type="text"
+ class="form-control"
+ placeholder="Filter"
+ aria-label="Filter"
+ oninput="nmsSearch.search()"
+ />
+ <button
+ id="searchbox-help"
+ class="btn btn-secondary btn-sm"
+ type="button"
+ onclick="nmsInfoBox.showWindow('searchHelp');"
+ >
+ ?
+ </button>
+ <button
+ id="searchbox-submit"
+ class="btn btn-secondary btn-sm"
+ type="submit"
+ onclick="nmsSearch.runSearch();"
+ >
+ <i class="bi bi-search"></i>
+ </button>
+ </div>
+ </form>
+ </div>
</div>
</nav>
-
- <div class="container-fluid" id="admin">
- <div class="row-fluid" id="admin-row">
- <div>
- <p>Add linknet</p>
- <div class="form-inline">
- <div class="form-group">
- <input id="admin-input-linknet1" class="form-control" type="text" placeholder="Switch 1" />
- <input id="admin-input-linknet2" class="form-control" type="text" placeholder="Switch 2" />
- <button class="btn btn-primary" onclick="nmsAdmin.addLinknet()">Add</button>
- </div>
- </div>
- </div>
- <hr>
- </div>
- </div>
<div class="container-fluid" id="oplog">
- <div class="row-fluid" id="oplog-row">
- <div id="oplog-parent" class="logbook">
- <table id="oplog-table" class="table table-condensed">
- </table>
- </div>
- </div>
- </div>
- <div class="container-fluid" id="template">
- <div class="row-fluid" id="template-row">
- <div class="span3 col-lg-6">
- <textarea id="template-input" class="form-control" cols="80" rows="25"></textarea>
- <div class="form-inline">
- https://gondul.tg.lol/api/templates/
- <div class="form-group">
- <select onchange="nmsTemplate.fromFile(this.value)" class="form-control" id="nmsTemplate-select">
- <option value="">Select template</option>
- </select>
- </div>
- <div class="form-group">
- <label for="template-query-params">Query parameters</label>
- <input type="text" class="form-control" id="template-query-params" value="?a=r1.ring:ge-1/0/2.0:mgmt+irb.666" />
- </div>
- <div class="form-group">
- <button onclick="nmsTemplate.test()" class="btn btn-primary">Test</button>
- </div>
- </div>
- </div>
- <div class="span3 col-lg-6">
- <textarea id="template-output" class="form-control" readonly cols="80" rows="25"></textarea>
- </div>
+ <div class="row" id="oplog-row">
+ <div id="oplog-parent" class="logbook">
+ <table id="oplog-table" class="table table-sm"></table>
+ </div>
</div>
</div>
+
<div class="container-fluid" id="map">
- <div class="row-fluid">
- <div class="span12" id="metaContainer">
- <div id="aboutKeybindings" class="col-md-4" style="position: absolute; display:none; z-index: 130;">
- <div class="panel panel-default">
- <div class="panel-heading">
- <h3 class="panel-title">Keyboard Shortcuts
- <button type="button" class="close" aria-label="Close" onclick="document.getElementById('aboutKeybindings').style.display = 'none';" style="float: right">
- <span aria-hidden="true">&times;</span>
- </button>
- </h3>
- </div>
- <table class="table table-condensed">
- <tr>
- <th>Key</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>?</td>
- <td>Toggle this help window</td>
- </tr>
- <tr>
- <td>-</td>
- <td>Toggle navigation bar</td>
- </tr>
- <tr>
- <td>n</td>
- <td>Toggle night mode</td>
- </tr>
- <tr>
- <td>1</td>
- <td>View super-map/health map</td>
- </tr>
- <tr>
- <td>2</td>
- <td>View uplink map</td>
- </tr>
- <tr>
- <td>3</td>
- <td>View DHCP map</td>
- </tr>
- <tr>
- <td>4</td>
- <td>View Ping map</td>
- </tr>
- <tr>
- <td>5</td>
- <td>View temperature map</td>
- </tr>
- <tr>
- <td>6</td>
- <td>View uplink traffic map</td>
- </tr>
- <tr>
- <td>7</td>
- <td>View total switch traffic map</td>
- </tr>
- <tr>
- <td>8</td>
- <td>View SNMP map</td>
- </tr>
- <tr>
- <td>9</td>
- <td>View CPU map</td>
- </tr>
- <tr>
- <td>0</td>
- <td>View Disco map</td>
- </tr>
- <tr>
- <td>c</td>
- <td>Toggle linknet connections</td>
- </tr>
- <tr>
- <td>h</td>
- <td>Step 1 hour back in time</td>
- </tr>
- <tr>
- <td>j</td>
- <td>Step 5 minutes back in time</td>
- </tr>
- <tr>
- <td>k</td>
- <td>Step 5 minutes forward in time</td>
- </tr>
- <tr>
- <td>l</td>
- <td>Step 1 hour forward in time</td>
- </tr>
- <tr>
- <td>o</td>
- <td>Toggle the ops log</td>
- </tr>
- <tr>
- <td>p</td>
- <td>Toggle playback (1 hour per second)</td>
- </tr>
- <tr>
- <td>r</td>
- <td>Return to real time</td>
- </tr>
- </table>
- </div>
- </div>
- <div id="nowPickerBox" style="position: absolute; display: none; z-index: 130;" class="col-sm-6 col-md-5">
- <div class="panel panel-default">
- <div class="panel-heading">
- <h3 class="panel-title">Time travel
- <button type="button" class="close" aria-labe="Close" onclick="document.getElementById('nowPickerBox').style.display = 'none';" style="float: right;">
- <span aria-hidden="true">&times;</span>
- </button>
- </h3>
- </div>
- <div class="panel-body row">
- <div class="col-sm-12">
- <div class="form-group">
- <input type="text" class="form-control" placeholder="YYYY-MM-DDThh:mm:ss" id="nowPicker">
- <div class="button-group">
- <button class="btn btn-primary" onclick="nmsTime.setNow(document.getElementById('nowPicker').dataset.iso);hideLayer('nowPickerBox');">Travel</button>
- <button class="btn btn-danger" onclick="nmsTime.realTime();hideLayer('nowPickerBox');">Back to reality</button>
- <button class="btn btn-info" data-toggle="button" onclick="toggleLayer('nowPickerInfo');">Info</button>
+ <div class="row">
+ <div id="genericPanelContainer">
+ <div id="info-box-container" class="d-none"></div>
+ </div>
+ <div class="span12" id="metaContainer">
+ <div id="aboutKeybindings" class="d-none">
+ <div
+ class="modal"
+ tabindex="-1"
+ aria-hidden="true"
+ style="display: block"
+ >
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h1 class="modal-title fs-5">Keyboard Shortcuts</h1>
+ <button
+ type="button"
+ class="btn-close"
+ onclick="toggleLayer('aboutKeybindings');"
+ aria-label="Close"
+ ></button>
+ </div>
+ <div class="modal-body">
+ <table class="table table-sm">
+ <tr>
+ <th>Key</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>?</td>
+ <td>Toggle this help window</td>
+ </tr>
+ <tr>
+ <td>-</td>
+ <td>Toggle navigation bar</td>
+ </tr>
+ <tr>
+ <td>n</td>
+ <td>Toggle night mode</td>
+ </tr>
+ <tr>
+ <td>1</td>
+ <td>View super-map/health map</td>
+ </tr>
+ <tr>
+ <td>2</td>
+ <td>View uplink map</td>
+ </tr>
+ <tr>
+ <td>3</td>
+ <td>View DHCP map</td>
+ </tr>
+ <tr>
+ <td>4</td>
+ <td>View Ping map</td>
+ </tr>
+ <tr>
+ <td>5</td>
+ <td>View temperature map</td>
+ </tr>
+ <tr>
+ <td>6</td>
+ <td>View uplink traffic map</td>
+ </tr>
+ <tr>
+ <td>7</td>
+ <td>View total switch traffic map</td>
+ </tr>
+ <tr>
+ <td>8</td>
+ <td>View SNMP map</td>
+ </tr>
+ <tr>
+ <td>9</td>
+ <td>View CPU map</td>
+ </tr>
+ <tr>
+ <td>0</td>
+ <td>View Disco map</td>
+ </tr>
+ <tr>
+ <td>c</td>
+ <td>Toggle linknet connections</td>
+ </tr>
+ <tr>
+ <td>h</td>
+ <td>Step 1 hour back in time</td>
+ </tr>
+ <tr>
+ <td>j</td>
+ <td>Step 5 minutes back in time</td>
+ </tr>
+ <tr>
+ <td>k</td>
+ <td>Step 5 minutes forward in time</td>
+ </tr>
+ <tr>
+ <td>l</td>
+ <td>Step 1 hour forward in time</td>
+ </tr>
+ <tr>
+ <td>o</td>
+ <td>Toggle the ops log</td>
+ </tr>
+ <tr>
+ <td>p</td>
+ <td>Toggle playback (1 hour per second)</td>
+ </tr>
+ <tr>
+ <td>r</td>
+ <td>Return to real time</td>
+ </tr>
+ </table>
+ </div>
+ </div>
</div>
</div>
</div>
- <div id="nowPickerInfo" class="col-sm-12" style="display:none;">
- <p>Time travel allows you to see the state of the network at a
- given time, and even fast forward or rewind on the fly with
- keyboard shortcuts (See the 'keyboard shortcuts' help
- section).</p>
- <p>Some features might not work perfectly with time travel, but
- you should get a pretty good idea of what went on.</p>
- <p>While we have more detailed data, time travel is limited to
- five minute intervals by default for performance reasons.</p>
+
+ <h1 id="map-mode-title" class="map-mode-title ms-2 mt-2"></h1>
+ <div class="map-mode-legend mb-4">
+ <button class="btn btn-default btn-sm" id="legend-1"></button>
+ <button class="btn btn-default btn-sm" id="legend-2"></button>
+ <button class="btn btn-default btn-sm" id="legend-3"></button>
+ <button class="btn btn-default btn-sm" id="legend-4"></button>
+ <button class="btn btn-default btn-sm" id="legend-5"></button>
</div>
- </div>
- </div>
- </div>
- <div id="genericPanelContainer" style="max-width: 60%; position: absolute; display: grid; grid-template-coumns: repeat(auto-fit,minmax(30%,100%));grid-gap: 10px; z-index: 120;">
- <div id="info-box-container" class="hidden" style="grid-column: 1 / auto; max-width: 800px; min-width: 700px;"> </div>
- </div>
- </div>
- <h1 id="map-mode-title" class="map-mode-title"></h1>
- <div class="map-mode-legend form-group">
- <button class="btn btn-default btn-sm" id="legend-1"></button>
- <button class="btn btn-default btn-sm" id="legend-2"></button>
- <button class="btn btn-default btn-sm" id="legend-3"></button>
- <button class="btn btn-default btn-sm" id="legend-4"></button>
- <button class="btn btn-default btn-sm" id="legend-5"></button>
- </div>
- <canvas id="bgCanvas" width="1920" height="1032" style="position: absolute; z-index: 1;"> </canvas>
- <canvas id="linkCanvas" width="1920" height="1032" style="position: absolute; z-index: 10; display: none;"> </canvas>
- <canvas id="blurCanvas" width="1920" height="1032" style="position: absolute; z-index: 20;"> </canvas>
- <canvas id="switchCanvas" width="1920" height="1032" style="position: absolute; z-index: 30;"> </canvas>
- <canvas id="textCanvas" width="1920" height="1032" style="position: absolute; z-index: 40;"> </canvas>
- <canvas id="textInfoCanvas" width="1920" height="1032" style="position: absolute; z-index: 45;"> </canvas>
- <canvas id="topCanvas" width="1920" height="1032" style="position: absolute; z-index: 50;"> </canvas>
- <canvas id="inputCanvas" width="1920" height="1032" style="position: absolute; z-index: 60; cursor: pointer;" onmousedown="nmsMap.canvasClick(event)"> </canvas>
- <canvas id="hiddenCanvas" width="1000" height="10" style="display: none; position: absolute; z-index: 1000 "></canvas>
- <div class="logbook logbook-mini gondul-is-private" style="position: absolute; right: 10px; width: 20%; z-index: 70; float: right;">
- <div id="oplog-parent-mini" class="logbook" style="border-color: transparent;">
- </div>
- </div>
+ <canvas
+ id="bgCanvas"
+ width="1920"
+ height="1032"
+ style="position: absolute; z-index: 1"
+ >
+ </canvas>
+ <canvas
+ id="linkCanvas"
+ width="1920"
+ height="1032"
+ style="position: absolute; z-index: 10; display: none"
+ >
+ </canvas>
+ <canvas
+ id="blurCanvas"
+ width="1920"
+ height="1032"
+ style="position: absolute; z-index: 20"
+ >
+ </canvas>
+ <canvas
+ id="switchCanvas"
+ width="1920"
+ height="1032"
+ style="position: absolute; z-index: 30"
+ >
+ </canvas>
+ <canvas
+ id="textCanvas"
+ width="1920"
+ height="1032"
+ style="position: absolute; z-index: 40"
+ >
+ </canvas>
+ <canvas
+ id="textInfoCanvas"
+ width="1920"
+ height="1032"
+ style="position: absolute; z-index: 45"
+ >
+ </canvas>
+ <canvas
+ id="topCanvas"
+ width="1920"
+ height="1032"
+ style="position: absolute; z-index: 50"
+ >
+ </canvas>
+ <canvas
+ id="inputCanvas"
+ width="1920"
+ height="1032"
+ style="position: absolute; z-index: 60; cursor: pointer"
+ onmousedown="nmsMap.canvasClick(event)"
+ >
+ </canvas>
+ <canvas
+ id="hiddenCanvas"
+ width="1000"
+ height="10"
+ style="display: none; position: absolute; z-index: 1000"
+ ></canvas>
- <div style="display:none;"><img id="source" src="img/floor.png" ></div>
+ <div
+ class="logbook logbook-mini pt-2 gondul-is-private"
+ style="
+ position: absolute;
+ right: 10px;
+ width: 20%;
+ z-index: 70;
+ float: right;
+ font-size: 0.8rem !important;
+ "
+ >
+ <div id="oplog-parent-mini" class="logbook"></div>
+ </div>
+ <div style="display: none">
+ <img id="source" src="img/floor.png" />
+ </div>
+ </div>
</div>
- </div><!--/.fluid-container-->
- <script src="js/jquery.min.js" type="text/javascript"></script>
- <script src="js/bootstrap.min.js" type="text/javascript"></script>
- <script src="js/moment.min.js" type="text/javascript"></script>
- <script src="js/Chart.min.js" type="text/javascript"></script>
+ </div>
+
+ <script
+ src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.4/dist/js/bootstrap.bundle.min.js"
+ crossorigin="anonymous"
+ ></script>
+
+ <script type="text/javascript" src="js/nms-fetch.js"></script>
+
<script type="text/javascript" src="js/nms-ui-boxes.js"></script>
<script type="text/javascript" src="js/nms-data.js"></script>
<script type="text/javascript" src="js/nms-map.js"></script>
@@ -317,20 +396,18 @@
<script type="text/javascript" src="js/nms-color-util.js"></script>
<script type="text/javascript" src="js/nms-map-handlers.js"></script>
<script type="text/javascript" src="js/nms-ui.js"></script>
- <script type="text/javascript" src="js/nms-admin-pane.js"></script>
<script type="text/javascript" src="js/nms-oplog.js"></script>
<script type="text/javascript" src="js/nms-search.js"></script>
<script type="text/javascript" src="js/nms-time.js"></script>
<script type="text/javascript" src="js/nms-dhcp.js"></script>
<script type="text/javascript" src="js/nms-template.js"></script>
- <script type="text/javascript" src="js/nms-draw-chart.js"></script>
<script type="text/javascript" src="js/nms-types.js"></script>
<script type="text/javascript" src="js/nms-ui-switch.js"></script>
<script type="text/javascript" src="js/nms-ui-switch-summary.js"></script>
<script type="text/javascript" src="js/nms-nightmode.js"></script>
- <script src="js/jquery.datetimepicker.full.js" type="text/javascript"></script>
+
<script type="text/javascript">
- initNMS();
+ initNMS();
</script>
</body>
</html>