From ba9d512239eb5ed9b80648cfde291d483e6e390e Mon Sep 17 00:00:00 2001 From: Devlin Junker Date: Tue, 26 Sep 2023 15:54:33 -0700 Subject: tests Signed-off-by: Devlin Junker --- src/components/ShareItem.vue | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/components/ShareItem.vue b/src/components/ShareItem.vue index c7898330c..195f129be 100644 --- a/src/components/ShareItem.vue +++ b/src/components/ShareItem.vue @@ -56,6 +56,11 @@ import NcLoadingIcon from '@nextcloud/vue/dist/Components/NcLoadingIcon.js' import { ShareService } from '../dataservices/share.service' +type ShareUser = { + shareName: string; + displayName: string; +} + export default Vue.extend({ components: { NcModal, @@ -75,14 +80,25 @@ export default Vue.extend({ users: [], selected: [], searching: false, - } as any + } as { + userName: string; + users: ShareUser[]; + selected: ShareUser[]; + searching: boolean; + debounceSearchUsers?: () => void; + } }, created() { this.debounceSearchUsers = _.debounce(this.searchUsers, 800) }, methods: { - clickUser(user: any) { - const selectedUsers = this.selected.map((val: any) => { return val.shareName }) + /** + * Adds or removes user to selected list + * + * @param user {ShareUser} user that was clicked + */ + clickUser(user: ShareUser) { + const selectedUsers = this.selected.map((val: ShareUser) => { return val.shareName }) if (selectedUsers.includes(user.shareName)) { this.selected.splice(selectedUsers.indexOf(user.shareName), 1) } else { @@ -90,6 +106,9 @@ export default Vue.extend({ } }, + /** + * Searches for Users based on user input to display for sharing + */ async searchUsers() { this.users = [] this.searching = true @@ -105,7 +124,7 @@ export default Vue.extend({ * Shares an item with another use in the same nextcloud instance */ async share() { - await ShareService.share(this.itemId, this.selected.map((val: any) => { return val.shareName })) + await ShareService.share(this.itemId, this.selected.map((val: ShareUser) => { return val.shareName })) this.$emit('close') }, -- cgit v1.2.3