954a17bc8720b195668b6996bb9a1984ba7bca6b
[netconf.git] / restconf / sal-rest-docgen / src / main / resources / explorer / index.html
1 <!-- HTML for static distribution bundle build -->
2 <!DOCTYPE html>
3 <html lang="en">
4 <head>
5   <meta charset="UTF-8">
6   <title>RestConf Documentation</title>
7   <link rel="stylesheet" type="text/css" href="./css/swagger-ui.css" >
8   <link rel="icon" type="image/png" href="./images/favicon-32x32.png" sizes="32x32" />
9   <link rel="icon" type="image/png" href="./images/favicon-16x16.png" sizes="16x16" />
10   <style>
11       html
12       {
13         box-sizing: border-box;
14         overflow: -moz-scrollbars-vertical;
15         overflow-y: scroll;
16       }
17
18       *,
19       *:before,
20       *:after
21       {
22         box-sizing: inherit;
23       }
24
25       body
26       {
27         margin:0;
28         background: #fafafa;
29       }
30
31       topbar-wrapper img {
32         content:url('images/logo_small.png');
33       }
34     </style>
35 </head>
36
37 <body>
38 <div id="swagger-ui"></div>
39
40 <script src="./js/jquery-3.6.0.min.js"></script>
41 <script src="./js/swagger-ui-bundle.js"> </script>
42 <script>
43     window.onload = function() {
44       var xmlHttp = new XMLHttpRequest();
45       xmlHttp.open("GET", document.URL.split('/apidoc')[0] + "/apidoc/openapi3/18/apis/mounts", false);
46       xmlHttp.send( null );
47
48       var base_url_rfc = document.URL.split('/apidoc')[0] + '/apidoc/openapi3/18/apis/mounts/';
49       var base_url_draft = document.URL.split('/apidoc')[0] + '/apidoc/openapi3/apis/mounts/';
50       var swagger_urls = [{url: document.URL.split('/apidoc')[0] + "/apidoc/openapi3/18/apis/single", name: "Controller resources - RestConf RFC 8040"},
51                           {url: document.URL.split('/apidoc')[0] + "/apidoc/openapi3/apis/single", name: "Controller resources - RestConf draft02"}];
52       var devices = JSON.parse(xmlHttp.responseText);
53       for (var i =0; i < devices.length; i++) {
54         var device_name = devices[i]['instance'].split('=')[2].replace('/', '');
55         var dveice_id = devices[i]['id'];
56         var dict = {
57           url: base_url_rfc + dveice_id,
58           name: device_name + " resources - RestConf RFC 8040",
59         };
60         swagger_urls.push(dict);
61         var dict = {
62           url: base_url_draft + dveice_id,
63           name: device_name + " resources - RestConf draft02",
64         };
65         swagger_urls.push(dict);
66       }
67
68       // Begin Swagger UI call region
69       const ui = SwaggerUIBundle({
70         urls: swagger_urls,
71         dom_id: '#swagger-ui',
72         docExpansion: 'none',
73         deepLinking: true,
74         showAlternativeSchemaExample: true,
75         onComplete: function(swaggerApi, swaggerUi){
76               var wrappers = document.getElementsByClassName('wrapper');
77               for(var i = 0; i < wrappers.length; i++) {
78             if (wrappers[i].innerText === "Schemas") {
79               wrappers[i].remove();
80               break;
81             }
82           }
83           var topbar = document.getElementsByClassName('topbar-wrapper');
84           var node2 = document.createElement("H2");
85           var node = document.createElement("IMG");
86           node.height = 40;
87           node.src = 'images/logo_small.png';
88           node2.innerText = "OpenDaylight RestConf API Documentation";
89           node2.prepend(node);
90           topbar[0].children[0].remove();
91           topbar[0].prepend(node2);
92           node.style = "padding-right: 18px;";
93           topbar[0].children[0].style="color:white; display: contents;";
94
95           var modules = document.getElementsByClassName('opblock-tag-section')
96           for(var i = 0; i < modules.length; i++) {
97             var innerText = modules[i].getElementsByTagName('a')[0].innerText;
98             var arrayInnerText = innerText.split(' ')
99             if (arrayInnerText.length > 0) {
100               modules[i].getElementsByTagName('a')[0].innerText = arrayInnerText[arrayInnerText.length - 1];
101             }
102           }
103           document.getElementsByClassName("select-label")[0].style = "max-width: max-content; padding-left: 20px";
104           document.getElementById("select").style = "flex: 0"
105         },
106         presets: [
107           SwaggerUIBundle.presets.apis,
108           SwaggerUIStandalonePreset
109         ],
110         plugins: [
111           SwaggerUIBundle.plugins.DownloadUrl
112         ],
113         layout: "StandaloneLayout"
114       })
115       // End Swagger UI call region
116
117       window.ui = ui
118
119     }
120
121   </script>
122 <script src="./js/swagger-ui-standalone-preset.js"> </script>
123 </body>
124 </html>
125
126
127
128