bfg-common 1.5.260 → 1.5.262

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 (167) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  4. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  5. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  6. package/assets/localization/local_be.json +7 -3
  7. package/assets/localization/local_en.json +7 -3
  8. package/assets/localization/local_hy.json +7 -3
  9. package/assets/localization/local_kk.json +7 -3
  10. package/assets/localization/local_ru.json +7 -3
  11. package/assets/localization/local_zh.json +7 -3
  12. package/assets/scss/clarity/local_ar.json +2 -1
  13. package/components/atoms/TheIcon3.vue +50 -50
  14. package/components/atoms/perPage/PerPage.vue +58 -58
  15. package/components/atoms/table/dataGrid/DataGrid.vue +1717 -1717
  16. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  17. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  18. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  19. package/components/common/backup/storage/actions/add/Add.vue +250 -250
  20. package/components/common/backup/storage/actions/add/Old.vue +116 -116
  21. package/components/common/backup/storage/actions/add/lib/config/steps.ts +168 -168
  22. package/components/common/backup/storage/actions/add/steps/hostAccessibility/HostAccessibility.vue +52 -52
  23. package/components/common/backup/storage/actions/add/steps/name/New.vue +102 -102
  24. package/components/common/backup/storage/actions/add/steps/nameAndConfigure/NameAndConfigure.vue +42 -42
  25. package/components/common/backup/storage/actions/add/steps/readyComplete/ReadyComplete.vue +45 -45
  26. package/components/common/backup/storage/actions/add/steps/readyComplete/ReadyCompleteNew.vue +160 -160
  27. package/components/common/backup/storage/actions/add/steps/readyComplete/lib/config/propertiesDetails.ts +243 -243
  28. package/components/common/backup/storage/actions/delete/Delete.vue +65 -65
  29. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  30. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  31. package/components/common/browse/lib/models/interfaces.ts +5 -5
  32. package/components/common/context/lib/models/interfaces.ts +31 -31
  33. package/components/common/diagramMain/DiagramMain.vue +897 -897
  34. package/components/common/diagramMain/Header.vue +214 -214
  35. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  36. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  37. package/components/common/diagramMain/lib/models/types.ts +21 -21
  38. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  39. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -40
  40. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
  41. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
  42. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
  43. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
  44. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
  45. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  46. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  47. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
  48. package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
  49. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  50. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
  51. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  52. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  53. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  54. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  55. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  56. package/components/common/diagramMain/port/Ports.vue +47 -47
  57. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  58. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  59. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  60. package/components/common/pages/home/headline/Headline.vue +45 -45
  61. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  62. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  63. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  64. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  65. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  66. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  67. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  68. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  69. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  70. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  71. package/components/common/pages/licensing/listView/ListView.vue +1 -1
  72. package/components/common/pages/packages/Packages.vue +208 -208
  73. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  74. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  75. package/components/common/recursionTree/RecursionTree.vue +223 -223
  76. package/components/common/select/button/ButtonDropdown.vue +108 -108
  77. package/components/common/spiceConsole/Drawer.vue +377 -377
  78. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  79. package/components/common/vm/actions/add/Add.vue +823 -823
  80. package/components/common/vm/actions/add/Old.vue +382 -382
  81. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  82. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  83. package/components/common/vm/actions/add/folderTreeView/Old.vue +50 -50
  84. package/components/common/vm/actions/clone/lib/config/steps.ts +291 -291
  85. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +321 -321
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +227 -219
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +100 -100
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +78 -78
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/TooltipNew.vue +154 -154
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +307 -307
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +385 -385
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationNew.vue +75 -75
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +85 -85
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +94 -94
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/inputDevices/InputDevicesNew.vue +40 -40
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +147 -136
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +2 -0
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +2 -0
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/lib/config/options.ts +14 -11
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -57
  122. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  123. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  124. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  125. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  126. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +31 -31
  127. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +31 -31
  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/password/Password.vue +103 -103
  130. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +128 -128
  131. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  132. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +39 -39
  133. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  134. package/components/common/vm/actions/common/lib/utils/capabilities.ts +52 -52
  135. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  136. package/components/common/vm/actions/common/select/computeResource/treeView/New.vue +44 -44
  137. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +118 -118
  138. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  139. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  140. package/components/common/vm/actions/common/select/name/Name.vue +174 -174
  141. package/components/common/vm/actions/common/select/name/Old.vue +1 -1
  142. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  143. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  144. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  145. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  146. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  147. package/components/common/vmt/actions/add/Add.vue +641 -0
  148. package/components/common/vmt/actions/add/lib/config/steps.ts +107 -0
  149. package/components/common/vmt/actions/add/lib/models/interfaces.ts +23 -0
  150. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  151. package/components/common/wizards/vm/migrate/lib/config/steps.ts +157 -157
  152. package/components/common/wizards/vm/migrate/lib/validations.ts +68 -68
  153. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +135 -135
  154. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  155. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  156. package/composables/productNameLocal.ts +30 -30
  157. package/composables/useAppVersion.ts +21 -21
  158. package/package.json +1 -1
  159. package/plugins/date.ts +233 -233
  160. package/plugins/panelStates.ts +70 -70
  161. package/plugins/text.ts +59 -59
  162. package/public/spice-console/lib/images/bitmap.js +203 -203
  163. package/public/spice-console/network/spicechannel.js +387 -387
  164. package/store/main/mutations.ts +7 -7
  165. package/store/main/state.ts +7 -7
  166. package/store/tasks/mappers/recentTasks.ts +64 -64
  167. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/lib/config/options.ts +0 -14
