Make Select definition larger
[netconf.git] / restconf / restconf-openapi / src / main / resources / explorer / swagger-initializer.js
1 window.onload = function() {
2     var xmlHttp = new XMLHttpRequest();
3     xmlHttp.open("GET", document.URL.split('/openapi')[0] + "/openapi/api/v3/mounts", false);
4     xmlHttp.send( null );
5
6     var base_url_rfc = document.URL.split('/openapi')[0] + '/openapi/api/v3/mounts/';
7     var swagger_urls = [{url: document.URL.split('/openapi')[0] + "/openapi/api/v3/single", name: "Controller resources - RestConf RFC 8040"}];
8     var devices = JSON.parse(xmlHttp.responseText);
9     for (var i =0; i < devices.length; i++) {
10       var device_name = devices[i]['instance'].split('=')[2].replace('/', '');
11       var dveice_id = devices[i]['id'];
12       var dict = {
13         url: base_url_rfc + dveice_id,
14         name: device_name + " resources - RestConf RFC 8040",
15       };
16       swagger_urls.push(dict);
17     }
18
19     // Begin Swagger UI call region
20     const ui = SwaggerUIBundle({
21       urls: swagger_urls,
22       dom_id: '#swagger-ui',
23       docExpansion: 'none',
24       deepLinking: true,
25       showAlternativeSchemaExample: true,
26       onComplete: function(swaggerApi, swaggerUi){
27         var wrappers = document.getElementsByClassName('wrapper');
28         var topbar = document.getElementsByClassName('topbar-wrapper');
29         var node2 = document.createElement("H2");
30         var node = document.createElement("IMG");
31         node.height = 40;
32         node.src = 'logo_small.png';
33         node2.innerText = "OpenDaylight RestConf API Documentation";
34         node2.prepend(node);
35         topbar[0].children[0].remove();
36         topbar[0].prepend(node2);
37         node.style = "padding-right: 18px;";
38         topbar[0].children[0].style="color:white; display: contents;";
39
40         var modules = document.getElementsByClassName('opblock-tag-section')
41         for(var i = 0; i < modules.length; i++) {
42           var innerText = modules[i].getElementsByTagName('a')[0].innerText;
43           var arrayInnerText = innerText.split(' ')
44           if (arrayInnerText.length > 0) {
45             modules[i].getElementsByTagName('a')[0].innerText = arrayInnerText[arrayInnerText.length - 1];
46           }
47         }
48         document.getElementsByClassName("select-label")[0].style = "max-width: max-content; padding-left: 20px";
49         document.getElementById("select").style = "flex: none; width: auto"
50       },
51       presets: [
52         SwaggerUIBundle.presets.apis,
53         SwaggerUIStandalonePreset
54       ],
55       plugins: [
56         SwaggerUIBundle.plugins.DownloadUrl
57       ],
58       layout: "StandaloneLayout"
59     });
60
61     window.ui = ui;
62 }