diff options
Diffstat (limited to 'src/client/app/common')
| -rw-r--r-- | src/client/app/common/views/widgets/photo-stream.vue | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/src/client/app/common/views/widgets/photo-stream.vue b/src/client/app/common/views/widgets/photo-stream.vue index 72658707c2..202633a3f0 100644 --- a/src/client/app/common/views/widgets/photo-stream.vue +++ b/src/client/app/common/views/widgets/photo-stream.vue @@ -5,7 +5,13 @@ <p :class="$style.fetching" v-if="fetching"><fa icon="spinner .pulse" fixed-width/>{{ $t('@.loading') }}<mk-ellipsis/></p> <div :class="$style.stream" v-if="!fetching && images.length > 0"> - <div v-for="image in images" :class="$style.img" :style="`background-image: url(${image.thumbnailUrl || image.url})`"></div> + <div v-for="image in images" + :class="$style.img" + :style="`background-image: url(${image.thumbnailUrl || image.url})`" + draggable="true" + @dragstart="onDragstart(image, $event)" + @dragend="onDragend" + ></div> </div> <p :class="$style.empty" v-if="!fetching && images.length == 0">{{ $t('no-photos') }}</p> </mk-widget-container> @@ -31,6 +37,7 @@ export default define({ connection: null }; }, + mounted() { this.connection = this.$root.stream.useSharedConnection('main'); @@ -44,9 +51,11 @@ export default define({ this.fetching = false; }); }, + beforeDestroy() { this.connection.dispose(); }, + methods: { onDriveFileCreated(file) { if (/^image\/.+$/.test(file.type)) { @@ -54,6 +63,7 @@ export default define({ if (this.images.length > 9) this.images.pop(); } }, + func() { if (this.props.design == 2) { this.props.design = 0; @@ -62,7 +72,16 @@ export default define({ } this.save(); - } + }, + + onDragstart(file, e) { + e.dataTransfer.effectAllowed = 'move'; + e.dataTransfer.setData('mk_drive_file', JSON.stringify(file)); + }, + + onDragend(e) { + this.browser.isDragSource = false; + }, } }); </script> |