@@ -43,8 +43,15 @@
|
|||||||
</transition>
|
</transition>
|
||||||
<modal v-if="modalShow" title="Move card to another board" @close="modalShow=false">
|
<modal v-if="modalShow" title="Move card to another board" @close="modalShow=false">
|
||||||
<div class="modal__content">
|
<div class="modal__content">
|
||||||
<Multiselect v-model="selectedBoard" :options="boards" label="title" />
|
<Multiselect v-model="selectedBoard" :options="boards" label="title"
|
||||||
<Multiselect v-model="selectedStack" :options="asyncFindStacks" label="title" />
|
@select="loadStacksFromBoard" />
|
||||||
|
<Multiselect v-model="selectedStack" :options="stacksFromBoard" label="title" />
|
||||||
|
<button @click="moveCard">
|
||||||
|
<span class="icon-confirm" />{{ t('deck', 'Move card') }}
|
||||||
|
</button>
|
||||||
|
<button @click="modalShow=false">
|
||||||
|
<span class="icon-cancel" />{{ t('deck', 'Cancel') }}
|
||||||
|
</button>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</modal>
|
</modal>
|
||||||
@@ -92,7 +99,8 @@ export default {
|
|||||||
copiedCard: '',
|
copiedCard: '',
|
||||||
modalShow: false,
|
modalShow: false,
|
||||||
selectedBoard: '',
|
selectedBoard: '',
|
||||||
selectedStack: ''
|
selectedStack: '',
|
||||||
|
stacksFromBoard: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -157,17 +165,20 @@ export default {
|
|||||||
this.copiedCard.newUserUid = this.card.owner.uid
|
this.copiedCard.newUserUid = this.card.owner.uid
|
||||||
this.$store.dispatch('assignCardToUser', this.copiedCard)
|
this.$store.dispatch('assignCardToUser', this.copiedCard)
|
||||||
},
|
},
|
||||||
async asyncFindStacks() {
|
async loadStacksFromBoard(board) {
|
||||||
try {
|
try {
|
||||||
let url = OC.generateUrl('/apps/deck/stacks/' + this.selectedBoard.id)
|
let url = OC.generateUrl('/apps/deck/stacks/' + board.id)
|
||||||
let response = await axios.get(url)
|
let response = await axios.get(url)
|
||||||
return response.data
|
this.stacksFromBoard = response.data
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
moveCard() {
|
moveCard() {
|
||||||
|
this.copiedCard = Object.assign({}, this.card)
|
||||||
|
this.copiedCard.stackId = this.selectedStack.id
|
||||||
|
this.$store.dispatch('moveCard', this.copiedCard)
|
||||||
|
this.modalShow = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -116,6 +116,12 @@ export default {
|
|||||||
commit('updateTitle', updatedCard)
|
commit('updateTitle', updatedCard)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
moveCard({ commit }, card) {
|
||||||
|
apiClient.updateCard(card)
|
||||||
|
.then((updatedCard) => {
|
||||||
|
commit('deleteCard', updatedCard)
|
||||||
|
})
|
||||||
|
},
|
||||||
reorderCard({ commit }, card) {
|
reorderCard({ commit }, card) {
|
||||||
commit('updateCard', card)
|
commit('updateCard', card)
|
||||||
// TODO iterate over cards in stacks and increase order state from cards >= card.order
|
// TODO iterate over cards in stacks and increase order state from cards >= card.order
|
||||||
|
|||||||
Reference in New Issue
Block a user