aboutsummaryrefslogtreecommitdiff
path: root/src/components/media_upload
diff options
context:
space:
mode:
authorRoger Braun <roger@rogerbraun.net>2016-11-06 19:28:37 +0100
committerRoger Braun <roger@rogerbraun.net>2016-11-06 19:28:37 +0100
commita73916dd7f07954ee0305df822baa8068ae1df14 (patch)
tree651ddf9a91d40ded460a0ab03bebe0b5048be5aa /src/components/media_upload
parentdcb7fd14407f144f918eb65f191ecbab6844e1f7 (diff)
Add MediaUpload component.
Diffstat (limited to 'src/components/media_upload')
-rw-r--r--src/components/media_upload/media_upload.js22
-rw-r--r--src/components/media_upload/media_upload.vue17
2 files changed, 39 insertions, 0 deletions
diff --git a/src/components/media_upload/media_upload.js b/src/components/media_upload/media_upload.js
new file mode 100644
index 00000000..c24c71e9
--- /dev/null
+++ b/src/components/media_upload/media_upload.js
@@ -0,0 +1,22 @@
+/* eslint-env browser */
+import statusPosterService from '../../services/status_poster/status_poster.service.js'
+
+const mediaUpload = {
+ mounted () {
+ const store = this.$store
+ const input = this.$el.querySelector('input')
+ const self = this
+
+ input.addEventListener('change', ({target}) => {
+ const file = target.files[0];
+ const formData = new FormData();
+ formData.append('media', file);
+ statusPosterService.uploadMedia({ store, formData })
+ .then((fileData) => {
+ self.$emit('uploaded', fileData)
+ })
+ })
+ }
+}
+
+export default mediaUpload
diff --git a/src/components/media_upload/media_upload.vue b/src/components/media_upload/media_upload.vue
new file mode 100644
index 00000000..a62d8316
--- /dev/null
+++ b/src/components/media_upload/media_upload.vue
@@ -0,0 +1,17 @@
+<template>
+ <div class="media-upload">
+ <label class="btn btn-default">
+ <i class="fa icon-upload"></i>
+ <input type=file style="position: fixed; top: -100em"></input>
+ </label>
+ </div>
+</template>
+
+<script src="./media_upload.js" ></script>
+
+<style>
+ .media-upload {
+ font-size: 26px;
+ flex: 1;
+ }
+</style>