bfg-common 1.5.572 → 1.5.574

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 (57) hide show
  1. package/components/common/vm/actions/add/Add.vue +46 -120
  2. package/components/common/vm/actions/add/New.vue +16 -54
  3. package/components/common/vm/actions/add/Old.vue +16 -55
  4. package/components/common/vm/actions/clone/Clone.vue +43 -115
  5. package/components/common/vm/actions/clone/new/New.vue +14 -50
  6. package/components/common/vm/actions/clone/old/Old.vue +16 -52
  7. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +14 -81
  8. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +7 -56
  9. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +8 -56
  10. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +211 -206
  11. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +225 -120
  12. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +220 -118
  13. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +66 -53
  14. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +139 -159
  15. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +8 -15
  16. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuOld.vue +8 -13
  17. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +62 -75
  18. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +241 -149
  19. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +3 -4
  20. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +2 -3
  21. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +62 -100
  22. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +6 -17
  23. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +6 -3
  24. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerOld.vue +6 -3
  25. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +17 -39
  26. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +6 -5
  27. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +6 -5
  28. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/lib/config/options.ts +4 -4
  29. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +6 -93
  30. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +8 -60
  31. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsOld.vue +8 -58
  32. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +5 -69
  33. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +12 -32
  34. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsOld.vue +12 -33
  35. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +114 -132
  36. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +41 -6
  37. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderOld.vue +44 -6
  38. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +8 -23
  39. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +21 -31
  40. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsOld.vue +26 -34
  41. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +28 -34
  42. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/Old.vue +24 -30
  43. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +8 -112
  44. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +3 -3
  45. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{KeymapNew.vue → New.vue} +6 -6
  46. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{KeymapOld.vue → Old.vue} +5 -5
  47. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +6 -7
  48. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +42 -60
  49. package/components/common/vm/actions/common/lib/models/interfaces.ts +58 -25
  50. package/components/common/vm/actions/editSettings/EditSettings.vue +32 -90
  51. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +14 -41
  52. package/components/common/vm/actions/editSettings/new/New.vue +14 -41
  53. package/components/common/vm/actions/lib/models/interfaces.ts +4 -29
  54. package/components/common/vm/actions/lib/utils.ts +64 -36
  55. package/package.json +1 -1
  56. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{PasswordNew.vue → New.vue} +0 -0
  57. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{PasswordOld.vue → Old.vue} +0 -0
@@ -15,42 +15,44 @@
15
15
  </div>
16
16
  </template>
17
17
  <template #stackBlockContent>
18
- <div v-show="!blockIsOpen" data-id="header-vm-name">{{ props.nameLabel }}: {{ vmName }}</div>
18
+ <div v-show="!blockIsOpen" data-id="header-vm-name">
19
+ {{ props.nameLabel }}: {{ model.name }}
20
+ </div>
19
21
  </template>
20
22
  <template #stackChildren>
21
23
  <atoms-stack-block
22
- :has-children="false"
23
- test-id="general-options-vm-name-stack-block"
24
+ :has-children="false"
25
+ test-id="general-options-vm-name-stack-block"
24
26
  >
25
27
  <template #stackBlockKey>
26
28
  {{ props.nameLabel }}
27
29
  </template>
28
30
  <template #stackBlockContent>
29
- <span data-id="vm-name">{{ vmName }}</span>
30
- <!-- <span v-if="!props.isEdit">{{ vmName }}</span>-->
31
+ <span data-id="vm-name">{{ model.name }}</span>
32
+ <!-- <span v-if="!props.isEdit">{{ model.name }}</span>-->
31
33
  <!-- <input-->
32
34
  <!-- v-else-->
33
35
  <!-- id="general-option-vm-name"-->
34
- <!-- v-models="vmName"-->
36
+ <!-- v-models="model.name"-->
35
37
  <!-- type="text"-->
36
38
  <!-- />-->
37
39
  </template>
38
40
  </atoms-stack-block>
39
41
 
40
42
  <atoms-stack-block
