old_contents: import FilterableList from '~/filterable_list';
  
  export default class GroupFilterableList extends FilterableList {
    constructor(form, filter, holder, store) {
      super(form, filter, holder);
  
      this.store = store;
      this.$dropdown = $('.js-group-filter-dropdown-wrap');
    }
  
    bindEvents() {
      super.bindEvents();
  
      this.onFormSubmitWrapper = this.onFormSubmit.bind(this);
      this.onFilterOptionClikWrapper = this.onOptionClick.bind(this);
  
      this.filterForm.addEventListener('submit', this.onFormSubmitWrapper);
      this.$dropdown.on('click', 'a', this.onFilterOptionClikWrapper);
    }
  
    onFormSubmit(e) {
      e.preventDefault();
  
      this.filterResults();
    }
  
    onOptionClick(e) {
      e.preventDefault();
      const currentOption = $.trim(e.currentTarget.text);
  
      this.filterUrl = e.currentTarget.href;
      this.$dropdown.find('.dropdown-label').text(currentOption);
      this.filterResults(this.filterUrl);
    }
  
    onFilterSuccess(data) {
      super.onFilterSuccess(data);
  
      this.store.setGroups(data);
    }
  }
  
new_contents: import FilterableList from '~/filterable_list';
  
  export default class GroupFilterableList extends FilterableList {
    constructor(form, filter, holder, store) {
      super(form, filter, holder);
  
      this.store = store;
      this.$dropdown = $('.js-group-filter-dropdown-wrap');
    }
  
    bindEvents() {
      super.bindEvents();
  
      this.onFormSubmitWrapper = this.onFormSubmit.bind(this);
      this.onFilterOptionClikWrapper = this.onOptionClick.bind(this);
  
      this.filterForm.addEventListener('submit', this.onFormSubmitWrapper);
      this.$dropdown.on('click', 'a', this.onFilterOptionClikWrapper);
    }
  
    onFormSubmit(e) {
      e.preventDefault();
  
      this.filterResults();
    }
  
    onOptionClick(e) {
      e.preventDefault();
      const currentOption = $.trim(e.currentTarget.text);
  
      this.filterUrl = e.currentTarget.href;
      this.$dropdown.find('.dropdown-label').text(currentOption);
      this.filterResults(this.filterUrl);
    }
  
    onFilterSuccess(data, textStatus, xhr) {
      super.onFilterSuccess(data);
  
      this.store.setGroups(data);
      this.store.storePagination({
        'X-Per-Page': xhr.getResponseHeader('X-Per-Page'),
        'X-Page': xhr.getResponseHeader('X-Page'),
        'X-Total': xhr.getResponseHeader('X-Total'),
        'X-Total-Pages': xhr.getResponseHeader('X-Total-Pages'),
        'X-Next-Page': xhr.getResponseHeader('X-Next-Page'),
        'X-Prev-Page': xhr.getResponseHeader('X-Prev-Page'),
      });
    }
  }
  
subject: Fix pagination when sorting by option