diff --git a/src/components/PhotoCropper.vue b/src/components/PhotoCropper.vue
index f5d4e80..5ee135e 100644
--- a/src/components/PhotoCropper.vue
+++ b/src/components/PhotoCropper.vue
@@ -10,17 +10,23 @@
ref="cropper"
/>
-
+
- lock aspect ratio to flip chart size?
+ Options
+
+ rotate by {{ rotate_angle }}°
+
+ lock aspect ratio to flip chart size
+ free transform handles
@@ -45,7 +51,9 @@ export default {
return {
preview_data_url: null,
lock_aspect_ratio: true,
- bbox: []
+ free_transform: false,
+ bbox: [],
+ rotate_angle: 0,
}
},
computed: {
@@ -83,21 +91,52 @@ export default {
this.preview_data_url = canvas.toDataURL()
this.bbox = this.coordinates_to_bbox(coordinates)
},
+ update_rotate() {
+ this.$refs.cropper.appliedImageTransforms= {
+ rotate: this.rotate_angle,
+ flip: {
+ horizontal: false,
+ vertical: false,
+ },
+ }
+ },
getResult() {
- return JSON.parse(JSON.stringify(this.bbox))
+ return {
+ bbox: JSON.parse(JSON.stringify(this.bbox)),
+ rotate: -this.rotate_angle
+ }
}
}
}
\ No newline at end of file
diff --git a/src/components/PhotoSelectModal.vue b/src/components/PhotoSelectModal.vue
index 4f7b022..a9ed27b 100644
--- a/src/components/PhotoSelectModal.vue
+++ b/src/components/PhotoSelectModal.vue
@@ -31,7 +31,7 @@
@@ -248,11 +248,14 @@ export default {
}
},
changeCrop() {
- let bbox = this.$refs.cropper.getResult()
+ let results = this.$refs.cropper.getResult()
+ let bbox = results.bbox
+ let rotate = results.rotate
if (bbox && this.current_photo) {
this.$store.dispatch('updatePhoto', {
id: this.current_photo,
- bbox_coords: bbox
+ bbox_coords: bbox,
+ rotate: rotate
}).then(()=>{
setTimeout(()=>{
this.$store.dispatch('cropPhoto', {