Welcome to mirror list, hosted at ThFree Co, Russian Federation.

page_size_selector.vue « components « vue_shared « javascripts « assets « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 9783946b78695d03a4f6e33c1cf2a39005f28041 (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
<script>
import { GlDropdown, GlDropdownItem } from '@gitlab/ui';
import { s__, sprintf } from '~/locale';

export const PAGE_SIZES = [20, 50, 100];

export default {
  components: { GlDropdown, GlDropdownItem },
  props: {
    value: {
      type: Number,
      required: true,
    },
  },
  methods: {
    emitInput(pageSize) {
      this.$emit('input', pageSize);
    },
    getPageSizeText(pageSize) {
      return sprintf(s__('SecurityReports|Show %{pageSize} items'), { pageSize });
    },
  },
  PAGE_SIZES,
};
</script>

<template>
  <gl-dropdown :text="getPageSizeText(value)" right menu-class="gl-w-auto! gl-min-w-0">
    <gl-dropdown-item
      v-for="pageSize in $options.PAGE_SIZES"
      :key="pageSize"
      @click="emitInput(pageSize)"
    >
      <span class="gl-white-space-nowrap">{{ getPageSizeText(pageSize) }}</span>
    </gl-dropdown-item>
  </gl-dropdown>
</template>