summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/ci/ci_variable_list/native_form_variable_list.js
blob: fdbefd8c313df39ed2650a7d62f61dab3dcb239f (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
import $ from 'jquery';
import VariableList from './ci_variable_list';

// Used for the variable list on scheduled pipeline edit page
export default function setupNativeFormVariableList({ container, formField = 'variables' }) {
  const $container = $(container);

  const variableList = new VariableList({
    container: $container,
    formField,
  });
  variableList.init();

  // Clear out the names in the empty last row so it
  // doesn't get submitted and throw validation errors
  $container.closest('form').on('submit trigger-submit', () => {
    const $lastRow = $container.find('.js-row').last();

    const isTouched = variableList.checkIfRowTouched($lastRow);
    if (!isTouched) {
      $lastRow.find('input, textarea').attr('name', '');
      $lastRow.find('select').attr('name', '');
    }
  });
}