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>2020-08-10 09:09:53 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-08-10 09:09:53 +0300
commit146abb4a88819f3625f1e42fb165bef63cb4eafb (patch)
tree7773bc38964c762561f7ef0484db30bf1eaec7e0 /app/assets/javascripts/releases
parenta544d1da18a96411ed19ca820038833caa87208b (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/releases')
-rw-r--r--app/assets/javascripts/releases/components/form_field_container.vue12
-rw-r--r--app/assets/javascripts/releases/components/tag_field_existing.vue25
-rw-r--r--app/assets/javascripts/releases/components/tag_field_new.vue66
-rw-r--r--app/assets/javascripts/releases/stores/modules/detail/actions.js4
-rw-r--r--app/assets/javascripts/releases/stores/modules/detail/mutation_types.js2
-rw-r--r--app/assets/javascripts/releases/stores/modules/detail/mutations.js6
-rw-r--r--app/assets/javascripts/releases/stores/modules/detail/state.js1
7 files changed, 102 insertions, 14 deletions
diff --git a/app/assets/javascripts/releases/components/form_field_container.vue b/app/assets/javascripts/releases/components/form_field_container.vue
new file mode 100644
index 00000000000..19e275315a0
--- /dev/null
+++ b/app/assets/javascripts/releases/components/form_field_container.vue
@@ -0,0 +1,12 @@
+<script>
+export default {
+ name: 'FormFieldContainer',
+};
+</script>
+<template>
+ <div class="row">
+ <div class="col-md-6 col-lg-5 col-xl-4 gl-display-flex gl-flex-direction-column">
+ <slot></slot>
+ </div>
+ </div>
+</template>
diff --git a/app/assets/javascripts/releases/components/tag_field_existing.vue b/app/assets/javascripts/releases/components/tag_field_existing.vue
index 6267e7088c4..b84e713df26 100644
--- a/app/assets/javascripts/releases/components/tag_field_existing.vue
+++ b/app/assets/javascripts/releases/components/tag_field_existing.vue
@@ -2,10 +2,11 @@
import { mapState } from 'vuex';
import { uniqueId } from 'lodash';
import { GlFormGroup, GlFormInput, GlLink, GlSprintf } from '@gitlab/ui';
+import FormFieldContainer from './form_field_container.vue';
export default {
name: 'TagFieldExisting',
- components: { GlFormGroup, GlFormInput, GlSprintf, GlLink },
+ components: { GlFormGroup, GlFormInput, GlSprintf, GlLink, FormFieldContainer },
computed: {
...mapState('detail', ['release', 'updateReleaseApiDocsPath']),
inputId() {
@@ -19,18 +20,16 @@ export default {
</script>
<template>
<gl-form-group :label="__('Tag name')" :label-for="inputId">
- <div class="row">
- <div class="col-md-6 col-lg-5 col-xl-4">
- <gl-form-input
- :id="inputId"
- :value="release.tagName"
- type="text"
- class="form-control"
- :aria-describedby="helpId"
- disabled
- />
- </div>
- </div>
+ <form-field-container>
+ <gl-form-input
+ :id="inputId"
+ :value="release.tagName"
+ type="text"
+ class="form-control"
+ :aria-describedby="helpId"
+ disabled
+ />
+ </form-field-container>
<template #description>
<div :id="helpId" data-testid="tag-name-help">
<gl-sprintf
diff --git a/app/assets/javascripts/releases/components/tag_field_new.vue b/app/assets/javascripts/releases/components/tag_field_new.vue
index 594ae77bfb0..e77998dd663 100644
--- a/app/assets/javascripts/releases/components/tag_field_new.vue
+++ b/app/assets/javascripts/releases/components/tag_field_new.vue
@@ -1,8 +1,72 @@
<script>
+import { mapState, mapActions } from 'vuex';
+import { GlFormGroup, GlFormInput } from '@gitlab/ui';
+import { uniqueId } from 'lodash';
+import { __ } from '~/locale';
+import RefSelector from '~/ref/components/ref_selector.vue';
+import FormFieldContainer from './form_field_container.vue';
+
export default {
name: 'TagFieldNew',
+ components: { GlFormGroup, GlFormInput, RefSelector, FormFieldContainer },
+ computed: {
+ ...mapState('detail', ['projectId', 'release', 'createFrom']),
+ tagName: {
+ get() {
+ return this.release.tagName;
+ },
+ set(tagName) {
+ this.updateReleaseTagName(tagName);
+ },
+ },
+ createFromModel: {
+ get() {
+ return this.createFrom;
+ },
+ set(createFrom) {
+ this.updateCreateFrom(createFrom);
+ },
+ },
+ tagNameInputId() {
+ return uniqueId('tag-name-input-');
+ },
+ createFromSelectorId() {
+ return uniqueId('create-from-selector-');
+ },
+ },
+ methods: {
+ ...mapActions('detail', ['updateReleaseTagName', 'updateCreateFrom']),
+ },
+ translations: {
+ noRefSelected: __('No source selected'),
+ searchPlaceholder: __('Search branches, tags, and commits'),
+ dropdownHeader: __('Select source'),
+ },
};
</script>
<template>
- <div></div>
+ <div>
+ <gl-form-group :label="__('Tag name')" :label-for="tagNameInputId" data-testid="tag-name-field">
+ <form-field-container>
+ <gl-form-input :id="tagNameInputId" v-model="tagName" type="text" class="form-control" />
+ </form-field-container>
+ </gl-form-group>
+ <gl-form-group
+ :label="__('Create from')"
+ :label-for="createFromSelectorId"
+ data-testid="create-from-field"
+ >
+ <form-field-container>
+ <ref-selector
+ :id="createFromSelectorId"
+ v-model="createFromModel"
+ :project-id="projectId"
+ :translations="$options.translations"
+ />
+ </form-field-container>
+ <template #description>
+ {{ __('Existing branch name, tag, or commit SHA') }}
+ </template>
+ </gl-form-group>
+ </div>
</template>
diff --git a/app/assets/javascripts/releases/stores/modules/detail/actions.js b/app/assets/javascripts/releases/stores/modules/detail/actions.js
index 2026eeba880..67d31d37384 100644
--- a/app/assets/javascripts/releases/stores/modules/detail/actions.js
+++ b/app/assets/javascripts/releases/stores/modules/detail/actions.js
@@ -34,6 +34,10 @@ export const fetchRelease = ({ dispatch, state }) => {
});
};
+export const updateReleaseTagName = ({ commit }, tagName) =>
+ commit(types.UPDATE_RELEASE_TAG_NAME, tagName);
+export const updateCreateFrom = ({ commit }, createFrom) =>
+ commit(types.UPDATE_CREATE_FROM, createFrom);
export const updateReleaseTitle = ({ commit }, title) => commit(types.UPDATE_RELEASE_TITLE, title);
export const updateReleaseNotes = ({ commit }, notes) => commit(types.UPDATE_RELEASE_NOTES, notes);
export const updateReleaseMilestones = ({ commit }, milestones) =>
diff --git a/app/assets/javascripts/releases/stores/modules/detail/mutation_types.js b/app/assets/javascripts/releases/stores/modules/detail/mutation_types.js
index 7b694120126..a50086693bf 100644
--- a/app/assets/javascripts/releases/stores/modules/detail/mutation_types.js
+++ b/app/assets/javascripts/releases/stores/modules/detail/mutation_types.js
@@ -2,6 +2,8 @@ export const REQUEST_RELEASE = 'REQUEST_RELEASE';
export const RECEIVE_RELEASE_SUCCESS = 'RECEIVE_RELEASE_SUCCESS';
export const RECEIVE_RELEASE_ERROR = 'RECEIVE_RELEASE_ERROR';
+export const UPDATE_RELEASE_TAG_NAME = 'UPDATE_RELEASE_TAG_NAME';
+export const UPDATE_CREATE_FROM = 'UPDATE_CREATE_FROM';
export const UPDATE_RELEASE_TITLE = 'UPDATE_RELEASE_TITLE';
export const UPDATE_RELEASE_NOTES = 'UPDATE_RELEASE_NOTES';
export const UPDATE_RELEASE_MILESTONES = 'UPDATE_RELEASE_MILESTONES';
diff --git a/app/assets/javascripts/releases/stores/modules/detail/mutations.js b/app/assets/javascripts/releases/stores/modules/detail/mutations.js
index ca544151323..2a8e8a6eb93 100644
--- a/app/assets/javascripts/releases/stores/modules/detail/mutations.js
+++ b/app/assets/javascripts/releases/stores/modules/detail/mutations.js
@@ -22,6 +22,12 @@ export default {
state.release = undefined;
},
+ [types.UPDATE_RELEASE_TAG_NAME](state, tagName) {
+ state.release.tagName = tagName;
+ },
+ [types.UPDATE_CREATE_FROM](state, createFrom) {
+ state.createFrom = createFrom;
+ },
[types.UPDATE_RELEASE_TITLE](state, title) {
state.release.name = title;
},
diff --git a/app/assets/javascripts/releases/stores/modules/detail/state.js b/app/assets/javascripts/releases/stores/modules/detail/state.js
index 1e634992d05..dc736c644d5 100644
--- a/app/assets/javascripts/releases/stores/modules/detail/state.js
+++ b/app/assets/javascripts/releases/stores/modules/detail/state.js
@@ -27,6 +27,7 @@ export default ({
releasesPagePath,
defaultBranch,
+ createFrom: defaultBranch,
/** The Release object */
release: null,