bfg-common 1.3.558 → 1.3.559

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.
Files changed (35) hide show
  1. package/components/common/browse/Browse.vue +221 -186
  2. package/components/common/browse/blocks/Container.vue +5 -5
  3. package/components/common/browse/blocks/Title.vue +91 -66
  4. package/components/common/browse/blocks/contents/Files.vue +1 -1
  5. package/components/common/browse/blocks/info/Date.vue +21 -21
  6. package/components/common/browse/blocks/info/Size.vue +1 -1
  7. package/components/common/layout/theHeader/TheHeader.vue +17 -3
  8. package/components/common/layout/theHeader/TheHeaderNew.vue +10 -0
  9. package/components/common/layout/theHeader/TheHeaderOld.vue +10 -0
  10. package/components/common/layout/theHeader/ThemeSwitch.vue +1 -1
  11. package/components/common/layout/theHeader/userMenu/UserMenu.vue +11 -9
  12. package/components/common/layout/theHeader/userMenu/modals/preferences/Preferences.vue +16 -9
  13. package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesNew.vue +22 -21
  14. package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesOld.vue +20 -17
  15. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguage.vue +110 -0
  16. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguageNew.vue +22 -88
  17. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguageOld.vue +28 -82
  18. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/DefaultConsole.vue +23 -47
  19. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/DefaultConsoleNew.vue +52 -0
  20. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/DefaultConsoleOld.vue +48 -0
  21. package/components/common/layout/theHeader/userMenu/modals/preferences/inventory/Inventory.vue +36 -0
  22. package/components/common/layout/theHeader/userMenu/modals/preferences/inventory/InventoryNew.vue +35 -0
  23. package/components/common/layout/theHeader/userMenu/modals/preferences/{Inventory.vue → inventory/InventoryOld.vue} +1 -13
  24. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/TimeFormat.vue +54 -0
  25. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/TimeFormatNew.vue +10 -27
  26. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/TimeFormatOld.vue +6 -28
  27. package/components/common/layout/theHeader/userMenu/modals/preferences/view/View.vue +45 -0
  28. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewNew.vue +5 -92
  29. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +5 -27
  30. package/components/common/selectLanguage/SelectLanguage.vue +10 -14
  31. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +7 -7
  32. package/composables/useEnvLanguage.ts +4 -1
  33. package/package.json +2 -2
  34. package/plugins/recursion.ts +293 -271
  35. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/config/lang.ts +0 -10
@@ -11,7 +11,7 @@ const props = defineProps<{
11
11
  value: number
12
12
  }>()
13
13
  const { $binary } = useNuxtApp()
14
- const size = computed(() => $binary.round(props.value, true))
14
+ const size = computed<string>(() => $binary.round(props.value, true))
15
15
  </script>
16
16
 
17
17
  <style scoped lang="scss"></style>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <common-layout-the-header-new
3
- v-if="newView"
3
+ v-if="props.newView"
4
4
  :company-name="props.companyName"
5
5
  :is-beta="props.isBeta"
6
6
  :is-dev="props.isDev"
@@ -11,10 +11,13 @@
11
11
  :is-preference="props.isPreference"
12
12
  :selected-language-type="props.selectedLanguageType"
13
13
  :selected-lang="props.selectedLang"
14
- :new-view="props.newViewLocal"
14
+ :new-view="props.newView"
15
+ :new-view-local="props.newViewLocal"
15
16
  :time-format="props.timeFormat"
16
17
  :project="props.project"
17
18
  :is-dark-theme="props.isDarkTheme"
19
+ :remote-console="props.remoteConsole"
20
+ :vm-cluster="props.vmCluster"
18
21
  @toggle-main-menu="emits('toggle-main-menu')"
19
22
  @show-preference="emits('show-preference')"
20
23
  @reset-preference="emits('reset-preference')"
@@ -25,6 +28,8 @@
25
28
  @update-language="emits('update-language', $event)"
