From 47ac923b3e91e523b4fddb0767111345ae2f34f1 Mon Sep 17 00:00:00 2001 From: MitulDavid Date: Mon, 2 Aug 2021 18:22:44 +0530 Subject: [PATCH] feat: Image cropping --- frappe/public/icons/timeless/symbol-defs.svg | 6 ++ .../js/frappe/file_uploader/FilePreview.vue | 23 +++++- .../js/frappe/file_uploader/FileUploader.vue | 37 ++++++++- .../js/frappe/file_uploader/ImageCropper.vue | 77 +++++++++++++++++++ .../public/js/frappe/file_uploader/index.js | 23 ++++++ .../public/js/frappe/form/controls/attach.js | 14 +++- .../js/frappe/form/sidebar/user_image.js | 2 +- frappe/public/scss/desk/form.scss | 1 + package.json | 1 + yarn.lock | 5 ++ 10 files changed, 182 insertions(+), 7 deletions(-) create mode 100644 frappe/public/js/frappe/file_uploader/ImageCropper.vue diff --git a/frappe/public/icons/timeless/symbol-defs.svg b/frappe/public/icons/timeless/symbol-defs.svg index 5e52336bfa..e48dba362f 100644 --- a/frappe/public/icons/timeless/symbol-defs.svg +++ b/frappe/public/icons/timeless/symbol-defs.svg @@ -699,4 +699,10 @@ + + + + + + diff --git a/frappe/public/js/frappe/file_uploader/FilePreview.vue b/frappe/public/js/frappe/file_uploader/FilePreview.vue index cca7dfde2a..3ce0a3d30d 100644 --- a/frappe/public/js/frappe/file_uploader/FilePreview.vue +++ b/frappe/public/js/frappe/file_uploader/FilePreview.vue @@ -40,7 +40,10 @@ />
- +
+ + +
@@ -89,6 +92,10 @@ export default { is_image() { return this.file.file_obj.type.startsWith('image'); }, + is_cropable() { + let croppable_types = ['image/jpeg', 'image/png']; + return !this.uploaded && !this.file.uploading && croppable_types.includes(this.file.file_obj.type); + }, progress() { let value = Math.round((this.file.progress * 100) / this.file.total); if (isNaN(value)) { @@ -173,4 +180,18 @@ export default { padding: var(--padding-xs); box-shadow: none; } + +.file-action-buttons { + display: flex; + justify-content: flex-end; +} + +.muted { + opacity: 0.5; + transition: 0.3s; +} + +.muted:hover { + opacity: 1; +} diff --git a/frappe/public/js/frappe/file_uploader/FileUploader.vue b/frappe/public/js/frappe/file_uploader/FileUploader.vue index 06f9275711..92c38dfe8e 100644 --- a/frappe/public/js/frappe/file_uploader/FileUploader.vue +++ b/frappe/public/js/frappe/file_uploader/FileUploader.vue @@ -46,7 +46,7 @@
{{ __('Library') }}
-