Bump jquery to 3.6.1
[netconf.git] / restconf / sal-rest-docgen / src / main / resources / explorer / index.html
index b2f76fa6db28e1201c4e8e107c21898e03295d79..1b55b399462efa149473369984b462a0ce9c1fc8 100644 (file)
-<!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
-<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
-\r
-<script type="text/javascript">\r
-       \r
-       //reloads the swagger UI documentation for the specified mount.\r
-       var loadMount = function(mountIndex, mountPath) {\r
-               $("#message").empty();\r
-               $("#message").append( "<p>Loading...</p>" );\r
-               loadSwagger("/apidoc/apis/mounts/" + mountIndex,\r
-                               "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
-</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
-\r
-       <div id="message-bar" class="swagger-ui-wrap">&nbsp;</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>
+
+
+
+