bfg-common 1.5.424 → 1.5.425

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 (137) 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/assets/localization/local_be.json +2 -1
  7. package/assets/localization/local_en.json +2 -1
  8. package/assets/localization/local_hy.json +2 -1
  9. package/assets/localization/local_kk.json +2 -1
  10. package/assets/localization/local_ru.json +2 -1
  11. package/assets/localization/local_zh.json +2 -1
  12. package/components/atoms/TheIcon3.vue +50 -50
  13. package/components/atoms/collapse/CollapseNav.vue +170 -170
  14. package/components/atoms/perPage/PerPage.vue +58 -58
  15. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  16. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  17. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  18. package/components/common/context/lib/models/interfaces.ts +33 -33
  19. package/components/common/diagramMain/modals/lib/config/networkModal.ts +398 -398
  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 +82 -82
  24. package/components/common/pages/backups/Backups.vue +102 -102
  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 +231 -231
  28. package/components/common/pages/backups/modals/createBackup/CreateBackup.vue +376 -376
  29. package/components/common/pages/backups/modals/createBackup/configuration/Configuration.vue +29 -29
  30. package/components/common/pages/backups/modals/createBackup/configuration/backupWindow/BackupWindow.vue +26 -26
  31. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/MaxBandwidth.vue +66 -66
  32. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  33. package/components/common/pages/backups/modals/createBackup/configuration/strategy/Strategy.vue +35 -35
  34. package/components/common/pages/backups/modals/createBackup/datastores/Datastores.vue +59 -59
  35. package/components/common/pages/backups/modals/createBackup/datastores/tableView/TableView.vue +95 -95
  36. package/components/common/pages/backups/modals/createBackup/datastores/tableView/lib/config/table.ts +119 -119
  37. package/components/common/pages/backups/modals/createBackup/disks/tableView/lib/config/table.ts +117 -117
  38. package/components/common/pages/backups/modals/createBackup/general/General.vue +135 -135
  39. package/components/common/pages/backups/modals/createBackup/lib/config/steps.ts +117 -117
  40. package/components/common/pages/backups/modals/createBackup/lib/config/strategyOptions.ts +12 -12
  41. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  42. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  43. package/components/common/pages/backups/modals/restore/Restore.vue +417 -417
  44. package/components/common/pages/backups/modals/restore/disks/Disks.vue +27 -27
  45. package/components/common/pages/backups/modals/restore/disks/tableView/TableView.vue +102 -102
  46. package/components/common/pages/backups/modals/restore/disks/tableView/lib/config/table.ts +117 -117
  47. package/components/common/pages/backups/modals/restore/lib/config/steps.ts +108 -108
  48. package/components/common/pages/backups/modals/restore/name/Name.vue +160 -160
  49. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  50. package/components/common/pages/backups/modals/restore/networks/Networks.vue +67 -67
  51. package/components/common/pages/backups/modals/restore/networks/table/Table.vue +214 -214
  52. package/components/common/pages/backups/modals/restore/types/lib/config/typeOptions.ts +25 -25
  53. package/components/common/pages/backups/tools/Tools.vue +75 -75
  54. package/components/common/pages/backups/tools/lib/config/tabs.ts +36 -36
  55. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  56. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  57. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  58. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  59. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  60. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  61. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  62. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  63. package/components/common/select/radio/RadioGroup.vue +137 -137
  64. package/components/common/spiceConsole/Drawer.vue +381 -381
  65. package/components/common/spiceConsole/SpiceConsole.vue +127 -127
  66. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  67. package/components/common/tools/Actions.vue +207 -207
  68. package/components/common/treeView/TreeView.vue +52 -52
  69. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  70. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  71. package/components/common/vm/actions/clone/lib/config/steps.ts +291 -291
  72. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +2 -2
  73. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +4 -2
  74. package/components/common/vm/actions/clone/toTemplate/lib/models/interfaces.ts +1 -1
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +78 -78
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +85 -85
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/maximumSize/MaximumSize.vue +23 -23
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
  94. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  95. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  96. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  97. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  98. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapOld.vue +44 -44
  99. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  100. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  101. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  102. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  103. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +143 -143
  104. package/components/common/vm/actions/common/select/computeResource/New.vue +184 -184
  105. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +131 -131
  106. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  107. package/components/common/vm/actions/common/select/createType/lib/config/items.ts +48 -48
  108. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  109. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  110. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  111. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  112. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  113. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  114. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  115. package/components/common/vmt/actions/add/New.vue +5 -3
  116. package/components/common/vmt/actions/add/Old.vue +5 -3
  117. package/components/common/vmt/actions/add/lib/config/steps.ts +2 -2
  118. package/components/common/vmt/actions/add/lib/models/interfaces.ts +23 -23
  119. package/components/common/wizards/datastore/add/steps/nameAndConfigure/_serversList/lib/config/tableKeys.ts +2 -2
  120. package/components/common/wizards/datastore/add/steps/nameAndConfigure/_serversList/lib/models/types.ts +1 -1
  121. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  122. package/components/common/wizards/vm/migrate/lib/config/steps.ts +157 -157
  123. package/components/common/wizards/vm/migrate/lib/validations.ts +68 -68
  124. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  125. package/components/common/wizards/vm/migrate/select/type/lib/config/typeOptions.ts +45 -45
  126. package/composables/productNameLocal.ts +30 -30
  127. package/composables/useAppVersion.ts +21 -21
  128. package/package.json +1 -1
  129. package/plugins/date.ts +233 -233
  130. package/plugins/panelStates.ts +70 -70
  131. package/plugins/text.ts +59 -59
  132. package/public/spice-console/lib/images/bitmap.js +203 -203
  133. package/public/spice-console/network/spicechannel.js +390 -390
  134. package/store/main/mutations.ts +7 -7
  135. package/store/main/state.ts +7 -7
  136. package/store/tasks/lib/models/enums.ts +5 -0
  137. package/store/tasks/mappers/recentTasks.ts +14 -3
