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
@@ -12,238 +12,117 @@
12
12
  <div class="clr-component">
13
13
  <div class="stack-view">
14
14
  <common-vm-actions-common-customize-hardware-virtual-hardware-cpu
15
- v-model="model"
15
+ :max-cpus="props.maxCpus"
16
16
  :cpu-models="props.cpuModels"
17
+ :cpu="props.cpu"
17
18
  :is-edit="props.isEdit"
18
19
  :state="props.state"
19
20
  :error-validation-fields="props.errorValidationFields"
20
21
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
22
+ @send-data="emits('send-data-cpu-method', $event)"
21
23
  @remove-error-by-title="emits('remove-error-by-title', $event)"
22
24
  @invalid="cpuInvalid = $event"
23
25
  />
24
26
  <common-vm-actions-common-customize-hardware-virtual-hardware-memory
25
- v-model="model"
26
27
  :max-memory="props.maxMemory"
27
28
  :is-edit="props.isEdit"
29
+ :memory="props.memory"
28
30
  :state="props.state"
29
31
  :error-validation-fields="props.errorValidationFields"
32
+ @send-data="emits('send-data-memory-method', $event)"
30
33
  @invalid="memoryInvalid = $event"
31
34
  @remove-error-by-title="emits('remove-error-by-title', $event)"
32
35
  />
33
- <!-- <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-->
34
- <!-- v-for="(item, key) in props.hardDisks"-->
35
- <!-- :key="props.hardDisksIndex[key]"-->
36
- <!-- :index="props.hardDisksIndex[key]"-->
37
- <!-- :type="props.hardDisksType[key]"-->
38
- <!-- :storage="props.storage"-->
39
- <!-- :hard-disk="item"-->
40
- <!-- :error-validation-fields="props.errorValidationFields"-->
41
- <!-- :get-datastore-table-func="props.getDatastoreTableFunc"-->
42
- <!-- :datastore="props.datastore"-->
43
- <!-- :is-datastore-loading="props.isDatastoreLoading"-->
44
- <!-- :is-edit="props.isEdit"-->
45
- <!-- :state="props.state"-->
46
- <!-- :guest-machine-type="props.guestMachineType"-->
47
- <!-- :compute-resource="props.computeResource"-->
48
- <!-- @remove="emits('remove-hard-disk', [props.hardDisksIndex[key], item])"-->
49
- <!-- @roll-back="emits('roll-back-hard-disk', props.hardDisksIndex[key])"-->
50
- <!-- @send-data="-->
51
- <!-- emits('send-data-new-hard-disk-method', [-->
52
- <!-- $event,-->
53
- <!-- props.hardDisksIndex[key],-->
54
- <!-- ])-->
55
- <!-- "-->
56
- <!-- @invalid="-->
57
- <!-- emits('set-invalid-hard-disk', [$event, props.hardDisksIndex[key]])-->
58
- <!-- "-->
59
- <!-- @remove-error-by-title="emits('remove-error-by-title', $event)"-->
60
- <!-- />-->
61
- <!-- TODO-->
62
- <div
63
- v-for="(item, key) in model.disk_devices.filter(
64
- (disk) => disk.device_type !== 'cdrom'
65
- )"
36
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk
37
+ v-for="(item, key) in props.hardDisks"
66
38
  :key="props.hardDisksIndex[key]"
