bfg-common 1.5.708 → 1.5.710

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 (105) hide show
  1. package/assets/img/icons/icons-sprite-dark-1.svg +2 -3
  2. package/assets/img/icons/icons-sprite-light-1.svg +3 -4
  3. package/assets/localization/local_be.json +47 -3
  4. package/assets/localization/local_en.json +47 -3
  5. package/assets/localization/local_hy.json +47 -3
  6. package/assets/localization/local_kk.json +47 -3
  7. package/assets/localization/local_ru.json +49 -5
  8. package/assets/localization/local_zh.json +47 -3
  9. package/assets/scss/common/icons/icons-1.scss +1 -1
  10. package/assets/scss/common/icons/icons-2.scss +18 -0
  11. package/assets/scss/common/theme.scss +2 -0
  12. package/assets/scss/components/auth.scss +32 -5
  13. package/components/atoms/dropdown/tree/Tree.vue +2 -0
  14. package/components/atoms/switch/Switch.vue +7 -1
  15. package/components/atoms/wizard/Wizard.vue +1 -1
  16. package/components/common/certificate/Certificate.vue +27 -0
  17. package/components/common/certificate/CertificateInfo.vue +139 -0
  18. package/components/common/certificate/Tools.vue +59 -0
  19. package/components/common/certificate/lib/config/tabsPannel.ts +22 -0
  20. package/components/common/certificate/lib/models/interfaces.ts +9 -0
  21. package/components/common/certificate/lib/models/types.ts +1 -0
  22. package/components/common/certificate/modals/renew/New.vue +64 -0
  23. package/components/common/certificate/modals/renew/Old.vue +122 -0
  24. package/components/common/certificate/modals/renew/Renew.vue +67 -0
  25. package/components/common/help/navbar/left/lib/utils/constructAccordion.ts +2 -1
  26. package/components/common/help/navbar/right/Right.vue +86 -23
  27. package/components/common/layout/theHeader/modals/reconnect/ReconnectOld.vue +2 -0
  28. package/components/common/layout/theHeader/userMenu/modals/changePassword/ChangePassword.vue +12 -21
  29. package/components/common/layout/theHeader/userMenu/modals/changePassword/New.vue +36 -43
  30. package/components/common/layout/theHeader/userMenu/modals/changePassword/Old.vue +0 -2
  31. package/components/common/layout/theHeader/userMenu/modals/changePassword/lib/utils.ts +1 -1
  32. package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesNew.vue +13 -0
  33. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguage.vue +8 -15
  34. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/{ChangeLanguageNew.vue → New.vue} +1 -2
  35. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/{ChangeLanguageOld.vue → Old.vue} +0 -2
  36. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/DefaultConsole.vue +8 -7
  37. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/{DefaultConsoleNew.vue → New.vue} +3 -3
  38. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/{DefaultConsoleOld.vue → Old.vue} +2 -2
  39. package/components/common/layout/theHeader/userMenu/modals/preferences/inventory/Inventory.vue +7 -8
  40. package/components/common/layout/theHeader/userMenu/modals/preferences/inventory/{InventoryNew.vue → New.vue} +3 -2
  41. package/components/common/layout/theHeader/userMenu/modals/preferences/inventory/{InventoryOld.vue → Old.vue} +2 -2
  42. package/components/common/layout/theHeader/userMenu/modals/preferences/security/New.vue +277 -12
  43. package/components/common/layout/theHeader/userMenu/modals/preferences/security/Old.vue +30 -56
  44. package/components/common/layout/theHeader/userMenu/modals/preferences/security/Security.vue +65 -6
  45. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/{TimeFormatNew.vue → New.vue} +3 -3
  46. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/{TimeFormatOld.vue → Old.vue} +2 -2
  47. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/TimeFormat.vue +8 -8
  48. package/components/common/layout/theHeader/userMenu/modals/preferences/view/{ViewNew.vue → New.vue} +12 -3
  49. package/components/common/layout/theHeader/userMenu/modals/preferences/view/{ViewOld.vue → Old.vue} +2 -2
  50. package/components/common/layout/theHeader/userMenu/modals/preferences/view/View.vue +8 -7
  51. package/components/common/monitor/advanced/graphView/GraphView.vue +8 -0
  52. package/components/common/monitor/advanced/tools/Tools.vue +5 -1
  53. package/components/common/pages/auth/TheFooter.vue +104 -0
  54. package/components/common/pages/files/lib/models/enums.ts +10 -0
  55. package/components/common/pages/hardwareHealth/historyTestimony/tools/Tools.vue +7 -2
  56. package/components/common/pages/hardwareHealth/tableView/TableView.vue +8 -0
  57. package/components/common/pages/hardwareHealth/tableView/lib/config/sensorTable.ts +13 -1
  58. package/components/common/pages/hardwareHealth/toolsPanel/lib/config/actionsPanel.ts +4 -4
  59. package/components/common/pages/tasks/table/expandDetails/ExpandDetails.vue +1 -1
  60. package/components/common/qr/Qr.vue +69 -0
  61. package/components/common/split/horizontal/New.vue +0 -2
  62. package/components/common/split/vertical/New.vue +2 -1
  63. package/components/common/vm/actions/add/New.vue +1 -1
  64. package/components/common/vm/actions/add/Old.vue +1 -1
  65. package/components/common/vm/actions/clone/old/Old.vue +1 -0
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/New.vue +10 -34
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/Old.vue +15 -37
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +49 -50
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/coresPerSocket/CoresPerSocket.vue +1 -1
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces.ts +3 -1
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +13 -7
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/New.vue +7 -4
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +52 -45
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/Old.vue +5 -8
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +1 -3
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/New.vue +2 -2
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/Old.vue +2 -2
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +1 -1
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/New.vue +1 -2
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/Old.vue +1 -2
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/New.vue +1 -1
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +1 -1
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/Old.vue +1 -1
  84. package/components/common/vm/actions/common/select/options/Old.vue +1 -2
  85. package/components/common/wizards/common/compatibility/New.vue +1 -1
  86. package/components/common/wizards/common/compatibility/Old.vue +1 -1
  87. package/components/common/wizards/datastore/add/lib/config/createDatastore.ts +1 -0
  88. package/components/common/wizards/datastore/add/lib/models/interfaces.ts +1 -0
  89. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceNew.vue +5 -0
  90. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceOld.vue +5 -0
  91. package/components/common/wizards/datastore/add/steps/nameAndDevice/advancedOptions/AdvancedOptions.vue +43 -0
  92. package/components/common/wizards/datastore/add/steps/nameAndDevice/advancedOptions/New.vue +114 -0
  93. package/components/common/wizards/datastore/add/steps/nameAndDevice/advancedOptions/Old.vue +114 -0
  94. package/components/common/wizards/datastore/add/steps/nameAndDevice/table/old/Old.vue +2 -3
  95. package/components/common/wizards/datastore/add/steps/readyComplete/lib/config/propertiesDetails.ts +8 -1
  96. package/components/common/wizards/vm/migrate/lib/models/enums.ts +2 -2
  97. package/components/common/wizards/vm/migrate/steps/selectStorage/SelectStorage.vue +4 -4
  98. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/new/lib/config/diskTable.ts +6 -2
  99. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/old/lib/config/diskTable.ts +18 -12
  100. package/composables/useEnvLanguage.ts +7 -8
  101. package/lib/models/interfaces.ts +1 -0
  102. package/package.json +3 -4
  103. package/plugins/date.ts +14 -37
  104. package/store/main/getters.ts +2 -2
  105. package/components/common/qrcode/Qrcode.vue +0 -56
