Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Fix loading error catch
Signed-off-by: John Molakvoæ (skjnldsv) <[email protected]>
  • Loading branch information
skjnldsv authored and backportbot[bot] committed Sep 18, 2020
commit 2672f5da590e34041ea298041f3aba1d8b9415d4
2 changes: 1 addition & 1 deletion core/src/logger.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*
/**
* @copyright 2019 Christoph Wurst <[email protected]>
*
* @author 2019 Christoph Wurst <[email protected]>
Expand Down
2 changes: 1 addition & 1 deletion core/src/login.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*
/**
* @copyright 2019 Christoph Wurst <[email protected]>
*
* @author 2019 Christoph Wurst <[email protected]>
Expand Down
2 changes: 1 addition & 1 deletion core/src/maintenance.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*
/**
* @copyright 2019 Christoph Wurst <[email protected]>
*
* @author 2019 Christoph Wurst <[email protected]>
Expand Down
2 changes: 1 addition & 1 deletion core/src/recommendedapps.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*
/**
* @copyright 2019 Christoph Wurst <[email protected]>
*
* @author 2019 Christoph Wurst <[email protected]>
Expand Down
2 changes: 1 addition & 1 deletion core/src/session-heartbeat.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*
/**
* @copyright 2019 Christoph Wurst <[email protected]>
*
* @author 2019 Christoph Wurst <[email protected]>
Expand Down
13 changes: 12 additions & 1 deletion core/src/unified-search.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,9 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

import { getRequestToken } from '@nextcloud/auth'
import { generateFilePath } from '@nextcloud/router'
import { getLoggerBuilder } from '@nextcloud/logger'
import { getRequestToken } from '@nextcloud/auth'
import { translate as t, translatePlural as n } from '@nextcloud/l10n'
import Vue from 'vue'

Expand All @@ -32,7 +33,17 @@ __webpack_nonce__ = btoa(getRequestToken())
// eslint-disable-next-line camelcase
__webpack_public_path__ = generateFilePath('core', '', 'js/')

const logger = getLoggerBuilder()
.setApp('unified-search')
.detectUser()
.build()

Vue.mixin({
data() {
return {
logger,
}
},
methods: {
t,
n,
Expand Down
68 changes: 38 additions & 30 deletions core/src/views/UnifiedSearch.vue
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
<!-- Loading placeholders -->
<SearchResultPlaceholders v-if="isLoading" />

<EmptyContent v-else-if="isValidQuery && isDoneSearching" icon="icon-search">
<EmptyContent v-else-if="isValidQuery" icon="icon-search">
{{ t('core', 'No results for {query}', {query}) }}
</EmptyContent>

Expand Down Expand Up @@ -116,6 +116,7 @@ import Magnify from 'vue-material-design-icons/Magnify'
import HeaderMenu from '../components/HeaderMenu'
import SearchResult from '../components/UnifiedSearch/SearchResult'
import SearchResultPlaceholders from '../components/UnifiedSearch/SearchResultPlaceholders'
import { showError } from '@nextcloud/dialogs'

export default {
name: 'UnifiedSearch',
Expand Down Expand Up @@ -255,7 +256,7 @@ export default {

async created() {
this.types = await getTypes()
console.debug('Unified Search initialized with the following providers', this.types)
this.logger.debug('Unified Search initialized with the following providers', this.types)
},

mounted() {
Expand Down Expand Up @@ -372,42 +373,49 @@ export default {
// Remove any filters from the query
query = query.replace(regexFilterIn, '').replace(regexFilterNot, '')

console.debug('Searching', query, 'in', types)
this.logger.debug(`Searching ${query} in`, types)

// Reset search if the query changed
this.resetState()

types.forEach(async type => {
this.$set(this.loading, type, true)
const request = await search(type, query)
try {
this.$set(this.loading, type, true)
const request = await search(type, query)

// Process results
if (request.data.ocs.data.entries.length > 0) {
this.$set(this.results, type, request.data.ocs.data.entries)
} else {
this.$delete(this.results, type)
}

// Save cursor if any
if (request.data.ocs.data.cursor) {
this.$set(this.cursors, type, request.data.ocs.data.cursor)
} else if (!request.data.ocs.data.isPaginated) {
// If no cursor and no pagination, we save the default amount
// provided by server's initial state `defaultLimit`
this.$set(this.limits, type, this.defaultLimit)
}

// Check if we reached end of pagination
if (request.data.ocs.data.entries.length < this.defaultLimit) {
this.$set(this.reached, type, true)
}

// If none already focused, focus the first rendered result
if (this.focused === null) {
this.focused = 0
}
} catch (error) {
this.logger.error(`Error searching for ${this.typesMap[type]}`, error)
showError(this.t('core', 'An error occurred while looking for {type}', { type: this.typesMap[type] }))

// Process results
if (request.data.ocs.data.entries.length > 0) {
this.$set(this.results, type, request.data.ocs.data.entries)
} else {
this.$delete(this.results, type)
} finally {
this.$set(this.loading, type, false)
}

// Save cursor if any
if (request.data.ocs.data.cursor) {
this.$set(this.cursors, type, request.data.ocs.data.cursor)
} else if (!request.data.ocs.data.isPaginated) {
// If no cursor and no pagination, we save the default amount
// provided by server's initial state `defaultLimit`
this.$set(this.limits, type, this.defaultLimit)
}

// Check if we reached end of pagination
if (request.data.ocs.data.entries.length < this.defaultLimit) {
this.$set(this.reached, type, true)
}

// If none already focused, focus the first rendered result
if (this.focused === null) {
this.focused = 0
}

this.$set(this.loading, type, false)
})
},
onInputDebounced: debounce(function(e) {
Expand Down