bfg-common 1.0.14 → 1.0.16

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 (38) hide show
  1. package/components/common/vm/actions/add/Add.vue +1 -1
  2. package/components/common/vm/actions/add/FolderTreeView.vue +1 -1
  3. package/components/common/vm/actions/add/customizeHardware/CustomizeHardware.vue +1 -1
  4. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/CoresPerSocket.vue +1 -1
  5. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/Cpu.vue +371 -368
  6. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/CpuModel.vue +2 -2
  7. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/MaxCpu.vue +105 -99
  8. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/shares/Shares.vue +155 -151
  9. package/components/common/vm/actions/add/customizeHardware/virtualHardware/limit/Limit.vue +214 -210
  10. package/components/common/vm/actions/add/customizeHardware/virtualHardware/memory/Memory.vue +282 -278
  11. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/Location.vue +10 -10
  12. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +10 -6
  13. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/cache/Cache.vue +1 -1
  14. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIops.vue +7 -3
  15. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/provisioning/Provisioning.vue +2 -2
  16. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newNetwork/Location.vue +1 -1
  17. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +256 -252
  18. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterType.vue +1 -1
  19. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +6 -6
  20. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +3 -3
  21. package/components/common/vm/actions/add/customizeHardware/virtualHardware/reservation/Reservation.vue +231 -228
  22. package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/TotalVideoMemory.vue +1 -1
  23. package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/VideoCard.vue +173 -169
  24. package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +1 -1
  25. package/components/common/vm/actions/add/customizeHardware/vmoptions/Vmoptions.vue +145 -141
  26. package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/BootOptions.vue +1 -1
  27. package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +1 -1
  28. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +230 -226
  29. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/ImgCompression.vue +1 -1
  30. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/JpegCompression.vue +1 -1
  31. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +1 -1
  32. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/MouseMode.vue +1 -1
  33. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +1 -1
  34. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/type/Type.vue +1 -1
  35. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +1 -1
  36. package/components/common/vm/actions/add/select/compatibility/Compatibility.vue +6 -6
  37. package/components/common/vm/actions/add/select/os/os.vue +7 -7
  38. package/package.json +1 -1
