bfg-common 1.5.558 → 1.5.559

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 (173) 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/assets/localization/local_be.json +26 -5
  7. package/assets/localization/local_en.json +26 -5
  8. package/assets/localization/local_hy.json +26 -5
  9. package/assets/localization/local_kk.json +26 -5
  10. package/assets/localization/local_ru.json +26 -5
  11. package/assets/localization/local_zh.json +27 -6
  12. package/components/atoms/TheIcon3.vue +50 -50
  13. package/components/atoms/collapse/CollapseNav.vue +170 -170
  14. package/components/atoms/perPage/PerPage.vue +58 -58
  15. package/components/atoms/table/dataGrid/DataGrid.vue +1718 -1718
  16. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  17. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  18. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  19. package/components/common/backup/storage/actions/add/Add.vue +251 -251
  20. package/components/common/backup/storage/actions/add/lib/utils.ts +51 -51
  21. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  22. package/components/common/diagramMain/modals/lib/config/portModal.ts +251 -251
  23. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  24. package/components/common/diagramMain/port/Port.vue +580 -580
  25. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  26. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  27. package/components/common/modals/confirmByInput/ConfirmByInput.vue +9 -1
  28. package/components/common/modals/confirmByInput/ConfirmByInputNew.vue +7 -2
  29. package/components/common/pages/backups/DetailView.vue +52 -52
  30. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  31. package/components/common/pages/backups/modals/Modals.vue +243 -243
  32. package/components/common/pages/backups/modals/createBackup/New.vue +8 -2
  33. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  34. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +69 -69
  35. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  36. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  37. package/components/common/pages/backups/modals/restore/Restore.vue +9 -5
  38. package/components/common/pages/backups/modals/restore/RestoreNew.vue +13 -3
  39. package/components/common/pages/backups/modals/restore/RestoreOld.vue +6 -18
  40. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  41. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  42. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  43. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  44. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  45. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  46. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  47. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  48. package/components/common/select/radio/RadioGroup.vue +137 -137
  49. package/components/common/spiceConsole/Drawer.vue +420 -420
  50. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  51. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  52. package/components/common/tools/Actions.vue +207 -207
  53. package/components/common/treeView/TreeView.vue +52 -52
  54. package/components/common/vm/actions/add/Add.vue +119 -46
  55. package/components/common/vm/actions/add/New.vue +54 -16
  56. package/components/common/vm/actions/add/Old.vue +55 -16
  57. package/components/common/vm/actions/add/lib/config/steps.ts +347 -347
  58. package/components/common/vm/actions/clone/Clone.vue +809 -809
  59. package/components/common/vm/actions/clone/new/New.vue +457 -457
  60. package/components/common/vm/actions/clone/old/Old.vue +378 -378
  61. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +81 -14
  62. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +56 -7
  63. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +56 -8
  64. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +142 -73
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +54 -60
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +55 -61
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +159 -139
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +15 -8
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuOld.vue +13 -8
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +75 -62
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryNew.vue +158 -158
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryOld.vue +155 -155
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +427 -427
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +74 -58
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +17 -6
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +3 -6
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerOld.vue +3 -6
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +39 -17
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +5 -6
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +5 -6
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/lib/config/options.ts +4 -4
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
  89. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +93 -6
  90. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +62 -8
  91. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsOld.vue +60 -8
  92. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +69 -5
  93. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +32 -12
  94. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsOld.vue +33 -12
  95. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  96. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  97. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +132 -114
  98. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +6 -41
  99. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderOld.vue +6 -44
  100. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +23 -8
  101. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +31 -21
  102. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsOld.vue +34 -26
  103. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +34 -28
  104. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/Old.vue +30 -24
  105. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +112 -8
  106. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +3 -3
  107. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{New.vue → KeymapNew.vue} +6 -6
  108. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{Old.vue → KeymapOld.vue} +5 -5
  109. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +7 -6
  110. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  111. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +38 -4
  112. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsNew.vue +26 -7
  113. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsOld.vue +50 -24
  114. package/components/common/vm/actions/common/lib/models/interfaces.ts +25 -57
  115. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  116. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  117. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  118. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  119. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  120. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  121. package/components/common/vm/actions/common/select/storage/Storage.vue +178 -178
  122. package/components/common/vm/actions/common/select/storage/new/New.vue +311 -311
  123. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  124. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  125. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  126. package/components/common/vm/actions/editSettings/EditSettings.vue +35 -21
  127. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +41 -14
  128. package/components/common/vm/actions/editSettings/new/New.vue +41 -14
  129. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  130. package/components/common/vm/actions/lib/models/interfaces.ts +29 -4
  131. package/components/common/vm/actions/lib/utils.ts +32 -37
  132. package/components/common/vm/actions/register/Register.vue +352 -352
  133. package/components/common/vm/actions/register/lib/config/steps.ts +86 -86
  134. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  135. package/components/common/wizards/common/compatibility/New.vue +99 -99
  136. package/components/common/wizards/common/compatibility/Old.vue +53 -53
  137. package/components/common/wizards/common/steps/computeResource/ComputeResource.vue +86 -86
  138. package/components/common/wizards/common/steps/computeResource/New.vue +93 -93
  139. package/components/common/wizards/common/steps/computeResource/Old.vue +103 -103
  140. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  141. package/components/common/wizards/common/steps/name/New.vue +221 -221
  142. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  143. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  144. package/components/common/wizards/common/steps/name/location/Location.vue +85 -85
  145. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  146. package/components/common/wizards/datastore/add/Add.vue +228 -228
  147. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  148. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  149. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +205 -205
  150. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  151. package/composables/useAppVersion.ts +21 -21
  152. package/composables/useLocal.ts +6 -6
  153. package/composables/useLocalCommon.ts +39 -39
  154. package/package.json +3 -1
  155. package/plugins/console.ts +21 -21
  156. package/plugins/date.ts +233 -233
  157. package/plugins/mouse.ts +21 -21
  158. package/plugins/panelStates.ts +70 -70
  159. package/plugins/text.ts +59 -59
  160. package/public/spice-console/application/clientgui.js +854 -854
  161. package/public/spice-console/application/packetfactory.js +211 -211
  162. package/public/spice-console/application/virtualmouse.js +147 -147
  163. package/public/spice-console/lib/images/bitmap.js +203 -203
  164. package/public/spice-console/network/spicechannel.js +440 -440
  165. package/public/spice-console/process/cursorprocess.js +121 -121
  166. package/public/spice-console/process/inputprocess.js +227 -227
  167. package/public/spice-console/process/mainprocess.js +210 -210
  168. package/public/spice-console/run.js +210 -210
  169. package/store/main/mutations.ts +7 -7
  170. package/store/main/state.ts +7 -7
  171. package/store/tasks/mappers/recentTasks.ts +4 -0
  172. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{New.vue → PasswordNew.vue} +0 -0
  173. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{Old.vue → PasswordOld.vue} +0 -0
