aboutsummaryrefslogtreecommitdiff
path: root/viewer/src/components/LdBreadcrumb.vue
diff options
context:
space:
mode:
Diffstat (limited to 'viewer/src/components/LdBreadcrumb.vue')
-rw-r--r--viewer/src/components/LdBreadcrumb.vue22
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">
50import { Component, Vue, Ref, Watch, Prop } from "vue-property-decorator"; 51import { Item } from "@/@types/gallery";
51import DragScrollClickFix from "@/services/dragscrollclickfix"; 52import DragScrollClickFix from "@/services/dragscrollclickfix";
52import Navigation from "@/services/navigation"; 53import Navigation from "@/services/navigation";
54import { Component, Prop, Ref, Vue, Watch } from "vue-property-decorator";
53 55
54@Component 56@Component
55export default class LdBreadcrumb extends Vue { 57export 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 {