@@ -28,10 +28,9 @@
28
28
 
29
29
  <script lang="ts" setup>
30
30
  import type { UI_I_Localization } from '~/lib/models/interfaces'
31
- import type { UI_I_ConfigureAllPciDevicesItem } from '~/lib/models/store/host/interfaces'
32
31
  import type { UI_I_PciDevice } from '~/lib/models/store/vm/interfaces'
33
32
 
34
- const model = defineModel<UI_I_ConfigureAllPciDevicesItem>()
33
+ const model = defineModel<UI_I_PciDevice>()
35
34
 
36
35
  const props = defineProps<{
37
36
  pciDeviceIndex: number
@@ -27,7 +27,7 @@
27
27
  import type { UI_I_Localization } from '~/lib/models/interfaces'
28
28
  import type { UI_I_Option } from '~/components/atoms/select/lib/models/interfaces'
29
29
 
30
- const model = defineModel<string>({ required: true })
30
+ const model = defineModel<UI_I_Option | null>({ required: true })
31
31
 
32
32
  const props = defineProps<{
33
33
  options: UI_I_Option[]
@@ -11,7 +11,7 @@
11
11
  import type { UI_I_Option } from '~/components/atoms/select/lib/models/interfaces'
12
12
  import type { UI_I_MediatedDevice } from '~/lib/models/store/vm/interfaces'
13
13
 
14
- const model = defineModel<string>({ required: true })
14
+ const model = defineModel<UI_I_Option | null>({ required: true })
15
15
 
16
16
  const props = defineProps<{
17
17
  pciDeviceIndex: number
@@ -42,7 +42,7 @@
42
42
  import type { UI_I_Localization } from '~/lib/models/interfaces'
43
43
  import type { UI_I_Option } from '~/components/atoms/select/lib/models/interfaces'
44
44
 
45
- const model = defineModel<string>({ required: true })
45
+ const model = defineModel<UI_I_Option | null>({ required: true })
46
46
 
47
47
  const props = defineProps<{
48
48
  options: UI_I_Option[]
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div class="select-options">
3
3
  <div
4
- v-show="!props.isNewVmFromTemplate"
4
+ v-if="!props.isNewVmFromTemplate"
5
5
  :class="['checkbox', { disabled: props.isNewVmFromTemplate }]"
6
6
  >
7
7
  <input
@@ -28,7 +28,6 @@
28
28
  }}</label>
29
29
  </div>
30
30
  <div class="checkbox">
31
- <!-- :disabled="props.isNewVmFromTemplate"-->
32
31
  <input
33
32
  id="power-on"
34
33
  v-model="modelValue"
@@ -3,7 +3,7 @@
3
3
  <p class="compatibility">
4
4
  {{ localization.inventorySummary.compatibility }}
5
5
  </p>
6
- <div class="compatibility-message flex-align-start">
6
+ <div class="compatibility-message flex-align-start" data-id="compatibility-message">
7
7
  <ui-skeleton-item v-if="props.loading" width="160px" height="16px" />
8
8
  <template v-else-if="props.text">
9
9
  <ui-icon
@@ -3,7 +3,7 @@
3
3
  <p class="compatibility__title">
4
4
  {{ localization.inventorySummary.compatibility }}
5
5
  </p>
6
- <div class="flex-align-center compatibility__content">
6
+ <div class="flex-align-center compatibility__content" data-id="compatibility-message">
7
7
  <template v-if="props.text">
8
8
  <div class="compatibility__message">
9
9
  <div v-show="iconStatus" :class="['icon', iconStatus]" />
@@ -6,6 +6,7 @@ export const datastoreDefaultFormFunc = (
6
6
  return {
7
7
  name: 'Datastore',
8
8
  dev_names: [],
9
+ level: 'linear',
9
10
  hosts: hostId ? [hostId] : [],
10
11
  type_code: 2,
11
12
  version: 4.1,
@@ -7,6 +7,7 @@ import type { UI_I_CreateStorageLunDiskItem } from '~/components/common/wizards/
7
7
  export interface UI_I_CreateDatastoreForm {
8
8
  name: string
9
9
  dev_names: UI_I_CreateStorageLunDiskItem[]
10
+ level: 'linear' | 'raid0' | 'raid1' | 'raid5' | 'raid6' | 'raid10'
10
11
  version: UI_T_NfsType
11
12
  type_code: UI_T_DatastoreTypeCode
12
13
  readonly: boolean
@@ -76,6 +76,11 @@
76
76
  @main-filter="emits('main-filter', $event)"
77
77
  />
78
78
  </div>
79
+
80
+ <common-wizards-datastore-add-steps-name-and-device-advanced-options
81
+ v-model="formModelLocal.level"
82
+ :dev-names-count="formModelLocal.dev_names.length"
83
+ />
79
84
  </div>
80
85
  </template>
81
86
 
@@ -90,6 +90,11 @@
90
90
  @main-filter="emits('main-filter', $event)"
91
91
  />
92
92
  </div>
93
+
94
+ <common-wizards-datastore-add-steps-name-and-device-advanced-options
95
+ v-model="formModelLocal.level"
96
+ :dev-names-count="formModelLocal.dev_names.length"
97
+ />
93
98
  </div>
94
99
  </template>
95
100
 
@@ -0,0 +1,43 @@
1
+ <template>
2
+ <component
3
+ :is="currentComponent"
4
+ v-model="model"
5
+ :dev-names-count="props.devNamesCount"
6
+ />
7
+ </template>
8
+
9
+ <script setup lang="ts">
10
+ import type { UI_I_CreateDatastoreForm } from '~/components/common/wizards/datastore/add/lib/models/interfaces'
11
+
12
+ const { $store }: any = useNuxtApp()
13
+
14
+ const model = defineModel<UI_I_CreateDatastoreForm['level']>({ required: true })
15
+
16
+ const props = defineProps<{
17
+ devNamesCount: number
18
+ }>()
19
+
20
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
21
+ const currentComponent = computed(() =>
22
+ isNewView.value
23
+ ? defineAsyncComponent(() => import('./New.vue'))
24
+ : defineAsyncComponent(() => import('./Old.vue'))
25
+ )
26
+
27
+ watch(
28
+ () => props.devNamesCount,
29
+ (newValue) => {
30
+ if (newValue < 2) {
31
+ if (model.value !== 'linear') model.value = 'linear'
32
+ } else if (newValue < 3) {
33
+ if (!['linear', 'raid0', 'raid1'].includes(model.value))
34
+ model.value = 'linear'
35
+ } else if (newValue < 4) {
36
+ if (!['linear', 'raid0', 'raid1', 'raid5'].includes(model.value))
37
+ model.value = 'linear'
38
+ }
39
+ }
40
+ )
41
+ </script>
42
+
43
+ <style scoped lang="scss"></style>
@@ -0,0 +1,114 @@
1
+ <template>
2
+ <div class="advanced-options-wrap clr-form-control">
3
+ <b
4
+ class="advanced-options-label btn btn-link"
5
+ @click="isShowAdvancedOptions = !isShowAdvancedOptions"
6
+ >
7
+ {{ localization.common.advancedOptions }}
8
+ </b>
9
+ <div v-show="isShowAdvancedOptions" class="advanced-options compact">
10
+ <div class="radio">
11
+ <input
12
+ v-model="model"
13
+ id="advanced-option-liner"
14
+ data-id="advanced-option-liner"
15
+ type="radio"
16
+ value="linear"
17
+ />
18
+ <label for="advanced-option-liner"> Linear </label>
19
+ </div>
20
+ <div :class="['radio', { disabled: props.devNamesCount < 2 }]">
21
+ <input
22
+ v-model="model"
23
+ id="advanced-option-raid0"
24
+ :disabled="props.devNamesCount < 2"
25
+ data-id="advanced-option-raid0"
26
+ type="radio"
27
+ value="raid0"
28
+ />
29
+ <label for="advanced-option-raid0"> Raid0 </label>
30
+ </div>
31
+ <div :class="['radio', { disabled: props.devNamesCount < 2 }]">
32
+ <input
33
+ v-model="model"
34
+ id="advanced-option-raid1"
35
+ :disabled="props.devNamesCount < 2"
36
+ data-id="advanced-option-raid1"
37
+ type="radio"
38
+ value="raid1"
39
+ />
40
+ <label for="advanced-option-raid1"> Raid1 </label>
41
+ </div>
42
+ <div :class="['radio', { disabled: props.devNamesCount < 3 }]">
43
+ <input
44
+ v-model="model"
45
+ id="advanced-option-raid5"
46
+ :disabled="props.devNamesCount < 3"
47
+ data-id="advanced-option-raid5"
48
+ type="radio"
49
+ value="raid5"
50
+ />
51
+ <label for="advanced-option-raid5"> Raid5 </label>
52
+ </div>
53
+ <div :class="['radio', { disabled: props.devNamesCount < 4 }]">
54
+ <input
55
+ v-model="model"
56
+ id="advanced-option-raid6"
57
+ :disabled="props.devNamesCount < 4"
58
+ data-id="advanced-option-raid6"
59
+ type="radio"
60
+ value="raid6"
61
+ />
62
+ <label for="advanced-option-raid6"> Raid6 </label>
63
+ </div>
64
+ <div :class="['radio', { disabled: props.devNamesCount < 4 }]">
65
+ <input
66
+ v-model="model"
67
+ id="advanced-option-raid10"
68
+ :disabled="props.devNamesCount < 4"
69
+ data-id="advanced-option-raid10"
70
+ type="radio"
71
+ value="raid10"
72
+ />
73
+ <label for="advanced-option-raid10"> Raid10 </label>
74
+ </div>
75
+ </div>
76
+ </div>
77
+ </template>
78
+
79
+ <script setup lang="ts">
80
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
81
+ import type { UI_I_CreateDatastoreForm } from '~/components/common/wizards/datastore/add/lib/models/interfaces'
82
+
83
+ const model = defineModel<UI_I_CreateDatastoreForm['level']>({ required: true })
84
+
85
+ const props = defineProps<{
86
+ devNamesCount: number
87
+ }>()
88
+
89
+ const localization = computed<UI_I_Localization>(() => useLocal())
90
+
91
+ const isShowAdvancedOptions = ref<boolean>(false)
92
+ </script>
93
+
94
+ <style scoped lang="scss">
95
+ .advanced-options-wrap {
96
+ display: flex;
97
+ gap: 10px;
98
+
99
+ .advanced-options-label {
100
+ margin: 0;
101
+ padding: 0;
102
+ line-height: normal;
103
+ height: auto;
104
+ }
105
+
106
+ .radio {
107
+ margin-bottom: 5px;
108
+ }
109
+ input[type='radio']:focus:checked + label::before,
110
+ input[type='radio']:focus + label::before {
111
+ box-shadow: inset 0 0 0 0.25rem #0094d2;
112
+ }
113
+ }
114
+ </style>
@@ -0,0 +1,114 @@
1
+ <template>
2
+ <div class="advanced-options-wrap clr-form-control">
3
+ <b
4
+ class="advanced-options-label btn btn-link"
5
+ @click="isShowAdvancedOptions = !isShowAdvancedOptions"
6
+ >
7
+ {{ localization.common.advancedOptions }}
8
+ </b>
9
+ <div v-show="isShowAdvancedOptions" class="advanced-options compact">
10
+ <div class="radio">
11
+ <input
12
+ v-model="model"
13
+ id="advanced-option-liner"
14
+ data-id="advanced-option-liner"
15
+ type="radio"
16
+ value="linear"
17
+ />
18
+ <label for="advanced-option-liner"> Linear </label>
19
+ </div>
20
+ <div :class="['radio', { disabled: props.devNamesCount < 2 }]">
21
+ <input
22
+ v-model="model"
23
+ id="advanced-option-raid0"
24
+ :disabled="props.devNamesCount < 2"
25
+ data-id="advanced-option-raid0"
26
+ type="radio"
27
+ value="raid0"
28
+ />
29
+ <label for="advanced-option-raid0"> Raid0 </label>
30
+ </div>
31
+ <div :class="['radio', { disabled: props.devNamesCount < 2 }]">
32
+ <input
33
+ v-model="model"
34
+ id="advanced-option-raid1"
35
+ :disabled="props.devNamesCount < 2"
36
+ data-id="advanced-option-raid1"
37
+ type="radio"
38
+ value="raid1"
39
+ />
40
+ <label for="advanced-option-raid1"> Raid1 </label>
41
+ </div>
42
+ <div :class="['radio', { disabled: props.devNamesCount < 3 }]">
43
+ <input
44
+ v-model="model"
45
+ id="advanced-option-raid5"
46
+ :disabled="props.devNamesCount < 3"
47
+ data-id="advanced-option-raid5"
48
+ type="radio"
49
+ value="raid5"
50
+ />
51
+ <label for="advanced-option-raid5"> Raid5 </label>
52
+ </div>
53
+ <div :class="['radio', { disabled: props.devNamesCount < 4 }]">
54
+ <input
55
+ v-model="model"
56
+ id="advanced-option-raid6"
57
+ :disabled="props.devNamesCount < 4"
58
+ data-id="advanced-option-raid6"
59
+ type="radio"
60
+ value="raid6"
61
+ />
62
+ <label for="advanced-option-raid6"> Raid6 </label>
63
+ </div>
64
+ <div :class="['radio', { disabled: props.devNamesCount < 4 }]">
65
+ <input
66
+ v-model="model"
67
+ id="advanced-option-raid10"
68
+ :disabled="props.devNamesCount < 4"
69
+ data-id="advanced-option-raid10"
70
+ type="radio"
71
+ value="raid10"
72
+ />
73
+ <label for="advanced-option-raid10"> Raid10 </label>
74
+ </div>
75
+ </div>
76
+ </div>
77
+ </template>
78
+
79
+ <script setup lang="ts">
80
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
81
+ import type { UI_I_CreateDatastoreForm } from '~/components/common/wizards/datastore/add/lib/models/interfaces'
82
+
83
+ const model = defineModel<UI_I_CreateDatastoreForm['level']>({ required: true })
84
+
85
+ const props = defineProps<{
86
+ devNamesCount: number
87
+ }>()
88
+
89
+ const localization = computed<UI_I_Localization>(() => useLocal())
90
+
91
+ const isShowAdvancedOptions = ref<boolean>(false)
92
+ </script>
93
+
94
+ <style scoped lang="scss">
95
+ .advanced-options-wrap {
96
+ display: flex;
97
+ gap: 10px;
98
+
99
+ .advanced-options-label {
100
+ margin: 0;
101
+ padding: 0;
102
+ line-height: normal;
103
+ height: auto;
104
+ }
105
+
106
+ .radio {
107
+ margin-bottom: 5px;
108
+ }
109
+ input[type='radio']:focus:checked + label::before,
110
+ input[type='radio']:focus + label::before {
111
+ box-shadow: inset 0 0 0 0.25rem #0094d2;
112
+ }
113
+ }
114
+ </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,6 +1,6 @@
1
1
  export enum UI_E_VmMigrationType {
2
- resource = 'changeComputeResourceOriginalStorage',
3
- storage = 'changeStorageComputeResource',
2
+ resource = 'changeComputeResourceOnly',
3
+ storage = 'changeStorageOnly',
4
4
  'resource-storage' = 'changeComputeResourceAndStorage',
5
5
  server = '',
6
6
  }
@@ -80,10 +80,10 @@ const onApplyChanges = (): void => {
80
80
  /* TODO сделать рефакторинг потом */
81
81
  model.value.configure.disks.forEach((disk) => {
82
82
  const selectedDisk = selectedPerDisks.value.find(
83
- (selected) =>
84
- selected.virtual_machine === disk.virtual_machine &&
85
- selected.file === disk.file &&
86
- selected.extra.datastore_id === disk.extra.datastore_id
83
+ (selectedDisk) =>
84
+ selectedDisk.virtual_machine === disk.virtual_machine &&
85
+ selectedDisk.extra.disk_source === disk.extra.disk_source &&
86
+ selectedDisk.extra.datastore_id === disk.extra.datastore_id
87
87
  )!
88
88
 
89
89
  if (selectedDisk) {
@@ -158,12 +158,16 @@ export const getBodyDataFunc = (
158
158
  bodyData: UI_I_StorageConfigurePerDiskItem[],
159
159
  localization: UI_I_Localization
160
160
  ): UI_I_DataTableBody[] => {
161
- const { $binary }: any = useNuxtApp()
162
161
 
163
162
  return bodyData.map((disk, index: number) => {
164
163
  const diskFormat =
165
164
  index === 0 ? 'N/A' : UI_E_SelectStorageDiskFormat[disk.disk_format]
166
165
 
166
+ const file =
167
+ disk.extra.disk_source === 'meta'
168
+ ? disk.file
169
+ : `${disk.extra.disk_source} (${disk.extra.disk_size} ${localization.common.mb} )`
170
+
167
171
  const diskSharingKey = disk.extra.sharing
168
172
  ? E_DiskSharing.Active
169
173
  : E_DiskSharing.Inactive
@@ -198,7 +202,7 @@ export const getBodyDataFunc = (
198
202
  },
199
203
  {
200
204
  col: 'col2',
201
- text: disk.file,
205
+ text: file,
202
206
  },
203
207
  {
204
208
  col: 'col3',
@@ -66,32 +66,38 @@ export const bodyItems = (
66
66
  data: UI_I_StorageConfigurePerDiskItem[]
67
67
  ): UI_I_BodyItem[][] => {
68
68
  const bodyItems: UI_I_BodyItem[][] = []
69
+ const localization = useLocal()
69
70
 
70
- data.forEach((storage: UI_I_StorageConfigurePerDiskItem, key: number) => {
71
+ data.forEach((disk: UI_I_StorageConfigurePerDiskItem, key: number) => {
71
72
  const diskFormat =
72
73
  key === 0
73
74
  ? 'N/A'
74
- : UI_E_SelectStorageDiskFormat[storage[vmMigrateDiskTableItemKeys[4]]]
75
+ : UI_E_SelectStorageDiskFormat[disk[vmMigrateDiskTableItemKeys[4]]]
76
+
77
+ const file =
78
+ disk.extra.disk_source === 'meta'
79
+ ? disk[vmMigrateDiskTableItemKeys[2]]
80
+ : `${disk.extra.disk_source} (${disk.extra.disk_size} ${localization.common.mb} )`
75
81
 
76
82
  bodyItems.push([
77
83
  {
78
84
  key: 'col0',
79
- text: storage[vmMigrateDiskTableItemKeys[0]],
85
+ text: disk[vmMigrateDiskTableItemKeys[0]],
80
86
  id: key,
81
87
  },
82
88
  {
83
89
  key: 'col1',
84
- text: storage[vmMigrateDiskTableItemKeys[1]],
90
+ text: disk[vmMigrateDiskTableItemKeys[1]],
85
91
  id: key,
86
92
  },
87
93
  {
88
94
  key: 'col2',
89
- text: storage[vmMigrateDiskTableItemKeys[2]],
95
+ text: file,
90
96
  id: key,
91
97
  },
92
98
  {
93
99
  key: 'col3',
94
- text: storage[vmMigrateDiskTableItemKeys[3]],
100
+ text: disk[vmMigrateDiskTableItemKeys[3]],
95
101
  id: key,
96
102
  },
97
103
  {
@@ -101,33 +107,33 @@ export const bodyItems = (
101
107
  },
102
108
  {
103
109
  key: 'col5',
104
- text: storage.extra[vmMigrateDiskTableItemKeys[5]],
110
+ text: disk.extra[vmMigrateDiskTableItemKeys[5]],
105
111
  id: key,
106
112
  },
107
113
 
108
114
  {
109
115
  key: 'col6',
110
- text: storage.extra[vmMigrateDiskTableItemKeys[6]],
116
+ text: disk.extra[vmMigrateDiskTableItemKeys[6]],
111
117
  id: key,
112
118
  },
113
119
  {
114
120
  key: 'col7',
115
- text: storage.extra[vmMigrateDiskTableItemKeys[7]],
121
+ text: disk.extra[vmMigrateDiskTableItemKeys[7]],
116
122
  id: key,
117
123
  },
118
124
  {
119
125
  key: 'col8',
120
- text: storage.extra[vmMigrateDiskTableItemKeys[8]],
126
+ text: disk.extra[vmMigrateDiskTableItemKeys[8]],
121
127
  id: key,
122
128
  },
123
129
  {
124
130
  key: 'col9',
125
- text: storage.extra[vmMigrateDiskTableItemKeys[9]],
131
+ text: disk.extra[vmMigrateDiskTableItemKeys[9]],
126
132
  id: key,
127
133
  },
128
134
  {
129
135
  key: 'col10',
130
- text: storage.extra[vmMigrateDiskTableItemKeys[10]],
136
+ text: disk.extra[vmMigrateDiskTableItemKeys[10]],
131
137
  id: key,
132
138
  },
133
139
  ])
@@ -1,11 +1,10 @@
1
1
  export function useEnvLanguage(): string {
2
- const { $store }: any = useNuxtApp()
2
+ // const { $store }: any = useNuxtApp()
3
3
 
4
- let localizationCode = 'en_US'
4
+ const localizationCode = ref<string>('en_US')
5
5
  const langFromLocalStorage =
6
- $store.getters['main/getInterfaceLang'] || // Из $store для Сферы, но думаю нужно сделать одинаково из localStorage
7
- useLocalStorage('lang') ||
8
- useLocalStorage('languageType')
6
+ // $store.getters['main/getInterfaceLang'] || // Из $store для Сферы, но думаю нужно сделать одинаково из localStorage
7
+ useLocalStorage('lang')
9
8
 
10
9
  if (langFromLocalStorage) {
11
10
  if (
@@ -13,11 +12,11 @@ export function useEnvLanguage(): string {
13
12
  langFromLocalStorage === 'ru_RU' ||
14
13
  langFromLocalStorage === 'hy_AM'
15
14
  ) {
16
- localizationCode = langFromLocalStorage
15
+ localizationCode.value = langFromLocalStorage
17
16
  }
18
17
  }
19
18
 
20
- localizationCode = localizationCode.slice(0, 2).toUpperCase()
19
+ localizationCode.value = localizationCode.value.slice(0, 2).toUpperCase()
21
20
 
22
- return localizationCode
21
+ return localizationCode.value
23
22
  }
@@ -60,6 +60,7 @@ export interface UI_I_Localization {
60
60
  registerVm: UI_I_ArbitraryObject<string>
61
61
  files: UI_I_ArbitraryObject<string>
62
62
  myPreferences: UI_I_ArbitraryObject<string>
63
+ cacheConfiguration: UI_I_ArbitraryObject<string>
63
64
  }
64
65
  export interface UI_I_SendTaskParams {
65
66
  method: string
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bfg-common",
3
3
  "private": false,
4
- "version": "1.5.708",
4
+ "version": "1.5.710",
5
5
  "scripts": {
6
6
  "build": "nuxt build",
7
7
  "dev": "nuxt dev --port=3002",
@@ -18,7 +18,7 @@
18
18
  "@vueuse/core": "10.1.2",
19
19
  "@vueuse/nuxt": "10.1.2",
20
20
  "bfg-nuxt-3-graph": "1.0.27",
21
- "bfg-uikit": "1.0.533",
21
+ "bfg-uikit": "1.0.535",
22
22
  "eslint-config-prettier": "^8.5.0",
23
23
  "eslint-plugin-myrules": "file:./eslint",
24
24
  "nuxt": "3.11.2",
@@ -38,7 +38,6 @@
38
38
  "@nuxtjs/eslint-config-typescript": "^12.0.0",
39
39
  "@vueuse/components": "^10.1.2",
40
40
  "html2canvas": "^1.4.1",
41
- "prettier-eslint": "^15.0.1",
42
- "qrcode": "^1.5.4"
41
+ "prettier-eslint": "^15.0.1"
43
42
  }
44
43
  }