@@ -1,40 +1,40 @@
1
- <template>
2
- <ui-stack-block :has-children="false">
3
- <template #stackBlockKey>
4
- {{ localization.common.inputDevices }}
5
- </template>
6
- <template #stackBlockContent>
7
- <div class="input-devices-content">
8
- <p>{{ localization.common.keyboard }}</p>
9
- <p class="dot-divider"></p>
10
- <p>{{ localization.common.pointingDevice }}</p>
11
- </div>
12
- </template>
13
- </ui-stack-block>
14
- </template>
15
-
16
- <script setup lang="ts">
17
- import type { UI_I_Localization } from '~/lib/models/interfaces'
18
-
19
- const localization = computed<UI_I_Localization>(() => useLocal())
20
- </script>
21
-
22
- <style>
23
- :root {
24
- --input-devices-content-color: #182531;
25
- --input-devices-dot-color: #d3d6da;
26
- }
27
- </style>
28
- <style scoped lang="scss">
29
- .input-devices-content {
30
- display: flex;
31
- align-items: center;
32
- gap: 8px;
33
- color: var(--input-devices-content-color);
34
-
35
- .dot-divider::before {
36
- content: '•';
37
- color: var(--input-devices-dot-color);
38
- }
39
- }
40
- </style>
1
+ <template>
2
+ <ui-stack-block :has-children="false">
3
+ <template #stackBlockKey>
4
+ {{ localization.common.inputDevices }}
5
+ </template>
6
+ <template #stackBlockContent>
7
+ <div class="input-devices-content">
8
+ <p>{{ localization.common.keyboard }}</p>
9
+ <p class="dot-divider"></p>
10
+ <p>{{ localization.common.pointingDevice }}</p>
11
+ </div>
12
+ </template>
13
+ </ui-stack-block>
14
+ </template>
15
+
16
+ <script setup lang="ts">
17
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
18
+
19
+ const localization = computed<UI_I_Localization>(() => useLocal())
20
+ </script>
21
+
22
+ <style>
23
+ :root {
24
+ --input-devices-content-color: #182531;
25
+ --input-devices-dot-color: #d3d6da;
26
+ }
27
+ </style>
28
+ <style scoped lang="scss">
29
+ .input-devices-content {
30
+ display: flex;
31
+ align-items: center;
32
+ gap: 8px;
33
+ color: var(--input-devices-content-color);
34
+
35
+ .dot-divider::before {
36
+ content: '•';
37
+ color: var(--input-devices-dot-color);
38
+ }
39
+ }
40
+ </style>
@@ -1,136 +1,147 @@
1
- <template>
2
- <common-vm-actions-common-customize-hardware-virtual-hardware-video-card-new
3
- v-if="isNewView"
4
- v-model:invalid="invalid"
5
- v-model:number-displays="numberDisplays"
6
- v-model:video-card-model="videoCardModel"
7
- :is-edit="props.isEdit"
8
- :error-validation-fields="props.errorValidationFields"
9
- :video-card-model-name="videoCardModelName"
10
- :error-text="apiError"
11
- :is-disabled="isDisabled"
12
- :state="props.state"
13
- :video-card-model-options="videoCardModelOptions"
14
- @remove-error="onRemoveValidationError"
15
- @remove-error-by-title="emits('remove-error-by-title', $event)"
16
- />
17
- <common-vm-actions-common-customize-hardware-virtual-hardware-video-card-old
18
- v-else
19
- v-model:invalid="invalid"
20
- v-model:number-displays="numberDisplays"
21
- v-model:video-card-model="videoCardModel"
22
- :is-edit="props.isEdit"
23
- :error-validation-fields="props.errorValidationFields"
24
- :video-card-model-name="videoCardModelName"
25
- :error-text="apiError"
26
- :is-disabled="isDisabled"
27
- :state="props.state"
28
- :video-card-model-options="videoCardModelOptions"
29
- @remove-error="onRemoveValidationError"
30
- @remove-error-by-title="emits('remove-error-by-title', $event)"
31
- />
32
- </template>
33
-
34
- <script setup lang="ts">
35
- import type { UI_I_SendDataVideoCard } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
36
- import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
37
- import type {UI_I_Localization} from "~/lib/models/interfaces";
38
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
39
- import {
40
- videoCardModelOptionsConfigFunc
41
- } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/lib/config/options'
42
-
43
- const props = defineProps<{
44
- isEdit: boolean
45
- errorValidationFields: UI_I_ErrorValidationField[]
46
- videoCard?: UI_I_SendDataVideoCard
47
- state?: string | number
48
- }>()
49
- const emits = defineEmits<{
50
- (event: 'send-data', value: UI_I_SendDataVideoCard): void
51
- (event: 'invalid', value: boolean): void
52
- (event: 'remove-error-by-title', value: string): void
53
- }>()
54
-
55
- const localization = computed<UI_I_Localization>(() => useLocal())
56
-
57
- const { $store }: any = useNuxtApp()
58
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
59
-
60
- const isDisabled = computed<boolean>(
61
- () => props.isEdit && props.state !== 1
62
- )
63
- watch(isDisabled, (newValue) => {
64
- if (!newValue) {
65
- return
66
- }
67
-
68
- numberDisplays.value = '1'
69
- })
70
- const numberDisplays = ref<string>('1')
71
-
72
- // const totalVideoMemory = ref<number>(64)
73
- const invalid = ref<boolean>(false)
74
- watch(
75
- invalid,
76
- (newValue) => {
77
- emits('invalid', newValue)
78
- },
79
- { immediate: true }
80
- )
81
-
82
- // const graphics = ref(false)
83
-
84
- const videoCardModel = ref<string>('qxl')
85
- const videoCardModelOptions = computed<UI_I_OptionItem[]>(() =>
86
- videoCardModelOptionsConfigFunc(localization.value)
87
- )
88
- const videoCardModelName = computed<string>(
89
- () =>
90
- videoCardModelOptions.value.find(
91
- (videoCard) => videoCard.value === videoCardModel.value
92
- )?.text || ''
93
- )
94
-
95
- watch(
96
- // [numberDisplays, totalVideoMemory, videoCardModel],
97
- [numberDisplays, videoCardModel],
98
- () => {
99
- emits('send-data', {
100
- adapter: videoCardModel.value,
101
- displays: +numberDisplays.value,
102
- // memory_mb: totalVideoMemory.value,
103
- })
104
- },
105
- { immediate: true }
106
- )
107
-
108
- // Добавляем данные для редактирования
109
- watch(
110
- () => props.videoCard,
111
- (newValue) => {
112
- if (!newValue) return
113
-
114
- videoCardModel.value = newValue.adapter
115
- numberDisplays.value = '' + newValue.displays
116
- // totalVideoMemory.value = newValue.memory_mb
117
- },
118
- { immediate: true }
119
- )
120
-
121
- const typeError = 'video_card.adapter'
122
-
123
- const apiError = computed<string>(() => {
124
- return (
125
- props.errorValidationFields?.find((message) => message.field === typeError)
126
- ?.error_message || ''
127
- )
128
- })
129
-
130
- const onRemoveValidationError = (): void => {
131
- emits('remove-error-by-title', typeError)
132
- }
133
- </script>
134
-
135
- <style scoped lang="scss">
136
- </style>
1
+ <template>
2
+ <common-vm-actions-common-customize-hardware-virtual-hardware-video-card-new
3
+ v-if="isNewView"
4
+ v-model:invalid="invalid"
5
+ v-model:number-displays="numberDisplays"
6
+ v-model:video-card-model="videoCardModel"
7
+ :is-edit="props.isEdit"
8
+ :error-validation-fields="props.errorValidationFields"
9
+ :video-card-model-name="videoCardModelName"
10
+ :error-text="apiError"
11
+ :is-disabled="isDisabled"
12
+ :state="props.state"
13
+ :video-card-model-options="videoCardModelOptions"
14
+ :number-displays-options="numberDisplaysOptions"
15
+ @remove-error="onRemoveValidationError"
16
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
17
+ />
18
+ <common-vm-actions-common-customize-hardware-virtual-hardware-video-card-old
19
+ v-else
20
+ v-model:invalid="invalid"
21
+ v-model:number-displays="numberDisplays"
22
+ v-model:video-card-model="videoCardModel"
23
+ :is-edit="props.isEdit"
24
+ :error-validation-fields="props.errorValidationFields"
25
+ :video-card-model-name="videoCardModelName"
26
+ :error-text="apiError"
27
+ :is-disabled="isDisabled"
28
+ :state="props.state"
29
+ :video-card-model-options="videoCardModelOptions"
30
+ :number-displays-options="numberDisplaysOptions"
31
+ @remove-error="onRemoveValidationError"
32
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
33
+ />
34
+ </template>
35
+
36
+ <script setup lang="ts">
37
+ import type { UI_I_SendDataVideoCard } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
38
+ import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
39
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
40
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
41
+ import { videoCardModelOptionsConfigFunc } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/lib/config/options'
42
+ import { numberDisplaysOptionsFunc } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/lib/config/options'
43
+
44
+ const props = defineProps<{
45
+ isEdit: boolean
46
+ errorValidationFields: UI_I_ErrorValidationField[]
47
+ videoCard?: UI_I_SendDataVideoCard
48
+ state?: string | number
49
+ }>()
50
+ const emits = defineEmits<{
51
+ (event: 'send-data', value: UI_I_SendDataVideoCard): void
52
+ (event: 'invalid', value: boolean): void
53
+ (event: 'remove-error-by-title', value: string): void
54
+ }>()
55
+
56
+ const localization = computed<UI_I_Localization>(() => useLocal())
57
+
58
+ const { $store }: any = useNuxtApp()
59
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
60
+
61
+ const isDisabled = computed<boolean>(() => props.isEdit && props.state !== 1)
62
+ watch(isDisabled, (newValue) => {
63
+ if (!newValue) {
64
+ return
65
+ }
66
+
67
+ numberDisplays.value = '1'
68
+ })
69
+
70
+ const videoCardModel = ref<string>('qxl')
71
+ const videoCardModelOptions = computed<UI_I_OptionItem[]>(() =>
72
+ videoCardModelOptionsConfigFunc(localization.value)
73
+ )
74
+ const videoCardModelName = computed<string>(
75
+ () =>
76
+ videoCardModelOptions.value.find(
77
+ (videoCard) => videoCard.value === videoCardModel.value
78
+ )?.text || ''
79
+ )
80
+
81
+ const numberDisplays = ref<string>('1')
82
+ const numberDisplaysOptions = ref<UI_I_OptionItem[]>(numberDisplaysOptionsFunc())
83
+
84
+ // const totalVideoMemory = ref<number>(64)
85
+ const invalid = ref<boolean>(false)
86
+ watch(
87
+ invalid,
88
+ (newValue) => {
89
+ emits('invalid', newValue)
90
+ },
91
+ { immediate: true }
92
+ )
93
+
94
+ // const graphics = ref(false)
95
+
96
+ const changeNumberDisplays = (model: any): void => {
97
+ if (model === 'none') {
98
+ numberDisplaysOptions.value.unshift({text: '0', value: '0'})
99
+ numberDisplays.value = '0'
100
+ } else if (numberDisplays.value === '0') {
101
+ numberDisplays.value = '1'
102
+ numberDisplaysOptions.value.shift()
103
+ }
104
+ }
105
+ watch(
106
+ // [numberDisplays, totalVideoMemory, videoCardModel],
107
+ [numberDisplays, videoCardModel],
108
+ ([_newValue1, newValue2]) => {
109
+ changeNumberDisplays(newValue2)
110
+
111
+ emits('send-data', {
112
+ adapter: videoCardModel.value,
113
+ displays: +numberDisplays.value,
114
+ // memory_mb: totalVideoMemory.value,
115
+ })
116
+ },
117
+ { immediate: true }
118
+ )
119
+
120
+ // Добавляем данные для редактирования
121
+ watch(
122
+ () => props.videoCard,
123
+ (newValue) => {
124
+ if (!newValue) return
125
+
126
+ videoCardModel.value = newValue.adapter
127
+ numberDisplays.value = '' + newValue.displays
128
+ // totalVideoMemory.value = newValue.memory_mb
129
+ },
130
+ { immediate: true }
131
+ )
132
+
133
+ const typeError = 'video_card.adapter'
134
+
135
+ const apiError = computed<string>(() => {
136
+ return (
137
+ props.errorValidationFields?.find((message) => message.field === typeError)
138
+ ?.error_message || ''
139
+ )
140
+ })
141
+
142
+ const onRemoveValidationError = (): void => {
143
+ emits('remove-error-by-title', typeError)
144
+ }
145
+ </script>
146
+
147
+ <style scoped lang="scss"></style>
@@ -39,6 +39,7 @@
39
39
  <template #stackChildren>
