From ff5b6384b6cd8a25d304da30dbccc1da8f550ba0 Mon Sep 17 00:00:00 2001 From: Jessica Date: Mon, 13 Aug 2018 18:08:27 +0200 Subject: working version of shareAdressbook, adds sharees to addressbook object --- .../Settings/SettingsAddressbookShare.vue | 51 ++--- .../Settings/SettingsAddressbookShare.vue.orig | 197 ++++++++++++++++ .../Settings/SettingsAddressbookSharee.vue | 1 - src/components/Settings/SettingsSortContacts.vue | 4 +- src/store/addressbooks.js | 22 +- src/store/addressbooks.js.orig | 248 +++++++++++++++++++++ 6 files changed, 485 insertions(+), 38 deletions(-) create mode 100644 src/components/Settings/SettingsAddressbookShare.vue.orig create mode 100644 src/store/addressbooks.js.orig (limited to 'src') diff --git a/src/components/Settings/SettingsAddressbookShare.vue b/src/components/Settings/SettingsAddressbookShare.vue index 88667bf5..3e924789 100644 --- a/src/components/Settings/SettingsAddressbookShare.vue +++ b/src/components/Settings/SettingsAddressbookShare.vue @@ -24,33 +24,32 @@
+ @search-change="asyncFind" + @input="addSharee"> + - {{ noResult }} -
@@ -84,9 +83,7 @@ export default { data() { return { isLoading: false, - usersOrGroups: [], - selectedUserOrGroup: [], - templateSharee: { displayname: '', writeable: false } + usersOrGroups: [] } }, computed: { @@ -98,25 +95,25 @@ export default { } }, methods: { - addSharee(sharee) { - let newSharee = {} - Object.assign({}, this.templateSharee, newSharee) - // not working yet need to work on! - this.$store.dispatch('shareAddressbook', newSharee) + addSharee(chosenUserOrGroup) { + let payload = [] + payload.push(this.addressbook) + payload.push(chosenUserOrGroup.match) + this.$store.dispatch('shareAddressbook', payload) }, formatMatchResults(matches, query, matchTag) { // format response from axios.all and add them to the option array - /* - * Case issue for query, matchpattern should reflect case in match not the query - */ - + if (matches.length < 1) { + return + } for (let i = 0; i < matches.length; i++) { let regex = new RegExp(query, 'i') let matchResult = matches[i].split(regex) let newMatch = { + match: matches[i] + ' ' + matchTag, matchstart: matchResult[0], - matchpattern: query, + matchpattern: matches[i].match(regex)[0], matchend: matchResult[1], matchtag: matchTag } @@ -135,12 +132,12 @@ export default { let matchingUsers = response[0].data.ocs.data.users let matchingGroups = response[1].data.ocs.data.groups try { - this.formatMatchResults(matchingUsers, query, ' (user)') + this.formatMatchResults(matchingUsers, query, '(user)') } catch (error) { console.debug(error) } try { - this.formatMatchResults(matchingGroups, query, ' (group)') + this.formatMatchResults(matchingGroups, query, '(group)') } catch (error) { console.debug(error) } @@ -149,10 +146,6 @@ export default { this.isLoading = false }) } - }, - - clearAll() { - this.selectedUserOrGroup = [] } } } diff --git a/src/components/Settings/SettingsAddressbookShare.vue.orig b/src/components/Settings/SettingsAddressbookShare.vue.orig new file mode 100644 index 00000000..b9d1937a --- /dev/null +++ b/src/components/Settings/SettingsAddressbookShare.vue.orig @@ -0,0 +1,197 @@ + + +