forked from AkkomaGang/akkoma-fe
Fix virtual scrolling for tree threading
Ref: tree-threading
This commit is contained in:
parent
0db5a5a581
commit
2a510205c3
3 changed files with 18 additions and 6 deletions
|
@ -101,13 +101,16 @@ const conversation = {
|
|||
showOtherRepliesButtonInsideStatus () {
|
||||
return this.otherRepliesButtonPosition === 'inside'
|
||||
},
|
||||
hideStatus () {
|
||||
suspendable () {
|
||||
if (this.$refs.statusComponent && this.$refs.statusComponent[0]) {
|
||||
return this.virtualHidden && this.$refs.statusComponent[0].suspendable
|
||||
return this.$refs.statusComponent.every(s => s.suspendable)
|
||||
} else {
|
||||
return this.virtualHidden
|
||||
return true
|
||||
}
|
||||
},
|
||||
hideStatus () {
|
||||
return this.virtualHidden && this.suspendable
|
||||
},
|
||||
status () {
|
||||
return this.$store.state.statuses.allStatusesObject[this.statusId]
|
||||
},
|
||||
|
@ -243,7 +246,6 @@ const conversation = {
|
|||
return this.topLevel
|
||||
},
|
||||
diveRoot () {
|
||||
(() => {})(this.conversation)
|
||||
const statusId = this.inlineDivePosition || this.statusId
|
||||
const isTopLevel = !this.parentOf(statusId)
|
||||
return isTopLevel ? null : statusId
|
||||
|
@ -257,7 +259,10 @@ const conversation = {
|
|||
shouldShowAllConversationButton () {
|
||||
// The "show all conversation" button tells the user that there exist
|
||||
// other toplevel statuses, so do not show it if there is only a single root
|
||||
return this.diveMode && this.topLevel.length > 1
|
||||
return this.isTreeView && this.isExpanded && this.diveMode && this.topLevel.length > 1
|
||||
},
|
||||
shouldShowAncestors () {
|
||||
return this.isTreeView && this.isExpanded && this.ancestorsOf(this.diveRoot).length
|
||||
},
|
||||
replies () {
|
||||
let i = 1
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
class="thread-body"
|
||||
>
|
||||
<div
|
||||
v-if="ancestorsOf(diveRoot).length"
|
||||
v-if="shouldShowAncestors"
|
||||
class="thread-ancestors"
|
||||
>
|
||||
<div
|
||||
|
|
|
@ -48,6 +48,13 @@ const ThreadTree = {
|
|||
dive: Function
|
||||
},
|
||||
computed: {
|
||||
suspendable () {
|
||||
const selfSuspendable = this.$refs.statusComponent ? this.$refs.statusComponent.suspendable : true
|
||||
if (this.$refs.childComponent) {
|
||||
return selfSuspendable && this.$refs.childComponent.every(s => s.suspendable)
|
||||
}
|
||||
return selfSuspendable
|
||||
},
|
||||
reverseLookupTable () {
|
||||
return this.conversation.reduce((table, status, index) => {
|
||||
table[status.id] = index
|
||||
|
|
Loading…
Reference in a new issue