@@ -1,119 +1,119 @@
1
- <template>
2
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-mac-address-new
3
- v-if="isNewView"
4
- v-model:mac-address="macAddress"
5
- v-model:mac-address-type="macAddressType"
6
- :index="index"
7
- :disabled="disabled"
8
- :error-text="macAddressLocalAndApiErrorsTexts"
9
- :mac-address-local-error-text="macAddressLocalErrorText"
10
- :mac-address-options="macAddressOptions"
11
- @remove-error="onRemoveValidationError"
12
- />
13
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-mac-address-old
14
- v-else
15
- v-model:mac-address="macAddress"
16
- v-model:mac-address-type="macAddressType"
17
- :index="index"
18
- :disabled="disabled"
19
- :error-text="macAddressLocalAndApiErrorsTexts"
20
- :mac-address-local-error-text="macAddressLocalErrorText"
21
- :mac-address-options="macAddressOptions"
22
- @remove-error="onRemoveValidationError"
23
- />
24
- </template>
25
-
26
- <script setup lang="ts">
27
- import type {
28
- UI_I_Localization,
29
- } from '~/lib/models/interfaces'
30
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
31
- import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
32
- import { macAddressOptionsFunc } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/lib/config/options'
33
-
34
- const macAddress = defineModel<string>('macAddress', { required: true })
35
- const macAddressType = defineModel<string>('macAddressType', {
36
- required: true,
37
- })
38
-
39
- const props = defineProps<{
40
- index: number
41
- disabled: boolean
42
- errorValidationFields: UI_I_ErrorValidationField[]
43
- }>()
44
- const emits = defineEmits<{
45
- (event: 'invalid', value: boolean): void
46
- (event: 'remove-error-by-title', value: string): void
47
- }>()
48
-
49
- const { $store }: any = useNuxtApp()
50
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
51
-
52
- const localization = computed<UI_I_Localization>(() => useLocal())
53
-
54
- const macAddressOptions = ref<UI_I_OptionItem[]>(
55
- macAddressOptionsFunc(localization.value)
56
- )
57
-
58
- watch(macAddressType, (newValue) => {
59
- macAddress.value = newValue === 'manual' ? '00:50:56:' : ''
60
- })
61
- // const onChangeMacAddressType = (): void => {
62
- // // emits('update:mac-address-type', event.target.value)
63
- //
64
- // // emits(
65
- // // 'update:mac-address',
66
- // // event.target.value === 'manual' ? '00:50:56:' : ''
67
- // // )
68
- // }
69
- // const onChangeMacAddress = (event: Event): void => {
70
- // const target = event.target as HTMLInputElement
71
- // emits('update:mac-address', target.value)
72
- // }
73
-
74
- const macAddressLocalErrorText = computed<string>(() => {
75
- /* eslint-disable no-useless-escape */
76
- const isValidMacAddress =
77
- /^[0-9a-f]{1,2}([\.:-])(?:[0-9a-f]{1,2}\1){4}[0-9a-f]{1,2}$/.test(
78
- macAddress.value
79
- )
80
-
81
- return macAddressType.value === 'manual' && !isValidMacAddress
82
- ? localization.value.common.invalidMacAddress
83
- : ''
84
- })
85
- watch(macAddressLocalErrorText, (newValue) => {
86
- emits('invalid', !!newValue.length)
87
- })
88
-
89
- const typeError = computed<string>(
90
- () => `network_devices[${props.index}].mac_address`
91
- )
92
-
93
- const apiErrorLocal = computed<string>(() => {
94
- return (
95
- props.errorValidationFields?.find(
96
- (message) => message.field === typeError.value
97
- )?.error_message || ''
98
- )
99
- })
100
-
101
- const macAddressLocalAndApiErrorsTexts = computed<string>(() => {
102
- const localError = macAddressLocalErrorText.value
103
- const apiError = apiErrorLocal.value
104
-
105
- let result = ''
106
- if (localError && !apiError) result = localError
107
- if (!localError && apiError) result = apiError
108
- if (localError && apiError) result = localError + ', ' + apiError
109
- if (!localError && apiError) result = apiError
110
-
111
- return result
112
- })
113
-
114
- const onRemoveValidationError = (): void => {
115
- emits('remove-error-by-title', typeError.value)
116
- }
117
- </script>
118
-
119
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-mac-address-new
3
+ v-if="isNewView"
4
+ v-model:mac-address="macAddress"
5
+ v-model:mac-address-type="macAddressType"
6
+ :index="index"
7
+ :disabled="disabled"
8
+ :error-text="macAddressLocalAndApiErrorsTexts"
9
+ :mac-address-local-error-text="macAddressLocalErrorText"
10
+ :mac-address-options="macAddressOptions"
11
+ @remove-error="onRemoveValidationError"
12
+ />
13
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-mac-address-old
14
+ v-else
15
+ v-model:mac-address="macAddress"
16
+ v-model:mac-address-type="macAddressType"
17
+ :index="index"
18
+ :disabled="disabled"
19
+ :error-text="macAddressLocalAndApiErrorsTexts"
20
+ :mac-address-local-error-text="macAddressLocalErrorText"
21
+ :mac-address-options="macAddressOptions"
22
+ @remove-error="onRemoveValidationError"
23
+ />
24
+ </template>
25
+
26
+ <script setup lang="ts">
27
+ import type {
28
+ UI_I_Localization,
29
+ } from '~/lib/models/interfaces'
30
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
31
+ import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
32
+ import { macAddressOptionsFunc } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/lib/config/options'
33
+
34
+ const macAddress = defineModel<string>('macAddress', { required: true })
35
+ const macAddressType = defineModel<string>('macAddressType', {
36
+ required: true,
37
+ })
38
+
39
+ const props = defineProps<{
40
+ index: number
41
+ disabled: boolean
42
+ errorValidationFields: UI_I_ErrorValidationField[]
43
+ }>()
44
+ const emits = defineEmits<{
45
+ (event: 'invalid', value: boolean): void
46
+ (event: 'remove-error-by-title', value: string): void
47
+ }>()
48
+
49
+ const { $store }: any = useNuxtApp()
50
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
51
+
52
+ const localization = computed<UI_I_Localization>(() => useLocal())
53
+
54
+ const macAddressOptions = ref<UI_I_OptionItem[]>(
55
+ macAddressOptionsFunc(localization.value)
56
+ )
57
+
58
+ watch(macAddressType, (newValue) => {
59
+ macAddress.value = newValue === 'manual' ? '00:50:56:' : ''
60
+ })
61
+ // const onChangeMacAddressType = (): void => {
62
+ // // emits('update:mac-address-type', event.target.value)
63
+ //
64
+ // // emits(
65
+ // // 'update:mac-address',
66
+ // // event.target.value === 'manual' ? '00:50:56:' : ''
67
+ // // )
68
+ // }
69
+ // const onChangeMacAddress = (event: Event): void => {
70
+ // const target = event.target as HTMLInputElement
71
+ // emits('update:mac-address', target.value)
72
+ // }
73
+
74
+ const macAddressLocalErrorText = computed<string>(() => {
75
+ /* eslint-disable no-useless-escape */
76
+ const isValidMacAddress =
77
+ /^[0-9a-f]{1,2}([\.:-])(?:[0-9a-f]{1,2}\1){4}[0-9a-f]{1,2}$/.test(
78
+ macAddress.value
79
+ )
80
+
81
+ return macAddressType.value === 'manual' && !isValidMacAddress
82
+ ? localization.value.common.invalidMacAddress
83
+ : ''
84
+ })
85
+ watch(macAddressLocalErrorText, (newValue) => {
86
+ emits('invalid', !!newValue.length)
87
+ })
88
+
89
+ const typeError = computed<string>(
90
+ () => `network_devices[${props.index}].mac_address`
91
+ )
92
+
93
+ const apiErrorLocal = computed<string>(() => {
94
+ return (
95
+ props.errorValidationFields?.find(
96
+ (message) => message.field === typeError.value
97
+ )?.error_message || ''
98
+ )
99
+ })
100
+
101
+ const macAddressLocalAndApiErrorsTexts = computed<string>(() => {
102
+ const localError = macAddressLocalErrorText.value
103
+ const apiError = apiErrorLocal.value
104
+
105
+ let result = ''
106
+ if (localError && !apiError) result = localError
107
+ if (!localError && apiError) result = apiError
108
+ if (localError && apiError) result = localError + ', ' + apiError
109
+ if (!localError && apiError) result = apiError
110
+
111
+ return result
112
+ })
113
+
114
+ const onRemoveValidationError = (): void => {
115
+ emits('remove-error-by-title', typeError.value)
116
+ }
117
+ </script>
118
+
119
+ <style scoped lang="scss"></style>
@@ -1,31 +1,31 @@
1
- <template>
2
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-dynamic-direct-path-io-new
3
- v-if="isNewView"
4
- v-model="model"
5
- :passthrough-devices="props.passthroughDevices"
6
- :pci-device-index="props.pciDeviceIndex"
7
- />
8
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-dynamic-direct-path-io-old
9
- v-else
10
- v-model="model"
11
- :passthrough-devices="props.passthroughDevices"
12
- :pci-device-index="props.pciDeviceIndex"
13
- />
14
- </template>
15
-
16
- <script lang="ts" setup>
17
- import type { UI_I_PciDevice } from '~/lib/models/store/vm/interfaces'
18
-
19
- const model = defineModel<string>({ required: true })
20
-
21
- const props = defineProps<{
22
- pciDeviceIndex: number
23
- passthroughDevices: UI_I_PciDevice[]
24
- }>()
25
-
26
- const { $store }: any = useNuxtApp()
27
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
28
-
29
- </script>
30
-
31
- <style lang="scss" scoped></style>
1
+ <template>
2
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-dynamic-direct-path-io-new
3
+ v-if="isNewView"
4
+ v-model="model"
5
+ :passthrough-devices="props.passthroughDevices"
6
+ :pci-device-index="props.pciDeviceIndex"
7
+ />
8
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-dynamic-direct-path-io-old
9
+ v-else
10
+ v-model="model"
11
+ :passthrough-devices="props.passthroughDevices"
12
+ :pci-device-index="props.pciDeviceIndex"
13
+ />
14
+ </template>
15
+
16
+ <script lang="ts" setup>
17
+ import type { UI_I_PciDevice } from '~/lib/models/store/vm/interfaces'
18
+
19
+ const model = defineModel<string>({ required: true })
20
+
21
+ const props = defineProps<{
22
+ pciDeviceIndex: number
23
+ passthroughDevices: UI_I_PciDevice[]
24
+ }>()
25
+
26
+ const { $store }: any = useNuxtApp()
27
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
28
+
29
+ </script>
30
+
31
+ <style lang="scss" scoped></style>
@@ -1,14 +1,14 @@
1
1
  <template>
