comand-component-library 4.1.44 → 4.1.46

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,19 +3,22 @@
3
3
  <ul>
4
4
  <li v-for="(language, index) in languages" :key="index">
5
5
  <!-- begin link-type 'href' -->
6
- <a v-if="language.link.type === 'href'" :href="language.link.path"
7
- :class="['flag', language.iso2, {'active': activeLanguage(language)}]"
6
+ <a v-if="language.link.type === 'href'"
7
+ :href="language.link.path"
8
+ :class="['flag', language.iso2, {'active': activeLanguage(language.iso2)}]"
8
9
  :title="language.tooltip"
9
- @click="$emit('click', { originalEvent: $event, language} )">
10
+ @click.prevent="changeLanguage(language.iso2, $event)">
10
11
  <img :src="imageSources[index]" :alt="language.name" />
11
12
  </a>
13
+
12
14
  <!-- end link-type 'href' -->
13
15
 
14
16
  <!-- begin link-type 'router' -->
15
17
  <router-link v-else
18
+ :to="getRoute(language)"
16
19
  :class="['flag', language.iso2]"
17
- :to="getRoute(language)" :title="language.tooltip"
18
- @click="$emit('click', { originalEvent: $event, language})">
20
+ :title="language.tooltip"
21
+ @click.prevent="changeLanguage(language.iso2, $event)">
19
22
  <img :src="imageSources[index]" :alt="language.name" />
20
23
  </router-link>
21
24
  <!-- end link-type 'router' -->
@@ -27,12 +30,15 @@
27
30
  <script>
28
31
  import {getRoute} from '../utilities.js'
29
32
  import * as flags from "../assets/images/flags"
33
+ import {switchLanguage} from "@/assets/data/export-data.js";
34
+
30
35
  export default {
31
36
  name: "CmdSwitchLanguage",
32
37
  emits: ["click"],
33
38
  data() {
34
39
  return {
35
- imageSources: []
40
+ imageSources: [],
41
+ currentLanguage: ""
36
42
  }
37
43
  },
38
44
  props: {
@@ -44,12 +50,30 @@ export default {
44
50
  required: true
45
51
  }
46
52
  },
53
+ mounted() {
54
+ this.getInitialLanguage()
55
+ },
47
56
  methods: {
57
+ switchLanguage,
58
+ getInitialLanguage() {
59
+ // assign initially set value for lang in html-tag to data-property
60
+ this.currentLanguage = document.documentElement.lang
61
+ },
48
62
  getRoute(language) {
49
63
  return getRoute(language)
50
64
  },
51
- activeLanguage(language) {
52
- return language.active
65
+ activeLanguage(iso2) {
66
+ return this.currentLanguage === iso2
67
+ },
68
+ changeLanguage(iso2, event) {
69
+ // set selected language as current language (in data-property)
70
+ this.currentLanguage = iso2
71
+
72
+ // set selected language as value for lang in html-tag
73
+ document.documentElement.lang = iso2
74
+
75
+ // emit original event
76
+ this.$emit("click", { originalEvent: event, iso2} )
53
77
  }
54
78
  },
55
79
  watch: {
@@ -62,13 +86,13 @@ export default {
62
86
  const isoCode = item.iso2
63
87
 
64
88
  // get path of current flag
65
- // const path = "../assets/images/flags/flag-" + isoCode + ".svg"
89
+ // const path = "../assets/images/flags/flag-" + isoCode + ".svg"
66
90
 
67
91
  // assign value of imported file (returns object with default-key)
68
- //const { default: dynamicImage } = await import(/* @vite-ignore */ path)
92
+ // const { default: dynamicImage } = await import(/* @vite-ignore */ path)
69
93
 
70
94
  // push image to data-property-array
71
- // this.imageSources.push(dynamicImage)
95
+ // this.imageSources.push(dynamicImage)
72
96
  this.imageSources.push(flags[isoCode].default)
73
97
  }
74
98
  )
@@ -92,13 +116,13 @@ export default {
92
116
  list-style-type: none;
93
117
  margin: 0;
94
118
 
95
- a:not([class*="active"]) {
119
+ a {
96
120
  filter: contrast(.6);
121
+ padding: 0; /* overwrite default settings from frontend-framework for .active */
122
+ background: none; /* overwrite default settings from frontend-framework for .active */
97
123
 
98
124
  &:hover, &:focus-visible, &:active, &.active, &.router-link-active {
99
125
  filter: none;
100
- padding: 0; /* overwrite default settings from frontend-framework for .active */
101
- background: none; /* overwrite default settings from frontend-framework for .active */
102
126
  }
103
127
  }
104
128
  }
@@ -1,4 +1,4 @@
1
- import {openFancyBox} from "comand-component-library"
1
+ import {openFancyBox} from "../components/CmdFancyBox.vue"
2
2
 
3
3
  function addClickHandlerToFancyboxLinks(fancyboxLinks) {
4
4
  for(let i = 0; i < fancyboxLinks.length; i++) {