summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/issue_show
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2017-05-16 09:43:33 +0100
committerPhil Hughes <me@iamphill.com>2017-05-16 09:43:33 +0100
commit64e159ada06a6f69742cb530894334cd099b667f (patch)
tree91261fdc4dc5263820b0c89c25ea1b2ff48ab5ad /app/assets/javascripts/issue_show
parent36df19e71b53a78da9db15b65c405c50089da7b3 (diff)
downloadgitlab-ce-64e159ada06a6f69742cb530894334cd099b667f.tar.gz
Created form component instead of using :is incorrectly
[ci skip]
Diffstat (limited to 'app/assets/javascripts/issue_show')
-rw-r--r--app/assets/javascripts/issue_show/components/app.vue38
-rw-r--r--app/assets/javascripts/issue_show/components/form.vue30
-rw-r--r--app/assets/javascripts/issue_show/components/title.vue36
3 files changed, 57 insertions, 47 deletions
diff --git a/app/assets/javascripts/issue_show/components/app.vue b/app/assets/javascripts/issue_show/components/app.vue
index abddcaa2594..b4034849c71 100644
--- a/app/assets/javascripts/issue_show/components/app.vue
+++ b/app/assets/javascripts/issue_show/components/app.vue
@@ -7,7 +7,7 @@ import Service from '../services/index';
import Store from '../stores';
import titleComponent from './title.vue';
import descriptionComponent from './description.vue';
-import editActions from './edit_actions.vue';
+import formComponent from './form.vue';
export default {
props: {
@@ -56,9 +56,6 @@ export default {
};
},
computed: {
- elementType() {
- return this.showForm ? 'form' : 'div';
- },
formState() {
return this.store.formState;
},
@@ -66,7 +63,7 @@ export default {
components: {
descriptionComponent,
titleComponent,
- editActions,
+ formComponent,
},
methods: {
openForm() {
@@ -143,22 +140,23 @@ export default {
</script>
<template>
- <div :is="elementType">
- <title-component
- :form-state="formState"
- :show-form="showForm"
- :issuable-ref="issuableRef"
- :title-html="state.titleHtml"
- :title-text="state.titleText" />
- <description-component
- v-if="state.descriptionHtml"
- :can-update="canUpdate"
- :description-html="state.descriptionHtml"
- :description-text="state.descriptionText"
- :updated-at="state.updatedAt"
- :task-status="state.taskStatus" />
- <edit-actions
+ <div>
+ <form-component
v-if="canUpdate && showForm"
+ :form-state="formState"
:can-destroy="canDestroy" />
+ <div v-else>
+ <title-component
+ :issuable-ref="issuableRef"
+ :title-html="state.titleHtml"
+ :title-text="state.titleText" />
+ <description-component
+ v-if="state.descriptionHtml"
+ :can-update="canUpdate"
+ :description-html="state.descriptionHtml"
+ :description-text="state.descriptionText"
+ :updated-at="state.updatedAt"
+ :task-status="state.taskStatus" />
+ </div>
</div>
</template>
diff --git a/app/assets/javascripts/issue_show/components/form.vue b/app/assets/javascripts/issue_show/components/form.vue
new file mode 100644
index 00000000000..7dd8ffb5af2
--- /dev/null
+++ b/app/assets/javascripts/issue_show/components/form.vue
@@ -0,0 +1,30 @@
+<script>
+ import titleField from './fields/title.vue';
+ import editActions from './edit_actions.vue';
+
+ export default {
+ props: {
+ canDestroy: {
+ type: Boolean,
+ required: true,
+ },
+ formState: {
+ type: Object,
+ required: true,
+ },
+ },
+ components: {
+ titleField,
+ editActions,
+ },
+ };
+</script>
+
+<template>
+ <form>
+ <title-field
+ :form-state="formState" />
+ <edit-actions
+ :can-destroy="canDestroy" />
+ </form>
+</template>
diff --git a/app/assets/javascripts/issue_show/components/title.vue b/app/assets/javascripts/issue_show/components/title.vue
index d410c61b655..a9dabd4cff1 100644
--- a/app/assets/javascripts/issue_show/components/title.vue
+++ b/app/assets/javascripts/issue_show/components/title.vue
@@ -1,12 +1,8 @@
<script>
import animateMixin from '../mixins/animate';
- import titleField from './fields/title.vue';
export default {
mixins: [animateMixin],
- components: {
- titleField,
- },
data() {
return {
preAnimation: false,
@@ -27,14 +23,6 @@
type: String,
required: true,
},
- formState: {
- type: Object,
- required: true,
- },
- showForm: {
- type: Boolean,
- required: true,
- },
},
watch: {
titleHtml() {
@@ -53,19 +41,13 @@
</script>
<template>
- <div>
- <title-field
- v-if="showForm"
- :form-state="formState" />
- <h2
- v-else
- class="title"
- :class="{
- 'issue-realtime-pre-pulse': preAnimation,
- 'issue-realtime-trigger-pulse': pulseAnimation
- }"
- v-html="titleHtml"
- >
- </h2>
- </div>
+ <h2
+ class="title"
+ :class="{
+ 'issue-realtime-pre-pulse': preAnimation,
+ 'issue-realtime-trigger-pulse': pulseAnimation
+ }"
+ v-html="titleHtml"
+ >
+ </h2>
</template>