bfg-common 1.5.577 → 1.5.578

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 (61) hide show
  1. package/components/common/vm/actions/add/Add.vue +886 -960
  2. package/components/common/vm/actions/add/New.vue +16 -54
  3. package/components/common/vm/actions/add/Old.vue +16 -55
  4. package/components/common/vm/actions/add/lib/config/steps.ts +347 -347
  5. package/components/common/vm/actions/clone/Clone.vue +744 -816
  6. package/components/common/vm/actions/clone/new/New.vue +14 -50
  7. package/components/common/vm/actions/clone/old/Old.vue +16 -52
  8. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +14 -81
  9. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +7 -56
  10. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +8 -56
  11. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +211 -206
  12. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +225 -120
  13. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +220 -118
  14. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +66 -53
  15. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +139 -159
  16. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +8 -15
  17. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuOld.vue +8 -13
  18. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +62 -75
  19. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +241 -149
  20. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +3 -4
  21. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +2 -3
  22. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +62 -100
  23. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +6 -17
  24. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +6 -3
  25. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerOld.vue +6 -3
  26. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +17 -39
  27. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +6 -5
  28. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +6 -5
  29. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/lib/config/options.ts +4 -4
  30. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +6 -93
  31. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +8 -60
  32. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsOld.vue +8 -58
  33. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +5 -69
  34. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +12 -32
  35. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsOld.vue +12 -33
  36. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +114 -132
  37. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +41 -6
  38. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderOld.vue +44 -6
  39. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +8 -23
  40. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +21 -31
  41. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsOld.vue +26 -34
  42. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +28 -34
  43. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/Old.vue +24 -30
  44. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +8 -112
  45. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +3 -3
  46. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{KeymapNew.vue → New.vue} +6 -6
  47. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{KeymapOld.vue → Old.vue} +5 -5
  48. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +6 -7
  49. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +9 -27
  50. package/components/common/vm/actions/common/lib/models/interfaces.ts +58 -25
  51. package/components/common/vm/actions/common/select/options/New.vue +258 -258
  52. package/components/common/vm/actions/common/select/options/Old.vue +103 -103
  53. package/components/common/vm/actions/common/select/options/Options.vue +54 -54
  54. package/components/common/vm/actions/editSettings/EditSettings.vue +32 -90
  55. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +14 -41
  56. package/components/common/vm/actions/editSettings/new/New.vue +14 -41
  57. package/components/common/vm/actions/lib/models/interfaces.ts +4 -29
  58. package/components/common/vm/actions/lib/utils.ts +64 -36
  59. package/package.json +1 -1
  60. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{PasswordNew.vue → New.vue} +0 -0
  61. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{PasswordOld.vue → Old.vue} +0 -0
