From 847be08a9bbd642c8edf3be15e2f4b3b7e4870a0 Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Wed, 11 Nov 2020 21:53:41 +0530 Subject: [PATCH] feat: File Uploader (wip) --- .../js/frappe/file_uploader/FilePreview.vue | 144 ++++++++++++------ .../js/frappe/file_uploader/FileUploader.vue | 123 ++++++++------- .../js/frappe/file_uploader/ProgressRing.vue | 76 +++++++++ .../public/js/frappe/file_uploader/index.js | 12 +- 4 files changed, 247 insertions(+), 108 deletions(-) create mode 100644 frappe/public/js/frappe/file_uploader/ProgressRing.vue diff --git a/frappe/public/js/frappe/file_uploader/FilePreview.vue b/frappe/public/js/frappe/file_uploader/FilePreview.vue index 08c38d60f5..7161dc8dc5 100644 --- a/frappe/public/js/frappe/file_uploader/FilePreview.vue +++ b/frappe/public/js/frappe/file_uploader/FilePreview.vue @@ -1,51 +1,57 @@ - diff --git a/frappe/public/js/frappe/file_uploader/FileUploader.vue b/frappe/public/js/frappe/file_uploader/FileUploader.vue index f8d9253931..714fa49d2a 100644 --- a/frappe/public/js/frappe/file_uploader/FileUploader.vue +++ b/frappe/public/js/frappe/file_uploader/FileUploader.vue @@ -5,38 +5,56 @@ @drop.prevent="dropfiles" >
-
- {{ __('Drag and drop files, ') }} - - - {{ __('choose an') }} - - {{ __('uploaded file') }} - - - {{ __('or attach a') }} - + {{ __('Drag and drop files here or') }} +
+
+ + - {{ __('web link') }} - + +
{{ upload_notes }} @@ -47,15 +65,15 @@
-
+ +
-
- - -
-
-
-
-
file.private); + } this.files = this.files.map(file => { file.private = flag; return file; @@ -425,6 +422,20 @@ export default { diff --git a/frappe/public/js/frappe/file_uploader/ProgressRing.vue b/frappe/public/js/frappe/file_uploader/ProgressRing.vue new file mode 100644 index 0000000000..9e57cf40ef --- /dev/null +++ b/frappe/public/js/frappe/file_uploader/ProgressRing.vue @@ -0,0 +1,76 @@ + + + diff --git a/frappe/public/js/frappe/file_uploader/index.js b/frappe/public/js/frappe/file_uploader/index.js index 62a7bff822..3de2037f30 100644 --- a/frappe/public/js/frappe/file_uploader/index.js +++ b/frappe/public/js/frappe/file_uploader/index.js @@ -60,17 +60,13 @@ export default class FileUploader { make_dialog() { this.dialog = new frappe.ui.Dialog({ title: 'Upload', - fields: [ - { - fieldtype: 'HTML', - fieldname: 'upload_area' - } - ], primary_action_label: __('Upload'), - primary_action: () => this.upload_files() + primary_action: () => this.upload_files(), + secondary_action_label: __('Toggle Private'), + secondary_action: () => this.uploader.toggle_all_private() }); - this.wrapper = this.dialog.fields_dict.upload_area.$wrapper[0]; + this.wrapper = this.dialog.body; this.dialog.show(); this.dialog.$wrapper.on('hidden.bs.modal', function() { $(this).data('bs.modal', null);