bfg-common 1.5.708 → 1.5.709

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 (197) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-1.svg +2 -3
  3. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  4. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  5. package/assets/img/icons/icons-sprite-light-1.svg +3 -4
  6. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  7. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  8. package/assets/localization/local_be.json +46 -3
  9. package/assets/localization/local_en.json +46 -3
  10. package/assets/localization/local_hy.json +46 -3
  11. package/assets/localization/local_kk.json +46 -3
  12. package/assets/localization/local_ru.json +48 -5
  13. package/assets/localization/local_zh.json +46 -3
  14. package/assets/scss/common/icons/icons-1.scss +1 -1
  15. package/assets/scss/common/icons/icons-2.scss +18 -0
  16. package/assets/scss/common/theme.scss +2 -0
  17. package/assets/scss/components/auth.scss +32 -5
  18. package/components/atoms/TheIcon3.vue +50 -50
  19. package/components/atoms/collapse/CollapseNav.vue +170 -170
  20. package/components/atoms/dropdown/tree/Tree.vue +2 -0
  21. package/components/atoms/perPage/PerPage.vue +58 -58
  22. package/components/atoms/switch/Switch.vue +7 -1
  23. package/components/atoms/table/dataGrid/DataGrid.vue +1718 -1718
  24. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  25. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  26. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  27. package/components/atoms/wizard/Wizard.vue +1 -1
  28. package/components/common/backup/storage/actions/add/lib/utils.ts +51 -51
  29. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  30. package/components/common/certificate/Certificate.vue +27 -0
  31. package/components/common/certificate/CertificateInfo.vue +139 -0
  32. package/components/common/certificate/Tools.vue +59 -0
  33. package/components/common/certificate/lib/config/tabsPannel.ts +22 -0
  34. package/components/common/certificate/lib/models/interfaces.ts +9 -0
  35. package/components/common/certificate/lib/models/types.ts +1 -0
  36. package/components/common/certificate/modals/renew/New.vue +64 -0
  37. package/components/common/certificate/modals/renew/Old.vue +122 -0
  38. package/components/common/certificate/modals/renew/Renew.vue +67 -0
  39. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  40. package/components/common/diagramMain/port/Port.vue +580 -580
  41. package/components/common/help/navbar/left/lib/utils/constructAccordion.ts +2 -1
  42. package/components/common/help/navbar/right/Right.vue +86 -23
  43. package/components/common/layout/theHeader/TheHeader.vue +186 -191
  44. package/components/common/layout/theHeader/TheHeaderNew.vue +3 -7
  45. package/components/common/layout/theHeader/TheHeaderOld.vue +3 -7
  46. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  47. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  48. package/components/common/layout/theHeader/modals/reconnect/ReconnectOld.vue +2 -0
  49. package/components/common/layout/theHeader/userMenu/UserMenu.vue +109 -113
  50. package/components/common/layout/theHeader/userMenu/modals/changePassword/ChangePassword.vue +12 -21
  51. package/components/common/layout/theHeader/userMenu/modals/changePassword/New.vue +36 -43
  52. package/components/common/layout/theHeader/userMenu/modals/changePassword/Old.vue +0 -2
  53. package/components/common/layout/theHeader/userMenu/modals/changePassword/lib/utils.ts +1 -1
  54. package/components/common/layout/theHeader/userMenu/modals/preferences/Preferences.vue +81 -86
  55. package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesNew.vue +113 -102
  56. package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesOld.vue +2 -4
  57. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguage.vue +114 -115
  58. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/{ChangeLanguageNew.vue → New.vue} +65 -89
  59. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/{ChangeLanguageOld.vue → Old.vue} +66 -91
  60. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/DefaultConsole.vue +8 -7
  61. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/{DefaultConsoleNew.vue → New.vue} +3 -3
  62. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/{DefaultConsoleOld.vue → Old.vue} +2 -2
  63. package/components/common/layout/theHeader/userMenu/modals/preferences/inventory/Inventory.vue +7 -8
  64. package/components/common/layout/theHeader/userMenu/modals/preferences/inventory/{InventoryNew.vue → New.vue} +3 -2
  65. package/components/common/layout/theHeader/userMenu/modals/preferences/inventory/{InventoryOld.vue → Old.vue} +2 -2
  66. package/components/common/layout/theHeader/userMenu/modals/preferences/lib/models/types.ts +7 -7
  67. package/components/common/layout/theHeader/userMenu/modals/preferences/security/New.vue +277 -12
  68. package/components/common/layout/theHeader/userMenu/modals/preferences/security/Old.vue +30 -56
  69. package/components/common/layout/theHeader/userMenu/modals/preferences/security/Security.vue +65 -6
  70. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/{TimeFormatNew.vue → New.vue} +3 -3
  71. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/{TimeFormatOld.vue → Old.vue} +2 -2
  72. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/TimeFormat.vue +8 -8
  73. package/components/common/layout/theHeader/userMenu/modals/preferences/view/{ViewNew.vue → New.vue} +12 -3
  74. package/components/common/layout/theHeader/userMenu/modals/preferences/view/{ViewOld.vue → Old.vue} +2 -2
  75. package/components/common/layout/theHeader/userMenu/modals/preferences/view/View.vue +33 -45
  76. package/components/common/monitor/advanced/graphView/GraphView.vue +8 -0
  77. package/components/common/monitor/advanced/tools/Tools.vue +5 -1
  78. package/components/common/pages/auth/TheFooter.vue +104 -0
  79. package/components/common/pages/backups/DetailView.vue +52 -52
  80. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  81. package/components/common/pages/backups/modals/Modals.vue +243 -243
  82. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  83. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +69 -69
  84. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  85. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  86. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  87. package/components/common/pages/files/lib/models/enums.ts +10 -0
  88. package/components/common/pages/hardwareHealth/historyTestimony/tools/Tools.vue +7 -2
  89. package/components/common/pages/hardwareHealth/tableView/TableView.vue +8 -0
  90. package/components/common/pages/hardwareHealth/tableView/lib/config/sensorTable.ts +13 -1
  91. package/components/common/pages/hardwareHealth/toolsPanel/lib/config/actionsPanel.ts +4 -4
  92. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  93. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  94. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  95. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  96. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  97. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  98. package/components/common/pages/tasks/table/expandDetails/ExpandDetails.vue +1 -1
  99. package/components/common/qr/Qr.vue +69 -0
  100. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  101. package/components/common/select/radio/RadioGroup.vue +137 -137
  102. package/components/common/selectLanguage/SelectLanguage.vue +200 -200
  103. package/components/common/spiceConsole/Drawer.vue +420 -420
  104. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  105. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  106. package/components/common/split/horizontal/New.vue +0 -2
  107. package/components/common/split/vertical/New.vue +2 -1
  108. package/components/common/tools/Actions.vue +207 -207
  109. package/components/common/treeView/TreeView.vue +52 -52
  110. package/components/common/vm/actions/add/New.vue +1 -1
  111. package/components/common/vm/actions/add/Old.vue +1 -1
  112. package/components/common/vm/actions/clone/lib/config/steps.ts +295 -295
  113. package/components/common/vm/actions/clone/new/New.vue +438 -438
  114. package/components/common/vm/actions/clone/old/Old.vue +1 -0
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/New.vue +10 -34
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/Old.vue +15 -37
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +49 -50
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/coresPerSocket/CoresPerSocket.vue +1 -1
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces.ts +3 -1
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +283 -283
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +13 -7
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/New.vue +7 -4
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +52 -45
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/Old.vue +5 -8
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +1 -3
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/New.vue +2 -2
  128. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/Old.vue +2 -2
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +1 -1
  130. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/New.vue +1 -2
  131. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/Old.vue +1 -2
  132. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/New.vue +1 -1
  133. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +1 -1
  134. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/Old.vue +1 -1
  135. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +156 -156
  136. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  137. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  138. package/components/common/vm/actions/common/select/options/New.vue +264 -264
  139. package/components/common/vm/actions/common/select/options/Old.vue +1 -2
  140. package/components/common/vm/actions/common/select/options/Options.vue +58 -58
  141. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  142. package/components/common/vm/actions/common/select/storage/new/New.vue +311 -311
  143. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  144. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  145. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  146. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  147. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  148. package/components/common/wizards/common/compatibility/New.vue +1 -1
  149. package/components/common/wizards/common/compatibility/Old.vue +1 -1
  150. package/components/common/wizards/common/steps/computeResource/New.vue +93 -93
  151. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  152. package/components/common/wizards/common/steps/name/New.vue +221 -221
  153. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  154. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  155. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  156. package/components/common/wizards/datastore/add/Add.vue +228 -228
  157. package/components/common/wizards/datastore/add/lib/config/createDatastore.ts +1 -0
  158. package/components/common/wizards/datastore/add/lib/models/interfaces.ts +1 -0
  159. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  160. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceNew.vue +5 -0
  161. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceOld.vue +5 -0
  162. package/components/common/wizards/datastore/add/steps/nameAndDevice/advancedOptions/AdvancedOptions.vue +43 -0
  163. package/components/common/wizards/datastore/add/steps/nameAndDevice/advancedOptions/New.vue +114 -0
  164. package/components/common/wizards/datastore/add/steps/nameAndDevice/advancedOptions/Old.vue +114 -0
  165. package/components/common/wizards/datastore/add/steps/nameAndDevice/table/old/Old.vue +2 -3
  166. package/components/common/wizards/datastore/add/steps/readyComplete/lib/config/propertiesDetails.ts +8 -1
  167. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  168. package/components/common/wizards/vm/migrate/lib/models/enums.ts +2 -2
  169. package/components/common/wizards/vm/migrate/steps/selectStorage/SelectStorage.vue +4 -4
  170. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/new/lib/config/diskTable.ts +6 -2
  171. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/old/lib/config/diskTable.ts +18 -12
  172. package/composables/useAppVersion.ts +21 -21
  173. package/composables/useEnvLanguage.ts +7 -8
  174. package/composables/useLocal.ts +6 -6
  175. package/composables/useLocalCommon.ts +39 -39
  176. package/lib/models/interfaces.ts +1 -0
  177. package/package.json +3 -4
  178. package/plugins/console.ts +21 -21
  179. package/plugins/date.ts +14 -37
  180. package/plugins/mouse.ts +21 -21
  181. package/plugins/panelStates.ts +70 -70
  182. package/plugins/text.ts +59 -59
  183. package/public/spice-console/application/clientgui.js +854 -854
  184. package/public/spice-console/application/packetfactory.js +211 -211
  185. package/public/spice-console/application/virtualmouse.js +147 -147
  186. package/public/spice-console/lib/images/bitmap.js +203 -203
  187. package/public/spice-console/network/spicechannel.js +440 -440
  188. package/public/spice-console/process/cursorprocess.js +128 -128
  189. package/public/spice-console/process/inputprocess.js +227 -227
  190. package/public/spice-console/process/mainprocess.js +212 -212
  191. package/public/spice-console/run.js +210 -210
  192. package/store/main/getters.ts +2 -2
  193. package/store/main/mutations.ts +7 -7
  194. package/store/main/state.ts +7 -7
  195. package/store/tasks/mappers/recentTasks.ts +123 -123
  196. package/store/tasks/mutations.ts +82 -82
  197. package/components/common/qrcode/Qrcode.vue +0 -56
