bfg-common 1.4.731 → 1.4.733

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 (153) hide show
  1. package/assets/localization/local_be.json +1 -0
  2. package/assets/localization/local_en.json +1 -0
  3. package/assets/localization/local_hy.json +1 -0
  4. package/assets/localization/local_kk.json +1 -0
  5. package/assets/localization/local_ru.json +1 -0
  6. package/assets/localization/local_zh.json +1 -0
  7. package/assets/scss/common/normalize.scss +361 -361
  8. package/components/atoms/TheIcon3.vue +50 -50
  9. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  10. package/components/atoms/select/TheSelect.vue +1 -10
  11. package/components/atoms/stack/StackBlock.vue +185 -185
  12. package/components/atoms/table/dataGrid/DataGrid.vue +1696 -1696
  13. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  14. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +91 -91
  15. package/components/common/browse/BrowseNew.vue +237 -237
  16. package/components/common/browse/BrowseOld.vue +217 -217
  17. package/components/common/browse/blocks/contents/Files.vue +37 -37
  18. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  19. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  20. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  21. package/components/common/{monitor/advanced/tools/chartOptionsModal → chartOptionsModal}/counters/timespan/form/Form.vue +544 -539
  22. package/components/common/{pages/hardwareHealth/historyTestimony/tools/chartOptionsModal → chartOptionsModal}/counters/timespan/form/lib/config/dateForm.ts +116 -115
  23. package/components/common/context/lib/models/interfaces.ts +30 -30
  24. package/components/common/context/recursion/Recursion.vue +86 -86
  25. package/components/common/context/recursion/RecursionOld.vue +213 -213
  26. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  27. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  28. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +150 -150
  29. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +300 -300
  30. package/components/common/modals/confirmByInput/ConfirmByInput.vue +206 -206
  31. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  32. package/components/common/monitor/advanced/Advanced.vue +5 -0
  33. package/components/common/monitor/advanced/tools/Tools.vue +9 -2
  34. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +9 -2
  35. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +2 -0
  36. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +95 -93
  37. package/components/common/monitor/overview/filters/Filters.vue +3 -0
  38. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +15 -5
  39. package/components/common/monitor/overview/filters/customIntervalModal/lib/config/dateChecker.ts +24 -14
  40. package/components/common/pages/hardwareHealth/HardwareHealth.vue +12 -5
  41. package/components/common/pages/hardwareHealth/historyTestimony/Graph.vue +458 -451
  42. package/components/common/pages/hardwareHealth/historyTestimony/tools/Tools.vue +389 -380
  43. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/ChartOptionsModal.vue +502 -487
  44. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/counters/Counters.vue +94 -94
  45. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/counters/timespan/Timespan.vue +66 -66
  46. package/components/common/pages/home/StatusContent.vue +49 -49
  47. package/components/common/pages/home/headline/Headline.vue +44 -44
  48. package/components/common/pages/home/headline/HeadlineNew.vue +71 -71
  49. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  50. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  51. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  52. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  53. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  54. package/components/common/pages/home/widgets/hosts/HostsNew.vue +100 -100
  55. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  56. package/components/common/pages/home/widgets/services/lib/config/config.ts +108 -108
  57. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  58. package/components/common/pages/home/widgets/vms/VmsNew.vue +101 -101
  59. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  60. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  61. package/components/common/recursionTree/RecursionTree.vue +223 -223
  62. package/components/common/select/button/ButtonDropdown.vue +108 -108
  63. package/components/common/spiceConsole/Drawer.vue +370 -370
  64. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  65. package/components/common/split/vertical/Vertical.vue +160 -160
  66. package/components/common/vm/actions/add/Add.vue +0 -2
  67. package/components/common/vm/actions/clone/Clone.vue +0 -2
  68. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  69. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +0 -3
  70. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +0 -2
  71. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +0 -2
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +1 -9
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +2 -5
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +1 -3
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +161 -161
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +165 -165
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +4 -6
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +281 -281
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +142 -184
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceNew.vue +5 -31
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceOld.vue +5 -31
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +35 -35
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +2 -9
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +48 -48
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/lib/config/options.ts +4 -11
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +30 -30
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelectionNew.vue +1 -1
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelectionOld.vue +1 -1
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  114. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  115. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  116. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  117. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  118. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  119. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  120. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  121. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  122. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  123. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  124. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  125. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  126. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  127. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  128. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  129. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  130. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  131. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  132. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  133. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  134. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  135. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  136. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  137. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  138. package/components/common/vm/actions/editSettings/EditSettings.vue +0 -3
  139. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +0 -2
  140. package/components/common/vm/actions/editSettings/new/New.vue +0 -2
  141. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  142. package/composables/productNameLocal.ts +30 -30
  143. package/composables/useAppVersion.ts +21 -21
  144. package/package.json +1 -1
  145. package/plugins/date.ts +233 -233
  146. package/plugins/recursion.ts +311 -311
  147. package/public/spice-console/lib/images/bitmap.js +203 -203
  148. package/public/spice-console/network/spicechannel.js +383 -383
  149. package/store/main/mutations.ts +7 -7
  150. package/store/main/state.ts +7 -7
  151. package/store/tasks/mappers/recentTasks.ts +64 -64
  152. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/lib/config/dateForm.ts +0 -114
  153. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/counters/timespan/form/Form.vue +0 -539
