summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2018-08-29 16:05:30 +0100
committerPhil Hughes <me@iamphill.com>2018-08-29 16:05:30 +0100
commit3a283fa861451a2061c925dbc2d5a480325aecc8 (patch)
tree4f16fd56584814e6bf7b8c87ebe8353f8302c176
parent42523a415df7b58bceb5d5d515e57bda180c02d8 (diff)
downloadgitlab-ce-3a283fa861451a2061c925dbc2d5a480325aecc8.tar.gz
Enabled multiple uploads in the Web IDE
Closes #50405
-rw-r--r--app/assets/javascripts/ide/components/new_dropdown/upload.vue8
-rw-r--r--changelogs/unreleased/ide-multiple-file-uploads.yml5
-rw-r--r--spec/javascripts/ide/components/new_dropdown/upload_spec.js17
3 files changed, 24 insertions, 6 deletions
diff --git a/app/assets/javascripts/ide/components/new_dropdown/upload.vue b/app/assets/javascripts/ide/components/new_dropdown/upload.vue
index 5b1743bb30e..e2be805ed22 100644
--- a/app/assets/javascripts/ide/components/new_dropdown/upload.vue
+++ b/app/assets/javascripts/ide/components/new_dropdown/upload.vue
@@ -24,12 +24,6 @@ export default {
default: null,
},
},
- mounted() {
- this.$refs.fileUpload.addEventListener('change', this.openFile);
- },
- beforeDestroy() {
- this.$refs.fileUpload.removeEventListener('change', this.openFile);
- },
methods: {
createFile(target, file, isText) {
const { name } = file;
@@ -85,6 +79,8 @@ export default {
ref="fileUpload"
type="file"
class="hidden"
+ multiple
+ @change="openFile"
/>
</div>
</template>
diff --git a/changelogs/unreleased/ide-multiple-file-uploads.yml b/changelogs/unreleased/ide-multiple-file-uploads.yml
new file mode 100644
index 00000000000..6bb73739864
--- /dev/null
+++ b/changelogs/unreleased/ide-multiple-file-uploads.yml
@@ -0,0 +1,5 @@
+---
+title: Enabled multiple file uploads in the Web IDE
+merge_request:
+author:
+type: added
diff --git a/spec/javascripts/ide/components/new_dropdown/upload_spec.js b/spec/javascripts/ide/components/new_dropdown/upload_spec.js
index 9c76500cfe5..70b885ede26 100644
--- a/spec/javascripts/ide/components/new_dropdown/upload_spec.js
+++ b/spec/javascripts/ide/components/new_dropdown/upload_spec.js
@@ -21,6 +21,23 @@ describe('new dropdown upload', () => {
vm.$destroy();
});
+ describe('openFile', () => {
+ it('calls for each file', () => {
+ const files = ['test', 'test2', 'test3'];
+
+ spyOn(vm, 'readFile');
+ spyOnProperty(vm.$refs.fileUpload, 'files').and.returnValue(files);
+
+ vm.openFile();
+
+ expect(vm.readFile.calls.count()).toBe(3);
+
+ files.forEach((file, i) => {
+ expect(vm.readFile.calls.argsFor(i)).toEqual([file]);
+ });
+ });
+ });
+
describe('readFile', () => {
beforeEach(() => {
spyOn(FileReader.prototype, 'readAsText');