summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/invite_members/components/members_token_select.vue
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/invite_members/components/members_token_select.vue')
-rw-r--r--app/assets/javascripts/invite_members/components/members_token_select.vue25
1 files changed, 22 insertions, 3 deletions
diff --git a/app/assets/javascripts/invite_members/components/members_token_select.vue b/app/assets/javascripts/invite_members/components/members_token_select.vue
index 7aece3b7bb4..e299e3f27b3 100644
--- a/app/assets/javascripts/invite_members/components/members_token_select.vue
+++ b/app/assets/javascripts/invite_members/components/members_token_select.vue
@@ -3,7 +3,7 @@ import { GlTokenSelector, GlAvatar, GlAvatarLabeled, GlIcon, GlSprintf } from '@
import { debounce } from 'lodash';
import { __ } from '~/locale';
import { getUsers } from '~/rest_api';
-import { SEARCH_DELAY } from '../constants';
+import { SEARCH_DELAY, USERS_FILTER_ALL, USERS_FILTER_SAML_PROVIDER_ID } from '../constants';
export default {
components: {
@@ -26,6 +26,16 @@ export default {
validationState: {
type: Boolean,
required: false,
+ default: false,
+ },
+ usersFilter: {
+ type: String,
+ required: false,
+ default: USERS_FILTER_ALL,
+ },
+ filterId: {
+ type: Number,
+ required: false,
default: null,
},
},
@@ -51,6 +61,15 @@ export default {
}
return '';
},
+ queryOptions() {
+ if (this.usersFilter === USERS_FILTER_SAML_PROVIDER_ID) {
+ return {
+ saml_provider_id: this.filterId,
+ ...this.$options.defaultQueryOptions,
+ };
+ }
+ return this.$options.defaultQueryOptions;
+ },
},
methods: {
handleTextInput(query) {
@@ -60,7 +79,7 @@ export default {
this.retrieveUsers(query);
},
retrieveUsers: debounce(function debouncedRetrieveUsers() {
- return getUsers(this.query, this.$options.queryOptions)
+ return getUsers(this.query, this.queryOptions)
.then((response) => {
this.users = response.data.map((token) => ({
id: token.id,
@@ -98,7 +117,7 @@ export default {
this.$emit('clear');
},
},
- queryOptions: { exclude_internal: true, active: true },
+ defaultQueryOptions: { exclude_internal: true, active: true },
i18n: {
inviteTextMessage: __('Invite "%{email}" by email'),
},