aboutsummaryrefslogtreecommitdiff
path: root/src/components/status_bookmark_folder_menu/status_bookmark_folder_menu.js
blob: 50bcb0ca3153351c38faf5b6b9905a7bb423c929 (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
import { library } from '@fortawesome/fontawesome-svg-core'
import { faChevronRight, faFolder } from '@fortawesome/free-solid-svg-icons'
import { mapState } from 'vuex'

import Popover from '../popover/popover.vue'

library.add(faChevronRight, faFolder)

const StatusBookmarkFolderMenu = {
  props: [
    'status'
  ],
  data () {
    return {}
  },
  components: {
    Popover
  },
  computed: {
    ...mapState({
      folders: state => state.bookmarkFolders.allFolders
    }),
    folderId () {
      return this.status.bookmark_folder_id
    }
  },
  methods: {
    toggleFolder (id) {
      const value = id === this.folderId ? null : id

      this.$store.dispatch('bookmark', { id: this.status.id, bookmark_folder_id: value })
        .then(() => this.$emit('onSuccess'))
        .catch(err => this.$emit('onError', err.error.error))
    }
  }
}

export default StatusBookmarkFolderMenu