bfg-common 1.5.574 → 1.5.575

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 (163) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  4. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  5. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  6. package/components/atoms/TheIcon3.vue +50 -50
  7. package/components/atoms/collapse/CollapseNav.vue +170 -170
  8. package/components/atoms/perPage/PerPage.vue +58 -58
  9. package/components/atoms/table/dataGrid/DataGrid.vue +1718 -1718
  10. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  11. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  12. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  13. package/components/common/backup/storage/actions/add/Add.vue +3 -2
  14. package/components/common/backup/storage/actions/add/New.vue +3 -2
  15. package/components/common/backup/storage/actions/add/Old.vue +5 -4
  16. package/components/common/backup/storage/actions/add/lib/utils.ts +51 -51
  17. package/components/common/backup/storage/actions/add/steps/readyComplete/ReadyComplete.vue +45 -45
  18. package/components/common/backup/storage/actions/add/steps/readyComplete/lib/config/propertiesDetails.ts +7 -7
  19. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  20. package/components/common/diagramMain/modals/lib/config/portModal.ts +251 -251
  21. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  22. package/components/common/diagramMain/port/Port.vue +580 -580
  23. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  24. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  25. package/components/common/pages/backups/DetailView.vue +52 -52
  26. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  27. package/components/common/pages/backups/modals/Modals.vue +243 -243
  28. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  29. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +69 -69
  30. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  31. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  32. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  33. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  34. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  35. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  36. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  37. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  38. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  39. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  40. package/components/common/select/radio/RadioGroup.vue +137 -137
  41. package/components/common/spiceConsole/Drawer.vue +420 -420
  42. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  43. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  44. package/components/common/tools/Actions.vue +207 -207
  45. package/components/common/treeView/TreeView.vue +52 -52
  46. package/components/common/vm/actions/add/Add.vue +120 -46
  47. package/components/common/vm/actions/add/New.vue +54 -16
  48. package/components/common/vm/actions/add/Old.vue +55 -16
  49. package/components/common/vm/actions/add/lib/config/steps.ts +347 -347
  50. package/components/common/vm/actions/clone/Clone.vue +115 -43
  51. package/components/common/vm/actions/clone/new/New.vue +50 -14
  52. package/components/common/vm/actions/clone/old/Old.vue +52 -16
  53. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +81 -14
  54. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +56 -7
  55. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +56 -8
  56. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +206 -211
  57. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +120 -225
  58. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +118 -220
  59. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +53 -66
  60. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +159 -139
  61. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +15 -8
  62. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuOld.vue +13 -8
  63. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  64. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +75 -62
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryNew.vue +158 -158
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryOld.vue +155 -155
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +149 -241
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +4 -3
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +3 -2
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +100 -62
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +17 -6
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +3 -6
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerOld.vue +3 -6
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +39 -17
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +5 -6
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +5 -6
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/lib/config/options.ts +4 -4
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
  84. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +93 -6
  85. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +60 -8
  86. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsOld.vue +58 -8
  87. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +69 -5
  88. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +32 -12
  89. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsOld.vue +33 -12
  90. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  91. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  92. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +132 -114
  93. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +6 -41
  94. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderOld.vue +6 -44
  95. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +23 -8
  96. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +31 -21
  97. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsOld.vue +34 -26
  98. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +34 -28
  99. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/Old.vue +30 -24
  100. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +112 -8
  101. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +3 -3
  102. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{New.vue → KeymapNew.vue} +6 -6
  103. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{Old.vue → KeymapOld.vue} +5 -5
  104. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +7 -6
  105. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  106. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +60 -42
  107. package/components/common/vm/actions/common/lib/models/interfaces.ts +25 -58
  108. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  109. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  110. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  111. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  112. package/components/common/vm/actions/common/select/storage/Storage.vue +178 -178
  113. package/components/common/vm/actions/common/select/storage/new/New.vue +311 -311
  114. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  115. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  116. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  117. package/components/common/vm/actions/editSettings/EditSettings.vue +90 -32
  118. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +41 -14
  119. package/components/common/vm/actions/editSettings/new/New.vue +41 -14
  120. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  121. package/components/common/vm/actions/lib/models/interfaces.ts +29 -4
  122. package/components/common/vm/actions/lib/utils.ts +36 -64
  123. package/components/common/vm/actions/register/Register.vue +352 -352
  124. package/components/common/vm/actions/register/lib/config/steps.ts +86 -86
  125. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  126. package/components/common/wizards/common/compatibility/New.vue +99 -99
  127. package/components/common/wizards/common/compatibility/Old.vue +53 -53
  128. package/components/common/wizards/common/steps/computeResource/ComputeResource.vue +86 -86
  129. package/components/common/wizards/common/steps/computeResource/New.vue +93 -93
  130. package/components/common/wizards/common/steps/computeResource/Old.vue +103 -103
  131. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  132. package/components/common/wizards/common/steps/name/New.vue +221 -221
  133. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  134. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  135. package/components/common/wizards/common/steps/name/location/Location.vue +85 -85
  136. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  137. package/components/common/wizards/datastore/add/Add.vue +228 -228
  138. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  139. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  140. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +205 -205
  141. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  142. package/composables/useAppVersion.ts +21 -21
  143. package/composables/useLocal.ts +6 -6
  144. package/composables/useLocalCommon.ts +39 -39
  145. package/package.json +1 -1
  146. package/plugins/console.ts +21 -21
  147. package/plugins/date.ts +233 -233
  148. package/plugins/mouse.ts +21 -21
  149. package/plugins/panelStates.ts +70 -70
  150. package/plugins/text.ts +59 -59
  151. package/public/spice-console/application/clientgui.js +854 -854
  152. package/public/spice-console/application/packetfactory.js +211 -211
  153. package/public/spice-console/application/virtualmouse.js +147 -147
  154. package/public/spice-console/lib/images/bitmap.js +203 -203
  155. package/public/spice-console/network/spicechannel.js +440 -440
  156. package/public/spice-console/process/cursorprocess.js +121 -121
  157. package/public/spice-console/process/inputprocess.js +227 -227
  158. package/public/spice-console/process/mainprocess.js +210 -210
  159. package/public/spice-console/run.js +210 -210
  160. package/store/main/mutations.ts +7 -7
  161. package/store/main/state.ts +7 -7
  162. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{New.vue → PasswordNew.vue} +0 -0
  163. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{Old.vue → PasswordOld.vue} +0 -0
