summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/alerts_service_settings/index.js
blob: fe83ced2ee7aeb1b81edd58bb41225b33431aba8 (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
34
35
36
37
38
39
import Vue from 'vue';
import { parseBoolean } from '~/lib/utils/common_utils';
import AlertsServiceForm from './components/alerts_service_form.vue';

export default el => {
  if (!el) {
    return null;
  }

  const {
    activated: activatedStr,
    alertsSetupUrl,
    alertsUsageUrl,
    formPath,
    authorizationKey,
    url,
    disabled,
  } = el.dataset;

  const activated = parseBoolean(activatedStr);
  const isDisabled = parseBoolean(disabled);

  return new Vue({
    el,
    render(createElement) {
      return createElement(AlertsServiceForm, {
        props: {
          alertsSetupUrl,
          alertsUsageUrl,
          initialActivated: activated,
          formPath,
          initialAuthorizationKey: authorizationKey,
          url,
          isDisabled,
        },
      });
    },
  });
};