summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/issue_show/components/form.vue
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/issue_show/components/form.vue')
-rw-r--r--app/assets/javascripts/issue_show/components/form.vue135
1 files changed, 135 insertions, 0 deletions
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..d7e812b7f7f
--- /dev/null
+++ b/app/assets/javascripts/issue_show/components/form.vue
@@ -0,0 +1,135 @@
+<script>
+<<<<<<< HEAD
+<<<<<<< HEAD
+=======
+ import eventHub from '../event_hub';
+>>>>>>> 6a14a51... Show warning if realtime data has changed since the form has opened
+=======
+>>>>>>> 982ab87... Added specs for testing when warning is visible
+ import lockedWarning from './locked_warning.vue';
+ import titleField from './fields/title.vue';
+ import descriptionField from './fields/description.vue';
+ import editActions from './edit_actions.vue';
+ import descriptionTemplate from './fields/description_template.vue';
+ import projectMove from './fields/project_move.vue';
+ import confidentialCheckbox from './fields/confidential_checkbox.vue';
+
+ export default {
+ props: {
+ canMove: {
+ type: Boolean,
+ required: true,
+ },
+ canDestroy: {
+ type: Boolean,
+ required: true,
+ },
+ formState: {
+ type: Object,
+ required: true,
+ },
+ issuableTemplates: {
+ type: Array,
+ required: false,
+ default: () => [],
+ },
+ markdownPreviewUrl: {
+ type: String,
+ required: true,
+ },
+ markdownDocs: {
+ type: String,
+ required: true,
+ },
+ projectPath: {
+ type: String,
+ required: true,
+ },
+ projectNamespace: {
+ type: String,
+ required: true,
+ },
+ projectsAutocompleteUrl: {
+ type: String,
+ required: true,
+ },
+ },
+ components: {
+ lockedWarning,
+ titleField,
+ descriptionField,
+ descriptionTemplate,
+ editActions,
+ projectMove,
+ confidentialCheckbox,
+ },
+<<<<<<< HEAD
+<<<<<<< HEAD
+ computed: {
+ hasIssuableTemplates() {
+ return this.issuableTemplates.length;
+=======
+ methods: {
+ closeForm() {
+ eventHub.$emit('close.form');
+ this.formState.lockedWarningVisible = false;
+>>>>>>> 6a14a51... Show warning if realtime data has changed since the form has opened
+ },
+ },
+=======
+>>>>>>> 982ab87... Added specs for testing when warning is visible
+ };
+</script>
+
+<template>
+ <form>
+<<<<<<< HEAD
+<<<<<<< HEAD
+ <locked-warning v-if="formState.lockedWarningVisible" />
+ <div class="row">
+ <div
+ class="col-sm-4 col-lg-3"
+ v-if="hasIssuableTemplates">
+ <description-template
+ :form-state="formState"
+ :issuable-templates="issuableTemplates"
+ :project-path="projectPath"
+ :project-namespace="projectNamespace" />
+ </div>
+ <div
+ :class="{
+ 'col-sm-8 col-lg-9': hasIssuableTemplates,
+ 'col-xs-12': !hasIssuableTemplates,
+ }">
+ <title-field
+ :form-state="formState"
+ :issuable-templates="issuableTemplates" />
+ </div>
+ </div>
+=======
+ <locked-warning
+ v-if="formState.lockedWarningVisible"
+ @closeForm="closeForm" />
+=======
+ <locked-warning v-if="formState.lockedWarningVisible" />
+>>>>>>> 982ab87... Added specs for testing when warning is visible
+ <title-field
+ :form-state="formState" />
+ <confidential-checkbox
+ :form-state="formState" />
+>>>>>>> 6a14a51... Show warning if realtime data has changed since the form has opened
+ <description-field
+ :form-state="formState"
+ :markdown-preview-url="markdownPreviewUrl"
+ :markdown-docs="markdownDocs" />
+ <confidential-checkbox
+ :form-state="formState" />
+ <project-move
+ v-if="canMove"
+ :form-state="formState"
+ :projects-autocomplete-url="projectsAutocompleteUrl" />
+ <edit-actions
+ :form-state="formState"
+ :can-destroy="canDestroy" />
+ </form>
+</template>