bfg-common 1.5.679 → 1.5.683

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 (125) 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/theHeader/TheHeaderNew.vue +315 -315
  18. package/components/common/layout/theHeader/TheHeaderOld.vue +262 -262
  19. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  20. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  21. package/components/common/layout/theHeader/userMenu/modals/changePassword/ChangePassword.vue +93 -93
  22. package/components/common/layout/theHeader/userMenu/modals/changePassword/New.vue +193 -193
  23. package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesOld.vue +144 -144
  24. package/components/common/layout/theHeader/userMenu/modals/preferences/lib/models/types.ts +7 -7
  25. package/components/common/layout/theHeader/userMenu/modals/preferences/security/Old.vue +216 -216
  26. package/components/common/layout/theHeader/userMenu/modals/preferences/security/Security.vue +31 -31
  27. package/components/common/pages/backups/DetailView.vue +52 -52
  28. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  29. package/components/common/pages/backups/modals/Modals.vue +243 -243
  30. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  31. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +69 -69
  32. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  33. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  34. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  35. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  36. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  37. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  38. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  39. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  40. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  41. package/components/common/qr/Qr.vue +57 -57
  42. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  43. package/components/common/select/radio/RadioGroup.vue +137 -137
  44. package/components/common/spiceConsole/Drawer.vue +420 -420
  45. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  46. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  47. package/components/common/tools/Actions.vue +207 -207
  48. package/components/common/treeView/TreeView.vue +52 -52
  49. package/components/common/vm/actions/add/New.vue +1 -1
  50. package/components/common/vm/actions/add/Old.vue +1 -1
  51. package/components/common/vm/actions/clone/lib/config/steps.ts +295 -295
  52. package/components/common/vm/actions/clone/new/New.vue +438 -438
  53. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +698 -698
  54. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  55. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +283 -283
  56. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +489 -489
  57. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +156 -156
  58. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  59. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  60. package/components/common/vm/actions/common/select/options/New.vue +264 -264
  61. package/components/common/vm/actions/common/select/options/Old.vue +109 -110
  62. package/components/common/vm/actions/common/select/options/Options.vue +58 -58
  63. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  64. package/components/common/vm/actions/common/select/storage/new/New.vue +311 -311
  65. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  66. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  67. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  68. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  69. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  70. package/components/common/wizards/common/compatibility/New.vue +99 -99
  71. package/components/common/wizards/common/compatibility/Old.vue +53 -53
  72. package/components/common/wizards/common/steps/computeResource/New.vue +93 -93
  73. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  74. package/components/common/wizards/common/steps/name/New.vue +221 -221
  75. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  76. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  77. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  78. package/components/common/wizards/datastore/add/Add.vue +228 -228
  79. package/components/common/wizards/datastore/add/lib/config/createDatastore.ts +1 -0
  80. package/components/common/wizards/datastore/add/lib/models/interfaces.ts +1 -0
  81. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  82. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceNew.vue +232 -227
  83. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceOld.vue +231 -226
  84. package/components/common/wizards/datastore/add/steps/nameAndDevice/advancedOptions/AdvancedOptions.vue +43 -0
  85. package/components/common/wizards/datastore/add/steps/nameAndDevice/advancedOptions/New.vue +101 -0
  86. package/components/common/wizards/datastore/add/steps/nameAndDevice/advancedOptions/Old.vue +101 -0
  87. package/components/common/wizards/datastore/add/steps/nameAndDevice/table/old/Old.vue +2 -3
  88. package/components/common/wizards/datastore/add/steps/readyComplete/lib/config/propertiesDetails.ts +8 -1
  89. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  90. package/composables/useAppVersion.ts +21 -21
  91. package/composables/useEnvLanguage.ts +22 -22
  92. package/composables/useLocal.ts +6 -6
  93. package/composables/useLocalCommon.ts +39 -39
  94. package/lib/models/enums.ts +1 -65
  95. package/package.json +1 -1
  96. package/plugins/console.ts +21 -21
  97. package/plugins/mouse.ts +21 -21
  98. package/plugins/panelStates.ts +70 -70
  99. package/plugins/text.ts +59 -59
  100. package/public/spice-console/application/clientgui.js +854 -854
  101. package/public/spice-console/application/packetfactory.js +211 -211
  102. package/public/spice-console/application/virtualmouse.js +147 -147
  103. package/public/spice-console/lib/images/bitmap.js +203 -203
  104. package/public/spice-console/network/spicechannel.js +440 -440
  105. package/public/spice-console/process/cursorprocess.js +128 -128
  106. package/public/spice-console/process/inputprocess.js +227 -227
  107. package/public/spice-console/process/mainprocess.js +212 -212
  108. package/public/spice-console/run.js +210 -210
  109. package/store/main/mutations.ts +7 -7
  110. package/store/main/state.ts +7 -7
  111. package/store/tasks/mappers/recentTasks.ts +123 -123
  112. package/store/tasks/mutations.ts +82 -82
  113. package/components/common/layout/bottomPanel/BottomPanel.vue +0 -68
  114. package/components/common/layout/bottomPanel/New.vue +0 -227
  115. package/components/common/layout/bottomPanel/Old.vue +0 -144
  116. package/components/common/layout/bottomPanel/lib/config/statusFilter.ts +0 -19
  117. package/components/common/layout/bottomPanel/lib/models/types.ts +0 -1
  118. package/components/common/layout/bottomPanel/recentTasks/RecentTasks.vue +0 -49
  119. package/components/common/layout/bottomPanel/recentTasks/lib/models/interfaces.ts +0 -14
  120. package/components/common/layout/bottomPanel/recentTasks/new/New.vue +0 -428
  121. package/components/common/layout/bottomPanel/recentTasks/new/lib/config/config.ts +0 -259
  122. package/components/common/layout/bottomPanel/recentTasks/old/Old.vue +0 -277
  123. package/components/common/layout/bottomPanel/recentTasks/old/lib/config/recentTaskTable.ts +0 -240
  124. package/components/common/layout/bottomPanel/recentTasks/old/lib/config/tableKeys.ts +0 -15
  125. package/components/common/layout/bottomPanel/recentTasks/old/lib/models/types.ts +0 -14
