bfg-common 1.5.603 → 1.5.605

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 (158) 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/lib/utils.ts +51 -51
  14. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  15. package/components/common/diagramMain/modals/lib/config/portModal.ts +251 -251
  16. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  17. package/components/common/diagramMain/port/Port.vue +580 -580
  18. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  19. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  20. package/components/common/pages/backups/DetailView.vue +52 -52
  21. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  22. package/components/common/pages/backups/modals/Modals.vue +243 -243
  23. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  24. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +69 -69
  25. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  26. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  27. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  28. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  29. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  30. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  31. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  32. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  33. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  34. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  35. package/components/common/select/radio/RadioGroup.vue +137 -137
  36. package/components/common/spiceConsole/Drawer.vue +420 -420
  37. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  38. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  39. package/components/common/tools/Actions.vue +207 -207
  40. package/components/common/treeView/TreeView.vue +52 -52
  41. package/components/common/vm/actions/add/Add.vue +819 -819
  42. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +205 -205
  43. package/components/common/vm/actions/common/customizeHardware/New.vue +325 -325
  44. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +679 -679
  45. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +101 -101
  46. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +227 -227
  47. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +29 -29
  48. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +323 -323
  49. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/coresPerSocket/CoresPerSocket.vue +81 -81
  50. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/hotPlug/HotPlug.vue +40 -40
  51. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/maxCpu/MaxCpu.vue +91 -91
  52. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/model/Model.vue +92 -92
  53. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +133 -133
  54. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  55. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/Tooltip.vue +27 -27
  56. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +214 -214
  57. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +280 -280
  58. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/New.vue +158 -158
  59. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Old.vue +155 -155
  60. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/hotPlug/HotPlug.vue +29 -29
  61. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +483 -483
  62. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/Cache.vue +59 -59
  63. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/file/File.vue +24 -24
  64. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIops.vue +96 -96
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +142 -142
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/storageModal/StorageModal.vue +55 -55
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/maximumSize/MaximumSize.vue +26 -26
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/Mode.vue +61 -61
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/Provisioning.vue +57 -57
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/Sharing.vue +59 -59
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +257 -257
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterType.vue +56 -56
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/Location.vue +65 -65
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +111 -111
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +199 -199
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +27 -27
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +29 -29
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +23 -23
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +40 -40
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelection.vue +34 -34
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +47 -47
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +15 -15
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/inputDevices/InputDevices.vue +15 -15
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/Reservation.vue +194 -194
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +129 -129
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/Model.vue +35 -35
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +50 -50
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemory.vue +104 -104
  89. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +70 -70
  90. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +42 -42
  91. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  92. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  93. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/Menu.vue +25 -25
  94. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +155 -155
  95. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +82 -82
  96. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +74 -74
  97. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPaste.vue +25 -25
  98. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransfer.vue +25 -25
  99. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharing.vue +17 -17
  100. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  101. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +99 -99
  102. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  103. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +42 -42
  104. package/components/common/vm/actions/common/select/compatibility/Compatibility.vue +105 -105
  105. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  106. package/components/common/vm/actions/common/select/createType/CreateType.vue +36 -36
  107. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  108. package/components/common/vm/actions/common/select/options/Options.vue +53 -53
  109. package/components/common/vm/actions/common/select/os/Os.vue +152 -152
  110. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  111. package/components/common/vm/actions/common/select/storage/Storage.vue +170 -170
  112. package/components/common/vm/actions/common/select/storage/new/New.vue +311 -311
  113. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  114. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  115. package/components/common/vm/actions/common/select/template/Template.vue +75 -75
  116. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  117. package/components/common/vm/actions/common/select/template/treeView/TreeView.vue +85 -85
  118. package/components/common/vm/actions/editSettings/EditSettings.vue +160 -169
  119. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  120. package/components/common/vm/actions/register/lib/config/steps.ts +86 -86
  121. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  122. package/components/common/wizards/common/compatibility/New.vue +99 -99
  123. package/components/common/wizards/common/compatibility/Old.vue +53 -53
  124. package/components/common/wizards/common/steps/computeResource/ComputeResource.vue +86 -86
  125. package/components/common/wizards/common/steps/computeResource/New.vue +93 -93
  126. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  127. package/components/common/wizards/common/steps/name/New.vue +221 -221
  128. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  129. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  130. package/components/common/wizards/common/steps/name/location/Location.vue +85 -85
  131. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  132. package/components/common/wizards/datastore/add/Add.vue +228 -228
  133. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  134. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  135. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +205 -205
  136. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  137. package/composables/useAppVersion.ts +21 -21
  138. package/composables/useLocal.ts +6 -6
  139. package/composables/useLocalCommon.ts +39 -39
  140. package/lib/models/types.ts +60 -58
  141. package/package.json +1 -1
  142. package/plugins/console.ts +21 -21
  143. package/plugins/date.ts +233 -233
  144. package/plugins/mouse.ts +21 -21
  145. package/plugins/panelStates.ts +70 -70
  146. package/plugins/text.ts +59 -59
  147. package/plugins/time.ts +58 -58
  148. package/public/spice-console/application/clientgui.js +854 -854
  149. package/public/spice-console/application/packetfactory.js +211 -211
  150. package/public/spice-console/application/virtualmouse.js +147 -147
  151. package/public/spice-console/lib/images/bitmap.js +203 -203
  152. package/public/spice-console/network/spicechannel.js +440 -440
  153. package/public/spice-console/process/cursorprocess.js +121 -121
  154. package/public/spice-console/process/inputprocess.js +227 -227
  155. package/public/spice-console/process/mainprocess.js +210 -210
  156. package/public/spice-console/run.js +210 -210
  157. package/store/main/mutations.ts +7 -7
  158. package/store/main/state.ts +7 -7