@@ -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>
@@ -1,8 +1,8 @@
1
1
  <template>
2
2
  <div class="">
3
3
  <atoms-stack-block
4
- :has-children="false"
5
- test-id="remote-console-keymap-stack-block"
4
+ :has-children="false"
5
+ test-id="remote-console-keymap-stack-block"
6
6
  >
7
7
  <template #stackBlockKey>
8
8
  {{ localization.common.keymap }}
@@ -11,9 +11,9 @@
11
11
  <div class="select">
12
12
  <select
13
13
  id="keymap-select"
14
- v-model="model"
14
+ v-model="keymap"
15
15
  :disabled="props.disabled"
16
- :data-value="model"
16
+ :data-value="keymap"
17
17
  data-id="keymap-select"
18
18
  >
19
19
  <option
@@ -34,7 +34,7 @@
34
34
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
35
35
  import type { UI_I_Localization } from '~/lib/models/interfaces'
36
36
 
37
- const model = defineModel<string>({ required: true })
37
+ const keymap = defineModel<string>('keymap', { required: true })
38
38
 
39
39
  const props = defineProps<{
40
40
  disabled: boolean
@@ -26,7 +26,7 @@ import type { UI_I_DefaultForm } from '~/components/common/vm/actions/common/cus
26
26
  import type { UI_I_Localization } from '~/lib/models/interfaces'
27
27
  import { generatePassword } from '~/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/lib/utils'
28
28
 
29
- const model = defineModel<string>({ required: true })
29
+ const password = defineModel<string>('password', { required: true })
30
30
 
31
31
  const props = defineProps<{
32
32
  disabled: boolean
@@ -43,7 +43,7 @@ const localization = computed<UI_I_Localization>(() => useLocal())
43
43
  const validation = $validation.call({})
44
44
  const defaultForm: UI_I_DefaultForm = {
45
45
  password: {
46
- value: model.value,
46
+ value: password.value,
47
47
  validations: [
48
48
  {
49
49
  value: 'password',
@@ -61,6 +61,7 @@ setForm()
61
61
 
62
62
  const showValidationErrors = (): void => {
63
63
  const valid = validation.touch()
64
+ console.log(valid, 111)
64
65
  passwordErrorText.value = !valid.isValid ? valid.errors.password[0] : ''
65
66
  emits('valid', valid.isValid)
66
67
  }
@@ -76,24 +77,24 @@ const setPasswordDisable = (): void => {
76
77
 
77
78
  removeValidationErrors()
78
79
  setForm()
79
- model.value = ''
80
+ password.value = ''
80
81
  }
81
82
 
82
83
  const passwordErrorText = ref<string>('')
83
84
 
84
85
  const changePassword = (value: string): void => {
85
- model.value = value
86
+ password.value = value
86
87
 
87
88
  showValidationErrors()
88
89
  }
89
90
 
90
- const isEnabledPassword = ref<boolean>(!!model.value)
91
+ const isEnabledPassword = ref<boolean>(!!password.value)
91
92
 
92
93
  const onGeneratePassword = (): void => {
93
94
  const generatedPassword = generatePassword()
94
95
 
95
96
  form.value.password.value = generatedPassword
96
- model.value = generatedPassword
97
+ password.value = generatedPassword
97
98
 
98
99
  showValidationErrors()
99
100
  }
@@ -1,28 +1,28 @@
1
- <template>
2
- <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-usb-redirection-new
3
- v-if="isNewView"
4
- v-model:usb-redirection="usbRedirection"
5
- :usb-redirection-options="usbRedirectionOptions"
6
- />
7
- <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-usb-redirection-old
8
- v-else
9
- v-model:usb-redirection="usbRedirection"
10
- :usb-redirection-options="usbRedirectionOptions"
11
- />
12
- </template>
13
-
14
- <script setup lang="ts">
15
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
16
- import { usbRedirectionOptionsConfig } from '~/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/lib/config/config'
17
-
18
- const usbRedirection = defineModel<number>('usbRedirection', { required: true })
19
-
20
- const { $store }: any = useNuxtApp()
21
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
22
-
23
- const usbRedirectionOptions = ref<UI_I_OptionItem[]>(
24
- usbRedirectionOptionsConfig
25
- )
26
- </script>
27
-
28
- <style scoped></style>
1
+ <template>
2
+ <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-usb-redirection-new
3
+ v-if="isNewView"
4
+ v-model:usb-redirection="usbRedirection"
5
+ :usb-redirection-options="usbRedirectionOptions"
6
+ />
7
+ <common-vm-actions-common-customize-hardware-vmoptions-remote-console-options-usb-redirection-old
8
+ v-else
9
+ v-model:usb-redirection="usbRedirection"
10
+ :usb-redirection-options="usbRedirectionOptions"
11
+ />
12
+ </template>
13
+
14
+ <script setup lang="ts">
15
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
16
+ import { usbRedirectionOptionsConfig } from '~/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/lib/config/config'
17
+
18
+ const usbRedirection = defineModel<number>('usbRedirection', { required: true })
19
+
20
+ const { $store }: any = useNuxtApp()
21
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
22
+
23
+ const usbRedirectionOptions = ref<UI_I_OptionItem[]>(
24
+ usbRedirectionOptionsConfig
25
+ )
26
+ </script>
27
+
28
+ <style scoped></style>
@@ -1,42 +1,60 @@
1
- <template>
2
- <common-vm-actions-common-customize-hardware-vmoptions-tools-new
3
- v-if="isNewView"
4
- v-model:balloon="model.balloon"
5
- :disabled="isDisabled"
6
- />
7
- <common-vm-actions-common-customize-hardware-vmoptions-tools-old
8
- v-else
9
- v-model:balloon="model.balloon"
10
- :disabled="isDisabled"
11
- />
12
- </template>
13
-
14
- <script setup lang="ts">
15
- import type { UI_I_CreateVmData } from '~/components/common/vm/actions/common/lib/models/interfaces'
16
-
17
- const model = defineModel<UI_I_CreateVmData['options']['guest_tools']>({
18
- required: true,
19
- })
20
-
21
- const props = withDefaults(
22
- defineProps<{
23
- isEdit: boolean
24
- state?: string | number
25
- }>(),
26
- {
27
- state: undefined,
28
- }
29
- )
30
-
31
- const { $store }: any = useNuxtApp()
32
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
33
-
34
- const isDisabled = computed<boolean>(() => props.isEdit && props.state !== 1)
35
- </script>
36
-
37
- <style scoped lang="scss">
38
- #tools-1,
39
- #tools-2 {
40
- margin: 0 4px 4px 0;
41
- }
42
- </style>
1
+ <template>
2
+ <common-vm-actions-common-customize-hardware-vmoptions-tools-new
3
+ v-if="isNewView"
4
+ v-model:balloon="balloonLocal"
5
+ :disabled="isDisabled"
6
+ />
7
+ <common-vm-actions-common-customize-hardware-vmoptions-tools-old
8
+ v-else
9
+ v-model:balloon="balloonLocal"
10
+ :disabled="isDisabled"
11
+ />
12
+ </template>
13
+
14
+ <script setup lang="ts">
15
+ import type { UI_I_SendDataTools } from '~/components/common/vm/actions/common/customizeHardware/vmoptions/lib/models/interfaces'
16
+
17
+ const props = withDefaults(
18
+ defineProps<{
19
+ tools: boolean
20
+ balloon: boolean
21
+ isEdit: boolean
22
+ state?: string | number
23
+ }>(),
24
+ {
25
+ tools: true,
26
+ balloon: false,
27
+ state: undefined,
28
+ }
29
+ )
30
+ const emits = defineEmits<{
31
+ (event: 'send-data', value: UI_I_SendDataTools): void
32
+ }>()
33
+
34
+ const toolsLocal = ref<boolean>(props.tools)
35
+ const balloonLocal = ref<boolean>(props.balloon)
36
+
37
+ const isDisabled = computed<boolean>(() => props.isEdit && props.state !== 1)
38
+
39
+ watch(
40
+ balloonLocal,
41
+ () => {
42
+ emits('send-data', {
43
+ enabled: toolsLocal.value,
44
+ synchronized_time: toolsLocal.value,
45
+ balloon: balloonLocal.value,
46
+ })
47
+ },
48
+ { immediate: true }
49
+ )
50
+
51
+ const { $store }: any = useNuxtApp()
52
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
53
+ </script>
54
+
55
+ <style scoped lang="scss">
56
+ #tools-1,
57
+ #tools-2 {
58
+ margin: 0 4px 4px 0;
59
+ }
60
+ </style>