From 914aa63cb65f869be9b1707c160847be16f79a68 Mon Sep 17 00:00:00 2001
From: Zero~Informatique
Date: Fri, 31 Jan 2020 06:55:37 +0100
Subject: viewer: unified CSS classes to kebab case
---
viewer/src/components/LdTagInput.vue | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'viewer/src/components')
diff --git a/viewer/src/components/LdTagInput.vue b/viewer/src/components/LdTagInput.vue
index ff354c6..7bbecec 100644
--- a/viewer/src/components/LdTagInput.vue
+++ b/viewer/src/components/LdTagInput.vue
@@ -28,7 +28,7 @@
field="display"
type="is-black"
size="is-medium"
- class="panelTagInput"
+ class="paneltag-input"
@typing="searchTags"
@add="onAdd"
@remove="onRemove"
@@ -119,7 +119,7 @@ export default class LdTagInput extends Vue {
--
cgit v1.2.3
From a7d459a2620fa9523dd7ce8c9de519133ad5b1b7 Mon Sep 17 00:00:00 2001
From: Zero~Informatique
Date: Fri, 31 Jan 2020 08:01:23 +0100
Subject: viewer: tag propositions depend on current's directory. resolves #22
---
viewer/src/components/LdProposition.vue | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
(limited to 'viewer/src/components')
diff --git a/viewer/src/components/LdProposition.vue b/viewer/src/components/LdProposition.vue
index 02f7fe4..a380021 100644
--- a/viewer/src/components/LdProposition.vue
+++ b/viewer/src/components/LdProposition.vue
@@ -56,8 +56,10 @@ export default class LdTagInput extends Vue {
.filter(rawTag => !currentTags.find(currentTag => currentTag.tag === rawTag))
.forEach(rawTag => (propositions[rawTag] = (propositions[rawTag] ?? 0) + 1));
} else {
- // Tags count from the whole gallery
- Object.entries(this.$galleryStore.tags).forEach(entry => (propositions[entry[0]] = entry[1].items.length));
+ // Tags count from the current directory
+ this.$galleryStore.currentItem?.tags
+ .map(tag => this.$galleryStore.tags[tag]) // FIXME: Folders with the same name are merged in the index
+ .forEach(tagindex => (propositions[tagindex.tag] = tagindex.items.length));
}
return Object.entries(propositions)
--
cgit v1.2.3
From 170da2d55fec0359cbac780786383710b734eda7 Mon Sep 17 00:00:00 2001
From: Zero~Informatique
Date: Fri, 31 Jan 2020 09:17:57 +0100
Subject: viewer: code cleaning, moved some views to components
---
viewer/src/components/LdBreadcrumb.vue | 58 +++++++++++++++++++++++
viewer/src/components/LdCommand.vue | 68 +++++++++++++++++++++++++++
viewer/src/components/LdPicture.vue | 74 ++++++++++++++++++++++++++++++
viewer/src/components/LdProposition.vue | 4 +-
viewer/src/components/LdTagInput.vue | 2 +-
viewer/src/components/LdThumbnail.vue | 81 +++++++++++++++++++++++++++++++++
6 files changed, 284 insertions(+), 3 deletions(-)
create mode 100644 viewer/src/components/LdBreadcrumb.vue
create mode 100644 viewer/src/components/LdCommand.vue
create mode 100644 viewer/src/components/LdPicture.vue
create mode 100644 viewer/src/components/LdThumbnail.vue
(limited to 'viewer/src/components')
diff --git a/viewer/src/components/LdBreadcrumb.vue b/viewer/src/components/LdBreadcrumb.vue
new file mode 100644
index 0000000..8c5b7eb
--- /dev/null
+++ b/viewer/src/components/LdBreadcrumb.vue
@@ -0,0 +1,58 @@
+
+
+
+
+ -
+
+
+ {{item.title}}
+
+
+
+
+
+
+
+
+
diff --git a/viewer/src/components/LdCommand.vue b/viewer/src/components/LdCommand.vue
new file mode 100644
index 0000000..484e56a
--- /dev/null
+++ b/viewer/src/components/LdCommand.vue
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/viewer/src/components/LdPicture.vue b/viewer/src/components/LdPicture.vue
new file mode 100644
index 0000000..b6a719f
--- /dev/null
+++ b/viewer/src/components/LdPicture.vue
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/viewer/src/components/LdProposition.vue b/viewer/src/components/LdProposition.vue
index a380021..6be0aee 100644
--- a/viewer/src/components/LdProposition.vue
+++ b/viewer/src/components/LdProposition.vue
@@ -37,10 +37,10 @@
+
+
--
cgit v1.2.3
From 2d48a8f15970d7af8092e9450057a05b4d3f9333 Mon Sep 17 00:00:00 2001
From: Zero~Informatique
Date: Fri, 31 Jan 2020 13:22:52 +0100
Subject: viewer: when loading a picture, displays a preview based on the
thumbnail on slow connections This works on Chrome, but FireFox presents some
issues: - the picture background is sometimes white instead of transparent,
hidding the background - image-orientation doesn't work for background
pictures or for negative values
---
viewer/src/components/LdPicture.vue | 49 +++++++++++++++++++++++++++++++++++--
1 file changed, 47 insertions(+), 2 deletions(-)
(limited to 'viewer/src/components')
diff --git a/viewer/src/components/LdPicture.vue b/viewer/src/components/LdPicture.vue
index b6a719f..5425a00 100644
--- a/viewer/src/components/LdPicture.vue
+++ b/viewer/src/components/LdPicture.vue
@@ -25,7 +25,13 @@
@click="onClick"
@dragscrollstart="dragging=true"
>
-
+
+
@@ -36,12 +42,35 @@ import { Component, Vue, Prop } from "vue-property-decorator";
export default class LdPicture extends Vue {
@Prop({ required: true }) readonly picture!: Gallery.Picture;
+ readonly SLOW_LOADING_TIMEOUT_MS: number = 1500;
+
dragging: boolean = false;
+ slowLoadingStyle: string | null = null;
+ timer: NodeJS.Timeout | null = null;
+
+ mounted() {
+ if (this.picture.thumbnail) this.timer = setTimeout(this.generateSlowLoadingStyle, this.SLOW_LOADING_TIMEOUT_MS);
+ }
+
+ destroyed() {
+ this.clearTimer();
+ }
+
+ clearTimer() {
+ if (this.timer) clearTimeout(this.timer);
+ this.timer = null;
+ this.slowLoadingStyle = null;
+ }
- get pictureSrc() {
+ pictureSrc() {
return `${process.env.VUE_APP_DATA_URL}${this.picture.properties.resource}`;
}
+ generateSlowLoadingStyle() {
+ this.clearTimer();
+ this.slowLoadingStyle = `background-image: url('${process.env.VUE_APP_DATA_URL}${this.picture.thumbnail}');`;
+ }
+
onClick() {
if (!this.dragging) this.$uiStore.toggleFullscreen();
this.dragging = false;
@@ -50,6 +79,22 @@ export default class LdPicture extends Vue {
--
cgit v1.2.3