Open last boardView if not specified
This commit is contained in:
parent
43c04fd32d
commit
b87502e0a5
1 changed files with 19 additions and 2 deletions
|
@ -33,8 +33,20 @@ class BoardPage extends React.Component<Props, State> {
|
||||||
constructor(props: Props) {
|
constructor(props: Props) {
|
||||||
super(props)
|
super(props)
|
||||||
const queryString = new URLSearchParams(window.location.search)
|
const queryString = new URLSearchParams(window.location.search)
|
||||||
const boardId = queryString.get('id') || ''
|
let boardId = queryString.get('id') || ''
|
||||||
const viewId = queryString.get('v') || ''
|
let viewId = queryString.get('v') || ''
|
||||||
|
|
||||||
|
if (!boardId) {
|
||||||
|
// Load last viewed boardView
|
||||||
|
boardId = localStorage.getItem('lastBoardId') || ''
|
||||||
|
viewId = localStorage.getItem('lastViewId') || ''
|
||||||
|
if (boardId) {
|
||||||
|
Utils.replaceUrlQueryParam('id', boardId)
|
||||||
|
}
|
||||||
|
if (viewId) {
|
||||||
|
Utils.replaceUrlQueryParam('v', viewId)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
this.state = {
|
this.state = {
|
||||||
boardId,
|
boardId,
|
||||||
|
@ -166,6 +178,9 @@ class BoardPage extends React.Component<Props, State> {
|
||||||
|
|
||||||
private async attachToBoard(boardId?: string, viewId = '') {
|
private async attachToBoard(boardId?: string, viewId = '') {
|
||||||
Utils.log(`attachToBoard: ${boardId}`)
|
Utils.log(`attachToBoard: ${boardId}`)
|
||||||
|
localStorage.setItem('lastBoardId', boardId || '')
|
||||||
|
localStorage.setItem('lastViewId', viewId)
|
||||||
|
|
||||||
if (boardId) {
|
if (boardId) {
|
||||||
this.sync(boardId, viewId)
|
this.sync(boardId, viewId)
|
||||||
} else {
|
} else {
|
||||||
|
@ -290,6 +305,8 @@ class BoardPage extends React.Component<Props, State> {
|
||||||
}
|
}
|
||||||
|
|
||||||
showView(viewId: string, boardId: string = this.state.boardId): void {
|
showView(viewId: string, boardId: string = this.state.boardId): void {
|
||||||
|
localStorage.setItem('lastViewId', viewId)
|
||||||
|
|
||||||
if (this.state.boardTree && this.state.boardId === boardId) {
|
if (this.state.boardTree && this.state.boardId === boardId) {
|
||||||
const newBoardTree = this.state.boardTree.copyWithView(viewId)
|
const newBoardTree = this.state.boardTree.copyWithView(viewId)
|
||||||
this.setState({boardTree: newBoardTree, viewId})
|
this.setState({boardTree: newBoardTree, viewId})
|
||||||
|
|
Loading…
Reference in a new issue