@@ -1,152 +1,152 @@
1
- <template>
2
- <div class="select-os">
3
- <p class="select-os-block">
4
- {{ localization.common.identifyingGuestSystemInstallation }}
5
- </p>
6
- <div class="select-os-block os-select-wrap table-row">
7
- <label for="machine-type-select" class="table-cell"
8
- >{{ localization.common.machineType }}:</label
9
- >
10
-
11
- <atoms-tooltip-error
12
- :has-error="!!props.apiErrorMachineType"
13
- selector="#vm-wizard-machine-type-select"
14
- @remove="emits('remove-error-by-title', 'machine_type')"
15
- >
16
- <template #elem>
17
- <select
18
- id="vm-wizard-machine-type-select"
19
- v-model="machineType"
20
- data-id="vm-wizard-machine-type-select"
21
- class="table-cell"
22
- >
23
- <option
24
- v-for="item in props.machineTypeOptions"
25
- :key="item.value"
26
- :value="item"
27
- >
28
- {{ item.text }}
29
- </option>
30
- </select>
31
- </template>
32
- <template #content>{{ props.apiErrorMachineType }}</template>
33
- </atoms-tooltip-error>
34
- </div>
35
- <div class="select-os-block os-select-wrap table-row">
36
- <label for="os-select" class="table-cell"
37
- >{{ localization.common.guestOsFamily }}:</label
38
- >
39
-
40
- <atoms-tooltip-error
41
- :has-error="!!props.apiErrorGuestOsFamily"
42
- selector="#vm-wizard-os-select"
43
- @remove="emits('remove-error-by-title', 'guest_os_family')"
44
- >
45
- <template #elem>
46
- <select
47
- id="vm-wizard-os-select"
48
- v-model="guestOsFamily"
49
- data-id="vm-wizard-os-select"
50
- class="table-cell"
51
- @change="emits('change-os')"
52
- >
53
- <option
54
- v-for="item in props.osOptions"
55
- :key="item.value"
56
- :value="item"
57
- >
58
- {{ item.text }}
59
- </option>
60
- </select>
61
- </template>
62
- <template #content>{{ props.apiErrorGuestOsFamily }}</template>
63
- </atoms-tooltip-error>
64
- </div>
65
- <div class="select-os-block os-select-wrap table-row">
66
- <label for="os-version-select" class="table-cell"
67
- >{{ localization.common.guestOsVersion }}:</label
68
- >
69
-
70
- <atoms-tooltip-error
71
- :has-error="!!props.apiErrorGuestOsVersion"
72
- selector="#vm-wizard-os-version-select"
73
- @remove="emits('remove-error-by-title', 'guest_os_version')"
74
- >
75
- <template #elem>
76
- <select
77
- id="vm-wizard-os-version-select"
78
- v-model="guestOsVersion"
79
- data-id="vm-wizard-os-version-select"
80
- class="table-cell"
81
- >
82
- <option
83
- v-for="item in props.versionsOptions"
84
- :key="item.value"
85
- :value="item"
86
- >
87
- {{ item.text }}
88
- </option>
89
- </select>
90
- </template>
91
- <template #content>{{ props.apiErrorGuestOsVersion }}</template>
92
- </atoms-tooltip-error>
93
- </div>
94
- </div>
95
- </template>
96
-
97
- <script setup lang="ts">
98
- import type { UI_I_Localization } from '~/lib/models/interfaces'
99
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
100
-
101
- const machineType = defineModel<UI_I_OptionItem | null>('machine-type', {
102
- required: true,
103
- })
104
- const guestOsFamily = defineModel<UI_I_OptionItem | null>('guest-os-family', {
105
- required: true,
106
- })
107
- const guestOsVersion = defineModel<UI_I_OptionItem | null>('guest-os-version', {
108
- required: true,
109
- })
110
-
111
- const props = defineProps<{
112
- apiErrorMachineType: string
113
- machineTypeOptions: UI_I_OptionItem[]
114
- apiErrorGuestOsFamily: string
115
- osOptions: UI_I_OptionItem[]
116
- apiErrorGuestOsVersion: string
117
- versionsOptions: UI_I_OptionItem[]
118
- }>()
119
- const emits = defineEmits<{
120
- (event: 'remove-error-by-title', value: string): void
121
- (event: 'change-os'): void
122
- }>()
123
- const localization = computed<UI_I_Localization>(() => useLocal())
124
- </script>
125
-
126
- <style scoped lang="scss">
127
- .select-os {
128
- .select-os-block {
129
- label:not(.windows-virtualization-label) {
130
- padding: 0 5px 5px 0;
131
- }
132
-
133
- .windows-virtualization-label {
134
- padding: 0 4px;
135
- }
136
- }
137
- }
138
-
139
- #os-select-help-icon {
140
- h3 {
141
- margin-top: 7px;
142
- font-size: 22px;
143
- color: #565656;
144
- }
145
- p {
146
- width: 310px;
147
- margin-top: 24px;
148
- font-size: 14px;
149
- color: #565656;
150
- }
151
- }
152
- </style>
1
+ <template>
2
+ <div class="select-os">
3
+ <p class="select-os-block">
4
+ {{ localization.common.identifyingGuestSystemInstallation }}
5
+ </p>
6
+ <div class="select-os-block os-select-wrap table-row">
7
+ <label for="machine-type-select" class="table-cell"
8
+ >{{ localization.common.machineType }}:</label
9
+ >
10
+
11
+ <atoms-tooltip-error
12
+ :has-error="!!props.apiErrorMachineType"
13
+ selector="#vm-wizard-machine-type-select"
14
+ @remove="emits('remove-error-by-title', 'machine_type')"
15
+ >
16
+ <template #elem>
17
+ <select
18
+ id="vm-wizard-machine-type-select"
19
+ v-model="machineType"
20
+ data-id="vm-wizard-machine-type-select"
21
+ class="table-cell"
22
+ >
23
+ <option
24
+ v-for="item in props.machineTypeOptions"
25
+ :key="item.value"
26
+ :value="item"
27
+ >
28
+ {{ item.text }}
29
+ </option>
30
+ </select>
31
+ </template>
32
+ <template #content>{{ props.apiErrorMachineType }}</template>
33
+ </atoms-tooltip-error>
34
+ </div>
35
+ <div class="select-os-block os-select-wrap table-row">
36
+ <label for="os-select" class="table-cell"
37
+ >{{ localization.common.guestOsFamily }}:</label
38
+ >
39
+
40
+ <atoms-tooltip-error
41
+ :has-error="!!props.apiErrorGuestOsFamily"
42
+ selector="#vm-wizard-os-select"
43
+ @remove="emits('remove-error-by-title', 'guest_os_family')"
44
+ >
45
+ <template #elem>
46
+ <select
47
+ id="vm-wizard-os-select"
48
+ v-model="guestOsFamily"
49
+ data-id="vm-wizard-os-select"
50
+ class="table-cell"
51
+ @change="emits('change-os')"
52
+ >
53
+ <option
54
+ v-for="item in props.osOptions"
55
+ :key="item.value"
56
+ :value="item"
57
+ >
58
+ {{ item.text }}
59
+ </option>
60
+ </select>
61
+ </template>
62
+ <template #content>{{ props.apiErrorGuestOsFamily }}</template>
63
+ </atoms-tooltip-error>
64
+ </div>
65
+ <div class="select-os-block os-select-wrap table-row">
66
+ <label for="os-version-select" class="table-cell"
67
+ >{{ localization.common.guestOsVersion }}:</label
68
+ >
69
+
70
+ <atoms-tooltip-error
71
+ :has-error="!!props.apiErrorGuestOsVersion"
72
+ selector="#vm-wizard-os-version-select"
73
+ @remove="emits('remove-error-by-title', 'guest_os_version')"
74
+ >
75
+ <template #elem>
76
+ <select
77
+ id="vm-wizard-os-version-select"
78
+ v-model="guestOsVersion"
79
+ data-id="vm-wizard-os-version-select"
80
+ class="table-cell"
81
+ >
82
+ <option
83
+ v-for="item in props.versionsOptions"
84
+ :key="item.value"
85
+ :value="item"
86
+ >
87
+ {{ item.text }}
88
+ </option>
89
+ </select>
90
+ </template>
91
+ <template #content>{{ props.apiErrorGuestOsVersion }}</template>
92
+ </atoms-tooltip-error>
93
+ </div>
94
+ </div>
95
+ </template>
96
+
97
+ <script setup lang="ts">
98
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
99
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
100
+
101
+ const machineType = defineModel<UI_I_OptionItem | null>('machine-type', {
102
+ required: true,
103
+ })
104
+ const guestOsFamily = defineModel<UI_I_OptionItem | null>('guest-os-family', {
105
+ required: true,
106
+ })
107
+ const guestOsVersion = defineModel<UI_I_OptionItem | null>('guest-os-version', {
108
+ required: true,
109
+ })
110
+
111
+ const props = defineProps<{
112
+ apiErrorMachineType: string
113
+ machineTypeOptions: UI_I_OptionItem[]
114
+ apiErrorGuestOsFamily: string
115
+ osOptions: UI_I_OptionItem[]
116
+ apiErrorGuestOsVersion: string
117
+ versionsOptions: UI_I_OptionItem[]
118
+ }>()
119
+ const emits = defineEmits<{
120
+ (event: 'remove-error-by-title', value: string): void
121
+ (event: 'change-os'): void
122
+ }>()
123
+ const localization = computed<UI_I_Localization>(() => useLocal())
124
+ </script>
125
+
126
+ <style scoped lang="scss">
127
+ .select-os {
128
+ .select-os-block {
129
+ label:not(.windows-virtualization-label) {
130
+ padding: 0 5px 5px 0;
131
+ }
132
+
133
+ .windows-virtualization-label {
134
+ padding: 0 4px;
135
+ }
136
+ }
137
+ }
138
+
139
+ #os-select-help-icon {
140
+ h3 {
141
+ margin-top: 7px;
142
+ font-size: 22px;
143
+ color: #565656;
144
+ }
145
+ p {
146
+ width: 310px;
147
+ margin-top: 24px;
148
+ font-size: 14px;
149
+ color: #565656;
150
+ }
151
+ }
152
+ </style>
@@ -1,139 +1,139 @@
1
- <template>
2
- <common-vm-actions-common-select-os-new
3
- v-if="isNewView"
4
- v-model:machine-type="machineType"
5
- v-model:guest-os-family="guestOsFamily"
6
- v-model:guest-os-version="guestOsVersion"
7
- :api-error-machine-type="apiErrorMachineType"
8
- :machine-type-options="machineTypeOptions"
9
- :api-error-guest-os-family="apiErrorGuestOsFamily"
10
- :os-options="osOptions"
11
- :api-error-guest-os-version="apiErrorGuestOsVersion"
12
- :versions-options="versionsOptions"
13
- @change-os="onChangeOs"
14
- @remove-error-by-title="onRemoveValidationError"
15
- />
16
- <common-vm-actions-common-select-os-old
17
- v-else
18
- v-model:machine-type="machineType"
19
- v-model:guest-os-family="guestOsFamily"
20
- v-model:guest-os-version="guestOsVersion"
21
- :api-error-machine-type="apiErrorMachineType"
22
- :machine-type-options="machineTypeOptions"
23
- :api-error-guest-os-family="apiErrorGuestOsFamily"
24
- :os-options="osOptions"
25
- :api-error-guest-os-version="apiErrorGuestOsVersion"
26
- :versions-options="versionsOptions"
27
- @change-os="onChangeOs"
28
- @remove-error-by-title="onRemoveValidationError"
29
- />
30
- </template>
31
-
32
- <script setup lang="ts">
33
- import type {
34
- UI_I_ArbitraryObject,
35
- } from '~/lib/models/interfaces'
36
- import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
37
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
38
-
39
- const machineType = defineModel<UI_I_OptionItem | null>('machine-type', {
40
- required: true,
41
- })
42
- const guestOsFamily = defineModel<UI_I_OptionItem | null>('guest-os-family', {
43
- required: true,
44
- })
45
- const guestOsVersion = defineModel<UI_I_OptionItem | null>('guest-os-version', {
46
- required: true,
47
- })
48
-
49
- const props = defineProps<{
50
- familiesOptions: UI_I_OptionItem[]
51
- machineTypesOptions: UI_I_OptionItem[]
52
- versionsOptions: UI_I_ArbitraryObject<UI_I_OptionItem[]>
53
- errorValidationFields: UI_I_ErrorValidationField[]
54
- }>()
55
- const emits = defineEmits<{
56
- (event: 'remove-error-by-title', value: string): void
57
- }>()
58
-
59
- const { $store }: any = useNuxtApp()
60
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
61
-
62
- const machineTypeOptions = ref<UI_I_OptionItem[]>(props.machineTypesOptions)
63
- watch(
64
- () => props.machineTypesOptions,
65
- (newValue) => {
66
- machineTypeOptions.value = [...newValue]
67
- if (machineType.value) return
68
-
69
- const q35MachineIndex = newValue.findIndex((item) =>
70
- item.value.toLowerCase().includes('q35')
71
- )
72
- if (q35MachineIndex === -1) {
73
- machineType.value = newValue[0]
74
- } else {
75
- machineType.value = newValue[q35MachineIndex]
76
- }
77
- },
78
- { immediate: true }
79
- )
80
-
81
- const osOptions = ref<UI_I_OptionItem[]>(props.familiesOptions)
82
- watch(
83
- () => props.familiesOptions,
84
- (newValue) => {
85
- osOptions.value = [...newValue]
86
- if (guestOsFamily.value) return
87
- guestOsFamily.value = newValue[0]
88
- },
89
- { immediate: true }
90
- )
91
- const onChangeOs = (): void => {
92
- guestOsVersion.value = versionsOptions.value[0]
93
- }
94
-
95
- const versionsOptions = computed<UI_I_OptionItem[]>(() => {
96
- if (!guestOsFamily.value) return []
97
-
98
- return props.versionsOptions[guestOsFamily.value.value] || []
99
- })
100
- watch(
101
- versionsOptions,
102
- () => {
103
- if (guestOsVersion.value) return
104
-
105
- guestOsVersion.value = versionsOptions.value[0]
106
- },
107
- { immediate: true }
108
- )
109
-
110
- const apiErrorMachineType = computed<string>(() => {
111
- return (
112
- props.errorValidationFields?.find(
113
- (message) => message.field === 'machine_type'
114
- )?.error_message || ''
115
- )
116
- })
117
-
118
- const apiErrorGuestOsFamily = computed<string>(() => {
119
- return (
120
- props.errorValidationFields?.find(
121
- (message) => message.field === 'guest_os_family'
122
- )?.error_message || ''
123
- )
124
- })
125
-
126
- const apiErrorGuestOsVersion = computed<string>(() => {
127
- return (
128
- props.errorValidationFields?.find(
129
- (message) => message.field === 'guest_os_version'
130
- )?.error_message || ''
131
- )
132
- })
133
-
134
- const onRemoveValidationError = (type: string): void => {
135
- emits('remove-error-by-title', type)
136
- }
137
- </script>
138
-
139
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <common-vm-actions-common-select-os-new
3
+ v-if="isNewView"
4
+ v-model:machine-type="machineType"
5
+ v-model:guest-os-family="guestOsFamily"
6
+ v-model:guest-os-version="guestOsVersion"
7
+ :api-error-machine-type="apiErrorMachineType"
8
+ :machine-type-options="machineTypeOptions"
9
+ :api-error-guest-os-family="apiErrorGuestOsFamily"
10
+ :os-options="osOptions"
11
+ :api-error-guest-os-version="apiErrorGuestOsVersion"
12
+ :versions-options="versionsOptions"
13
+ @change-os="onChangeOs"
14
+ @remove-error-by-title="onRemoveValidationError"
15
+ />
16
+ <common-vm-actions-common-select-os-old
17
+ v-else
18
+ v-model:machine-type="machineType"
19
+ v-model:guest-os-family="guestOsFamily"
20
+ v-model:guest-os-version="guestOsVersion"
21
+ :api-error-machine-type="apiErrorMachineType"
22
+ :machine-type-options="machineTypeOptions"
23
+ :api-error-guest-os-family="apiErrorGuestOsFamily"
24
+ :os-options="osOptions"
25
+ :api-error-guest-os-version="apiErrorGuestOsVersion"
26
+ :versions-options="versionsOptions"
27
+ @change-os="onChangeOs"
28
+ @remove-error-by-title="onRemoveValidationError"
29
+ />
30
+ </template>
31
+
32
+ <script setup lang="ts">
33
+ import type {
34
+ UI_I_ArbitraryObject,
35
+ } from '~/lib/models/interfaces'
36
+ import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
37
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
38
+
39
+ const machineType = defineModel<UI_I_OptionItem | null>('machine-type', {
40
+ required: true,
41
+ })
42
+ const guestOsFamily = defineModel<UI_I_OptionItem | null>('guest-os-family', {
43
+ required: true,
44
+ })
45
+ const guestOsVersion = defineModel<UI_I_OptionItem | null>('guest-os-version', {
46
+ required: true,
47
+ })
48
+
49
+ const props = defineProps<{
50
+ familiesOptions: UI_I_OptionItem[]
51
+ machineTypesOptions: UI_I_OptionItem[]
52
+ versionsOptions: UI_I_ArbitraryObject<UI_I_OptionItem[]>
53
+ errorValidationFields: UI_I_ErrorValidationField[]
54
+ }>()
55
+ const emits = defineEmits<{
56
+ (event: 'remove-error-by-title', value: string): void
57
+ }>()
58
+
59
+ const { $store }: any = useNuxtApp()
60
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
61
+
62
+ const machineTypeOptions = ref<UI_I_OptionItem[]>(props.machineTypesOptions)
63
+ watch(
64
+ () => props.machineTypesOptions,
65
+ (newValue) => {
66
+ machineTypeOptions.value = [...newValue]
67
+ if (machineType.value) return
68
+
69
+ const q35MachineIndex = newValue.findIndex((item) =>
70
+ item.value.toLowerCase().includes('q35')
71
+ )
72
+ if (q35MachineIndex === -1) {
73
+ machineType.value = newValue[0]
74
+ } else {
75
+ machineType.value = newValue[q35MachineIndex]
76
+ }
77
+ },
78
+ { immediate: true }
79
+ )
80
+
81
+ const osOptions = ref<UI_I_OptionItem[]>(props.familiesOptions)
82
+ watch(
83
+ () => props.familiesOptions,
84
+ (newValue) => {
85
+ osOptions.value = [...newValue]
86
+ if (guestOsFamily.value) return
87
+ guestOsFamily.value = newValue[0]
88
+ },
89
+ { immediate: true }
90
+ )
91
+ const onChangeOs = (): void => {
92
+ guestOsVersion.value = versionsOptions.value[0]
93
+ }
94
+
95
+ const versionsOptions = computed<UI_I_OptionItem[]>(() => {
96
+ if (!guestOsFamily.value) return []
97
+
98
+ return props.versionsOptions[guestOsFamily.value.value] || []
99
+ })
100
+ watch(
101
+ versionsOptions,
102
+ () => {
103
+ if (guestOsVersion.value) return
104
+
105
+ guestOsVersion.value = versionsOptions.value[0]
106
+ },
107
+ { immediate: true }
108
+ )
109
+
110
+ const apiErrorMachineType = computed<string>(() => {
111
+ return (
112
+ props.errorValidationFields?.find(
113
+ (message) => message.field === 'machine_type'
114
+ )?.error_message || ''
115
+ )
116
+ })
117
+
118
+ const apiErrorGuestOsFamily = computed<string>(() => {
119
+ return (
120
+ props.errorValidationFields?.find(
121
+ (message) => message.field === 'guest_os_family'
122
+ )?.error_message || ''
123
+ )
124
+ })
125
+
126
+ const apiErrorGuestOsVersion = computed<string>(() => {
127
+ return (
128
+ props.errorValidationFields?.find(
129
+ (message) => message.field === 'guest_os_version'
130
+ )?.error_message || ''
131
+ )
132
+ })
133
+
134
+ const onRemoveValidationError = (type: string): void => {
135
+ emits('remove-error-by-title', type)
136
+ }
137
+ </script>
138
+
139
+ <style scoped lang="scss"></style>
@@ -1,6 +1,6 @@
1
- export interface UI_I_StatusData {
2
- iconClassName: string
3
- color: string
4
- isState: boolean
5
- text: string
1
+ export interface UI_I_StatusData {
2
+ iconClassName: string
3
+ color: string
4
+ isState: boolean
5
+ text: string
6
6
  }
@@ -1,21 +1,21 @@
1
- import type { UI_I_StatusData } from '~/components/common/vm/actions/common/select/storage/new/lib/models/interfaces'
2
-
3
- export const getStatus = (
4
- status: boolean,
5
- text1?: string,
6
- text2?: string
7
- ): UI_I_StatusData => {
8
- return status
9
- ? {
10
- iconClassName: 'status-check',
11
- color: 'green',
12
- isState: true,
13
- text: text1 || 'True',
14
- }
15
- : {
16
- iconClassName: 'close',
17
- color: 'red',
18
- isState: true,
19
- text: text2 || 'False',
20
- }
21
- }
1
+ import type { UI_I_StatusData } from '~/components/common/vm/actions/common/select/storage/new/lib/models/interfaces'
2
+
3
+ export const getStatus = (
4
+ status: boolean,
5
+ text1?: string,
6
+ text2?: string
7
+ ): UI_I_StatusData => {
8
+ return status
9
+ ? {
10
+ iconClassName: 'status-check',
11
+ color: 'green',
12
+ isState: true,
13
+ text: text1 || 'True',
14
+ }
15
+ : {
16
+ iconClassName: 'close',
17
+ color: 'red',
18
+ isState: true,
19
+ text: text2 || 'False',
20
+ }
21
+ }