41
- :has-children="false"
42
- test-id="general-options-machine-type-stack-block"
43
+ :has-children="false"
44
+ test-id="general-options-machine-type-stack-block"
43
45
  >
44
46
  <template #stackBlockKey>
45
47
  {{ localization.common.machineType }}
46
48
  </template>
47
49
  <template #stackBlockContent>
48
50
  <select
49
- v-if="guestMachineType"
51
+ v-if="model.machine_type"
50
52
  id="guest-machine-type-select"
51
- v-model="guestMachineType"
53
+ v-model="model.machine_type"
52
54
  :disabled="props.isDisabled"
53
- :data-value="guestMachineType?.value"
55
+ :data-value="model.machine_type"
54
56
  data-id="guest-machine-type-select"
55
57
  >
56
58
  <option
@@ -66,19 +68,19 @@
66
68
  </atoms-stack-block>
67
69
 
68
70
  <atoms-stack-block
69
- :has-children="false"
70
- test-id="general-options-guest-os-family-stack-block"
71
+ :has-children="false"
72
+ test-id="general-options-guest-os-family-stack-block"
71
73
  >
72
74
  <template #stackBlockKey>
73
75
  {{ localization.common.guestOsFamily }}
74
76
  </template>
75
77
  <template #stackBlockContent>
76
78
  <select
77
- v-if="guestOsFamily"
79
+ v-if="model.guest_os_family"
78
80
  id="guest-os-family-select"
79
- v-model="guestOsFamily"
81
+ v-model="model.guest_os_family"
80
82
  :disabled="props.isDisabled"
81
- :data-value="guestOsFamily?.value"
83
+ :data-value="model.guest_os_family"
82
84
  data-id="guest-os-family-select"
83
85
  @change="emits('change-os')"
84
86
  >
@@ -95,19 +97,19 @@
95
97
  </atoms-stack-block>
96
98
 
97
99
  <atoms-stack-block
98
- :has-children="false"
99
- test-id="general-options-guest-os-version-stack-block"
100
+ :has-children="false"
101
+ test-id="general-options-guest-os-version-stack-block"
100
102
  >
101
103
  <template #stackBlockKey>
102
104
  {{ localization.common.guestOsVersion }}
103
105
  </template>
104
106
  <template #stackBlockContent>
105
107
  <select
106
- v-if="guestOsVersion"
108
+ v-if="model.guest_os_version"
107
109
  id="guest-os-version-select"
108
- v-model="guestOsVersion"
110
+ v-model="model.guest_os_version"
109
111
  :disabled="props.isDisabled"
110
- :data-value="guestOsVersion?.value"
112
+ :data-value="model.guest_os_version"
111
113
  data-id="guest-os-version-select"
112
114
  >
113
115
  <option
@@ -129,21 +131,11 @@
129
131
  <script setup lang="ts">
130
132
  import type { UI_I_Localization } from '~/lib/models/interfaces'
131
133
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
134
+ import type { UI_I_CreateVmData } from '~/components/common/vm/actions/common/lib/models/interfaces'
135
+
136
+ const model = defineModel<UI_I_CreateVmData>({ required: true })
132
137
 
133
138
  const blockIsOpen = defineModel<boolean>('blockIsOpen', { required: true })
134
- const vmName = defineModel<string>('vmName', { required: true })
135
- const guestMachineType = defineModel<UI_I_OptionItem | null>(
136
- 'guestMachineType',
137
- {
138
- required: true,
139
- }
140
- )
141
- const guestOsFamily = defineModel<UI_I_OptionItem | null>('guestOsFamily', {
142
- required: true,
143
- })
144
- const guestOsVersion = defineModel<UI_I_OptionItem | null>('guestOsVersion', {
145
- required: true,
146
- })
147
139
 