2
2
  <common-vm-actions-common-customize-hardware-virtual-hardware-new-usb-controller-new
3
3
  v-if="isNewView"
4
- v-model="model"
4
+ v-model:selected-usb-controller="selectedUsbController"
5
5
  :is-edit="props.isEdit"
6
6
  :selected-usb-controller-text="selectedUsbControllerText"
7
7
  :usb-controller-options="usbControllerOptions"
8
8
  />
9
9
  <common-vm-actions-common-customize-hardware-virtual-hardware-new-usb-controller-old
10
10
  v-else
11
- v-model="model"
11
+ v-model:selected-usb-controller="selectedUsbController"
12
12
  :is-edit="props.isEdit"
13
13
  :selected-usb-controller-text="selectedUsbControllerText"
14
14
  :usb-controller-options="usbControllerOptions"
@@ -17,31 +17,42 @@
17
17
 
18
18
  <script setup lang="ts">
19
19
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
20
- import type { UI_I_CreateVmData } from '~/components/common/vm/actions/common/lib/models/interfaces'
21
20
  import { usbControllerOptionsConfig } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/lib/config/options'
22
21
 
23
- const model = defineModel<UI_I_CreateVmData['usb_controllers'][0]['type']>({ required: true })
24
-
25
22
  const props = withDefaults(
26
23
  defineProps<{
24
+ usbController: string
27
25
  isEdit: boolean
28
26
  state?: string | number
29
27
  }>(),
30
28
  {
29
+ usbController: 'usb2',
31
30
  state: undefined,
32
31
  }
33
32
  )
