index.html 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="x-ua-compatible" content="IE=edge">
  6. <title>Swagger UI</title>
  7. <link rel="icon" type="image/png" href="images/favicon-32x32.png" sizes="32x32" />
  8. <link rel="icon" type="image/png" href="images/favicon-16x16.png" sizes="16x16" />
  9. <link href='css/typography.css' media='screen' rel='stylesheet' type='text/css'/>
  10. <link href='css/reset.css' media='screen' rel='stylesheet' type='text/css'/>
  11. <link href='css/screen.css' media='screen' rel='stylesheet' type='text/css'/>
  12. <link href='css/reset.css' media='print' rel='stylesheet' type='text/css'/>
  13. <link href='css/print.css' media='print' rel='stylesheet' type='text/css'/>
  14. <script src='lib/object-assign-pollyfill.js' type='text/javascript'></script>
  15. <script src='lib/jquery-1.8.0.min.js' type='text/javascript'></script>
  16. <script src='lib/jquery.slideto.min.js' type='text/javascript'></script>
  17. <script src='lib/jquery.wiggle.min.js' type='text/javascript'></script>
  18. <script src='lib/jquery.ba-bbq.min.js' type='text/javascript'></script>
  19. <script src='lib/handlebars-4.0.5.js' type='text/javascript'></script>
  20. <script src='lib/lodash.min.js' type='text/javascript'></script>
  21. <script src='lib/backbone-min.js' type='text/javascript'></script>
  22. <script src='swagger-ui.js' type='text/javascript'></script>
  23. <script src='lib/highlight.9.1.0.pack.js' type='text/javascript'></script>
  24. <script src='lib/highlight.9.1.0.pack_extended.js' type='text/javascript'></script>
  25. <script src='lib/jsoneditor.min.js' type='text/javascript'></script>
  26. <script src='lib/marked.js' type='text/javascript'></script>
  27. <script src='lib/swagger-oauth.js' type='text/javascript'></script>
  28. <!-- Some basic translations -->
  29. <!-- <script src='lang/translator.js' type='text/javascript'></script> -->
  30. <!-- <script src='lang/ru.js' type='text/javascript'></script> -->
  31. <!-- <script src='lang/en.js' type='text/javascript'></script> -->
  32. <script type="text/javascript">
  33. $(function () {
  34. var url = window.location.search.match(/url=([^&]+)/);
  35. if (url && url.length > 1) {
  36. url = decodeURIComponent(url[1]);
  37. } else {
  38. url = "swagger.json";
  39. }
  40. hljs.configure({
  41. highlightSizeThreshold: 5000
  42. });
  43. // Pre load translate...
  44. if(window.SwaggerTranslator) {
  45. window.SwaggerTranslator.translate();
  46. }
  47. window.swaggerUi = new SwaggerUi({
  48. url: url,
  49. dom_id: "swagger-ui-container",
  50. supportedSubmitMethods: ['get', 'post', 'put', 'delete', 'patch'],
  51. onComplete: function(swaggerApi, swaggerUi){
  52. if(typeof initOAuth == "function") {
  53. initOAuth({
  54. clientId: "your-client-id",
  55. clientSecret: "your-client-secret-if-required",
  56. realm: "your-realms",
  57. appName: "your-app-name",
  58. scopeSeparator: " ",
  59. additionalQueryStringParams: {}
  60. });
  61. }
  62. if(window.SwaggerTranslator) {
  63. window.SwaggerTranslator.translate();
  64. }
  65. addApiKeyAuthorization();
  66. },
  67. onFailure: function(data) {
  68. log("Unable to Load SwaggerUI");
  69. },
  70. docExpansion: "none",
  71. jsonEditor: false,
  72. apisSorter: "alpha",
  73. operationsSorter: "alpha",
  74. defaultModelRendering: 'model', /* example or model or schema */
  75. defaultModelsExpandDepth: -1,
  76. showRequestHeaders: false,
  77. showOperationIds: false,
  78. displayOperationIds: false,
  79. displayRequestDuration: true,
  80. /* @CHANGE LDR Add validatorUrl */
  81. validatorUrl: null
  82. });
  83. function addApiKeyAuthorization(){
  84. var key = encodeURIComponent($('#input_apiKey')[0].value);
  85. if(key && key.trim() != "") {
  86. /* @CHANGE LDR We set DOLAPIKEY into header */
  87. /* log("added key " + key); */
  88. log("added key");
  89. /* Disabled for security reason. We keep only param in header
  90. var apiKeyAuth = new SwaggerClient.ApiKeyAuthorization("api_key", key, "query");
  91. window.swaggerUi.api.clientAuthorizations.add("api_key", apiKeyAuth);
  92. log("added key " + key);
  93. */
  94. var apiKeyAuth = new SwaggerClient.ApiKeyAuthorization("DOLAPIKEY", key, "header");
  95. window.swaggerUi.api.clientAuthorizations.add("api_key", apiKeyAuth);
  96. /* log("header DOLAPIKEY added with value "+key); */
  97. log("header DOLAPIKEY added");
  98. }
  99. }
  100. $('#input_apiKey').change(addApiKeyAuthorization);
  101. window.swaggerUi.load();
  102. function log() {
  103. if ('console' in window) {
  104. console.log.apply(console, arguments);
  105. }
  106. }
  107. });
  108. </script>
  109. <style>
  110. .info_title, .info_description, .info_contact, .info_name, .info_url, .info_email, .info_license, #api_info, #input_baseUrl {
  111. display: none !important;
  112. }
  113. </style>
  114. </head>
  115. <body class="swagger-section">
  116. <div id="header" style="background-color: rgb(38,60,92); height: 17px;">
  117. <div class="swagger-ui-wrap">
  118. <a id="logo" href="#">Dolibarr REST API Explorer</a>
  119. <form id='api_selector'>
  120. <div class='input'><input placeholder="http://example.com/api" id="input_baseUrl" name="baseUrl" type="text"/></div>
  121. <div class='input'><input placeholder="DOLAPIKEY" id="input_apiKey" name="apiKey" type="text"/></div>
  122. <div class='input'><a id="explore" href="#" data-sw-translate>Explore</a></div>
  123. </form>
  124. </div>
  125. </div>
  126. <div id="message-bar" class="swagger-ui-wrap" data-sw-translate>&nbsp;</div>
  127. <div id="swagger-ui-container" class="swagger-ui-wrap"></div>
  128. </body>
  129. </html>