diff options
Diffstat (limited to 'src/components/Settings/SettingsAddressbookShare.vue.orig')
-rw-r--r-- | src/components/Settings/SettingsAddressbookShare.vue.orig | 197 |
1 files changed, 0 insertions, 197 deletions
diff --git a/src/components/Settings/SettingsAddressbookShare.vue.orig b/src/components/Settings/SettingsAddressbookShare.vue.orig deleted file mode 100644 index b9d1937a..00000000 --- a/src/components/Settings/SettingsAddressbookShare.vue.orig +++ /dev/null @@ -1,197 +0,0 @@ -<!-- - - @copyright Copyright (c) 2018 Team Popcorn <teampopcornberlin@gmail.com> - - - - @author Team Popcorn <teampopcornberlin@gmail.com> - - - - @license GNU AGPL version 3 or any later version - - - - This program is free software: you can redistribute it and/or modify - - it under the terms of the GNU Affero General Public License as - - published by the Free Software Foundation, either version 3 of the - - License, or (at your option) any later version. - - - - This program is distributed in the hope that it will be useful, - - but WITHOUT ANY WARRANTY; without even the implied warranty of - - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - - GNU Affero General Public License for more details. - - - - You should have received a copy of the GNU Affero General Public License - - along with this program. If not, see <http://www.gnu.org/licenses/>. - - ---> - -<template> - <div class="addressbook__shares"> - <multiselect - id="users-groups-search" - v-model="selectedUserOrGroup" - :options="usersOrGroups" -<<<<<<< HEAD -======= - :multiple="true" ->>>>>>> refractored api call in share addressbook to use axios all - :searchable="true" - :loading="isLoading" - :internal-search="false" - :clear-on-select="false" - :close-on-select="false" - :options-limit="250" - :limit="3" - :max-height="600" - :show-no-results="false" -<<<<<<< HEAD - :placeholder="placeholder" - open-direction="bottom" - class="multiselect-vue" - @search-change="asyncFind"> - <template slot="option" slot-scope="props"> - <span class="">{{ props.option.matchstart }}</span><span class="" style="font-weight: bold;">{{ props.option.matchpattern }}</span><span class="">{{ props.option.matchend }}{{ props.option.matchtag }}</span> -======= - :hide-selected="true" - :placeholder="placeholder" - open-direction="bottom" - @search-change="asyncFind"> - <template slot="option" slot-scope="props"> - <span class="">{{ props.option.matchstart }}</span><span class="" style="font-weight: bold;">{{ props.option.matchpattern }}</span><span class="">{{ props.option.matchend }} {{ props.option.matchtag }}</span> ->>>>>>> refractored api call in share addressbook to use axios all - </template> - <template slot="clear" slot-scope="props"> - <div v-if="selectedUserOrGroup.length" class="multiselect__clear" @mousedown.prevent.stop="clearAll(props.search)" /> - </template> - <span slot="noResult">{{ noResult }} </span> - </multiselect> - <!-- <pre class="language-json"><code>{{ selectedUserOrGroup }}</code></pre> --> - <!-- list of user or groups addressbook is shared with --> - <ul v-if="addressbook.shares.length > 0" class="addressbook__shares__list"> - <address-book-sharee v-for="sharee in addressbook.shares" :key="sharee.name" :sharee="sharee" /> - </ul> - </div> -</template> - -<script> -import Multiselect from 'vue-multiselect' -import addressBookSharee from './SettingsAddressbookSharee' - -import clickOutside from 'vue-click-outside' -import api from '../../services/api' - -import clickOutside from 'vue-click-outside' -import api from '../../services/api' - -export default { - name: 'SettingsShareAddressBook', - components: { - clickOutside, - Multiselect, - addressBookSharee - }, - directives: { - clickOutside - }, - props: { - addressbook: { - type: Object, - default() { - return {} - } - } - }, - data() { - return { - isLoading: false, - usersOrGroups: [], - selectedUserOrGroup: [], - templateSharee: { displayname: '', writeable: false } - } - }, - computed: { - placeholder() { - return t('contacts', 'Share with users or groups') - }, - noResult() { - return t('contacts', 'Oops! No elements found. Consider changing the search query.') - } - }, - methods: { - addSharee(sharee) { - let newSharee = {} - Object.assign({}, this.templateSharee, newSharee) - // not working yet need to work on! - this.$store.dispatch('shareAddressbook', newSharee) - }, - -<<<<<<< HEAD - 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 - */ - -======= - processMatchResults(matches, query, matchTag) { ->>>>>>> refractored api call in share addressbook to use axios all - for (let i = 0; i < matches.length; i++) { - let regex = new RegExp(query, 'i') - let matchResult = matches[i].split(regex) - let newMatch = { - matchstart: matchResult[0], - matchpattern: query, - matchend: matchResult[1], - matchtag: matchTag - } - this.usersOrGroups.push(newMatch) - } - }, - - asyncFind(query) { - this.isLoading = true - this.usersOrGroups = [] - if (query.length > 0) { -<<<<<<< HEAD - api.all([ - api.get(OC.linkToOCS('cloud', 2) + 'users?search=' + query), - api.get(OC.linkToOCS('cloud', 2) + 'groups?search=' + query) - ]).then(response => { - let matchingUsers = response[0].data.ocs.data.users - let matchingGroups = response[1].data.ocs.data.groups - try { - this.formatMatchResults(matchingUsers, query, ' (user)') -======= - /* - * Case issue for query, matchpattern should reflect case in match not the query - */ - - api.all([api.get(OC.linkToOCS('cloud', 2) + 'users?search=' + query), api.get(OC.linkToOCS('cloud', 2) + 'groups?search=' + query)]).then(response => { - let matchingUsers = response[0].data.ocs.data.users - let matchingGroups = response[1].data.ocs.data.groups - try { - this.processMatchResults(matchingUsers, query, '(user)') ->>>>>>> refractored api call in share addressbook to use axios all - } catch (error) { - console.debug(error) - } - try { -<<<<<<< HEAD - this.formatMatchResults(matchingGroups, query, ' (group)') -======= - this.processMatchResults(matchingGroups, query, '(group)') ->>>>>>> refractored api call in share addressbook to use axios all - } catch (error) { - console.debug(error) - } - }).then(() => { -<<<<<<< HEAD - -======= ->>>>>>> refractored api call in share addressbook to use axios all - this.isLoading = false - }) - } - }, - - clearAll() { - this.selectedUserOrGroup = [] - } - } -} -</script> |