67
- >
68
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk
69
- v-model:size="item.size"
70
- v-model:provision-type="item.provision_type"
71
- v-model:sharing="item.sharing"
72
- v-model:shares="item.shares"
73
- v-model:limit-iops="item.limit_iops"
74
- v-model:disk-mode="item.disk_mode"
75
- v-model:cache="item.cache"
76
- v-model:bus="item.bus"
77
- v-model:read-only="item.readOnly"
78
- v-model:discard="item.discard"
79
- v-model:io="item.io"
80
- v-model:target="item.target"
81
- v-model:source="item.source"
82
- v-model:storage="item.storage"
83
- v-model:remove="item.remove"
84
- v-model:detach="item.detach"
85
- :index="props.hardDisksIndex[key]"
86
- :type="props.hardDisksType[key]"
87
- :main-storage="props.storage"
88
- :error-validation-fields="props.errorValidationFields"
89
- :get-datastore-table-func="props.getDatastoreTableFunc"
90
- :datastore="props.datastore"
91
- :is-datastore-loading="props.isDatastoreLoading"
92
- :is-edit="props.isEdit"
93
- :state="props.state"
94
- :guest-machine-type="props.guestMachineType"
95
- :compute-resource="props.computeResource"
96
- @remove="
97
- emits('remove-hard-disk', [props.hardDisksIndex[key], item])
98
- "
99
- @roll-back="emits('roll-back-hard-disk', props.hardDisksIndex[key])"
100
- @send-data="
101
- emits('send-data-new-hard-disk-method', [
102
- $event,
103
- props.hardDisksIndex[key],
104
- ])
105
- "
106
- @invalid="
107
- emits('set-invalid-hard-disk', [
108
- $event,
109
- props.hardDisksIndex[key],
110
- ])
111
- "
112
- @remove-error-by-title="emits('remove-error-by-title', $event)"
113
- />
114
- </div>
115
- <!-- <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-->
116
- <!-- v-for="(item, key) in props.networks"-->
117
- <!-- :key="props.networksIndex[key]"-->
118
- <!-- :index="props.networksIndex[key]"-->
119
- <!-- :type="props.networksType[key]"-->
120
- <!-- :network="item"-->
121
- <!-- :networks-table="props.networksTable"-->
122
- <!-- :error-validation-fields="props.errorValidationFields"-->
123
- <!-- :is-edit="props.isEdit"-->
124
- <!-- :state="props.state"-->
125
- <!-- :project="props.project"-->
126
- <!-- @remove="emits('remove-network', props.networksIndex[key])"-->
127
- <!-- @send-data="-->
128
- <!-- emits('send-data-new-network-method', [-->
129
- <!-- $event,-->
130
- <!-- props.networksIndex[key],-->
131
- <!-- ])-->
132
- <!-- "-->
133
- <!-- @invalid="-->
134
- <!-- emits('set-invalid-network', [$event, props.networksIndex[key]])-->
135
- <!-- "-->
136
- <!-- @remove-error-by-title="emits('remove-error-by-title', $event)"-->
137
- <!-- @get-networks-table="emits('get-networks-table', $event)"-->
138
- <!-- />-->
139
- <div
140
- v-for="(item, key) in model.network_devices"
39
+ :index="props.hardDisksIndex[key]"
40
+ :type="props.hardDisksType[key]"
41
+ :storage="props.storage"
42
+ :hard-disk="item"
43
+ :error-validation-fields="props.errorValidationFields"
44
+ :get-datastore-table-func="props.getDatastoreTableFunc"
45
+ :datastore="props.datastore"
46
+ :is-datastore-loading="props.isDatastoreLoading"
47
+ :is-edit="props.isEdit"
48
+ :state="props.state"
49
+ :guest-machine-type="props.guestMachineType"
50
+ :compute-resource="props.computeResource"
51
+ @remove="emits('remove-hard-disk', [props.hardDisksIndex[key], item])"
52
+ @roll-back="emits('roll-back-hard-disk', props.hardDisksIndex[key])"
53
+ @send-data="
54
+ emits('send-data-new-hard-disk-method', [
55
+ $event,
56
+ props.hardDisksIndex[key],
57
+ ])
58
+ "
59
+ @invalid="
60
+ emits('set-invalid-hard-disk', [$event, props.hardDisksIndex[key]])
61
+ "
62
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
63
+ />
64
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-network
65
+ v-for="(item, key) in props.networks"
141
66
  :key="props.networksIndex[key]"
