bfg-common 1.5.725 → 1.5.727
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/components/common/layout/theHeader/New.vue +301 -302
- package/components/common/layout/theHeader/Old.vue +252 -252
- package/components/common/layout/theHeader/TheHeader.vue +152 -154
- package/components/common/layout/theHeader/helpMenu/about/New.vue +97 -97
- package/components/common/layout/theHeader/userMenu/UserMenu.vue +104 -104
- package/package.json +1 -1
- package/composables/deepCopy.ts +0 -21
- package/composables/useUniqueId.ts +0 -5
|
@@ -1,104 +1,104 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<component
|
|
3
|
-
:is="currentComponent"
|
|
4
|
-
:hostname="props.hostname"
|
|
5
|
-
@select-dropdown="onSelectDropdown"
|
|
6
|
-
/>
|
|
7
|
-
|
|
8
|
-
<Teleport to="body">
|
|
9
|
-
<common-layout-the-header-user-menu-modals-change-password
|
|
10
|
-
v-if="isShowChangePasswordModal"
|
|
11
|
-
v-model="isShowChangePasswordModal"
|
|
12
|
-
:hostname="props.hostname"
|
|
13
|
-
:project="props.project"
|
|
14
|
-
/>
|
|
15
|
-
|
|
16
|
-
<common-layout-the-header-user-menu-modals-preferences
|
|
17
|
-
v-if="props.isPreference"
|
|
18
|
-
v-model:security="security"
|
|
19
|
-
v-model:new-view-local="newViewLocal"
|
|
20
|
-
v-model:time-format="timeFormat"
|
|
21
|
-
v-model:console-value="consoleValue"
|
|
22
|
-
v-model:vm-in-hosts-clusters="vmInHostsClusters"
|
|
23
|
-
:new-view="props.newView"
|
|
24
|
-
:selected-language-type="props.selectedLanguageType"
|
|
25
|
-
:selected-language="props.selectedLanguage"
|
|
26
|
-
:project="props.project"
|
|
27
|
-
:security-loader="props.securityLoader"
|
|
28
|
-
:recovery="props.recovery"
|
|
29
|
-
@hide="emits('hide-preference')"
|
|
30
|
-
@reset="emits('reset-preference')"
|
|
31
|
-
@update-language="emits('update-language', $event)"
|
|
32
|
-
@update-is-browser="emits('update-is-browser', $event)"
|
|
33
|
-
@security-confirm="emits('security-confirm', $event)"
|
|
34
|
-
@submit="emits('submit-preferences')"
|
|
35
|
-
/>
|
|
36
|
-
</Teleport>
|
|
37
|
-
</template>
|
|
38
|
-
|
|
39
|
-
<script setup lang="ts">
|
|
40
|
-
import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
|
|
41
|
-
import type { UI_T_LangValue, UI_T_Project } from '~/lib/models/types'
|
|
42
|
-
import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
|
|
43
|
-
import type { UI_I_Recovery } from '~/components/common/layout/theHeader/userMenu/modals/preferences/security/lib/models/interfaces'
|
|
44
|
-
|
|
45
|
-
const security = defineModel<boolean>('security')
|
|
46
|
-
const newViewLocal = defineModel<boolean>('newViewLocal')
|
|
47
|
-
const timeFormat = defineModel<UI_T_TimeValue>('timeFormat')
|
|
48
|
-
const consoleValue = defineModel<string>('consoleValue')
|
|
49
|
-
const vmInHostsClusters = defineModel<boolean>('vmInHostsClusters')
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
(event: '
|
|
64
|
-
(event: '
|
|
65
|
-
(event: '
|
|
66
|
-
(event: 'update-language', value: UI_I_Dropdown): void
|
|
67
|
-
(event: 'update-is-browser', value: string): void
|
|
68
|
-
(event: 'security-confirm', value: boolean): void
|
|
69
|
-
(event: 'submit-preferences'): void
|
|
70
|
-
}>()
|
|
71
|
-
|
|
72
|
-
const { $store }: any = useNuxtApp()
|
|
73
|
-
|
|
74
|
-
const currentComponent = computed(() =>
|
|
75
|
-
props.newView
|
|
76
|
-
? defineAsyncComponent(() => import('./new/New.vue'))
|
|
77
|
-
: defineAsyncComponent(() => import('./old/Old.vue'))
|
|
78
|
-
)
|
|
79
|
-
|
|
80
|
-
const isShowChangePasswordModal = ref<boolean>(false)
|
|
81
|
-
|
|
82
|
-
const onLogout = async (): Promise<void> => {
|
|
83
|
-
await $store.dispatch('auth/A_LOGOUT', null)
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
const onSelectDropdown = (value: string): void => {
|
|
87
|
-
switch (value) {
|
|
88
|
-
case 'changePassword':
|
|
89
|
-
isShowChangePasswordModal.value = true
|
|
90
|
-
break
|
|
91
|
-
case 'preferences':
|
|
92
|
-
emits('show-preference')
|
|
93
|
-
break
|
|
94
|
-
case 'themeMode':
|
|
95
|
-
|
|
96
|
-
break
|
|
97
|
-
case 'logout':
|
|
98
|
-
onLogout()
|
|
99
|
-
break
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
</script>
|
|
103
|
-
|
|
104
|
-
<style scoped lang="scss"></style>
|
|
1
|
+
<template>
|
|
2
|
+
<component
|
|
3
|
+
:is="currentComponent"
|
|
4
|
+
:hostname="props.hostname"
|
|
5
|
+
@select-dropdown="onSelectDropdown"
|
|
6
|
+
/>
|
|
7
|
+
|
|
8
|
+
<Teleport to="body">
|
|
9
|
+
<common-layout-the-header-user-menu-modals-change-password
|
|
10
|
+
v-if="isShowChangePasswordModal"
|
|
11
|
+
v-model="isShowChangePasswordModal"
|
|
12
|
+
:hostname="props.hostname"
|
|
13
|
+
:project="props.project"
|
|
14
|
+
/>
|
|
15
|
+
|
|
16
|
+
<common-layout-the-header-user-menu-modals-preferences
|
|
17
|
+
v-if="props.isPreference"
|
|
18
|
+
v-model:security="security"
|
|
19
|
+
v-model:new-view-local="newViewLocal"
|
|
20
|
+
v-model:time-format="timeFormat"
|
|
21
|
+
v-model:console-value="consoleValue"
|
|
22
|
+
v-model:vm-in-hosts-clusters="vmInHostsClusters"
|
|
23
|
+
:new-view="props.newView"
|
|
24
|
+
:selected-language-type="props.selectedLanguageType"
|
|
25
|
+
:selected-language="props.selectedLanguage"
|
|
26
|
+
:project="props.project"
|
|
27
|
+
:security-loader="props.securityLoader"
|
|
28
|
+
:recovery="props.recovery"
|
|
29
|
+
@hide="emits('hide-preference')"
|
|
30
|
+
@reset="emits('reset-preference')"
|
|
31
|
+
@update-language="emits('update-language', $event)"
|
|
32
|
+
@update-is-browser="emits('update-is-browser', $event)"
|
|
33
|
+
@security-confirm="emits('security-confirm', $event)"
|
|
34
|
+
@submit="emits('submit-preferences')"
|
|
35
|
+
/>
|
|
36
|
+
</Teleport>
|
|
37
|
+
</template>
|
|
38
|
+
|
|
39
|
+
<script setup lang="ts">
|
|
40
|
+
import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
|
|
41
|
+
import type { UI_T_LangValue, UI_T_Project } from '~/lib/models/types'
|
|
42
|
+
import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
|
|
43
|
+
import type { UI_I_Recovery } from '~/components/common/layout/theHeader/userMenu/modals/preferences/security/lib/models/interfaces'
|
|
44
|
+
|
|
45
|
+
const security = defineModel<boolean>('security')
|
|
46
|
+
const newViewLocal = defineModel<boolean>('newViewLocal')
|
|
47
|
+
const timeFormat = defineModel<UI_T_TimeValue>('timeFormat')
|
|
48
|
+
const consoleValue = defineModel<string>('consoleValue')
|
|
49
|
+
const vmInHostsClusters = defineModel<boolean>('vmInHostsClusters')
|
|
50
|
+
const isDarkTheme = defineModel<boolean>('isDarkTheme')
|
|
51
|
+
|
|
52
|
+
const props = defineProps<{
|
|
53
|
+
hostname: string
|
|
54
|
+
project: UI_T_Project
|
|
55
|
+
isPreference: boolean
|
|
56
|
+
newView: boolean
|
|
57
|
+
selectedLanguageType: UI_T_LangValue
|
|
58
|
+
selectedLanguage: UI_I_Dropdown | string
|
|
59
|
+
securityLoader: boolean // для Сферы
|
|
60
|
+
recovery: UI_I_Recovery | null // для Сферы
|
|
61
|
+
}>()
|
|
62
|
+
const emits = defineEmits<{
|
|
63
|
+
(event: 'show-preference'): void
|
|
64
|
+
(event: 'reset-preference'): void
|
|
65
|
+
(event: 'hide-preference'): void
|
|
66
|
+
(event: 'update-language', value: UI_I_Dropdown): void
|
|
67
|
+
(event: 'update-is-browser', value: string): void
|
|
68
|
+
(event: 'security-confirm', value: boolean): void
|
|
69
|
+
(event: 'submit-preferences'): void
|
|
70
|
+
}>()
|
|
71
|
+
|
|
72
|
+
const { $store }: any = useNuxtApp()
|
|
73
|
+
|
|
74
|
+
const currentComponent = computed(() =>
|
|
75
|
+
props.newView
|
|
76
|
+
? defineAsyncComponent(() => import('./new/New.vue'))
|
|
77
|
+
: defineAsyncComponent(() => import('./old/Old.vue'))
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
const isShowChangePasswordModal = ref<boolean>(false)
|
|
81
|
+
|
|
82
|
+
const onLogout = async (): Promise<void> => {
|
|
83
|
+
await $store.dispatch('auth/A_LOGOUT', null)
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
const onSelectDropdown = (value: string): void => {
|
|
87
|
+
switch (value) {
|
|
88
|
+
case 'changePassword':
|
|
89
|
+
isShowChangePasswordModal.value = true
|
|
90
|
+
break
|
|
91
|
+
case 'preferences':
|
|
92
|
+
emits('show-preference')
|
|
93
|
+
break
|
|
94
|
+
case 'themeMode':
|
|
95
|
+
isDarkTheme.value = !isDarkTheme.value
|
|
96
|
+
break
|
|
97
|
+
case 'logout':
|
|
98
|
+
onLogout()
|
|
99
|
+
break
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
</script>
|
|
103
|
+
|
|
104
|
+
<style scoped lang="scss"></style>
|
package/package.json
CHANGED
package/composables/deepCopy.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
let exists: any = []
|
|
2
|
-
export const useDeepCopy = (obj: any, is = false) => {
|
|
3
|
-
if (!is) exists = []
|
|
4
|
-
if (typeof obj !== 'object' || obj === null) {
|
|
5
|
-
return obj
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
const res: any = Array.isArray(obj) ? [] : {}
|
|
9
|
-
for (const i in obj) {
|
|
10
|
-
const item = obj[i]
|
|
11
|
-
if (exists.includes(item)) {
|
|
12
|
-
res[i] = item
|
|
13
|
-
continue
|
|
14
|
-
}
|
|
15
|
-
exists.push(item)
|
|
16
|
-
|
|
17
|
-
res[i] = useDeepCopy(item, true)
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
return res
|
|
21
|
-
}
|