@@ -1,83 +1,83 @@
1
- <template>
2
- <div>
3
- <atoms-stack-block :has-children="false">
4
- <template #stackBlockKey>
5
- {{ localization.common.macAddress }}
6
- </template>
7
- <template #stackBlockContent>
8
- <div class="flex-align-center">
9
- <atoms-tooltip-error
10
- :has-error="!!props.errorText"
11
- :selector="`.vm-wizard-network-mac-address-field-${props.index}`"
12
- @remove="emits('remove-error')"
13
- >
14
- <template #elem>
15
- <input
16
- :id="`vm-wizard-network-mac-address-field-${props.index}`"
17
- v-model="macAddress"
18
- type="text"
19
- :data-id="`vm-wizard-network-mac-address-field-${props.index}`"
20
- :disabled="macAddressType === 'automatic' || props.disabled"
21
- :class="[
22
- `vm-wizard-network-mac-address-field-${props.index}`,
23
- { 'has-error': props.macAddressLocalErrorText },
24
- ]"
25
- />
26
- </template>
27
- <template #content>
28
- {{ props.errorText }}
29
- </template>
30
- </atoms-tooltip-error>
31
-
32
- <div class="select">
33
- <select
34
- :id="`mac-address-select-${props.index}`"
35
- v-model="macAddressType"
36
- :data-id="`mac-address-select-${props.index}`"
37
- :disabled="props.disabled"
38
- >
39
- <option
40
- v-for="(item, key) in props.macAddressOptions"
41
- :key="key"
42
- :value="item.value"
43
- >
44
- {{ item.text }}
45
- </option>
46
- </select>
47
- </div>
48
- </div>
49
- </template>
50
- </atoms-stack-block>
51
- </div>
52
- </template>
53
-
54
- <script setup lang="ts">
55
- import type {
56
- UI_I_Localization,
57
- } from '~/lib/models/interfaces'
58
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
59
-
60
- const macAddress = defineModel<string>('macAddress', { required: true })
61
- const macAddressType = defineModel<string>('macAddressType', {
62
- required: true,
63
- })
64
-
65
- const props = defineProps<{
66
- index: number
67
- disabled: boolean
68
- errorText: string
69
- macAddressLocalErrorText: string
70
- macAddressOptions: UI_I_OptionItem[]
71
- }>()
72
- const emits = defineEmits<{
73
- (event: 'remove-error'): void
74
- }>()
75
-
76
- const localization = computed<UI_I_Localization>(() => useLocal())
77
- </script>
78
-
79
- <style scoped lang="scss">
80
- .has-error {
81
- border: 1px solid #db2100;
82
- }
83
- </style>
1
+ <template>
2
+ <div>
3
+ <atoms-stack-block :has-children="false">
4
+ <template #stackBlockKey>
5
+ {{ localization.common.macAddress }}
6
+ </template>
7
+ <template #stackBlockContent>
8
+ <div class="flex-align-center">
9
+ <atoms-tooltip-error
10
+ :has-error="!!props.errorText"
11
+ :selector="`.vm-wizard-network-mac-address-field-${props.index}`"
12
+ @remove="emits('remove-error')"
13
+ >
14
+ <template #elem>
15
+ <input
16
+ :id="`vm-wizard-network-mac-address-field-${props.index}`"
17
+ v-model="macAddress"
18
+ type="text"
19
+ :data-id="`vm-wizard-network-mac-address-field-${props.index}`"
20
+ :disabled="macAddressType === 'automatic' || props.disabled"
21
+ :class="[
22
+ `vm-wizard-network-mac-address-field-${props.index}`,
23
+ { 'has-error': props.macAddressLocalErrorText },
24
+ ]"
25
+ />
26
+ </template>
27
+ <template #content>
28
+ {{ props.errorText }}
29
+ </template>
30
+ </atoms-tooltip-error>
31
+
32
+ <div class="select">
33
+ <select
34
+ :id="`mac-address-select-${props.index}`"
35
+ v-model="macAddressType"
36
+ :data-id="`mac-address-select-${props.index}`"
37
+ :disabled="props.disabled"
38
+ >
39
+ <option
40
+ v-for="(item, key) in props.macAddressOptions"
41
+ :key="key"
42
+ :value="item.value"
43
+ >
44
+ {{ item.text }}
45
+ </option>
46
+ </select>
47
+ </div>
48
+ </div>
49
+ </template>
50
+ </atoms-stack-block>
51
+ </div>
52
+ </template>
53
+
54
+ <script setup lang="ts">
55
+ import type {
56
+ UI_I_Localization,
57
+ } from '~/lib/models/interfaces'
58
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
59
+
60
+ const macAddress = defineModel<string>('macAddress', { required: true })
61
+ const macAddressType = defineModel<string>('macAddressType', {
62
+ required: true,
63
+ })
64
+
65
+ const props = defineProps<{
66
+ index: number
67
+ disabled: boolean
68
+ errorText: string
69
+ macAddressLocalErrorText: string
70
+ macAddressOptions: UI_I_OptionItem[]
71
+ }>()
72
+ const emits = defineEmits<{
73
+ (event: 'remove-error'): void
74
+ }>()
75
+
76
+ const localization = computed<UI_I_Localization>(() => useLocal())
77
+ </script>
78
+
79
+ <style scoped lang="scss">
80
+ .has-error {
81
+ border: 1px solid #db2100;
82
+ }
83
+ </style>
@@ -1,184 +1,142 @@
1
- <template>
2
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-new
3
- v-if="isNewView"
4
- v-model:selected-type="selectedType"
5
- v-model:direct-path-io="directPathIo"
6
- v-model:dynamic-direct-path-io="dynamicDirectPathIo"
7
- v-model:nvidia-grid-profile="nvidiaGridProfile"
8
- :index="props.index"
9
- :passthrough-devices="props.passthroughDevices"
10
- :mediated-devices="props.mediatedDevices"
11
- :type="props.type"
12
- :is-removable="isRemovable"
13
- :label="label"
14
- :selected-label="selectedLabel"
15
- :pci-device-type-options="pciDeviceTypeOptions"
16
- @remove="emits('remove')"
17
- />
18
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-old
19
- v-else
20
- v-model:selected-type="selectedType"
21
- v-model:direct-path-io="directPathIo"
22
- v-model:dynamic-direct-path-io="dynamicDirectPathIo"
23
- v-model:nvidia-grid-profile="nvidiaGridProfile"
24
- :index="props.index"
25
- :passthrough-devices="props.passthroughDevices"
26
- :mediated-devices="props.mediatedDevices"
27
- :type="props.type"
28
- :is-removable="isRemovable"
29
- :label="label"
30
- :selected-label="selectedLabel"
31
- :pci-device-type-options="pciDeviceTypeOptions"
32
- @remove="emits('remove')"
33
- />
34
- </template>
35
-
36
- <script setup lang="ts">
37
- import type { UI_I_Localization } from '~/lib/models/interfaces'
38
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
39
- import type { UI_I_SendDataNewPciDevice } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
40
- import type { UI_T_PciDeviceType } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/types'
41
- import type { UI_I_PciDevice } from '~/lib/models/store/vm/interfaces'
42
- import { pciDeviceTypeOptionsFunc } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/lib/config/options'
43
-
44
- const props = defineProps<{
45
- index: number
46
- pciDevice: UI_I_SendDataNewPciDevice
47
- passthroughDevices: UI_I_PciDevice[]
48
- mediatedDevices: any[]
49
- type: UI_T_PciDeviceType
50
- isEdit: boolean
51
- state?: string | number
52
- // errorValidationFields: UI_I_ErrorValidationField<string>[]
53
- }>()
54
- const emits = defineEmits<{
55
- (event: 'send-data', value: UI_I_SendDataNewPciDevice): void
56
- (event: 'remove'): void
57
- }>()
58
-
59
- const { $store }: any = useNuxtApp()
60
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
61
-
62
- const localization = computed<UI_I_Localization>(() => useLocal())
63
-
64
- const isRunning = computed<boolean>(() => {
65
- return props.state === 2
66
- })
67
-
68
- const isRemovable = computed<boolean>(() => {
69
- return !props.isEdit || !isRunning.value
70
- })
71
-
72
- const label = computed<string>(() => {
73
- if (props.type === 'edit')
74
- return `${localization.value.common.newPciDevice} ${props.index + 1}`
75
-
76
- return `${localization.value.common.pciDevice} *`
77
- })
78
-
79
- const selectedLabel = computed<string>(() => {
80
- switch (selectedType.value.value) {
81
- case 'direct_path_io':
82
- return `${directPathIo.value.address} | ${directPathIo.value.device_name}`
83
- case 'dynamic_direct_path_io':
84
- return dynamicDirectPathIo.value
85
- default:
86
- return nvidiaGridProfile.value
87
- }
88
- })
89
-
90
- const pciDeviceTypeOptions = ref<UI_I_OptionItem[]>(
91
- pciDeviceTypeOptionsFunc(
92
- !props.passthroughDevices.length,
93
- !props.mediatedDevices.length
94
- )
95
- )
96
- const selectedType = ref<UI_I_OptionItem>(pciDeviceTypeOptions.value[0])
97
- pciDeviceTypeOptions.value.forEach((option) => {
98
- if (!option.disabled) selectedType.value = option
99
- })
100
-
101
- const directPathIo = ref<UI_I_PciDevice>(props.passthroughDevices[0])
102
- const dynamicDirectPathIo = ref<string>('')
103
- const nvidiaGridProfile = ref<any>(props.mediatedDevices[0]?.value)
104
-
105
- watch(
106
- [() => props.pciDevice, () => props.mediatedDevices],
107
- ([newValue1]) => {
108
- // const passthroughDevice = props.passthroughDevices.find(
109
- // (item) => item.address === newValue.address
110
- // )
111
- // passthroughDevice && (directPathIo.value = passthroughDevice) // Todo change
112
- if (newValue1) {
113
- directPathIo.value = newValue1
114
- const mediatedDevice = props.mediatedDevices.find((device) => {
115
- return (
116
- device.profile_name + '_' + device.root_device ===
117
- newValue1.class_name + '_' + newValue1.address
118
- )
119
- })
120
- if (mediatedDevice) {
121
- nvidiaGridProfile.value = mediatedDevice.profile_name + '_' + mediatedDevice.root_device
122
-
123
- selectedType.value =
124
- pciDeviceTypeOptions.value.find(
125
- (option) => option.value === 'nvidia_grid'
126
- ) || selectedType.value
127
- }
128
- }
129
- },
130
- { immediate: true, deep: true }
131
- )
132
-
133
- const sendData = computed<UI_I_SendDataNewPciDevice>(() => {
134
- const nvidea = props.mediatedDevices.find(
135
- (device) =>
136
- nvidiaGridProfile.value === device.profile_name + '_' + device.root_device
137
- )
138
- switch (selectedType.value.value) {
139
- case 'direct_path_io':
140
- return {
141
- address: directPathIo.value.address,
142
- vendor_name: directPathIo.value.vendor_name,
143
- class_name: directPathIo.value.class_name,
144
- device_name: directPathIo.value.device_name,
145
- mediated_devices: false,
146
- }
147
- case 'dynamic_direct_path_io':
148
- return {
149
- address: '',
150
- vendor_name: '',
151
- class_name: '',
152
- device_name: '',
153
- mediated_devices: false,
154
- }
155
- case 'nvidia_grid':
156
- return {
157
- address: nvidea?.root_device || '',
158
- vendor_name: '',
159
- class_name: nvidea?.profile_name || '',
160
- device_name: nvidea?.name || '',
161
- mediated_devices: true,
162
- mediated_devices_uuid: '',
163
- }
164
- default:
165
- return {
166
- address: '',
167
- vendor_name: '',
168
- class_name: '',
169
- device_name: '',
170
- mediated_devices: false,
171
- }
172
- }
173
- })
174
-
175
- watch(
176
- sendData,
177
- (newValue) => {
178
- emits('send-data', newValue)
179
- },
180
- { immediate: true }
181
- )
182
- </script>
183
-
184
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-new
3
+ v-if="isNewView"
4
+ v-model:selected-type="selectedType"
5
+ v-model:direct-path-io="directPathIo"
6
+ v-model:dynamic-direct-path-io="dynamicDirectPathIo"
7
+ v-model:nvidia-grid-profile="nvidiaGridProfile"
8
+ :index="props.index"
9
+ :passthrough-devices="props.passthroughDevices"
10
+ :type="props.type"
11
+ :is-removable="isRemovable"
12
+ :label="label"
13
+ :selected-label="selectedLabel"
14
+ :pci-device-type-options="pciDeviceTypeOptions"
15
+ @remove="emits('remove')"
16
+ />
17
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-old
18
+ v-else
19
+ v-model:selected-type="selectedType"
20
+ v-model:direct-path-io="directPathIo"
21
+ v-model:dynamic-direct-path-io="dynamicDirectPathIo"
22
+ v-model:nvidia-grid-profile="nvidiaGridProfile"
23
+ :index="props.index"
24
+ :passthrough-devices="props.passthroughDevices"
25
+ :type="props.type"
26
+ :is-removable="isRemovable"
27
+ :label="label"
28
+ :selected-label="selectedLabel"
29
+ :pci-device-type-options="pciDeviceTypeOptions"
30
+ @remove="emits('remove')"
31
+ />
32
+ </template>
33
+
34
+ <script setup lang="ts">
35
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
36
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
37
+ import type { UI_I_SendDataNewPciDevice } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
38
+ import type { UI_T_PciDeviceType } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/types'
39
+ import type { UI_I_PciDevice } from '~/lib/models/store/vm/interfaces'
40
+ import { pciDeviceTypeOptionsConfig } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/lib/config/options'
41
+
42
+ const props = defineProps<{
43
+ index: number
44
+ pciDevice: UI_I_SendDataNewPciDevice
45
+ passthroughDevices: UI_I_PciDevice[]
46
+ type: UI_T_PciDeviceType
47
+ isEdit: boolean
48
+ state?: string | number
49
+ // errorValidationFields: UI_I_ErrorValidationField<string>[]
50
+ }>()
51
+ const emits = defineEmits<{
52
+ (event: 'send-data', value: UI_I_SendDataNewPciDevice): void
53
+ (event: 'remove'): void
54
+ }>()
55
+
56
+ const { $store }: any = useNuxtApp()
57
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
58
+
59
+ const localization = computed<UI_I_Localization>(() => useLocal())
60
+
61
+ const isRunning = computed<boolean>(() => {
62
+ return props.state === 2
63
+ })
64
+
65
+ const isRemovable = computed<boolean>(() => {
66
+ return !props.isEdit || !isRunning.value
67
+ })
68
+
69
+ const label = computed<string>(() => {
70
+ if (props.type === 'edit')
71
+ return `${localization.value.common.newPciDevice} ${props.index + 1}`
72
+
73
+ return `${localization.value.common.pciDevice} *`
74
+ })
75
+
76
+ const selectedLabel = computed<string>(() => {
77
+ switch (selectedType.value.value) {
78
+ case 'direct_path_io':
79
+ return `${directPathIo.value.address} | ${directPathIo.value.device_name}`
80
+ case 'dynamic_direct_path_io':
81
+ return dynamicDirectPathIo.value
82
+ default:
83
+ return nvidiaGridProfile.value
84
+ }
85
+ })
86
+
87
+ const pciDeviceTypeOptions = ref<UI_I_OptionItem[]>(pciDeviceTypeOptionsConfig)
88
+ const selectedType = ref<UI_I_OptionItem>(pciDeviceTypeOptionsConfig[0])
89
+
90
+ const directPathIo = ref<UI_I_PciDevice>(props.passthroughDevices[0])
91
+ const dynamicDirectPathIo = ref<string>('')
92
+ const nvidiaGridProfile = ref<string>('')
93
+
94
+ watch(
95
+ props.pciDevice,
96
+ (newValue) => {
97
+ // const passthroughDevice = props.passthroughDevices.find(
98
+ // (item) => item.address === newValue.address
99
+ // )
100
+ // passthroughDevice && (directPathIo.value = passthroughDevice) // Todo change
101
+ newValue && (directPathIo.value = newValue)
102
+ },
103
+ { immediate: true }
104
+ )
105
+
106
+ const sendData = computed<UI_I_SendDataNewPciDevice>(() => {
107
+ switch (selectedType.value.value) {
108
+ case 'direct_path_io':
109
+ return {
110
+ address: directPathIo.value.address,
111
+ vendor_name: directPathIo.value.vendor_name,
112
+ class_name: directPathIo.value.class_name,
113
+ device_name: directPathIo.value.device_name,
114
+ }
115
+ case 'dynamic_direct_path_io':
116
+ return {
117
+ address: '',
118
+ vendor_name: '',
119
+ class_name: '',
120
+ device_name: '',
121
+ }
122
+ default:
123
+ return {
124
+ address: '',
125
+ vendor_name: '',
126
+ class_name: '',
127
+ device_name: '',
128
+ }
129
+ }
130
+ })
131
+
132
+ watch(
133
+ sendData,
134
+ (newValue) => {
135
+ emits('send-data', newValue)
136
+ },
137
+ { immediate: true }
138
+ )
139
+ </script>
140
+
141
+ <style scoped lang="scss">
142
+ </style>
@@ -27,47 +27,22 @@
27
27
  :pci-device-index="props.index"
