diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-10-20 12:40:42 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-10-20 12:40:42 +0300 |
commit | ee664acb356f8123f4f6b00b73c1e1cf0866c7fb (patch) | |
tree | f8479f94a28f66654c6a4f6fb99bad6b4e86a40e /app/assets/javascripts/releases | |
parent | 62f7d5c5b69180e82ae8196b7b429eeffc8e7b4f (diff) |
Add latest changes from gitlab-org/gitlab@15-5-stable-eev15.5.0-rc42
Diffstat (limited to 'app/assets/javascripts/releases')
8 files changed, 93 insertions, 32 deletions
diff --git a/app/assets/javascripts/releases/components/app_index.vue b/app/assets/javascripts/releases/components/app_index.vue index d63a83d1a08..6dc8240e680 100644 --- a/app/assets/javascripts/releases/components/app_index.vue +++ b/app/assets/javascripts/releases/components/app_index.vue @@ -1,6 +1,6 @@ <script> import { GlButton } from '@gitlab/ui'; -import createFlash from '~/flash'; +import { createAlert } from '~/flash'; import { historyPushState } from '~/lib/utils/common_utils'; import { scrollUp } from '~/lib/utils/scroll_utils'; import { setUrlParams, getParameterByName } from '~/lib/utils/url_utility'; @@ -71,7 +71,7 @@ export default { error(error) { this.fullRequestError = true; - createFlash({ + createAlert({ message: this.$options.i18n.errorMessage, captureError: true, error, diff --git a/app/assets/javascripts/releases/components/app_show.vue b/app/assets/javascripts/releases/components/app_show.vue index fdb0f99b735..7147cfa01c8 100644 --- a/app/assets/javascripts/releases/components/app_show.vue +++ b/app/assets/javascripts/releases/components/app_show.vue @@ -1,5 +1,5 @@ <script> -import createFlash from '~/flash'; +import { createAlert } from '~/flash'; import { s__ } from '~/locale'; import oneReleaseQuery from '../graphql/queries/one_release.query.graphql'; import { convertGraphQLRelease } from '../util'; @@ -51,7 +51,7 @@ export default { }, methods: { showFlash(error) { - createFlash({ + createAlert({ message: s__('Release|Something went wrong while getting the release details.'), captureError: true, error, diff --git a/app/assets/javascripts/releases/components/tag_field_new.vue b/app/assets/javascripts/releases/components/tag_field_new.vue index 08b727dcca0..2ddab5dddea 100644 --- a/app/assets/javascripts/releases/components/tag_field_new.vue +++ b/app/assets/javascripts/releases/components/tag_field_new.vue @@ -1,8 +1,15 @@ <script> -import { GlFormGroup, GlDropdownItem, GlSprintf } from '@gitlab/ui'; +import { + GlCollapse, + GlLink, + GlFormGroup, + GlFormTextarea, + GlDropdownItem, + GlSprintf, +} from '@gitlab/ui'; import { uniqueId } from 'lodash'; import { mapState, mapActions, mapGetters } from 'vuex'; -import { __ } from '~/locale'; +import { __, s__ } from '~/locale'; import RefSelector from '~/ref/components/ref_selector.vue'; import { REF_TYPE_TAGS } from '~/ref/constants'; import FormFieldContainer from './form_field_container.vue'; @@ -10,7 +17,10 @@ import FormFieldContainer from './form_field_container.vue'; export default { name: 'TagFieldNew', components: { + GlCollapse, GlFormGroup, + GlFormTextarea, + GlLink, RefSelector, FormFieldContainer, GlDropdownItem, @@ -41,6 +51,14 @@ export default { this.updateShowCreateFrom(false); }, }, + tagMessage: { + get() { + return this.release.tagMessage; + }, + set(tagMessage) { + this.updateReleaseTagMessage(tagMessage); + }, + }, createFromModel: { get() { return this.createFrom; @@ -70,6 +88,7 @@ export default { methods: { ...mapActions('editNew', [ 'updateReleaseTagName', + 'updateReleaseTagMessage', 'updateCreateFrom', 'fetchTagNotes', 'updateShowCreateFrom', @@ -113,9 +132,20 @@ export default { noRefSelected: __('No source selected'), searchPlaceholder: __('Search branches, tags, and commits'), dropdownHeader: __('Select source'), + label: __('Create from'), + description: __('Existing branch name, tag, or commit SHA'), + }, + annotatedTag: { + label: s__('CreateGitTag|Set tag message'), + description: s__( + 'CreateGitTag|Add a message to the tag. Leaving this blank creates a %{linkStart}lightweight tag%{linkEnd}.', + ), }, }, + tagMessageId: uniqueId('tag-message-'), + tagNameEnabledRefTypes: [REF_TYPE_TAGS], + gitTagDocsLink: 'https://git-scm.com/book/en/v2/Git-Basics-Tagging/', }; </script> <template> @@ -156,23 +186,45 @@ export default { </ref-selector> </form-field-container> </gl-form-group> - <gl-form-group - v-if="showCreateFrom" - :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.createFrom" - /> - </form-field-container> - <template #description> - {{ __('Existing branch name, tag, or commit SHA') }} - </template> - </gl-form-group> + <gl-collapse :visible="showCreateFrom"> + <div class="gl-pl-6 gl-border-l-1 gl-border-l-solid gl-border-gray-300"> + <gl-form-group + v-if="showCreateFrom" + :label="$options.translations.createFrom.label" + :label-for="createFromSelectorId" + data-testid="create-from-field" + > + <form-field-container> + <ref-selector + :id="createFromSelectorId" + v-model="createFromModel" + :project-id="projectId" + :translations="$options.translations.createFrom" + /> + </form-field-container> + <template #description>{{ $options.translations.createFrom.description }}</template> + </gl-form-group> + <gl-form-group + v-if="showCreateFrom" + :label="$options.translations.annotatedTag.label" + :label-for="$options.tagMessageId" + data-testid="annotated-tag-message-field" + > + <gl-form-textarea :id="$options.tagMessageId" v-model="tagMessage" /> + <template #description> + <gl-sprintf :message="$options.translations.annotatedTag.description"> + <template #link="{ content }"> + <gl-link + :href="$options.gitTagDocsLink" + rel="noopener noreferrer" + target="_blank" + >{{ content }}</gl-link + > + </template> + </gl-sprintf> + </template> + </gl-form-group> + </div> + </gl-collapse> </div> </template> diff --git a/app/assets/javascripts/releases/stores/modules/edit_new/actions.js b/app/assets/javascripts/releases/stores/modules/edit_new/actions.js index 669e5928143..42ceed81c00 100644 --- a/app/assets/javascripts/releases/stores/modules/edit_new/actions.js +++ b/app/assets/javascripts/releases/stores/modules/edit_new/actions.js @@ -1,5 +1,5 @@ import { getTag } from '~/rest_api'; -import createFlash from '~/flash'; +import { createAlert } from '~/flash'; import { redirectTo } from '~/lib/utils/url_utility'; import { s__ } from '~/locale'; import createReleaseMutation from '~/releases/graphql/mutations/create_release.mutation.graphql'; @@ -48,7 +48,7 @@ export const fetchRelease = async ({ commit, state }) => { commit(types.RECEIVE_RELEASE_SUCCESS, release); } catch (error) { commit(types.RECEIVE_RELEASE_ERROR, error); - createFlash({ + createAlert({ message: s__('Release|Something went wrong while getting the release details.'), }); } @@ -57,6 +57,9 @@ export const fetchRelease = async ({ commit, state }) => { export const updateReleaseTagName = ({ commit }, tagName) => commit(types.UPDATE_RELEASE_TAG_NAME, tagName); +export const updateReleaseTagMessage = ({ commit }, tagMessage) => + commit(types.UPDATE_RELEASE_TAG_MESSAGE, tagMessage); + export const updateCreateFrom = ({ commit }, createFrom) => commit(types.UPDATE_CREATE_FROM, createFrom); @@ -133,11 +136,11 @@ export const createRelease = async ({ commit, dispatch, getters }) => { } catch (error) { commit(types.RECEIVE_SAVE_RELEASE_ERROR, error); if (error instanceof GraphQLError) { - createFlash({ + createAlert({ message: error.message, }); } else { - createFlash({ + createAlert({ message: s__('Release|Something went wrong while creating a new release.'), }); } @@ -219,7 +222,7 @@ export const updateRelease = async ({ commit, dispatch, state, getters }) => { dispatch('receiveSaveReleaseSuccess', state.release._links.self); } catch (error) { commit(types.RECEIVE_SAVE_RELEASE_ERROR, error); - createFlash({ + createAlert({ message: s__('Release|Something went wrong while saving the release details.'), }); } @@ -233,7 +236,7 @@ export const fetchTagNotes = ({ commit, state }, tagName) => { commit(types.RECEIVE_TAG_NOTES_SUCCESS, data); }) .catch((error) => { - createFlash({ + createAlert({ message: s__('Release|Unable to fetch the tag notes.'), }); @@ -266,7 +269,7 @@ export const deleteRelease = ({ commit, getters, dispatch, state }) => { }) .catch((error) => { commit(types.RECEIVE_SAVE_RELEASE_ERROR, error); - createFlash({ + createAlert({ message: s__('Release|Something went wrong while deleting the release.'), }); }); diff --git a/app/assets/javascripts/releases/stores/modules/edit_new/getters.js b/app/assets/javascripts/releases/stores/modules/edit_new/getters.js index ccca9ca8250..0d77095d099 100644 --- a/app/assets/javascripts/releases/stores/modules/edit_new/getters.js +++ b/app/assets/javascripts/releases/stores/modules/edit_new/getters.js @@ -145,6 +145,7 @@ export const releaseCreateMutatationVariables = (state, getters) => { input: { ...getters.releaseUpdateMutatationVariables.input, ref: state.createFrom, + tagMessage: state.release.tagMessage, assets: { links: getters.releaseLinksToCreate.map(({ name, url, linkType }) => ({ name: name.trim(), diff --git a/app/assets/javascripts/releases/stores/modules/edit_new/mutation_types.js b/app/assets/javascripts/releases/stores/modules/edit_new/mutation_types.js index 0ef017f4eb4..e52eccd6a21 100644 --- a/app/assets/javascripts/releases/stores/modules/edit_new/mutation_types.js +++ b/app/assets/javascripts/releases/stores/modules/edit_new/mutation_types.js @@ -5,6 +5,7 @@ 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_RELEASE_TAG_MESSAGE = 'UPDATE_RELEASE_TAG_MESSAGE'; export const UPDATE_CREATE_FROM = 'UPDATE_CREATE_FROM'; export const UPDATE_SHOW_CREATE_FROM = 'UPDATE_SHOW_CREATE_FROM'; export const UPDATE_RELEASE_TITLE = 'UPDATE_RELEASE_TITLE'; diff --git a/app/assets/javascripts/releases/stores/modules/edit_new/mutations.js b/app/assets/javascripts/releases/stores/modules/edit_new/mutations.js index 34361f84a5a..f80e75501c9 100644 --- a/app/assets/javascripts/releases/stores/modules/edit_new/mutations.js +++ b/app/assets/javascripts/releases/stores/modules/edit_new/mutations.js @@ -10,6 +10,7 @@ export default { [types.INITIALIZE_EMPTY_RELEASE](state) { state.release = { tagName: state.tagName, + tagMessage: '', name: '', description: '', milestones: [], @@ -40,6 +41,9 @@ export default { [types.UPDATE_RELEASE_TAG_NAME](state, tagName) { state.release.tagName = tagName; }, + [types.UPDATE_RELEASE_TAG_MESSAGE](state, tagMessage) { + state.release.tagMessage = tagMessage; + }, [types.UPDATE_CREATE_FROM](state, createFrom) { state.createFrom = createFrom; }, diff --git a/app/assets/javascripts/releases/stores/modules/edit_new/state.js b/app/assets/javascripts/releases/stores/modules/edit_new/state.js index 11a2f9df59b..3112becfa9e 100644 --- a/app/assets/javascripts/releases/stores/modules/edit_new/state.js +++ b/app/assets/javascripts/releases/stores/modules/edit_new/state.js @@ -37,7 +37,7 @@ export default ({ * When creating a new release, this is the default from the URL */ tagName, - showCreateFrom: !tagName, + showCreateFrom: false, defaultBranch, createFrom: defaultBranch, |