bfg-common 1.5.723 → 1.5.724

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 (119) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  4. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  5. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  6. package/components/atoms/TheIcon3.vue +50 -50
  7. package/components/atoms/collapse/CollapseNav.vue +170 -170
  8. package/components/atoms/perPage/PerPage.vue +58 -58
  9. package/components/atoms/table/dataGrid/DataGrid.vue +1718 -1718
  10. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  11. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  12. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  13. package/components/common/backup/storage/actions/add/lib/utils.ts +51 -51
  14. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  15. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  16. package/components/common/diagramMain/port/Port.vue +580 -580
  17. package/components/common/layout/console/Console.vue +70 -70
  18. package/components/common/layout/theHeader/{TheHeaderNew.vue → New.vue} +2 -5
  19. package/components/common/layout/theHeader/TheHeader.vue +10 -33
  20. package/components/common/layout/theHeader/ThemeSwitch.vue +8 -18
  21. package/components/common/layout/theHeader/helpMenu/HelpMenu.vue +6 -8
  22. package/components/common/layout/theHeader/helpMenu/{About.vue → about/About.vue} +69 -79
  23. package/components/common/layout/theHeader/helpMenu/{aboutNew/AboutNew.vue → about/New.vue} +4 -4
  24. package/components/common/layout/theHeader/helpMenu/about/Old.vue +78 -0
  25. package/components/common/layout/theHeader/helpMenu/{helpMenuNew/HelpMenuNew.vue → new/New.vue} +1 -1
  26. package/components/common/layout/theHeader/helpMenu/{helpMenuNew → new}/lib/config/dropMenu.ts +1 -1
  27. package/components/common/layout/theHeader/helpMenu/{helpMenuOld/HelpMenuOld.vue → old/Old.vue} +2 -2
  28. package/components/common/layout/theHeader/helpMenu/{helpMenuOld → old}/lib/config/dropMenu.ts +1 -1
  29. package/components/common/layout/theHeader/modals/reconnect/Reconnect.vue +8 -10
  30. package/components/common/layout/theHeader/userMenu/UserMenu.vue +8 -7
  31. package/components/common/layout/theHeader/userMenu/modals/preferences/{PreferencesOld.vue → Old.vue} +0 -2
  32. package/components/common/layout/theHeader/userMenu/modals/preferences/Preferences.vue +9 -21
  33. package/components/common/layout/theHeader/userMenu/modals/preferences/lib/models/types.ts +7 -7
  34. package/components/common/layout/theHeader/userMenu/{userMenuNew/UserMenuNew.vue → new/New.vue} +1 -1
  35. package/components/common/layout/theHeader/userMenu/{userMenuOld/UserMenuOld.vue → old/Old.vue} +2 -2
  36. package/components/common/layout/theHeader/userMenu/{userMenuOld → old}/lib/config/dropMenu.ts +1 -1
  37. package/components/common/pages/backups/DetailView.vue +52 -52
  38. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  39. package/components/common/pages/backups/modals/Modals.vue +243 -243
  40. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  41. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +69 -69
  42. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  43. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  44. package/components/common/pages/backups/modals/restore/lib/config/readyToCompleteOptions.ts +84 -84
  45. package/components/common/pages/backups/modals/restore/lib/config/steps.ts +113 -113
  46. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  47. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  48. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  49. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  50. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  51. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  52. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  53. package/components/common/pages/tasks/Tasks.vue +125 -125
  54. package/components/common/pages/tasks/table/Table.vue +373 -373
  55. package/components/common/pages/tasks/table/lib/config/config.ts +279 -279
  56. package/components/common/pages/tasks/table/lib/models/interfaces.ts +9 -9
  57. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  58. package/components/common/select/radio/RadioGroup.vue +137 -137
  59. package/components/common/spiceConsole/Drawer.vue +420 -420
  60. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  61. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  62. package/components/common/tools/Actions.vue +207 -207
  63. package/components/common/treeView/TreeView.vue +52 -52
  64. package/components/common/vm/actions/clone/lib/config/steps.ts +295 -295
  65. package/components/common/vm/actions/clone/new/New.vue +438 -438
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +283 -283
  68. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +156 -156
  69. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  70. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  71. package/components/common/vm/actions/common/select/options/New.vue +264 -264
  72. package/components/common/vm/actions/common/select/options/Options.vue +58 -58
  73. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  74. package/components/common/vm/actions/common/select/storage/new/New.vue +311 -311
  75. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  76. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  77. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  78. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  79. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  80. package/components/common/wizards/common/steps/computeResource/New.vue +93 -93
  81. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  82. package/components/common/wizards/common/steps/name/New.vue +221 -221
  83. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  84. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  85. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  86. package/components/common/wizards/datastore/add/Add.vue +228 -228
  87. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  88. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  89. package/composables/useAppVersion.ts +21 -21
  90. package/composables/useBrowse.ts +24 -24
  91. package/composables/useLocal.ts +6 -6
  92. package/composables/useLocalCommon.ts +39 -39
  93. package/lib/models/types.ts +59 -59
  94. package/package.json +1 -1
  95. package/plugins/console.ts +21 -21
  96. package/plugins/mouse.ts +21 -21
  97. package/plugins/panelStates.ts +70 -70
  98. package/plugins/text.ts +59 -59
  99. package/public/spice-console/application/clientgui.js +854 -854
  100. package/public/spice-console/application/packetfactory.js +211 -211
  101. package/public/spice-console/application/virtualmouse.js +147 -147
  102. package/public/spice-console/lib/images/bitmap.js +203 -203
  103. package/public/spice-console/network/spicechannel.js +440 -440
  104. package/public/spice-console/process/cursorprocess.js +128 -128
  105. package/public/spice-console/process/inputprocess.js +227 -227
  106. package/public/spice-console/process/mainprocess.js +212 -212
  107. package/public/spice-console/run.js +210 -210
  108. package/store/main/mutations.ts +7 -7
  109. package/store/main/state.ts +7 -7
  110. package/store/tasks/mappers/recentTasks.ts +123 -123
  111. package/store/tasks/mutations.ts +82 -82
  112. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +0 -79
  113. /package/components/common/layout/theHeader/{TheHeaderOld.vue → Old.vue} +0 -0
  114. /package/components/common/layout/theHeader/helpMenu/{helpMenuOld → old}/lib/models/types.ts +0 -0
  115. /package/components/common/layout/theHeader/modals/reconnect/{ReconnectNew.vue → New.vue} +0 -0
  116. /package/components/common/layout/theHeader/modals/reconnect/{ReconnectOld.vue → Old.vue} +0 -0
  117. /package/components/common/layout/theHeader/userMenu/modals/preferences/{PreferencesNew.vue → New.vue} +0 -0
  118. /package/components/common/layout/theHeader/userMenu/{userMenuNew → new}/lib/config/dropMenu.ts +0 -0
  119. /package/components/common/layout/theHeader/userMenu/{userMenuOld → old}/lib/models/types.ts +0 -0