33
+ const emits = defineEmits<{
34
+ (event: 'send-data', value: string): void
35
+ }>()
34
36
 
35
37
  const { $store }: any = useNuxtApp()
36
38
  const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
37
39
 
38
40
  const usbControllerOptions = ref<UI_I_OptionItem[]>(usbControllerOptionsConfig)
41
+ const selectedUsbController = ref<string>(props.usbController)
39
42
  const selectedUsbControllerText = computed<string>(
40
43
  () =>
41
44
  usbControllerOptions.value.find(
42
- (option) => option.value === model.value
45
+ (option) => option.value === selectedUsbController.value
43
46
  )?.text || ''
44
47
  )
48
+
49
+ watch(
50
+ selectedUsbController,
51
+ (newValue) => {
52
+ emits('send-data', newValue)
53
+ },
54
+ { immediate: true }
55
+ )
45
56
  </script>
46
57
 
47
58
  <style scoped lang="scss"></style>
@@ -21,7 +21,7 @@
21
21
  <ui-select
22
22
  v-else
23
23
  id="usb-controller-select"
24
- v-model="model"
24
+ v-model="selectedUsbController"
25
25
  :items="props.usbControllerOptions"
26
26
  :disabled="props.isEdit"
27
27
  width="auto"
@@ -33,13 +33,10 @@
33
33
  </template>
