diff --git a/src/assets/handler.svg b/src/assets/handler.svg new file mode 100644 index 0000000..dd1cfd5 --- /dev/null +++ b/src/assets/handler.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/FreeSnapStencil.vue b/src/components/FreeSnapStencil.vue new file mode 100644 index 0000000..68b6dac --- /dev/null +++ b/src/components/FreeSnapStencil.vue @@ -0,0 +1,136 @@ + + + + + \ No newline at end of file diff --git a/src/components/PhotoCropper.vue b/src/components/PhotoCropper.vue index 5ee135e..39d34e9 100644 --- a/src/components/PhotoCropper.vue +++ b/src/components/PhotoCropper.vue @@ -3,8 +3,9 @@ lock aspect ratio to flip chart size free transform handles + snap to intersections @@ -34,39 +36,103 @@ \ No newline at end of file diff --git a/src/views/ManagePhotos.vue b/src/views/ManagePhotos.vue index 29241f8..21f5e7a 100644 --- a/src/views/ManagePhotos.vue +++ b/src/views/ManagePhotos.vue @@ -11,7 +11,10 @@ :name="group.id"> -

loading...

+
+

loading...

+

no photos in group found

+
@@ -148,6 +152,7 @@ export default { data() { return { current_photo: null, + current_photo_intersections: null, showChangeGroupModal: false, showCropModal: false, @@ -157,6 +162,8 @@ export default { new_group: null, current_ocr_text: '', current_photo_src: null, + + is_group_loading: new Map(), } }, computed: { @@ -199,8 +206,10 @@ export default { }, methods: { loadPhotosInGroup(group_data) { + this.is_group_loading.set(group_data.name, true) if (group_data.expanded) this.$store.dispatch('loadPhotosInGroup', group_data.name) + .finally(() => this.is_group_loading.set(group_data.name, false)) }, getPhotoSrcById(photo_id){ for (const index in this.photos) { @@ -221,7 +230,9 @@ export default { change_crop_modal(photo_id) { this.current_photo = photo_id this.showCropModal = true - this.current_photo_src = this.$store.getters.photoById(photo_id).original_image + let photo = this.$store.getters.photoById(photo_id) + this.current_photo_src = photo.original_image + this.current_photo_intersections = photo.intersections }, change_ocr_modal(photo_id) { this.current_photo = photo_id