40
40
  <common-vm-actions-common-customize-hardware-virtual-hardware-video-card-number-displays
41
41
  v-model:number-displays="numberDisplays"
42
+ :number-displays-options="props.numberDisplaysOptions"
42
43
  :disabled="props.isDisabled"
43
44
  :error-validation-fields="props.errorValidationFields"
44
45
  @remove-error-by-title="emits('remove-error-by-title', $event)"
@@ -81,6 +82,7 @@ const props = defineProps<{
81
82
  errorText: string
82
83
  isDisabled: boolean
83
84
  videoCardModelOptions: UI_I_OptionItem[]
85
+ numberDisplaysOptions: UI_I_OptionItem[]
84
86
  state?: string | number
85
87
  }>()
86
88
  const emits = defineEmits<{
@@ -52,6 +52,7 @@
52
52
  <template #stackChildren>
53
53
  <common-vm-actions-common-customize-hardware-virtual-hardware-video-card-number-displays
54
54
  v-model:number-displays="numberDisplays"
55
+ :number-displays-options="props.numberDisplaysOptions"
55
56
  :disabled="props.isDisabled"
56
57
  :error-validation-fields="props.errorValidationFields"
57
58
  @remove-error-by-title="emits('remove-error-by-title', $event)"
@@ -95,6 +96,7 @@ const props = defineProps<{
95
96
  errorText: string
96
97
  isDisabled: boolean
97
98
  videoCardModelOptions: UI_I_OptionItem[]
99
+ numberDisplaysOptions: UI_I_OptionItem[]
98
100
  state?: string | number
99
101
  }>()
100
102
  const emits = defineEmits<{
@@ -1,11 +1,14 @@
1
- // import type { UI_I_Localization } from '~/lib/models/interfaces'
2
- // import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
3
- //
4
- // export const videoCardOptionsFunc = (
5
- // localization: UI_I_Localization
6
- // ): UI_I_OptionItem[] => {
7
- // return [
8
- // { text: localization.common.autoDetectSettings, value: 0 },
9
- // { text: localization.common.specifyCustomSettings, value: 1 },
10
- // ]
11
- // }
1
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
2
+
3
+ export const numberDisplaysOptionsFunc = (): UI_I_OptionItem[] => [
4
+ { text: '1', value: '1' },
5
+ { text: '2', value: '2' },
6
+ { text: '3', value: '3' },
7
+ { text: '4', value: '4' },
8
+ // { text: '5', value: '5' },
9
+ // { text: '6', value: '6' },
10
+ // { text: '7', value: '7' },
11
+ // { text: '8', value: '8' },
12
+ // { text: '9', value: '9' },
13
+ // { text: '10', value: '10' },
14
+ ]
@@ -1,57 +1,53 @@
1
- <template>
2
- <common-vm-actions-common-customize-hardware-virtual-hardware-video-card-number-displays-new
3
- v-if="isNewView"
4
- v-model:number-displays="numberDisplays"
5
- :disabled="props.disabled"
6
- :error-text="apiError"
7
- :number-displays-options="numberDisplaysOptions"
8
- @remove-error="onRemoveValidationError"
9
- />
10
- <common-vm-actions-common-customize-hardware-virtual-hardware-video-card-number-displays-old
11
- v-else
12
- v-model:number-displays="numberDisplays"
13
- :disabled="props.disabled"
14
- :error-text="apiError"
15
- :number-displays-options="numberDisplaysOptions"
16
- @remove-error="onRemoveValidationError"
17
- />
18
- </template>
19
-
20
- <script setup lang="ts">
21
- import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
22
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
23
- import { numberDisplaysOptionsConfig } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/lib/config/options'
24
-
25
- const numberDisplays = defineModel<string>('numberDisplays', {required: true})
26
-
27
- const props = defineProps<{
28
- disabled: boolean
29
- errorValidationFields: UI_I_ErrorValidationField[]
30
- }>()
31
-
32
- const emits = defineEmits<{
33
- (event: 'remove-error-by-title', value: string): void
34
- }>()
35
-
36
- const { $store }: any = useNuxtApp()
37
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
38
-
39
- const numberDisplaysOptions = ref<UI_I_OptionItem[]>(
40
- numberDisplaysOptionsConfig
41
- )
42
-
43
- const typeError = 'video_card.displays'
44
-
45
- const apiError = computed<string>(() => {
46
- return (
47
- props.errorValidationFields?.find((message) => message.field === typeError)
48
- ?.error_message || ''
49
- )
50
- })
51
-
52
- const onRemoveValidationError = (): void => {
53
- emits('remove-error-by-title', typeError)
54
- }
55
- </script>
56
-
57
- <style scoped></style>
1
+ <template>
2
+ <common-vm-actions-common-customize-hardware-virtual-hardware-video-card-number-displays-new
3
+ v-if="isNewView"
4
+ v-model:number-displays="numberDisplays"
5
+ :disabled="props.disabled"
6
+ :error-text="apiError"
7
+ :number-displays-options="props.numberDisplaysOptions"
8
+ @remove-error="onRemoveValidationError"
9
+ />
10
+ <common-vm-actions-common-customize-hardware-virtual-hardware-video-card-number-displays-old
11
+ v-else
12
+ v-model:number-displays="numberDisplays"
13
+ :disabled="props.disabled"
14
+ :error-text="apiError"
15
+ :number-displays-options="props.numberDisplaysOptions"
16
+ @remove-error="onRemoveValidationError"
17
+ />
18
+ </template>
19
+
20
+ <script setup lang="ts">
21
+ import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
22
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
23
+
24
+ const numberDisplays = defineModel<string>('numberDisplays', { required: true })
25
+
26
+ const props = defineProps<{
27
+ numberDisplaysOptions: UI_I_OptionItem[]
28
+ disabled: boolean
29
+ errorValidationFields: UI_I_ErrorValidationField[]
30
+ }>()
31
+
32
+ const emits = defineEmits<{
33
+ (event: 'remove-error-by-title', value: string): void
34
+ }>()
35
+
36
+ const { $store }: any = useNuxtApp()
37
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
38
+
39
+ const typeError = 'video_card.displays'
40
+
41
+ const apiError = computed<string>(() => {
42
+ return (
43
+ props.errorValidationFields?.find((message) => message.field === typeError)
44
+ ?.error_message || ''
45
+ )
46
+ })
47
+
48
+ const onRemoveValidationError = (): void => {
49
+ emits('remove-error-by-title', typeError)
50
+ }
51
+ </script>
52
+
53
+ <style scoped></style>