@@ -1,169 +1,173 @@
1
- <template>
2
- <div class="hardware-cpu">
3
- <atoms-stack-block :has-children="true">
4
- <template #stackBlockKey>
5
- <div id="vm-wizard-toggle-block-video-card" class="flex-align-center">
6
- <span>{{ localization.videoCard }}: {{ videoCardModelName }}</span>
7
- <atoms-the-icon
8
- v-show="invalid"
9
- width="24px"
10
- height="24px"
11
- class="is-error tooltip-trigger"
12
- name="info"
13
- />
14
- </div>
15
- </template>
16
- <template #stackBlockContent>
17
- <atoms-tooltip-error
18
- :has-error="!!apiError"
19
- selector=".vm-wizard-video-card"
20
- @remove="onRemoveValidationError"
21
- >
22
- <template #elem>
23
- <div class="select">
24
- <select
25
- id="vm-wizard-video-card"
26
- v-model="selectedVideoCard"
27
- class="vm-wizard-video-card"
28
- @click.stop
29
- >
30
- <option
31
- v-for="(item, key) in videoCardOptions"
32
- :key="key"
33
- :value="item.value"
34
- >
35
- {{ item.text }}
36
- </option>
37
- </select>
38
- </div>
39
- </template>
40
- <template #content>{{ apiError }}</template>
41
- </atoms-tooltip-error>
42
- </template>
43
- <template #stackChildren>
44
- <common-vm-actions-add-customize-hardware-virtual-hardware-video-card-number-displays
45
- v-model:number-displays="numberDisplays"
46
- :disabled="isDisabled || props.isEdit"
47
- :error-validation-fields="props.errorValidationFields"
48
- @remove-error-by-title="emits('remove-error-by-title', $event)"
49
- />
50
- <common-vm-actions-add-customize-hardware-virtual-hardware-video-card-total-video-memory
51
- v-model:total-video-memory="totalVideoMemory"
52
- :disabled="isDisabled"
53
- :is-edit="props.isEdit"
54
- :error-validation-fields="props.errorValidationFields"
55
- @invalid="invalid = $event"
56
- @remove-error-by-title="emits('remove-error-by-title', $event)"
57
- />
58
- <!-- <templates-home-vm-actions-add-customize-hardware-virtual-hardware-video-card-graphics-->
59
- <!-- v-model:graphics="graphics"-->
60
- <!-- />-->
61
- <common-vm-actions-add-customize-hardware-virtual-hardware-video-card-model
62
- v-model:video-card-model="videoCardModel"
63
- :disabled="isDisabled || props.isEdit"
64
- />
65
- </template>
66
- </atoms-stack-block>
67
- </div>
68
- </template>
69
-
70
- <script setup lang="ts">
71
- import { UI_I_SendDataVideoCard } from '~/components/common/vm/actions/add/customizeHardware/virtualHardware/models/interfaces'
72
- import { UI_I_Localization } from '~/models/interfaces'
73
- import { UI_I_ErrorValidationField } from '~/models/store/interfaces'
74
- import { UI_I_OptionItem } from '~/components/atoms/models/interfaces'
75
- import { videoCardModelOptionsConfig } from '~/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/model/config/options'
76
- import { videoCardOptionsFunc } from '~/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/config/options'
77
-
78
- const props = defineProps<{
79
- isEdit: boolean
80
- errorValidationFields: UI_I_ErrorValidationField<string>[]
81
- videoCard?: UI_I_SendDataVideoCard
82
- }>()
83
- const emits = defineEmits<{
84
- (event: 'send-data', value: UI_I_SendDataVideoCard): void
85
- (event: 'invalid', value: boolean): void
86
- (event: 'remove-error-by-title', value: string): void
87
- }>()
88
-
89
- const localization = computed<UI_I_Localization>(() => useLocal())
90
-
91
- const selectedVideoCard = ref<number>(1)
92
- const videoCardOptions = ref<UI_I_OptionItem[]>(
93
- videoCardOptionsFunc(localization.value)
94
- )
95
-
96
- const isDisabled = computed<boolean>(() => selectedVideoCard.value === 0)
97
- watch(isDisabled, (val) => {
98
- if (!val) {
99
- return
100
- }
101
-
102
- numberDisplays.value = '1'
103
- })
104
- const numberDisplays = ref<string>('1')
105
-
106
- const totalVideoMemory = ref<number>(8)
107
- const invalid = ref<boolean>(false)
108
- watch(invalid, (val) => {
109
- emits('invalid', val)
110
- })
111
-
112
- // const graphics = ref(false)
113
-
114
- const videoCardModel = ref<string>('qxl')
115
- const videoCardModelOptions = ref<UI_I_OptionItem[]>(
116
- videoCardModelOptionsConfig
117
- )
118
- const videoCardModelName = computed<string>(
119
- () =>
120
- videoCardModelOptions.value.find(
121
- (videoCard) => videoCard.value === videoCardModel.value
122
- )?.text || ''
123
- )
124
-
125
- watch(
126
- [numberDisplays, totalVideoMemory, videoCardModel],
127
- () => {
128
- emits('send-data', {
129
- adapter: videoCardModel.value,
130
- displays: +numberDisplays.value,
131
- memory_mb: totalVideoMemory.value,
132
- })
133
- },
134
- { immediate: true }
135
- )
136
-
137
- // Добавляем данные для редактирования
138
- watch(
139
- () => props.videoCard,
140
- (newValue) => {
141
- if (!newValue) return
142
-
143
- selectedVideoCard.value = 1
144
- videoCardModel.value = newValue.adapter
145
- numberDisplays.value = '' + newValue.displays
146
- totalVideoMemory.value = newValue.memory_mb
147
- },
148
- { immediate: true }
149
- )
150
-
151
- const typeError = 'video_card.adapter'
152
-
153
- const apiError = computed<string>(() => {
154
- return (
155
- props.errorValidationFields?.find((message) => message.field === typeError)
156
- ?.error_message || ''
157
- )
158
- })
159
-
160
- const onRemoveValidationError = (): void => {
161
- emits('remove-error-by-title', typeError)
162
- }
163
- </script>
164
-
165
- <style scoped lang="scss">
166
- #network-connect {
167
- margin-right: 4px;
168
- }
169
- </style>
1
+ <template>
2
+ <div class="hardware-cpu">
3
+ <atoms-stack-block :has-children="true">
4
+ <template #stackBlockKey>
5
+ <div id="vm-wizard-toggle-block-video-card" class="flex-align-center">
6
+ <span>{{ localization.videoCard }}: {{ videoCardModelName }}</span>
7
+ <atoms-the-icon
8
+ v-show="invalid"
9
+ width="24px"
10
+ height="24px"
11
+ class="is-error tooltip-trigger"
12
+ name="info"
13
+ />
14
+ </div>
15
+ </template>
16
+ <template #stackBlockContent>
17
+ <atoms-tooltip-error
18
+ :has-error="!!apiError"
19
+ selector=".vm-wizard-video-card"
20
+ @remove="onRemoveValidationError"
21
+ >
22
+ <template #elem>
23
+ <div class="select">
24
+ <select
25
+ id="vm-wizard-video-card"
26
+ v-model="selectedVideoCard"
27
+ class="vm-wizard-video-card"
28
+ @click.stop
29
+ >
30
+ <option
31
+ v-for="(item, key) in videoCardOptions"
32
+ :key="key"
33
+ :value="item.value"
34
+ >
35
+ {{ item.text }}
36
+ </option>
37
+ </select>
38
+ </div>
39
+ </template>
40
+ <template #content>{{ apiError }}</template>
41
+ </atoms-tooltip-error>
42
+ </template>
43
+ <template #stackChildren>
44
+ <common-vm-actions-add-customize-hardware-virtual-hardware-video-card-number-displays
45
+ v-model:number-displays="numberDisplays"
46
+ :disabled="isDisabled || props.isEdit"
47
+ :error-validation-fields="props.errorValidationFields"
48
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
49
+ />
50
+ <common-vm-actions-add-customize-hardware-virtual-hardware-video-card-total-video-memory
51
+ v-model:total-video-memory="totalVideoMemory"
52
+ :disabled="isDisabled"
53
+ :is-edit="props.isEdit"
54
+ :error-validation-fields="props.errorValidationFields"
55
+ @invalid="invalid = $event"
56
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
57
+ />
58
+ <!-- <templates-home-vm-actions-add-customize-hardware-virtual-hardware-video-card-graphics-->
59
+ <!-- v-model:graphics="graphics"-->
60
+ <!-- />-->
61
+ <common-vm-actions-add-customize-hardware-virtual-hardware-video-card-model
62
+ v-model:video-card-model="videoCardModel"
63
+ :disabled="isDisabled || props.isEdit"
64
+ />
65
+ </template>
66
+ </atoms-stack-block>
67
+ </div>
68
+ </template>
69
+
70
+ <script setup lang="ts">
71
+ import { UI_I_SendDataVideoCard } from '~/components/common/vm/actions/add/customizeHardware/virtualHardware/models/interfaces'
72
+ import { UI_I_Localization } from '~/models/interfaces'
73
+ import { UI_I_ErrorValidationField } from '~/models/store/interfaces'
74
+ import { UI_I_OptionItem } from '~/components/atoms/models/interfaces'
75
+ import { videoCardModelOptionsConfig } from '~/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/model/config/options'
76
+ import { videoCardOptionsFunc } from '~/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/config/options'
77
+
78
+ const props = defineProps<{
79
+ isEdit: boolean
80
+ errorValidationFields: UI_I_ErrorValidationField[]
81
+ videoCard?: UI_I_SendDataVideoCard
82
+ }>()
83
+ const emits = defineEmits<{
84
+ (event: 'send-data', value: UI_I_SendDataVideoCard): void
85
+ (event: 'invalid', value: boolean): void
86
+ (event: 'remove-error-by-title', value: string): void
87
+ }>()
88
+
89
+ const localization = computed<UI_I_Localization>(() => useLocal())
90
+
91
+ const selectedVideoCard = ref<number>(1)
92
+ const videoCardOptions = ref<UI_I_OptionItem[]>(
93
+ videoCardOptionsFunc(localization.value)
94
+ )
95
+
96
+ const isDisabled = computed<boolean>(() => selectedVideoCard.value === 0)
97
+ watch(isDisabled, (val) => {
98
+ if (!val) {
99
+ return
100
+ }
101
+
102
+ numberDisplays.value = '1'
103
+ })
104
+ const numberDisplays = ref<string>('1')
105
+
106
+ const totalVideoMemory = ref<number>(8)
107
+ const invalid = ref<boolean>(false)
108
+ watch(
109
+ invalid,
110
+ (newValue) => {
111
+ emits('invalid', newValue)
112
+ },
113
+ { immediate: true }
114
+ )
115
+
116
+ // const graphics = ref(false)
117
+
118
+ const videoCardModel = ref<string>('qxl')
119
+ const videoCardModelOptions = ref<UI_I_OptionItem[]>(
120
+ videoCardModelOptionsConfig
121
+ )
122
+ const videoCardModelName = computed<string>(
123
+ () =>
124
+ videoCardModelOptions.value.find(
125
+ (videoCard) => videoCard.value === videoCardModel.value
126
+ )?.text || ''
127
+ )
128
+
129
+ watch(
130
+ [numberDisplays, totalVideoMemory, videoCardModel],
131
+ () => {
132
+ emits('send-data', {
133
+ adapter: videoCardModel.value,
134
+ displays: +numberDisplays.value,
135
+ memory_mb: totalVideoMemory.value,
136
+ })
137
+ },
138
+ { immediate: true }
139
+ )
140
+
141
+ // Добавляем данные для редактирования
142
+ watch(
143
+ () => props.videoCard,
144
+ (newValue) => {
145
+ if (!newValue) return
146
+
147
+ selectedVideoCard.value = 1
148
+ videoCardModel.value = newValue.adapter
149
+ numberDisplays.value = '' + newValue.displays
150
+ totalVideoMemory.value = newValue.memory_mb
151
+ },
152
+ { immediate: true }
153
+ )
154
+
155
+ const typeError = 'video_card.adapter'
156
+
157
+ const apiError = computed<string>(() => {
158
+ return (
159
+ props.errorValidationFields?.find((message) => message.field === typeError)
160
+ ?.error_message || ''
161
+ )
162
+ })
163
+
164
+ const onRemoveValidationError = (): void => {
165
+ emits('remove-error-by-title', typeError)
166
+ }
167
+ </script>
168
+
169
+ <style scoped lang="scss">
170
+ #network-connect {
171
+ margin-right: 4px;
172
+ }
173
+ </style>
@@ -45,7 +45,7 @@ const localization = computed<UI_I_Localization>(() => useLocal())
45
45
  const props = defineProps<{
46
46
  numberDisplays: string
47
47
  disabled: boolean
48
- errorValidationFields: UI_I_ErrorValidationField<string>[]
48
+ errorValidationFields: UI_I_ErrorValidationField[]
49
49
  }>()
