diff --git a/frappe/public/js/frappe/file_uploader/FileUploader.vue b/frappe/public/js/frappe/file_uploader/FileUploader.vue
index a6a1634fe4..18cfabc5ed 100644
--- a/frappe/public/js/frappe/file_uploader/FileUploader.vue
+++ b/frappe/public/js/frappe/file_uploader/FileUploader.vue
@@ -10,7 +10,7 @@
>
- {{ __('Drag and drop files here or') }}
+ {{ __('Drag and drop files here or upload from') }}
{{ __('Link') }}
@@ -180,12 +181,8 @@ export default {
currently_uploading: -1,
show_file_browser: false,
show_web_link: false,
- allow_take_photo: false,
}
},
- created() {
- this.allow_take_photo = window.navigator.mediaDevices;
- },
watch: {
files(newvalue, oldvalue) {
if (!this.allow_multiple && newvalue.length > 1) {
@@ -198,6 +195,9 @@ export default {
return this.files.length > 0
&& this.files.every(
file => file.total !== 0 && file.progress === file.total);
+ },
+ allow_take_photo() {
+ return window.navigator.mediaDevices;
}
},
methods: {
@@ -428,26 +428,24 @@ export default {
xhr.send(form_data);
});
},
- urltoFile(url, filename, mimeType){
- return (fetch(url)
- .then(function(res){return res.arrayBuffer();})
- .then(function(buf){return new File([buf], filename, {type:mimeType});})
- );
- },
capture_image() {
const capture = new frappe.ui.Capture({
animate: false,
error: true
});
-
capture.show();
capture.submit(data_url => {
- let filename = `capture_${frappe.datetime.now_date()}_${frappe.datetime.now_time().replaceAll(":", "-")}.png`;
- this.urltoFile(data_url, filename, 'image/png').then((file) => {
- return this.add_files([file])
- });
+ let filename = `capture_${frappe.datetime.now_datetime().replaceAll(/[: -]/g, '_')}.png`;
+ this.url_to_file(data_url, filename, 'image/png').then((file) =>
+ this.add_files([file])
+ );
});
- }
+ },
+ url_to_file(url, filename, mime_type) {
+ return fetch(url)
+ .then(res => res.arrayBuffer())
+ .then(buffer => new File([buffer], filename, { type: mime_type }));
+ },
}
}