bfg-common 1.5.244 → 1.5.246

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 (71) hide show
  1. package/assets/scss/common/icons/icons-1.scss +2 -2
  2. package/assets/scss/common/icons/icons-5.scss +5 -5
  3. package/assets/scss/common/icons/icons-6.scss +1 -1
  4. package/assets/scss/common/theme.scss +6 -0
  5. package/components/atoms/table/dataGrid/DataGrid.vue +1 -1
  6. package/components/common/backup/actions/deleteBackup/DeleteBackup.vue +38 -0
  7. package/components/common/backup/storage/actions/add/Add.vue +3 -0
  8. package/components/common/backup/storage/actions/add/New.vue +2 -0
  9. package/components/common/backup/storage/actions/add/Old.vue +2 -0
  10. package/components/common/browse/BrowseNew.vue +8 -2
  11. package/components/common/vm/actions/add/Add.vue +3 -0
  12. package/components/common/vm/actions/add/New.vue +4 -0
  13. package/components/common/vm/actions/add/Old.vue +4 -0
  14. package/components/common/vm/actions/clone/Clone.vue +3 -0
  15. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +3 -0
  16. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +3 -0
  17. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +7 -2
  18. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +2 -0
  19. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +3 -0
  20. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +9 -7
  21. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +2 -0
  22. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +2 -0
  23. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +4 -0
  24. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +5 -1
  25. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/model/ModelNew.vue +11 -2
  26. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/SharesNew.vue +6 -1
  27. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryNew.vue +5 -1
  28. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/hotPlug/HotPlugNew.vue +8 -2
  29. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +3 -0
  30. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +6 -0
  31. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +2 -0
  32. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/file/FileNew.vue +8 -3
  33. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +3 -0
  34. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationNew.vue +2 -0
  35. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +2 -0
  36. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/StorageModal.vue +3 -0
  37. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/StorageModalNew.vue +2 -0
  38. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/StorageModalOld.vue +2 -0
  39. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/maximumSize/MaximumSizeNew.vue +8 -4
  40. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/ProvisioningNew.vue +6 -1
  41. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +6 -1
  42. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +1 -1
  43. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +4 -3
  44. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +1 -0
  45. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +1 -0
  46. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +8 -2
  47. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/ReservationNew.vue +5 -2
  48. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +5 -2
  49. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +5 -1
  50. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +4 -0
  51. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +1 -0
  52. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +8 -2
  53. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +1 -1
  54. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsNew.vue +5 -1
  55. package/components/common/vm/actions/common/select/storage/Old.vue +2 -0
  56. package/components/common/vm/actions/common/select/storage/Storage.vue +3 -0
  57. package/components/common/vm/actions/common/select/storage/new/New.vue +10 -5
  58. package/components/common/vm/actions/common/select/storage/new/lib/config/table.ts +2 -1
  59. package/components/common/vm/actions/editSettings/EditSettings.vue +3 -0
  60. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +2 -0
  61. package/components/common/vm/actions/editSettings/new/New.vue +2 -0
  62. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +1 -3
  63. package/lib/utils/utils.ts +14 -2
  64. package/package.json +2 -2
  65. package/plugins/cron.ts +75 -0
  66. package/plugins/helpers.ts +18 -0
  67. package/plugins/number.ts +18 -0
  68. package/plugins/panelStates.ts +70 -0
  69. package/plugins/text.ts +11 -0
  70. package/plugins/time.ts +17 -0
  71. /package/{components/common/split/horizontal/lib/models → lib/models/plugins/panelStates}/interfaces.ts +0 -0
@@ -93,7 +93,7 @@
93
93
  background-position: 0 98.7%;
94
94
  }
95
95
  .storage-ui-icon-increase_datastore {
96
- background-position: 0 94.9%;
96
+ background-position: 0 94.96%;
97
97
  }
98
98
  .storage-ui-icon-datastore-unmount {
99
99
  background-position: 0 100%;
@@ -114,7 +114,7 @@
114
114
  background-position: 0 43.0379746835%;
115
115
  }
