From 2d2aa384162546cfce8f66b66675cec2e8b5bbcb Mon Sep 17 00:00:00 2001 From: AkiraFukushima Date: Thu, 13 Sep 2018 23:03:47 +0900 Subject: [PATCH] refs #601 Fix losting focused toot in timeline --- .../components/TimelineSpace/Contents/Hashtag/Tag.vue | 10 +++++++++- .../components/TimelineSpace/Contents/Home.vue | 10 +++++++++- .../components/TimelineSpace/Contents/Lists/Show.vue | 10 +++++++++- .../components/TimelineSpace/Contents/Local.vue | 10 +++++++++- .../components/TimelineSpace/Contents/Public.vue | 10 +++++++++- 5 files changed, 45 insertions(+), 5 deletions(-) diff --git a/src/renderer/components/TimelineSpace/Contents/Hashtag/Tag.vue b/src/renderer/components/TimelineSpace/Contents/Hashtag/Tag.vue index ff41c524..6de24b40 100644 --- a/src/renderer/components/TimelineSpace/Contents/Hashtag/Tag.vue +++ b/src/renderer/components/TimelineSpace/Contents/Hashtag/Tag.vue @@ -55,7 +55,15 @@ export default { 'modalOpened' ]), shortcutEnabled: function () { - return !this.focusedId && !this.modalOpened + if (this.modalOpened) { + return false + } + if (!this.focusedId) { + return true + } + // Sometimes toots are deleted, so perhaps focused toot don't exist. + const currentIndex = this.timeline.findIndex(toot => this.focusedId === toot.uri) + return currentIndex === -1 } }, mounted () { diff --git a/src/renderer/components/TimelineSpace/Contents/Home.vue b/src/renderer/components/TimelineSpace/Contents/Home.vue index 7360e926..e802477b 100644 --- a/src/renderer/components/TimelineSpace/Contents/Home.vue +++ b/src/renderer/components/TimelineSpace/Contents/Home.vue @@ -55,7 +55,15 @@ export default { 'modalOpened' ]), shortcutEnabled: function () { - return !this.focusedId && !this.modalOpened + if (this.modalOpened) { + return false + } + if (!this.focusedId) { + return true + } + // Sometimes toots are deleted, so perhaps focused toot don't exist. + const currentIndex = this.timeline.findIndex(toot => this.focusedId === toot.uri) + return currentIndex === -1 } }, mounted () { diff --git a/src/renderer/components/TimelineSpace/Contents/Lists/Show.vue b/src/renderer/components/TimelineSpace/Contents/Lists/Show.vue index 48b4c6e8..ec5c19b9 100644 --- a/src/renderer/components/TimelineSpace/Contents/Lists/Show.vue +++ b/src/renderer/components/TimelineSpace/Contents/Lists/Show.vue @@ -55,7 +55,15 @@ export default { 'modalOpened' ]), shortcutEnabled: function () { - return !this.focusedId && !this.modalOpened + if (this.modalOpened) { + return false + } + if (!this.focusedId) { + return true + } + // Sometimes toots are deleted, so perhaps focused toot don't exist. + const currentIndex = this.timeline.findIndex(toot => this.focusedId === toot.uri) + return currentIndex === -1 } }, created () { diff --git a/src/renderer/components/TimelineSpace/Contents/Local.vue b/src/renderer/components/TimelineSpace/Contents/Local.vue index 13057db6..2f12354f 100644 --- a/src/renderer/components/TimelineSpace/Contents/Local.vue +++ b/src/renderer/components/TimelineSpace/Contents/Local.vue @@ -55,7 +55,15 @@ export default { 'modalOpened' ]), shortcutEnabled: function () { - return !this.focusedId && !this.modalOpened + if (this.modalOpened) { + return false + } + if (!this.focusedId) { + return true + } + // Sometimes toots are deleted, so perhaps focused toot don't exist. + const currentIndex = this.timeline.findIndex(toot => this.focusedId === toot.uri) + return currentIndex === -1 } }, mounted () { diff --git a/src/renderer/components/TimelineSpace/Contents/Public.vue b/src/renderer/components/TimelineSpace/Contents/Public.vue index ebfc6d99..1f4056df 100644 --- a/src/renderer/components/TimelineSpace/Contents/Public.vue +++ b/src/renderer/components/TimelineSpace/Contents/Public.vue @@ -55,7 +55,15 @@ export default { 'modalOpened' ]), shortcutEnabled: function () { - return !this.focusedId && !this.modalOpened + if (this.modalOpened) { + return false + } + if (!this.focusedId) { + return true + } + // Sometimes toots are deleted, so perhaps focused toot don't exist. + const currentIndex = this.timeline.findIndex(toot => this.focusedId === toot.uri) + return currentIndex === -1 } }, created () {