@@ -1,85 +1,85 @@
1
- import Wizard from '~/node_modules/bfg-uikit/components/ui/wizard/lib/utils/utils'
2
- import type { API_UI_I_Error } from '~/lib/models/store/interfaces'
3
- import type { UI_T_Project } from '~/lib/models/types'
4
- import { UI_E_Kind } from '~/lib/models/enums'
5
-
6
- export const checkValidityName = async ({
7
- name,
8
- wizard,
9
- project,
10
- sendMessage,
11
- datacenterId,
12
- }: {
13
- name: string
14
- wizard: Wizard
15
- project: UI_T_Project
16
- sendMessage: (message: string) => void
17
- datacenterId?: string
18
- }): Promise<void> => {
19
- wizard.setLoader(true)
20
- const url = buildValidationUrl(name, project, datacenterId)
21
-
22
- const { error } = await useMyFetch<null, API_UI_I_Error>(url, {
23
- method: 'GET',
24
- })
25
-
26
- wizard.setLoader(false)
27
-
28
- if (error.value && error.value.data.error_code !== 0) {
29
- const existError = error.value.data?.error_message || error.value.data
30
- sendMessage(existError)
31
- return
32
- }
33
- sendMessage('')
34
- }
35
-
36
- const buildValidationUrl = (
37
- name: string,
38
- project: UI_T_Project,
39
- datacenterId?: string
40
- ): string => {
41
- if (project === 'procurator') {
42
- const params = new URLSearchParams({ name })
43
- return `/ui/ds/validate?${params.toString()}`
44
- }
45
-
46
- const params = new URLSearchParams()
47
- params.set('name', name)
48
- params.set('kind', String(UI_E_Kind.STORAGE_VALIDATION_NAME))
49
- if (datacenterId) params.set('datacenter', datacenterId)
50
-
51
- return `/ui/object/validate_name_datacenter?${params.toString()}`
52
- }
53
-
54
- export const validateNameAndGenerateDataId = (
55
- name: string,
56
- _errorMessage: string,
57
- defaultDataId?: string
58
- ): string => {
59
- let baseDataId = defaultDataId || 'storage-name-alert-error'
60
-
61
- const patterns = [
62
- {
63
- regex: /^[a-zA-Z0-9_\-\.]+$/,
64
- error_message:
65
- /invalid name, must only contain letters, numbers, and '_', '-' '.' symbols/,
66
- suffix: '-invalid-name-symbols',
67
- },
68
- {
69
- regex: /^.{3,64}$/,
70
- error_message:
71
- /invalid name length, must be between: \d+ and \d+ characters/,
72
- suffix: '-invalid-name-length',
73
- },
74
- ]
75
-
76
- // Проверка error_message на соответствие шаблонам
77
-
78
- for (const pattern of patterns) {
79
- if (!pattern.regex.test(name)) {
80
- return `${baseDataId}${pattern.suffix}`
81
- }
82
- }
83
-
84
- return baseDataId
85
- }
1
+ import Wizard from '~/node_modules/bfg-uikit/components/ui/wizard/lib/utils/utils'
2
+ import type { API_UI_I_Error } from '~/lib/models/store/interfaces'
3
+ import type { UI_T_Project } from '~/lib/models/types'
4
+ import { UI_E_Kind } from '~/lib/models/enums'
5
+
6
+ export const checkValidityName = async ({
7
+ name,
8
+ wizard,
9
+ project,
10
+ sendMessage,
11
+ datacenterId,
12
+ }: {
13
+ name: string
14
+ wizard: Wizard
15
+ project: UI_T_Project
16
+ sendMessage: (message: string) => void
17
+ datacenterId?: string
18
+ }): Promise<void> => {
19
+ wizard.setLoader(true)
20
+ const url = buildValidationUrl(name, project, datacenterId)
21
+
22
+ const { error } = await useMyFetch<null, API_UI_I_Error>(url, {
23
+ method: 'GET',
24
+ })
25
+
26
+ wizard.setLoader(false)
27
+
28
+ if (error.value && error.value.data.error_code !== 0) {
29
+ const existError = error.value.data?.error_message || error.value.data
30
+ sendMessage(existError)
31
+ return
32
+ }
33
+ sendMessage('')
34
+ }
35
+
36
+ const buildValidationUrl = (
37
+ name: string,
38
+ project: UI_T_Project,
39
+ datacenterId?: string
40
+ ): string => {
41
+ if (project === 'procurator') {
42
+ const params = new URLSearchParams({ name })
43
+ return `/ui/ds/validate?${params.toString()}`
44
+ }
45
+
46
+ const params = new URLSearchParams()
47
+ params.set('name', name)
48
+ params.set('kind', String(UI_E_Kind.STORAGE_VALIDATION_NAME))
49
+ if (datacenterId) params.set('datacenter', datacenterId)
50
+
51
+ return `/ui/object/validate_name_datacenter?${params.toString()}`
52
+ }
53
+
54
+ export const validateNameAndGenerateDataId = (
55
+ name: string,
56
+ _errorMessage: string,
57
+ defaultDataId?: string
58
+ ): string => {
59
+ let baseDataId = defaultDataId || 'storage-name-alert-error'
60
+
61
+ const patterns = [
62
+ {
63
+ regex: /^[a-zA-Z0-9_\-\.]+$/,
64
+ error_message:
65
+ /invalid name, must only contain letters, numbers, and '_', '-' '.' symbols/,
66
+ suffix: '-invalid-name-symbols',
67
+ },
68
+ {
69
+ regex: /^.{3,64}$/,
70
+ error_message:
71
+ /invalid name length, must be between: \d+ and \d+ characters/,
72
+ suffix: '-invalid-name-length',
73
+ },
74
+ ]
75
+
76
+ // Проверка error_message на соответствие шаблонам
77
+
78
+ for (const pattern of patterns) {
79
+ if (!pattern.regex.test(name)) {
80
+ return `${baseDataId}${pattern.suffix}`
81
+ }
82
+ }
83
+
84
+ return baseDataId
85
+ }
@@ -1,43 +1,43 @@
1
- import type { UI_I_Localization } from '~/lib/models/interfaces'
2
- import type { UI_T_Project } from '~/lib/models/types'
3
- import type { UI_I_RadioOption } from '~/components/common/select/radio/lib/models/interfaces'
4
-
5
- export const datastoreTypesFunc = (
6
- localization: UI_I_Localization,
7
- _project?: UI_T_Project
8
- ): UI_I_RadioOption[] => {
9
- return [
10
- {
11
- id: 'datastore-type-shared-storm',
12
- label: localization.common.stormSharedStorage,
13
- value: 2,
14
- disabled: false,
15
- description: localization.common.sharedStormDesc,
16
- isTooltip: false,
17
- tooltipContent: localization.common.stormSharedStorageHelpDesc,
18
- testId: 'datastore-type-shared-storm',
19
- },
20
- {
21
- id: 'datastore-type-nfs',
22
- label: localization.common.nfs,
23
- value: 4,
24
- disabled: false,
25
- description: localization.common.nfsDesc,
26
- isTooltip: false,
27
- tooltipContent: localization.common.nfsHelpDesc,
28
- testId: 'datastore-type-nfs',
29
- },
30
- ]
31
-
32
- // if (project === 'procurator') {
33
- // types.unshift({
34
- // label: localization.common.localStorage,
35
- // value: 1,
36
- // disabled: false,
37
- // description: localization.common.localDesc,
38
- // isTooltip: false,
39
- // tooltipContent: localization.common.localStorageHelpDesc,
40
- // testId: 'datastore-type-local',
41
- // })
42
- // }
43
- }
1
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
2
+ import type { UI_T_Project } from '~/lib/models/types'
3
+ import type { UI_I_RadioOption } from '~/components/common/select/radio/lib/models/interfaces'
4
+
5
+ export const datastoreTypesFunc = (
6
+ localization: UI_I_Localization,
7
+ _project?: UI_T_Project
8
+ ): UI_I_RadioOption[] => {
9
+ return [
10
+ {
11
+ id: 'datastore-type-shared-storm',
12
+ label: localization.common.stormSharedStorage,
13
+ value: 2,
14
+ disabled: false,
15
+ description: localization.common.sharedStormDesc,
16
+ isTooltip: false,
17
+ tooltipContent: localization.common.stormSharedStorageHelpDesc,
18
+ testId: 'datastore-type-shared-storm',
19
+ },
20
+ {
21
+ id: 'datastore-type-nfs',
22
+ label: localization.common.nfs,
23
+ value: 4,
24
+ disabled: false,
25
+ description: localization.common.nfsDesc,
26
+ isTooltip: false,
27
+ tooltipContent: localization.common.nfsHelpDesc,
28
+ testId: 'datastore-type-nfs',
29
+ },
30
+ ]
31
+
32
+ // if (project === 'procurator') {
33
+ // types.unshift({
34
+ // label: localization.common.localStorage,
35
+ // value: 1,
36
+ // disabled: false,
37
+ // description: localization.common.localDesc,
38
+ // isTooltip: false,
39
+ // tooltipContent: localization.common.localStorageHelpDesc,
40
+ // testId: 'datastore-type-local',
41
+ // })
42
+ // }
43
+ }
@@ -1,21 +1,21 @@
1
- import type { UI_I_UseAppVersionReturnType } from '~/lib/models/composables/useAppVersion/interfaces'
2
-
3
- export function useAppVersion(): UI_I_UseAppVersionReturnType {
4
- const config = useRuntimeConfig()
5
- const version = config.public.APP_VERSION as string
6
-
7
- // const regexHasDot = /\./
8
- // const regexHasDotAndB = /\.\d*b$/
9
- // const regexHasDotAndD = /\..*d/
10
-
11
- // const isBeta = regexHasDotAndB.test(version)
12
- // const isDev =
13
- // regexHasDotAndD.test(version) ||
14
- // (!regexHasDot.test(version) && version.length < 8)
15
-
16
- return {
17
- version,
18
- // isBeta,
19
- // isDev,
20
- }
21
- }
1
+ import type { UI_I_UseAppVersionReturnType } from '~/lib/models/composables/useAppVersion/interfaces'
2
+
3
+ export function useAppVersion(): UI_I_UseAppVersionReturnType {
4
+ const config = useRuntimeConfig()
5
+ const version = config.public.APP_VERSION as string
6
+
7
+ // const regexHasDot = /\./
8
+ // const regexHasDotAndB = /\.\d*b$/
9
+ // const regexHasDotAndD = /\..*d/
10
+
11
+ // const isBeta = regexHasDotAndB.test(version)
12
+ // const isDev =
13
+ // regexHasDotAndD.test(version) ||
14
+ // (!regexHasDot.test(version) && version.length < 8)
15
+
16
+ return {
17
+ version,
18
+ // isBeta,
19
+ // isDev,
20
+ }
21
+ }
@@ -1,24 +1,24 @@
1
- import type { UI_I_Browse } from '~/lib/models/composables/useBrowse/interfaces'
2
-
3
- export const useBrowse = (): UI_I_Browse => {
4
- const browseInfo: UI_I_Browse = {
5
- version: '',
6
- type: '',
7
- }
8
- const userAgent = navigator.userAgent
9
- if (userAgent.match(/edg/i)) {
10
- browseInfo.version = userAgent.match(/Edg\/(\d+)/)?.[1] || ''
11
- browseInfo.type = 'edg'
12
- } else if (userAgent.match(/firefox|fxios/i)) {
13
- browseInfo.version = userAgent.match(/Firefox\/(\d+)/)?.[1] || ''
14
- browseInfo.type = 'firefox'
15
- } else if (userAgent.match(/chrome|chromium|crios/i)) {
16
- browseInfo.version = userAgent.match(/Chrome\/(\d+)/)?.[1] || ''
17
- browseInfo.type = 'chrome'
18
- } else if (userAgent.match(/safari/i)) {
19
- browseInfo.version = userAgent.match(/Safari\/(\d+)/)?.[1] || ''
20
- browseInfo.type = 'safari'
21
- }
22
-
23
- return browseInfo
24
- }
1
+ import type { UI_I_Browse } from '~/lib/models/composables/useBrowse/interfaces'
2
+
3
+ export const useBrowse = (): UI_I_Browse => {
4
+ const browseInfo: UI_I_Browse = {
5
+ version: '',
6
+ type: '',
7
+ }
8
+ const userAgent = navigator.userAgent
9
+ if (userAgent.match(/edg/i)) {
10
+ browseInfo.version = userAgent.match(/Edg\/(\d+)/)?.[1] || ''
11
+ browseInfo.type = 'edg'
12
+ } else if (userAgent.match(/firefox|fxios/i)) {
13
+ browseInfo.version = userAgent.match(/Firefox\/(\d+)/)?.[1] || ''
14
+ browseInfo.type = 'firefox'
15
+ } else if (userAgent.match(/chrome|chromium|crios/i)) {
16
+ browseInfo.version = userAgent.match(/Chrome\/(\d+)/)?.[1] || ''
17
+ browseInfo.type = 'chrome'
18
+ } else if (userAgent.match(/safari/i)) {
19
+ browseInfo.version = userAgent.match(/Safari\/(\d+)/)?.[1] || ''
20
+ browseInfo.type = 'safari'
21
+ }
22
+
23
+ return browseInfo
24
+ }
@@ -1,6 +1,6 @@
1
- import type { UI_I_Localization } from '~/lib/models/interfaces'
2
- import { useLocalCommon } from '~/composables/useLocalCommon'
3
-
4
- export const useLocal = (): UI_I_Localization => {
5
- return useLocalCommon()
6
- }
1
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
2
+ import { useLocalCommon } from '~/composables/useLocalCommon'
3
+
4
+ export const useLocal = (): UI_I_Localization => {
5
+ return useLocalCommon()
6
+ }
@@ -1,39 +1,39 @@
1
- import type { UI_I_Localization } from '~/lib/models/interfaces'
2
- import localAr from '~/assets/scss/clarity/local_ar.json'
3
- import localRu from '~/assets/localization/local_ru.json'
4
- import localEn from '~/assets/localization/local_en.json'
5
- import localHy from '~/assets/localization/local_hy.json'
6
- import localZh from '~/assets/localization/local_zh.json'
7
- import localKk from '~/assets/localization/local_kk.json'
8
- import localBe from '~/assets/localization/local_be.json'
9
- import { productNameLocal } from '~/lib/utils/localizationMapper'
10
-
11
- const rawLocals: Record<string, any> = {
12
- ar: localAr,
13
- ru: localRu,
14
- en: localEn,
15
- hy: localHy,
16
- zh: localZh,
17
- kk: localKk,
18
- be: localBe,
19
- }
20
-
21
- // Кешируем уже обработанные локали
22
- const processedCache: Record<string, UI_I_Localization | undefined> = {}
23
-
24
- export const useLocalCommon = (): UI_I_Localization => {
25
- const config = useRuntimeConfig()
26
- let code = String(config?.public?.LOCALIZATION_CODE || 'ru').toLowerCase()
27
-
28
- if (code === 'ar' && !useLocalStorage('rtl')) code = 'ru'
29
-
30
- if (typeof document !== 'undefined') document.documentElement.lang = code
31
-
32
- // если в кеше нет — создаём и сохраняем
33
- if (!processedCache[code]) {
34
- const raw = rawLocals[code] || rawLocals['ru']
35
- processedCache[code] = productNameLocal(raw)
36
- }
37
-
38
- return processedCache[code] as UI_I_Localization
39
- }
1
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
2
+ import localAr from '~/assets/scss/clarity/local_ar.json'
3
+ import localRu from '~/assets/localization/local_ru.json'
4
+ import localEn from '~/assets/localization/local_en.json'
5
+ import localHy from '~/assets/localization/local_hy.json'
6
+ import localZh from '~/assets/localization/local_zh.json'
7
+ import localKk from '~/assets/localization/local_kk.json'
8
+ import localBe from '~/assets/localization/local_be.json'
9
+ import { productNameLocal } from '~/lib/utils/localizationMapper'
10
+
11
+ const rawLocals: Record<string, any> = {
12
+ ar: localAr,
13
+ ru: localRu,
14
+ en: localEn,
15
+ hy: localHy,
16
+ zh: localZh,
17
+ kk: localKk,
18
+ be: localBe,
19
+ }
20
+
21
+ // Кешируем уже обработанные локали
22
+ const processedCache: Record<string, UI_I_Localization | undefined> = {}
23
+
24
+ export const useLocalCommon = (): UI_I_Localization => {
25
+ const config = useRuntimeConfig()
26
+ let code = String(config?.public?.LOCALIZATION_CODE || 'ru').toLowerCase()
27
+
28
+ if (code === 'ar' && !useLocalStorage('rtl')) code = 'ru'
29
+
30
+ if (typeof document !== 'undefined') document.documentElement.lang = code
31
+
32
+ // если в кеше нет — создаём и сохраняем
33
+ if (!processedCache[code]) {
34
+ const raw = rawLocals[code] || rawLocals['ru']
35
+ processedCache[code] = productNameLocal(raw)
36
+ }
37
+
38
+ return processedCache[code] as UI_I_Localization
39
+ }
@@ -1,59 +1,59 @@
1
- export type UI_T_Project = 'sphere' | 'procurator'
2
-
3
- export type UI_T_Lang = 'ru' | 'en' | 'be' | 'hy' | 'kk' | 'zh'
4
-
5
- export type UI_T_NavNodes =
6
- // для Сферы
7
- | 'h'
8
- // для Прокуратора и Сферы
9
- | 'v'
10
- | 's'
11
- | 'n'
12
- | 'b'
13
-
14
- export type UI_T_Binary = 'KB' | 'MB' | 'GB' | 'TB' | 'PB' | 'EB' | 'ZB' | 'YB'
15
- export type UI_T_BinaryLower =
16
- | 'kb'
17
- | 'mb'
18
- | 'gb'
19
- | 'tb'
20
- | 'pb'
21
- | 'eb'
22
- | 'zb'
23
- | 'yb'
24
-
25
- export type UI_T_LangValue =
26
- | 'en_US'
27
- | 'ru_RU'
28
- | 'hy_AM'
29
- | 'zh_CHS'
30
- | 'kk_KZ'
31
- | 'be_BY'
32
- | 'BROWSER'
33
-
34
- export type UI_T_ProcuratorTypeNodes =
35
- | 'host'
36
- | 'vm'
37
- | 'datastore'
38
- | 'network'
39
- | 'folder'
40
- | 'file'
41
-
42
- export type UI_T_SphereTypeNodes =
43
- | UI_T_ProcuratorTypeNodes
44
- | 'zone'
45
- | 'datacenter'
46
- | 'cluster'
47
- | 'zone_dir'
48
- | 'dc_hc_dir'
49
- | 'dc_net_dir'
50
- | 'dc_ds_dir'
51
- | 'dc_vmt_dir'
52
- | 'dc_backup_dir'
53
- | 'IdentityProviders'
54
- | 'networks' // может быть это не нужный тип так как есть 'network' в UI_T_ProcuratorTypeNodes
55
- | 'backup_storage'
56
- | 'bucket'
57
- | 'vmtemplate' // TODO думаю нужно добавить в UI_T_ProcuratorTypeNodes
58
-
59
- export type UI_T_AllTypeNodes = UI_T_SphereTypeNodes
1
+ export type UI_T_Project = 'sphere' | 'procurator'
2
+
3
+ export type UI_T_Lang = 'ru' | 'en' | 'be' | 'hy' | 'kk' | 'zh'
4
+
5
+ export type UI_T_NavNodes =
6
+ // для Сферы
7
+ | 'h'
8
+ // для Прокуратора и Сферы
9
+ | 'v'
10
+ | 's'
11
+ | 'n'
12
+ | 'b'
13
+
14
+ export type UI_T_Binary = 'KB' | 'MB' | 'GB' | 'TB' | 'PB' | 'EB' | 'ZB' | 'YB'
15
+ export type UI_T_BinaryLower =
16
+ | 'kb'
17
+ | 'mb'
18
+ | 'gb'
19
+ | 'tb'
20
+ | 'pb'
21
+ | 'eb'
22
+ | 'zb'
23
+ | 'yb'
24
+
25
+ export type UI_T_LangValue =
26
+ | 'en_US'
27
+ | 'ru_RU'
28
+ | 'hy_AM'
29
+ | 'zh_CHS'
30
+ | 'kk_KZ'
31
+ | 'be_BY'
32
+ | 'BROWSER'
33
+
34
+ export type UI_T_ProcuratorTypeNodes =
35
+ | 'host'
36
+ | 'vm'
37
+ | 'datastore'
38
+ | 'network'
39
+ | 'folder'
40
+ | 'file'
41
+
42
+ export type UI_T_SphereTypeNodes =
43
+ | UI_T_ProcuratorTypeNodes
44
+ | 'zone'
45
+ | 'datacenter'
46
+ | 'cluster'
47
+ | 'zone_dir'
48
+ | 'dc_hc_dir'
49
+ | 'dc_net_dir'
50
+ | 'dc_ds_dir'
51
+ | 'dc_vmt_dir'
52
+ | 'dc_backup_dir'
53
+ | 'IdentityProviders'
54
+ | 'networks' // может быть это не нужный тип так как есть 'network' в UI_T_ProcuratorTypeNodes
55
+ | 'backup_storage'
56
+ | 'bucket'
57
+ | 'vmtemplate' // TODO думаю нужно добавить в UI_T_ProcuratorTypeNodes
58
+
59
+ export type UI_T_AllTypeNodes = UI_T_SphereTypeNodes
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bfg-common",
3
3
  "private": false,
