summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/ci_variable_list/native_form_variable_list.js
blob: 7cd5916ac9c07b489c59fa4feabe6ceb711930f6 (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
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', '');
    }
  });
}