bfg-common 1.3.524 → 1.3.527
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/localization/local_be.json +2 -1
- package/assets/localization/local_en.json +2 -1
- package/assets/localization/local_hy.json +2 -1
- package/assets/localization/local_kk.json +2 -1
- package/assets/localization/local_ru.json +2 -1
- package/assets/localization/local_zh.json +2 -1
- package/components/common/layout/theHeader/TheHeader.vue +5 -2
- package/components/common/layout/theHeader/TheHeaderNew.vue +5 -2
- package/components/common/layout/theHeader/TheHeaderOld.vue +11 -4
- package/components/common/layout/theHeader/userMenu/UserMenu.vue +5 -2
- package/components/common/layout/theHeader/userMenu/modals/preferences/Preferences.vue +5 -2
- package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesNew.vue +6 -3
- package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguageNew.vue +51 -51
- package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/TimeFormatNew.vue +14 -23
- package/components/common/selectLanguage/SelectLanguage.vue +151 -0
- package/components/common/selectLanguage/lib/config/config.ts +34 -0
- package/components/common/selectLanguage/lib/utils/utils.ts +5 -0
- package/package.json +2 -2
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
:is-dark-theme="props.isDarkTheme"
|
|
18
18
|
@toggle-main-menu="emits('toggle-main-menu')"
|
|
19
19
|
@show-preference="emits('show-preference')"
|
|
20
|
+
@reset-preference="emits('reset-preference')"
|
|
20
21
|
@hide-preference="emits('hide-preference')"
|
|
21
22
|
@global-refresh="emits('global-refresh')"
|
|
22
23
|
@update-time-format="emits('update-time-format', $event)"
|
|
@@ -55,6 +56,7 @@
|
|
|
55
56
|
</template>
|
|
56
57
|
|
|
57
58
|
<script setup lang="ts">
|
|
59
|
+
import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
|
|
58
60
|
import type { UI_T_Project } from '~/lib/models/types'
|
|
59
61
|
import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
|
|
60
62
|
|
|
@@ -69,7 +71,7 @@ const props = defineProps<{
|
|
|
69
71
|
hostname: string
|
|
70
72
|
isPreference: boolean
|
|
71
73
|
selectedLanguageType: string
|
|
72
|
-
selectedLang:
|
|
74
|
+
selectedLang: UI_I_Dropdown
|
|
73
75
|
newView: boolean
|
|
74
76
|
newViewLocal: boolean
|
|
75
77
|
timeFormat: string
|
|
@@ -80,10 +82,11 @@ const emits = defineEmits<{
|
|
|
80
82
|
(event: 'toggle-main-menu'): void
|
|
81
83
|
(event: 'global-refresh'): void
|
|
82
84
|
(event: 'show-preference'): void
|
|
85
|
+
(event: 'reset-preference'): void
|
|
83
86
|
(event: 'hide-preference'): void
|
|
84
87
|
(event: 'change-theme-mode'): void
|
|
85
88
|
(event: 'update-time-format', value: UI_T_TimeValue): void
|
|
86
|
-
(event: 'update-language', value:
|
|
89
|
+
(event: 'update-language', value: UI_I_Dropdown): void
|
|
87
90
|
(event: 'update-is-browser', value: string): void
|
|
88
91
|
(event: 'update-is-new-view', value: boolean): void
|
|
89
92
|
(event: 'submit-preferences'): void
|
|
@@ -65,6 +65,7 @@
|
|
|
65
65
|
:new-view="props.newView"
|
|
66
66
|
:project="props.project"
|
|
67
67
|
@show-preference="emits('show-preference')"
|
|
68
|
+
@reset-preference="emits('reset-preference')"
|
|
68
69
|
@hide-preference="emits('hide-preference')"
|
|
69
70
|
@change-theme-mode="emits('change-theme-mode')"
|
|
70
71
|
@update-time-format="emits('update-time-format', $event)"
|
|
@@ -80,6 +81,7 @@
|
|
|
80
81
|
</template>
|
|
81
82
|
|
|
82
83
|
<script setup lang="ts">
|
|
84
|
+
import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
|
|
83
85
|
import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
|
|
84
86
|
import type { UI_T_Project } from '~/lib/models/types'
|
|
85
87
|
|
|
@@ -94,7 +96,7 @@ const props = defineProps<{
|
|
|
94
96
|
hostname: string
|
|
95
97
|
isPreference: boolean
|
|
96
98
|
selectedLanguageType: string
|
|
97
|
-
selectedLang:
|
|
99
|
+
selectedLang: UI_I_Dropdown
|
|
98
100
|
newView: boolean
|
|
99
101
|
timeFormat: string
|
|
100
102
|
isDarkTheme: boolean
|
|
@@ -104,10 +106,11 @@ const emits = defineEmits<{
|
|
|
104
106
|
(event: 'toggle-main-menu'): void
|
|
105
107
|
(event: 'global-refresh'): void
|
|
106
108
|
(event: 'show-preference'): void
|
|
109
|
+
(event: 'reset-preference'): void
|
|
107
110
|
(event: 'hide-preference'): void
|
|
108
111
|
(event: 'change-theme-mode'): void
|
|
109
112
|
(event: 'update-time-format', value: UI_T_TimeValue): void
|
|
110
|
-
(event: 'update-language', value:
|
|
113
|
+
(event: 'update-language', value: UI_I_Dropdown): void
|
|
111
114
|
(event: 'update-is-browser', value: string): void
|
|
112
115
|
(event: 'update-is-new-view', value: boolean): void
|
|
113
116
|
(event: 'submit-preferences'): void
|
|
@@ -68,14 +68,14 @@
|
|
|
68
68
|
:is-preference="props.isPreference"
|
|
69
69
|
:time-format="props.timeFormat"
|
|
70
70
|
:selected-language-type="props.selectedLanguageType"
|
|
71
|
-
:selected-language="props.selectedLang"
|
|
71
|
+
:selected-language="props.selectedLang.value"
|
|
72
72
|
:new-view="props.newView"
|
|
73
73
|
:project="props.project"
|
|
74
74
|
@show-preference="emits('show-preference')"
|
|
75
75
|
@hide-preference="emits('hide-preference')"
|
|
76
76
|
@change-theme-mode="emits('change-theme-mode')"
|
|
77
77
|
@update-time-format="emits('update-time-format', $event)"
|
|
78
|
-
@update-language="
|
|
78
|
+
@update-language="onUpdateLanguage"
|
|
79
79
|
@update-is-browser="emits('update-is-browser', $event)"
|
|
80
80
|
@update-is-new-view="emits('update-is-new-view', $event)"
|
|
81
81
|
@submit-preferences="emits('submit-preferences')"
|
|
@@ -100,8 +100,10 @@
|
|
|
100
100
|
</template>
|
|
101
101
|
|
|
102
102
|
<script setup lang="ts">
|
|
103
|
+
import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
|
|
103
104
|
import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
|
|
104
105
|
import type { UI_T_Project } from '~/lib/models/types'
|
|
106
|
+
import { findInLocals } from '~/components/common/selectLanguage/lib/utils/utils'
|
|
105
107
|
|
|
106
108
|
const props = defineProps<{
|
|
107
109
|
companyName: string
|
|
@@ -114,7 +116,7 @@ const props = defineProps<{
|
|
|
114
116
|
hostname: string
|
|
115
117
|
isPreference: boolean
|
|
116
118
|
selectedLanguageType: string
|
|
117
|
-
selectedLang:
|
|
119
|
+
selectedLang: UI_I_Dropdown
|
|
118
120
|
newView: boolean
|
|
119
121
|
timeFormat: string
|
|
120
122
|
}>()
|
|
@@ -126,12 +128,17 @@ const emits = defineEmits<{
|
|
|
126
128
|
(event: 'hide-preference'): void
|
|
127
129
|
(event: 'change-theme-mode'): void
|
|
128
130
|
(event: 'update-time-format', value: UI_T_TimeValue): void
|
|
129
|
-
(event: 'update-language', value:
|
|
131
|
+
(event: 'update-language', value: UI_I_Dropdown): void
|
|
130
132
|
(event: 'update-is-browser', value: string): void
|
|
131
133
|
(event: 'update-is-new-view', value: boolean): void
|
|
132
134
|
(event: 'submit-preferences'): void
|
|
133
135
|
}>()
|
|
134
136
|
|
|
137
|
+
const onUpdateLanguage = (language: string): void => {
|
|
138
|
+
const languageObj = findInLocals(language)
|
|
139
|
+
emits('update-language', languageObj)
|
|
140
|
+
}
|
|
141
|
+
|
|
135
142
|
const isShowFeedback = ref<boolean>(false)
|
|
136
143
|
</script>
|
|
137
144
|
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
:selected-language="props.selectedLanguage"
|
|
29
29
|
:project="props.project"
|
|
30
30
|
@hide="emits('hide-preference')"
|
|
31
|
+
@reset="emits('reset-preference')"
|
|
31
32
|
@update-time-format="emits('update-time-format', $event)"
|
|
32
33
|
@update-language="emits('update-language', $event)"
|
|
33
34
|
@update-language-type="emits('update-language-type', $event)"
|
|
@@ -39,6 +40,7 @@
|
|
|
39
40
|
</template>
|
|
40
41
|
|
|
41
42
|
<script setup lang="ts">
|
|
43
|
+
import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
|
|
42
44
|
import type { UI_T_LangValue, UI_T_Project } from '~/lib/models/types'
|
|
43
45
|
import type { UI_I_User } from '~/components/common/layout/theHeader/userMenu/lib/models/interfaces'
|
|
44
46
|
import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
|
|
@@ -50,15 +52,16 @@ const props = defineProps<{
|
|
|
50
52
|
newView: boolean
|
|
51
53
|
timeFormat: UI_T_TimeValue
|
|
52
54
|
selectedLanguageType: UI_T_LangValue
|
|
53
|
-
selectedLanguage:
|
|
55
|
+
selectedLanguage: UI_I_Dropdown
|
|
54
56
|
userFromStore?: UI_I_User
|
|
55
57
|
}>()
|
|
56
58
|
const emits = defineEmits<{
|
|
57
59
|
(event: 'show-preference'): void
|
|
60
|
+
(event: 'reset-preference'): void
|
|
58
61
|
(event: 'hide-preference'): void
|
|
59
62
|
(event: 'change-theme-mode'): void
|
|
60
63
|
(event: 'update-time-format', value: UI_T_TimeValue): void
|
|
61
|
-
(event: 'update-language', value:
|
|
64
|
+
(event: 'update-language', value: UI_I_Dropdown): void
|
|
62
65
|
(event: 'update-language-type', value: string): void
|
|
63
66
|
(event: 'update-is-browser', value: string): void
|
|
64
67
|
(event: 'update-is-new-view', value: boolean): void
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
:selected-language-type="props.selectedLanguageType"
|
|
9
9
|
:selected-language="props.selectedLanguage"
|
|
10
10
|
@hide="emits('hide')"
|
|
11
|
+
@reset="emits('reset')"
|
|
11
12
|
@update-time-format="emits('update-time-format', $event)"
|
|
12
13
|
@update-language="emits('update-language', $event)"
|
|
13
14
|
@update-language-type="emits('update-language-type', $event)"
|
|
@@ -34,6 +35,7 @@
|
|
|
34
35
|
</template>
|
|
35
36
|
|
|
36
37
|
<script setup lang="ts">
|
|
38
|
+
import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
|
|
37
39
|
import type { UI_T_LangValue, UI_T_Project } from '~/lib/models/types'
|
|
38
40
|
import type { UI_I_User } from '~/components/common/layout/theHeader/userMenu/lib/models/interfaces'
|
|
39
41
|
import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
|
|
@@ -44,15 +46,16 @@ const props = defineProps<{
|
|
|
44
46
|
user?: UI_I_User
|
|
45
47
|
newView: boolean
|
|
46
48
|
selectedLanguageType: UI_T_LangValue
|
|
47
|
-
selectedLanguage:
|
|
49
|
+
selectedLanguage: UI_I_Dropdown
|
|
48
50
|
isNewView: boolean
|
|
49
51
|
}>()
|
|
50
52
|
|
|
51
53
|
const emits = defineEmits<{
|
|
52
54
|
(event: 'hide'): void
|
|
55
|
+
(event: 'reset'): void
|
|
53
56
|
(event: 'update-time-format', value: UI_T_TimeValue): void
|
|
54
57
|
(event: 'update-language-type', value: string): void
|
|
55
|
-
(event: 'update-language', value:
|
|
58
|
+
(event: 'update-language', value: UI_I_Dropdown): void
|
|
56
59
|
(event: 'update-is-browser', value: string): void
|
|
57
60
|
(event: 'update-is-new-view', value: boolean): void
|
|
58
61
|
(event: 'submit'): void
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
test-id="user-preferences-modal"
|
|
4
4
|
width="580px"
|
|
5
5
|
:title="localization.preferences"
|
|
6
|
+
@reset="emits('reset')"
|
|
6
7
|
@submit="emits('submit')"
|
|
7
8
|
@hide="onHide"
|
|
8
9
|
>
|
|
@@ -21,7 +22,7 @@
|
|
|
21
22
|
:selected-language="props.selectedLanguage"
|
|
22
23
|
:project="props.project"
|
|
23
24
|
@update-language-type="emits('update-language-type', $event)"
|
|
24
|
-
@update="emits('update-language', $event)"
|
|
25
|
+
@update-language="emits('update-language', $event)"
|
|
25
26
|
@update-is-browser="emits('update-is-browser', $event)"
|
|
26
27
|
/>
|
|
27
28
|
</ui-modal-block-form-standard>
|
|
@@ -52,6 +53,7 @@
|
|
|
52
53
|
</template>
|
|
53
54
|
|
|
54
55
|
<script setup lang="ts">
|
|
56
|
+
import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
|
|
55
57
|
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
56
58
|
import type { UI_T_LangValue, UI_T_Project } from '~/lib/models/types'
|
|
57
59
|
import type { UI_I_User } from '~/components/common/layout/theHeader/userMenu/lib/models/interfaces'
|
|
@@ -60,7 +62,7 @@ import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMe
|
|
|
60
62
|
const props = defineProps<{
|
|
61
63
|
project: UI_T_Project
|
|
62
64
|
timeFormat: UI_T_TimeValue
|
|
63
|
-
selectedLanguage:
|
|
65
|
+
selectedLanguage: UI_I_Dropdown
|
|
64
66
|
selectedLanguageType: UI_T_LangValue
|
|
65
67
|
newView: boolean
|
|
66
68
|
user?: UI_I_User
|
|
@@ -69,10 +71,11 @@ const emits = defineEmits<{
|
|
|
69
71
|
(event: 'hide'): void
|
|
70
72
|
(event: 'update-time-format', value: UI_T_TimeValue): void
|
|
71
73
|
(event: 'update-language-type', value: string): void
|
|
72
|
-
(event: 'update-language', value:
|
|
74
|
+
(event: 'update-language', value: UI_I_Dropdown): void
|
|
73
75
|
(event: 'update-is-browser', value: string): void
|
|
74
76
|
(event: 'update-is-new-view', value: boolean): void
|
|
75
77
|
(event: 'submit'): void
|
|
78
|
+
(event: 'reset'): void
|
|
76
79
|
}>()
|
|
77
80
|
|
|
78
81
|
const { $store }: any = useNuxtApp()
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<form id="change-language-form">
|
|
2
|
+
<form id="change-language-form" @submit.prevent>
|
|
3
3
|
<div class="flex">
|
|
4
4
|
<ui-modal-icon>
|
|
5
5
|
<ui-icon-icon3 name="language-new" width="20" height="20" />
|
|
@@ -14,32 +14,23 @@
|
|
|
14
14
|
</div>
|
|
15
15
|
|
|
16
16
|
<div v-for="(item, key) in radioOptions" :key="key" class="radio flex">
|
|
17
|
-
<
|
|
18
|
-
:id="item.label"
|
|
17
|
+
<ui-radio
|
|
19
18
|
v-model="languageMode"
|
|
20
|
-
:
|
|
21
|
-
|
|
19
|
+
:test-id="item.testId"
|
|
20
|
+
:label="item.label"
|
|
22
21
|
:value="item.value"
|
|
23
|
-
|
|
22
|
+
size="sm"
|
|
24
23
|
/>
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
24
|
+
|
|
25
|
+
<span v-if="item.selectLang" class="select">
|
|
26
|
+
<common-select-language
|
|
27
|
+
:normalize-lang="locales"
|
|
28
|
+
:selected-lang="selectedLanguageLocal"
|
|
29
|
+
:disabled="props.selectedType === 'BROWSER'"
|
|
30
|
+
width="97px"
|
|
31
|
+
size="sm"
|
|
33
32
|
@change="onSelectLang"
|
|
34
|
-
|
|
35
|
-
<option
|
|
36
|
-
v-for="(item2, key2) in langOptions"
|
|
37
|
-
:key="key2"
|
|
38
|
-
:value="item2.value"
|
|
39
|
-
>
|
|
40
|
-
{{ item2.text }}
|
|
41
|
-
</option>
|
|
42
|
-
</select>
|
|
33
|
+
/>
|
|
43
34
|
</span>
|
|
44
35
|
</div>
|
|
45
36
|
</div>
|
|
@@ -48,26 +39,25 @@
|
|
|
48
39
|
</template>
|
|
49
40
|
|
|
50
41
|
<script setup lang="ts">
|
|
42
|
+
import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
|
|
51
43
|
import type { UI_T_LangValue, UI_T_Project } from '~/lib/models/types'
|
|
52
44
|
import type { UI_T_SelectedRadio } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/types'
|
|
53
45
|
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
54
|
-
import type {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
} from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/interfaces'
|
|
46
|
+
import type { UI_I_RadioItemLang } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/interfaces'
|
|
47
|
+
import { locales } from '~/components/common/selectLanguage/lib/config/config'
|
|
48
|
+
import { findInLocals } from '~/components/common/selectLanguage/lib/utils/utils'
|
|
58
49
|
import { UI_E_DetectSelectedRadio } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/enums'
|
|
59
|
-
import { langConfig } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/config/lang'
|
|
60
50
|
import { radioOptionsFunc } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/config/radioOptions'
|
|
61
51
|
import { defineBrowserLangFunc } from '~/components/common/layout/theHeader/lib/utils/localization'
|
|
62
52
|
|
|
63
53
|
const props = defineProps<{
|
|
64
54
|
selectedType: UI_T_LangValue
|
|
65
|
-
selectedLanguage:
|
|
55
|
+
selectedLanguage: UI_I_Dropdown
|
|
66
56
|
project: UI_T_Project
|
|
67
57
|
}>()
|
|
68
58
|
|
|
69
59
|
const emits = defineEmits<{
|
|
70
|
-
(event: 'update', value:
|
|
60
|
+
(event: 'update-language', value: UI_I_Dropdown): void
|
|
71
61
|
(event: 'update-language-type', value: UI_T_SelectedRadio): void
|
|
72
62
|
(event: 'update-is-browser', value: string): void
|
|
73
63
|
}>()
|
|
@@ -89,35 +79,34 @@ const radioOptions = readonly<UI_I_RadioItemLang[]>(
|
|
|
89
79
|
radioOptionsFunc(localization.value)
|
|
90
80
|
)
|
|
91
81
|
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
const selectedLanguageLocal = ref<string>(props.selectedLanguage)
|
|
82
|
+
const selectedLanguageLocal = ref<UI_I_Dropdown>(props.selectedLanguage)
|
|
95
83
|
|
|
96
84
|
const setPreferenceLang = (language: string): void => {
|
|
97
|
-
let
|
|
85
|
+
let currentLang = language
|
|
98
86
|
|
|
99
|
-
language === 'BROWSER' &&
|
|
87
|
+
language === 'BROWSER' &&
|
|
88
|
+
(currentLang = findInLocals(defineBrowserLangFunc()))
|
|
100
89
|
|
|
101
90
|
if (props.project === 'sphere') {
|
|
102
91
|
const { $store }: any = useNuxtApp()
|
|
103
92
|
|
|
104
93
|
$store.dispatch('profile/A_PREFERENCES_FOR_CHANGING', {
|
|
105
|
-
language:
|
|
94
|
+
language: currentLang,
|
|
106
95
|
})
|
|
107
96
|
} else if (props.project === 'procurator') {
|
|
108
|
-
emits('update',
|
|
97
|
+
emits('update-language', currentLang)
|
|
109
98
|
}
|
|
110
99
|
}
|
|
111
100
|
|
|
112
|
-
const onSelectLang = (): void => {
|
|
113
|
-
selectedLanguageLocal.value && setPreferenceLang(
|
|
101
|
+
const onSelectLang = (newValue): void => {
|
|
102
|
+
selectedLanguageLocal.value && setPreferenceLang(newValue)
|
|
114
103
|
}
|
|
115
104
|
|
|
116
105
|
const onChange = (): void => {
|
|
117
106
|
const lang =
|
|
118
107
|
languageMode.value === 'LANG'
|
|
119
108
|
? selectedLanguageLocal.value
|
|
120
|
-
: languageMode.value
|
|
109
|
+
: languageMode.value // 'BROWSER'
|
|
121
110
|
|
|
122
111
|
lang && setPreferenceLang(lang)
|
|
123
112
|
|
|
@@ -132,24 +121,35 @@ const updateIsBrowser = (value: string): void => {
|
|
|
132
121
|
watch(
|
|
133
122
|
languageMode,
|
|
134
123
|
(newValue) => {
|
|
124
|
+
onChange()
|
|
135
125
|
newValue && updateIsBrowser(newValue)
|
|
136
126
|
},
|
|
137
127
|
{ immediate: true }
|
|
138
128
|
)
|
|
129
|
+
|
|
130
|
+
watch(
|
|
131
|
+
() => props.selectedLanguage,
|
|
132
|
+
(newValue) => {
|
|
133
|
+
selectedLanguageLocal.value = newValue
|
|
134
|
+
},
|
|
135
|
+
{ immediate: true }
|
|
136
|
+
)
|
|
137
|
+
|
|
138
|
+
watch(
|
|
139
|
+
() => props.selectedType,
|
|
140
|
+
(newValue) => {
|
|
141
|
+
languageMode.value = UI_E_DetectSelectedRadio[newValue]
|
|
142
|
+
},
|
|
143
|
+
{ immediate: true }
|
|
144
|
+
)
|
|
139
145
|
</script>
|
|
140
146
|
|
|
141
147
|
<style lang="scss" scoped>
|
|
142
|
-
.radio {
|
|
143
|
-
margin-bottom:
|
|
144
|
-
&:nth-child(2) {
|
|
145
|
-
margin-top: 10px;
|
|
146
|
-
}
|
|
148
|
+
.radio:not(:last-child) {
|
|
149
|
+
margin-bottom: 12px;
|
|
147
150
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
& > select {
|
|
152
|
-
height: 100%;
|
|
153
|
-
}
|
|
151
|
+
|
|
152
|
+
.select {
|
|
153
|
+
margin-left: 8px;
|
|
154
154
|
}
|
|
155
155
|
</style>
|
package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/TimeFormatNew.vue
CHANGED
|
@@ -12,19 +12,14 @@
|
|
|
12
12
|
<div class="form-second-title">
|
|
13
13
|
{{ description }}
|
|
14
14
|
</div>
|
|
15
|
-
|
|
16
15
|
<div v-for="(item, key) in formatOptions" :key="key" class="radio">
|
|
17
|
-
<
|
|
18
|
-
:id="item.value"
|
|
16
|
+
<ui-radio
|
|
19
17
|
v-model="timeItem"
|
|
20
|
-
:
|
|
21
|
-
|
|
18
|
+
:test-id="item.testId"
|
|
19
|
+
:label="item.label"
|
|
22
20
|
:value="item.value"
|
|
23
|
-
|
|
21
|
+
size="sm"
|
|
24
22
|
/>
|
|
25
|
-
<label :for="item.value">
|
|
26
|
-
{{ item.label }}
|
|
27
|
-
</label>
|
|
28
23
|
</div>
|
|
29
24
|
</div>
|
|
30
25
|
</div>
|
|
@@ -57,22 +52,18 @@ const formatOptions = readonly<UI_I_RadioItem[]>(
|
|
|
57
52
|
formatOptionsFunc(localization.value)
|
|
58
53
|
)
|
|
59
54
|
|
|
60
|
-
const timeItem =
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
55
|
+
const timeItem = computed({
|
|
56
|
+
get() {
|
|
57
|
+
return props.timeFormat
|
|
58
|
+
},
|
|
59
|
+
set(newValue: UI_T_TimeValue) {
|
|
60
|
+
emits('update', newValue)
|
|
61
|
+
},
|
|
62
|
+
})
|
|
65
63
|
</script>
|
|
66
64
|
|
|
67
65
|
<style lang="scss" scoped>
|
|
68
|
-
.radio {
|
|
69
|
-
margin-bottom:
|
|
70
|
-
&:nth-child(2) {
|
|
71
|
-
margin-top: 10px;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
input[type='radio']:focus:checked + label::before,
|
|
75
|
-
input[type='radio']:focus + label::before {
|
|
76
|
-
box-shadow: inset 0 0 0 0.25rem #0094d2;
|
|
66
|
+
.radio:not(:last-child) {
|
|
67
|
+
margin-bottom: 12px;
|
|
77
68
|
}
|
|
78
69
|
</style>
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div :class="['language-dropdown', props.size]">
|
|
3
|
+
<ui-select
|
|
4
|
+
v-model="selectedLang"
|
|
5
|
+
test-id="select-language"
|
|
6
|
+
:items="props.normalizeLang"
|
|
7
|
+
:width="props.size === 'md' ? '114px' : '97px'"
|
|
8
|
+
arrow-stroke-width="2.4"
|
|
9
|
+
:disabled="props.disabled"
|
|
10
|
+
:size="props.size"
|
|
11
|
+
max-height="inherit"
|
|
12
|
+
@change="onSelect"
|
|
13
|
+
>
|
|
14
|
+
<template #toggleContent>
|
|
15
|
+
<span class="language-dropdown__icon content-icon"
|
|
16
|
+
><ui-icon-icon2
|
|
17
|
+
:name="selectedLang?.iconName"
|
|
18
|
+
:height="props.size === 'md' ? 16 : 13"
|
|
19
|
+
:width="props.size === 'md' ? 24 : 19"
|
|
20
|
+
></ui-icon-icon2
|
|
21
|
+
></span>
|
|
22
|
+
{{ selectedLang?.text }}
|
|
23
|
+
</template>
|
|
24
|
+
<template #row="{ item }">
|
|
25
|
+
<span class="language-dropdown__icon dropdown-icon">
|
|
26
|
+
<ui-icon-icon2
|
|
27
|
+
:name="item.iconName"
|
|
28
|
+
:height="props.size === 'md' ? 16 : 13"
|
|
29
|
+
:width="props.size === 'md' ? 24 : 19"
|
|
30
|
+
></ui-icon-icon2>
|
|
31
|
+
</span>
|
|
32
|
+
{{ item.text }}
|
|
33
|
+
</template>
|
|
34
|
+
</ui-select>
|
|
35
|
+
</div>
|
|
36
|
+
</template>
|
|
37
|
+
|
|
38
|
+
<script lang="ts" setup>
|
|
39
|
+
import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
|
|
40
|
+
|
|
41
|
+
const props = withDefaults(
|
|
42
|
+
defineProps<{
|
|
43
|
+
normalizeLang: UI_I_Dropdown[]
|
|
44
|
+
selectedLang: UI_I_Dropdown
|
|
45
|
+
disabled?: boolean
|
|
46
|
+
width?: string
|
|
47
|
+
size?: 'sm' | 'md'
|
|
48
|
+
}>(),
|
|
49
|
+
{
|
|
50
|
+
disabled: false,
|
|
51
|
+
width: '114px',
|
|
52
|
+
size: 'md',
|
|
53
|
+
}
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
const emits = defineEmits<{
|
|
57
|
+
(event: 'change', lang: UI_I_Dropdown): void
|
|
58
|
+
}>()
|
|
59
|
+
|
|
60
|
+
const selectedLang = ref<UI_I_Dropdown>(props.selectedLang)
|
|
61
|
+
const onSelect = (lang: UI_I_Dropdown): void => {
|
|
62
|
+
emits('change', lang)
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
watch(
|
|
66
|
+
() => props.selectedLang,
|
|
67
|
+
(newValue: UI_I_Dropdown) => {
|
|
68
|
+
selectedLang.value = newValue
|
|
69
|
+
},
|
|
70
|
+
{ deep: true, immediate: true }
|
|
71
|
+
)
|
|
72
|
+
</script>
|
|
73
|
+
|
|
74
|
+
<style lang="scss" scoped>
|
|
75
|
+
.language-dropdown {
|
|
76
|
+
&.sm {
|
|
77
|
+
.language-dropdown__icon {
|
|
78
|
+
margin-right: 8px;
|
|
79
|
+
&.content-icon {
|
|
80
|
+
margin-right: 6px;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
font-size: 12px;
|
|
85
|
+
line-height: 14.52px;
|
|
86
|
+
font-weight: 500;
|
|
87
|
+
|
|
88
|
+
:deep(.ui-dropdown) {
|
|
89
|
+
padding: 6px;
|
|
90
|
+
max-height: inherit;
|
|
91
|
+
}
|
|
92
|
+
:deep(.ui-dropdown-menu) {
|
|
93
|
+
margin: 0 !important;
|
|
94
|
+
width: 100%;
|
|
95
|
+
}
|
|
96
|
+
:deep(.ui-dropdown-menu-item) {
|
|
97
|
+
padding: 6px !important;
|
|
98
|
+
font-size: 12px;
|
|
99
|
+
line-height: 14.52px;
|
|
100
|
+
font-weight: 500;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
&.md {
|
|
105
|
+
.language-dropdown__icon {
|
|
106
|
+
margin-right: 8px;
|
|
107
|
+
&.content-icon {
|
|
108
|
+
margin-right: 8px;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
font-size: 14px;
|
|
113
|
+
line-height: 16.94px;
|
|
114
|
+
font-weight: 500;
|
|
115
|
+
:deep(.ui-dropdown) {
|
|
116
|
+
padding: 8px;
|
|
117
|
+
max-height: inherit;
|
|
118
|
+
}
|
|
119
|
+
:deep(.ui-dropdown-menu) {
|
|
120
|
+
margin: 0 !important;
|
|
121
|
+
width: 100%;
|
|
122
|
+
}
|
|
123
|
+
:deep(.ui-dropdown-menu-item) {
|
|
124
|
+
padding: 8px !important;
|
|
125
|
+
font-size: 14px;
|
|
126
|
+
line-height: 16.94px;
|
|
127
|
+
font-weight: 500;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
&__icon {
|
|
132
|
+
display: flex;
|
|
133
|
+
}
|
|
134
|
+
:deep(.ui-dropdown) {
|
|
135
|
+
padding: 16px;
|
|
136
|
+
max-height: inherit;
|
|
137
|
+
li:not(:last-child) {
|
|
138
|
+
margin-bottom: 8px;
|
|
139
|
+
cursor: pointer;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
:deep(.ui-dropdown-menu) {
|
|
143
|
+
margin: 0 !important;
|
|
144
|
+
width: 100%;
|
|
145
|
+
}
|
|
146
|
+
:deep(.ui-dropdown-menu-item) {
|
|
147
|
+
padding: 8px !important;
|
|
148
|
+
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
</style>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
|
|
2
|
+
|
|
3
|
+
export const locales: UI_I_Dropdown[] = [
|
|
4
|
+
{
|
|
5
|
+
text: 'RU',
|
|
6
|
+
value: 'ru_RU',
|
|
7
|
+
iconName: 'ru-flag',
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
text: 'AM',
|
|
11
|
+
value: 'hy_AM',
|
|
12
|
+
iconName: 'am-flag',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
text: 'BY',
|
|
16
|
+
value: 'be_BY',
|
|
17
|
+
iconName: 'be-flag',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
text: 'KZ',
|
|
21
|
+
value: 'kk_KZ',
|
|
22
|
+
iconName: 'kk-flag',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
text: 'CN',
|
|
26
|
+
value: 'zh_CHS',
|
|
27
|
+
iconName: 'zh-flag',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
text: 'EN',
|
|
31
|
+
value: 'en_US',
|
|
32
|
+
iconName: 'en-flag',
|
|
33
|
+
},
|
|
34
|
+
]
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
|
|
2
|
+
import { locales } from '~/components/common/selectLanguage/lib/config/config'
|
|
3
|
+
|
|
4
|
+
export const findInLocals = (find: string): UI_I_Dropdown =>
|
|
5
|
+
locales.find((lang: UI_I_Dropdown) => lang.value === find) || locales[0]
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bfg-common",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.527",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "nuxt build",
|
|
7
7
|
"dev": "nuxt dev --port=3002",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"@vueuse/components": "^10.1.2",
|
|
36
36
|
"date-fns": "^2.29.3",
|
|
37
37
|
"bfg-nuxt-3-graph": "^1.0.15",
|
|
38
|
-
"bfg-uikit": "1.0.
|
|
38
|
+
"bfg-uikit": "1.0.76",
|
|
39
39
|
"html2canvas": "^1.4.1",
|
|
40
40
|
"prettier-eslint": "^15.0.1"
|
|
41
41
|
}
|