bfg-common 1.5.580 → 1.5.581

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