-<!DOCTYPE html>\r
-<html>\r
-<head>\r
-<title>RestConf Documentation</title>\r
-<link href='//fonts.googleapis.com/css?family=Droid+Sans:400,700'\r
- rel='stylesheet' type='text/css' />\r
-<link href='css/highlight.default.css' media='screen' rel='stylesheet'\r
- type='text/css' />\r
-<link href='css/screen.css' media='screen' rel='stylesheet'\r
- type='text/css' />\r
-<link rel="stylesheet" type="text/css" href="static/opendaylight.css">\r
-<link rel="stylesheet" type="text/css"\r
- href="css/ui-lightness/jquery-ui-1.10.4.custom.min.css">\r
-<link rel="stylesheet" type="text/css" href="css/simplePagination.css">\r
-\r
-<script type="text/javascript" src="lib/shred.bundle.js"></script>\r
-<script src='lib/jquery-1.8.0.min.js' type='text/javascript'></script>\r
-<script src='lib/jquery-ui-1.11.0.min.js' type="text/javascript"></script>\r
-<script src='lib/jquery.slideto.min.js' type='text/javascript'></script>\r
-<script src='lib/jquery.wiggle.min.js' type='text/javascript'></script>\r
-<script src='lib/jquery.ba-bbq.min.js' type='text/javascript'></script>\r
-<script src='lib/handlebars-1.0.0.js' type='text/javascript'></script>\r
-<script src='lib/underscore-min.js' type='text/javascript'></script>\r
-<script src='lib/backbone-min.js' type='text/javascript'></script>\r
-<script src='lib/swagger.js' type='text/javascript'></script>\r
-<script src='swagger-ui.js' type='text/javascript'></script>\r
-<script src='lib/odl/list_mounts.js' type='text/javascript'></script>\r
-<script src='lib/highlight.7.3.pack.js' type='text/javascript'></script>\r
-<script src='lib/odl/swagger.js' type='text/javascript'></script>\r
-<script src='lib/odl/page.js' type='text/javascript'></script>\r
-<script src='lib/jquery.simplePagination.js' type='text/javascript'></script>\r
-\r
-<script type="text/javascript">\r
- \r
- //reloads the swagger UI documentation for the specified mount.\r
- var loadMount = function(mountIndex, pageNum, mountPath) {\r
- $("#message").empty();\r
- $("#message").append( "<p>Loading...</p>" );\r
- loadSwagger("/apidoc/apis/mounts/" + mountIndex + "?pageNum=" + pageNum,\r
- "swagger-ui-container", mountIndex, mountPath);\r
- loadPagination("/apidoc/apis/mounts/", mountIndex, mountPath, "swagger-ui-container");\r
- $("#message").empty();\r
- $("#message").append( "<h2><b>Showing mount points for " + mountPath + "</b></h2>");\r
- }\r
-\r
- //clears the swagger UI and adds text prompting use to select a mount point.\r
- var selectAMount = function(string) {\r
- $("#swagger-ui-container").empty();\r
- $("#message").empty();\r
- $("#message").append("<p>Select a mount point.</p>");\r
- }\r
- \r
- //loads the root swagger documenation (which comes from RestConf)\r
- var loadRootSwagger = function() {\r
- $("#message").empty();\r
- loadSwagger("/apidoc/apis", "swagger-ui-container");\r
- }\r
-\r
- //main method to initialize the mount list / swagger docs / tabs on page load\r
- $(function() {\r
- $("#tabs").tabs();\r
-\r
- loadMountList($("#mountlist"));\r
-\r
- loadRootSwagger();\r
- });\r
-\r
-</script>\r
-</head>\r
-\r
-<body>\r
- <div>\r
- <!-- style="background-color: #FCA000;" -->\r
- <div class="swagger-ui-wrap ui-tabs">\r
- <table>\r
- <tr>\r
- <td><img src="images/logo_small.png" /></td>\r
- <td><h1 width="100%">OpenDaylight RestConf API\r
- Documentation</h1></td>\r
- </tr>\r
- </table>\r
- </div>\r
- </div>\r
-\r
- <div class="navbar-inner">\r
- <div class="brand"></div>\r
- </div>\r
-\r
- <!-- defines the div shells which represent the jquery tabs -->\r
- <div id="tabs" class="swagger-ui-wrap">\r
- <ul>\r
- <li><a href="#Controller" onclick="loadRootSwagger()">Controller\r
- Resources</a></li>\r
- <li><a href="#Mounts" onclick="selectAMount()">Mounted\r
- Resources</a></li>\r
- </ul>\r
-\r
- <div id="Controller">\r
- <div>\r
- <h3>Below are the list of APIs supported by the Controller.</h3>\r
- </div>\r
- </div>\r
- <div id="Mounts">\r
- <div>\r
- <h3>Mount Points - Select an API below for details on available\r
- queries.</h3>\r
- </div>\r
- <div id="mountlist"></div>\r
- </div>\r
- </div>\r
- \r
- <div class="swagger-ui-wrap"><hr/></div>\r
- \r
- <!-- messages -->\r
- <div id="message" class="swagger-ui-wrap"></div>\r
- \r
- <!-- the swagger is always loaded in this div -->\r
- <div id="swagger-ui-container" class="swagger-ui-wrap"></div>\r
- <div class="pagination-holder clearfix">\r
- <div id="light-pagination" class="pagination light-theme simple-pagination"></div>\r
- </div>\r
- <div id="message-bar" class="swagger-ui-wrap"> </div>\r
-</body>\r
-\r
-</html>\r
+<!-- HTML for static distribution bundle build -->
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <title>RestConf Documentation</title>
+ <link rel="stylesheet" type="text/css" href="./css/swagger-ui.css" >
+ <link rel="icon" type="image/png" href="./images/favicon-32x32.png" sizes="32x32" />
+ <link rel="icon" type="image/png" href="./images/favicon-16x16.png" sizes="16x16" />
+ <style>
+ html
+ {
+ box-sizing: border-box;
+ overflow: -moz-scrollbars-vertical;
+ overflow-y: scroll;
+ }
+
+ *,
+ *:before,
+ *:after
+ {
+ box-sizing: inherit;
+ }
+
+ body
+ {
+ margin:0;
+ background: #fafafa;
+ }
+
+ topbar-wrapper img {
+ content:url('images/logo_small.png');
+ }
+ </style>
+</head>
+
+<body>
+<div id="swagger-ui"></div>
+
+<script src="./js/jquery-3.6.1.min.js"></script>
+<script src="./js/swagger-ui-bundle.js"> </script>
+<script>
+ window.onload = function() {
+ var xmlHttp = new XMLHttpRequest();
+ xmlHttp.open("GET", document.URL.split('/apidoc')[0] + "/apidoc/openapi3/apis/mounts", false);
+ xmlHttp.send( null );
+
+ var base_url_rfc = document.URL.split('/apidoc')[0] + '/apidoc/openapi3/apis/mounts/';
+ var swagger_urls = [{url: document.URL.split('/apidoc')[0] + "/apidoc/openapi3/apis/single", name: "Controller resources - RestConf RFC 8040"}];
+ var devices = JSON.parse(xmlHttp.responseText);
+ for (var i =0; i < devices.length; i++) {
+ var device_name = devices[i]['instance'].split('=')[2].replace('/', '');
+ var dveice_id = devices[i]['id'];
+ var dict = {
+ url: base_url_rfc + dveice_id,
+ name: device_name + " resources - RestConf RFC 8040",
+ };
+ swagger_urls.push(dict);
+ }
+
+ // Begin Swagger UI call region
+ const ui = SwaggerUIBundle({
+ urls: swagger_urls,
+ dom_id: '#swagger-ui',
+ docExpansion: 'none',
+ deepLinking: true,
+ showAlternativeSchemaExample: true,
+ onComplete: function(swaggerApi, swaggerUi){
+ var wrappers = document.getElementsByClassName('wrapper');
+ for(var i = 0; i < wrappers.length; i++) {
+ if (wrappers[i].innerText === "Schemas") {
+ wrappers[i].remove();
+ break;
+ }
+ }
+ var topbar = document.getElementsByClassName('topbar-wrapper');
+ var node2 = document.createElement("H2");
+ var node = document.createElement("IMG");
+ node.height = 40;
+ node.src = 'images/logo_small.png';
+ node2.innerText = "OpenDaylight RestConf API Documentation";
+ node2.prepend(node);
+ topbar[0].children[0].remove();
+ topbar[0].prepend(node2);
+ node.style = "padding-right: 18px;";
+ topbar[0].children[0].style="color:white; display: contents;";
+
+ var modules = document.getElementsByClassName('opblock-tag-section')
+ for(var i = 0; i < modules.length; i++) {
+ var innerText = modules[i].getElementsByTagName('a')[0].innerText;
+ var arrayInnerText = innerText.split(' ')
+ if (arrayInnerText.length > 0) {
+ modules[i].getElementsByTagName('a')[0].innerText = arrayInnerText[arrayInnerText.length - 1];
+ }
+ }
+ document.getElementsByClassName("select-label")[0].style = "max-width: max-content; padding-left: 20px";
+ document.getElementById("select").style = "flex: 0"
+ },
+ presets: [
+ SwaggerUIBundle.presets.apis,
+ SwaggerUIStandalonePreset
+ ],
+ plugins: [
+ SwaggerUIBundle.plugins.DownloadUrl
+ ],
+ layout: "StandaloneLayout"
+ })
+ // End Swagger UI call region
+
+ window.ui = ui
+
+ }
+
+ </script>
+<script src="./js/swagger-ui-standalone-preset.js"> </script>
+</body>
+</html>
+
+
+
+