26
29
  @update-is-browser="emits('update-is-browser', $event)"
27
30
  @update-is-new-view="emits('update-is-new-view', $event)"
31
+ @update-remote-console="emits('update-remote-console', $event)"
32
+ @update-vm-clusters="emits('update-vm-clusters', $event)"
28
33
  @submit-preferences="emits('submit-preferences')"
29
34
  />
30
35
  <common-layout-the-header-old
@@ -39,9 +44,12 @@
39
44
  :is-preference="props.isPreference"
40
45
  :selected-language-type="props.selectedLanguageType"
41
46
  :selected-lang="props.selectedLang"
42
- :new-view="props.newViewLocal"
47
+ :new-view="props.newView"
48
+ :new-view-local="props.newViewLocal"
43
49
  :time-format="props.timeFormat"
44
50
  :project="props.project"
51
+ :remote-console="props.remoteConsole"
52
+ :vm-cluster="props.vmCluster"
45
53
  @toggle-main-menu="emits('toggle-main-menu')"
46
54
  @show-preference="emits('show-preference')"
47
55
  @hide-preference="emits('hide-preference')"
@@ -51,6 +59,8 @@
51
59
  @update-language="emits('update-language', $event)"
52
60
  @update-is-browser="emits('update-is-browser', $event)"
53
61
  @update-is-new-view="emits('update-is-new-view', $event)"
62
+ @update-remote-console="emits('update-remote-console', $event)"
63
+ @update-vm-clusters="emits('update-vm-clusters', $event)"
54
64
  @submit-preferences="emits('submit-preferences')"
55
65
  />
56
66
  </template>