116
116
  .storage-ui-icon-browse-file {
117
- background-position: 0 30.3797468354%;
117
+ background-position: 0 30.44%;
118
118
  }
119
119
  .clone-to-template {
120
120
  background-position: 0 46.8%;
@@ -13,7 +13,7 @@
13
13
  background-position: 0 7.59%;
14
14
  }
15
15
  .vx-icon-vmMigrate {
16
- background-position: 0 1.3%;
16
+ background-position: 0 1.29%;
17
17
  }
18
18
  .network-lib-ui-icon-vswitch {
19
19
  background-position: 0 24.05%;
@@ -59,16 +59,16 @@
59
59
  background-position: 0 40.5%;
60
60
  }
61
61
  .icon-web-terminal {
62
- background-position: 0 41.8%;
62
+ background-position: 0 41.79%;
63
63
  }
64
64
  .icon-move {
65
- background-position: 0 43%;
65
+ background-position: 0 43.06%;
66
66
  }
67
67
  .icon-settings {
68
68
  background-position: 0 44.3%;
69
69
  }
70
70
  .icon-remove {
71
- background-position: 0 45.6%;
71
+ background-position: 0 45.59%;
72
72
  }
73
73
  .icon-backup-storage {
74
74
  background-position: 0 46.8%;
@@ -113,7 +113,7 @@
113
113
  background-position: 0 68.3%;
114
114
  }
115
115
  .icon-edit {
116
- background-position: 0 69.6%;
116
+ background-position: 0 69.65%;
117
117
  }
118
118
  .icon-backup {
119
119
  background-position: 0 62%;
@@ -69,7 +69,7 @@
69
69
  background-position: 0 91.8%;
70
70
  }
71
71
  .icon-add-permission {
72
- background-position: 0 99.8%;
72
+ background-position: 0 100%;
73
73
  }
74
74
 
75
75
  /* _____BACKGROUND IMAGE_____ */
@@ -169,6 +169,9 @@
169
169
  --diagram-content-third-text: #9da6ad;
170
170
  --diagram-info-text: #4d5d69;
171
171
  --diagram-info-second-text: #9da6ad;
172
+
173
+ // VM Add Edit new view
174
+ --select-file-type-label: #4d5d69;
172
175
  }
173
176
 
174
177
  :root.dark-theme {
@@ -330,4 +333,7 @@
330
333
  --diagram-content-third-text: #9da6ad;
331
334
  --diagram-info-text: #e9eaec;
332
335
  --diagram-info-second-text: #9da6ad;
336
+
337
+ // VM Add Edit new view
338
+ --select-file-type-label: #e9eaec;
333
339
  }
