diff --git a/src/models/circle.ts b/src/models/circle.ts index a3c24ba0e..32b0f26bd 100644 --- a/src/models/circle.ts +++ b/src/models/circle.ts @@ -3,7 +3,7 @@ * SPDX-License-Identifier: AGPL-3.0-or-later */ -import { CircleConfigs, MemberLevels, ROUTE_CIRCLE } from './constants.ts' +import { CircleConfigs, MemberLevels } from './constants.ts' import Member from './member.ts' type MemberList = Record @@ -306,7 +306,7 @@ export default class Circle { get router() { return { name: 'circle', - params: { selectedCircle: this.id, selectedGroup: ROUTE_CIRCLE }, + params: { selectedCircle: this.id }, } } diff --git a/src/models/userGroup.ts b/src/models/userGroup.ts index a95f88fb7..086dc237d 100644 --- a/src/models/userGroup.ts +++ b/src/models/userGroup.ts @@ -3,8 +3,6 @@ * SPDX-License-Identifier: AGPL-3.0-or-later */ -import { ROUTE_USER_GROUP } from './constants.ts' - export default class UserGroup { private _data: object private _members: string[] @@ -61,7 +59,7 @@ export default class UserGroup { get router(): object { return { name: 'user_group', - params: { selectedUserGroup: this.id, selectedGroup: ROUTE_USER_GROUP }, + params: { selectedUserGroup: this.id }, } } diff --git a/src/views/Contacts.vue b/src/views/Contacts.vue index 9def24512..92dc2ba09 100644 --- a/src/views/Contacts.vue +++ b/src/views/Contacts.vue @@ -9,10 +9,10 @@
- + - {{ isCirclesView ? t('contacts', 'Add member') : t('contacts', 'New contact') }} + {{ selectedCircle ? t('contacts', 'Add member') : t('contacts', 'New contact') }}
- @@ -75,7 +72,7 @@ import ContactsPicker from '../components/EntityPicker/ContactsPicker.vue' import ImportView from './Processing/ImportView.vue' import IsMobileMixin from '../mixins/IsMobileMixin.ts' import RouterMixin from '../mixins/RouterMixin.js' -import { GROUP_ALL_CONTACTS, GROUP_NO_GROUP_CONTACTS, ROUTE_CIRCLE, ROUTE_USER_GROUP } from '../models/constants.ts' +import { GROUP_ALL_CONTACTS, GROUP_NO_GROUP_CONTACTS } from '../models/constants.ts' import Contact from '../models/contact.js' import rfcProps from '../models/rfcProps.js' import client from '../services/cdav.js' @@ -147,14 +144,6 @@ export default { return this.$store.getters.getImportState }, - isEmptyGroup() { - return this.contactsList.length === 0 - }, - - isChartView() { - return !!this.selectedChart - }, - /** * Are we importing contacts ? * @@ -173,6 +162,14 @@ export default { return this.importState.stage === 'done' }, + importEnabled() { + return !this.selectedUserGroup && !this.selectedCircle && !this.selectedUserGroup && !this.selectedChart && this.contactsList.length === 0 + }, + + addingContactEnabled() { + return !this.selectedUserGroup + }, + // first enabled addressbook of the list defaultAddressbook() { return this.addressbooks.find((addressbook) => !addressbook.readOnly && addressbook.enabled) @@ -191,9 +188,8 @@ export default { return this.sortedContacts } else if (this.selectedGroup === GROUP_NO_GROUP_CONTACTS) { return this.ungroupedContacts.map((contact) => this.sortedContacts.find((item) => item.key === contact.key)) - } else if (this.selectedGroup === ROUTE_CIRCLE || this.selectedGroup === ROUTE_USER_GROUP) { - return [] } + const group = this.groups.filter((group) => group.name === this.selectedGroup)[0] if (group) { return this.sortedContacts.filter((contact) => group.contacts.indexOf(contact.key) >= 0) @@ -201,10 +197,6 @@ export default { return [] }, - isCirclesView() { - return this.selectedGroup === ROUTE_CIRCLE || this.selectedGroup === ROUTE_USER_GROUP - }, - ungroupedContacts() { return this.sortedContacts.filter((contact) => this.contacts[contact.key].groups && this.contacts[contact.key].groups.length === 0) }, @@ -275,8 +267,8 @@ export default { methods: { async newContact() { - if (this.isCirclesView) { - emit('contacts:circles:append', this.selectedCircle.id) + if (this.selectedCircle) { + emit('contacts:circles:append', this.selectedCircle) return } @@ -391,9 +383,7 @@ export default { && !this.selectedUserGroup && !this.groups.find((group) => group.name === this.selectedGroup) && GROUP_ALL_CONTACTS !== this.selectedGroup - && GROUP_NO_GROUP_CONTACTS !== this.selectedGroup - && ROUTE_CIRCLE !== this.selectedGroup - && ROUTE_USER_GROUP !== this.selectedGroup) { + && GROUP_NO_GROUP_CONTACTS !== this.selectedGroup) { showError(t('contacts', 'Group {group} not found', { group: this.selectedGroup })) console.error('Group not found', this.selectedGroup)