142
- >
143
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-network
144
- v-model:network="item.network"
145
- v-model:network-value="item[props.networkValueProp]"
146
- v-model:mac="item.mac"
147
- v-model:model="item.model"
148
- :index="props.networksIndex[key]"
149
- :type="props.networksType[key]"
150
- :networks-table="props.networksTable"
151
- :error-validation-fields="props.errorValidationFields"
152
- :is-edit="props.isEdit"
153
- :state="props.state"
154
- :project="props.project"
155
- :network-value-prop="props.networkValueProp"
156
- @remove="emits('remove-network', props.networksIndex[key])"
157
- @invalid="
158
- emits('set-invalid-network', [$event, props.networksIndex[key]])
159
- "
160
- @remove-error-by-title="emits('remove-error-by-title', $event)"
161
- @get-networks-table="emits('get-networks-table', $event)"
162
- />
163
- </div>
164
- <!-- <common-vm-actions-common-customize-hardware-virtual-hardware-cd-dvd-drive-->
165
- <!-- v-for="(item, key) in props.cdDvdDrives"-->
166
- <!-- :key="props.cdDvdDrivesIndex[key]"-->
167
- <!-- :index="props.cdDvdDrivesIndex[key]"-->
168
- <!-- :hard-disks-count="props.hardDisks?.length || 0"-->
169
- <!-- :type="props.cdDvdDrivesType[key]"-->
170
- <!-- :cd-dvd-drive="item"-->
171
- <!-- :nodes="props.nodes"-->
172
- <!-- :files="props.files"-->
173
- <!-- :error-validation-fields="props.errorValidationFields"-->
174
- <!-- :is-edit="props.isEdit"-->
175
- <!-- :state="props.state"-->
176
- <!-- :guest-machine-type="props.guestMachineType"-->
177
- <!-- :compute-resource="props.computeResource"-->
178
- <!-- @remove-error-by-title="emits('remove-error-by-title', $event)"-->
179
- <!-- @get-storage="emits('get-storage', $event)"-->
180
- <!-- @get-folders-or-files="emits('get-folders-or-files', $event)"-->
181
- <!-- @get-active-device-child="emits('get-active-device-child', $event)"-->
182
- <!-- @show-datastore-child="emits('show-datastore-child', $event)"-->
183
- <!-- @remove="-->
184
- <!-- emits('remove-cd-dvd-drive', [props.cdDvdDrivesIndex[key], item])-->
185
- <!-- "-->
186
- <!-- @roll-back="-->
187
- <!-- emits('roll-back-cd-dvd-drive', props.cdDvdDrivesIndex[key])-->
188
- <!-- "-->
189
- <!-- @send-data="-->
190
- <!-- emits('send-data-new-cd-dvd-drive-method', [-->
191
- <!-- $event,-->
192
- <!-- props.cdDvdDrivesIndex[key],-->
193
- <!-- ])-->
194
- <!-- "-->
195
- <!-- />-->
196
- <div
197
- v-for="(item, key) in model.disk_devices.filter(
198
- (disk) => disk.device_type === 'cdrom'
199
- )"
200
- :key="props.hardDisksIndex[key]"
201
- >
202
- <!-- TODO count-->
203
- <common-vm-actions-common-customize-hardware-virtual-hardware-cd-dvd-drive
204
- v-model:source="item.source"
205
- v-model:bus="item.bus"
206
- v-model:remove="item.remove"
207
- v-model:detach="item.detach"
208
- :index="props.cdDvdDrivesIndex[key]"
209
- :hard-disks-count="
210
- model.disk_devices.filter((disk) => disk.device_type !== 'cdrom')
211
- ?.length || 0
212
- "
213
- :type="props.cdDvdDrivesType[key]"
214
- :nodes="props.nodes"
215
- :files="props.files"
216
- :error-validation-fields="props.errorValidationFields"
217
- :is-edit="props.isEdit"
218
- :state="props.state"
219
- :guest-machine-type="props.guestMachineType"
220
- :compute-resource="props.computeResource"
221
- @remove-error-by-title="emits('remove-error-by-title', $event)"
222
- @get-storage="emits('get-storage', $event)"
223
- @get-folders-or-files="emits('get-folders-or-files', $event)"
224
- @get-active-device-child="emits('get-active-device-child', $event)"
225
- @show-datastore-child="emits('show-datastore-child', $event)"
226
- @remove="
227
- emits('remove-cd-dvd-drive', [props.cdDvdDrivesIndex[key], item])
228
- "
229
- @roll-back="
230
- emits('roll-back-cd-dvd-drive', props.cdDvdDrivesIndex[key])
231
- "
232
- @send-data="
233
- emits('send-data-new-cd-dvd-drive-method', [
234
- $event,
235
- props.cdDvdDrivesIndex[key],
236
- ])
237
- "
238
- />
239
- </div>
240
- <div v-for="(item, key) in model.usb_controllers" :key="key">
241
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-usb-controller
242
- v-model="item.type"
243
- :is-edit="props.isEdit"
244
- :state="props.state"
245
- />
246
- </div>
67
+ :index="props.networksIndex[key]"
68
+ :type="props.networksType[key]"
69
+ :network="item"
70
+ :networks-table="props.networksTable"
71
+ :error-validation-fields="props.errorValidationFields"
72
+ :is-edit="props.isEdit"
73
+ :state="props.state"
74
+ :project="props.project"
75
+ @remove="emits('remove-network', props.networksIndex[key])"
76
+ @send-data="
77
+ emits('send-data-new-network-method', [
78
+ $event,
79
+ props.networksIndex[key],
80
+ ])
81
+ "
82
+ @invalid="
83
+ emits('set-invalid-network', [$event, props.networksIndex[key]])
84
+ "
85
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
86
+ @get-networks-table="emits('get-networks-table', $event)"
87
+ />
88
+ <common-vm-actions-common-customize-hardware-virtual-hardware-cd-dvd-drive
89
+ v-for="(item, key) in props.cdDvdDrives"
90
+ :key="props.cdDvdDrivesIndex[key]"
91
+ :index="props.cdDvdDrivesIndex[key]"
92
+ :hard-disks-count="props.hardDisks?.length || 0"
93
+ :type="props.cdDvdDrivesType[key]"
94
+ :cd-dvd-drive="item"
95
+ :nodes="props.nodes"
96
+ :files="props.files"
97
+ :error-validation-fields="props.errorValidationFields"
98
+ :is-edit="props.isEdit"
99
+ :state="props.state"
100
+ :guest-machine-type="props.guestMachineType"
101
+ :compute-resource="props.computeResource"
102
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
103
+ @get-storage="emits('get-storage', $event)"
104
+ @get-folders-or-files="emits('get-folders-or-files', $event)"
105
+ @get-active-device-child="emits('get-active-device-child', $event)"
106
+ @show-datastore-child="emits('show-datastore-child', $event)"
107
+ @remove="
108
+ emits('remove-cd-dvd-drive', [props.cdDvdDrivesIndex[key], item])
109
+ "
110
+ @roll-back="
111
+ emits('roll-back-cd-dvd-drive', props.cdDvdDrivesIndex[key])
112
+ "
113
+ @send-data="
114
+ emits('send-data-new-cd-dvd-drive-method', [
115
+ $event,
116
+ props.cdDvdDrivesIndex[key],
117
+ ])
118
+ "
119
+ />
120
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-usb-controller
121
+ :usb-controller="props.usbController"
122
+ :is-edit="props.isEdit"
123
+ :state="props.state"
124
+ @send-data="emits('send-data-new-usb-controller-method', $event)"
125
+ />
247
126
  <template v-if="props.passthroughDevices || props.mediatedDevices">
