summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/boards/components/modal/search.js.es6
blob: 764340bc5f3800d9b13df3129a57881b6e66e5bd (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/* global Vue */
(() => {
  const ModalStore = gl.issueBoards.ModalStore;

  window.gl = window.gl || {};
  window.gl.issueBoards = window.gl.issueBoards || {};

  gl.issueBoards.ModalSearch = Vue.extend({
    data() {
      return ModalStore.store;
    },
    computed: {
      selectAllText() {
        if (ModalStore.selectedCount() !== this.issues.length || this.issues.length === 0) {
          return 'Select all';
        }

        return 'Un-select all';
      },
    },
    methods: {
      toggleAll: ModalStore.toggleAll.bind(ModalStore),
    },
    template: `
      <div
        class="add-issues-search"
        v-if="activeTab == 'all'">
        <input
          placeholder="Search issues..."
          class="form-control"
          type="search"
          v-model="searchTerm" />
        <button
          type="button"
          class="btn btn-success btn-inverted"
          @click="toggleAll">
          {{ selectAllText }}
        </button>
      </div>
    `,
  });
})();