Skip to content

Commit

Permalink
Merge pull request #6309 from nextcloud/fix/load-archived-card-route
Browse files Browse the repository at this point in the history
fix: Load archived card if URL is opened directly
  • Loading branch information
juliusknorr authored Sep 16, 2024
2 parents dafdf10 + ca75c14 commit 4900aca
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 2 deletions.
10 changes: 10 additions & 0 deletions src/components/board/Board.vue
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,16 @@ export default {
await this.$store.dispatch('loadBoardById', this.id)
await this.$store.dispatch('loadStacks', this.id)
const routeCardId = parseInt(this.$route.params.cardId)
// If an archived card is requested, and we cannot find it in the current we load the archived stacks instead
if (routeCardId && !this.$store.getters.cardById(routeCardId)) {
await this.$store.dispatch('loadArchivedStacks', this.id)
if (this.$store.getters.cardById(routeCardId)) {
this.$store.commit('toggleShowArchived', true)
}
}
this.session?.close()
this.session = createSession(this.id)
} catch (e) {
Expand Down
4 changes: 2 additions & 2 deletions src/store/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -172,8 +172,8 @@ export default new Vuex.Store({
}
})
},
toggleShowArchived(state) {
state.showArchived = !state.showArchived
toggleShowArchived(state, newState = undefined) {
state.showArchived = newState !== undefined ? newState : !state.showArchived
},
/*
* Adds or replaces a board in the store.
Expand Down
15 changes: 15 additions & 0 deletions src/store/stack.js
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,21 @@ export default {
}
commit('setCards', cards)
},
async loadArchivedStacks({ commit, getters }, boardId) {
const archivedStacks = await apiClient.loadArchivedStacks(boardId)
const cards = []
for (const i in archivedStacks) {
const stack = archivedStacks[i]
for (const j in stack.cards) {
cards.push(stack.cards[j])
}
delete stack.cards
if (!getters.stackById(stack.id)) {
commit('addStack', stack)
}
}
commit('setCards', cards)
},
createStack({ commit }, stack) {
stack.boardId = this.state.currentBoard.id
apiClient.createStack(stack)
Expand Down

0 comments on commit 4900aca

Please sign in to comment.