diff options
Diffstat (limited to 'viewer/src/components/LdBreadcrumb.vue')
-rw-r--r-- | viewer/src/components/LdBreadcrumb.vue | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/viewer/src/components/LdBreadcrumb.vue b/viewer/src/components/LdBreadcrumb.vue index 618b15a..d518365 100644 --- a/viewer/src/components/LdBreadcrumb.vue +++ b/viewer/src/components/LdBreadcrumb.vue | |||
@@ -21,14 +21,15 @@ | |||
21 | <div | 21 | <div |
22 | ref="breadcrumb" | 22 | ref="breadcrumb" |
23 | v-dragscroll | 23 | v-dragscroll |
24 | class="ld-breadcrumb flex scrollbar" | 24 | class="flex scrollbar" |
25 | :class="$style.ldBreadcrumb" | ||
25 | @click.capture="e => dragScrollClickFix.onClickCapture(e)" | 26 | @click.capture="e => dragScrollClickFix.onClickCapture(e)" |
26 | @dragscrollstart="dragScrollClickFix.onDragScrollStart()" | 27 | @dragscrollstart="dragScrollClickFix.onDragScrollStart()" |
27 | @dragscrollend="dragScrollClickFix.onDragScrollEnd()" | 28 | @dragscrollend="dragScrollClickFix.onDragScrollEnd()" |
28 | @dragscrollmove="checkForOverflowMask" | 29 | @dragscrollmove="checkForOverflowMask" |
29 | > | 30 | > |
30 | <div v-show="overflowMask" class="ld-breadcrumb-overflow-mask"></div> | 31 | <div v-show="overflowMask" :class="$style.ldBreadcrumbOverflowMask"></div> |
31 | <ul class="ld-breadcrumb"> | 32 | <ul> |
32 | <li v-for="(item, idx) in currentItemPath" :key="item.path"> | 33 | <li v-for="(item, idx) in currentItemPath" :key="item.path"> |
33 | <fa-icon v-if="idx > 0" icon="angle-right" class="disabled" /> | 34 | <fa-icon v-if="idx > 0" icon="angle-right" class="disabled" /> |
34 | <router-link :to="item.path" class="link"> | 35 | <router-link :to="item.path" class="link"> |
@@ -47,13 +48,14 @@ | |||
47 | </template> | 48 | </template> |
48 | 49 | ||
49 | <script lang="ts"> | 50 | <script lang="ts"> |
50 | import { Component, Vue, Ref, Watch, Prop } from "vue-property-decorator"; | 51 | import { Item } from "@/@types/gallery"; |
51 | import DragScrollClickFix from "@/services/dragscrollclickfix"; | 52 | import DragScrollClickFix from "@/services/dragscrollclickfix"; |
52 | import Navigation from "@/services/navigation"; | 53 | import Navigation from "@/services/navigation"; |
54 | import { Component, Prop, Ref, Vue, Watch } from "vue-property-decorator"; | ||
53 | 55 | ||
54 | @Component | 56 | @Component |
55 | export default class LdBreadcrumb extends Vue { | 57 | export default class LdBreadcrumb extends Vue { |
56 | @Prop({ type: Array, required: true }) readonly currentItemPath!: Gallery.Item[]; | 58 | @Prop({ type: Array, required: true }) readonly currentItemPath!: Item[]; |
57 | @Prop(Boolean) readonly searchMode!: boolean; | 59 | @Prop(Boolean) readonly searchMode!: boolean; |
58 | @Ref() readonly breadcrumb!: HTMLUListElement; | 60 | @Ref() readonly breadcrumb!: HTMLUListElement; |
59 | 61 | ||
@@ -82,16 +84,16 @@ export default class LdBreadcrumb extends Vue { | |||
82 | }); | 84 | }); |
83 | } | 85 | } |
84 | 86 | ||
85 | getIcon(item: Gallery.Item) { | 87 | getIcon(item: Item) { |
86 | return Navigation.getIcon(item); | 88 | return Navigation.getIcon(item); |
87 | } | 89 | } |
88 | } | 90 | } |
89 | </script> | 91 | </script> |
90 | 92 | ||
91 | <style lang="scss"> | 93 | <style lang="scss" module> |
92 | @import "~@/assets/scss/theme.scss"; | 94 | @import "~@/assets/scss/theme.scss"; |
93 | 95 | ||
94 | .ld-breadcrumb-overflow-mask { | 96 | .ldBreadcrumbOverflowMask { |
95 | position: absolute; | 97 | position: absolute; |
96 | width: 100%; | 98 | width: 100%; |
97 | height: 100%; | 99 | height: 100%; |
@@ -103,7 +105,7 @@ export default class LdBreadcrumb extends Vue { | |||
103 | pointer-events: none; | 105 | pointer-events: none; |
104 | } | 106 | } |
105 | 107 | ||
106 | .ld-breadcrumb { | 108 | .ldBreadcrumb { |
107 | ul { | 109 | ul { |
108 | display: flex; | 110 | display: flex; |
109 | white-space: nowrap; | 111 | white-space: nowrap; |
@@ -116,7 +118,7 @@ export default class LdBreadcrumb extends Vue { | |||
116 | align-self: center; | 118 | align-self: center; |
117 | margin-right: $breadcrumb-margins; | 119 | margin-right: $breadcrumb-margins; |
118 | } | 120 | } |
119 | &.scrollbar { | 121 | &:global(.scrollbar) { |
120 | overflow-y: hidden; | 122 | overflow-y: hidden; |
121 | scrollbar-width: none; | 123 | scrollbar-width: none; |
122 | &::-webkit-scrollbar { | 124 | &::-webkit-scrollbar { |