@@ -72,6 +82,8 @@ const props = defineProps<{
72
82
  isPreference: boolean
73
83
  selectedLanguageType: string
74
84
  selectedLang: UI_I_Dropdown
85
+ remoteConsole: string
86
+ vmCluster: boolean
75
87
  newView: boolean
76
88
  newViewLocal: boolean
77
89
  timeFormat: string
@@ -89,6 +101,8 @@ const emits = defineEmits<{
89
101
  (event: 'update-language', value: UI_I_Dropdown): void
90
102
  (event: 'update-is-browser', value: string): void
91
103
  (event: 'update-is-new-view', value: boolean): void
104
+ (event: 'update-remote-console', value: string): void
105
+ (event: 'update-vm-clusters', value: boolean): void
92
106
  (event: 'submit-preferences'): void
93
107
  }>()
94
108
  </script>
@@ -63,7 +63,10 @@
63
63
  :selected-language-type="props.selectedLanguageType"
64
64
  :selected-language="props.selectedLang"
65
65
  :new-view="props.newView"
66
+ :new-view-local="props.newViewLocal"
66
67
  :project="props.project"
68
+ :remote-console="props.remoteConsole"
69
+ :vm-cluster="props.vmCluster"
67
70
  @show-preference="emits('show-preference')"
68
71
  @reset-preference="emits('reset-preference')"
69
72
  @hide-preference="emits('hide-preference')"
@@ -72,6 +75,8 @@
72
75
  @update-language="emits('update-language', $event)"
73
76
  @update-is-browser="emits('update-is-browser', $event)"
74
77
  @update-is-new-view="emits('update-is-new-view', $event)"
78
+ @update-remote-console="emits('update-remote-console', $event)"
79
+ @update-vm-clusters="emits('update-vm-clusters', $event)"
75
80
  @submit-preferences="emits('submit-preferences')"
76
81
  />
77
82
  </div>
@@ -97,7 +102,10 @@ const props = defineProps<{
97
102
  isPreference: boolean
98
103
  selectedLanguageType: string
99
104
  selectedLang: UI_I_Dropdown
105
+ remoteConsole: string
106
+ vmCluster: boolean
100
107
  newView: boolean
108
+ newViewLocal: boolean
101
109
  timeFormat: string
102
110
  isDarkTheme: boolean
103
111
  }>()
@@ -113,6 +121,8 @@ const emits = defineEmits<{
113
121
  (event: 'update-language', value: UI_I_Dropdown): void
114
122
  (event: 'update-is-browser', value: string): void
115
123
  (event: 'update-is-new-view', value: boolean): void
124
+ (event: 'update-remote-console', value: string): void
125
+ (event: 'update-vm-clusters', value: boolean): void
116
126
  (event: 'submit-preferences'): void
117
127
  }>()
118
128
  </script>
@@ -70,7 +70,10 @@
70
70
  :selected-language-type="props.selectedLanguageType"
71
71
  :selected-language="props.selectedLang.value"
72
72
  :new-view="props.newView"
73
+ :new-view-local="props.newViewLocal"
73
74
  :project="props.project"
75
+ :remote-console="props.remoteConsole"
76
+ :vm-cluster="props.vmClusters"
74
77
  @show-preference="emits('show-preference')"
75
78
  @hide-preference="emits('hide-preference')"
76
79
  @change-theme-mode="emits('change-theme-mode')"
@@ -78,6 +81,8 @@
78
81
  @update-language="onUpdateLanguage"
79
82
  @update-is-browser="emits('update-is-browser', $event)"
80
83
  @update-is-new-view="emits('update-is-new-view', $event)"
84
+ @update-remote-console="emits('update-remote-console', $event)"
85
+ @update-vm-clusters="emits('update-vm-clusters', $event)"
81
86
  @submit-preferences="emits('submit-preferences')"
82
87
  />
83
88
 
@@ -117,7 +122,10 @@ const props = defineProps<{
117
122
  isPreference: boolean
118
123
  selectedLanguageType: string
119
124
  selectedLang: UI_I_Dropdown
125
+ remoteConsole: string
126
+ vmCluster: boolean
120
127
  newView: boolean
128
+ newViewLocal: boolean
121
129
  timeFormat: string
122
130
  }>()
123
131
 
@@ -131,6 +139,8 @@ const emits = defineEmits<{
131
139
  (event: 'update-language', value: UI_I_Dropdown): void
132
140
  (event: 'update-is-browser', value: string): void
133
141
  (event: 'update-is-new-view', value: boolean): void
142
+ (event: 'update-remote-console', value: string): void
143
+ (event: 'update-vm-clusters', value: boolean): void
134
144
  (event: 'submit-preferences'): void
135
145
  }>()
136
146
 
@@ -18,7 +18,7 @@ const emits = defineEmits<{
18
18
  (event: 'change-theme-mode'): void
19
19
  }>()
20
20
 
21
- const model = computed({
21
+ const model = computed<boolean>({
22
22
  get() {
23
23
  return props.isDarkTheme
24
24
  },
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <common-layout-the-header-user-menu-user-menu-new
3
- v-if="isNewView"
3
+ v-if="props.newView"
4
4
  :hostname="props.hostname"
5
5
  @select-dropdown="onSelectDropdown"
6
6
  />
@@ -21,19 +21,21 @@
21
21
  <common-layout-the-header-user-menu-modals-preferences
22
22
  v-if="props.isPreference"
23
23
  :time-format="props.timeFormat"
24
- :user="props.userFromStore"
25
24
  :new-view="props.newView"
26
- :is-new-view="isNewView"
25
+ :new-view-local="props.newViewLocal"
27
26
  :selected-language-type="props.selectedLanguageType"
28
27
  :selected-language="props.selectedLanguage"
29
28
  :project="props.project"
29
+ :remote-console="props.remoteConsole"
30
+ :vm-cluster="props.vmCluster"
30
31
  @hide="emits('hide-preference')"
31
32
  @reset="emits('reset-preference')"
32
33
  @update-time-format="emits('update-time-format', $event)"
33
34
  @update-language="emits('update-language', $event)"
34
- @update-language-type="emits('update-language-type', $event)"
35
35
  @update-is-browser="emits('update-is-browser', $event)"
36
36
  @update-is-new-view="emits('update-is-new-view', $event)"
37
+ @update-remote-console="emits('update-remote-console', $event)"
38
+ @update-vm-clusters="emits('update-vm-clusters', $event)"
37
39
  @submit="emits('submit-preferences')"
38
40
  />
39
41
  </Teleport>
@@ -42,7 +44,6 @@
42
44
  <script setup lang="ts">
43
45
  import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
44
46
  import type { UI_T_LangValue, UI_T_Project } from '~/lib/models/types'
45
- import type { UI_I_User } from '~/components/common/layout/theHeader/userMenu/lib/models/interfaces'
46
47
  import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
47
48
 
48
49
  const props = defineProps<{
@@ -50,10 +51,12 @@ const props = defineProps<{
50
51
  project: UI_T_Project
51
52
  isPreference: boolean
52
53
  newView: boolean
54
+ newViewLocal: boolean
53
55
  timeFormat: UI_T_TimeValue
54
56
  selectedLanguageType: UI_T_LangValue
55
57
  selectedLanguage: UI_I_Dropdown
56
- userFromStore?: UI_I_User
58
+ remoteConsole: string
59
+ vmCluster: boolean
57
60
  }>()
58
61
  const emits = defineEmits<{
59
62
  (event: 'show-preference'): void
@@ -62,16 +65,15 @@ const emits = defineEmits<{
62
65
  (event: 'change-theme-mode'): void
63
66
  (event: 'update-time-format', value: UI_T_TimeValue): void
64
67
  (event: 'update-language', value: UI_I_Dropdown): void
65
- (event: 'update-language-type', value: string): void
66
68
  (event: 'update-is-browser', value: string): void
67
69
  (event: 'update-is-new-view', value: boolean): void
70
+ (event: 'update-remote-console', value: string): void
71
+ (event: 'update-vm-clusters', value: boolean): void
68
72
  (event: 'submit-preferences'): void
69
73
  }>()
70
74
 
71
75
  const { $store }: any = useNuxtApp()
72
76
 
73
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
74
-
75
77
  const isChangePassword = ref<boolean>(false)
76
78
 
77
79
  const onLogout = async (): Promise<void> => {
@@ -1,35 +1,41 @@
1
1
  <template>
2
2
  <common-layout-the-header-user-menu-modals-preferences-new
3
- v-if="props.isNewView"
3
+ v-if="props.newView"
4
4
  :project="props.project"
5
5
  :time-format="props.timeFormat"
6
- :user="props.user"
7
6
  :new-view="props.newView"
7
+ :new-view-local="props.newViewLocal"
8
8
  :selected-language-type="props.selectedLanguageType"
9
9
  :selected-language="props.selectedLanguage"
10
+ :remote-console="props.remoteConsole"
11
+ :vm-cluster="props.vmCluster"
10
12
  @hide="emits('hide')"
11
13
  @reset="emits('reset')"
12
14
  @update-time-format="emits('update-time-format', $event)"
13
15
  @update-language="emits('update-language', $event)"
14
- @update-language-type="emits('update-language-type', $event)"
15
16
  @update-is-browser="emits('update-is-browser', $event)"
16
17
  @update-is-new-view="emits('update-is-new-view', $event)"
18
+ @update-remote-console="emits('update-remote-console', $event)"
19
+ @update-vm-clusters="emits('update-vm-clusters', $event)"
17
20
  @submit="emits('submit')"
18
21
  />
19
22
  <common-layout-the-header-user-menu-modals-preferences-old
20
23
  v-else
21
24
  :project="props.project"
22
25
  :time-format="props.timeFormat"
23
- :user="props.user"
24
26
  :new-view="props.newView"
27
+ :new-view-local="props.newViewLocal"
25
28
  :selected-language-type="props.selectedLanguageType"
26
29
  :selected-language="props.selectedLanguage"
30
+ :remote-console="props.remoteConsole"
31
+ :vm-cluster="props.vmCluster"
27
32
  @hide="emits('hide')"
28
33
  @update-time-format="emits('update-time-format', $event)"
29
34
  @update-language="emits('update-language', $event)"
30
- @update-language-type="emits('update-language-type', $event)"
31
35
  @update-is-browser="emits('update-is-browser', $event)"
32
36
  @update-is-new-view="emits('update-is-new-view', $event)"
37
+ @update-remote-console="emits('update-remote-console', $event)"
38
+ @update-vm-clusters="emits('update-vm-clusters', $event)"
33
39
  @submit="emits('submit')"
34
40
  />
35
41
  </template>
@@ -37,27 +43,28 @@
37
43
  <script setup lang="ts">
38
44
  import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
39
45
  import type { UI_T_LangValue, UI_T_Project } from '~/lib/models/types'
40
- import type { UI_I_User } from '~/components/common/layout/theHeader/userMenu/lib/models/interfaces'
41
46
  import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
42
47
 
43
48
  const props = defineProps<{
44
49
  project: UI_T_Project
45
50
  timeFormat: UI_T_TimeValue
46
- user?: UI_I_User
47
51
  newView: boolean
52
+ newViewLocal: boolean
48
53
  selectedLanguageType: UI_T_LangValue
49
54
  selectedLanguage: UI_I_Dropdown
50
- isNewView: boolean
55
+ remoteConsole: string
56
+ vmCluster: boolean
51
57
  }>()
52
58
 
53
59
  const emits = defineEmits<{
54
60
  (event: 'hide'): void
55
61
  (event: 'reset'): void
56
62
  (event: 'update-time-format', value: UI_T_TimeValue): void
57
- (event: 'update-language-type', value: string): void
58
63
  (event: 'update-language', value: UI_I_Dropdown): void
59
64
  (event: 'update-is-browser', value: string): void
60
65
  (event: 'update-is-new-view', value: boolean): void
66
+ (event: 'update-remote-console', value: string): void
67
+ (event: 'update-vm-clusters', value: boolean): void
61
68
  (event: 'submit'): void
62
69
  }>()
63
70
  </script>
@@ -10,41 +10,44 @@
10
10
  <template #content>
11
11
  <ui-modal-block-standard>
12
12
  <ui-modal-block-form-standard>
13
- <common-layout-the-header-user-menu-modals-preferences-time-format-new
13
+ <common-layout-the-header-user-menu-modals-preferences-time-format
14
+ :new-view="props.newView"
14
15
  :time-format="props.timeFormat"
15
- @update="emits('update-time-format', $event)"
16
+ @update-time-format="emits('update-time-format', $event)"
16
17
  />
17
18
  </ui-modal-block-form-standard>
18
19
 
19
20
  <ui-modal-block-form-standard>
20
- <common-layout-the-header-user-menu-modals-preferences-change-language-new
21
+ <common-layout-the-header-user-menu-modals-preferences-change-language
22
+ :new-view="props.newView"
21
23
  :selected-type="props.selectedLanguageType"
22
24
  :selected-language="props.selectedLanguage"
23
- :project="props.project"
24
- @update-language-type="emits('update-language-type', $event)"
25
25
  @update-language="emits('update-language', $event)"
26
26
  @update-is-browser="emits('update-is-browser', $event)"
27
27
  />
28
28
  </ui-modal-block-form-standard>
29
29
 
30
30
  <ui-modal-block-form-standard v-if="isSphere">
31
- <common-layout-the-header-user-menu-modals-preferences-inventory
32
- :vm-cluster="props.user?.ui_options?.vm_in_hosts_clusters"
31
+ <common-layout-the-header-user-menu-modals-preferences-default-console
32
+ :new-view="props.newView"
33
+ :remote-console="props.remoteConsole"
34
+ @update-remote-console="emits('update-remote-console', $event)"
33
35
  />
34
36
  </ui-modal-block-form-standard>
35
37
 
36
38
  <ui-modal-block-form-standard v-if="isSphere">
37
- <common-layout-the-header-user-menu-modals-preferences-default-console
38
- :remote-console="props.user?.ui_options?.remote_console"
39
- :project="props.project"
39
+ <common-layout-the-header-user-menu-modals-preferences-inventory
40
+ :new-view="props.newView"
41
+ :vm-cluster="props.vmCluster"
42
+ @update-vm-clusters="emits('update-vm-clusters', $event)"
40
43
  />
41
44
  </ui-modal-block-form-standard>
42
45
 
43
46
  <ui-modal-block-form-standard without-border-bottom>
44
- <common-layout-the-header-user-menu-modals-preferences-view-new
45
- :project="props.project"
46
- :is-new-view="props.newView"
47
- @update="emits('update-is-new-view', $event)"
47
+ <common-layout-the-header-user-menu-modals-preferences-view
48
+ :new-view="props.newView"
49
+ :new-view-local="props.newViewLocal"
50
+ @update-is-new-view="emits('update-is-new-view', $event)"
48
51
  />
49
52
  </ui-modal-block-form-standard>
50
53
  </ui-modal-block-standard>
@@ -56,7 +59,6 @@
56
59
  import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
57
60
  import type { UI_I_Localization } from '~/lib/models/interfaces'
58
61
  import type { UI_T_LangValue, UI_T_Project } from '~/lib/models/types'
59
- import type { UI_I_User } from '~/components/common/layout/theHeader/userMenu/lib/models/interfaces'
60
62
  import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
61
63
 
62
64
  const props = defineProps<{
@@ -65,15 +67,18 @@ const props = defineProps<{
65
67
  selectedLanguage: UI_I_Dropdown
66
68
  selectedLanguageType: UI_T_LangValue
67
69
  newView: boolean
68
- user?: UI_I_User
70
+ newViewLocal: boolean
71
+ remoteConsole: string
72
+ vmCluster: boolean
69
73
  }>()
70
74
  const emits = defineEmits<{
71
75
  (event: 'hide'): void
72
76
  (event: 'update-time-format', value: UI_T_TimeValue): void
73
- (event: 'update-language-type', value: string): void
74
77
  (event: 'update-language', value: UI_I_Dropdown): void
75
78
  (event: 'update-is-browser', value: string): void
76
79
  (event: 'update-is-new-view', value: boolean): void
80
+ (event: 'update-remote-console', value: string): void
81
+ (event: 'update-vm-clusters', value: boolean): void
77
82
  (event: 'submit'): void
78
83
  (event: 'reset'): void
79
84
  }>()
@@ -86,9 +91,5 @@ const isSphere = ref<boolean>(props.project === 'sphere')
86
91
 
87
92
  const onHide = (): void => {
88
93
  emits('hide')
89
-
90
- if (isSphere.value) {
91
- $store.dispatch('profile/A_PREFERENCES_FOR_CHANGING', { clear: true })
92
- }
93
94
  }
94
95
  </script>
@@ -14,38 +14,41 @@
14
14
  :items="tabsItems"
15
15
  />
16
16
 
17
- <common-layout-the-header-user-menu-modals-preferences-time-format-old
17
+ <common-layout-the-header-user-menu-modals-preferences-time-format
18
18
  v-if="selectedTab === 'time-tab'"
19
+ :new-view="props.newView"
19
20
  :time-format="props.timeFormat"
20
- @update="emits('update-time-format', $event)"
21
+ @update-time-format="emits('update-time-format', $event)"
21
22
  />
22
23
 
23
- <common-layout-the-header-user-menu-modals-preferences-change-language-old
24
+ <common-layout-the-header-user-menu-modals-preferences-change-language
24
25
  v-if="selectedTab === 'language-tab'"
26
+ :new-view="props.newView"
25
27
  :selected-type="props.selectedLanguageType"
26
28
  :selected-language="props.selectedLanguage"
27
- :project="props.project"
28
- @update-language-type="emits('update-language-type', $event)"
29
- @update="emits('update-language', $event)"
29
+ @update-language="emits('update-language', $event)"
30
30
  @update-is-browser="emits('update-is-browser', $event)"
31
31
  />
32
32
 
33
33
  <common-layout-the-header-user-menu-modals-preferences-inventory
34
34
  v-if="selectedTab === 'inventory-tab' && isSphere"
35
- :vm-cluster="props.user?.ui_options?.vm_in_hosts_clusters"
35
+ :new-view="props.newView"
36
+ :vm-cluster="props.vmCluster"
37
+ @update-vm-clusters="emits('update-vm-clusters', $event)"
36
38
  />
37
39
 
38
40
  <common-layout-the-header-user-menu-modals-preferences-default-console
39
41
  v-if="selectedTab === 'console-tab' && isSphere"
40
- :remote-console="props.user?.ui_options?.remote_console"
41
- :project="props.project"
42
+ :new-view="props.newView"
43
+ :remote-console="props.remoteConsole"
44
+ @update-remote-console="emits('update-remote-console', $event)"
42
45
  />
43
46
 
44
- <common-layout-the-header-user-menu-modals-preferences-view-old
47
+ <common-layout-the-header-user-menu-modals-preferences-view
45
48
  v-if="selectedTab === 'view-tab'"
46
- :project="props.project"
47
- :is-new-view="props.newView"
48
- @update="emits('update-is-new-view', $event)"
49
+ :new-view="props.newView"
50
+ :new-view-local="props.newViewLocal"
51
+ @update-is-new-view="emits('update-is-new-view', $event)"
49
52
  />
50
53
  </template>
51
54
 
@@ -75,7 +78,6 @@ import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/model
75
78
  import type { UI_I_Localization } from '~/lib/models/interfaces'
76
79
  import type { UI_T_LangValue, UI_T_Project } from '~/lib/models/types'
77
80
  import type { UI_T_UserPreferenceTab } from '~/components/common/layout/theHeader/userMenu/modals/preferences/lib/models/types'
78
- import type { UI_I_User } from '~/components/common/layout/theHeader/userMenu/lib/models/interfaces'
79
81
  import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
80
82
  import { preferencesTabs } from '~/components/common/layout/theHeader/userMenu/modals/preferences/lib/config/preferencesTabs'
81
83
 
@@ -85,15 +87,17 @@ const props = defineProps<{
85
87
  selectedLanguage: UI_T_LangValue
86
88
  selectedLanguageType: UI_T_LangValue
87
89
  newView: boolean
88
- user?: UI_I_User
90
+ remoteConsole: string
91
+ vmCluster: boolean
89
92
  }>()
90
93
  const emits = defineEmits<{
91
94
  (event: 'hide'): void
92
95
  (event: 'update-time-format', value: UI_T_TimeValue): void
93
- (event: 'update-language-type', value: string): void
94
96
  (event: 'update-language', value: string): void
95
97
  (event: 'update-is-browser', value: string): void
96
98
  (event: 'update-is-new-view', value: boolean): void
99
+ (event: 'update-remote-console', value: string): void
100
+ (event: 'update-vm-clusters', value: boolean): void
97
101
  (event: 'submit'): void
98
102
  }>()
99
103
 
@@ -113,7 +117,6 @@ const onHide = (): void => {
113
117
 
114
118
  if (isSphere.value) {
115
119
  selectedTab.value = 'time-tab'
116
- $store.dispatch('profile/A_PREFERENCES_FOR_CHANGING', { clear: true })
117
120
  }
118
121
  }
119
122
  </script>
@@ -0,0 +1,110 @@
1
+ <template>
2
+ <common-layout-the-header-user-menu-modals-preferences-change-language-new
3
+ v-if="props.newView"
4
+ :selected-language="selectedLanguageLocal"
5
+ :description="description"
6
+ :radio-options="radioOptions"
7
+ :language-mode="languageMode"
8
+ :locales="locales"
9
+ @update-language="onSelectLang"
10
+ @update-is-browser="onUpdateIsBrowser"
11
+ />
12
+ <common-layout-the-header-user-menu-modals-preferences-change-language-old
13
+ v-else
14
+ :selected-language="selectedLanguageLocal"
15
+ :description="description"
16
+ :radio-options="radioOptions"
17
+ :language-mode="languageMode"
18
+ :locales="locales"
19
+ @update-language="onSelectLang"
20
+ @update-is-browser="onUpdateIsBrowser"
21
+ />
22
+ </template>
23
+
24
+ <script setup lang="ts">
25
+ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
26
+ import type { UI_T_LangValue } from '~/lib/models/types'
27
+ import type { UI_T_SelectedRadio } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/types'
28
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
29
+ import type { UI_I_RadioItemLang } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/interfaces'
30
+ import { locales } from '~/components/common/selectLanguage/lib/config/config'
31
+ import { findInLocals } from '~/components/common/selectLanguage/lib/utils/utils'
32
+ import { UI_E_DetectSelectedRadio } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/enums'
33
+ import { radioOptionsFunc } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/config/radioOptions'
34
+ import { defineBrowserLangFunc } from '~/components/common/layout/theHeader/lib/utils/localization'
35
+
36
+ const props = defineProps<{
37
+ newView: boolean
38
+ selectedType: UI_T_LangValue
39
+ selectedLanguage: UI_I_Dropdown
40
+ }>()
41
+
42
+ const emits = defineEmits<{
43
+ (event: 'update-language', value: UI_I_Dropdown): void
44
+ (event: 'update-is-browser', value: string): void
45
+ }>()
46
+
47
+ const config = useRuntimeConfig()
48
+ const localization = computed<UI_I_Localization>(() => useLocal())
49
+
50
+ const description = computed<string>(() => {
51
+ return localization.value.languageDesc.replaceAll(
52
+ '{trademark}',
53
+ String(config.public[`TRADEMARK_${useEnvLanguage()}`])
54
+ )
55
+ })
56
+
57
+ const radioOptions = readonly<UI_I_RadioItemLang[]>(
58
+ radioOptionsFunc(localization.value)
59
+ )
60
+
61
+ const languageMode = ref<UI_T_SelectedRadio>(
62
+ UI_E_DetectSelectedRadio[props.selectedType]
63
+ )
64
+
65
+ const selectedLanguageLocal = ref<UI_I_Dropdown>(props.selectedLanguage)
66
+
67
+ const setPreferenceLang = (language: string): void => {
68
+ let currentLang = language
69
+
70
+ language === 'BROWSER' &&
71
+ (currentLang = findInLocals(defineBrowserLangFunc()))
72
+
73
+ emits('update-language', currentLang)
74
+ }
75
+
76
+ const onSelectLang = (newValue: string): void => {
77
+ selectedLanguageLocal.value && setPreferenceLang(newValue)
78
+ }
79
+
80
+ const onChange = (): void => {
81
+ const lang =
82
+ languageMode.value === 'LANG'
83
+ ? selectedLanguageLocal.value
84
+ : languageMode.value // 'BROWSER'
85
+
86
+ lang && setPreferenceLang(lang)
87
+ }
88
+
89
+ const onUpdateIsBrowser = (value: string): void => {
90
+ emits('update-is-browser', value)
91
+ }
92
+
93
+ watch(
94
+ () => props.selectedLanguage,
95
+ (newValue: UI_I_Dropdown) => {
96
+ selectedLanguageLocal.value = newValue
97
+ },
98
+ { immediate: true }
99
+ )
100
+
101
+ watch(
102
+ () => props.selectedType,
103
+ (newValue: UI_T_LangValue) => {
104
+ languageMode.value = UI_E_DetectSelectedRadio[newValue]
105
+ onChange()
106
+ newValue && onUpdateIsBrowser(newValue)
107
+ },
108
+ { immediate: true }
109
+ )
110
+ </script>