4
- "version": "1.5.723",
4
+ "version": "1.5.724",
5
5
  "scripts": {
6
6
  "build": "nuxt build",
7
7
  "dev": "nuxt dev --port=3002",
@@ -1,21 +1,21 @@
1
- import { defineNuxtPlugin } from '#app'
2
- import type { UI_T_CODEC } from '~/components/common/spiceConsole/lib/models/types'
3
-
4
- export default defineNuxtPlugin(() => {
5
- const console = function (): any {
6
- const self: any = {
7
- codec: ref<UI_T_CODEC>(1),
8
- }
9
-
10
- self.changeCodec = (codec: UI_T_CODEC): void => {
11
- self.codec.value = codec
12
- }
13
- return self
14
- }.call({})
15
-
16
- return {
17
- provide: {
18
- console,
19
- },
20
- }
21
- })
1
+ import { defineNuxtPlugin } from '#app'
2
+ import type { UI_T_CODEC } from '~/components/common/spiceConsole/lib/models/types'
3
+
4
+ export default defineNuxtPlugin(() => {
5
+ const console = function (): any {
6
+ const self: any = {
7
+ codec: ref<UI_T_CODEC>(1),
8
+ }
9
+
10
+ self.changeCodec = (codec: UI_T_CODEC): void => {
11
+ self.codec.value = codec
12
+ }
13
+ return self
14
+ }.call({})
15
+
16
+ return {
17
+ provide: {
18
+ console,
19
+ },
20
+ }
21
+ })
package/plugins/mouse.ts CHANGED
@@ -1,21 +1,21 @@
1
- import { defineNuxtPlugin } from '#app'
2
- import type { UI_T_MouseMode } from '~/components/common/spiceConsole/lib/models/types'
3
-
4
- export default defineNuxtPlugin(() => {
5
- const mouse = function (): any {
6
- const self: any = {
7
- mode: ref<UI_T_MouseMode>(1),
8
- }
9
-
10
- self.changeMode = (mode: UI_T_MouseMode): void => {
11
- self.mode.value = mode
12
- }
13
- return self
14
- }.call({})
15
-
16
- return {
17
- provide: {
18
- mouse,
19
- },
20
- }
21
- })
1
+ import { defineNuxtPlugin } from '#app'
2
+ import type { UI_T_MouseMode } from '~/components/common/spiceConsole/lib/models/types'
3
+
4
+ export default defineNuxtPlugin(() => {
5
+ const mouse = function (): any {
6
+ const self: any = {
7
+ mode: ref<UI_T_MouseMode>(1),
8
+ }
9
+
10
+ self.changeMode = (mode: UI_T_MouseMode): void => {
11
+ self.mode.value = mode
12
+ }
13
+ return self
14
+ }.call({})
15
+
16
+ return {
17
+ provide: {
18
+ mouse,
19
+ },
20
+ }
21
+ })