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-07-13 00:09:53 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-07-13 00:09:53 +0300
commitb6f17c69925beded921017fa049385de715553ba (patch)
tree5f8b2a5fbc6b1e779b7421ceddd219065e65fec9 /app/assets/javascripts/gitlab_pages
parent0ba11d8461a2b091d37bb6308d85e74f2b133803 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/gitlab_pages')
-rw-r--r--app/assets/javascripts/gitlab_pages/components/pages_pipeline_wizard.vue84
-rw-r--r--app/assets/javascripts/gitlab_pages/queries/mark_onboarding_complete.graphql6
2 files changed, 90 insertions, 0 deletions
diff --git a/app/assets/javascripts/gitlab_pages/components/pages_pipeline_wizard.vue b/app/assets/javascripts/gitlab_pages/components/pages_pipeline_wizard.vue
new file mode 100644
index 00000000000..f17a05999b0
--- /dev/null
+++ b/app/assets/javascripts/gitlab_pages/components/pages_pipeline_wizard.vue
@@ -0,0 +1,84 @@
+<script>
+import { GlLoadingIcon } from '@gitlab/ui';
+import { captureException } from '@sentry/browser';
+import PipelineWizard from '~/pipeline_wizard/pipeline_wizard.vue';
+import PagesWizardTemplate from '~/pipeline_wizard/templates/pages.yml';
+import { logError } from '~/lib/logger';
+import { s__ } from '~/locale';
+import { redirectTo } from '~/lib/utils/url_utility';
+import pagesMarkOnboardingComplete from '../queries/mark_onboarding_complete.graphql';
+
+export const i18n = {
+ loadingMessage: s__('GitLabPages|Updating your Pages configuration...'),
+};
+
+export default {
+ name: 'PagesPipelineWizard',
+ i18n,
+ PagesWizardTemplate,
+ components: {
+ PipelineWizard,
+ GlLoadingIcon,
+ },
+ props: {
+ projectPath: {
+ type: String,
+ required: true,
+ },
+ defaultBranch: {
+ type: String,
+ required: true,
+ },
+ redirectToWhenDone: {
+ type: String,
+ required: true,
+ },
+ },
+ data() {
+ return {
+ loading: false,
+ };
+ },
+ methods: {
+ async updateOnboardingState() {
+ try {
+ await this.$apollo.mutate({
+ mutation: pagesMarkOnboardingComplete,
+ variables: {
+ input: { projectPath: this.projectPath },
+ },
+ });
+ } catch (e) {
+ // eslint-disable-next-line @gitlab/require-i18n-strings
+ logError('Updating the pages onboarding state failed', e);
+ captureException(e);
+ }
+ },
+ async onDone() {
+ this.loading = true;
+ await this.updateOnboardingState();
+ redirectTo(this.redirectToWhenDone);
+ },
+ },
+};
+</script>
+
+<template>
+ <div>
+ <div
+ v-if="loading"
+ class="gl-p-3 gl-rounded-base gl-text-center"
+ data-testid="onboarding-mutation-loading"
+ >
+ <gl-loading-icon />
+ {{ $options.i18n.loadingMessage }}
+ </div>
+ <pipeline-wizard
+ v-else
+ :template="$options.PagesWizardTemplate"
+ :project-path="projectPath"
+ :default-branch="defaultBranch"
+ @done="onDone"
+ />
+ </div>
+</template>
diff --git a/app/assets/javascripts/gitlab_pages/queries/mark_onboarding_complete.graphql b/app/assets/javascripts/gitlab_pages/queries/mark_onboarding_complete.graphql
new file mode 100644
index 00000000000..abedd54b079
--- /dev/null
+++ b/app/assets/javascripts/gitlab_pages/queries/mark_onboarding_complete.graphql
@@ -0,0 +1,6 @@
+mutation pagesMarkOnboardingComplete($input: PagesMarkOnboardingCompleteInput!) {
+ pagesMarkOnboardingComplete(input: $input) {
+ onboardingComplete
+ errors
+ }
+}