forked from AkkomaGang/akkoma-fe
remove search blocker, fix debounce params
This commit is contained in:
parent
ebf4321e64
commit
9c884fef11
2 changed files with 20 additions and 8 deletions
|
@ -1,4 +1,4 @@
|
|||
import { debounce } from 'lodash'
|
||||
import debounce from 'lodash/debounce'
|
||||
/**
|
||||
* suggest - generates a suggestor function to be used by emoji-input
|
||||
* data: object providing source information for specific types of suggestions:
|
||||
|
@ -13,7 +13,7 @@ import { debounce } from 'lodash'
|
|||
|
||||
const debounceUserSearch = debounce((data, input) => {
|
||||
data.updateUsersList(input)
|
||||
}, 500, { leading: true, trailing: false })
|
||||
}, 500)
|
||||
|
||||
export default data => input => {
|
||||
const firstChar = input[0]
|
||||
|
@ -97,8 +97,8 @@ export const suggestUsers = data => input => {
|
|||
replacement: '@' + screen_name + ' '
|
||||
}))
|
||||
|
||||
// BE search users if there are no matches
|
||||
if (newUsers.length === 0 && data.updateUsersList) {
|
||||
// BE search users to get more comprehensive results
|
||||
if (data.updateUsersList) {
|
||||
debounceUserSearch(data, noPrefix)
|
||||
}
|
||||
return newUsers
|
||||
|
|
|
@ -225,6 +225,12 @@ export const mutations = {
|
|||
signUpFailure (state, errors) {
|
||||
state.signUpPending = false
|
||||
state.signUpErrors = errors
|
||||
},
|
||||
addRecentQuery (state, query) {
|
||||
state.recentQueries = state.recentQueries.concat(query)
|
||||
if (state.recentQueries.length > 10) {
|
||||
state.recentQueries = state.recentQueries.slice(1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -251,7 +257,8 @@ export const defaultState = {
|
|||
usersObject: {},
|
||||
signUpPending: false,
|
||||
signUpErrors: [],
|
||||
relationships: {}
|
||||
relationships: {},
|
||||
recentQueries: []
|
||||
}
|
||||
|
||||
const users = {
|
||||
|
@ -428,10 +435,15 @@ const users = {
|
|||
store.commit('setUserForNotification', notification)
|
||||
})
|
||||
},
|
||||
searchUsers (store, { query }) {
|
||||
return store.rootState.api.backendInteractor.searchUsers({ query })
|
||||
searchUsers ({ rootState, commit }, { query }) {
|
||||
// Don't fetch if this query was already done recently
|
||||
if (rootState.users.recentQueries.includes(query)) {
|
||||
return []
|
||||
}
|
||||
return rootState.api.backendInteractor.searchUsers({ query })
|
||||
.then((users) => {
|
||||
store.commit('addNewUsers', users)
|
||||
commit('addRecentQuery', query)
|
||||
commit('addNewUsers', users)
|
||||
return users
|
||||
})
|
||||
},
|
||||
|
|
Loading…
Reference in a new issue