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:
Diffstat (limited to 'app/assets/javascripts/issue_show/components/app.vue')
-rw-r--r--app/assets/javascripts/issue_show/components/app.vue36
1 files changed, 32 insertions, 4 deletions
diff --git a/app/assets/javascripts/issue_show/components/app.vue b/app/assets/javascripts/issue_show/components/app.vue
index 88975c2cc73..b8b3a4f44fd 100644
--- a/app/assets/javascripts/issue_show/components/app.vue
+++ b/app/assets/javascripts/issue_show/components/app.vue
@@ -102,10 +102,10 @@ export default {
required: false,
default: '',
},
- issuableTemplates: {
- type: Array,
+ issuableTemplateNamesPath: {
+ type: String,
required: false,
- default: () => [],
+ default: '',
},
markdownPreviewPath: {
type: String,
@@ -156,9 +156,13 @@ export default {
store,
state: store.state,
showForm: false,
+ templatesRequested: false,
};
},
computed: {
+ issuableTemplates() {
+ return this.store.formState.issuableTemplates;
+ },
formState() {
return this.store.formState;
},
@@ -233,6 +237,7 @@ export default {
}
return undefined;
},
+
updateStoreState() {
return this.service
.getData()
@@ -245,7 +250,7 @@ export default {
});
},
- openForm() {
+ updateAndShowForm(templates = []) {
if (!this.showForm) {
this.showForm = true;
this.store.setFormState({
@@ -254,9 +259,32 @@ export default {
lock_version: this.state.lock_version,
lockedWarningVisible: false,
updateLoading: false,
+ issuableTemplates: templates,
+ });
+ }
+ },
+
+ requestTemplatesAndShowForm() {
+ return this.service
+ .loadTemplates(this.issuableTemplateNamesPath)
+ .then(res => {
+ this.updateAndShowForm(res.data);
+ })
+ .catch(() => {
+ createFlash(this.defaultErrorMessage);
+ this.updateAndShowForm();
});
+ },
+
+ openForm() {
+ if (!this.templatesRequested) {
+ this.templatesRequested = true;
+ this.requestTemplatesAndShowForm();
+ } else {
+ this.updateAndShowForm(this.issuableTemplates);
}
},
+
closeForm() {
this.showForm = false;
},