Browse Source

Feature: Add 'remove-from-board' in board view

pull/169/head
winkidney 5 years ago
committed by Isaac Bythewood
parent
commit
a4dd2ea30f
3 changed files with 27 additions and 1 deletions
  1. +1
    -0
      pinry-spa/src/components/Pins.vue
  2. +7
    -0
      pinry-spa/src/components/api.js
  3. +19
    -1
      pinry-spa/src/components/editors/PinEditorUI.vue

+ 1
- 0
pinry-spa/src/components/Pins.vue View File

@@ -26,6 +26,7 @@
:currentUsername="editorMeta.user.meta.username" :currentUsername="editorMeta.user.meta.username"
:currentBoardId="editorMeta.currentBoard.id" :currentBoardId="editorMeta.currentBoard.id"
v-on:pin-delete-succeed="reset" v-on:pin-delete-succeed="reset"
v-on:pin-remove-from-board-succeed="reset"
></EditorUI> ></EditorUI>
<img :src="item.url" <img :src="item.url"
@load="onPinImageLoaded(item.id)" @load="onPinImageLoaded(item.id)"


+ 7
- 0
pinry-spa/src/components/api.js View File

@@ -45,6 +45,13 @@ const Board = {
{ pins_to_add: pinIds }, { pins_to_add: pinIds },
); );
}, },
removeFromBoard(boardId, pinIds) {
const url = `${API_PREFIX}boards/${boardId}/`;
return axios.patch(
url,
{ pins_to_remove: pinIds },
);
},
delete(boardId) { delete(boardId) {
const url = `${API_PREFIX}boards/${boardId}/`; const url = `${API_PREFIX}boards/${boardId}/`;
return axios.delete(url); return axios.delete(url);


+ 19
- 1
pinry-spa/src/components/editors/PinEditorUI.vue View File

@@ -1,7 +1,7 @@
<template> <template>
<div class="editor"> <div class="editor">
<div class="editor-buttons"> <div class="editor-buttons">
<span class="icon-container" v-if="inBoard">
<span class="icon-container" v-if="inBoard" @click="removeFromBoard">
<b-icon <b-icon
type="is-light" type="is-light"
icon="minus-box" icon="minus-box"
@@ -63,6 +63,24 @@ export default {
}, },
}, },
methods: { methods: {
removeFromBoard() {
this.$buefy.dialog.confirm({
message: 'Remove Pin from Board?',
onConfirm: () => {
API.Board.removeFromBoard(this.currentBoardId, [this.pin.id]).then(
() => {
this.$buefy.toast.open('Pin removed');
this.$emit('pin-remove-from-board-succeed', this.pin.id);
},
() => {
this.$buefy.toast.open(
{ type: 'is-danger', message: 'Failed to Remove Pin' },
);
},
);
},
});
},
deletePin() { deletePin() {
this.$buefy.dialog.confirm({ this.$buefy.dialog.confirm({
message: 'Delete this Pin?', message: 'Delete this Pin?',


Loading…
Cancel
Save