@@ -0,0 +1,101 @@
1
+ <template>
2
+ <div class="advanced-options-wrap clr-form-control">
3
+ <b class="advanced-options-label">
4
+ {{ localization.common.advancedOptions }}
5
+ </b>
6
+ <div class="advanced-options compact">
7
+ <div class="radio">
8
+ <input
9
+ v-model="model"
10
+ id="advanced-option-liner"
11
+ data-id="advanced-option-liner"
12
+ type="radio"
13
+ value="linear"
14
+ />
15
+ <label for="advanced-option-liner"> Linear </label>
16
+ </div>
17
+ <div :class="['radio', { disabled: props.devNamesCount < 2 }]">
18
+ <input
19
+ v-model="model"
20
+ id="advanced-option-raid0"
21
+ :disabled="props.devNamesCount < 2"
22
+ data-id="advanced-option-raid0"
23
+ type="radio"
24
+ value="raid0"
25
+ />
26
+ <label for="advanced-option-raid0"> Raid0 </label>
27
+ </div>
28
+ <div :class="['radio', { disabled: props.devNamesCount < 2 }]">
29
+ <input
30
+ v-model="model"
31
+ id="advanced-option-raid1"
32
+ :disabled="props.devNamesCount < 2"
33
+ data-id="advanced-option-raid1"
34
+ type="radio"
35
+ value="raid1"
36
+ />
37
+ <label for="advanced-option-raid1"> Raid1 </label>
38
+ </div>
39
+ <div :class="['radio', { disabled: props.devNamesCount < 3 }]">
40
+ <input
41
+ v-model="model"
42
+ id="advanced-option-raid5"
43
+ :disabled="props.devNamesCount < 3"
44
+ data-id="advanced-option-raid5"
45
+ type="radio"
46
+ value="raid5"
47
+ />
48
+ <label for="advanced-option-raid5"> Raid5 </label>
49
+ </div>
50
+ <div :class="['radio', { disabled: props.devNamesCount < 4 }]">
51
+ <input
52
+ v-model="model"
53
+ id="advanced-option-raid6"
54
+ :disabled="props.devNamesCount < 4"
55
+ data-id="advanced-option-raid6"
56
+ type="radio"
57
+ value="raid6"
58
+ />
59
+ <label for="advanced-option-raid6"> Raid6 </label>
60
+ </div>
61
+ <div :class="['radio', { disabled: props.devNamesCount < 4 }]">
62
+ <input
63
+ v-model="model"
64
+ id="advanced-option-raid10"
65
+ :disabled="props.devNamesCount < 4"
66
+ data-id="advanced-option-raid10"
67
+ type="radio"
68
+ value="raid10"
69
+ />
70
+ <label for="advanced-option-raid10"> Raid10 </label>
71
+ </div>
72
+ </div>
73
+ </div>
74
+ </template>
75
+
76
+ <script setup lang="ts">
77
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
78
+ import type { UI_I_CreateDatastoreForm } from '~/components/common/wizards/datastore/add/lib/models/interfaces'
79
+
80
+ const model = defineModel<UI_I_CreateDatastoreForm['level']>({ required: true })
81
+
82
+ const props = defineProps<{
83
+ devNamesCount: number
84
+ }>()
85
+
86
+ const localization = computed<UI_I_Localization>(() => useLocal())
87
+ </script>
88
+
89
+ <style scoped lang="scss">
90
+ .advanced-options-wrap {
91
+ display: flex;
92
+ gap: 10px;
93
+ .radio {
94
+ margin-bottom: 5px;
95
+ }
96
+ input[type='radio']:focus:checked + label::before,
97
+ input[type='radio']:focus + label::before {
98
+ box-shadow: inset 0 0 0 0.25rem #0094d2;
99
+ }
100
+ }
101
+ </style>
@@ -18,8 +18,7 @@
18
18
  hide-page-size
