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>2023-12-09 00:07:12 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-12-09 00:07:12 +0300
commit58cad9b83fc4b319542586e2cab64e2fe7d12050 (patch)
treea5f94021664861ff5fdcbcfabc045c0a120d6133 /app/assets/javascripts
parentbb0d99269b1bee11939e6a3ddfcefed8c6fd4874 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts')
-rw-r--r--app/assets/javascripts/ci/job_details/components/log/log.vue7
-rw-r--r--app/assets/javascripts/ci/job_details/index.js10
-rw-r--r--app/assets/javascripts/ci/job_details/store/actions.js13
-rw-r--r--app/assets/javascripts/ci/job_details/store/mutations.js4
-rw-r--r--app/assets/javascripts/ci/job_details/store/state.js2
-rw-r--r--app/assets/javascripts/diffs/components/diff_file.vue12
-rw-r--r--app/assets/javascripts/issues/list/constants.js6
-rw-r--r--app/assets/javascripts/issues/list/index.js2
-rw-r--r--app/assets/javascripts/lib/utils/common_utils.js9
-rw-r--r--app/assets/javascripts/packages_and_registries/infrastructure_registry/details/components/app.vue2
-rw-r--r--app/assets/javascripts/packages_and_registries/settings/group/components/dependency_proxy_settings.vue3
-rw-r--r--app/assets/javascripts/packages_and_registries/settings/group/components/packages_settings.vue5
-rw-r--r--app/assets/javascripts/pages/admin/application_settings/general/components/signup_checkbox.vue8
-rw-r--r--app/assets/javascripts/pages/import/bulk_imports/history/components/bulk_imports_history_app.vue1
-rw-r--r--app/assets/javascripts/pages/import/history/components/import_history_app.vue2
-rw-r--r--app/assets/javascripts/pages/projects/forks/new/components/fork_form.vue5
-rw-r--r--app/assets/javascripts/pages/projects/forks/new/components/project_namespace.vue3
17 files changed, 51 insertions, 43 deletions
diff --git a/app/assets/javascripts/ci/job_details/components/log/log.vue b/app/assets/javascripts/ci/job_details/components/log/log.vue
index b8ad4801510..8b43739d7ef 100644
--- a/app/assets/javascripts/ci/job_details/components/log/log.vue
+++ b/app/assets/javascripts/ci/job_details/components/log/log.vue
@@ -12,6 +12,7 @@ export default {
LogLineHeader,
LogLine,
},
+ inject: ['pagePath'],
props: {
searchResults: {
type: Array,
@@ -20,7 +21,7 @@ export default {
},
},
computed: {
- ...mapState(['jobLogEndpoint', 'jobLog', 'jobLogSections', 'isJobLogComplete']),
+ ...mapState(['jobLog', 'jobLogSections', 'isJobLogComplete']),
highlightedLines() {
return this.searchResults.map((result) => result.lineNumber);
},
@@ -73,7 +74,7 @@ export default {
v-if="line.isHeader"
:key="line.offset"
:line="line"
- :path="jobLogEndpoint"
+ :path="pagePath"
:is-closed="jobLogSections[line.section].isClosed"
:duration="jobLogSections[line.section].duration"
:hide-duration="jobLogSections[line.section].hideDuration"
@@ -84,7 +85,7 @@ export default {
v-else
:key="line.offset"
:line="line"
- :path="jobLogEndpoint"
+ :path="pagePath"
:is-highlighted="isHighlighted(line)"
/>
</template>
diff --git a/app/assets/javascripts/ci/job_details/index.js b/app/assets/javascripts/ci/job_details/index.js
index 424ae698861..7748b6e83ef 100644
--- a/app/assets/javascripts/ci/job_details/index.js
+++ b/app/assets/javascripts/ci/job_details/index.js
@@ -20,13 +20,14 @@ export const initJobDetails = () => {
}
const {
+ jobEndpoint,
+ logEndpoint,
+ pagePath,
+ projectPath,
artifactHelpUrl,
deploymentHelpUrl,
runnerSettingsUrl,
subscriptionsMoreMinutesUrl,
- endpoint,
- pagePath,
- projectPath,
retryOutdatedJobDocsUrl,
aiRootCauseAnalysisAvailable,
testReportSummaryUrl,
@@ -35,13 +36,14 @@ export const initJobDetails = () => {
// init store to start fetching log
const store = createStore();
- store.dispatch('init', { endpoint, pagePath, testReportSummaryUrl });
+ store.dispatch('init', { jobEndpoint, logEndpoint, testReportSummaryUrl });
return new Vue({
el,
apolloProvider,
store,
provide: {
+ pagePath,
projectPath,
retryOutdatedJobDocsUrl,
aiRootCauseAnalysisAvailable: parseBoolean(aiRootCauseAnalysisAvailable),
diff --git a/app/assets/javascripts/ci/job_details/store/actions.js b/app/assets/javascripts/ci/job_details/store/actions.js
index 1a018c577ac..03323e51583 100644
--- a/app/assets/javascripts/ci/job_details/store/actions.js
+++ b/app/assets/javascripts/ci/job_details/store/actions.js
@@ -15,18 +15,12 @@ import { __ } from '~/locale';
import { reportToSentry } from '~/ci/utils';
import * as types from './mutation_types';
-export const init = ({ dispatch }, { endpoint, pagePath, testReportSummaryUrl }) => {
- dispatch('setJobLogOptions', {
- endpoint,
- pagePath,
- testReportSummaryUrl,
- });
+export const init = ({ commit, dispatch }, { jobEndpoint, logEndpoint, testReportSummaryUrl }) => {
+ commit(types.SET_JOB_LOG_OPTIONS, { jobEndpoint, logEndpoint, testReportSummaryUrl });
return dispatch('fetchJob');
};
-export const setJobLogOptions = ({ commit }, options) => commit(types.SET_JOB_LOG_OPTIONS, options);
-
export const hideSidebar = ({ commit }) => commit(types.HIDE_SIDEBAR);
export const showSidebar = ({ commit }) => commit(types.SHOW_SIDEBAR);
@@ -155,10 +149,9 @@ export const requestJobLog = ({ commit }) => commit(types.REQUEST_JOB_LOG);
export const fetchJobLog = ({ commit, dispatch, state }) => {
let isScrolledToBottomBeforeReceivingJobLog;
- // update trace endpoint once BE completes trace re-naming in #340626
return (
axios
- .get(`${state.jobLogEndpoint}/trace.json`, {
+ .get(state.logEndpoint, {
params: { state: state.jobLogState },
})
.then(({ data }) => {
diff --git a/app/assets/javascripts/ci/job_details/store/mutations.js b/app/assets/javascripts/ci/job_details/store/mutations.js
index bc679699012..e8e65d690d8 100644
--- a/app/assets/javascripts/ci/job_details/store/mutations.js
+++ b/app/assets/javascripts/ci/job_details/store/mutations.js
@@ -3,8 +3,8 @@ import { logLinesParser } from './utils';
export default {
[types.SET_JOB_LOG_OPTIONS](state, options = {}) {
- state.jobLogEndpoint = options.pagePath;
- state.jobEndpoint = options.endpoint;
+ state.jobEndpoint = options.jobEndpoint;
+ state.logEndpoint = options.logEndpoint;
state.testReportSummaryUrl = options.testReportSummaryUrl;
},
diff --git a/app/assets/javascripts/ci/job_details/store/state.js b/app/assets/javascripts/ci/job_details/store/state.js
index 3efbcc51d65..24736bedf56 100644
--- a/app/assets/javascripts/ci/job_details/store/state.js
+++ b/app/assets/javascripts/ci/job_details/store/state.js
@@ -1,6 +1,6 @@
export default () => ({
jobEndpoint: null,
- jobLogEndpoint: null,
+ logEndpoint: null,
testReportSummaryUrl: null,
// sidebar
diff --git a/app/assets/javascripts/diffs/components/diff_file.vue b/app/assets/javascripts/diffs/components/diff_file.vue
index c9fd25171aa..b2841172fe1 100644
--- a/app/assets/javascripts/diffs/components/diff_file.vue
+++ b/app/assets/javascripts/diffs/components/diff_file.vue
@@ -9,7 +9,7 @@ import DiffContent from 'jh_else_ce/diffs/components/diff_content.vue';
import { createAlert } from '~/alert';
import { hasDiff } from '~/helpers/diffs_helper';
import { diffViewerErrors } from '~/ide/constants';
-import { scrollToElement } from '~/lib/utils/common_utils';
+import { scrollToElement, isElementStuck } from '~/lib/utils/common_utils';
import { sprintf } from '~/locale';
import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
import notesEventHub from '~/notes/event_hub';
@@ -295,8 +295,13 @@ export default {
collapsed: collapsingNow,
});
- if (collapsingNow && viaUserInteraction && contentElement) {
- scrollToElement(contentElement, { duration: 1 });
+ if (
+ collapsingNow &&
+ viaUserInteraction &&
+ contentElement &&
+ isElementStuck(this.$refs.header.$el)
+ ) {
+ scrollToElement(contentElement, { duration: 0 });
}
if (!this.hasDiff && !collapsingNow) {
@@ -381,6 +386,7 @@ export default {
class="diff-file file-holder gl-border-none gl-mb-0! gl-pb-5"
>
<diff-file-header
+ ref="header"
:can-current-user-fork="canCurrentUserFork"
:diff-file="file"
:collapsible="true"
diff --git a/app/assets/javascripts/issues/list/constants.js b/app/assets/javascripts/issues/list/constants.js
index 682c7629962..d6ff5c952c2 100644
--- a/app/assets/javascripts/issues/list/constants.js
+++ b/app/assets/javascripts/issues/list/constants.js
@@ -164,6 +164,12 @@ export const specialFilterValues = [
FILTER_STARTED,
];
+export const TYPE_TOKEN_EPIC_OPTION = {
+ icon: 'epic',
+ title: __('Epic'),
+ value: 'epic',
+};
+
export const TYPE_TOKEN_OBJECTIVE_OPTION = {
icon: 'issue-type-objective',
title: s__('WorkItem|Objective'),
diff --git a/app/assets/javascripts/issues/list/index.js b/app/assets/javascripts/issues/list/index.js
index 8c60ad6dc4e..5a836e3e40a 100644
--- a/app/assets/javascripts/issues/list/index.js
+++ b/app/assets/javascripts/issues/list/index.js
@@ -70,6 +70,7 @@ export async function mountIssuesListApp() {
hasAnyIssues,
hasAnyProjects,
hasBlockedIssuesFeature,
+ hasEpicsFeature,
hasIssuableHealthStatusFeature,
hasIssueDateFilterFeature,
hasIssueWeightsFeature,
@@ -127,6 +128,7 @@ export async function mountIssuesListApp() {
hasAnyIssues: parseBoolean(hasAnyIssues),
hasAnyProjects: parseBoolean(hasAnyProjects),
hasBlockedIssuesFeature: parseBoolean(hasBlockedIssuesFeature),
+ hasEpicsFeature: parseBoolean(hasEpicsFeature),
hasIssuableHealthStatusFeature: parseBoolean(hasIssuableHealthStatusFeature),
hasIssueDateFilterFeature: parseBoolean(hasIssueDateFilterFeature),
hasIssueWeightsFeature: parseBoolean(hasIssueWeightsFeature),
diff --git a/app/assets/javascripts/lib/utils/common_utils.js b/app/assets/javascripts/lib/utils/common_utils.js
index b29c234338d..2c31e4c210c 100644
--- a/app/assets/javascripts/lib/utils/common_utils.js
+++ b/app/assets/javascripts/lib/utils/common_utils.js
@@ -740,3 +740,12 @@ export const isDefaultCiConfig = (path) => {
export const hasCiConfigExtension = (path) => {
return CI_CONFIG_PATH_EXTENSION.test(path);
};
+
+/**
+ * Checks if an element with position:sticky is stuck
+ *
+ * @param el
+ * @returns {boolean}
+ */
+export const isElementStuck = (el) =>
+ el.getBoundingClientRect().top <= parseInt(getComputedStyle(el).top, 10);
diff --git a/app/assets/javascripts/packages_and_registries/infrastructure_registry/details/components/app.vue b/app/assets/javascripts/packages_and_registries/infrastructure_registry/details/components/app.vue
index a821a2483cd..b1729f07861 100644
--- a/app/assets/javascripts/packages_and_registries/infrastructure_registry/details/components/app.vue
+++ b/app/assets/javascripts/packages_and_registries/infrastructure_registry/details/components/app.vue
@@ -126,7 +126,6 @@ export default {
attributes: {
variant: 'danger',
category: 'primary',
- 'data-qa-selector': 'delete_modal_button',
},
},
fileDeletePrimaryAction: {
@@ -158,7 +157,6 @@ export default {
class="js-delete-button"
variant="danger"
category="primary"
- data-qa-selector="delete_button"
>
{{ __('Delete') }}
</gl-button>
diff --git a/app/assets/javascripts/packages_and_registries/settings/group/components/dependency_proxy_settings.vue b/app/assets/javascripts/packages_and_registries/settings/group/components/dependency_proxy_settings.vue
index 59d4f5e24d0..9e6d55d71d3 100644
--- a/app/assets/javascripts/packages_and_registries/settings/group/components/dependency_proxy_settings.vue
+++ b/app/assets/javascripts/packages_and_registries/settings/group/components/dependency_proxy_settings.vue
@@ -129,7 +129,7 @@ export default {
</script>
<template>
- <settings-block data-qa-selector="dependency_proxy_settings_content">
+ <settings-block data-testid="dependency-proxy-settings-content">
<template #title> {{ $options.i18n.DEPENDENCY_PROXY_HEADER }} </template>
<template #description> {{ $options.i18n.DEPENDENCY_PROXY_DESCRIPTION }} </template>
<template #default>
@@ -138,7 +138,6 @@ export default {
v-model="enabled"
:disabled="isLoading"
:label="$options.i18n.enabledProxyLabel"
- data-qa-selector="dependency_proxy_setting_toggle"
data-testid="dependency-proxy-setting-toggle"
>
<template v-if="enabled" #help>
diff --git a/app/assets/javascripts/packages_and_registries/settings/group/components/packages_settings.vue b/app/assets/javascripts/packages_and_registries/settings/group/components/packages_settings.vue
index e15f204dc6e..a773a64c4fc 100644
--- a/app/assets/javascripts/packages_and_registries/settings/group/components/packages_settings.vue
+++ b/app/assets/javascripts/packages_and_registries/settings/group/components/packages_settings.vue
@@ -78,7 +78,6 @@ export default {
exception: 'mavenDuplicateExceptionRegex',
},
testid: 'maven-settings',
- dataQaSelector: 'allow_duplicates_toggle',
},
{
id: 'generic-duplicated-settings-regex-input',
@@ -154,7 +153,7 @@ export default {
</script>
<template>
- <settings-block data-qa-selector="package_registry_settings_content">
+ <settings-block data-testid="package-registry-settings-content">
<template #title> {{ $options.i18n.PACKAGE_SETTINGS_HEADER }}</template>
<template #description>
<span data-testid="description">
@@ -174,7 +173,7 @@ export default {
</template>
<template #cell(allowDuplicates)="{ item }">
<gl-toggle
- :data-qa-selector="item.dataQaSelector"
+ :data-testid="item.dataTestid"
:label="$options.i18n.DUPLICATES_TOGGLE_LABEL"
:value="item.duplicatesAllowed"
:disabled="isLoading"
diff --git a/app/assets/javascripts/pages/admin/application_settings/general/components/signup_checkbox.vue b/app/assets/javascripts/pages/admin/application_settings/general/components/signup_checkbox.vue
index 2217792d7f3..9dfad16ae82 100644
--- a/app/assets/javascripts/pages/admin/application_settings/general/components/signup_checkbox.vue
+++ b/app/assets/javascripts/pages/admin/application_settings/general/components/signup_checkbox.vue
@@ -23,7 +23,7 @@ export default {
type: Boolean,
required: true,
},
- dataQaSelector: {
+ dataTestId: {
type: String,
required: false,
default: '',
@@ -36,11 +36,7 @@ export default {
<div>
<input :name="name" type="hidden" :value="value ? '1' : '0'" data-testid="input" />
- <gl-form-checkbox
- :checked="value"
- :data-qa-selector="dataQaSelector"
- @input="$emit('input', $event)"
- >
+ <gl-form-checkbox :checked="value" :data-testid="dataTestId" @input="$emit('input', $event)">
<span data-testid="label">{{ label }}</span>
<template v-if="helpText" #help>
<span data-testid="helpText">{{ helpText }}</span>
diff --git a/app/assets/javascripts/pages/import/bulk_imports/history/components/bulk_imports_history_app.vue b/app/assets/javascripts/pages/import/bulk_imports/history/components/bulk_imports_history_app.vue
index e99aceb2196..1d54dad43a9 100644
--- a/app/assets/javascripts/pages/import/bulk_imports/history/components/bulk_imports_history_app.vue
+++ b/app/assets/javascripts/pages/import/bulk_imports/history/components/bulk_imports_history_app.vue
@@ -93,7 +93,6 @@ export default {
tableCell({
key: 'status',
label: __('Status'),
- tdAttr: { 'data-qa-selector': 'import_status_indicator' },
}),
],
diff --git a/app/assets/javascripts/pages/import/history/components/import_history_app.vue b/app/assets/javascripts/pages/import/history/components/import_history_app.vue
index 94fa40cc700..a0ff3ded3f5 100644
--- a/app/assets/javascripts/pages/import/history/components/import_history_app.vue
+++ b/app/assets/javascripts/pages/import/history/components/import_history_app.vue
@@ -65,10 +65,10 @@ export default {
key: 'created_at',
label: __('Date'),
}),
+
tableCell({
key: 'status',
label: __('Status'),
- tdAttr: { 'data-qa-selector': 'import_status_indicator' },
}),
],
diff --git a/app/assets/javascripts/pages/projects/forks/new/components/fork_form.vue b/app/assets/javascripts/pages/projects/forks/new/components/fork_form.vue
index e3d50e900ca..bfa2f2cc14f 100644
--- a/app/assets/javascripts/pages/projects/forks/new/components/fork_form.vue
+++ b/app/assets/javascripts/pages/projects/forks/new/components/fork_form.vue
@@ -423,7 +423,7 @@ export default {
>
<div>
<gl-icon
- data-qa-selector="fork_privacy_button"
+ data-testid="fork-privacy-button"
:name="icon"
:data-qa-privacy-level="`${value}`"
/>
@@ -440,8 +440,7 @@ export default {
category="primary"
variant="confirm"
class="js-no-auto-disable"
- data-testid="submit-button"
- data-qa-selector="fork_project_button"
+ data-testid="fork-project-button"
:loading="isSaving"
>
{{ s__('ForkProject|Fork project') }}
diff --git a/app/assets/javascripts/pages/projects/forks/new/components/project_namespace.vue b/app/assets/javascripts/pages/projects/forks/new/components/project_namespace.vue
index 84796954cf1..b4bb2176e26 100644
--- a/app/assets/javascripts/pages/projects/forks/new/components/project_namespace.vue
+++ b/app/assets/javascripts/pages/projects/forks/new/components/project_namespace.vue
@@ -90,8 +90,7 @@ export default {
}}</gl-button>
<gl-collapsible-listbox
class="gl-flex-grow-1"
- data-qa-selector="select_namespace_dropdown"
- data-testid="select_namespace_dropdown"
+ data-testid="select-namespace-dropdown"
:items="namespaceItems"
:header-text="__('Namespaces')"
:no-results-text="__('No matches found')"