@@ -1,258 +1,258 @@
1
- <template>
2
- <div
3
- ref="mainContainer"
4
- :class="[
5
- 'select-options grid gap-3 mt-4',
6
- { 'is-sm-size': isContainerSm },
7
- { 'three-items': !props.isCreateTemplate },
8
- ]"
9
- >
10
- <div
11
- :class="[
12
- 'checkbox-container',
13
- { checked: isCustomizeOs },
14
- { disabled: props.isCreateTemplate },
15
- ]"
16
- @click.stop.prevent="onToggleCustomizeOs"
17
- >
18
- <ui-checkbox
19
- v-model="isCustomizeOs"
20
- :label-text="localization.vmWizard.customizeOS"
21
- :title="localization.vmWizard.customizeOS"
22
- :disabled="props.isCreateTemplate"
23
- test-id="customize-os"
24
- size="md"
25
- />
26
- <p
27
- :class="[
28
- 'checkbox-block-description mt-2 ml-7 mr-3',
29
- { disabled: props.isCreateTemplate },
30
- ]"
31
- >
32
- {{ localization.vmWizard.customizeOperatingSystem }}
33
- </p>
34
- </div>
35
- <div
36
- v-if="!props.isCreateTemplate"
37
- :class="[
38
- 'checkbox-container',
39
- { checked: isCustomizeHardware },
40
- { disabled: props.isCreateTemplate },
41
- ]"
42
- @click.stop.prevent="onToggleCustomizeHardware"
43
- >
44
- <ui-checkbox
45
- v-model="isCustomizeHardware"
46
- :label-text="localization.common.customizeHardware"
47
- :title="localization.common.customizeHardware"
48
- :disabled="props.isCreateTemplate"
49
- test-id="customize-hardware"
50
- size="md"
51
- />
52
- <p
53
- :class="[
54
- 'checkbox-block-description mt-2 ml-7 mr-3',
55
- { disabled: props.isCreateTemplate },
56
- ]"
57
- >
58
- {{ localization.vmWizard.customizeVMHardware }}
59
- </p>
60
- </div>
61
- <div
62
- :class="[
63
- 'checkbox-container',
64
- { checked: isPowerOn },
65
- { disabled: props.isCreateTemplate },
66
- ]"
67
- @click.stop.prevent="onTogglePowerOn"
68
- >
69
- <!-- :disabled="props.isCreateTemplate"-->
70
- <ui-checkbox
71
- v-model="isPowerOn"
72
- :label-text="localization.vmWizard.autoPowerOn"
73
- :title="localization.vmWizard.autoPowerOn"
74
- test-id="power-on"
75
- size="md"
76
- />
77
- <!-- { disabled: props.isCreateTemplate },-->
78
- <p :class="['checkbox-block-description mt-2 ml-7 mr-3']">
79
- {{ localization.vmWizard.powerVMAfterCreation }}
80
- </p>
81
- </div>
82
- <div
83
- v-if="props.isCreateTemplate"
84
- :class="['checkbox-container', { checked: isLinkedClone }]"
85
- @click.stop.prevent="onToggleLinkedClone"
86
- >
87
- <ui-checkbox
88
- v-model="isLinkedClone"
89
- :label-text="localization.vmWizard.createLinkedClone"
90
- :title="localization.vmWizard.createLinkedClone"
91
- test-id="create-inked-clone"
92
- size="md"
93
- />
94
-
95
- <ui-input
96
- v-model="cloneCount"
97
- :disabled="!isLinkedClone"
98
- test-id="clone-count"
99
- type="number"
100
- class="ml-1"
101
- />
102
- </div>
103
- </div>
104
- </template>
105
-
106
- <script setup lang="ts">
107
- import { useElementSize } from '@vueuse/core'
108
- import type { UI_I_Localization } from '~/lib/models/interfaces'
109
-
110
- const modelValue = defineModel<string[]>({ required: true })
111
- const cloneCount = defineModel<number>('cloneCount')
112
-
113
- const props = withDefaults(
114
- defineProps<{
115
- isCreateTemplate?: boolean // TODO change
116
- }>(),
117
- {
118
- isCreateTemplate: undefined,
119
- }
120
- )
121
-
122
- const localization = computed<UI_I_Localization>(() => useLocal())
123
-
124
- const mainContainer = ref<HTMLElement | null>(null)
125
- const { width: mainContainerWidth } = useElementSize(mainContainer)
126
-
127
- const isCustomizeOs = ref<boolean>(false)
128
- const isCustomizeHardware = ref<boolean>(false)
129
- const isPowerOn = ref<boolean>(false)
130
- const isLinkedClone = ref<boolean>(false)
131
-
132
- const onToggleCustomizeOs = (): void => {
133
- if (props.isCreateTemplate) return
134
-
135
- isCustomizeOs.value = !isCustomizeOs.value
136
- if (isCustomizeOs.value) {
137
- !modelValue.value.includes('customize-os') &&
138
- modelValue.value.push('customize-os')
139
- } else {
140
- modelValue.value = modelValue.value.filter(
141
- (item) => item !== 'customize-os'
142
- )
143
- }
144
- }
145
-
146
- const onToggleCustomizeHardware = (): void => {
147
- if (props.isCreateTemplate) return
148
-
149
- isCustomizeHardware.value = !isCustomizeHardware.value
150
- if (isCustomizeHardware.value) {
151
- !modelValue.value.includes('customize-hardware') &&
152
- modelValue.value.push('customize-hardware')
153
- } else {
154
- modelValue.value = modelValue.value.filter(
155
- (item) => item !== 'customize-hardware'
156
- )
157
- }
158
- }
159
-
160
- const onTogglePowerOn = (): void => {
161
- if (props.isCreateTemplate) return
162
-
163
- isPowerOn.value = !isPowerOn.value
164
- if (isPowerOn.value) {
165
- !modelValue.value.includes('power-on') && modelValue.value.push('power-on')
166
- } else {
167
- modelValue.value = modelValue.value.filter((item) => item !== 'power-on')
168
- }
169
- }
170
-
171
- const onToggleLinkedClone = (): void => {
172
- isLinkedClone.value = !isLinkedClone.value
173
- if (isLinkedClone.value) {
174
- !modelValue.value.includes('create-inked-clone') &&
175
- modelValue.value.push('create-inked-clone')
176
- } else {
177
- modelValue.value = modelValue.value.filter(
178
- (item) => item !== 'create-inked-clone'
179
- )
180
- }
181
- }
182
-
183
- const isContainerSm = ref<boolean>(false)
184
- watch(
185
- mainContainerWidth,
186
- (newValue) => {
187
- isContainerSm.value = newValue <= 600
188
- },
189
- { immediate: true }
190
- )
191
- </script>
192
-
193
- <style>
194
- :root {
195
- --select-option-target-vm-checkbox-description-disabled: #bdc3c7;
196
- }
197
- :root.dark-theme {
198
- --select-option-target-vm-checkbox-description-disabled: #bdc3c770;
199
- }
200
- </style>
201
-
202
- <style scoped lang="scss">
203
- .select-options {
204
- grid-template-columns: 1fr 1fr;
205
- grid-template-rows: max-content;
206
- overflow-y: auto;
207
- padding-bottom: 16px;
208
-
209
- &.is-sm-size {
210
- grid-template-columns: 1fr;
211
- }
212
-
213
- &.three-items {
214
- grid-template-columns: 1fr 1fr 1fr;
215
- }
216
-
217
- .checkbox-container {
218
- width: 100%;
219
- background-color: var(--select-bg);
220
- border-radius: 8px;
221
- padding: 12px;
222
- transition: box-shadow 0.1s ease-in-out;
223
- box-shadow: inset 0 0 0 1px var(--line-color);
224
-
225
- &.disabled {
226
- cursor: not-allowed;
227
- }
228
- &:not(.disabled):hover {
229
- cursor: pointer;
230
- }
231
- &:not(.disabled):not(.checked):hover {
232
- box-shadow: inset 0 0 0 1px var(--select-border);
233
- }
234
- &.checked {
235
- background-color: var(--radio-btn-active-label-bg-color);
236
- box-shadow: inset 0 0 0 1.5px var(--radio-btn-active-label-border-color);
237
- }
238
-
239
- :deep(.ui-checkbox-label) {
240
- align-items: flex-start;
241
-
242
- .ui-checkbox-label-text {
243
- line-height: 18px;
244
- margin-top: 1px;
245
- }
246
- }
247
-
248
- .checkbox-block-description {
249
- color: #9da6ad;
250
- line-height: 18px;
251
-
252
- &.disabled {
253
- color: var(--select-option-target-vm-checkbox-description-disabled);
254
- }
255
- }
256
- }
257
- }
258
- </style>
1
+ <template>
2
+ <div
3
+ ref="mainContainer"
4
+ :class="[
5
+ 'select-options grid gap-3 mt-4',
6
+ { 'is-sm-size': isContainerSm },
7
+ { 'three-items': !props.isCreateTemplate },
8
+ ]"
9
+ >
10
+ <div
11
+ :class="[
12
+ 'checkbox-container',
13
+ { checked: isCustomizeOs },
14
+ { disabled: props.isCreateTemplate },
15
+ ]"
16
+ @click.stop.prevent="onToggleCustomizeOs"
17
+ >
18
+ <ui-checkbox
19
+ v-model="isCustomizeOs"
20
+ :label-text="localization.vmWizard.customizeOS"
21
+ :title="localization.vmWizard.customizeOS"
22
+ :disabled="props.isCreateTemplate"
23
+ test-id="customize-os"
24
+ size="md"
25
+ />
26
+ <p
27
+ :class="[
28
+ 'checkbox-block-description mt-2 ml-7 mr-3',
29
+ { disabled: props.isCreateTemplate },
30
+ ]"
31
+ >
32
+ {{ localization.vmWizard.customizeOperatingSystem }}
33
+ </p>
34
+ </div>
35
+ <div
36
+ v-if="!props.isCreateTemplate"
37
+ :class="[
38
+ 'checkbox-container',
39
+ { checked: isCustomizeHardware },
40
+ { disabled: props.isCreateTemplate },
41
+ ]"
42
+ @click.stop.prevent="onToggleCustomizeHardware"
43
+ >
44
+ <ui-checkbox
45
+ v-model="isCustomizeHardware"
46
+ :label-text="localization.common.customizeHardware"
47
+ :title="localization.common.customizeHardware"
48
+ :disabled="props.isCreateTemplate"
49
+ test-id="customize-hardware"
50
+ size="md"
51
+ />
52
+ <p
53
+ :class="[
54
+ 'checkbox-block-description mt-2 ml-7 mr-3',
55
+ { disabled: props.isCreateTemplate },
56
+ ]"
57
+ >
58
+ {{ localization.vmWizard.customizeVMHardware }}
59
+ </p>
60
+ </div>
61
+ <div
62
+ :class="[
63
+ 'checkbox-container',
64
+ { checked: isPowerOn },
65
+ { disabled: props.isCreateTemplate },
66
+ ]"
67
+ @click.stop.prevent="onTogglePowerOn"
68
+ >
69
+ <!-- :disabled="props.isCreateTemplate"-->
70
+ <ui-checkbox
71
+ v-model="isPowerOn"
72
+ :label-text="localization.vmWizard.autoPowerOn"
73
+ :title="localization.vmWizard.autoPowerOn"
74
+ test-id="power-on"
75
+ size="md"
76
+ />
77
+ <!-- { disabled: props.isCreateTemplate },-->
78
+ <p :class="['checkbox-block-description mt-2 ml-7 mr-3']">
79
+ {{ localization.vmWizard.powerVMAfterCreation }}
80
+ </p>
81
+ </div>
82
+ <div
83
+ v-if="props.isCreateTemplate"
84
+ :class="['checkbox-container', { checked: isLinkedClone }]"
85
+ @click.stop.prevent="onToggleLinkedClone"
86
+ >
87
+ <ui-checkbox
88
+ v-model="isLinkedClone"
89
+ :label-text="localization.vmWizard.createLinkedClone"
90
+ :title="localization.vmWizard.createLinkedClone"
91
+ test-id="create-inked-clone"
92
+ size="md"
93
+ />
94
+
95
+ <ui-input
96
+ v-model="cloneCount"
97
+ :disabled="!isLinkedClone"
98
+ test-id="clone-count"
99
+ type="number"
100
+ class="ml-1"
101
+ />
102
+ </div>
103
+ </div>
104
+ </template>
105
+
106
+ <script setup lang="ts">
107
+ import { useElementSize } from '@vueuse/core'
108
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
109
+
110
+ const modelValue = defineModel<string[]>({ required: true })
111
+ const cloneCount = defineModel<number>('cloneCount')
112
+
113
+ const props = withDefaults(
114
+ defineProps<{
115
+ isCreateTemplate?: boolean // TODO change
116
+ }>(),
117
+ {
118
+ isCreateTemplate: undefined,
119
+ }
120
+ )
121
+
122
+ const localization = computed<UI_I_Localization>(() => useLocal())
123
+
124
+ const mainContainer = ref<HTMLElement | null>(null)
125
+ const { width: mainContainerWidth } = useElementSize(mainContainer)
126
+
127
+ const isCustomizeOs = ref<boolean>(false)
128
+ const isCustomizeHardware = ref<boolean>(false)
129
+ const isPowerOn = ref<boolean>(false)
130
+ const isLinkedClone = ref<boolean>(false)
131
+
132
+ const onToggleCustomizeOs = (): void => {
133
+ if (props.isCreateTemplate) return
134
+
135
+ isCustomizeOs.value = !isCustomizeOs.value
136
+ if (isCustomizeOs.value) {
137
+ !modelValue.value.includes('customize-os') &&
138
+ modelValue.value.push('customize-os')
139
+ } else {
140
+ modelValue.value = modelValue.value.filter(
141
+ (item) => item !== 'customize-os'
142
+ )
143
+ }
144
+ }
145
+
146
+ const onToggleCustomizeHardware = (): void => {
147
+ if (props.isCreateTemplate) return
148
+
149
+ isCustomizeHardware.value = !isCustomizeHardware.value
150
+ if (isCustomizeHardware.value) {
151
+ !modelValue.value.includes('customize-hardware') &&
152
+ modelValue.value.push('customize-hardware')
153
+ } else {
154
+ modelValue.value = modelValue.value.filter(
155
+ (item) => item !== 'customize-hardware'
156
+ )
157
+ }
158
+ }
159
+
160
+ const onTogglePowerOn = (): void => {
161
+ if (props.isCreateTemplate) return
162
+
163
+ isPowerOn.value = !isPowerOn.value
164
+ if (isPowerOn.value) {
165
+ !modelValue.value.includes('power-on') && modelValue.value.push('power-on')
166
+ } else {
167
+ modelValue.value = modelValue.value.filter((item) => item !== 'power-on')
168
+ }
169
+ }
170
+
171
+ const onToggleLinkedClone = (): void => {
172
+ isLinkedClone.value = !isLinkedClone.value
173
+ if (isLinkedClone.value) {
174
+ !modelValue.value.includes('create-inked-clone') &&
175
+ modelValue.value.push('create-inked-clone')
176
+ } else {
177
+ modelValue.value = modelValue.value.filter(
178
+ (item) => item !== 'create-inked-clone'
179
+ )
180
+ }
181
+ }
182
+
183
+ const isContainerSm = ref<boolean>(false)
184
+ watch(
185
+ mainContainerWidth,
186
+ (newValue) => {
187
+ isContainerSm.value = newValue <= 600
188
+ },
189
+ { immediate: true }
190
+ )
191
+ </script>
192
+
193
+ <style>
194
+ :root {
195
+ --select-option-target-vm-checkbox-description-disabled: #bdc3c7;
196
+ }
197
+ :root.dark-theme {
198
+ --select-option-target-vm-checkbox-description-disabled: #bdc3c770;
199
+ }
200
+ </style>
201
+
202
+ <style scoped lang="scss">
203
+ .select-options {
204
+ grid-template-columns: 1fr 1fr;
205
+ grid-template-rows: max-content;
206
+ overflow-y: auto;
207
+ padding-bottom: 16px;
208
+
209
+ &.is-sm-size {
210
+ grid-template-columns: 1fr;
211
+ }
212
+
213
+ &.three-items {
214
+ grid-template-columns: 1fr 1fr 1fr;
215
+ }
216
+
217
+ .checkbox-container {
218
+ width: 100%;
219
+ background-color: var(--select-bg);
220
+ border-radius: 8px;
221
+ padding: 12px;
222
+ transition: box-shadow 0.1s ease-in-out;
223
+ box-shadow: inset 0 0 0 1px var(--line-color);
224
+
225
+ &.disabled {
226
+ cursor: not-allowed;
227
+ }
228
+ &:not(.disabled):hover {
229
+ cursor: pointer;
230
+ }
231
+ &:not(.disabled):not(.checked):hover {
232
+ box-shadow: inset 0 0 0 1px var(--select-border);
233
+ }
234
+ &.checked {
235
+ background-color: var(--radio-btn-active-label-bg-color);
236
+ box-shadow: inset 0 0 0 1.5px var(--radio-btn-active-label-border-color);
237
+ }
238
+
239
+ :deep(.ui-checkbox-label) {
240
+ align-items: flex-start;
241
+
242
+ .ui-checkbox-label-text {
243
+ line-height: 18px;
244
+ margin-top: 1px;
245
+ }
246
+ }
247
+
248
+ .checkbox-block-description {
249
+ color: #9da6ad;
250
+ line-height: 18px;
251
+
252
+ &.disabled {
253
+ color: var(--select-option-target-vm-checkbox-description-disabled);
254
+ }
255
+ }
256
+ }
257
+ }
258
+ </style>