summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/blob/file_template_mediator.js6
-rw-r--r--app/assets/javascripts/blob/suggest_gitlab_ci_yml/components/popover.vue43
-rw-r--r--app/assets/javascripts/blob/suggest_gitlab_ci_yml/index.js2
-rw-r--r--app/assets/javascripts/blob_edit/blob_bundle.js6
-rw-r--r--app/assets/javascripts/groups/components/group_item.vue6
-rw-r--r--app/assets/javascripts/groups/components/item_actions.vue2
-rw-r--r--app/assets/stylesheets/components/popover.scss6
-rw-r--r--app/services/clusters/applications/base_helm_service.rb2
-rw-r--r--app/views/projects/_commit_button.html.haml3
-rw-r--r--app/views/projects/blob/_editor.html.haml5
-rw-r--r--app/views/projects/blob/_suggest_gitlab_ci_yml.html.haml4
-rw-r--r--app/views/projects/blob/new.html.haml5
12 files changed, 62 insertions, 28 deletions
diff --git a/app/assets/javascripts/blob/file_template_mediator.js b/app/assets/javascripts/blob/file_template_mediator.js
index 0fb02ca5965..d2c0ef330e4 100644
--- a/app/assets/javascripts/blob/file_template_mediator.js
+++ b/app/assets/javascripts/blob/file_template_mediator.js
@@ -9,6 +9,7 @@ import GitignoreSelector from './template_selectors/gitignore_selector';
import LicenseSelector from './template_selectors/license_selector';
import toast from '~/vue_shared/plugins/global_toast';
import { __ } from '~/locale';
+import initPopover from '~/blob/suggest_gitlab_ci_yml';
export default class FileTemplateMediator {
constructor({ editor, currentAction, projectId }) {
@@ -128,6 +129,7 @@ export default class FileTemplateMediator {
selectTemplateFile(selector, query, data) {
const self = this;
const { name } = selector.config;
+ const suggestCommitChanges = document.querySelector('.js-suggest-gitlab-ci-yml-commit-changes');
selector.renderLoading();
@@ -146,6 +148,10 @@ export default class FileTemplateMediator {
},
},
});
+
+ if (suggestCommitChanges) {
+ initPopover(suggestCommitChanges);
+ }
})
.catch(err => new Flash(`An error occurred while fetching the template: ${err}`));
}
diff --git a/app/assets/javascripts/blob/suggest_gitlab_ci_yml/components/popover.vue b/app/assets/javascripts/blob/suggest_gitlab_ci_yml/components/popover.vue
index fa3c19921df..d304ae7dbf6 100644
--- a/app/assets/javascripts/blob/suggest_gitlab_ci_yml/components/popover.vue
+++ b/app/assets/javascripts/blob/suggest_gitlab_ci_yml/components/popover.vue
@@ -1,10 +1,25 @@
<script>
import { GlPopover, GlSprintf, GlButton, GlIcon } from '@gitlab/ui';
import Cookies from 'js-cookie';
-import { parseBoolean } from '~/lib/utils/common_utils';
+import { parseBoolean, scrollToElement } from '~/lib/utils/common_utils';
import { s__ } from '~/locale';
import { glEmojiTag } from '~/emoji';
+const popoverStates = {
+ suggest_gitlab_ci_yml: {
+ title: s__(`suggestPipeline|1/2: Choose a template`),
+ content: s__(
+ `suggestPipeline|We recommend the %{boldStart}Code Quality%{boldEnd} template, which will add a report widget to your Merge Requests. This way you’ll learn about code quality degradations much sooner. %{footerStart} Goodbye technical debt! %{footerEnd}`,
+ ),
+ emoji: glEmojiTag('wave'),
+ },
+ suggest_commit_first_project_gitlab_ci_yml: {
+ title: s__(`suggestPipeline|2/2: Commit your changes`),
+ content: s__(
+ `suggestPipeline|Commit the changes and your pipeline will automatically run for the first time.`,
+ ),
+ },
+};
export default {
components: {
GlPopover,
@@ -17,7 +32,7 @@ export default {
type: String,
required: true,
},
- cssClass: {
+ trackLabel: {
type: String,
required: true,
},
@@ -33,17 +48,19 @@ export default {
},
computed: {
suggestTitle() {
- return s__(`suggestPipeline|1/2: Choose a template`);
+ return popoverStates[this.trackLabel].title || '';
},
suggestContent() {
- return s__(
- `suggestPipeline|We recommend the %{boldStart}Code Quality%{boldEnd} template, which will add a report widget to your Merge Requests. This way you’ll learn about code quality degradations much sooner. %{footerStart} Goodbye technical debt! %{footerEnd}`,
- );
+ return popoverStates[this.trackLabel].content || '';
},
emoji() {
- return glEmojiTag('wave');
+ return popoverStates[this.trackLabel].emoji || '';
},
},
+ mounted() {
+ if (this.trackLabel === 'suggest_commit_first_project_gitlab_ci_yml' && !this.popoverDismissed)
+ scrollToElement(document.querySelector(this.target));
+ },
methods: {
onDismiss() {
this.popoverDismissed = true;
@@ -61,13 +78,15 @@ export default {
placement="rightbottom"
trigger="manual"
container="viewport"
- :css-classes="[cssClass]"
+ :css-classes="['suggest-gitlab-ci-yml', 'ml-4']"
>
<template #title>
- <gl-button :aria-label="__('Close')" class="btn-blank float-right" @click="onDismiss">
- <gl-icon name="close" aria-hidden="true" />
- </gl-button>
- {{ suggestTitle }}
+ <span v-html="suggestTitle"></span>
+ <span class="ml-auto">
+ <gl-button :aria-label="__('Close')" class="btn-blank" @click="onDismiss">
+ <gl-icon name="close" aria-hidden="true" />
+ </gl-button>
+ </span>
</template>
<gl-sprintf :message="suggestContent">
diff --git a/app/assets/javascripts/blob/suggest_gitlab_ci_yml/index.js b/app/assets/javascripts/blob/suggest_gitlab_ci_yml/index.js
index f770000eb68..2cc342fb381 100644
--- a/app/assets/javascripts/blob/suggest_gitlab_ci_yml/index.js
+++ b/app/assets/javascripts/blob/suggest_gitlab_ci_yml/index.js
@@ -8,7 +8,7 @@ export default el =>
return createElement(Popover, {
props: {
target: el.dataset.target,
- cssClass: el.dataset.cssClass,
+ trackLabel: el.dataset.trackLabel,
dismissKey: el.dataset.dismissKey,
},
});
diff --git a/app/assets/javascripts/blob_edit/blob_bundle.js b/app/assets/javascripts/blob_edit/blob_bundle.js
index 6aaf5bf7296..f4ce98037c8 100644
--- a/app/assets/javascripts/blob_edit/blob_bundle.js
+++ b/app/assets/javascripts/blob_edit/blob_bundle.js
@@ -4,11 +4,13 @@ import $ from 'jquery';
import NewCommitForm from '../new_commit_form';
import EditBlob from './edit_blob';
import BlobFileDropzone from '../blob/blob_file_dropzone';
+import initPopover from '~/blob/suggest_gitlab_ci_yml';
export default () => {
const editBlobForm = $('.js-edit-blob-form');
const uploadBlobForm = $('.js-upload-blob-form');
const deleteBlobForm = $('.js-delete-blob-form');
+ const suggestEl = document.querySelector('.js-suggest-gitlab-ci-yml');
if (editBlobForm.length) {
const urlRoot = editBlobForm.data('relativeUrlRoot');
@@ -56,4 +58,8 @@ export default () => {
if (deleteBlobForm.length) {
new NewCommitForm(deleteBlobForm);
}
+
+ if (suggestEl) {
+ initPopover(suggestEl);
+ }
};
diff --git a/app/assets/javascripts/groups/components/group_item.vue b/app/assets/javascripts/groups/components/group_item.vue
index b192fb78631..1b8c75202fb 100644
--- a/app/assets/javascripts/groups/components/group_item.vue
+++ b/app/assets/javascripts/groups/components/group_item.vue
@@ -95,7 +95,7 @@ export default {
<li :id="groupDomId" :class="rowClass" class="group-row" @click.stop="onClickRowGroup">
<div
:class="{ 'project-row-contents': !isGroup }"
- class="group-row-contents d-flex align-items-center py-2"
+ class="group-row-contents d-flex align-items-center py-2 pr-3"
>
<div class="folder-toggle-wrap append-right-4 d-flex align-items-center">
<item-caret :is-group-open="group.isOpen" />
@@ -103,8 +103,8 @@ export default {
</div>
<gl-loading-icon
v-if="group.isChildrenLoading"
- size="md"
- class="d-none d-sm-inline-flex flex-shrink-0 append-right-10"
+ size="lg"
+ class="d-none d-sm-inline-flex flex-shrink-0 append-right-8"
/>
<div
:class="{ 'd-sm-flex': !group.isChildrenLoading }"
diff --git a/app/assets/javascripts/groups/components/item_actions.vue b/app/assets/javascripts/groups/components/item_actions.vue
index 4b569970204..5454480e61a 100644
--- a/app/assets/javascripts/groups/components/item_actions.vue
+++ b/app/assets/javascripts/groups/components/item_actions.vue
@@ -68,7 +68,7 @@ export default {
data-placement="bottom"
class="edit-group btn btn-xs no-expand"
>
- <icon name="settings" class="position-top-0" />
+ <icon name="settings" class="position-top-0 align-middle" />
</a>
</div>
</template>
diff --git a/app/assets/stylesheets/components/popover.scss b/app/assets/stylesheets/components/popover.scss
index 7e824c72f77..198500d07a7 100644
--- a/app/assets/stylesheets/components/popover.scss
+++ b/app/assets/stylesheets/components/popover.scss
@@ -144,9 +144,7 @@
.popover-header {
padding: $gl-padding;
-
- .ic-close {
- margin-top: -1em;
- }
+ display: flex;
+ align-items: center;
}
}
diff --git a/app/services/clusters/applications/base_helm_service.rb b/app/services/clusters/applications/base_helm_service.rb
index 57bc8bc0d9b..0c9b41be8d2 100644
--- a/app/services/clusters/applications/base_helm_service.rb
+++ b/app/services/clusters/applications/base_helm_service.rb
@@ -50,7 +50,7 @@ module Clusters
end
def helm_api
- @helm_api ||= Gitlab::Kubernetes::Helm::Api.new(kubeclient)
+ @helm_api ||= Gitlab::Kubernetes::Helm::API.new(kubeclient)
end
def install_command
diff --git a/app/views/projects/_commit_button.html.haml b/app/views/projects/_commit_button.html.haml
index b6689f4b57a..5f7ed46297b 100644
--- a/app/views/projects/_commit_button.html.haml
+++ b/app/views/projects/_commit_button.html.haml
@@ -1,5 +1,6 @@
.form-actions
- = button_tag 'Commit changes', class: 'btn commit-btn js-commit-button btn-success qa-commit-button'
+ = button_tag 'Commit changes', id: 'commit-changes', class: 'btn commit-btn js-commit-button btn-success qa-commit-button'
+
= link_to 'Cancel', cancel_path,
class: 'btn btn-cancel', data: {confirm: leave_edit_message}
diff --git a/app/views/projects/blob/_editor.html.haml b/app/views/projects/blob/_editor.html.haml
index 738bca111cd..cd8407608a3 100644
--- a/app/views/projects/blob/_editor.html.haml
+++ b/app/views/projects/blob/_editor.html.haml
@@ -20,7 +20,10 @@
required: true, class: 'form-control new-file-name js-file-path-name-input', value: params[:file_name] || (should_suggest_gitlab_ci_yml? ? '.gitlab-ci.yml' : '')
= render 'template_selectors'
- if should_suggest_gitlab_ci_yml?
- = render partial: 'suggest_gitlab_ci_yml', locals: { target: '#gitlab-ci-yml-selector', dismiss_key: "suggest_gitlab_ci_yml_#{@project.id}" }
+ .js-suggest-gitlab-ci-yml{ data: { toggle: 'popover',
+ target: '#gitlab-ci-yml-selector',
+ track_label: 'suggest_gitlab_ci_yml',
+ dismiss_key: "suggest_gitlab_ci_yml_#{@project.id}" } }
.file-buttons
- if is_markdown
diff --git a/app/views/projects/blob/_suggest_gitlab_ci_yml.html.haml b/app/views/projects/blob/_suggest_gitlab_ci_yml.html.haml
deleted file mode 100644
index 6b368033c1e..00000000000
--- a/app/views/projects/blob/_suggest_gitlab_ci_yml.html.haml
+++ /dev/null
@@ -1,4 +0,0 @@
-.js-suggest-gitlab-ci-yml{ data: { toggle: 'popover',
- target: target,
- css_class: 'suggest-gitlab-ci-yml ml-4',
- dismiss_key: dismiss_key } }
diff --git a/app/views/projects/blob/new.html.haml b/app/views/projects/blob/new.html.haml
index c5e3923f1e8..bf7900018c3 100644
--- a/app/views/projects/blob/new.html.haml
+++ b/app/views/projects/blob/new.html.haml
@@ -13,3 +13,8 @@
= hidden_field_tag 'content', '', id: 'file-content'
= render 'projects/commit_button', ref: @ref,
cancel_path: project_tree_path(@project, @id)
+ - if should_suggest_gitlab_ci_yml?
+ .js-suggest-gitlab-ci-yml-commit-changes{ data: { toggle: 'popover',
+ target: '#commit-changes',
+ track_label: 'suggest_commit_first_project_gitlab_ci_yml',
+ dismiss_key: "suggest_commit_first_project_gitlab_ci_yml_#{@project.id}" } }