28
28
  />
29
29
 
30
- <!-- v-show="selectedType.value === 'dynamic_direct_path_io'" -->
31
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-dynamic-direct-path-io
32
- v-show="selectedType.value === 'nvidia_grid'"
33
- v-model="nvidiaGridProfile"
34
- :pci-device-index="props.index"
35
- :mediated-devices="props.mediatedDevices"
36
- />
37
- <!-- v-show="selectedType.value === 'nvidia_grid'" -->
38
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-nvidia-grid
30
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-direct-path-io
39
31
  v-show="selectedType.value === 'direct_path_io'"
40
32
  v-model="directPathIo"
41
33
  :pci-device-index="props.index"
34
+ :passthrough-devices="props.passthroughDevices"
42
35
  />
43
- <!-- v-show="selectedType.value === 'direct_path_io'" -->
44
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-direct-path-io
36
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-dynamic-direct-path-io
45
37
  v-show="selectedType.value === 'dynamic_direct_path_io'"
46
38
  v-model="dynamicDirectPathIo"
47
39
  :pci-device-index="props.index"
48
- :passthrough-devices="props.passthroughDevices"
49
40
  />
50
-
51
- <!-- v-show="selectedType.value === 'dynamic_direct_path_io'" -->
52
- <!-- <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-dynamic-direct-path-io
41
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-nvidia-grid
53
42
  v-show="selectedType.value === 'nvidia_grid'"