@@ -1,115 +1,114 @@
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 { UI_E_DetectSelectedRadio } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/enums'
31
- import { locales } from '~/components/common/selectLanguage/lib/config/config'
32
- import { findInLocals } from '~/components/common/selectLanguage/lib/utils/utils'
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 | UI_T_LangValue
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.common.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 | UI_T_LangValue>(
66
- props.selectedLanguage
67
- )
68
-
69
- const setPreferenceLang = (language: string): void => {
70
- let currentLang = language
71
-
72
- language === 'BROWSER' &&
73
- (currentLang = findInLocals(defineBrowserLangFunc()))
74
-
75
- emits('update-language', currentLang)
76
- }
77
-
78
- const onSelectLang = (newValue: string): void => {
79
- selectedLanguageLocal.value && setPreferenceLang(newValue)
80
- }
81
-
82
- const onChange = (): void => {
83
- const lang =
84
- languageMode.value === 'LANG'
85
- ? selectedLanguageLocal.value
86
- : languageMode.value // 'BROWSER'
87
-
88
- lang && setPreferenceLang(lang)
89
- }
90
-
91
- const onUpdateIsBrowser = (value: string): void => {
92
- emits('update-is-browser', value)
93
- }
94
-
95
- watch(
96
- () => props.selectedLanguage,
97
- (newValue: UI_I_Dropdown) => {
98
- selectedLanguageLocal.value = newValue
99
- },
100
- { immediate: true }
101
- )
102
-
103
- watch(
104
- () => props.selectedType,
105
- (newValue: UI_T_LangValue) => {
106
- languageMode.value = UI_E_DetectSelectedRadio[newValue]
107
- onChange()
108
- newValue && onUpdateIsBrowser(newValue)
109
- },
110
- { immediate: true }
111
- )
112
-
113
- // TODO remove
114
- // const localsLocal = ref<any>(locales.filter((_, i) => i > 0))
115
- </script>
1
+ <template>
2
+ <component
3
+ :is="currentComponent"
4
+ v-model:language-mode="languageMode"
5
+ v-model:selected-language="selectedLanguageLocal"
6
+ :description="description"
7
+ :radio-options="radioOptions"
8
+ :locales="locales"
9
+ />
10
+ </template>
11
+
12
+ <script setup lang="ts">
13
+ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
14
+ import type { UI_T_LangValue } from '~/lib/models/types'
15
+ import type { UI_T_SelectedRadio } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/types'
16
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
17
+ import type { UI_I_RadioItemLang } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/interfaces'
18
+ import { UI_E_DetectSelectedRadio } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/enums'
19
+ import { locales } from '~/components/common/selectLanguage/lib/config/config'
20
+ import { findInLocals } from '~/components/common/selectLanguage/lib/utils/utils'
21
+ import { radioOptionsFunc } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/config/radioOptions'
22
+ import { defineBrowserLangFunc } from '~/components/common/layout/theHeader/lib/utils/localization'
23
+
24
+ const props = defineProps<{
25
+ newView: boolean
26
+ selectedType: UI_T_LangValue
27
+ selectedLanguage: UI_I_Dropdown | UI_T_LangValue
28
+ }>()
29
+
30
+ const emits = defineEmits<{
31
+ (event: 'update-language', value: UI_I_Dropdown): void
32
+ (event: 'update-is-browser', value: string): void
33
+ }>()
34
+
35
+ const config = useRuntimeConfig()
36
+ const localization = computed<UI_I_Localization>(() => useLocal())
37
+
38
+ const currentComponent = computed(() =>
39
+ props.newView
40
+ ? defineAsyncComponent(() => import('./New.vue'))
41
+ : defineAsyncComponent(() => import('./Old.vue'))
42
+ )
43
+
44
+ const description = computed<string>(() => {
45
+ return localization.value.common.languageDesc.replaceAll(
46
+ '{trademark}',
47
+ String(config.public[`TRADEMARK_${useEnvLanguage()}`])
48
+ )
49
+ })
50
+
51
+ const radioOptions = readonly<UI_I_RadioItemLang[]>(
52
+ radioOptionsFunc(localization.value)
53
+ )
54
+
55
+ const languageMode = ref<UI_T_SelectedRadio>(
56
+ UI_E_DetectSelectedRadio[props.selectedType]
57
+ )
58
+
59
+ const selectedLanguageLocal = ref<UI_I_Dropdown | UI_T_LangValue>(
60
+ props.selectedLanguage
61
+ )
62
+
63
+ const setPreferenceLang = (language: string): void => {
64
+ let currentLang = language
65
+
66
+ language === 'BROWSER' &&
67
+ (currentLang = findInLocals(defineBrowserLangFunc()))
68
+
69
+ emits('update-language', currentLang)
70
+ }
71
+
72
+ const onSelectLang = (newValue: string): void => {
73
+ selectedLanguageLocal.value && setPreferenceLang(newValue)
74
+ }
75
+
76
+ const onChange = (): void => {
77
+ const lang =
78
+ languageMode.value === 'LANG'
79
+ ? selectedLanguageLocal.value
80
+ : languageMode.value // 'BROWSER'
81
+
82
+ lang && setPreferenceLang(lang)
83
+ }
84
+
85
+ const onUpdateIsBrowser = (value: string): void => {
86
+ emits('update-is-browser', value)
87
+ }
88
+
89
+ watch(
90
+ () => props.selectedLanguage,
91
+ (newValue: UI_I_Dropdown) => {
92
+ selectedLanguageLocal.value = newValue
93
+ },
94
+ { immediate: true }
95
+ )
96
+
97
+ watch(
98
+ () => props.selectedType,
99
+ (newValue: UI_T_LangValue) => {
100
+ languageMode.value = UI_E_DetectSelectedRadio[newValue]
101
+ onChange()
102
+ newValue && onUpdateIsBrowser(newValue)
103
+ },
104
+ { immediate: true }
105
+ )
106
+
107
+ watch(languageMode, (newValue) => {
108
+ onUpdateIsBrowser(newValue)
109
+ })
110
+
111
+ watch(selectedLanguageLocal, (newValue) => {
112
+ onSelectLang(newValue)
113
+ })
114
+ </script>
@@ -1,89 +1,65 @@
1
- <template>
2
- <form id="change-language-form" @submit.prevent>
3
- <div class="flex">
4
- <ui-modal-icon>
5
- <ui-icon-icon3 name="language-new" width="20" height="20" />
6
- </ui-modal-icon>
7
-
8
- <div>
9
- <div class="form-first-title">
10
- {{ localization.common.language }}
11
- </div>
12
- <div class="form-second-title">
13
- {{ props.description }}
14
- </div>
15
-
16
- <div v-for="(item, key) in radioOptions" :key="key" class="radio flex">
17
- <ui-radio
18
- v-model="languageModeLocal"
19
- :test-id="item.testId"
20
- :label="item.label"
21
- :value="item.value"
22
- size="sm"
23
- />
24
-
25
- <span v-if="item.selectLang" class="select-language">
26
- <common-select-language
27
- v-model="selectedLanguageLocal"
28
- :normalize-lang="props.locales"
29
- :disabled="languageModeLocal === 'BROWSER'"
30
- width="max-content"
31
- size="xs"
32
- />
33
- </span>
34
- </div>
35
- </div>
36
- </div>
37
- </form>
38
- </template>
39
-
40
- <script setup lang="ts">
41
- import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
42
- import type { UI_T_SelectedRadio } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/types'
43
- import type { UI_I_Localization } from '~/lib/models/interfaces'
44
- import type { UI_I_RadioItemLang } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/interfaces'
45
-
46
- const props = defineProps<{
47
- selectedLanguage: UI_I_Dropdown
48
- description: string
49
- radioOptions: UI_I_RadioItemLang[]
50
- languageMode: UI_T_SelectedRadio
51
- locales: UI_I_Dropdown[]
52
- }>()
53
-
54
- const emits = defineEmits<{
55
- (event: 'update-language', value: UI_I_Dropdown): void
56
- (event: 'update-is-browser', value: string): void
57
- }>()
58
-
59
- // const config = useRuntimeConfig()
60
- const localization = computed<UI_I_Localization>(() => useLocal())
61
-
62
- const selectedLanguageLocal = computed<UI_I_Dropdown>({
63
- get() {
64
- return props.selectedLanguage
65
- },
66
- set(newValue: UI_I_Dropdown) {
67
- emits('update-language', newValue)
68
- },
69
- })
70
-
71
- const languageModeLocal = computed<UI_T_SelectedRadio>({
72
- get() {
73
- return props.languageMode
74
- },
75
- set(newValue: UI_T_SelectedRadio) {
76
- emits('update-is-browser', newValue)
77
- },
78
- })
79
- </script>
80
-
81
- <style lang="scss" scoped>
82
- .radio:not(:last-child) {
83
- margin-bottom: 8px;
84
- }
85
-
86
- .select-language {
87
- margin-left: 8px;
88
- }
89
- </style>
1
+ <template>
2
+ <form id="change-language-form" @submit.prevent>
3
+ <div class="flex">
4
+ <ui-modal-icon>
5
+ <ui-icon-icon3 name="language-new" width="20" height="20" />
6
+ </ui-modal-icon>
7
+
8
+ <div>
9
+ <div class="form-first-title">
10
+ {{ localization.common.language }}
11
+ </div>
12
+ <div class="form-second-title">
13
+ {{ props.description }}
14
+ </div>
15
+
16
+ <div v-for="(item, key) in radioOptions" :key="key" class="radio flex">
17
+ <ui-radio
18
+ v-model="languageMode"
19
+ :test-id="item.testId"
20
+ :label="item.label"
21
+ :value="item.value"
22
+ size="md"
23
+ />
24
+
25
+ <span v-if="item.selectLang" class="select-language">
26
+ <common-select-language
27
+ v-model="selectedLanguage"
28
+ :normalize-lang="props.locales"
29
+ :disabled="languageMode === 'BROWSER'"
30
+ width="max-content"
31
+ size="xs"
32
+ />
33
+ </span>
34
+ </div>
35
+ </div>
36
+ </div>
37
+ </form>
38
+ </template>
39
+
40
+ <script setup lang="ts">
41
+ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
42
+ import type { UI_T_SelectedRadio } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/types'
43
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
44
+ import type { UI_I_RadioItemLang } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/interfaces'
45
+
46
+ const languageMode = defineModel<UI_T_SelectedRadio>('languageMode')
47
+ const selectedLanguage = defineModel<UI_I_Dropdown>('selectedLanguage')
48
+ const props = defineProps<{
49
+ description: string
50
+ radioOptions: UI_I_RadioItemLang[]
51
+ locales: UI_I_Dropdown[]
52
+ }>()
53
+
54
+ const localization = computed<UI_I_Localization>(() => useLocal())
55
+ </script>
56
+
57
+ <style lang="scss" scoped>
58
+ .radio:not(:last-child) {
59
+ margin-bottom: 8px;
60
+ }
61
+
62
+ .select-language {
63
+ margin-left: 8px;
64
+ }
65
+ </style>
@@ -1,91 +1,66 @@
1
- <template>
2
- <form id="change-language-form" class="compact change-default-console">
3
- <div class="description">
4
- {{ props.description }}
5
- </div>
6
-
7
- <div v-for="(item, key) in props.radioOptions" :key="key" class="radio">
8
- <input
9
- :id="item.label"
10
- v-model="languageModeLocal"
11
- :data-id="item.testId"
12
- :value="item.value"
13
- type="radio"
14
- />
15
- <label :for="item.label"> {{ item.label }} </label>
16
-
17
- <span v-if="item.selectLang" class="select select-lang">
18
- <select
19
- id="language-select"
20
- v-model="selectedLanguageLocal"
21
- :disabled="languageModeLocal !== item.value"
22
- data-id="language-select"
23
- >
24
- <option
25
- v-for="(item2, key2) in props.locales"
26
- :key="key2"
27
- :value="item2.value"
28
- >
29
- {{ item2.text }}
30
- </option>
31
- </select>
32
- </span>
33
- </div>
34
- </form>
35
- </template>
36
-
37
- <script setup lang="ts">
38
- import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
39
- import type { UI_T_LangValue } from '~/lib/models/types'
40
- import type { UI_T_SelectedRadio } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/types'
41
- import type { UI_I_RadioItemLang } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/interfaces'
42
-
43
- const props = defineProps<{
44
- selectedLanguage: UI_T_LangValue
45
- description: string
46
- radioOptions: UI_I_RadioItemLang[]
47
- languageMode: UI_T_SelectedRadio
48
- locales: UI_I_Dropdown[]
49
- }>()
50
-
51
- const emits = defineEmits<{
52
- (event: 'update-language', value: UI_T_LangValue): void
53
- (event: 'update-is-browser', value: string): void
54
- }>()
55
-
56
- // const config = useRuntimeConfig()
57
-
58
- const selectedLanguageLocal = computed<UI_T_LangValue>({
59
- get() {
60
- return props.selectedLanguage
61
- },
62
- set(newValue: UI_T_LangValue) {
63
- emits('update-language', newValue)
64
- },
65
- })
66
-
67
- const languageModeLocal = computed<UI_T_SelectedRadio>({
68
- get() {
69
- return props.languageMode
70
- },
71
- set(newValue: UI_T_SelectedRadio) {
72
- emits('update-is-browser', newValue)
73
- },
74
- })
75
- </script>
76
-
77
- <style lang="scss" scoped>
78
- .radio {
79
- margin-bottom: 5px;
80
- &:nth-child(2) {
81
- margin-top: 10px;
82
- }
83
- }
84
- .select-lang {
85
- margin-left: 3px;
86
- height: 24px;
87
- & > select {
88
- height: 100%;
89
- }
90
- }
91
- </style>
1
+ <template>
2
+ <form id="change-language-form" class="compact change-default-console">
3
+ <div class="description">
4
+ {{ props.description }}
5
+ </div>
6
+
7
+ <div v-for="(item, key) in props.radioOptions" :key="key" class="radio">
8
+ <input
9
+ :id="item.label"
10
+ v-model="languageMode"
11
+ :data-id="item.testId"
12
+ :value="item.value"
13
+ type="radio"
14
+ />
15
+ <label :for="item.label"> {{ item.label }} </label>
16
+
17
+ <span v-if="item.selectLang" class="select select-lang">
18
+ <select
19
+ id="language-select"
20
+ v-model="selectedLanguage"
21
+ :disabled="languageMode !== item.value"
22
+ data-id="language-select"
23
+ >
24
+ <option
25
+ v-for="(item2, key2) in props.locales"
26
+ :key="key2"
27
+ :value="item2.value"
28
+ >
29
+ {{ item2.text }}
30
+ </option>
31
+ </select>
32
+ </span>
33
+ </div>
34
+ </form>
35
+ </template>
36
+
37
+ <script setup lang="ts">
38
+ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
39
+ import type { UI_T_LangValue } from '~/lib/models/types'
40
+ import type { UI_T_SelectedRadio } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/types'
41
+ import type { UI_I_RadioItemLang } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/interfaces'
42
+
43
+ const languageMode = defineModel<UI_T_SelectedRadio>('languageMode')
44
+ const selectedLanguage = defineModel<UI_T_LangValue>('selectedLanguage')
45
+ const props = defineProps<{
46
+ description: string
47
+ radioOptions: UI_I_RadioItemLang[]
48
+ locales: UI_I_Dropdown[]
49
+ }>()
50
+ </script>
51
+
52
+ <style lang="scss" scoped>
53
+ .radio {
54
+ margin-bottom: 5px;
55
+ &:nth-child(2) {
56
+ margin-top: 10px;
57
+ }
58
+ }
59
+ .select-lang {
60
+ margin-left: 3px;
61
+ height: 24px;
62
+ & > select {
63
+ height: 100%;
64
+ }
65
+ }
66
+ </style>
@@ -1,11 +1,6 @@
1
1
  <template>
