Skip to content

Commit

Permalink
Merge pull request #2698 from nextcloud/bugfix/noid/combine-empty-sou…
Browse files Browse the repository at this point in the history
…rces

Bugfix/noid/combine empty sources
  • Loading branch information
nickvergessen authored Jan 9, 2020
2 parents e18e6be + d59a06c commit 2c59757
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 23 deletions.
1 change: 1 addition & 0 deletions src/components/Hint.vue
Original file line number Diff line number Diff line change
Expand Up @@ -47,5 +47,6 @@ export default {
box-shadow: none !important;
user-select: none;
pointer-events: none;
padding-left: 10px;
}
</style>
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
:key="item.id"
:item="item" />
<Hint v-if="searchText && !conversationsList.length"
:hint="t('spreed', 'No search results')" />
:hint="t('spreed', 'No matches')" />
</ul>
</template>

Expand Down
87 changes: 65 additions & 22 deletions src/components/LeftSidebar/LeftSidebar.vue
Original file line number Diff line number Diff line change
Expand Up @@ -35,28 +35,33 @@
:search-text="searchText" />
</li>
<template v-if="isSearching">
<Caption
:title="t('spreed', 'Contacts')" />
<li v-if="searchResultsUsers.length !== 0">
<ContactsList :contacts="searchResultsUsers" />
</li>
<Hint v-else-if="contactsLoading" :hint="t('spreed', 'Loading')" />
<Hint v-else :hint="t('spreed', 'No search results')" />

<Caption
:title="t('spreed', 'Groups')" />
<li v-if="searchResultsGroups.length !== 0">
<GroupsList :groups="searchResultsGroups" />
</li>
<Hint v-else-if="contactsLoading" :hint="t('spreed', 'Loading')" />
<Hint v-else :hint="t('spreed', 'No search results')" />

<Caption
:title="t('spreed', 'Circles')" />
<li v-if="searchResultsCircles.length !== 0">
<CirclesList :circles="searchResultsCircles" />
</li>
<Hint v-else-if="contactsLoading" :hint="t('spreed', 'Loading')" />
<template v-if="searchResultsUsers.length !== 0">
<Caption
:title="t('spreed', 'Contacts')" />
<li v-if="searchResultsUsers.length !== 0">
<ContactsList :contacts="searchResultsUsers" />
</li>
</template>

<template v-if="searchResultsGroups.length !== 0">
<Caption
:title="t('spreed', 'Groups')" />
<li v-if="searchResultsGroups.length !== 0">
<GroupsList :groups="searchResultsGroups" />
</li>
</template>

<template v-if="searchResultsCircles.length !== 0">
<Caption
:title="t('spreed', 'Circles')" />
<li v-if="searchResultsCircles.length !== 0">
<CirclesList :circles="searchResultsCircles" />
</li>
</template>

<Caption v-if="sourcesWithoutResults"
:title="sourcesWithoutResultsList" />
<Hint v-if="contactsLoading" :hint="t('spreed', 'Loading')" />
<Hint v-else :hint="t('spreed', 'No search results')" />
</template>
</ul>
Expand Down Expand Up @@ -102,6 +107,7 @@ export default {
searchResultsGroups: [],
searchResultsCircles: [],
contactsLoading: false,
isCirclesEnabled: true, // FIXME
}
},

Expand All @@ -112,6 +118,43 @@ export default {
isSearching() {
return this.searchText !== ''
},

sourcesWithoutResults() {
return !this.searchResultsUsers.length
|| !this.searchResultsGroups.length
|| (this.isCirclesEnabled && !this.searchResultsCircles.length)
},

sourcesWithoutResultsList() {
if (!this.searchResultsUsers.length) {
if (!this.searchResultsGroups.length) {
if (this.isCirclesEnabled && !this.searchResultsCircles.length) {
return t('spreed', 'Contacts, groups and circles')
} else {
return t('spreed', 'Contacts and groups')
}
} else {
if (this.isCirclesEnabled && !this.searchResultsCircles.length) {
return t('spreed', 'Contacts and circles')
} else {
return t('spreed', 'Contacts')
}
}
} else {
if (!this.searchResultsGroups.length) {
if (this.isCirclesEnabled && !this.searchResultsCircles.length) {
return t('spreed', 'Groups and circles')
} else {
return t('spreed', 'Groups')
}
} else if (!this.searchResultsGroups.length) {
if (this.isCirclesEnabled && !this.searchResultsCircles.length) {
return t('spreed', 'Circles')
}
}
}
return t('spreed', 'Other sources')
},
},

beforeMount() {
Expand Down

0 comments on commit 2c59757

Please sign in to comment.