logo

pleroma-fe

My custom branche(s) on git.pleroma.social/pleroma/pleroma-fe git clone https://anongit.hacktivis.me/git/pleroma-fe.git/

bookmark_folder_edit.js (2331B)


  1. import EmojiPicker from '../emoji_picker/emoji_picker.vue'
  2. import apiService from '../../services/api/api.service'
  3. import { useInterfaceStore } from 'src/stores/interface'
  4. import { useBookmarkFoldersStore } from 'src/stores/bookmark_folders'
  5. const BookmarkFolderEdit = {
  6. data () {
  7. return {
  8. name: '',
  9. nameDraft: '',
  10. emoji: '',
  11. emojiUrl: null,
  12. emojiDraft: '',
  13. emojiUrlDraft: null,
  14. emojiPickerExpanded: false,
  15. reallyDelete: false
  16. }
  17. },
  18. components: {
  19. EmojiPicker
  20. },
  21. created () {
  22. if (!this.id) return
  23. const credentials = this.$store.state.users.currentUser.credentials
  24. apiService.fetchBookmarkFolders({ credentials })
  25. .then((folders) => {
  26. const folder = folders.find(folder => folder.id === this.id)
  27. if (!folder) return
  28. this.nameDraft = this.name = folder.name
  29. this.emojiDraft = this.emoji = folder.emoji
  30. this.emojiUrlDraft = this.emojiUrl = folder.emoji_url
  31. })
  32. },
  33. computed: {
  34. id () {
  35. return this.$route.params.id
  36. }
  37. },
  38. methods: {
  39. selectEmoji (event) {
  40. this.emojiDraft = event.insertion
  41. this.emojiUrlDraft = event.insertionUrl
  42. },
  43. showEmojiPicker () {
  44. if (!this.emojiPickerExpanded) {
  45. this.$refs.picker.showPicker()
  46. }
  47. },
  48. onShowPicker () {
  49. this.emojiPickerExpanded = true
  50. },
  51. onClosePicker () {
  52. this.emojiPickerExpanded = false
  53. },
  54. updateFolder () {
  55. useBookmarkFoldersStore().updateBookmarkFolder({ folderId: this.id, name: this.nameDraft, emoji: this.emojiDraft })
  56. .then(() => {
  57. this.$router.push({ name: 'bookmark-folders' })
  58. })
  59. },
  60. createFolder () {
  61. useBookmarkFoldersStore().createBookmarkFolder({ name: this.nameDraft, emoji: this.emojiDraft })
  62. .then(() => {
  63. this.$router.push({ name: 'bookmark-folders' })
  64. })
  65. .catch((e) => {
  66. useInterfaceStore().pushGlobalNotice({
  67. messageKey: 'bookmark_folders.error',
  68. messageArgs: [e.message],
  69. level: 'error'
  70. })
  71. })
  72. },
  73. deleteFolder () {
  74. useBookmarkFoldersStore().deleteBookmarkFolder({ folderId: this.id })
  75. this.$router.push({ name: 'bookmark-folders' })
  76. }
  77. }
  78. }
  79. export default BookmarkFolderEdit