summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/behaviors/markdown/render_observability.js
blob: 704d85cf22e614ade76c2b9ab47ad4c742607e1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import Vue from 'vue';
import { darkModeEnabled } from '~/lib/utils/color_utils';
import { setUrlParams } from '~/lib/utils/url_utility';

export function getFrameSrc(url) {
  return `${setUrlParams({ theme: darkModeEnabled() ? 'dark' : 'light' }, url)}&kiosk`;
}

const mountVueComponent = (element) => {
  const url = [element.dataset.frameUrl];

  return new Vue({
    el: element,
    render(h) {
      return h('iframe', {
        style: {
          height: '366px',
          width: '768px',
        },
        attrs: {
          src: getFrameSrc(url),
          frameBorder: '0',
        },
      });
    },
  });
};

export default function renderObservability(elements) {
  elements.forEach((element) => {
    mountVueComponent(element);
  });
}