148
140
  const props = withDefaults(
149
141
  defineProps<{
@@ -25,111 +25,105 @@
25
25
  <!-- TODO возможно вернем, НЕ УДАЛЯТЬ-->
26
26
 
27
27
  <!-- <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-type-->
28
- <!-- v-models:remote-console-type="remoteConsoleType"-->
28
+ <!-- v-models:remote-console-type="model.type"-->
29
29
  <!-- :error-validation-fields="props.errorValidationFields"-->
30
30
  <!-- :disabled="isDisabled"-->
31
31
  <!-- @input="changeRemoteConsoleType"-->
32
32
  <!-- @remove-error-by-title="emits('remove-error-by-title', $event)"-->
33
33
  <!-- />-->
34
34
  <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-keymap
35
- v-model:keymap="keymap"
35
+ v-model="model.keymap"
36
36
  :disabled="props.isDisabled"
37
37
  />
38
38
  <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-password
39
- v-model:password="password"
39
+ v-model="model.password"
40
40
  :disabled="props.isDisabled"
41
41
  @valid="passwordIsValid = $event"
42
42
  />
43
43
  <!-- <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-power-control-->
44
- <!-- v-if="remoteConsoleType === 'vnc'"-->
44
+ <!-- v-if="model.type === 'vnc'"-->
45
45
  <!-- v-models:power-control="powerControl"-->
46
46
  <!-- />-->
47
47
  <!-- <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-share-policy-->
48
- <!-- v-if="remoteConsoleType === 'vnc'"-->
48
+ <!-- v-if="model.type === 'vnc'"-->
49
49
  <!-- v-models:share-policy="sharePolicy"-->
50
50
  <!-- />-->
51
51
  <!-- TODO возможно вернем, НЕ УДАЛЯТЬ-->
52
52
  <!-- <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-img-compression-->
53
- <!-- v-if="remoteConsoleType === 'spice'"-->
53
+ <!-- v-if="model.type === 'spice'"-->
54
54
  <!-- v-models:img-compression="imgCompression"-->
55
55
  <!-- :error-validation-fields="props.errorValidationFields"-->
56
56
  <!-- :disabled="isDisabled"-->
57
57
  <!-- @remove-error-by-title="emits('remove-error-by-title', $event)"-->
58
58
  <!-- />-->
59
59
  <!-- <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-jpeg-compression-->
60
- <!-- v-if="remoteConsoleType === 'spice'"-->
60
+ <!-- v-if="model.type === 'spice'"-->
61
61
  <!-- v-models:jpeg-compression="jpegCompression"-->
62
62
  <!-- :error-validation-fields="props.errorValidationFields"-->
63
63
  <!-- :disabled="isDisabled"-->
64
64
  <!-- @remove-error-by-title="emits('remove-error-by-title', $event)"-->
65
65
  <!-- />-->
66
66
  <!-- <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-zlib-compression-->
67
- <!-- v-if="remoteConsoleType === 'spice'"-->
67
+ <!-- v-if="model.type === 'spice'"-->
68
68
  <!-- v-models:zlib-compression="zlibCompression"-->
69
69
  <!-- :error-validation-fields="props.errorValidationFields"-->
70
70
  <!-- :disabled="isDisabled"-->
71
71
  <!-- @remove-error-by-title="emits('remove-error-by-title', $event)"-->
72
72
  <!-- />-->
73
73
  <!-- <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-playback-compression-->
74
- <!-- v-if="remoteConsoleType === 'spice'"-->
74
+ <!-- v-if="model.type === 'spice'"-->
75
75
  <!-- :disabled="isDisabled"-->
76
76
  <!-- v-models:playback-compression="playbackCompression"-->
77
77
  <!-- />-->
78
78
  <!-- <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-streaming-mode-->
79
- <!-- v-if="remoteConsoleType === 'spice'"-->
79
+ <!-- v-if="model.type === 'spice'"-->
80
80
  <!-- v-models:streaming-mode="streamingMode"-->
81
81
  <!-- :error-validation-fields="props.errorValidationFields"-->
82
82
  <!-- :disabled="isDisabled"-->
83
83
  <!-- @remove-error-by-title="emits('remove-error-by-title', $event)"-->
84
84
  <!-- />-->
85
85
  <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-copy-paste
86
- v-if="remoteConsoleType === 'spice'"
87
- v-model:copy-paste="copyPaste"
86
+ v-if="model.type === 'spice'"
87
+ v-model:copy-paste="model.spice.clipboard"
88
88
  :disabled="props.isDisabled"
89
89
  />
90
90
  <!-- TODO возможно вернем, НЕ УДАЛЯТЬ-->
91
91
  <!-- <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-mouse-mode-->
92
- <!-- v-if="remoteConsoleType === 'spice'"-->
92
+ <!-- v-if="model.type === 'spice'"-->
93
93
  <!-- v-models:mouse-mode="mouseMode"-->
94
94
  <!-- />-->
95
95
  <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-file-transfer
96
- v-if="remoteConsoleType === 'spice'"
97
- v-model:file-transfer="fileTransfer"
96
+ v-if="model.type === 'spice'"
97
+ v-model:file-transfer="model.spice.file_transfer"
98
98
  :disabled="props.isDisabled"
99
99
  />
100
100
  <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-usb-redirection
101
- v-if="remoteConsoleType === 'spice'"
101
+ v-if="model.type === 'spice'"
102
102
  v-model:usb-redirection="usbRedirection"
103
103
  :disabled="props.isDisabled"
104
104
  />
105
- <!-- TODO 700-->
106
- <!-- <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-folder-sharing-->
107
- <!-- v-if="remoteConsoleType === 'spice'"-->
108
- <!-- v-model:folder-sharing="folderSharing"-->
109
- <!-- :disabled="props.isDisabled"-->
110
- <!-- />-->
105
+ <!-- TODO 700-->
106
+ <!-- <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-folder-sharing-->
107
+ <!-- v-if="model.type === 'spice'"-->
108
+ <!-- v-model:folder-sharing="model.spice.folder_sharing"-->
109
+ <!-- :disabled="props.isDisabled"-->
110
+ <!-- />-->
111
111
  </template>
112
112
  </ui-stack-block>
113
113
  </template>
114
114
 
115
115
  <script setup lang="ts">
116
116
  import type { UI_I_Localization } from '~/lib/models/interfaces'
117
+ import type { UI_I_CreateVmData } from '~/components/common/vm/actions/common/lib/models/interfaces'
118
+
119
+ const model = defineModel<UI_I_CreateVmData['options']['remote_console']>({ required: true })
117
120
 
118
- const keymap = defineModel<string>('keymap', { required: true })
119
- const password = defineModel<string>('password', { required: true })
120
121
  const passwordIsValid = defineModel<boolean>('passwordIsValid', {
121
122
  required: true,
122
123
  })
123
- const remoteConsoleType = defineModel<string>('remoteConsoleType', {
124
- required: true,
125
- })
126
- const copyPaste = defineModel<boolean>('copyPaste', { required: true })
127
- const fileTransfer = defineModel<boolean>('fileTransfer', { required: true })
128
- const usbRedirection = defineModel<number>('usbRedirection', {
129
- required: true,
130
- })
131
- // TODO 700
132
- // const folderSharing = defineModel<boolean>('folderSharing', { required: true })
124
+
125
+ // TODO use from model
126
+ const usbRedirection = ref<number>(3)
133
127
 
134
128
  const props = defineProps<{
135
129
  // TODO возможно вернем, НЕ УДАЛЯТЬ
@@ -21,87 +21,87 @@
21
21
  <!-- TODO возможно вернем, НЕ УДАЛЯТЬ-->
22
22
 
23
23
  <!-- <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-type-->
24
- <!-- v-models:remote-console-type="remoteConsoleType"-->
24
+ <!-- v-models:remote-console-type="model.type"-->
25
25
  <!-- :error-validation-fields="props.errorValidationFields"-->
26
26
  <!-- :disabled="props.isDisabled"-->
27
27
  <!-- @input="changeRemoteConsoleType"-->
28
28
  <!-- @remove-error-by-title="emits('remove-error-by-title', $event)"-->
29
29
  <!-- />-->
30
30
  <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-keymap
31
- v-model:keymap="keymap"
31
+ v-model="model.keymap"
32
32
  :disabled="props.isDisabled"
33
33
  />
34
34
  <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-password
35
- v-model:password="password"
35
+ v-model="model.password"
36
36
  :disabled="props.isDisabled"
37
37
  @valid="passwordIsValid = $event"
38
38
  />
39
39
  <!-- <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-power-control-->
40
- <!-- v-if="remoteConsoleType === 'vnc'"-->
40
+ <!-- v-if="model.type === 'vnc'"-->
41
41
  <!-- v-models:power-control="powerControl"-->
42
42
  <!-- />-->
43
43
  <!-- <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-share-policy-->
44
- <!-- v-if="remoteConsoleType === 'vnc'"-->
44
+ <!-- v-if="model.type === 'vnc'"-->
45
45
  <!-- v-models:share-policy="sharePolicy"-->
46
46
  <!-- />-->
47
47
  <!-- TODO возможно вернем, НЕ УДАЛЯТЬ-->
48
48
  <!-- <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-img-compression-->
49
- <!-- v-if="remoteConsoleType === 'spice'"-->
49
+ <!-- v-if="model.type === 'spice'"-->
50
50
  <!-- v-models:img-compression="imgCompression"-->
51
51
  <!-- :error-validation-fields="props.errorValidationFields"-->
52
52
  <!-- :disabled="props.isDisabled"-->
53
53
  <!-- @remove-error-by-title="emits('remove-error-by-title', $event)"-->
54
54
  <!-- />-->
55
55
  <!-- <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-jpeg-compression-->
56
- <!-- v-if="remoteConsoleType === 'spice'"-->
56
+ <!-- v-if="model.type === 'spice'"-->
57
57
  <!-- v-models:jpeg-compression="jpegCompression"-->
58
58
  <!-- :error-validation-fields="props.errorValidationFields"-->
59
59
  <!-- :disabled="props.isDisabled"-->
60
60
  <!-- @remove-error-by-title="emits('remove-error-by-title', $event)"-->
61
61
  <!-- />-->
62
62
  <!-- <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-zlib-compression-->
63
- <!-- v-if="remoteConsoleType === 'spice'"-->
63
+ <!-- v-if="model.type === 'spice'"-->
64
64
  <!-- v-models:zlib-compression="zlibCompression"-->
65
65
  <!-- :error-validation-fields="props.errorValidationFields"-->
66
66
  <!-- :disabled="props.isDisabled"-->
67
67
  <!-- @remove-error-by-title="emits('remove-error-by-title', $event)"-->
68
68
  <!-- />-->
69
69
  <!-- <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-playback-compression-->
70
- <!-- v-if="remoteConsoleType === 'spice'"-->
70
+ <!-- v-if="model.type === 'spice'"-->
71
71
  <!-- :disabled="props.isDisabled"-->
72
72
  <!-- v-models:playback-compression="playbackCompression"-->
73
73
  <!-- />-->
74
74
  <!-- <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-streaming-mode-->
75
- <!-- v-if="remoteConsoleType === 'spice'"-->
75
+ <!-- v-if="model.type === 'spice'"-->
76
76
  <!-- v-models:streaming-mode="streamingMode"-->
77
77
  <!-- :error-validation-fields="props.errorValidationFields"-->
78
78
  <!-- :disabled="props.isDisabled"-->
79
79
  <!-- @remove-error-by-title="emits('remove-error-by-title', $event)"-->
80
80
  <!-- />-->
81
81
  <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-copy-paste
82
- v-if="remoteConsoleType === 'spice'"
83
- v-model:copy-paste="copyPaste"
82
+ v-if="model.type === 'spice'"
83
+ v-model:copy-paste="model.spice.clipboard"
84
84
  :disabled="props.isDisabled"
85
85
  />
86
86
  <!-- TODO возможно вернем, НЕ УДАЛЯТЬ-->
87
87
  <!-- <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-mouse-mode-->
88
- <!-- v-if="remoteConsoleType === 'spice'"-->
88
+ <!-- v-if="model.type === 'spice'"-->
89
89
  <!-- v-models:mouse-mode="mouseMode"-->
90
90
  <!-- />-->
91
91
  <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-file-transfer
92
- v-if="remoteConsoleType === 'spice'"
93
- v-model:file-transfer="fileTransfer"
92
+ v-if="model.type === 'spice'"
93
+ v-model:file-transfer="model.spice.file_transfer"
94
94
  :disabled="props.isDisabled"
95
95
  />
96
96
  <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-usb-redirection
97
- v-if="remoteConsoleType === 'spice'"
97
+ v-if="model.type === 'spice'"
98
98
  v-model:usb-redirection="usbRedirection"
99
99
  :disabled="props.isDisabled"
100
100
  />
101
101
  <!-- TODO 700-->
102
102
  <!-- <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-folder-sharing-->
103
- <!-- v-if="remoteConsoleType === 'spice'"-->
104
- <!-- v-model:folder-sharing="folderSharing"-->
103
+ <!-- v-if="model.type === 'spice'"-->
104
+ <!-- v-model:folder-sharing="model.spice.folder_sharing"-->
105
105
  <!-- :disabled="props.isDisabled"-->
106
106
  <!-- />-->
107
107
  </template>
@@ -111,22 +111,16 @@
111
111
 
112
112
  <script setup lang="ts">
113
113
  import type { UI_I_Localization } from '~/lib/models/interfaces'
114
+ import type { UI_I_CreateVmData } from '~/components/common/vm/actions/common/lib/models/interfaces'
115
+
116
+ const model = defineModel<UI_I_CreateVmData['options']['remote_console']>({ required: true })
114
117
 
115
- const keymap = defineModel<string>('keymap', { required: true })
116
- const password = defineModel<string>('password', { required: true })
117
118
  const passwordIsValid = defineModel<boolean>('passwordIsValid', {
118
119
  required: true,
119
120
  })
120
- const remoteConsoleType = defineModel<string>('remoteConsoleType', {
121
- required: true,
122
- })
123
- const copyPaste = defineModel<boolean>('copyPaste', { required: true })
124
- const fileTransfer = defineModel<boolean>('fileTransfer', { required: true })
125
- const usbRedirection = defineModel<number>('usbRedirection', {
126
- required: true,
127
- })
128
- // TODO 700
129
- // const folderSharing = defineModel<boolean>('folderSharing', { required: true })
121
+
122
+ // TODO use from model
123
+ const usbRedirection = ref<number>(3)
130
124
 
131
125
  const props = defineProps<{
132
126
  // TODO возможно вернем, НЕ УДАЛЯТЬ
@@ -1,50 +1,37 @@
1
1
  <template>
2
2
  <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-new
3
3
  v-if="isNewView"
4
- v-model:keymap="keymap"
5
- v-model:password="password"
4
+ v-model="model"
6
5
  v-model:password-is-valid="passwordIsValid"
7
- v-model:remote-console-type="remoteConsoleType"
8
- v-model:copy-paste="copyPaste"
9
- v-model:file-transfer="fileTransfer"
10
- v-model:usb-redirection="usbRedirection"
11
- v-model:folder-sharing="folderSharing"
12
6
  :remote-console-options-invalid="remoteConsoleOptionsInvalid"
13
7
  :is-disabled="isDisabled"
14
8
  />
15
9
  <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-old
16
10
  v-else
17
- v-model:keymap="keymap"
18
- v-model:password="password"
11
+ v-model="model"
19
12
  v-model:password-is-valid="passwordIsValid"
20
- v-model:remote-console-type="remoteConsoleType"
21
- v-model:copy-paste="copyPaste"
22
- v-model:file-transfer="fileTransfer"
23
- v-model:usb-redirection="usbRedirection"
24
- v-model:folder-sharing="folderSharing"
25
13
  :remote-console-options-invalid="remoteConsoleOptionsInvalid"
26
14
  :is-disabled="isDisabled"
27
15
  />
28
16
  </template>
29
17
 
30
18
  <script setup lang="ts">
31
- import type { UI_I_SendDataRemoteConsoleOptions } from '~/components/common/vm/actions/common/customizeHardware/vmoptions/lib/models/interfaces'
19
+ import type { UI_I_CreateVmData } from '~/components/common/vm/actions/common/lib/models/interfaces'
20
+
21
+ const model = defineModel<UI_I_CreateVmData['options']['remote_console']>({ required: true })
32
22
 
33
23
  const props = withDefaults(
34
24
  defineProps<{
35
25
  isEdit: boolean
36
- remoteConsoleOptions?: UI_I_SendDataRemoteConsoleOptions
37
26
  // TODO возможно вернем, НЕ УДАЛЯТЬ
38
27
  // errorValidationFields: UI_I_ErrorValidationField<string>[]
39
28
  state?: string | number
40
29
  }>(),
41
30
  {
42
- remoteConsoleOptions: undefined,
43
31
  state: undefined,
44
32
  }
45
33
  )
46
34
  const emits = defineEmits<{
47
- (event: 'send-data', value: UI_I_SendDataRemoteConsoleOptions): void
48
35
  (event: 'invalid', value: boolean): void
49
36
  // TODO возможно вернем, НЕ УДАЛЯТЬ
50
37
  // (event: 'remove-error-by-title', value: string): void
@@ -55,7 +42,6 @@ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
55
42
 
56
43
  const isDisabled = computed<boolean>(() => props.isEdit && props.state !== 1)
57
44
 
58
- const remoteConsoleType = ref<string>('spice')
59
45
  // TODO возможно вернем, НЕ УДАЛЯТЬ
60
46
  // const changeRemoteConsoleType = (): void => {
61
47
  // // powerControl.value = false
@@ -65,104 +51,14 @@ const remoteConsoleType = ref<string>('spice')
65
51
  // zlibCompression.value = 'auto'
66
52
  // playbackCompression.value = true
67
53
  // streamingMode.value = 'all'
68
- // copyPaste.value = true
54
+ // model.spice.clipboard = true
69
55
  // mouseMode.value = 'client'
70
- // fileTransfer.value = true
71
- // usbRedirection.value = 3
72
- // folderSharing.value = true
56
+ // model.spice.file_transfer = true
57
+ // model.spice.folder_sharing = true
73
58
  // }
74
59
 
75
- const keymap = ref<string>('en_US')
76
-
77
- const password = ref<string>('')
78
60
  const passwordIsValid = ref<boolean>(true)
79
61
 
80
- // const powerControl = ref<boolean>(false)
81
-
82
- // const sharePolicy = ref<string>('allow-exclusive')
83
-
84
- const imgCompression = ref<string>('auto_glz')
85
-
86
- const jpegCompression = ref<string>('auto')
87
-
88
- const zlibCompression = ref<string>('auto')
89
-
90
- const playbackCompression = ref<boolean>(true)
91
-
92
- const streamingMode = ref<string>('all')
93
-
94
- const copyPaste = ref<boolean>(true)
95
-
96
- const mouseMode = ref<string>('client')
97
-
98
- const fileTransfer = ref<boolean>(true)
99
-
100
- const usbRedirection = ref<number>(3)
101
-
102
- const folderSharing = ref<boolean>(true)
103
-
104
- watch(
105
- [
106
- remoteConsoleType,
107
- keymap,
108
- password,
109
- // powerControl,
110
- // sharePolicy,
111
- imgCompression,
112
- jpegCompression,
113
- zlibCompression,
114
- playbackCompression,
115
- streamingMode,
116
- copyPaste,
117
- mouseMode,
118
- fileTransfer,
119
- usbRedirection,
120
- folderSharing,
121
- ],
122
- () => {
123
- emits('send-data', {
124
- type: remoteConsoleType.value,
125
- port: 0,
126
- keymap: keymap.value,
127
- password: password.value,
128
- guest_os_lock: false,
129
- limit_sessions: 0,
130
- spice: {
131
- img_compression: imgCompression.value,
132
- jpeg_compression: jpegCompression.value,
133
- zlib_glz_compression: zlibCompression.value,
134
- streaming_mode: streamingMode.value,
135
- playback_compression: playbackCompression.value,
136
- file_transfer: fileTransfer.value,
137
- clipboard: copyPaste.value,
138
- },
139
- })
140
- },
141
- { immediate: true }
142
- )
143
-
144
- // Добавляем данные для редактирования
145
- watch(
146
- () => props.remoteConsoleOptions,
147
- (newValue) => {
148
- if (!newValue || !props.remoteConsoleOptions) return
149
-
150
- remoteConsoleType.value = props.remoteConsoleOptions.type
151
- keymap.value = props.remoteConsoleOptions.keymap
152
- password.value = props.remoteConsoleOptions.password
153
- imgCompression.value = props.remoteConsoleOptions.spice.img_compression
154
- jpegCompression.value = props.remoteConsoleOptions.spice.jpeg_compression
155
- zlibCompression.value =
156
- props.remoteConsoleOptions.spice.zlib_glz_compression
157
- streamingMode.value = props.remoteConsoleOptions.spice.streaming_mode
158
- playbackCompression.value =
159
- props.remoteConsoleOptions.spice.playback_compression
160
- fileTransfer.value = props.remoteConsoleOptions.spice.file_transfer
161
- copyPaste.value = props.remoteConsoleOptions.spice.clipboard
162
- },
163
- { immediate: true }
164
- )
165
-
166
62
  const remoteConsoleOptionsInvalid = computed<boolean>(
167
63
  () => !passwordIsValid.value
168
64
  )
@@ -1,13 +1,13 @@
1
1
  <template>
2
2
  <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-keymap-new
3
3
  v-if="isNewView"
4
- v-model:keymap="keymap"
4
+ v-model="model"
5
5
  :disabled="props.disabled"
6
6
  :keymap-options="keymapOptions"
7
7
  />
8
8
  <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-keymap-old
9
9
  v-else
10
- v-model:keymap="keymap"
10
+ v-model="model"
11
11
  :disabled="props.disabled"
12
12
  :keymap-options="keymapOptions"
13
13
  />
@@ -17,7 +17,7 @@
17
17
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
18
18
  import { keymapOptionsConfig } from '~/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/lib/config/config'
19
19
 
20
- const keymap = defineModel<string>('keymap', { required: true })
20
+ const model = defineModel<string>({ required: true })
21
21
 
22
22
  const props = defineProps<{
23
23
  disabled: boolean
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <ui-stack-block
3
- :has-children="false"
4
- test-id="remote-console-keymap-stack-block"
3
+ :has-children="false"
4
+ test-id="remote-console-keymap-stack-block"
5
5
  >
6
6
  <template #stackBlockKey>
7
7
  <span class="mt-2">{{ localization.common.keymap }}</span>
@@ -9,7 +9,7 @@
9
9
  <template #stackBlockContent>
10
10
  <ui-select
11
11
  id="keymap-select"
12
- v-model="keymap"
12
+ v-model="model"
13
13
  :items="props.keymapOptions"
14
14
  :disabled="props.disabled"
15
15
  width="auto"
@@ -25,7 +25,7 @@
25
25
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
26
26
  import type { UI_I_Localization } from '~/lib/models/interfaces'
27
27
 
28
- const keymap = defineModel<string>('keymap', { required: true })
28
+ const model = defineModel<string>({ required: true })
29
29
 
30
30
  const props = defineProps<{
31
31
  disabled: boolean
@@ -40,6 +40,6 @@ const localization = computed<UI_I_Localization>(() => useLocal())
40
40
  width: 108px;
41
41
  }
42
42
  :deep(.stack-block-label .stack-block-content) {
43
- flex: unset !important;
44
- }
43
+ flex: unset !important;
44
+ }
45
45
  </style>