19
19
  @sorting="onSorting"
20
20
  @main-filter="emits('main-filter', $event)"
21
- >
22
- </atoms-table-data-grid>
21
+ />
23
22
  </div>
24
23
  </template>
25
24
 
@@ -92,7 +91,7 @@ watch(
92
91
  .data-table {
93
92
  height: inherit;
94
93
  :deep(.datagrid-outer-wrapper) {
95
- height: 400px;
94
+ max-height: 400px;
96
95
  }
97
96
  }
98
97
  }
@@ -112,7 +112,7 @@ const sharedStormDetailsFunc = (
112
112
  localization: UI_I_Localization,
113
113
  data: UI_I_CreateDatastoreForm
114
114
  ): UI_I_DetailsItem[] => {
115
- const { name, dev_names } = data
115
+ const { name, dev_names, level } = data
116
116
 
117
117
  return [
118
118
  {
@@ -132,6 +132,13 @@ const sharedStormDetailsFunc = (
132
132
  items: [],
133
133
  testId: 'view-selected-lun-disks-in-complete',
134
134
  },
135
+ {
136
+ label: localization.common.advancedOptions,
137
+ value: level,
138
+ items: [],
139
+ testId: 'view-advanced-options-in-complete',
140
+ iconClassName: '',
141
+ },
135
142
  ],
136
143
  actions: [],
137
144
  },
@@ -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,22 +1,22 @@
1
- export function useEnvLanguage(): string {
2
- // const { $store }: any = useNuxtApp()
3
-
4
- const localizationCode = ref<string>('en_US')
5
- const langFromLocalStorage =
6
- // $store.getters['main/getInterfaceLang'] || // Из $store для Сферы, но думаю нужно сделать одинаково из localStorage
7
- useLocalStorage('lang')
8
-
9
- if (langFromLocalStorage) {
10
- if (
11
- langFromLocalStorage === 'en_US' ||
12
- langFromLocalStorage === 'ru_RU' ||
13
- langFromLocalStorage === 'hy_AM'
14
- ) {
15
- localizationCode.value = langFromLocalStorage
16
- }
17
- }
18
-
19
- localizationCode.value = localizationCode.value.slice(0, 2).toUpperCase()
20
-
21
- return localizationCode.value
22
- }
1
+ export function useEnvLanguage(): string {
2
+ // const { $store }: any = useNuxtApp()
3
+
4
+ const localizationCode = ref<string>('en_US')
5
+ const langFromLocalStorage =
6
+ // $store.getters['main/getInterfaceLang'] || // Из $store для Сферы, но думаю нужно сделать одинаково из localStorage
7
+ useLocalStorage('lang')
8
+
9
+ if (langFromLocalStorage) {
10
+ if (
11
+ langFromLocalStorage === 'en_US' ||
12
+ langFromLocalStorage === 'ru_RU' ||
13
+ langFromLocalStorage === 'hy_AM'
14
+ ) {
15
+ localizationCode.value = langFromLocalStorage
16
+ }
17
+ }
18
+
19
+ localizationCode.value = localizationCode.value.slice(0, 2).toUpperCase()
20
+
21
+ return localizationCode.value
22
+ }
@@ -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
+ }
@@ -18,70 +18,6 @@ export enum UI_E_NodeIconsByState {
18
18
  'network_Error' = 'vsphere-icon-network-error',
19
19
  'network_Warning' = 'vsphere-icon-network-warning',
20
20
  'network_connected' = 'vsphere-icon-network',
21
-
22
- // Для Прокуратор
23
-
24
- 'network-error' = 'vsphere-icon-network-error',
25
- 'network' = 'vsphere-icon-network',
26
- 'network-warning' = 'vsphere-icon-network-warning',
27
-
28
- 'folder_Normal' = 'vsphere-icon-folder',
29
- 'folder_Error' = 'vsphere-icon-folder-error',
30
- 'folder_Warning' = 'vsphere-icon-folder-warning',
31
- 'folder_connected' = 'vsphere-icon-folder',
32
-
33
- 'file_Normal' = 'vsphere-icon-file',
34
- 'file_Error' = 'vsphere-icon-file-error',
35
- 'file_Warning' = 'vsphere-icon-file-warning',
36
- 'file_connected' = 'vsphere-icon-file',
37
-
38
- // Для Сфер
39
- 'zone_Normal' = 'vsphere-icon-vcenter',
40
- 'zone_Error' = 'vsphere-icon-vcenter',
41
- 'zone_Warning' = 'vsphere-icon-vcenter',
42
- 'zone_connected' = 'vsphere-icon-vcenter',
43
-
44
- 'zone_dir_Normal' = 'vsphere-icon-folder',
45
- 'zone_dir_Error' = 'vsphere-icon-folder',
46
- 'zone_dir_Warning' = 'vsphere-icon-folder',
47
- 'zone_dir_connected' = 'vsphere-icon-folder',
48
- 'dc_hc_dir_Normal' = 'vsphere-icon-folder',
49
- 'dc_hc_dir_Error' = 'vsphere-icon-folder',
50
- 'dc_hc_dir_Warning' = 'vsphere-icon-folder',
51
- 'dc_hc_dir_connected' = 'vsphere-icon-folder',
52
- 'dc_net_dir_Normal' = 'vsphere-icon-folder',
53
- 'dc_net_dir_Error' = 'vsphere-icon-folder',
54
- 'dc_net_dir_Warning' = 'vsphere-icon-folder',
55
- 'dc_net_dir_connected' = 'vsphere-icon-folder',
56
- 'dc_ds_dir_Normal' = 'vsphere-icon-folder',
57
- 'dc_ds_dir_Error' = 'vsphere-icon-folder',
58
- 'dc_ds_dir_Warning' = 'vsphere-icon-folder',
59
- 'dc_ds_dir_connected' = 'vsphere-icon-folder',
60
- 'dc_vmt_dir_Normal' = 'vsphere-icon-folder',
61
- 'dc_vmt_dir_Error' = 'vsphere-icon-folder',
62
- 'dc_vmt_dir_Warning' = 'vsphere-icon-folder',
63
- 'dc_vmt_dir_connected' = 'vsphere-icon-folder',
64
- 'dc_backup_dir_Normal' = 'vsphere-icon-folder',
65
- 'dc_backup_dir_Error' = 'vsphere-icon-folder',
66
- 'dc_backup_dir_Warning' = 'vsphere-icon-folder',
67
- 'dc_backup_dir_connected' = 'vsphere-icon-folder',
68
-
69
- 'datacenter_Normal' = 'vsphere-icon-datacenter',
70
- 'datacenter_Error' = 'vsphere-icon-datacenter-error',
71
- 'datacenter_Warning' = 'vsphere-icon-datacenter-warning',
72
- 'datacenter_connected' = 'vsphere-icon-datacenter',
73
-
74
- 'cluster_Normal' = 'vsphere-icon-cluster',
75
- 'cluster_Error' = 'vsphere-icon-cluster-error',
76
- 'cluster_Warning' = 'vsphere-icon-cluster-warning',
77
- 'cluster_connected' = 'vsphere-icon-cluster',
78
-
79
- 'host_Maintenance' = 'vsphere-icon-host-maintenance',
80
-
81
- 'vmtemplate_Normal' = 'vsphere-icon-vm-template',
82
- 'vmtemplate_Error' = 'vsphere-icon-vm-template',
83
- 'vmtemplate_Warning' = 'vsphere-icon-vm-template',
84
- 'vmtemplate_connected' = 'vsphere-icon-vm-template',
85
21
  }
86
22
 
87
23
  export enum UI_E_State {
@@ -105,5 +41,5 @@ export enum UI_E_DatastoreState {
105
41
  UNHEALTHY,
106
42
  MAINTENANCE,
107
43
  INACCESSIBLE,
108
- UNMOUNTED,
44
+ UNMOUNTED ,
109
45
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bfg-common",
3
3
  "private": false,
4
- "version": "1.5.679",
4
+ "version": "1.5.683",
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
+ })