From 1b9f209f2c2cd63a33a5b16bbc95710f75297d63 Mon Sep 17 00:00:00 2001 From: Angelina Filippova Date: Sun, 5 May 2019 02:30:11 +0300 Subject: [PATCH] Add and remove tags for multiple users --- src/views/users/components/DropdownMenu.vue | 99 ++++++++++++++++----- 1 file changed, 78 insertions(+), 21 deletions(-) diff --git a/src/views/users/components/DropdownMenu.vue b/src/views/users/components/DropdownMenu.vue index 2e87f31d..6dfcdff5 100644 --- a/src/views/users/components/DropdownMenu.vue +++ b/src/views/users/components/DropdownMenu.vue @@ -29,30 +29,59 @@ @click.native="deleteMultipleUsers"> {{ $t('users.deleteAccount') }} - - {{ $t('users.forceNsfw') }} + +
+ {{ $t('users.forceNsfw') }} + + apply + remove + +
- - {{ $t('users.stripMedia') }} + +
+ {{ $t('users.stripMedia') }} + + apply + remove + +
- - {{ $t('users.forceUnlisted') }} + +
+ {{ $t('users.forceUnlisted') }} + + apply + remove + +
- - {{ $t('users.sandbox') }} + +
+ {{ $t('users.sandbox') }} + + apply + remove + +
- - {{ $t('users.disableRemoteSubscription') }} + +
+ {{ $t('users.disableRemoteSubscription') }} + + apply + remove + +
- - {{ $t('users.disableAnySubscription') }} + +
+ {{ $t('users.disableAnySubscription') }} + + apply + remove + +
@@ -113,16 +142,28 @@ export default { mapSelectedUsers ) }, - toggleTagForMultipleUsers(tag) { + addTagForMultipleUsers(tag) { const mapSelectedUsers = () => this.selectedUsers .filter(user => tag === 'disable_remote_subscription' || tag === 'disable_any_subscription' - ? user.local : user + ? user.local && !user.tags.includes(tag) + : !user.tags.includes(tag) ).map(user => this.$store.dispatch('ToggleTag', { user, tag })) this.confirmMessage( 'Are you sure you want to apply tag to all selected users?', mapSelectedUsers ) }, + removeTagFromMultipleUsers(tag) { + const mapSelectedUsers = () => this.selectedUsers + .filter(user => tag === 'disable_remote_subscription' || tag === 'disable_any_subscription' + ? user.local && user.tags.includes(tag) + : user.tags.includes(tag) + ).map(user => this.$store.dispatch('ToggleTag', { user, tag })) + this.confirmMessage( + 'Are you sure you want to remove tag from all selected users?', + mapSelectedUsers + ) + }, confirmMessage(message, mapSelectedUsers) { this.$confirm(message, { confirmButtonText: 'OK', @@ -144,3 +185,19 @@ export default { } } + +