function mounted() {
let container = this.$el;
let _this = this;
- new DropZone(container, {
+ this._dz = new DropZone(container, {
addRemoveLinks: true,
dictRemoveFile: trans('components.image_upload_remove'),
url: function() {
}
function data() {
- return {}
+ return {};
}
+const methods = {
+ onClose: function () {
+ this._dz.removeAllFiles(true);
+ }
+};
+
module.exports = {
template,
props,
mounted,
data,
+ methods
};
hide() {
this.showing = false;
+ this.selectedImage = false;
+ this.$refs.dropzone.onClose();
this.$el.children[0].components.overlay.hide();
},
data,
computed,
components: {dropzone},
-};
\ No newline at end of file
+};
<div id="image-manager" image-type="{{ $imageType }}" uploaded-to="{{ $uploaded_to or 0 }}">
- <div overlay v-cloak>
+ <div overlay v-cloak @click="hide()">
<div class="popup-body" @click.stop="">
<div class="popup-header primary-background">
<div class="popup-title">{{ trans('components.image_select') }}</div>
- <button class="overlay-close neg corner-button button">x</button>
+ <button class="overlay-close neg corner-button button" @click="hide()">x</button>
</div>
<div class="flex-fill image-manager-body">
</div>
- <dropzone placeholder="{{ trans('components.image_dropzone') }}" :upload-url="uploadUrl" :uploaded-to="uploadedTo" @success="uploadSuccess"></dropzone>
+ <dropzone ref="dropzone" placeholder="{{ trans('components.image_dropzone') }}" :upload-url="uploadUrl" :uploaded-to="uploadedTo" @success="uploadSuccess"></dropzone>
</div>
</div>