34
34
 
35
35
  <script setup lang="ts">
36
- import type { UI_I_Localization } from '~/lib/models/interfaces'
37
36
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
38
- import type { UI_I_CreateVmData } from '~/components/common/vm/actions/common/lib/models/interfaces'
37
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
39
38
 
40
- const model = defineModel<UI_I_CreateVmData['usb_controllers'][0]['type']>({
41
- required: true,
42
- })
39
+ const selectedUsbController = defineModel<string>('selectedUsbController')
43
40
 
44
41
  const props = defineProps<{
45
42
  isEdit: boolean
@@ -20,7 +20,7 @@
20
20
  <div v-else class="select">
21
21
  <select
22
22
  id="usb-controller-select"
23
- v-model="model"
23
+ v-model="selectedUsbController"
24
24
  :disabled="props.isEdit"
25
25
  data-id="usb-controller-select"
26
26
  @click.stop
@@ -40,13 +40,10 @@
40
40
  </template>
41
41
 
42
42
  <script setup lang="ts">
43
- import type { UI_I_Localization } from '~/lib/models/interfaces'
44
43
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
45
- import type { UI_I_CreateVmData } from '~/components/common/vm/actions/common/lib/models/interfaces'
44
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
46
45
 
47
- const model = defineModel<UI_I_CreateVmData['usb_controllers'][0]['type']>({
48
- required: true,
49
- })
46
+ const selectedUsbController = defineModel<string>('selectedUsbController')
50
47
 
51
48
  const props = defineProps<{
52
49
  isEdit: boolean
@@ -1,16 +1,16 @@
1
- <template>
2
- <common-vm-actions-common-customize-hardware-virtual-hardware-other-new
3
- v-if="isNewView"
4
- />
5
- <common-vm-actions-common-customize-hardware-virtual-hardware-other-old
6
- v-else
7
- />
8
- </template>
9
-
10
- <script setup lang="ts">
11
- const { $store }: any = useNuxtApp()
12
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
13
- </script>
14
-
15
- <style scoped lang="scss">
16
- </style>
1
+ <template>
2
+ <common-vm-actions-common-customize-hardware-virtual-hardware-other-new
3
+ v-if="isNewView"
4
+ />
5
+ <common-vm-actions-common-customize-hardware-virtual-hardware-other-old
6
+ v-else
7
+ />
8
+ </template>
9
+
10
+ <script setup lang="ts">
11
+ const { $store }: any = useNuxtApp()
12
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
13
+ </script>
14
+
15
+ <style scoped lang="scss">
16
+ </style>
@@ -1,8 +1,9 @@
1
1
  <template>
2
2
  <common-vm-actions-common-customize-hardware-virtual-hardware-video-card-new
3
3
  v-if="isNewView"
4
- v-model="model"
5
4
  v-model:invalid="invalid"
5
+ v-model:number-displays="numberDisplays"
6
+ v-model:video-card-model="videoCardModel"
6
7
  :is-edit="props.isEdit"
7
8
  :error-validation-fields="props.errorValidationFields"
8
9
  :video-card-model-name="videoCardModelName"
@@ -17,8 +18,9 @@
17
18
  />
18
19
  <common-vm-actions-common-customize-hardware-virtual-hardware-video-card-old
19
20
  v-else
20
- v-model="model"
21
21
  v-model:invalid="invalid"
22
+ v-model:number-displays="numberDisplays"
23
+ v-model:video-card-model="videoCardModel"
22
24
  :is-edit="props.isEdit"
23
25
  :error-validation-fields="props.errorValidationFields"
24
26
  :video-card-model-name="videoCardModelName"
@@ -38,12 +40,9 @@ import type { UI_I_SendDataVideoCard } from '~/components/common/vm/actions/comm
38
40
  import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
39
41
  import type { UI_I_Localization } from '~/lib/models/interfaces'
40
42
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
41
- import type { UI_I_CreateVmData } from '~/components/common/vm/actions/common/lib/models/interfaces'
42
43
  import { videoCardModelOptionsConfigFunc } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/lib/config/options'
43
44
  import { numberDisplaysOptionsFunc } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/lib/config/options'
44
45
 
45
- const model = defineModel<UI_I_CreateVmData['video_card']>({ required: true })
46
-
47
46
  const props = withDefaults(
48
47
  defineProps<{
49
48
  isEdit: boolean
@@ -57,6 +56,7 @@ const props = withDefaults(
57
56
  }
58
57
  )
59
58
  const emits = defineEmits<{
59
+ (event: 'send-data', value: UI_I_SendDataVideoCard): void
60
60
  (event: 'invalid', value: boolean): void
61
61
  (event: 'remove-error-by-title', value: string): void
62
62
  }>()
@@ -68,30 +68,32 @@ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
68
68
 
69
69
  const isDisabled = computed<boolean>(() => props.isEdit && props.state !== 1)
70
70
  const isDisabledNumberDisplays = computed<boolean>(
71
- () => model.value.adapter === 'none'
71
+ () => videoCardModel.value === 'none'
72
72
  )
73
73
  watch(isDisabled, (newValue) => {
74
74
  if (!newValue) {
75
75
  return
76
76
  }
77
77
 
78
- model.value.displays = 1
78
+ numberDisplays.value = '1'
79
79
  })
80
80
 
81
+ const videoCardModel = ref<string>('qxl')
81
82
  const videoCardModelOptions = computed<UI_I_OptionItem[]>(() =>
82
83
  videoCardModelOptionsConfigFunc(localization.value)
83
84
  )
84
85
  const videoCardModelName = computed<string>(
85
86
  () =>
86
87
  videoCardModelOptions.value.find(
87
- (videoCard) => videoCard.value === model.value.adapter
88
+ (videoCard) => videoCard.value === videoCardModel.value
88
89
  )?.text || ''
89
90
  )
90
91
 
92
+ const numberDisplays = ref<string>('1')
91
93
  const numberDisplaysOptions = computed<UI_I_OptionItem[]>(() => {
92
94
  const result = numberDisplaysOptionsFunc()
93
- if (model.value.adapter === 'none') {
94
- result.unshift({ text: '0', value: 0 })
95
+ if (videoCardModel.value === 'none') {
96
+ result.unshift({ text: '0', value: '0' })
95
97
  }
96
98
  return result
97
99
  })
@@ -108,17 +110,37 @@ watch(
108
110
 
109
111
  // const graphics = ref(false)
110
112
 
111
- const changeNumberDisplays = (modelLocal: string): void => {
112
- if (modelLocal === 'none') {
113
- model.value.displays = 0
114
- } else if (model.value.displays === 0) {
115
- model.value.displays = 1
113
+ const changeNumberDisplays = (model: any): void => {
114
+ if (model === 'none') {
115
+ numberDisplays.value = '0'
116
+ } else if (numberDisplays.value === '0') {
117
+ numberDisplays.value = '1'
116
118
  }
117
119
  }
118
120
  watch(
119
- () => model.value.adapter,
121
+ // [numberDisplays, totalVideoMemory, videoCardModel],
122
+ [numberDisplays, videoCardModel],
123
+ ([_newValue1, newValue2]) => {
124
+ changeNumberDisplays(newValue2)
125
+
126
+ emits('send-data', {
127
+ adapter: videoCardModel.value,
128
+ displays: +numberDisplays.value,
129
+ // memory_mb: totalVideoMemory.value,
130
+ })
131
+ },
132
+ { immediate: true }
133
+ )
134
+
135
+ // Добавляем данные для редактирования
136
+ watch(
137
+ () => props.videoCard,
120
138
  (newValue) => {
121
- changeNumberDisplays(newValue)
139
+ if (!newValue) return
140
+
141
+ videoCardModel.value = newValue.adapter
142
+ numberDisplays.value = '' + newValue.displays
143
+ // totalVideoMemory.value = newValue.memory_mb
122
144
  },
123
145
  { immediate: true }
124
146
  )
@@ -26,7 +26,7 @@
26
26
  <template #stackBlockContent>
27
27
  <ui-select
28
28
  id="vm-wizard-video-card"
29
- v-model="model.adapter"
29
+ v-model="videoCardModel"
30
30
  :items="props.videoCardModelOptions"
31
31
  :disabled="props.isEdit && props.state !== 1"
32
32
  :error-text="props.errorText"
@@ -38,7 +38,7 @@
38
38
  </template>
39
39
  <template #stackChildren>
40
40
  <common-vm-actions-common-customize-hardware-virtual-hardware-video-card-number-displays
41
- v-model:number-displays="model.displays"
41
+ v-model:number-displays="numberDisplays"
42
42
  :number-displays-options="props.numberDisplaysOptions"
43
43
  :disabled="props.isDisabled || props.isDisabledNumberDisplays"
44
44
  :error-validation-fields="props.errorValidationFields"
@@ -56,7 +56,7 @@
56
56
  <!-- v-models:graphics="graphics"-->
57
57
  <!-- />-->
58
58
  <!-- <common-vm-actions-common-customize-hardware-virtual-hardware-video-card-model-->
59
- <!-- v-model:video-card-model="model.adapter"-->
59
+ <!-- v-model:video-card-model="videoCardModel"-->
60
60
  <!-- :disabled="props.isDisabled"-->
61
61
  <!-- />-->
62
62
  </template>
@@ -67,14 +67,13 @@
67
67
  import type { UI_I_Localization } from '~/lib/models/interfaces'
68
68
  import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
69
69
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
70
- import type {UI_I_CreateVmData} from "~/components/common/vm/actions/common/lib/models/interfaces";
71
-
72
- const model = defineModel<UI_I_CreateVmData['video_card']>({ required: true })
73
70
 
74
71
  const invalid = defineModel<boolean>('invalid', { required: true })
72
+ const numberDisplays = defineModel<string>('numberDisplays', { required: true })
75
73
  // const totalVideoMemory = defineModel<number>('totalVideoMemory', {
76
74
  // required: true,
77
75
  // })
76
+ const videoCardModel = defineModel<string>('videoCardModel', { required: true })
78
77
 
79
78
  const props = withDefaults(
80
79
  defineProps<{
@@ -30,7 +30,7 @@
30
30
  <div class="select">
31
31
  <select
32
32
  id="vm-wizard-video-card"
33
- v-model="model.adapter"
33
+ v-model="videoCardModel"
34
34
  :disabled="props.isEdit && props.state !== 1"
35
35
  data-id="vm-wizard-video-card-select"
36
36
  class="vm-wizard-video-card input-text-color"
@@ -51,7 +51,7 @@
51
51
  </template>
52
52
  <template #stackChildren>
53
53
  <common-vm-actions-common-customize-hardware-virtual-hardware-video-card-number-displays
54
- v-model:number-displays="model.displays"
54
+ v-model:number-displays="numberDisplays"
55
55
  :number-displays-options="props.numberDisplaysOptions"
56
56
  :disabled="props.isDisabled || props.isDisabledNumberDisplays"
57
57
  :error-validation-fields="props.errorValidationFields"
@@ -69,7 +69,7 @@
69
69
  <!-- v-models:graphics="graphics"-->
70
70
  <!-- />-->
71
71
  <!-- <common-vm-actions-common-customize-hardware-virtual-hardware-video-card-model-->
72
- <!-- v-model:video-card-model="model.adapter"-->
72
+ <!-- v-model:video-card-model="videoCardModel"-->
73
73
  <!-- :disabled="props.isDisabled"-->
74
74
  <!-- />-->
75
75
  </template>
@@ -81,14 +81,13 @@
81
81
  import type { UI_I_Localization } from '~/lib/models/interfaces'
82
82
  import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
83
83
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
84
- import type {UI_I_CreateVmData} from "~/components/common/vm/actions/common/lib/models/interfaces";
85
-
86
- const model = defineModel<UI_I_CreateVmData['video_card']>({ required: true })
87
84
 
88
85
  const invalid = defineModel<boolean>('invalid', { required: true })
86
+ const numberDisplays = defineModel<string>('numberDisplays', { required: true })
89
87
  // const totalVideoMemory = defineModel<number>('totalVideoMemory', {
90
88
  // required: true,
91
89
  // })
90
+ const videoCardModel = defineModel<string>('videoCardModel', { required: true })
92
91
 
93
92
  const props = withDefaults(
94
93
  defineProps<{