diff options
author | Zero~Informatique | 2020-02-27 17:23:32 +0100 |
---|---|---|
committer | Zero~Informatique | 2020-02-27 17:53:41 +0100 |
commit | 7c2a2ff46469d5e8f44fb3ec7feae5f798e0baf8 (patch) | |
tree | 9b4c12bd263013687f8cec3f0002122bd458aa49 /viewer/src/components | |
parent | d862c99d6ee74f25261c00fcfee3a6e551501f16 (diff) | |
download | ldgallery-7c2a2ff46469d5e8f44fb3ec7feae5f798e0baf8.tar.gz |
viewer: architectural fixes and improvements
Make use of VueX's strict mode (which is different from vuex-class-component strict mode)
Fixed issues and bad-practices with search filter tags mutations
Correctly implement the new index.json format
Diffstat (limited to 'viewer/src/components')
-rw-r--r-- | viewer/src/components/LdBreadcrumb.vue | 2 | ||||
-rw-r--r-- | viewer/src/components/LdCommand.vue | 2 | ||||
-rw-r--r-- | viewer/src/components/LdProposition.vue | 4 | ||||
-rw-r--r-- | viewer/src/components/LdTagInput.vue | 4 |
4 files changed, 6 insertions, 6 deletions
diff --git a/viewer/src/components/LdBreadcrumb.vue b/viewer/src/components/LdBreadcrumb.vue index 2ac1216..2b45b71 100644 --- a/viewer/src/components/LdBreadcrumb.vue +++ b/viewer/src/components/LdBreadcrumb.vue | |||
@@ -53,7 +53,7 @@ import Navigation from "@/services/navigation"; | |||
53 | 53 | ||
54 | @Component | 54 | @Component |
55 | export default class LdBreadcrumb extends Vue { | 55 | export default class LdBreadcrumb extends Vue { |
56 | @Prop({ required: true }) readonly currentItemPath!: Gallery.Item[]; | 56 | @Prop({ type: Array, required: true }) readonly currentItemPath!: Gallery.Item[]; |
57 | @Prop(Boolean) readonly searchMode!: boolean; | 57 | @Prop(Boolean) readonly searchMode!: boolean; |
58 | @Ref() readonly breadcrumb!: HTMLUListElement; | 58 | @Ref() readonly breadcrumb!: HTMLUListElement; |
59 | 59 | ||
diff --git a/viewer/src/components/LdCommand.vue b/viewer/src/components/LdCommand.vue index 367e08f..398107e 100644 --- a/viewer/src/components/LdCommand.vue +++ b/viewer/src/components/LdCommand.vue | |||
@@ -44,7 +44,7 @@ import { RawLocation } from "vue-router"; | |||
44 | 44 | ||
45 | @Component | 45 | @Component |
46 | export default class LdCommand extends Vue { | 46 | export default class LdCommand extends Vue { |
47 | @Prop({ required: true }) readonly currentItemPath!: Gallery.Item[]; | 47 | @Prop({ type: Array, required: true }) readonly currentItemPath!: Gallery.Item[]; |
48 | 48 | ||
49 | commandToggleSearchPanelIcon(): string { | 49 | commandToggleSearchPanelIcon(): string { |
50 | return this.$uiStore.fullWidth ? "search" : "angle-double-left"; | 50 | return this.$uiStore.fullWidth ? "search" : "angle-double-left"; |
diff --git a/viewer/src/components/LdProposition.vue b/viewer/src/components/LdProposition.vue index 7f6521f..375c482 100644 --- a/viewer/src/components/LdProposition.vue +++ b/viewer/src/components/LdProposition.vue | |||
@@ -49,14 +49,14 @@ | |||
49 | </template> | 49 | </template> |
50 | 50 | ||
51 | <script lang="ts"> | 51 | <script lang="ts"> |
52 | import { Component, Vue, Model, Prop } from "vue-property-decorator"; | 52 | import { Component, Vue, Prop, PropSync } from "vue-property-decorator"; |
53 | import { Operation } from "@/@types/Operation"; | 53 | import { Operation } from "@/@types/Operation"; |
54 | 54 | ||
55 | @Component | 55 | @Component |
56 | export default class LdProposition extends Vue { | 56 | export default class LdProposition extends Vue { |
57 | @Prop({ type: Array, required: true }) readonly currentTags!: string[]; | 57 | @Prop({ type: Array, required: true }) readonly currentTags!: string[]; |
58 | @Prop({ required: true }) readonly tagsIndex!: Tag.Index; | 58 | @Prop({ required: true }) readonly tagsIndex!: Tag.Index; |
59 | @Model() model!: Tag.Search[]; | 59 | @PropSync("searchFilters", { type: Array, required: true }) model!: Tag.Search[]; |
60 | 60 | ||
61 | get Operation() { | 61 | get Operation() { |
62 | return Operation; | 62 | return Operation; |
diff --git a/viewer/src/components/LdTagInput.vue b/viewer/src/components/LdTagInput.vue index ad0845e..b2a2c58 100644 --- a/viewer/src/components/LdTagInput.vue +++ b/viewer/src/components/LdTagInput.vue | |||
@@ -38,7 +38,7 @@ | |||
38 | </template> | 38 | </template> |
39 | 39 | ||
40 | <script lang="ts"> | 40 | <script lang="ts"> |
41 | import { Component, Vue, Model, Prop } from "vue-property-decorator"; | 41 | import { Component, Vue, Prop, PropSync } from "vue-property-decorator"; |
42 | import { Operation } from "@/@types/Operation"; | 42 | import { Operation } from "@/@types/Operation"; |
43 | import Navigation from "@/services/navigation"; | 43 | import Navigation from "@/services/navigation"; |
44 | import IndexFactory from "@/services/indexfactory"; | 44 | import IndexFactory from "@/services/indexfactory"; |
@@ -46,7 +46,7 @@ import IndexFactory from "@/services/indexfactory"; | |||
46 | @Component | 46 | @Component |
47 | export default class LdTagInput extends Vue { | 47 | export default class LdTagInput extends Vue { |
48 | @Prop({ required: true }) readonly tagsIndex!: Tag.Index; | 48 | @Prop({ required: true }) readonly tagsIndex!: Tag.Index; |
49 | @Model() model!: Tag.Search[]; | 49 | @PropSync("searchFilters", { type: Array, required: true }) model!: Tag.Search[]; |
50 | 50 | ||
51 | filteredTags: Tag.Search[] = []; | 51 | filteredTags: Tag.Search[] = []; |
52 | 52 | ||