diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-11-02 21:09:03 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-11-02 21:09:03 +0300 |
commit | 77cf68da37567a0432108d6755b6c7578e5b7dc8 (patch) | |
tree | 085a37f204211082141af285f866c6c99beb7f25 /app/assets/javascripts/static_site_editor | |
parent | 215cb099344f3e59304064c9fffea9c3489d31c0 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/static_site_editor')
-rw-r--r-- | app/assets/javascripts/static_site_editor/components/edit_meta_controls.vue | 59 | ||||
-rw-r--r-- | app/assets/javascripts/static_site_editor/components/edit_meta_modal.vue | 12 |
2 files changed, 70 insertions, 1 deletions
diff --git a/app/assets/javascripts/static_site_editor/components/edit_meta_controls.vue b/app/assets/javascripts/static_site_editor/components/edit_meta_controls.vue index fb80b158b46..c6247632b6e 100644 --- a/app/assets/javascripts/static_site_editor/components/edit_meta_controls.vue +++ b/app/assets/javascripts/static_site_editor/components/edit_meta_controls.vue @@ -1,8 +1,21 @@ <script> -import { GlForm, GlFormGroup, GlFormInput, GlFormTextarea } from '@gitlab/ui'; +import { + GlDropdown, + GlDropdownDivider, + GlDropdownItem, + GlForm, + GlFormGroup, + GlFormInput, + GlFormTextarea, +} from '@gitlab/ui'; + +import { __ } from '~/locale'; export default { components: { + GlDropdown, + GlDropdownDivider, + GlDropdownItem, GlForm, GlFormGroup, GlFormInput, @@ -17,6 +30,24 @@ export default { type: String, required: true, }, + templates: { + type: Array, + required: false, + default: null, + }, + currentTemplate: { + type: Object, + required: false, + default: null, + }, + }, + computed: { + dropdownLabel() { + return this.currentTemplate ? this.currentTemplate.name : __('None'); + }, + hasTemplates() { + return this.templates?.length > 0; + }, }, mounted() { this.preSelect(); @@ -30,6 +61,9 @@ export default { this.$refs.title.$el.select(); }); }, + onChangeTemplate(template) { + this.$emit('changeTemplate', template || null); + }, onUpdate(field, value) { const payload = { title: this.title, @@ -59,6 +93,29 @@ export default { </gl-form-group> <gl-form-group + v-if="hasTemplates" + key="template" + :label="__('Description template')" + :label-for="getId('control', 'template')" + > + <gl-dropdown :text="dropdownLabel"> + <gl-dropdown-item key="none" @click="onChangeTemplate(null)"> + {{ __('None') }} + </gl-dropdown-item> + + <gl-dropdown-divider /> + + <gl-dropdown-item + v-for="template in templates" + :key="template.key" + @click="onChangeTemplate(template)" + > + {{ template.name }} + </gl-dropdown-item> + </gl-dropdown> + </gl-form-group> + + <gl-form-group key="description" :label="__('Goal of the changes and what reviewers should be aware of')" :label-for="getId('control', 'description')" diff --git a/app/assets/javascripts/static_site_editor/components/edit_meta_modal.vue b/app/assets/javascripts/static_site_editor/components/edit_meta_modal.vue index e83af198bf5..32c1b55c472 100644 --- a/app/assets/javascripts/static_site_editor/components/edit_meta_modal.vue +++ b/app/assets/javascripts/static_site_editor/components/edit_meta_modal.vue @@ -22,6 +22,8 @@ export default { data() { return { clearStorage: false, + currentTemplate: null, + mergeRequestTemplates: null, mergeRequestMeta: { title: sprintf(s__(`StaticSiteEditor|Update %{sourcePath} file`), { sourcePath: this.sourcePath, @@ -61,6 +63,13 @@ export default { onSecondary() { this.hide(); }, + onChangeTemplate(template) { + this.currentTemplate = template; + + const description = this.currentTemplate ? this.currentTemplate.content : ''; + const mergeRequestMeta = { ...this.mergeRequestMeta, description }; + this.onUpdateSettings(mergeRequestMeta); + }, onUpdateSettings(mergeRequestMeta) { this.mergeRequestMeta = { ...mergeRequestMeta }; }, @@ -91,7 +100,10 @@ export default { ref="editMetaControls" :title="mergeRequestMeta.title" :description="mergeRequestMeta.description" + :templates="mergeRequestTemplates" + :current-template="currentTemplate" @updateSettings="onUpdateSettings" + @changeTemplate="onChangeTemplate" /> </gl-modal> </template> |