bfg-common 1.5.574 → 1.5.575

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 (163) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  4. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  5. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  6. package/components/atoms/TheIcon3.vue +50 -50
  7. package/components/atoms/collapse/CollapseNav.vue +170 -170
  8. package/components/atoms/perPage/PerPage.vue +58 -58
  9. package/components/atoms/table/dataGrid/DataGrid.vue +1718 -1718
  10. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  11. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  12. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  13. package/components/common/backup/storage/actions/add/Add.vue +3 -2
  14. package/components/common/backup/storage/actions/add/New.vue +3 -2
  15. package/components/common/backup/storage/actions/add/Old.vue +5 -4
  16. package/components/common/backup/storage/actions/add/lib/utils.ts +51 -51
  17. package/components/common/backup/storage/actions/add/steps/readyComplete/ReadyComplete.vue +45 -45
  18. package/components/common/backup/storage/actions/add/steps/readyComplete/lib/config/propertiesDetails.ts +7 -7
  19. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  20. package/components/common/diagramMain/modals/lib/config/portModal.ts +251 -251
  21. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  22. package/components/common/diagramMain/port/Port.vue +580 -580
  23. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  24. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  25. package/components/common/pages/backups/DetailView.vue +52 -52
  26. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  27. package/components/common/pages/backups/modals/Modals.vue +243 -243
  28. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  29. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +69 -69
  30. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  31. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  32. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  33. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  34. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  35. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  36. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  37. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  38. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  39. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  40. package/components/common/select/radio/RadioGroup.vue +137 -137
  41. package/components/common/spiceConsole/Drawer.vue +420 -420
  42. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  43. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  44. package/components/common/tools/Actions.vue +207 -207
  45. package/components/common/treeView/TreeView.vue +52 -52
  46. package/components/common/vm/actions/add/Add.vue +120 -46
  47. package/components/common/vm/actions/add/New.vue +54 -16
  48. package/components/common/vm/actions/add/Old.vue +55 -16
  49. package/components/common/vm/actions/add/lib/config/steps.ts +347 -347
  50. package/components/common/vm/actions/clone/Clone.vue +115 -43
  51. package/components/common/vm/actions/clone/new/New.vue +50 -14
  52. package/components/common/vm/actions/clone/old/Old.vue +52 -16
  53. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +81 -14
  54. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +56 -7
  55. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +56 -8
  56. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +206 -211
  57. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +120 -225
  58. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +118 -220
  59. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +53 -66
  60. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +159 -139
  61. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +15 -8
  62. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuOld.vue +13 -8
  63. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  64. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +75 -62
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryNew.vue +158 -158
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryOld.vue +155 -155
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +149 -241
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +4 -3
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +3 -2
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +100 -62
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +17 -6
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +3 -6
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerOld.vue +3 -6
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +39 -17
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +5 -6
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +5 -6
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/lib/config/options.ts +4 -4
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
  84. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +93 -6
  85. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +60 -8
  86. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsOld.vue +58 -8
  87. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +69 -5
  88. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +32 -12
  89. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsOld.vue +33 -12
  90. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  91. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  92. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +132 -114
  93. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +6 -41
  94. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderOld.vue +6 -44
  95. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +23 -8
  96. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +31 -21
  97. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsOld.vue +34 -26
  98. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +34 -28
  99. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/Old.vue +30 -24
  100. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +112 -8
  101. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +3 -3
  102. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{New.vue → KeymapNew.vue} +6 -6
  103. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{Old.vue → KeymapOld.vue} +5 -5
  104. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +7 -6
  105. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  106. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +60 -42
  107. package/components/common/vm/actions/common/lib/models/interfaces.ts +25 -58
  108. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  109. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  110. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  111. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  112. package/components/common/vm/actions/common/select/storage/Storage.vue +178 -178
  113. package/components/common/vm/actions/common/select/storage/new/New.vue +311 -311
  114. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  115. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  116. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  117. package/components/common/vm/actions/editSettings/EditSettings.vue +90 -32
  118. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +41 -14
  119. package/components/common/vm/actions/editSettings/new/New.vue +41 -14
  120. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  121. package/components/common/vm/actions/lib/models/interfaces.ts +29 -4
  122. package/components/common/vm/actions/lib/utils.ts +36 -64
  123. package/components/common/vm/actions/register/Register.vue +352 -352
  124. package/components/common/vm/actions/register/lib/config/steps.ts +86 -86
  125. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  126. package/components/common/wizards/common/compatibility/New.vue +99 -99
  127. package/components/common/wizards/common/compatibility/Old.vue +53 -53
  128. package/components/common/wizards/common/steps/computeResource/ComputeResource.vue +86 -86
  129. package/components/common/wizards/common/steps/computeResource/New.vue +93 -93
  130. package/components/common/wizards/common/steps/computeResource/Old.vue +103 -103
  131. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  132. package/components/common/wizards/common/steps/name/New.vue +221 -221
  133. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  134. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  135. package/components/common/wizards/common/steps/name/location/Location.vue +85 -85
  136. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  137. package/components/common/wizards/datastore/add/Add.vue +228 -228
  138. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  139. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  140. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +205 -205
  141. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  142. package/composables/useAppVersion.ts +21 -21
  143. package/composables/useLocal.ts +6 -6
  144. package/composables/useLocalCommon.ts +39 -39
  145. package/package.json +1 -1
  146. package/plugins/console.ts +21 -21
  147. package/plugins/date.ts +233 -233
  148. package/plugins/mouse.ts +21 -21
  149. package/plugins/panelStates.ts +70 -70
  150. package/plugins/text.ts +59 -59
  151. package/public/spice-console/application/clientgui.js +854 -854
  152. package/public/spice-console/application/packetfactory.js +211 -211
  153. package/public/spice-console/application/virtualmouse.js +147 -147
  154. package/public/spice-console/lib/images/bitmap.js +203 -203
  155. package/public/spice-console/network/spicechannel.js +440 -440
  156. package/public/spice-console/process/cursorprocess.js +121 -121
  157. package/public/spice-console/process/inputprocess.js +227 -227
  158. package/public/spice-console/process/mainprocess.js +210 -210
  159. package/public/spice-console/run.js +210 -210
  160. package/store/main/mutations.ts +7 -7
  161. package/store/main/state.ts +7 -7
  162. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{New.vue → PasswordNew.vue} +0 -0
  163. /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<{