2
- <common-layout-the-header-user-menu-modals-preferences-default-console-new
3
- v-if="props.newView"
4
- v-model="consoleValue"
5
- :console-options="consoleOptions"
6
- />
7
- <common-layout-the-header-user-menu-modals-preferences-default-console-old
8
- v-else
2
+ <component
3
+ :is="currentComponent"
9
4
  v-model="consoleValue"
10
5
  :console-options="consoleOptions"
11
6
  />
@@ -25,6 +20,12 @@ const emits = defineEmits<{
25
20
  (event: 'update-remote-console', value: string): void
26
21
  }>()
27
22
 
23
+ const currentComponent = computed(() =>
24
+ props.newView
25
+ ? defineAsyncComponent(() => import('./New.vue'))
26
+ : defineAsyncComponent(() => import('./Old.vue'))
27
+ )
28
+
28
29
  const localization = computed<UI_I_Localization>(() => useLocal())
29
30
 
30
31
  const consoleOptions = readonly<UI_I_RadioItemConsole[]>(
@@ -25,7 +25,7 @@
25
25
  :label="item.label"
26
26
  :value="item.value"
27
27
  :disabled="item.disabled"
28
- size="sm"
28
+ size="md"
29
29
  />
30
30
  </div>
31
31
  </div>
@@ -37,13 +37,13 @@
37
37
  import type { UI_I_Localization } from '~/lib/models/interfaces'
38
38
  import type { UI_I_RadioItemConsole } from '~/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/lib/models/interfaces'
39
39
 
40
+ const consoleValue = defineModel<string>()
41
+
40
42
  const props = defineProps<{
41
43
  consoleOptions: UI_I_RadioItemConsole[]
42
44
  }>()
43
45
 
44
46
  const localization = computed<UI_I_Localization>(() => useLocal())
45
-
46
- const consoleValue = defineModel<string>()
47
47
  </script>
48
48
 
49
49
  <style lang="scss" scoped>
@@ -30,13 +30,13 @@
30
30
  import type { UI_I_Localization } from '~/lib/models/interfaces'
31
31
  import type { UI_I_RadioItemConsole } from '~/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/lib/models/interfaces'
32
32
 
33
+ const consoleValue = defineModel<string>()
34
+
33
35
  const props = defineProps<{
34
36
  consoleOptions: UI_I_RadioItemConsole[]
35
37
  }>()
36
38
 
37
39
  const localization = computed<UI_I_Localization>(() => useLocal())
38
-
39
- const consoleValue = defineModel<string>()
40
40
  </script>
41
41
 
42
42
  <style lang="scss" scoped>
@@ -1,12 +1,5 @@
1
1
  <template>
2
- <common-layout-the-header-user-menu-modals-preferences-inventory-new
3
- v-if="props.newView"
4
- v-model="vmInHostsClusters"
5
- />
6
- <common-layout-the-header-user-menu-modals-preferences-inventory-old
7
- v-else
8
- v-model="vmInHostsClusters"
9
- />
2
+ <component :is="currentComponent" v-model="vmInHostsClusters" />
10
3
  </template>
11
4
 
12
5
  <script setup lang="ts">
@@ -19,6 +12,12 @@ const emits = defineEmits<{
19
12
  (event: 'update-vm-clusters', value: boolean): void
20
13
  }>()
21
14
 
15
+ const currentComponent = computed(() =>
16
+ props.newView
17
+ ? defineAsyncComponent(() => import('./New.vue'))
18
+ : defineAsyncComponent(() => import('./Old.vue'))
19
+ )
20
+
22
21
  const vmInHostsClusters = computed<boolean>({
23
22
  get() {
24
23
  return props.vmCluster
@@ -20,6 +20,7 @@
20
20
  v-model="vmInHostsClusters"
21
21
  :label-text="localization.common.virtualMachinesLabel"
22
22
  test-id="user-preferences-inventory-show-vms-checkbox"
23
+ size="md"
23
24
  />
24
25
  </div>
25
26
  </div>
@@ -29,7 +30,7 @@
29
30
  <script setup lang="ts">
30
31
  import type { UI_I_Localization } from '~/lib/models/interfaces'
31
32
 
32
- const localization = computed<UI_I_Localization>(() => useLocal())
33
-
34
33
  const vmInHostsClusters = defineModel<boolean>()
34
+
35
+ const localization = computed<UI_I_Localization>(() => useLocal())
35
36
  </script>