All files / app/assets/javascripts/behaviors select2.js

0% Statements 0/9
0% Branches 0/2
0% Functions 0/7
0% Lines 0/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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 $ from 'jquery';
import { loadCSSFile } from '../lib/utils/css_utils';
 
export default () => {
  const $select2Elements = $('select.select2');
  if ($select2Elements.length) {
    import(/* webpackChunkName: 'select2' */ 'select2/select2')
      .then(() => {
        // eslint-disable-next-line promise/no-nesting
        loadCSSFile(gon.select2_css_path)
          .then(() => {
            $select2Elements.select2({
              width: 'resolve',
              minimumResultsForSearch: 10,
              dropdownAutoWidth: true,
            });
 
            // Close select2 on escape
            $('.js-select2').on('select2-close', () => {
              requestAnimationFrame(() => {
                $('.select2-container-active').removeClass('select2-container-active');
                $(':focus').blur();
              });
            });
          })
          .catch(() => {});
      })
      .catch(() => {});
  }
};