feat: remember last board, list for new card dialog
Signed-off-by: Luka Trovic <luka@nextcloud.com>
This commit is contained in:
@@ -149,11 +149,8 @@ describe('Card', function() {
|
||||
cy.get('.reference-picker-modal--content .reference-picker').should('be.visible')
|
||||
cy.get('.reference-picker-modal--content .reference-picker').contains('Create a new card')
|
||||
cy.get('.reference-picker-modal--content .reference-picker .card-title').should('be.visible').click().type(newCardTitle)
|
||||
cy.get('.reference-picker-modal--content .reference-picker .multiselect-board').should('be.visible').click()
|
||||
cy.get('.reference-picker-modal--content .reference-picker .multiselect-board li:contains("' + boardData.title + '")').should('be.visible').click()
|
||||
cy.wait('@getBoard', { timeout: 7000 })
|
||||
cy.get('.reference-picker-modal--content .reference-picker .multiselect-list').should('be.visible').click()
|
||||
cy.get('.reference-picker-modal--content .reference-picker .multiselect-list li').eq(0).should('be.visible').click()
|
||||
cy.get('.reference-picker-modal--content .reference-picker .multiselect-board').should('be.visible').contains(boardData.title)
|
||||
cy.get('.reference-picker-modal--content .reference-picker .multiselect-list').should('be.visible').contains(boardData.stacks[0].title)
|
||||
cy.get('.reference-picker-modal--content .reference-picker button.button-vue--vue-primary').should('be.visible').click()
|
||||
cy.wait('@save', { timeout: 7000 })
|
||||
cy.get('.modal__card .ProseMirror').contains('/index.php/apps/deck/card/').should('be.visible')
|
||||
|
||||
@@ -129,6 +129,8 @@ export default {
|
||||
}
|
||||
|
||||
this.copiedCard = JSON.parse(JSON.stringify(this.card))
|
||||
localStorage.setItem('deck.selectedBoardId', this.currentBoard.id)
|
||||
localStorage.setItem('deck.selectedStackId', this.card.stackId)
|
||||
},
|
||||
|
||||
async updateCardDue(val) {
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
:disabled="loading"
|
||||
label="title"
|
||||
class="selector-wrapper--selector multiselect-board"
|
||||
@select="fetchBoardDetails">
|
||||
@select="onSelectBoard">
|
||||
<template slot="singleLabel" slot-scope="props">
|
||||
<span>
|
||||
<span :style="{ 'backgroundColor': '#' + props.option.color }" class="board-bullet" />
|
||||
@@ -47,7 +47,8 @@
|
||||
:max-height="100"
|
||||
:disabled="loading || !selectedBoard"
|
||||
class="selector-wrapper--selector multiselect-list"
|
||||
label="title" />
|
||||
label="title"
|
||||
@select="onSelectStack" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -220,6 +221,7 @@ export default {
|
||||
return board?.permissions?.PERMISSION_EDIT && !board?.archived && !board?.deletedAt
|
||||
})
|
||||
this.loading = false
|
||||
this.preSelectBoard()
|
||||
})
|
||||
},
|
||||
async fetchBoardDetails(board) {
|
||||
@@ -230,6 +232,7 @@ export default {
|
||||
this.labels = response.data.labels
|
||||
this.boardUsers = response.data.users
|
||||
this.boardAcl = response.data.acl
|
||||
this.preSelectStack()
|
||||
} catch (err) {
|
||||
return err
|
||||
}
|
||||
@@ -295,6 +298,31 @@ export default {
|
||||
openNewCard() {
|
||||
window.location = generateUrl('/apps/deck') + `#/board/${this.selectedBoard.id}/card/${this.newCard.id}`
|
||||
},
|
||||
preSelectBoard() {
|
||||
const selectedBoardId = Number(localStorage.getItem('deck.selectedBoardId'))
|
||||
const preSelectedBoard = this.boards.find(item => item.id === selectedBoardId)
|
||||
|
||||
if (preSelectedBoard) {
|
||||
this.selectedBoard = preSelectedBoard
|
||||
this.onSelectBoard(preSelectedBoard)
|
||||
}
|
||||
},
|
||||
preSelectStack() {
|
||||
const selectedStackId = Number(localStorage.getItem('deck.selectedStackId'))
|
||||
const preSelectedStack = this.stacksFromBoard.find(item => item.id === selectedStackId)
|
||||
|
||||
if (preSelectedStack) {
|
||||
this.selectedStack = preSelectedStack
|
||||
}
|
||||
},
|
||||
async onSelectBoard(board) {
|
||||
localStorage.setItem('deck.selectedBoardId', board.id)
|
||||
this.selectedStack = ''
|
||||
await this.fetchBoardDetails(board)
|
||||
},
|
||||
onSelectStack(stack) {
|
||||
localStorage.setItem('deck.selectedStackId', stack.id)
|
||||
},
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user