@@ -1,81 +1,81 @@
1
- <template>
2
- <component
3
- :is="currentComponent"
4
- v-model:selected-core-per-socket="selectedCorePerSocketLocal"
5
- :disabled="props.disabled"
6
- :api-error="apiError"
7
- :socket-options="socketOptions"
8
- :sockets-count="socketsCount"
9
- @remove-error-by-title="emits('remove-error-by-title', $event)"
10
- />
11
- </template>
12
-
13
- <script setup lang="ts">
14
- import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
15
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
16
-
17
- const props = defineProps<{
18
- cpuOptions: UI_I_OptionItem[]
19
- selectedCpus: number[]
20
- selectedCorePerSocket: number
21
- isEdit: boolean
22
- disabled: boolean
23
- errorValidationFields: UI_I_ErrorValidationField[]
24
- }>()
25
- const emits = defineEmits<{
26
- (event: 'update:selected-core-per-socket', value: number): void
27
- (event: 'remove-error-by-title', value: string): void
28
- }>()
29
-
30
- const { $store }: any = useNuxtApp()
31
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
32
- const currentComponent = computed(() =>
33
- isNewView.value
34
- ? defineAsyncComponent(() => import('./New.vue'))
35
- : defineAsyncComponent(() => import('./Old.vue'))
36
- )
37
-
38
- const apiError = computed<string>(() => {
39
- return (
40
- props.errorValidationFields?.find(
41
- (message) => message.field === 'cpu.core_per_socket'
42
- )?.error_message || ''
43
- )
44
- })
45
-
46
- const socketOptions = computed<number[]>(() => {
47
- const result = []
48
- const cpus = props.cpuOptions[1].value
49
- for (let i = 1; i <= cpus; i++) {
50
- const isCommonDivisor = props.selectedCpus.every(
51
- (cpu) => i <= cpu && (cpu % i === 0 || i === 1)
52
- )
53
- if (isCommonDivisor || props.disabled) {
54
- result.push(i)
55
- }
56
- }
57
- return result
58
- })
59
- watch(
60
- socketOptions,
61
- () => {
62
- !socketOptions.value.includes(selectedCorePerSocketLocal.value) &&
63
- !props.disabled &&
64
- (selectedCorePerSocketLocal.value = 1)
65
- },
66
- { deep: true }
67
- )
68
- const socketsCount = computed<number>(() => {
69
- return props.selectedCpus[0] / props.selectedCorePerSocket
70
- })
71
- const selectedCorePerSocketLocal = computed<number>({
72
- get() {
73
- return props.selectedCorePerSocket
74
- },
75
- set(newValue) {
76
- emits('update:selected-core-per-socket', +newValue)
77
- },
78
- })
79
- </script>
80
-
81
- <style scoped></style>
1
+ <template>
2
+ <component
3
+ :is="currentComponent"
4
+ v-model:selected-core-per-socket="selectedCorePerSocketLocal"
5
+ :disabled="props.disabled"
6
+ :api-error="apiError"
7
+ :socket-options="socketOptions"
8
+ :sockets-count="socketsCount"
9
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
10
+ />
11
+ </template>
12
+
13
+ <script setup lang="ts">
14
+ import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
15
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
16
+
17
+ const props = defineProps<{
18
+ cpuOptions: UI_I_OptionItem[]
19
+ selectedCpus: number[]
20
+ selectedCorePerSocket: number
21
+ isEdit: boolean
22
+ disabled: boolean
23
+ errorValidationFields: UI_I_ErrorValidationField[]
24
+ }>()
25
+ const emits = defineEmits<{
26
+ (event: 'update:selected-core-per-socket', value: number): void
27
+ (event: 'remove-error-by-title', value: string): void
28
+ }>()
29
+
30
+ const { $store }: any = useNuxtApp()
31
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
32
+ const currentComponent = computed(() =>
33
+ isNewView.value
34
+ ? defineAsyncComponent(() => import('./New.vue'))
35
+ : defineAsyncComponent(() => import('./Old.vue'))
36
+ )
37
+
38
+ const apiError = computed<string>(() => {
39
+ return (
40
+ props.errorValidationFields?.find(
41
+ (message) => message.field === 'cpu.core_per_socket'
42
+ )?.error_message || ''
43
+ )
44
+ })
45
+
46
+ const socketOptions = computed<number[]>(() => {
47
+ const result = []
48
+ const cpus = props.cpuOptions[1].value
49
+ for (let i = 1; i <= cpus; i++) {
50
+ const isCommonDivisor = props.selectedCpus.every(
51
+ (cpu) => i <= cpu && (cpu % i === 0 || i === 1)
52
+ )
53
+ if (isCommonDivisor || props.disabled) {
54
+ result.push(i)
55
+ }
56
+ }
57
+ return result
58
+ })
59
+ watch(
60
+ socketOptions,
61
+ () => {
62
+ !socketOptions.value.includes(selectedCorePerSocketLocal.value) &&
63
+ !props.disabled &&
64
+ (selectedCorePerSocketLocal.value = 1)
65
+ },
66
+ { deep: true }
67
+ )
68
+ const socketsCount = computed<number>(() => {
69
+ return props.selectedCpus[0] / props.selectedCorePerSocket
70
+ })
71
+ const selectedCorePerSocketLocal = computed<number>({
72
+ get() {
73
+ return props.selectedCorePerSocket
74
+ },
75
+ set(newValue) {
76
+ emits('update:selected-core-per-socket', +newValue)
77
+ },
78
+ })
79
+ </script>
80
+
81
+ <style scoped></style>
@@ -1,40 +1,40 @@
1
- <template>
2
- <component
3
- :is="currentComponent"
4
- v-model:enable-cpu-hot-add="enableCpuHotAddLocal"
5
- :disabled="props.disabled"
6
- />
7
- </template>
8
-
9
- <script setup lang="ts">
10
- const props = defineProps<{
11
- enableCpuHotAdd: boolean
12
- disabled: boolean
13
- }>()
14
- const emits = defineEmits<{
15
- (event: 'update:enable-cpu-hot-add', value: boolean): void
16
- }>()
17
-
18
- const { $store }: any = useNuxtApp()
19
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
20
- const currentComponent = computed(() =>
21
- isNewView.value
22
- ? defineAsyncComponent(() => import('./New.vue'))
23
- : defineAsyncComponent(() => import('./Old.vue'))
24
- )
25
-
26
- // const enableCpuHotAddLocal = ref(false)
27
- // const enableCpuHotAddLocal = defineModel('enableCpuHotAdd', {
28
- // required: true,
29
- // })
30
- const enableCpuHotAddLocal = computed<boolean>({
31
- get() {
32
- return props.enableCpuHotAdd
33
- },
34
- set(newValue: boolean) {
35
- emits('update:enable-cpu-hot-add', newValue)
36
- },
37
- })
38
- </script>
39
-
40
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <component
3
+ :is="currentComponent"
4
+ v-model:enable-cpu-hot-add="enableCpuHotAddLocal"
5
+ :disabled="props.disabled"
6
+ />
7
+ </template>
8
+
9
+ <script setup lang="ts">
10
+ const props = defineProps<{
11
+ enableCpuHotAdd: boolean
12
+ disabled: boolean
13
+ }>()
14
+ const emits = defineEmits<{
15
+ (event: 'update:enable-cpu-hot-add', value: boolean): void
16
+ }>()
17
+
18
+ const { $store }: any = useNuxtApp()
19
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
20
+ const currentComponent = computed(() =>
21
+ isNewView.value
22
+ ? defineAsyncComponent(() => import('./New.vue'))
23
+ : defineAsyncComponent(() => import('./Old.vue'))
24
+ )
25
+
26
+ // const enableCpuHotAddLocal = ref(false)
27
+ // const enableCpuHotAddLocal = defineModel('enableCpuHotAdd', {
28
+ // required: true,
29
+ // })
30
+ const enableCpuHotAddLocal = computed<boolean>({
31
+ get() {
32
+ return props.enableCpuHotAdd
33
+ },
34
+ set(newValue: boolean) {
35
+ emits('update:enable-cpu-hot-add', newValue)
36
+ },
37
+ })
38
+ </script>
39
+
40
+ <style scoped lang="scss"></style>
@@ -1,91 +1,91 @@
1
- <template>
2
- <component
3
- :is="currentComponent"
4
- v-model:selected-max-cpu.number="selectedMaxCpu"
5
- :cpu-options="props.cpuOptions"
6
- :disabled="props.disabled"
7
- :error-text="maxVcpusLocalAndApiErrorsTexts"
8
- @remove-error="onRemoveError"
9
- />
10
- </template>
11
-
12
- <script setup lang="ts">
13
- import type { UI_I_Localization } from '~/lib/models/interfaces'
14
- import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
15
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
16
-
17
- const selectedMaxCpu = defineModel<number>('selectedMaxCpu', {
18
- required: true,
19
- })
20
-
21
- const props = defineProps<{
22
- cpuOptions: UI_I_OptionItem[]
23
- disabled: boolean
24
- errorValidationFields: UI_I_ErrorValidationField[]
25
- }>()
26
- const emits = defineEmits<{
27
- (event: 'invalid', value: boolean): void
28
- (event: 'remove-error-by-title', value: string): void
29
- }>()
30
-
31
- const { $store }: any = useNuxtApp()
32
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
33
- const currentComponent = computed(() =>
34
- isNewView.value
35
- ? defineAsyncComponent(() => import('./New.vue'))
36
- : defineAsyncComponent(() => import('./Old.vue'))
37
- )
38
-
39
- const localization = computed<UI_I_Localization>(() => useLocal())
40
-
41
- const apiErrorLocal = computed<string>(() => {
42
- return (
43
- props.errorValidationFields?.find(
44
- (message) => message.field === 'cpu.max_vcpus'
45
- )?.error_message || ''
46
- )
47
- })
48
-
49
- const errorTextLocal = computed<string>(() => {
50
- const validValue = /^\d+(\.\d+)?$/.test(selectedMaxCpu.value + '')
51
- if (!validValue) {
52
- return localization.value.common.inputContainsInvalidCharacters
53
- }
54
-
55
- const min = props.cpuOptions[0].value
56
- const max = props.cpuOptions[1].value
57
- if (selectedMaxCpu.value < min || selectedMaxCpu.value > max) {
58
- return localization.value.vmWizard.cpuMustBe
59
- .replace('{0}', min)
60
- .replace('{1}', max)
61
- }
62
-
63
- return ''
64
- })
65
- const maxVcpusLocalAndApiErrorsTexts = computed<string>(() => {
66
- const localError = errorTextLocal.value
67
- const apiError = apiErrorLocal.value
68
-
69
- let result = ''
70
- if (localError && !apiError) result = localError
71
- if (!localError && !apiError) result = apiError
72
- if (localError && apiError) result = localError + ', ' + apiError
73
- if (!localError && apiError) result = apiError
74
-
75
- return result
76
- })
77
- const isInvalid = computed<boolean>(() => !!errorTextLocal.value)
78
- watch(
79
- isInvalid,
80
- (newValue) => {
81
- emits('invalid', newValue)
82
- },
83
- { immediate: true }
84
- )
85
-
86
- const onRemoveError = (): void => {
87
- emits('remove-error-by-title', 'cpu.max_vcpus')
88
- }
89
- </script>
90
-
91
- <style scoped></style>
1
+ <template>
2
+ <component
3
+ :is="currentComponent"
4
+ v-model:selected-max-cpu.number="selectedMaxCpu"
5
+ :cpu-options="props.cpuOptions"
6
+ :disabled="props.disabled"
7
+ :error-text="maxVcpusLocalAndApiErrorsTexts"
8
+ @remove-error="onRemoveError"
9
+ />
10
+ </template>
11
+
12
+ <script setup lang="ts">
13
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
14
+ import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
15
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
16
+
17
+ const selectedMaxCpu = defineModel<number>('selectedMaxCpu', {
18
+ required: true,
19
+ })
20
+
21
+ const props = defineProps<{
22
+ cpuOptions: UI_I_OptionItem[]
23
+ disabled: boolean
24
+ errorValidationFields: UI_I_ErrorValidationField[]
25
+ }>()
26
+ const emits = defineEmits<{
27
+ (event: 'invalid', value: boolean): void
28
+ (event: 'remove-error-by-title', value: string): void
29
+ }>()
30
+
31
+ const { $store }: any = useNuxtApp()
32
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
33
+ const currentComponent = computed(() =>
34
+ isNewView.value
35
+ ? defineAsyncComponent(() => import('./New.vue'))
36
+ : defineAsyncComponent(() => import('./Old.vue'))
37
+ )
38
+
39
+ const localization = computed<UI_I_Localization>(() => useLocal())
40
+
41
+ const apiErrorLocal = computed<string>(() => {
42
+ return (
43
+ props.errorValidationFields?.find(
44
+ (message) => message.field === 'cpu.max_vcpus'
45
+ )?.error_message || ''
46
+ )
47
+ })
48
+
49
+ const errorTextLocal = computed<string>(() => {
50
+ const validValue = /^\d+(\.\d+)?$/.test(selectedMaxCpu.value + '')
51
+ if (!validValue) {
52
+ return localization.value.common.inputContainsInvalidCharacters
53
+ }
54
+
55
+ const min = props.cpuOptions[0].value
56
+ const max = props.cpuOptions[1].value
57
+ if (selectedMaxCpu.value < min || selectedMaxCpu.value > max) {
58
+ return localization.value.vmWizard.cpuMustBe
59
+ .replace('{0}', min)
60
+ .replace('{1}', max)
61
+ }
62
+
63
+ return ''
64
+ })
65
+ const maxVcpusLocalAndApiErrorsTexts = computed<string>(() => {
66
+ const localError = errorTextLocal.value
67
+ const apiError = apiErrorLocal.value
68
+
69
+ let result = ''
70
+ if (localError && !apiError) result = localError
71
+ if (!localError && !apiError) result = apiError
72
+ if (localError && apiError) result = localError + ', ' + apiError
73
+ if (!localError && apiError) result = apiError
74
+
75
+ return result
76
+ })
77
+ const isInvalid = computed<boolean>(() => !!errorTextLocal.value)
78
+ watch(
79
+ isInvalid,
80
+ (newValue) => {
81
+ emits('invalid', newValue)
82
+ },
83
+ { immediate: true }
84
+ )
85
+
86
+ const onRemoveError = (): void => {
87
+ emits('remove-error-by-title', 'cpu.max_vcpus')
88
+ }
89
+ </script>
90
+
91
+ <style scoped></style>
@@ -1,92 +1,92 @@
1
- <template>
2
- <component
3
- :is="currentComponent"
4
- v-model:passthrough-host-cpu="passthroughHostCpu"
5
- v-model:host-model-cpu="hostModelCpu"
6
- v-model:cpu-model="cpuModel"
7
- v-model:selected-tooltip="selectedTooltip"
8
- :cpu-model-options="cpuModelOptions"
9
- :disabled="props.disabled"
10
- :error-text="apiError"
11
- @change-cpu-model="onChangeCpuModel"
12
- @change-passthrough-host-cpu="onChangePassthroughHostCpu"
13
- @change-host-model-cpu="onChangeHostModelCpu"
14
- @remove-error="onRemoveValidationError"
15
- />
16
- </template>
17
-
18
- <script setup lang="ts">
19
- import type { UI_I_HTMLSelectElement } from '~/lib/models/interfaces'
20
- import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
21
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
22
-
23
- const passthroughHostCpu = defineModel<boolean>('passthroughHostCpu', {
24
- required: true,
25
- })
26
- const hostModelCpu = defineModel<boolean>('hostModelCpu', {
27
- required: true,
28
- })
29
- const cpuModel = defineModel<string>('cpuModel', {
30
- required: true,
31
- })
32
- const selectedTooltip = defineModel<string>('selectedTooltip', {
33
- required: true,
34
- })
35
-
36
- const props = defineProps<{
37
- cpuModels: UI_I_OptionItem[]
38
- isEdit: boolean
39
- disabled: boolean
40
- errorValidationFields: UI_I_ErrorValidationField[]
41
- }>()
42
- const emits = defineEmits<{
43
- (event: 'remove-error-by-title', value: string): void
44
- }>()
45
-
46
- const { $store }: any = useNuxtApp()
47
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
48
- const currentComponent = computed(() =>
49
- isNewView.value
50
- ? defineAsyncComponent(() => import('./New.vue'))
51
- : defineAsyncComponent(() => import('./Old.vue'))
52
- )
53
-
54
- const cpuModelOptions = ref<UI_I_OptionItem[]>(props.cpuModels)
55
- watch(
56
- () => props.cpuModels,
57
- (newValue) => {
58
- cpuModelOptions.value = [...newValue]
59
- }
60
- )
61
-
62
- const onChangeCpuModel = (event: UI_I_HTMLSelectElement): void => {
63
- cpuModel.value = event.target.value
64
- passthroughHostCpu.value = false
65
- hostModelCpu.value = false
66
- }
67
- const onChangePassthroughHostCpu = (event: Event): void => {
68
- const target = event.target as HTMLInputElement
69
- cpuModel.value = target.checked ? '' : props.cpuModels?.[0].value
70
- hostModelCpu.value = false
71
- }
72
- const onChangeHostModelCpu = (event: Event): void => {
73
- const target = event.target as HTMLInputElement
74
- cpuModel.value = target.checked ? '' : props.cpuModels?.[0].value
75
- passthroughHostCpu.value = false
76
- }
77
-
78
- const typeError = 'cpu.model'
79
-
80
- const apiError = computed<string>(() => {
81
- return (
82
- props.errorValidationFields?.find((message) => message.field === typeError)
83
- ?.error_message || ''
84
- )
85
- })
86
-
87
- const onRemoveValidationError = (): void => {
88
- emits('remove-error-by-title', typeError)
89
- }
90
- </script>
91
-
92
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <component
3
+ :is="currentComponent"
4
+ v-model:passthrough-host-cpu="passthroughHostCpu"
5
+ v-model:host-model-cpu="hostModelCpu"
6
+ v-model:cpu-model="cpuModel"
7
+ v-model:selected-tooltip="selectedTooltip"
8
+ :cpu-model-options="cpuModelOptions"
9
+ :disabled="props.disabled"
10
+ :error-text="apiError"
11
+ @change-cpu-model="onChangeCpuModel"
12
+ @change-passthrough-host-cpu="onChangePassthroughHostCpu"
13
+ @change-host-model-cpu="onChangeHostModelCpu"
14
+ @remove-error="onRemoveValidationError"
15
+ />
16
+ </template>
17
+
18
+ <script setup lang="ts">
19
+ import type { UI_I_HTMLSelectElement } from '~/lib/models/interfaces'
20
+ import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
21
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
22
+
23
+ const passthroughHostCpu = defineModel<boolean>('passthroughHostCpu', {
24
+ required: true,
25
+ })
26
+ const hostModelCpu = defineModel<boolean>('hostModelCpu', {
27
+ required: true,
28
+ })
29
+ const cpuModel = defineModel<string>('cpuModel', {
30
+ required: true,
31
+ })
32
+ const selectedTooltip = defineModel<string>('selectedTooltip', {
33
+ required: true,
34
+ })
35
+
36
+ const props = defineProps<{
37
+ cpuModels: UI_I_OptionItem[]
38
+ isEdit: boolean
39
+ disabled: boolean
40
+ errorValidationFields: UI_I_ErrorValidationField[]
41
+ }>()
42
+ const emits = defineEmits<{
43
+ (event: 'remove-error-by-title', value: string): void
44
+ }>()
45
+
46
+ const { $store }: any = useNuxtApp()
47
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
48
+ const currentComponent = computed(() =>
49
+ isNewView.value
50
+ ? defineAsyncComponent(() => import('./New.vue'))
51
+ : defineAsyncComponent(() => import('./Old.vue'))
52
+ )
53
+
54
+ const cpuModelOptions = ref<UI_I_OptionItem[]>(props.cpuModels)
55
+ watch(
56
+ () => props.cpuModels,
57
+ (newValue) => {
58
+ cpuModelOptions.value = [...newValue]
59
+ }
60
+ )
61
+
62
+ const onChangeCpuModel = (event: UI_I_HTMLSelectElement): void => {
63
+ cpuModel.value = event.target.value
64
+ passthroughHostCpu.value = false
65
+ hostModelCpu.value = false
66
+ }
67
+ const onChangePassthroughHostCpu = (event: Event): void => {
68
+ const target = event.target as HTMLInputElement
69
+ cpuModel.value = target.checked ? '' : props.cpuModels?.[0].value
70
+ hostModelCpu.value = false
71
+ }
72
+ const onChangeHostModelCpu = (event: Event): void => {
73
+ const target = event.target as HTMLInputElement
74
+ cpuModel.value = target.checked ? '' : props.cpuModels?.[0].value
75
+ passthroughHostCpu.value = false
76
+ }
77
+
78
+ const typeError = 'cpu.model'
79
+
80
+ const apiError = computed<string>(() => {
81
+ return (
82
+ props.errorValidationFields?.find((message) => message.field === typeError)
83
+ ?.error_message || ''
84
+ )
85
+ })
86
+
87
+ const onRemoveValidationError = (): void => {
88
+ emits('remove-error-by-title', typeError)
89
+ }
90
+ </script>
91
+
92
+ <style scoped lang="scss"></style>