@@ -819,7 +819,7 @@ const headItemsPresent = computed<UI_I_HeadItem[]>(() => {
819
819
  const bodyItemsPresent = computed<UI_I_BodyItem[][]>(() => {
820
820
  let items: UI_I_BodyItem[][] = props.bodyItems.map((row) => {
821
821
  return row.map((item) => {
822
- const text = item.text.toString()
822
+ const text = item.text?.toString() || ''
823
823
  return {
824
824
  ...item,
825
825
  // Если текст пустой нужно поставить '--' для экспорта
@@ -0,0 +1,38 @@
1
+ <template>
2
+ <common-modals-confirmation
3
+ :headline="headline"
4
+ :description="description"
5
+ :loading="props.isLoading"
6
+ @hide-modal="emits('hide')"
7
+ @confirm="emits('remove', props.isAll)"
8
+ />
9
+ </template>
10
+
11
+ <script setup lang="ts">
12
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
13
+
14
+ const props = defineProps<{
15
+ name?: string
16
+ isAll?: boolean
17
+ isLoading?: boolean
18
+ }>()
19
+ const emits = defineEmits<{
20
+ (event: 'hide'): void
21
+ (event: 'remove', value: boolean): void
22
+ }>()
23
+
24
+ const localization = computed<UI_I_Localization>(() => useLocal())
25
+
26
+ const headline = computed<string>(() => {
27
+ return props.isAll
28
+ ? localization.value.common.deleteAllBackups
29
+ : `${props.name} - ${localization.value.common.deleteBackup}`
30
+ })
31
+ const description = computed<string>(() => {
32
+ return props.isAll
33
+ ? localization.value.common.deleteAllBackupDescription
34
+ : localization.value.common.deleteBackupDescription
35
+ })
36
+ </script>
37
+
38
+ <style lang="scss" scoped></style>
@@ -9,6 +9,7 @@
9
9
  :title="title"
10
10
  :hosts="props.hosts"
11
11
  :datastore="props.datastore"
12
+ :is-datastore-loading="props.isDatastoreLoading"
12
13
  :get-datastore-table-func="props.getDatastoreTableFunc"
13
14
  @change-steps="onChangeSteps"
14
15
  @change-storage="onChangeStorage"
@@ -25,6 +26,7 @@
25
26
  :title="title"
26
27
  :hosts="props.hosts"
27
28
  :datastore="props.datastore"
29
+ :is-datastore-loading="props.isDatastoreLoading"
28
30
  :get-datastore-table-func="props.getDatastoreTableFunc"
29
31
  @change-steps="onChangeSteps"
30
32
  @change-storage="onChangeStorage"
@@ -61,6 +63,7 @@ const props = withDefaults(
61
63
  defineProps<{
62
64
  project: UI_T_Project
63
65
  datastore: UI_I_DatastoreTableItem[]
66
+ isDatastoreLoading: boolean
64
67
  getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
65
68
  hosts?: any[]
66
69
  }>(),
@@ -124,6 +124,7 @@
124
124
  <template #content>
125
125
  <common-vm-actions-common-select-storage
126
126
  :datastore="props.datastore"
127
+ :is-datastore-loading="props.isDatastoreLoading"
127
128
  :get-datastore-table-func="props.getDatastoreTableFunc"
128
129
  hide-compatibility
129
130
  hide-alert
@@ -214,6 +215,7 @@ const props = defineProps<{
214
215
  alertMessages: string[][]
215
216
  title: string
216
217
  datastore: UI_I_DatastoreTableItem[]
218
+ isDatastoreLoading: boolean
217
219
  getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
218
220
  hosts?: any[]
219
221
  }>()
@@ -44,6 +44,7 @@
44
44
  />
45
45
  <common-vm-actions-common-select-storage
46
46
  :datastore="props.datastore"
47
+ :is-datastore-loading="props.isDatastoreLoading"
47
48
  :get-datastore-table-func="props.getDatastoreTableFunc"
48
49
  hide-compatibility
49
50
  hide-alert
@@ -90,6 +91,7 @@ const props = defineProps<{
90
91
  alertMessages: string[][]
91
92
  title: string
92
93
  datastore: UI_I_DatastoreTableItem[]
94
+ isDatastoreLoading: boolean
93
95
  getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
94
96
  hosts?: any[]
95
97
  }>()
@@ -37,7 +37,9 @@
37
37
  :class="['browse-tree-item', { active: node.isActive }]"
38
38
  >
39
39
  <span :class="node.iconClassName"></span>
40
- <span class="text-ellipsis">{{ node.name }}</span>
40
+ <span class="text-ellipsis datastore-node-name">{{
41
+ node.name
42
+ }}</span>
41
43
  </div>
42
44
  </template>
43
45
  </ui-tree>
@@ -204,7 +206,7 @@ const selectedFileTypeLocal = computed<any>({
204
206
 
205
207
  <style scoped lang="scss">
206
208
  .file-type-label {
207
- color: #4d5d69;
209
+ color: var(--select-file-type-label);
208
210
  }
209
211
 
210
212
  .new-view-info {
@@ -239,6 +241,10 @@ const selectedFileTypeLocal = computed<any>({
239
241
  display: flex;
240
242
  align-items: center;
241
243
  column-gap: 8px;
244
+
245
+ .datastore-node-name {
246
+ font-size: 12px;
247
+ }
242
248
  }
243
249
  .first-block-content {
244
250
  :deep(.tree-content) {
@@ -9,6 +9,7 @@
9
9
  :files="props.files"
10
10
  :networks-table="props.networksTable"
11
11
  :datastore="props.datastore"
12
+ :is-datastore-loading="props.isDatastoreLoading"
12
13
  :error-validation-fields="props.errorValidationFields"
13
14
  :ready-complete-table-info="props.readyCompleteTableInfo"
14
15
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
@@ -77,6 +78,7 @@
77
78
  :files="props.files"
78
79
  :networks-table="props.networksTable"
79
80
  :datastore="props.datastore"
81
+ :is-datastore-loading="props.isDatastoreLoading"
80
82
  :error-validation-fields="props.errorValidationFields"
81
83
  :ready-complete-table-info="props.readyCompleteTableInfo"
82
84
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
@@ -199,6 +201,7 @@ const props = defineProps<{
199
201
  files: UI_I_FileTreeNode[]
200
202
  networksTable: UI_I_NetworkTableItem[]
201
203
  datastore: UI_I_DatastoreTableItem[]
204
+ isDatastoreLoading: boolean
202
205
  errorValidationFields: UI_I_ErrorValidationField[]
203
206
  readyCompleteTableInfo: UI_I_TableInfoItem[]
204
207
  vmCpuHelpTextSecond: string
@@ -143,6 +143,7 @@
143
143
  <common-vm-actions-common-select-storage
144
144
  :storage-submit="props.storageSubmit"
145
145
  :datastore="props.datastore"
146
+ :is-datastore-loading="props.isDatastoreLoading"
146
147
  :get-datastore-table-func="props.getDatastoreTableFunc"
147
148
  :storage="props.vmtSettings?.storage"
148
149
  @submit="emits('change-storage', $event)"
@@ -252,6 +253,7 @@
252
253
  :error-validation-fields="props.errorValidationFields"
253
254
  :get-datastore-table-func="props.getDatastoreTableFunc"
254
255
  :datastore="props.datastore"
256
+ :is-datastore-loading="props.isDatastoreLoading"
255
257
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
256
258
  :passthrough-devices="props.passthroughDevices"
257
259
  :mediated-devices="props.mediatedDevices"
@@ -321,6 +323,7 @@
321
323
  :error-validation-fields="props.errorValidationFields"
322
324
  :get-datastore-table-func="props.getDatastoreTableFunc"
323
325
  :datastore="props.datastore"
326
+ :is-datastore-loading="props.isDatastoreLoading"
324
327
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
325
328
  :passthrough-devices="props.passthroughDevices"
326
329
  :mediated-devices="props.mediatedDevices"
@@ -452,6 +455,7 @@ const props = defineProps<{
452
455
  files: UI_I_FileTreeNode[]
453
456
  networksTable: UI_I_NetworkTableItem[]
454
457
  datastore: UI_I_DatastoreTableItem[]
458
+ isDatastoreLoading: boolean
455
459
  errorValidationFields: UI_I_ErrorValidationField[]
456
460
  readyCompleteTableInfo: UI_I_TableInfoItem[]
457
461
  vmCpuHelpTextSecond: string
@@ -69,6 +69,7 @@
69
69
  v-show="selectedStep.id === dynamicSteps.selectStorage"
70
70
  :storage-submit="props.storageSubmit"
71
71
  :datastore="props.datastore"
72
+ :is-datastore-loading="props.isDatastoreLoading"
72
73
  :storage="props.vmtSettings?.storage"
73
74
  :get-datastore-table-func="props.getDatastoreTableFunc"
74
75
  @submit="emits('change-storage', $event)"
@@ -123,6 +124,7 @@
123
124
  :error-validation-fields="props.errorValidationFields"
124
125
  :get-datastore-table-func="props.getDatastoreTableFunc"
125
126
  :datastore="props.datastore"
127
+ :is-datastore-loading="props.isDatastoreLoading"
126
128
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
127
129
  :passthrough-devices="props.passthroughDevices"
128
130
  :mediated-devices="props.mediatedDevices"
@@ -172,6 +174,7 @@
172
174
  :error-validation-fields="props.errorValidationFields"
173
175
  :get-datastore-table-func="props.getDatastoreTableFunc"
174
176
  :datastore="props.datastore"
177
+ :is-datastore-loading="props.isDatastoreLoading"
175
178
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
176
179
  :passthrough-devices="props.passthroughDevices"
177
180
  :mediated-devices="props.mediatedDevices"
@@ -276,6 +279,7 @@ const props = defineProps<{
276
279
  files: UI_I_FileTreeNode[]
277
280
  networksTable: UI_I_NetworkTableItem[]
278
281
  datastore: UI_I_DatastoreTableItem[]
282
+ isDatastoreLoading: boolean
279
283
  errorValidationFields: UI_I_ErrorValidationField[]
280
284
  readyCompleteTableInfo: UI_I_TableInfoItem[]
281
285
  vmCpuHelpTextSecond: string
@@ -56,6 +56,7 @@
56
56
  v-show="selectedStep.id === dynamicSteps.selectStorage"
57
57
  :storage-submit="storageSubmit"
58
58
  :datastore="props.datastore"
59
+ :is-datastore-loading="props.isDatastoreLoading"
59
60
  :storage="vmForm.storage"
60
61
  :get-datastore-table-func="props.getDatastoreTableFunc"
61
62
  @submit="onChangeStorage"
@@ -109,6 +110,7 @@
109
110
  :mediated-devices="props.mediatedDevices"
110
111
  :get-datastore-table-func="props.getDatastoreTableFunc"
111
112
  :datastore="props.datastore"
113
+ :is-datastore-loading="props.isDatastoreLoading"
112
114
  :project="props.project"
113
115
  is-clone
114
116
  @change-boot-order="onChangeBootOrder"
@@ -187,6 +189,7 @@ const props = defineProps<{
187
189
  files: UI_I_FileTreeNode[]
188
190
  networksTable: UI_I_NetworkTableItem[]
189
191
  datastore: UI_I_DatastoreTableItem[]
192
+ isDatastoreLoading: boolean
190
193
  errorValidationFields: UI_I_ErrorValidationField[]
191
194
  readyCompleteTableInfo: UI_I_TableInfoItem[]
192
195
  vmCpuHelpTextSecond: string
@@ -35,6 +35,7 @@
35
35
  v-show="selectedStep.id === dynamicSteps.selectStorage"
36
36
  :storage-submit="storageSubmit"
37
37
  :datastore="props.datastore"
38
+ :is-datastore-loading="props.isDatastoreLoading"
38
39
  :storage="vmSettingsLocal.storage"
39
40
  :get-datastore-table-func="props.getDatastoreTableFunc"
40
41
  @submit="onChangeStorage"
@@ -73,6 +74,7 @@
73
74
  :mediated-devices="props.mediatedDevices"
74
75
  :get-datastore-table-func="props.getDatastoreTableFunc"
75
76
  :datastore="props.datastore"
77
+ :is-datastore-loading="props.isDatastoreLoading"
76
78
  :project="props.project"
77
79
  is-clone
78
80
  @change-boot-order="onChangeBootOrder"
@@ -148,6 +150,7 @@ const props = defineProps<{
148
150
  files: UI_I_FileTreeNode[]
149
151
  networksTable: UI_I_NetworkTableItem[]
150
152
  datastore: UI_I_DatastoreTableItem[]
153
+ isDatastoreLoading: boolean
151
154
  errorValidationFields: UI_I_ErrorValidationField[]
152
155
  readyCompleteTableInfo: UI_I_TableInfoItem[]
153
156
  vmCpuHelpTextSecond: string
@@ -24,6 +24,7 @@
24
24
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
25
25
  :get-datastore-table-func="props.getDatastoreTableFunc"
26
26
  :datastore="props.datastore"
27
+ :is-datastore-loading="props.isDatastoreLoading"
27
28
  :hard-disks="props.hardDisks"
28
29
  :cd-dvd-drives="props.cdDvdDrives"
29
30
  :networks="props.networks"
@@ -79,6 +80,7 @@
79
80
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
80
81
  :get-datastore-table-func="props.getDatastoreTableFunc"
81
82
  :datastore="props.datastore"
83
+ :is-datastore-loading="props.isDatastoreLoading"
82
84
  :hard-disks="props.hardDisks"
83
85
  :cd-dvd-drives="props.cdDvdDrives"
84
86
  :networks="props.networks"
@@ -169,6 +171,7 @@ const props = defineProps<{
169
171
  vmCpuHelpTextSecond?: string
170
172
  getDatastoreTableFunc?: (payload: UI_I_TablePayload) => Promise<void>
171
173
  datastore: UI_I_DatastoreTableItem[]
174
+ isDatastoreLoading: boolean
172
175
  hardDisks?: UI_I_SendDataNewHardDisk[] | null
173
176
  cdDvdDrives?: UI_I_SendDataNewCdDvdDrive[] | null
174
177
  networks?: UI_I_SendDataNewNetwork[] | null
@@ -47,6 +47,7 @@
47
47
  :error-validation-fields="props.errorValidationFields"
48
48
  :get-datastore-table-func="props.getDatastoreTableFunc"
49
49
  :datastore="props.datastore"
50
+ :is-datastore-loading="props.isDatastoreLoading"
50
51
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
51
52
  :passthrough-devices="props.passthroughDevices"
52
53
  :mediated-devices="props.mediatedDevices"
@@ -149,6 +150,7 @@ const props = defineProps<{
149
150
  cpuModels: UI_I_OptionItem[]
150
151
  maxMemory: number
151
152
  datastore: UI_I_DatastoreTableItem[]
153
+ isDatastoreLoading: boolean
152
154
  networksTable: UI_I_NetworkTableItem[]
153
155
  errorValidationFields: UI_I_ErrorValidationField[]
154
156
  networksForBootOptions: UI_I_SendDataNewNetwork[] | null
@@ -227,7 +229,10 @@ const themeMode = useLocalStorage('themeMode')
227
229
  //flex: 0 0 280px;
228
230
  max-width: 280px;
229
231
  margin-right: 12px;
230
- line-height: 32px;
232
+ text-overflow: ellipsis;
233
+ white-space: nowrap;
234
+ overflow: hidden;
235
+ //line-height: 32px;
231
236
 
232
237
  .ui-checkbox-label {
233
238
  min-height: 32px;
@@ -246,7 +251,7 @@ const themeMode = useLocalStorage('themeMode')
246
251
  </style>
247
252
  <style lang="scss">
248
253
  .light-theme {
249
- .stack-block-label .ui-main-select-toggle:not(.error) {
254
+ .stack-block-label .ui-main-select-toggle:not(.error):not(:disabled) {
250
255
  background-color: #ffffff;
251
256
  }
252
257
  .stack-block-expanded > .stack-block-label .ui-main-select-toggle {
@@ -33,6 +33,7 @@
33
33
  :error-validation-fields="props.errorValidationFields"
34
34
  :get-datastore-table-func="props.getDatastoreTableFunc"
35
35
  :datastore="props.datastore"
36
+ :is-datastore-loading="props.isDatastoreLoading"
36
37
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
37
38
  :passthrough-devices="props.passthroughDevices"
38
39
  :mediated-devices="props.mediatedDevices"
@@ -133,6 +134,7 @@ const props = defineProps<{
133
134
  cpuModels: UI_I_OptionItem[]
134
135
  maxMemory: number
135
136
  datastore: UI_I_DatastoreTableItem[]
137
+ isDatastoreLoading: boolean
136
138
  networksTable: UI_I_NetworkTableItem[]
137
139
  errorValidationFields: UI_I_ErrorValidationField[]
138
140
  networksForBootOptions: UI_I_SendDataNewNetwork[] | null
@@ -13,6 +13,7 @@
13
13
  :max-memory="props.maxMemory"
14
14
  :cpu-models="props.cpuModels"
15
15
  :datastore="props.datastore"
16
+ :is-datastore-loading="props.isDatastoreLoading"
16
17
  :networks-type="networksType"
17
18
  :networks-table="props.networksTable"
18
19
  :dropdown-items="dropdownItems"
@@ -81,6 +82,7 @@
81
82
  :max-memory="props.maxMemory"
82
83
  :cpu-models="props.cpuModels"
83
84
  :datastore="props.datastore"
85
+ :is-datastore-loading="props.isDatastoreLoading"
84
86
  :networks-type="networksType"
85
87
  :networks-table="props.networksTable"
86
88
  :dropdown-items="dropdownItems"
@@ -190,6 +192,7 @@ const props = defineProps<{
190
192
  networksTable: UI_I_NetworkTableItem[]
191
193
  getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
192
194
  datastore: UI_I_DatastoreTableItem[]
195
+ isDatastoreLoading: boolean
193
196
  state?: string | number
194
197
  cpu?: API_UI_I_VmEditCpu
195
198
  memory?: API_UI_I_VmEditMemory
@@ -24,7 +24,7 @@
24
24
  elem-id="add-device-dropdown"
25
25
  test-id="add-device-dropdown"
26
26
  left
27
- max-height="300px"
27
+ max-height="400px"
28
28
  @select="onAddDevice"
29
29
  @hide="isShowAddDeviceDropdown = false"
30
30
  />
@@ -65,6 +65,7 @@
65
65
  :error-validation-fields="props.errorValidationFields"
66
66
  :get-datastore-table-func="props.getDatastoreTableFunc"
67
67
  :datastore="props.datastore"
68
+ :is-datastore-loading="props.isDatastoreLoading"
68
69
  :is-edit="props.isEdit"
69
70
  :state="props.state"
70
71
  :guest-machine-type="props.guestMachineType"
@@ -251,6 +252,7 @@ const props = defineProps<{
251
252
  maxMemory: number
252
253
  cpuModels: UI_I_OptionItem[]
253
254
  datastore: UI_I_DatastoreTableItem[]
255
+ isDatastoreLoading: boolean
254
256
  networksType: UI_T_NetworkType[]
255
257
  networksTable: UI_I_NetworkTableItem[]
256
258
  // dropdownItems: UI_I_DropdownTreeItem[]
@@ -442,11 +444,11 @@ const onAddDevice = (data: number): void => {
442
444
  }
443
445
  :deep(.ui-popup-window) {
444
446
  overflow: hidden;
445
- padding: 12px 0;
447
+ padding: 8px 0;
446
448
 
447
449
  .ui-dropdown {
448
450
  overflow: auto;
449
- max-height: calc(300px - 24px);
451
+ //max-height: calc(300px - 24px);
450
452
 
451
453
  .ui-dropdown-menu.md {
452
454
  padding: 0 8px;
@@ -459,10 +461,10 @@ const onAddDevice = (data: number): void => {
459
461
  &:not(:last-child) {
460
462
  margin-bottom: 4px;
461
463
  }
462
- &:last-child ul li:last-child {
463
- height: 26px;
464
- align-items: flex-end;
465
- }
464
+ //&:last-child ul li:last-child {
465
+ //height: 26px;
466
+ //align-items: flex-end;
467
+ //}
466
468
  }
467
469
  }
468
470
  }
@@ -43,6 +43,7 @@
43
43
  :error-validation-fields="props.errorValidationFields"
44
44
  :get-datastore-table-func="props.getDatastoreTableFunc"
45
45
  :datastore="props.datastore"
46
+ :is-datastore-loading="props.isDatastoreLoading"
46
47
  :is-edit="props.isEdit"
47
48
  :state="props.state"
48
49
  :guest-machine-type="props.guestMachineType"
@@ -232,6 +233,7 @@ const props = defineProps<{
232
233
  maxMemory: number
233
234
  cpuModels: UI_I_OptionItem[]
234
235
  datastore: UI_I_DatastoreTableItem[]
236
+ isDatastoreLoading: boolean
235
237
  networksType: UI_T_NetworkType[]
236
238
  networksTable: UI_I_NetworkTableItem[]
237
239
  dropdownItems: UI_I_DropdownTreeItem[]
@@ -24,6 +24,8 @@
24
24
  :help-text="props.helpText"
25
25
  :dropdown-left="true"
26
26
  dropdown-width="480px"
27
+ icon-width="20"
28
+ icon-height="20"
27
29
  />
28
30
  </div>
29
31
  </div>
@@ -4,6 +4,7 @@
4
4
  :is-roll-back="props.type === 'removed'"
5
5
  :removable="props.isRemovable"
6
6
  :test-id="`cd-dvd-drive-stack-block-${props.index}`"
7
+ is-toggle-on-stack-view-key
7
8
  @remove="emits('remove')"
8
9
  @roll-back="emits('roll-back')"
9
10
  >
@@ -173,6 +174,9 @@ const onChangeCdDvdDrive = (data: string): void => {
173
174
  gap: 0;
174
175
  }
175
176
 
177
+ #device-will-removed-text-main {
178
+ color: #9da6ad;
179
+ }
176
180
  .device-will-removed-text {
177
181
  font-size: 13px;
178
182
  color: #9da6ad;
@@ -1,6 +1,10 @@
1
1
  <template>
2
2
  <div class="hardware-cpu">
3
- <ui-stack-block :has-children="true" test-id="cpu-stack-block">
3
+ <ui-stack-block
4
+ :has-children="true"
5
+ test-id="cpu-stack-block"
6
+ is-toggle-on-stack-view-key
7
+ >
4
8
  <template #stackBlockKey>
5
9
  <div
6
10
  id="vm-wizard-toggle-block-cpu"
@@ -1,7 +1,9 @@
1
1
  <template>
2
2
  <ui-stack-block :has-children="false">
3
3
  <template #stackBlockKey>
4
- {{ localization.common.cpuModel }}
4
+ <span class="limit-title">
5
+ {{ localization.common.cpuModel }}
6
+ </span>
5
7
  </template>
6
8
  <template #stackBlockContent>
7
9
  <div class="cpu-model-content">
@@ -41,7 +43,7 @@
41
43
  </common-tooltip-help>
42
44
 
43
45
  </div>
44
- <div class="flex-align-center">
46
+ <div class="host-model-cpu-wrap flex-align-center">
45
47
  <ui-checkbox
46
48
  v-model="hostModelCpu"
47
49
  :disabled="props.disabled"
@@ -104,6 +106,9 @@ const onChangeCpuModel = (data: UI_T_SelectedValue): void => {
104
106
 
105
107
 
106
108
  <style scoped lang="scss">
109
+ .limit-title {
110
+ margin-right: 12px;
111
+ }
107
112
  .cpu-model-content {
108
113
  display: flex;
109
114
  flex-direction: column;
@@ -113,6 +118,10 @@ const onChangeCpuModel = (data: UI_T_SelectedValue): void => {
113
118
  :deep(.ui-main-select-toggle) {
114
119
  width: 100%;
115
120
  }
121
+ .passthrough-host-cpu-wrap :deep(.ui-checkbox-label),
122
+ .host-model-cpu-wrap :deep(.ui-checkbox-label) {
123
+ min-height: unset !important;
124
+ }
116
125
  }
117
126
 
118
127
  </style>
@@ -1,7 +1,9 @@
1
1
  <template>
2
2
  <ui-stack-block :has-children="false">
3
3
  <template #stackBlockKey>
4
- {{ localization.common.shares }}
4
+ <span class="limit-title">
5
+ {{ localization.common.shares }}
6
+ </span>
5
7
  </template>
6
8
  <template #stackBlockContent>
7
9
  <div class="shares-content flex-align-center">
@@ -54,6 +56,9 @@ const localization = computed<UI_I_Localization>(() => useLocal())
54
56
  </script>
55
57
 
56
58
  <style scoped>
59
+ .limit-title {
60
+ margin-right: 12px;
61
+ }
57
62
  .shares-content {
58
63
  gap: 8px;
59
64
  }
@@ -1,5 +1,9 @@
1
1
  <template>
2
- <ui-stack-block :has-children="true" test-id="memory-stack-block">
2
+ <ui-stack-block
3
+ :has-children="true"
4
+ test-id="memory-stack-block"
5
+ is-toggle-on-stack-view-key
6
+ >
3
7
  <template #stackBlockKey>
4
8
  <div
5
9
  id="vm-wizard-toggle-block-memory"