50
50
  const emits = defineEmits<{
51
51
  (event: 'update:number-displays', value: string): void
@@ -1,141 +1,145 @@
1
- <template>
2
- <div class="vm-options">
3
- <div class="clr-component">
4
- <div class="stack-view">
5
- <common-vm-actions-add-customize-hardware-vmoptions-general-options
6
- v-model:vm-name="vmNameLocal"
7
- :guest-machine-type="props.guestMachineType"
8
- :guest-os-family="props.guestOsFamily"
9
- :guest-os-version="props.guestOsVersion"
10
- :is-edit="props.isEdit"
11
- />
12
- <common-vm-actions-add-customize-hardware-vmoptions-remote-console-options
13
- :error-validation-fields="props.errorValidationFields"
14
- :remote-console-options="props.options?.remote_console"
15
- @send-data="sendDataRemoteConsoleOptionsMethod"
16
- @invalid="remoteConsoleOptionsInvalid = $event"
17
- @remove-error-by-title="emits('remove-error-by-title', $event)"
18
- />
19
- <common-vm-actions-add-customize-hardware-vmoptions-tools
20
- :tools="props.options?.guest_tools?.enabled"
21
- @send-data="sendDataToolsMethod"
22
- />
23
- <common-vm-actions-add-customize-hardware-vmoptions-boot-options
24
- :error-validation-fields="props.errorValidationFields"
25
- :hard-disks="props.hardDisks"
26
- :cd-dvd-drives="props.cdDvdDrives"
27
- :networks="props.networks"
28
- :boot-options="props.options?.boot_options"
29
- :is-edit="props.isEdit"
30
- @change-boot-order="changeBootOrder"
31
- @send-data="sendDataBootOptionsMethod"
32
- @remove-error-by-title="emits('remove-error-by-title', $event)"
33
- />
34
- </div>
35
- </div>
36
- </div>
37
- </template>
38
-
39
- <script setup lang="ts">
40
- import {
41
- UI_I_SendDataRemoteConsoleOptions,
42
- UI_I_SendDataTools,
43
- UI_I_SendDataBootOptions,
44
- UI_I_SendDataVmoptions,
45
- } from '~/components/common/vm/actions/add/customizeHardware/vmoptions/models/interfaces'
46
- import {
47
- UI_I_SendDataNewCdDvdDrive,
48
- UI_I_SendDataNewHardDisk,
49
- UI_I_SendDataNewNetwork,
50
- } from '~/components/common/vm/actions/add/customizeHardware/virtualHardware/models/interfaces'
51
- import { UI_I_Localization } from '~/models/interfaces'
52
- import { UI_I_ErrorValidationField } from '~/models/store/interfaces'
53
- import { UI_I_OptionItem } from '~/components/atoms/models/interfaces'
54
- import { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/models/types'
55
-
56
- const props = defineProps<{
57
- vmName: string
58
- guestMachineType: UI_I_OptionItem | null
59
- guestOsFamily: UI_I_OptionItem | null
60
- guestOsVersion: UI_I_OptionItem | null
61
- hardDisks: UI_I_SendDataNewHardDisk[] | null
62
- cdDvdDrives: UI_I_SendDataNewCdDvdDrive[] | null
63
- networks: UI_I_SendDataNewNetwork[] | null
64
- isEdit: boolean
65
- errorValidationFields: UI_I_ErrorValidationField<string>[]
66
- options?: UI_I_SendDataVmoptions
67
- }>()
68
- const emits = defineEmits<{
69
- (
70
- event: 'change-boot-order',
71
- value: [
72
- UI_I_SendDataNewHardDisk[],
73
- UI_I_SendDataNewCdDvdDrive[],
74
- UI_I_SendDataNewNetwork[]
75
- ]
76
- ): void
77
- (event: 'send-data', value: UI_I_SendDataVmoptions): void
78
- (event: 'invalid', value: string[]): void
79
- (event: 'update:vm-name', value: string): void
80
- (event: 'remove-error-by-title', value: string): void
81
- }>()
82
-
83
- const vmNameLocal = computed<string>({
84
- get() {
85
- return props.vmName
86
- },
87
- set(newValue) {
88
- emits('update:vm-name', newValue)
89
- },
90
- })
91
-
92
- const localization = computed<UI_I_Localization>(() => useLocal())
93
-
94
- const sendDataRemoteConsoleOptions =
95
- ref<UI_I_SendDataRemoteConsoleOptions | null>(null)
96
- const sendDataRemoteConsoleOptionsMethod = (
97
- data: UI_I_SendDataRemoteConsoleOptions
98
- ): void => {
99
- sendDataRemoteConsoleOptions.value = data
100
- sendData()
101
- }
102
-
103
- const sendDataTools = ref<UI_I_SendDataTools | null>(null)
104
- const sendDataToolsMethod = (data: UI_I_SendDataTools): void => {
105
- sendDataTools.value = data
106
- sendData()
107
- }
108
-
109
- const sendDataBootOptions = ref<UI_I_SendDataBootOptions | null>(null)
110
- const sendDataBootOptionsMethod = (data: UI_I_SendDataBootOptions): void => {
111
- sendDataBootOptions.value = data
112
- sendData()
113
- }
114
-
115
- const changeBootOrder = (data: UI_T_ChangeBootOrder): void => {
116
- emits('change-boot-order', data)
117
- }
118
-
119
- const sendData = (): void => {
120
- emits('send-data', {
121
- remote_console: sendDataRemoteConsoleOptions.value,
122
- guest_tools: sendDataTools.value,
123
- boot_options: sendDataBootOptions.value,
124
- })
125
- }
126
-
127
- const remoteConsoleOptionsInvalid = ref<boolean>(false)
128
-
129
- watch(remoteConsoleOptionsInvalid, (val) => {
130
- const remoteConsoleOptions = val
131
- ? localization.value.remoteConsoleOptions
132
- : ''
133
- emits('invalid', [remoteConsoleOptions])
134
- })
135
- </script>
136
-
137
- <style scoped lang="scss">
138
- .clr-component {
139
- padding-top: 36px;
140
- }
141
- </style>
1
+ <template>
2
+ <div class="vm-options">
3
+ <div class="clr-component">
4
+ <div class="stack-view">
5
+ <common-vm-actions-add-customize-hardware-vmoptions-general-options
6
+ v-model:vm-name="vmNameLocal"
7
+ :guest-machine-type="props.guestMachineType"
8
+ :guest-os-family="props.guestOsFamily"
9
+ :guest-os-version="props.guestOsVersion"
10
+ :is-edit="props.isEdit"
11
+ />
12
+ <common-vm-actions-add-customize-hardware-vmoptions-remote-console-options
13
+ :error-validation-fields="props.errorValidationFields"
14
+ :remote-console-options="props.options?.remote_console"
15
+ @send-data="sendDataRemoteConsoleOptionsMethod"
16
+ @invalid="remoteConsoleOptionsInvalid = $event"
17
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
18
+ />
19
+ <common-vm-actions-add-customize-hardware-vmoptions-tools
20
+ :tools="props.options?.guest_tools?.enabled"
21
+ @send-data="sendDataToolsMethod"
22
+ />
23
+ <common-vm-actions-add-customize-hardware-vmoptions-boot-options
24
+ :error-validation-fields="props.errorValidationFields"
25
+ :hard-disks="props.hardDisks"
26
+ :cd-dvd-drives="props.cdDvdDrives"
27
+ :networks="props.networks"
28
+ :boot-options="props.options?.boot_options"
29
+ :is-edit="props.isEdit"
30
+ @change-boot-order="changeBootOrder"
31
+ @send-data="sendDataBootOptionsMethod"
32
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
33
+ />
34
+ </div>
35
+ </div>
36
+ </div>
37
+ </template>
38
+
39
+ <script setup lang="ts">
40
+ import {
41
+ UI_I_SendDataRemoteConsoleOptions,
42
+ UI_I_SendDataTools,
43
+ UI_I_SendDataBootOptions,
44
+ UI_I_SendDataVmoptions,
45
+ } from '~/components/common/vm/actions/add/customizeHardware/vmoptions/models/interfaces'
46
+ import {
47
+ UI_I_SendDataNewCdDvdDrive,
48
+ UI_I_SendDataNewHardDisk,
49
+ UI_I_SendDataNewNetwork,
50
+ } from '~/components/common/vm/actions/add/customizeHardware/virtualHardware/models/interfaces'
51
+ import { UI_I_Localization } from '~/models/interfaces'
52
+ import { UI_I_ErrorValidationField } from '~/models/store/interfaces'
53
+ import { UI_I_OptionItem } from '~/components/atoms/models/interfaces'
54
+ import { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/models/types'
55
+
56
+ const props = defineProps<{
57
+ vmName: string
58
+ guestMachineType: UI_I_OptionItem | null
59
+ guestOsFamily: UI_I_OptionItem | null
60
+ guestOsVersion: UI_I_OptionItem | null
61
+ hardDisks: UI_I_SendDataNewHardDisk[] | null
62
+ cdDvdDrives: UI_I_SendDataNewCdDvdDrive[] | null
63
+ networks: UI_I_SendDataNewNetwork[] | null
64
+ isEdit: boolean
65
+ errorValidationFields: UI_I_ErrorValidationField[]
66
+ options?: UI_I_SendDataVmoptions
67
+ }>()
68
+ const emits = defineEmits<{
69
+ (
70
+ event: 'change-boot-order',
71
+ value: [
72
+ UI_I_SendDataNewHardDisk[],
73
+ UI_I_SendDataNewCdDvdDrive[],
74
+ UI_I_SendDataNewNetwork[]
75
+ ]
76
+ ): void
77
+ (event: 'send-data', value: UI_I_SendDataVmoptions): void
78
+ (event: 'invalid', value: string[]): void
79
+ (event: 'update:vm-name', value: string): void
80
+ (event: 'remove-error-by-title', value: string): void
81
+ }>()
82
+
83
+ const vmNameLocal = computed<string>({
84
+ get() {
85
+ return props.vmName
86
+ },
87
+ set(newValue) {
88
+ emits('update:vm-name', newValue)
89
+ },
90
+ })
91
+
92
+ const localization = computed<UI_I_Localization>(() => useLocal())
93
+
94
+ const sendDataRemoteConsoleOptions =
95
+ ref<UI_I_SendDataRemoteConsoleOptions | null>(null)
96
+ const sendDataRemoteConsoleOptionsMethod = (
97
+ data: UI_I_SendDataRemoteConsoleOptions
98
+ ): void => {
99
+ sendDataRemoteConsoleOptions.value = data
100
+ sendData()
101
+ }
102
+
103
+ const sendDataTools = ref<UI_I_SendDataTools | null>(null)
104
+ const sendDataToolsMethod = (data: UI_I_SendDataTools): void => {
105
+ sendDataTools.value = data
106
+ sendData()
107
+ }
108
+
109
+ const sendDataBootOptions = ref<UI_I_SendDataBootOptions | null>(null)
110
+ const sendDataBootOptionsMethod = (data: UI_I_SendDataBootOptions): void => {
111
+ sendDataBootOptions.value = data
112
+ sendData()
113
+ }
114
+
115
+ const changeBootOrder = (data: UI_T_ChangeBootOrder): void => {
116
+ emits('change-boot-order', data)
117
+ }
118
+
119
+ const sendData = (): void => {
120
+ emits('send-data', {
121
+ remote_console: sendDataRemoteConsoleOptions.value,
122
+ guest_tools: sendDataTools.value,
123
+ boot_options: sendDataBootOptions.value,
124
+ })
125
+ }
126
+
127
+ const remoteConsoleOptionsInvalid = ref<boolean>(false)
128
+
129
+ watch(
130
+ remoteConsoleOptionsInvalid,
131
+ (newValue) => {
132
+ const remoteConsoleOptions = newValue
133
+ ? localization.value.remoteConsoleOptions
134
+ : ''
135
+ emits('invalid', [remoteConsoleOptions])
136
+ },
137
+ { immediate: true }
138
+ )
139
+ </script>
140
+
141
+ <style scoped lang="scss">
142
+ .clr-component {
143
+ padding-top: 36px;
144
+ }
145
+ </style>
@@ -61,7 +61,7 @@ const emits = defineEmits<{
61
61
  const localization = computed<UI_I_Localization>(() => useLocal())
62
62
 
63
63
  const props = defineProps<{
64
- errorValidationFields: UI_I_ErrorValidationField<string>[]
64
+ errorValidationFields: UI_I_ErrorValidationField[]
65
65
  hardDisks: UI_I_SendDataNewHardDisk[] | null
66
66
  cdDvdDrives: UI_I_SendDataNewCdDvdDrive[] | null
67
67
  networks: UI_I_SendDataNewNetwork[] | null
@@ -45,7 +45,7 @@ const localization = computed<UI_I_Localization>(() => useLocal())
45
45
 
46
46
  const props = defineProps<{
47
47
  firmware: string
48
- errorValidationFields: UI_I_ErrorValidationField<string>[]
48
+ errorValidationFields: UI_I_ErrorValidationField[]
49
49
  isEdit: boolean
50
50
  }>()
51
51
  const emits = defineEmits<{