248
127
  <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device
249
128
  v-for="(item, key) in props.pciDevices"
@@ -273,11 +152,11 @@
273
152
  />
274
153
  </template>
275
154
  <common-vm-actions-common-customize-hardware-virtual-hardware-video-card
276
- v-model="model.video_card"
277
155
  :is-edit="props.isEdit"
278
156
  :video-card="props.videoCard"
279
157
  :error-validation-fields="props.errorValidationFields"
280
158
  :state="props.state"
159
+ @send-data="emits('send-data-video-card-method', $event)"
281
160
  @invalid="videoCardInvalid = $event"
282
161
  @remove-error-by-title="emits('remove-error-by-title', $event)"
283
162
  />
@@ -310,7 +189,10 @@ import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
310
189
  import type { UI_I_FolderOrFileTreePayload } from '~/lib/models/store/storage/interfaces'
311
190
  import type { UI_I_FileTreeNode } from '~/components/lib/models/interfaces'
312
191
  import type {
192
+ UI_I_SendDataCpu,
193
+ UI_I_SendDataMemory,
313
194
  UI_I_SendDataNewHardDisk,
195
+ UI_I_SendDataNewNetwork,
314
196
  UI_I_SendDataVideoCard,
315
197
  UI_I_SendDataNewCdDvdDrive,
316
198
  // UI_I_HardDisk,
@@ -329,13 +211,11 @@ import type {
329
211
  import type { UI_I_Localization } from '~/lib/models/interfaces'
330
212
  import type {
331
213
  API_UI_I_VmEditCpu,
214
+ API_UI_I_VmEditMemory,
332
215
  UI_I_MediatedDevice,
333
216
  UI_I_PciDevice,
334
217
  } from '~/lib/models/store/vm/interfaces'
335
218
  import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
336
- import type { UI_I_CreateVmData } from '~/components/common/vm/actions/common/lib/models/interfaces'
337
-
338
- const model = defineModel<UI_I_CreateVmData>({ required: true })
339
219
 
340
220
  const cpuInvalid = defineModel<boolean>('cpuInvalid', { required: true })
341
221
  const memoryInvalid = defineModel<boolean>('memoryInvalid', { required: true })
@@ -350,6 +230,7 @@ const props = withDefaults(
350
230
  isEdit: boolean
351
231
  storage: UI_I_DatastoreTableItem | null
352
232
  project: UI_T_Project
233
+ maxCpus: number
353
234
  maxMemory: number
354
235
  cpuModels: UI_I_OptionItem[]
355
236
  datastore: UI_I_DatastoreTableItem[]
@@ -365,13 +246,17 @@ const props = withDefaults(
365
246
  pciDevicesIndex: number[]
366
247
  cdDvdDrivesType: UI_T_NetworkType[]
367
248
  cdDvdDrivesIndex: number[]
368
- errorValidationFields: UI_I_ErrorValidationField[]
249
+ errorValidationFields: UI_I_ErrorValidationField<string>[]
369
250
  getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
370
- networkValueProp: 'network' | 'net_bridge'
371
251
  cpu?: API_UI_I_VmEditCpu
372
252
  state?: string | number
253
+ memory?: API_UI_I_VmEditMemory
254
+ networks?: UI_I_SendDataNewNetwork[] | null
255
+ hardDisks?: UI_I_SendDataNewHardDisk[] | null
373
256
  videoCard?: UI_I_SendDataVideoCard
374
257
  pciDevices?: UI_I_SendDataNewPciDevice[]
258
+ cdDvdDrives?: UI_I_SendDataNewCdDvdDrive[] | null
259
+ usbController?: string
375
260
  guestMachineType?: UI_I_OptionItem | null
376
261
  passthroughDevices?: UI_I_PciDevice[]
377
262
  mediatedDevices?: UI_I_MediatedDevice[]
@@ -381,8 +266,13 @@ const props = withDefaults(
381
266
  {
382
267
  cpu: undefined,
383
268
  state: undefined,
269
+ memory: undefined,
270
+ networks: undefined,
271
+ hardDisks: undefined,
384
272
  videoCard: undefined,
385
273
  pciDevices: undefined,
274
+ cdDvdDrives: undefined,
275
+ usbController: undefined,
386
276
  guestMachineType: undefined,
387
277
  passthroughDevices: undefined,
388
278
  mediatedDevices: undefined,
@@ -407,11 +297,18 @@ const emits = defineEmits<{
407
297
  ): void
408
298
  (event: 'show-datastore-child', value: UI_I_FileTreeNode): void
409
299
  (event: 'get-folders-or-files', value: UI_I_FolderOrFileTreePayload): void
300
+ (event: 'send-data-cpu-method', value: UI_I_SendDataCpu): void
410
301
  (event: 'set-invalid-hard-disk', value: [boolean, number]): void
411
302
  (event: 'remove-error-by-title', value: string): void
412
303
  (event: 'roll-back-cd-dvd-drive', value: number): void
413
304
  (event: 'set-invalid-pci-device', value: [boolean, number]): void
414
305
  (event: 'get-active-device-child', value: UI_I_FileTreeNode): void
306
+ (event: 'send-data-memory-method', value: UI_I_SendDataMemory): void
307
+ (event: 'send-data-video-card-method', value: UI_I_SendDataVideoCard): void
308
+ (
309
+ event: 'send-data-new-network-method',
310
+ value: [UI_I_SendDataNewNetwork, number]
311
+ ): void
415
312
  (
416
313
  event: 'send-data-pci-devices-method',
417
314
  value: [UI_I_SendDataNewPciDevice, number]
@@ -424,6 +321,7 @@ const emits = defineEmits<{
424
321
  event: 'send-data-new-cd-dvd-drive-method',
425
322
  value: [UI_I_SendDataNewCdDvdDrive, number]
426
323
  ): void
324
+ (event: 'send-data-new-usb-controller-method', value: string): void
427
325
  }>()
428
326
 
429
327
  const localization = computed<UI_I_Localization>(() => useLocal())
@@ -3,7 +3,7 @@
3
3
  v-if="isNewView"
4
4
  v-model:delete-files-from-datastore="deleteFilesFromDatastore"
5
5
  v-model:selected-cd-dvd-drive="selectedCdDvdDrive"
6
- v-model:cd-dvd-media="source"
6
+ v-model:cd-dvd-media="cdDvdMedia"
7
7
  v-model:is-show-file-modal="isShowFileModal"
8
8
  v-model:bus="bus"
9
9
  :index="props.index"
@@ -36,7 +36,7 @@
36
36
  v-else
37
37
  v-model:delete-files-from-datastore="deleteFilesFromDatastore"
38
38
  v-model:selected-cd-dvd-drive="selectedCdDvdDrive"
39
- v-model:cd-dvd-media="source"
39
+ v-model:cd-dvd-media="cdDvdMedia"
40
40
  v-model:is-show-file-modal="isShowFileModal"
41
41
  v-model:bus="bus"
42
42
  :index="props.index"
@@ -71,6 +71,7 @@
71
71
  import type { UI_I_FileTreeNode } from '~/components/lib/models/interfaces'
72
72
  import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
73
73
  import type { UI_T_CdDvdDrive } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/models/types'
74
+ import type { UI_I_SendDataNewCdDvdDrive } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
74
75
  import type {
75
76
  UI_I_Localization,
76
77
  UI_I_HTMLSelectElement,
@@ -83,19 +84,14 @@ import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models
83
84
  import { cdDvdDriveOptionsFunc } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/config/options'
84
85
  import { fileTypesFunc } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/config/fileTypes'
85
86
 
86
- const source = defineModel<string>('source', { required: true })
87
- const bus = defineModel<string>('bus', { required: true }) // PNCWEB-384
88
-
89
- const remove = defineModel<boolean>('remove', { required: true })
90
- const detach = defineModel<boolean>('detach', { required: true })
91
-
92
87
  const props = withDefaults(
93
88
  defineProps<{
94
89
  hardDisksCount: number
95
90
  index: number
91
+ cdDvdDrive: UI_I_SendDataNewCdDvdDrive
96
92
  nodes: UI_I_FileTreeNode[]
97
93
  files: UI_I_FileTreeNode[]
98
- errorValidationFields: UI_I_ErrorValidationField[]
94
+ errorValidationFields: UI_I_ErrorValidationField<string>[]
99
95
  type: UI_T_CdDvdType
100
96
  isEdit: boolean
101
97
  disabled: boolean
@@ -111,6 +107,7 @@ const props = withDefaults(
111
107
  )
112
108
 
113
109
  const emits = defineEmits<{
110
+ (event: 'send-data', value: UI_I_SendDataNewCdDvdDrive): void
114
111
  (event: 'remove'): void
115
112
  (event: 'roll-back'): void
116
113
  (event: 'remove-error-by-title', value: string): void
@@ -120,10 +117,6 @@ const emits = defineEmits<{
120
117
  (event: 'show-datastore-child', value: UI_I_FileTreeNode): void
121
118
  }>()
122
119
 
123
- watch(() => props.type, (newValue) => {
124
- detach.value = newValue === 'removed'
125
- })
126
-
127
120
  const { $store }: any = useNuxtApp()
128
121
  const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
129
122
 
@@ -158,14 +151,13 @@ const busValidationType = computed<string>(
158
151
  )
159
152
 
160
153
  const selectedCdDvdDrive = ref<UI_T_CdDvdDrive>('clientDevice')
161
- if (source.value) selectedCdDvdDrive.value = 'datastoreIsoFile'
162
154
  const cdDvdDriveOptions = ref<UI_I_OptionItem[]>(
163
155
  cdDvdDriveOptionsFunc(localization.value)
164
156
  )
165
157
  const changeCdDvdDrive = (event: UI_I_HTMLSelectElement): void => {
166
158
  const isDatastoreIsoFile = event.target.value === 'datastoreIsoFile'
167
159
  if (!isDatastoreIsoFile) {
168
- source.value = ''
160
+ cdDvdMedia.value = ''
169
161
  return
170
162
  }
171
163
 
@@ -173,71 +165,66 @@ const changeCdDvdDrive = (event: UI_I_HTMLSelectElement): void => {
173
165
  }
174
166
  const isShowFileModal = ref<boolean>(false)
175
167
  const onHideFileModal = (): void => {
176
- if (!source.value) {
168
+ if (!cdDvdMedia.value) {
177
169
  selectedCdDvdDrive.value = 'clientDevice'
178
170
  }
179
171
  isShowFileModal.value = false
180
172
  }
181
173
  const onSelectFile = (file: UI_I_FileTreeNode): void => {
182
- source.value = file.path
174
+ cdDvdMedia.value = file.path
183
175
  }
184
176
  const fileTypes = computed<UI_I_OptionItem[]>(() =>
185
177
  fileTypesFunc(localization.value)
186
178
  )
187
179
 
180
+ const cdDvdMedia = ref<string>('')
181
+ // const bus = ref<string>('ide')
182
+ const bus = ref<string>('sata') // PNCWEB-384
183
+
188
184
  const deleteFilesFromDatastore = ref<boolean>(false)
189
- watch(deleteFilesFromDatastore, (newValue) => {
190
- remove.value = props.type === 'removed' && newValue
191
- })
192
185
 
193
- // const cdDvdMedia = ref<string>('')
194
- // const bus = ref<string>('ide')
195
- // const bus = ref<string>('sata') // PNCWEB-384
196
- //
197
- // const deleteFilesFromDatastore = ref<boolean>(false)
198
-
199
- // watch(
200
- // [cdDvdMedia, bus, deleteFilesFromDatastore, (): void => props.type],
201
- // () => {
202
- // emits('send-data', {
203
- // create: props.cdDvdDrive.create,
204
- // attach: props.cdDvdDrive.attach,
205
- // source: cdDvdMedia.value,
206
- // size: 0,
207
- // bus: bus.value,
208
- // device_type: 'cdrom',
209
- // provision_type: 'thick',
210
- // disk_mode: 'dependent',
211
- // sharing: false,
212
- // read_only: true,
213
- // shares: 0,
214
- // cache: 'none',
215
- // io: 'native',
216
- // limit_iops: 0,
217
- // discard: 'unmap',
218
- // target: props.cdDvdDrive.target,
219
- // boot_order: props.cdDvdDrive.boot_order,
220
- // detach: props.type === 'removed',
221
- // remove: props.type === 'removed' && deleteFilesFromDatastore.value, // Проверяем если удалили диск и указали Delete files from datastore
222
- // })
223
- // },
224
- // { immediate: true }
225
- // )
186
+ watch(
187
+ [cdDvdMedia, bus, deleteFilesFromDatastore, (): void => props.type],
188
+ () => {
189
+ emits('send-data', {
190
+ create: props.cdDvdDrive.create,
191
+ attach: props.cdDvdDrive.attach,
192
+ source: cdDvdMedia.value,
193
+ size: 0,
194
+ bus: bus.value,
195
+ device_type: 'cdrom',
196
+ provision_type: 'thick',
197
+ disk_mode: 'dependent',
198
+ sharing: false,
199
+ read_only: true,
200
+ shares: 0,
201
+ cache: 'none',
202
+ io: 'native',
203
+ limit_iops: 0,
204
+ discard: 'unmap',
205
+ target: props.cdDvdDrive.target,
206
+ boot_order: props.cdDvdDrive.boot_order,
207
+ detach: props.type === 'removed',
208
+ remove: props.type === 'removed' && deleteFilesFromDatastore.value, // Проверяем если удалили диск и указали Delete files from datastore
209
+ })
210
+ },
211
+ { immediate: true }
212
+ )
226
213
 
227
214
  // Добавляем данные для редактирования
228
- // watch(
229
- // () => props.cdDvdDrive,
230
- // (newValue) => {
231
- // if (newValue.source !== '') {
232
- // selectedCdDvdDrive.value = 'datastoreIsoFile'
233
- // cdDvdMedia.value = newValue.source
234
- // }
235
- // if (newValue.bus !== '') {
236
- // bus.value = newValue.bus
237
- // }
238
- // },
239
- // { immediate: true }
240
- // )
215
+ watch(
216
+ () => props.cdDvdDrive,
217
+ (newValue) => {
218
+ if (newValue.source !== '') {
219
+ selectedCdDvdDrive.value = 'datastoreIsoFile'
220
+ cdDvdMedia.value = newValue.source
221
+ }
222
+ if (newValue.bus !== '') {
223
+ bus.value = newValue.bus
224
+ }
225
+ },
226
+ { immediate: true }
227
+ )
241
228
  watch(
242
229
  isRunning,
243
230
  (newValue) => {