bfg-common 1.5.262 → 1.5.264

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