do not refresh items after feed is deselected

This commit is contained in:
Nazar Kanaev 2020-10-03 21:33:35 +01:00
parent eb2029132c
commit d5cc9149e3

View File

@ -126,11 +126,11 @@ var vm = new Vue({
}, },
data: function() { data: function() {
return { return {
'filterSelected': null, 'filterSelected': undefined,
'folders': [], 'folders': [],
'feeds': [], 'feeds': [],
'feedSelected': null, 'feedSelected': undefined,
'feedListWidth': null, 'feedListWidth': undefined,
'feedNewChoice': [], 'feedNewChoice': [],
'feedNewChoiceSelected': '', 'feedNewChoiceSelected': '',
'items': [], 'items': [],
@ -142,8 +142,8 @@ var vm = new Vue({
'itemSelectedDetails': {}, 'itemSelectedDetails': {},
'itemSelectedReadability': '', 'itemSelectedReadability': '',
'itemSearch': '', 'itemSearch': '',
'itemSortNewestFirst': null, 'itemSortNewestFirst': undefined,
'itemListWidth': null, 'itemListWidth': undefined,
'filteredFeedStats': {}, 'filteredFeedStats': {},
'filteredFolderStats': {}, 'filteredFolderStats': {},
@ -229,13 +229,13 @@ var vm = new Vue({
}, 500), }, 500),
}, },
'filterSelected': function(newVal, oldVal) { 'filterSelected': function(newVal, oldVal) {
if (oldVal === null) return // do nothing, initial setup if (oldVal === undefined) return // do nothing, initial setup
api.settings.update({filter: newVal}).then(this.refreshItems.bind(this)) api.settings.update({filter: newVal}).then(this.refreshItems.bind(this))
this.itemSelected = null this.itemSelected = null
this.computeStats() this.computeStats()
}, },
'feedSelected': function(newVal, oldVal) { 'feedSelected': function(newVal, oldVal) {
if (oldVal === null) return // do nothing, initial setup if (oldVal === undefined) return // do nothing, initial setup
api.settings.update({feed: newVal}).then(this.refreshItems.bind(this)) api.settings.update({feed: newVal}).then(this.refreshItems.bind(this))
this.itemSelected = null this.itemSelected = null
if (this.$refs.itemlist) this.$refs.itemlist.scrollTop = 0 if (this.$refs.itemlist) this.$refs.itemlist.scrollTop = 0
@ -259,15 +259,15 @@ var vm = new Vue({
this.refreshItems() this.refreshItems()
}, 500), }, 500),
'itemSortNewestFirst': function(newVal, oldVal) { 'itemSortNewestFirst': function(newVal, oldVal) {
if (oldVal === null) return if (oldVal === undefined) return // do nothing, initial setup
api.settings.update({sort_newest_first: newVal}).then(this.refreshItems.bind(this)) api.settings.update({sort_newest_first: newVal}).then(this.refreshItems.bind(this))
}, },
'feedListWidth': debounce(function(newVal, oldVal) { 'feedListWidth': debounce(function(newVal, oldVal) {
if (oldVal === null) return if (oldVal === undefined) return // do nothing, initial setup
api.settings.update({feed_list_width: newVal}) api.settings.update({feed_list_width: newVal})
}, 1000), }, 1000),
'itemListWidth': debounce(function(newVal, oldVal) { 'itemListWidth': debounce(function(newVal, oldVal) {
if (oldVal === null) return if (oldVal === undefined) return // do nothing, initial setup
api.settings.update({item_list_width: newVal}) api.settings.update({item_list_width: newVal})
}, 1000), }, 1000),
}, },
@ -318,6 +318,11 @@ var vm = new Vue({
}) })
}, },
refreshItems: function() { refreshItems: function() {
if (this.feedSelected === null) {
vm.items = []
vm.itemsPage = {'cur': 1, 'num': 1}
return
}
var query = this.getItemsQuery() var query = this.getItemsQuery()
this.loading.items = true this.loading.items = true
return api.items.list(query).then(function(data) { return api.items.list(query).then(function(data) {