summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/issues/show/components/task_list_item_actions.vue
blob: d0beb0f39b3aafbecc1ad4b35d8ae7223da10a54 (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
43
44
45
46
47
<script>
import { GlDropdown, GlDropdownItem } from '@gitlab/ui';
import { __, s__ } from '~/locale';
import eventHub from '../event_hub';

export default {
  i18n: {
    convertToTask: s__('WorkItem|Convert to task'),
    delete: __('Delete'),
    taskActions: s__('WorkItem|Task actions'),
  },
  components: {
    GlDropdown,
    GlDropdownItem,
  },
  inject: ['canUpdate', 'toggleClass'],
  methods: {
    convertToTask() {
      eventHub.$emit('convert-task-list-item', this.$el.closest('li').dataset.sourcepos);
    },
    deleteTaskListItem() {
      eventHub.$emit('delete-task-list-item', this.$el.closest('li').dataset.sourcepos);
    },
  },
};
</script>

<template>
  <gl-dropdown
    class="task-list-item-actions-wrapper"
    category="tertiary"
    icon="ellipsis_v"
    lazy
    no-caret
    right
    :text="$options.i18n.taskActions"
    text-sr-only
    :toggle-class="`task-list-item-actions gl-opacity-0 gl-p-2! ${toggleClass}`"
  >
    <gl-dropdown-item v-if="canUpdate" @click="convertToTask">
      {{ $options.i18n.convertToTask }}
    </gl-dropdown-item>
    <gl-dropdown-item v-if="canUpdate" variant="danger" @click="deleteTaskListItem">
      {{ $options.i18n.delete }}
    </gl-dropdown-item>
  </gl-dropdown>
</template>