54
- v-model="dynamicDirectPathIo"
55
- :pci-device-index="props.index"
56
- :mediated-devices="props.mediatedDevices"
57
- /> -->
58
- <!-- v-show="selectedType.value === 'nvidia_grid'" -->
59
- <!-- <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-nvidia-grid
60
- v-show="selectedType.value === 'direct_path_io'"
61
43
  v-model="nvidiaGridProfile"
62
44
  :pci-device-index="props.index"
63
- /> -->
64
- <!-- v-show="selectedType.value === 'direct_path_io'" -->
65
- <!-- <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-direct-path-io
66
- v-show="selectedType.value === 'dynamic_direct_path_io'"
67
- v-model="directPathIo"
68
- :pci-device-index="props.index"
69
- :passthrough-devices="props.passthroughDevices"
70
- /> -->
45
+ />
71
46
  </template>
72
47
 
73
48
  <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-note />
@@ -96,7 +71,6 @@ const nvidiaGridProfile = defineModel<string>('nvidiaGridProfile', {
96
71
  const props = defineProps<{
97
72
  index: number
98
73
  passthroughDevices: UI_I_PciDevice[]
99
- mediatedDevices: any[]
100
74
  type: UI_T_PciDeviceType
101
75
  isRemovable: boolean
102
76
  label: string
@@ -28,47 +28,22 @@
28
28
  :pci-device-index="props.index"
29
29
  />
30
30
 
31
- <!-- v-show="selectedType.value === 'dynamic_direct_path_io'" -->
32
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-dynamic-direct-path-io
33
- v-show="selectedType.value === 'nvidia_grid'"
34
- v-model="nvidiaGridProfile"
35
- :pci-device-index="props.index"
36
- :mediated-devices="props.mediatedDevices"
37
- />
38
- <!-- v-show="selectedType.value === 'nvidia_grid'" -->
39
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-nvidia-grid
31
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-direct-path-io
40
32
  v-show="selectedType.value === 'direct_path_io'"
41
33
  v-model="directPathIo"
42
34
  :pci-device-index="props.index"
35
+ :passthrough-devices="props.passthroughDevices"
43
36
  />
44
- <!-- v-show="selectedType.value === 'direct_path_io'" -->
45
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-direct-path-io
37
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-dynamic-direct-path-io
46
38
  v-show="selectedType.value === 'dynamic_direct_path_io'"
47
39
  v-model="dynamicDirectPathIo"
48
40
  :pci-device-index="props.index"
49
- :passthrough-devices="props.passthroughDevices"
50
41
  />
51
-
52
- <!-- v-show="selectedType.value === 'dynamic_direct_path_io'" -->
53
- <!-- <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-dynamic-direct-path-io
42
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-nvidia-grid
54
43
  v-show="selectedType.value === 'nvidia_grid'"
55
- v-model="dynamicDirectPathIo"
56
- :pci-device-index="props.index"
57
- :mediated-devices="props.mediatedDevices"
58
- /> -->
59
- <!-- v-show="selectedType.value === 'nvidia_grid'" -->
60
- <!-- <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-nvidia-grid
61
- v-show="selectedType.value === 'direct_path_io'"
62
44
  v-model="nvidiaGridProfile"
63
45
  :pci-device-index="props.index"
64
- /> -->
65
- <!-- v-show="selectedType.value === 'direct_path_io'" -->
66
- <!-- <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-direct-path-io
67
- v-show="selectedType.value === 'dynamic_direct_path_io'"
68
- v-model="directPathIo"
69
- :pci-device-index="props.index"
70
- :passthrough-devices="props.passthroughDevices"
71
- /> -->
46
+ />
72
47
  </template>
73
48
 
74
49
  <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-note />
@@ -98,7 +73,6 @@ const nvidiaGridProfile = defineModel<string>('nvidiaGridProfile', {
98
73
  const props = defineProps<{
99
74
  index: number
100
75
  passthroughDevices: UI_I_PciDevice[]
101
- mediatedDevices: any[]
102
76
  type: UI_T_PciDeviceType
103
77
  isRemovable: boolean
104
78
  label: string