Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-12-20 17:22:11 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-12-20 17:22:11 +0300
commit0c872e02b2c822e3397515ec324051ff540f0cd5 (patch)
treece2fb6ce7030e4dad0f4118d21ab6453e5938cdd /app/assets/javascripts/vue_shared/components/filtered_search_bar/tokens/author_token.vue
parentf7e05a6853b12f02911494c4b3fe53d9540d74fc (diff)
Add latest changes from gitlab-org/gitlab@15-7-stable-eev15.7.0-rc42
Diffstat (limited to 'app/assets/javascripts/vue_shared/components/filtered_search_bar/tokens/author_token.vue')
-rw-r--r--app/assets/javascripts/vue_shared/components/filtered_search_bar/tokens/author_token.vue119
1 files changed, 0 insertions, 119 deletions
diff --git a/app/assets/javascripts/vue_shared/components/filtered_search_bar/tokens/author_token.vue b/app/assets/javascripts/vue_shared/components/filtered_search_bar/tokens/author_token.vue
deleted file mode 100644
index 7c184a3c391..00000000000
--- a/app/assets/javascripts/vue_shared/components/filtered_search_bar/tokens/author_token.vue
+++ /dev/null
@@ -1,119 +0,0 @@
-<script>
-import { GlAvatar, GlFilteredSearchSuggestion } from '@gitlab/ui';
-import { compact } from 'lodash';
-import { createAlert } from '~/flash';
-import { __ } from '~/locale';
-
-import { DEFAULT_NONE_ANY } from '../constants';
-
-import BaseToken from './base_token.vue';
-
-export default {
- components: {
- BaseToken,
- GlAvatar,
- GlFilteredSearchSuggestion,
- },
- props: {
- config: {
- type: Object,
- required: true,
- },
- value: {
- type: Object,
- required: true,
- },
- active: {
- type: Boolean,
- required: true,
- },
- },
- data() {
- return {
- authors: this.config.initialAuthors || [],
- loading: false,
- };
- },
- computed: {
- defaultAuthors() {
- return this.config.defaultAuthors || DEFAULT_NONE_ANY;
- },
- preloadedAuthors() {
- return this.config.preloadedAuthors || [];
- },
- },
- methods: {
- getActiveAuthor(authors, data) {
- return authors.find((author) => author.username.toLowerCase() === data.toLowerCase());
- },
- getAvatarUrl(author) {
- return author.avatarUrl || author.avatar_url;
- },
- fetchAuthors(searchTerm) {
- this.loading = true;
- const fetchPromise = this.config.fetchPath
- ? this.config.fetchAuthors(this.config.fetchPath, searchTerm)
- : this.config.fetchAuthors(searchTerm);
-
- fetchPromise
- .then((res) => {
- // We'd want to avoid doing this check but
- // users.json and /groups/:id/members & /projects/:id/users
- // return response differently
-
- // TODO: rm when completed https://gitlab.com/gitlab-org/gitlab/-/issues/345756
- this.authors = Array.isArray(res) ? compact(res) : compact(res.data);
- })
- .catch(() =>
- createAlert({
- message: __('There was a problem fetching users.'),
- }),
- )
- .finally(() => {
- this.loading = false;
- });
- },
- },
-};
-</script>
-
-<template>
- <base-token
- :config="config"
- :value="value"
- :active="active"
- :suggestions-loading="loading"
- :suggestions="authors"
- :get-active-token-value="getActiveAuthor"
- :default-suggestions="defaultAuthors"
- :preloaded-suggestions="preloadedAuthors"
- v-bind="$attrs"
- @fetch-suggestions="fetchAuthors"
- v-on="$listeners"
- >
- <template #view="{ viewTokenProps: { inputValue, activeTokenValue } }">
- <gl-avatar
- v-if="activeTokenValue"
- :size="16"
- :src="getAvatarUrl(activeTokenValue)"
- class="gl-mr-2"
- />
- {{ activeTokenValue ? activeTokenValue.name : inputValue }}
- </template>
- <template #suggestions-list="{ suggestions }">
- <gl-filtered-search-suggestion
- v-for="author in suggestions"
- :key="author.username"
- :value="author.username"
- >
- <div class="gl-display-flex">
- <gl-avatar :size="32" :src="getAvatarUrl(author)" />
- <div>
- <div>{{ author.name }}</div>
- <div>@{{ author.username }}</div>
- </div>
- </div>
- </gl-filtered-search-suggestion>
- </template>
- </base-token>
-</template>