diff --git a/Makefile b/Makefile index 61b89c51f..f1255c94f 100644 --- a/Makefile +++ b/Makefile @@ -40,6 +40,8 @@ build-js: (cd frontend && env NODE_ENV=production npm run build) build-go: scripts/build.sh debug $(BINARY_NAME) +watch-js: + (cd frontend && env NODE_ENV=development npm run dev) test-js: (cd frontend && env NODE_ENV=development npm run test) test-chromium: diff --git a/frontend/src/css/photos.css b/frontend/src/css/photos.css index 554a5ce68..3c55fc3b2 100644 --- a/frontend/src/css/photos.css +++ b/frontend/src/css/photos.css @@ -28,3 +28,8 @@ #photoprism .p-photo-list .v-datatable { border-radius: 10px; } + +#photoprism .p-photo-menu { + right: 8px; + bottom: 8px; +} diff --git a/frontend/src/pages/photos.vue b/frontend/src/pages/photos.vue index a69ee6d3c..b2f4b3c80 100644 --- a/frontend/src/pages/photos.vue +++ b/frontend/src/pages/photos.vue @@ -79,9 +79,9 @@ bottom right direction="top" - open-on-hover + v-model="menuVisible" transition="slide-y-reverse-transition" - style="right: 8px; bottom: 8px;" + class="p-photo-menu" > menu {{ selected.length }} + + clear + favorite @@ -132,6 +143,7 @@ dark small color="delete" + @click.stop="batchDelete()" > delete @@ -379,6 +391,7 @@ 'pageSize': 60, 'offset': 0, 'loadMoreDisabled': true, + 'menuVisible': false, 'submitTimeout': false, 'selected': [], 'dialog': false, @@ -414,8 +427,15 @@ }; }, methods: { + batchLike() { + this.menuVisible = false; + }, + batchDelete() { + this.menuVisible = false; + }, clearSelection() { this.selected = []; + this.menuVisible = false; }, selectPhoto(photo) { const index = this.selected.indexOf(photo.ID);