summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/pages/projects/merge_requests/creations/new/compare_autocomplete.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/pages/projects/merge_requests/creations/new/compare_autocomplete.js')
-rw-r--r--app/assets/javascripts/pages/projects/merge_requests/creations/new/compare_autocomplete.js91
1 files changed, 0 insertions, 91 deletions
diff --git a/app/assets/javascripts/pages/projects/merge_requests/creations/new/compare_autocomplete.js b/app/assets/javascripts/pages/projects/merge_requests/creations/new/compare_autocomplete.js
deleted file mode 100644
index 65942464e2b..00000000000
--- a/app/assets/javascripts/pages/projects/merge_requests/creations/new/compare_autocomplete.js
+++ /dev/null
@@ -1,91 +0,0 @@
-/* eslint-disable func-names */
-
-import $ from 'jquery';
-import initDeprecatedJQueryDropdown from '~/deprecated_jquery_dropdown';
-import { createAlert } from '~/flash';
-import axios from '~/lib/utils/axios_utils';
-import { capitalizeFirstCharacter } from '~/lib/utils/text_utility';
-import { __ } from '~/locale';
-import { fixTitle } from '~/tooltips';
-
-export default function initCompareAutocomplete(limitTo = null, clickHandler = () => {}) {
- $('.js-compare-dropdown').each(function () {
- const $dropdown = $(this);
- const selected = $dropdown.data('selected');
- const defaultText = $dropdown.data('defaultText').trim();
- const $dropdownContainer = $dropdown.closest('.dropdown');
- const $fieldInput = $(`input[name="${$dropdown.data('fieldName')}"]`, $dropdownContainer);
- const $filterInput = $('input[type="search"]', $dropdownContainer);
- initDeprecatedJQueryDropdown($dropdown, {
- data(term, callback) {
- const params = {
- ref: $dropdown.data('ref'),
- search: term,
- };
-
- if (limitTo) {
- params.find = limitTo;
- }
-
- axios
- .get($dropdown.data('refsUrl'), {
- params,
- })
- .then(({ data }) => {
- if (limitTo) {
- callback(data[capitalizeFirstCharacter(limitTo)] || []);
- } else {
- callback(data);
- }
- })
- .catch(() =>
- createAlert({
- message: __('Error fetching refs'),
- }),
- );
- },
- selectable: true,
- filterable: true,
- filterRemote: Boolean($dropdown.data('refsUrl')),
- fieldName: $dropdown.data('fieldName'),
- filterInput: 'input[type="search"]',
- renderRow(ref) {
- const link = $('<a />')
- .attr('href', '#')
- .addClass(ref === selected ? 'is-active' : '')
- .text(ref)
- .attr('data-ref', ref);
- if (ref.header != null) {
- return $('<li />').addClass('dropdown-header').text(ref.header);
- }
- return $('<li />').append(link);
- },
- id(obj, $el) {
- return $el.attr('data-ref');
- },
- toggleLabel(obj, $el) {
- if ($el.hasClass('is-active')) {
- return $el.text().trim();
- }
-
- return defaultText;
- },
- clicked: () => clickHandler($dropdown),
- });
- $filterInput.on('keyup', (e) => {
- const keyCode = e.keyCode || e.which;
- if (keyCode !== 13) return;
- const text = $filterInput.val();
- $fieldInput.val(text);
- $('.dropdown-toggle-text', $dropdown).text(text);
- $dropdownContainer.removeClass('open');
- });
-
- $dropdownContainer.on('click', '.dropdown-content a', (e) => {
- $dropdown.prop('title', e.target.text.replace(/_+?/g, '-'));
- if ($dropdown.hasClass('has-tooltip')) {
- fixTitle($dropdown);
- }
- });
- });
-}