summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/pages/projects/settings/ci_cd/show/index.js
blob: 1faa59fb45bbcb6425fef7d984623f53dbc80a74 (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 initSettingsPanels from '~/settings_panels';
import SecretValues from '~/behaviors/secret_values';
import AjaxVariableList from '~/ci_variable_list/ajax_variable_list';

document.addEventListener('DOMContentLoaded', () => {
  // Initialize expandable settings panels
  initSettingsPanels();

  const runnerToken = document.querySelector('.js-secret-runner-token');
  if (runnerToken) {
    const runnerTokenSecretValue = new SecretValues({
      container: runnerToken,
    });
    runnerTokenSecretValue.init();
  }

  const variableListEl = document.querySelector('.js-ci-variable-list-section');
  // eslint-disable-next-line no-new
  new AjaxVariableList({
    container: variableListEl,
    saveButton: variableListEl.querySelector('.js-secret-variables-save-button'),
    errorBox: variableListEl.querySelector('.js-ci-variable-error-box'),
    saveEndpoint: variableListEl.dataset.saveEndpoint,
  });

  // hide extra auto devops settings based on data-attributes
  const autoDevOpsSettings = document.querySelector('.js-auto-devops-settings');
  const autoDevOpsExtraSettings = document.querySelector('.js-extra-settings');

  autoDevOpsSettings.addEventListener('click', event => {
    const { target } = event;
    if (target.classList.contains('js-toggle-extra-settings')) {
      autoDevOpsExtraSettings.classList.toggle(
        'hidden',
        !!(target.dataset && target.dataset.hideExtraSettings),
      );
    }
  });
});