bfg-common 1.5.572 → 1.5.573

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 (81) hide show
  1. package/assets/localization/local_be.json +6 -29
  2. package/assets/localization/local_en.json +6 -29
  3. package/assets/localization/local_hy.json +6 -29
  4. package/assets/localization/local_kk.json +6 -29
  5. package/assets/localization/local_ru.json +6 -29
  6. package/assets/localization/local_zh.json +7 -30
  7. package/components/common/diagramMain/DiagramMain.vue +1 -1
  8. package/components/common/modals/confirmByInput/ConfirmByInput.vue +1 -9
  9. package/components/common/modals/confirmByInput/ConfirmByInputNew.vue +2 -7
  10. package/components/common/monitor/overview/filters/lib/config/filterOptions.ts +0 -1
  11. package/components/common/pages/backups/modals/createBackup/CreateBackup.vue +1 -1
  12. package/components/common/pages/backups/modals/createBackup/New.vue +2 -8
  13. package/components/common/pages/backups/modals/createBackup/lib/config/steps.ts +1 -2
  14. package/components/common/pages/backups/modals/restore/Restore.vue +5 -9
  15. package/components/common/pages/backups/modals/restore/RestoreNew.vue +3 -13
  16. package/components/common/pages/backups/modals/restore/RestoreOld.vue +18 -6
  17. package/components/common/pages/scheduledTasks/table/Table.vue +1 -1
  18. package/components/common/vm/actions/add/Add.vue +52 -127
  19. package/components/common/vm/actions/add/New.vue +16 -54
  20. package/components/common/vm/actions/add/Old.vue +16 -55
  21. package/components/common/vm/actions/clone/Clone.vue +48 -121
  22. package/components/common/vm/actions/clone/new/New.vue +14 -50
  23. package/components/common/vm/actions/clone/old/Old.vue +16 -52
  24. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +14 -81
  25. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +7 -56
  26. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +8 -56
  27. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +208 -206
  28. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +223 -120
  29. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +218 -118
  30. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +66 -53
  31. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/config/options.ts +1 -1
  32. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +139 -159
  33. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +8 -15
  34. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuOld.vue +8 -13
  35. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +62 -75
  36. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +241 -149
  37. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +3 -4
  38. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +2 -3
  39. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +58 -96
  40. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +6 -17
  41. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +6 -3
  42. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerOld.vue +6 -3
  43. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +17 -39
  44. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +6 -5
  45. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +6 -5
  46. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/lib/config/options.ts +4 -4
  47. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +6 -93
  48. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +8 -62
  49. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsOld.vue +8 -60
  50. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +5 -69
  51. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +12 -32
  52. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsOld.vue +12 -33
  53. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +114 -132
  54. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +41 -6
  55. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderOld.vue +44 -6
  56. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +8 -23
  57. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +21 -31
  58. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsOld.vue +26 -34
  59. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +28 -34
  60. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/Old.vue +24 -30
  61. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +8 -112
  62. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +3 -3
  63. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{KeymapNew.vue → New.vue} +6 -6
  64. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{KeymapOld.vue → Old.vue} +5 -5
  65. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +6 -7
  66. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +4 -38
  67. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsNew.vue +7 -26
  68. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsOld.vue +24 -50
  69. package/components/common/vm/actions/common/lib/models/interfaces.ts +57 -25
  70. package/components/common/vm/actions/common/select/os/New.vue +0 -19
  71. package/components/common/vm/actions/common/select/os/Old.vue +0 -34
  72. package/components/common/vm/actions/common/select/os/Os.vue +0 -25
  73. package/components/common/vm/actions/editSettings/EditSettings.vue +32 -90
  74. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +14 -41
  75. package/components/common/vm/actions/editSettings/new/New.vue +14 -41
  76. package/components/common/vm/actions/lib/models/interfaces.ts +4 -29
  77. package/components/common/vm/actions/lib/utils.ts +64 -36
  78. package/package.json +1 -3
  79. package/store/tasks/mappers/recentTasks.ts +0 -4
  80. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{PasswordNew.vue → New.vue} +0 -0
  81. /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>