summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/blob/openapi/index.js
blob: 44b75cc3e68c144283a4035b687b28d147e65e56 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import { SwaggerUIBundle } from 'swagger-ui-dist';
import { createAlert } from '~/flash';
import { __ } from '~/locale';

export default () => {
  const el = document.getElementById('js-openapi-viewer');

  Promise.all([import(/* webpackChunkName: 'openapi' */ 'swagger-ui-dist/swagger-ui.css')])
    .then(() => {
      SwaggerUIBundle({
        url: el.dataset.endpoint,
        dom_id: '#js-openapi-viewer',
        deepLinking: true,
        displayOperationId: true,
      });
    })
    .catch((error) => {
      createAlert({
        message: __('Something went wrong while initializing the OpenAPI viewer'),
      });
      throw error;
    });
};