summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilipa Lacerda <filipa@gitlab.com>2017-05-18 10:14:06 +0000
committerFilipa Lacerda <filipa@gitlab.com>2017-05-18 10:14:06 +0000
commitf5675666a11ff296e27b6dbdf0f789242fcd1b7f (patch)
tree8d51c95a447e266d5fd0d4b18a032927fec0210c
parent16288e78568841ceb74fa922b7e0e84496c8808e (diff)
parent9c9a24cee8d961fa33675b857f2ad980e20e0a4b (diff)
downloadgitlab-ce-f5675666a11ff296e27b6dbdf0f789242fcd1b7f.tar.gz
Merge branch 'auto-focus-description-field' into 'issue-edit-inline'
Focus the description field in the inline form when mounted See merge request !11441
-rw-r--r--app/assets/javascripts/issue_show/components/fields/description.vue5
-rw-r--r--spec/javascripts/issue_show/components/fields/description_spec.js34
2 files changed, 38 insertions, 1 deletions
diff --git a/app/assets/javascripts/issue_show/components/fields/description.vue b/app/assets/javascripts/issue_show/components/fields/description.vue
index b4c31811a0b..35b1ea6ff2b 100644
--- a/app/assets/javascripts/issue_show/components/fields/description.vue
+++ b/app/assets/javascripts/issue_show/components/fields/description.vue
@@ -20,6 +20,9 @@
components: {
markdownField,
},
+ mounted() {
+ this.$refs.textarea.focus();
+ },
};
</script>
@@ -39,7 +42,7 @@
data-supports-slash-commands="false"
aria-label="Description"
v-model="formState.description"
- ref="textatea"
+ ref="textarea"
slot="textarea">
</textarea>
</markdown-field>
diff --git a/spec/javascripts/issue_show/components/fields/description_spec.js b/spec/javascripts/issue_show/components/fields/description_spec.js
new file mode 100644
index 00000000000..cdb5c9ab862
--- /dev/null
+++ b/spec/javascripts/issue_show/components/fields/description_spec.js
@@ -0,0 +1,34 @@
+import Vue from 'vue';
+import descriptionField from '~/issue_show/components/fields/description.vue';
+
+describe('Description field component', () => {
+ let vm;
+
+ beforeEach((done) => {
+ const Component = Vue.extend(descriptionField);
+
+ // Needs an el in the DOM to be able to test the element is focused
+ const el = document.createElement('div');
+
+ document.body.appendChild(el);
+
+ vm = new Component({
+ el,
+ propsData: {
+ formState: {
+ description: '',
+ },
+ markdownDocs: '/',
+ markdownPreviewUrl: '/',
+ },
+ }).$mount();
+
+ Vue.nextTick(done);
+ });
+
+ it('focuses field when mounted', () => {
+ expect(
+ document.activeElement,
+ ).toBe(vm.$refs.textarea);
+ });
+});