summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/projects/settings/mount_shared_runners_toggle.js
blob: 54120b3525d0a10a4d2f5ff0a646cd1266c09878 (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
import Vue from 'vue';
import { parseBoolean } from '~/lib/utils/common_utils';
import SharedRunnersToggle from '~/projects/settings/components/shared_runners_toggle.vue';

export default (containerId = 'toggle-shared-runners-form') => {
  const containerEl = document.getElementById(containerId);
  if (!containerEl) {
    return null;
  }

  const {
    isDisabledAndUnoverridable,
    isEnabled,
    updatePath,
    isCreditCardValidationRequired,
  } = containerEl.dataset;

  return new Vue({
    el: containerEl,
    render(createElement) {
      return createElement(SharedRunnersToggle, {
        props: {
          isDisabledAndUnoverridable: parseBoolean(isDisabledAndUnoverridable),
          isEnabled: parseBoolean(isEnabled),
          isCreditCardValidationRequired: parseBoolean(isCreditCardValidationRequired),
          updatePath,
        },
      });
    },
  });
};