bfg-common 1.4.288 → 1.4.290

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 (44) hide show
  1. package/assets/img/icons/icons-sprite-dark-1.svg +407 -407
  2. package/assets/img/icons/icons-sprite-dark-2.svg +343 -343
  3. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  4. package/assets/img/icons/icons-sprite-dark-4.svg +255 -255
  5. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  6. package/assets/img/icons/icons-sprite-dark-6.svg +94 -83
  7. package/assets/img/icons/icons-sprite-light-1.svg +407 -407
  8. package/assets/img/icons/icons-sprite-light-2.svg +343 -343
  9. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  10. package/assets/img/icons/icons-sprite-light-4.svg +255 -255
  11. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  12. package/assets/img/icons/icons-sprite-light-6.svg +94 -83
  13. package/assets/localization/local_be.json +2 -56
  14. package/assets/localization/local_en.json +2 -56
  15. package/assets/localization/local_hy.json +2 -56
  16. package/assets/localization/local_kk.json +2 -56
  17. package/assets/localization/local_ru.json +2 -56
  18. package/assets/localization/local_zh.json +2 -56
  19. package/assets/scss/common/icons/icons-6.scss +12 -0
  20. package/components/atoms/TheIcon3.vue +50 -50
  21. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  22. package/components/atoms/stack/StackBlock.vue +185 -185
  23. package/components/atoms/wizard/lib/utils/utils.ts +0 -104
  24. package/components/common/browse/blocks/Title.vue +91 -91
  25. package/components/common/browse/blocks/info/Date.vue +21 -21
  26. package/components/common/context/lib/models/interfaces.ts +30 -30
  27. package/components/common/context/recursion/Recursion.vue +86 -86
  28. package/components/common/context/recursion/RecursionNew.vue +199 -199
  29. package/components/common/context/recursion/RecursionOld.vue +213 -213
  30. package/components/common/modals/confirmation/Confirmation.vue +65 -65
  31. package/components/common/vm/actions/add/Add.vue +617 -617
  32. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  33. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/lib/config/options.ts +20 -20
  34. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +403 -403
  35. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Hv.vue +99 -99
  36. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +201 -201
  37. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +85 -85
  38. package/composables/productNameLocal.ts +30 -30
  39. package/package.json +1 -1
  40. package/plugins/date.ts +181 -181
  41. package/plugins/recursion.ts +311 -311
  42. package/public/spice-console/lib/images/bitmap.js +203 -203
  43. package/public/spice-console/network/spicechannel.js +383 -383
  44. package/store/tasks/mappers/recentTasks.ts +45 -45
@@ -1,99 +1,99 @@
1
- <template>
2
- <div class="">
3
- <atoms-stack-block :has-children="false">
4
- <template #stackBlockKey>
5
- {{ localization.common.hardwareVirtualization }}
6
- </template>
7
- <template #stackBlockContent>
8
- <div class="flex-space-between">
9
- <div class="flex-align-center">
10
- <input
11
- id="expose-hardware-assisted-virtualization"
12
- v-model="hardwareVirtualizationLocal"
13
- data-id="expose-hardware-assisted-virtualization"
14
- type="checkbox"
15
- disabled
16
- />
17
- <label
18
- for="expose-hardware-assisted-virtualization"
19
- :class="['label-text-normal', { 'div-disabled': true }]"
20
- >{{
21
- localization.common.exposeHardwareAssistedVirtualizationGuestOs
22
- }}</label
23
- >
24
- </div>
25
-
26
- <div id="hv-help-icon">
27
- <atoms-the-icon
28
- fill="#0072a3"
29
- width="24px"
30
- height="24px"
31
- name="info-circle"
32
- data-id="show-hv-help-icon"
33
- @click.stop="isShowHvHelp = !isShowHvHelp"
34
- />
35
- <Teleport to="body">
36
- <atoms-tooltip-signpost
37
- v-if="isShowHvHelp"
38
- elem-id="hv-help-icon"
39
- @hide="isShowHvHelp = false"
40
- >
41
- <h3 class="hv-help-title">
42
- {{ localization.mainNavigation.help }}
43
- </h3>
44
-
45
- <p class="hv-help-text">
46
- {{
47
- localization.common.hardwareVirtualizationHelpDescription
48
- }}
49
- </p>
50
- </atoms-tooltip-signpost>
51
- </Teleport>
52
- </div>
53
- </div>
54
- </template>
55
- </atoms-stack-block>
56
- </div>
57
- </template>
58
-
59
- <script setup lang="ts">
60
- import type { UI_I_Localization } from '~/lib/models/interfaces'
61
-
62
- const localization = computed<UI_I_Localization>(() => useLocal())
63
-
64
- const props = defineProps<{
65
- hardwareVirtualization: boolean
66
- }>()
67
- const emits = defineEmits<{
68
- (event: 'update:hardware-virtualization', value: boolean): boolean
69
- }>()
70
-
71
- const hardwareVirtualizationLocal = computed<boolean>({
72
- get() {
73
- return props.hardwareVirtualization
74
- },
75
- set(newValue) {
76
- emits('update:hardware-virtualization', newValue)
77
- },
78
- })
79
-
80
- const isShowHvHelp = ref<boolean>(false)
81
- </script>
82
-
83
- <style scoped lang="scss">
84
- #expose-hardware-assisted-virtualization {
85
- margin: 4px 4px 0 0;
86
- }
87
-
88
- h3.hv-help-title {
89
- margin-top: 7px;
90
- font-size: 22px;
91
- color: #565656;
92
- }
93
- p.hv-help-text {
94
- width: 310px;
95
- margin-top: 24px;
96
- font-size: 14px;
97
- color: #565656;
98
- }
99
- </style>
1
+ <template>
2
+ <div class="">
3
+ <atoms-stack-block :has-children="false">
4
+ <template #stackBlockKey>
5
+ {{ localization.common.hardwareVirtualization }}
6
+ </template>
7
+ <template #stackBlockContent>
8
+ <div class="flex-space-between">
9
+ <div class="flex-align-center">
10
+ <input
11
+ id="expose-hardware-assisted-virtualization"
12
+ v-model="hardwareVirtualizationLocal"
13
+ data-id="expose-hardware-assisted-virtualization"
14
+ type="checkbox"
15
+ disabled
16
+ />
17
+ <label
18
+ for="expose-hardware-assisted-virtualization"
19
+ :class="['label-text-normal', { 'div-disabled': true }]"
20
+ >{{
21
+ localization.common.exposeHardwareAssistedVirtualizationGuestOs
22
+ }}</label
23
+ >
24
+ </div>
25
+
26
+ <div id="hv-help-icon">
27
+ <atoms-the-icon
28
+ fill="#0072a3"
29
+ width="24px"
30
+ height="24px"
31
+ name="info-circle"
32
+ data-id="show-hv-help-icon"
33
+ @click.stop="isShowHvHelp = !isShowHvHelp"
34
+ />
35
+ <Teleport to="body">
36
+ <atoms-tooltip-signpost
37
+ v-if="isShowHvHelp"
38
+ elem-id="hv-help-icon"
39
+ @hide="isShowHvHelp = false"
40
+ >
41
+ <h3 class="hv-help-title">
42
+ {{ localization.mainNavigation.help }}
43
+ </h3>
44
+
45
+ <p class="hv-help-text">
46
+ {{
47
+ localization.common.hardwareVirtualizationHelpDescription
48
+ }}
49
+ </p>
50
+ </atoms-tooltip-signpost>
51
+ </Teleport>
52
+ </div>
53
+ </div>
54
+ </template>
55
+ </atoms-stack-block>
56
+ </div>
57
+ </template>
58
+
59
+ <script setup lang="ts">
60
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
61
+
62
+ const localization = computed<UI_I_Localization>(() => useLocal())
63
+
64
+ const props = defineProps<{
65
+ hardwareVirtualization: boolean
66
+ }>()
67
+ const emits = defineEmits<{
68
+ (event: 'update:hardware-virtualization', value: boolean): boolean
69
+ }>()
70
+
71
+ const hardwareVirtualizationLocal = computed<boolean>({
72
+ get() {
73
+ return props.hardwareVirtualization
74
+ },
75
+ set(newValue) {
76
+ emits('update:hardware-virtualization', newValue)
77
+ },
78
+ })
79
+
80
+ const isShowHvHelp = ref<boolean>(false)
81
+ </script>
82
+
83
+ <style scoped lang="scss">
84
+ #expose-hardware-assisted-virtualization {
85
+ margin: 4px 4px 0 0;
86
+ }
87
+
88
+ h3.hv-help-title {
89
+ margin-top: 7px;
90
+ font-size: 22px;
91
+ color: #565656;
92
+ }
93
+ p.hv-help-text {
94
+ width: 310px;
95
+ margin-top: 24px;
96
+ font-size: 14px;
97
+ color: #565656;
98
+ }
99
+ </style>
@@ -1,201 +1,201 @@
1
- <template>
2
- <div class="boot-orders">
3
- <atoms-stack-block :has-children="false">
4
- <template #stackBlockKey>
5
- {{ localization.common.bootOrder }}
6
- </template>
7
- <template #stackBlockContent>
8
- <atoms-list-drag-drop-list
9
- :items="bootList"
10
- grab-item-key="text"
11
- @drop="onChangeOrder"
12
- >
13
- <template
14
- v-for="(item, index) in bootList"
15
- :key="index"
16
- #[`leftSide${index}`]
17
- >
18
- <input
19
- :id="`boot-order-${index}`"
20
- v-model="item.isChecked"
21
- :data-id="item.testId"
22
- type="checkbox"
23
- />
24
- </template>
25
- <template
26
- v-for="(item, index) in bootList"
27
- :key="bootList.length + index"
28
- #[`rightSide${index}`]
29
- >
30
- <div :class="['device-icon', item.iconClassName]" />
31
- <span>{{ item.text }}</span>
32
- </template>
33
- </atoms-list-drag-drop-list>
34
- </template>
35
- </atoms-stack-block>
36
- </div>
37
- </template>
38
-
39
- <script setup lang="ts">
40
- import type { UI_I_BootItem } from '~/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/lib/models/interfaces'
41
- import type {
42
- UI_I_SendDataNewCdDvdDrive,
43
- UI_I_SendDataNewHardDisk,
44
- UI_I_SendDataNewNetwork,
45
- } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
46
- import type { UI_I_Localization } from '~/lib/models/interfaces'
47
- import type { UI_I_DropEvent } from '~/components/atoms/list/dragDropList/lib/config/events'
48
-
49
- const localization = computed<UI_I_Localization>(() => useLocal())
50
-
51
- const props = defineProps<{
52
- hardDisks: UI_I_SendDataNewHardDisk[] | null
53
- cdDvdDrives: UI_I_SendDataNewCdDvdDrive[] | null
54
- networks: UI_I_SendDataNewNetwork[] | null
55
- }>()
56
- const emits = defineEmits<{
57
- (
58
- event: 'change',
59
- value: [
60
- UI_I_SendDataNewHardDisk[],
61
- UI_I_SendDataNewCdDvdDrive[],
62
- UI_I_SendDataNewNetwork[]
63
- ]
64
- ): void
65
- }>()
66
-
67
- const bootList = ref<UI_I_BootItem[]>([])
68
-
69
- const hardDisksAndNetworks = computed<
70
- [
71
- UI_I_SendDataNewHardDisk[] | null,
72
- UI_I_SendDataNewCdDvdDrive[] | null,
73
- UI_I_SendDataNewNetwork[] | null
74
- ]
75
- >(() => [props.hardDisks, props.cdDvdDrives, props.networks])
76
- watch(
77
- hardDisksAndNetworks,
78
- (
79
- newValue: [
80
- UI_I_SendDataNewHardDisk[] | null,
81
- UI_I_SendDataNewCdDvdDrive[] | null,
82
- UI_I_SendDataNewNetwork[] | null
83
- ]
84
- ) => {
85
- const hardDisks: UI_I_BootItem[] =
86
- newValue[0]?.map((item, index) => {
87
- const order = item.boot_order || 0
88
- return {
89
- order,
90
- isChecked: !!order,
91
- text: `disk${index}`,
92
- iconClassName: 'icon-disk',
93
- type: 'disk',
94
- name: item.source + index,
95
- testId: `select-disk-value-${index + 1}`,
96
- }
97
- }) || []
98
- const cdDvdDrives: UI_I_BootItem[] =
99
- newValue[1]?.map((item, index) => {
100
- const order = item.boot_order || 0
101
- return {
102
- order,
103
- isChecked: !!order,
104
- text: `cdrom${index}`,
105
- iconClassName: 'icon-disk',
106
- type: 'cdDvd',
107
- name: item.source + index,
108
- testId: `select-cd-dvd-value-${index + 1}`,
109
- }
110
- }) || []
111
- const networks: UI_I_BootItem[] =
112
- newValue[2]?.map((item, index) => {
113
- const order = item.boot_order || 0
114
- return {
115
- order,
116
- isChecked: !!order,
117
- text: item.mac || 'undefined',
118
- iconClassName: 'vsphere-icon-network',
119
- type: 'nic',
120
- name: item.network + index,
121
- testId: `select-nic-value-${index + 1}`,
122
- }
123
- }) || []
124
-
125
- bootList.value = [...hardDisks, ...cdDvdDrives, ...networks].sort(
126
- (a, b) => a.order - b.order
127
- )
128
- },
129
- { deep: true, immediate: true }
130
- )
131
-
132
- const onChangeOrder = (event: UI_I_DropEvent): void => {
133
- let order = -1
134
- bootList.value = bootList.value
135
- .map((item) => {
136
- if (item === event.target) {
137
- item.order = event.toPosition
138
- return item
139
- }
140
-
141
- item.order = order + 1 === event.toPosition ? (order += 2) : order++
142
-
143
- return item
144
- })
145
- .sort((a, b) => a.order - b.order)
146
- }
147
-
148
- watch(
149
- bootList,
150
- (newValue) => {
151
- const networks: UI_I_SendDataNewNetwork[] = []
152
- const hardDisks: UI_I_SendDataNewHardDisk[] = []
153
- const cdDvdDrives: UI_I_SendDataNewCdDvdDrive[] = []
154
- let index = 0
155
- newValue.forEach((boot) => {
156
- if (boot.type === 'nic') {
157
- const network = props.networks?.find(
158
- (network, index2) => network.network + index2 === boot.name
159
- )
160
- if (network) {
161
- networks.push({
162
- ...network,
163
- boot_order: boot.isChecked ? ++index : 0,
164
- })
165
- }
166
- } else if (boot.type === 'disk') {
167
- const hardDisk = props.hardDisks?.find(
168
- (hardDisk, index2) => hardDisk.source + index2 === boot.name
169
- )
170
- if (hardDisk) {
171
- hardDisks.push({
172
- ...hardDisk,
173
- boot_order: boot.isChecked ? ++index : 0,
174
- })
175
- }
176
- } else {
177
- const cdDvdDrive = props.cdDvdDrives?.find(
178
- (cdDvdDrive, index2) => cdDvdDrive.source + index2 === boot.name
179
- )
180
- if (cdDvdDrive) {
181
- cdDvdDrives.push({
182
- ...cdDvdDrive,
183
- boot_order: boot.isChecked ? ++index : 0,
184
- })
185
- }
186
- }
187
- })
188
-
189
- emits('change', [hardDisks, cdDvdDrives, networks])
190
- },
191
- { deep: true, immediate: true }
192
- )
193
- </script>
194
-
195
- <style scoped lang="scss">
196
- .boot-orders {
197
- .device-icon {
198
- margin-right: 6px;
199
- }
200
- }
201
- </style>
1
+ <template>
2
+ <div class="boot-orders">
3
+ <atoms-stack-block :has-children="false">
4
+ <template #stackBlockKey>
5
+ {{ localization.common.bootOrder }}
6
+ </template>
7
+ <template #stackBlockContent>
8
+ <atoms-list-drag-drop-list
9
+ :items="bootList"
10
+ grab-item-key="text"
11
+ @drop="onChangeOrder"
12
+ >
13
+ <template
14
+ v-for="(item, index) in bootList"
15
+ :key="index"
16
+ #[`leftSide${index}`]
17
+ >
18
+ <input
19
+ :id="`boot-order-${index}`"
20
+ v-model="item.isChecked"
21
+ :data-id="item.testId"
22
+ type="checkbox"
23
+ />
24
+ </template>
25
+ <template
26
+ v-for="(item, index) in bootList"
27
+ :key="bootList.length + index"
28
+ #[`rightSide${index}`]
29
+ >
30
+ <div :class="['device-icon', item.iconClassName]" />
31
+ <span>{{ item.text }}</span>
32
+ </template>
33
+ </atoms-list-drag-drop-list>
34
+ </template>
35
+ </atoms-stack-block>
36
+ </div>
37
+ </template>
38
+
39
+ <script setup lang="ts">
40
+ import type { UI_I_BootItem } from '~/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/lib/models/interfaces'
41
+ import type {
42
+ UI_I_SendDataNewCdDvdDrive,
43
+ UI_I_SendDataNewHardDisk,
44
+ UI_I_SendDataNewNetwork,
45
+ } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
46
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
47
+ import type { UI_I_DropEvent } from '~/components/atoms/list/dragDropList/lib/config/events'
48
+
49
+ const localization = computed<UI_I_Localization>(() => useLocal())
50
+
51
+ const props = defineProps<{
52
+ hardDisks: UI_I_SendDataNewHardDisk[] | null
53
+ cdDvdDrives: UI_I_SendDataNewCdDvdDrive[] | null
54
+ networks: UI_I_SendDataNewNetwork[] | null
55
+ }>()
56
+ const emits = defineEmits<{
57
+ (
58
+ event: 'change',
59
+ value: [
60
+ UI_I_SendDataNewHardDisk[],
61
+ UI_I_SendDataNewCdDvdDrive[],
62
+ UI_I_SendDataNewNetwork[]
63
+ ]
64
+ ): void
65
+ }>()
66
+
67
+ const bootList = ref<UI_I_BootItem[]>([])
68
+
69
+ const hardDisksAndNetworks = computed<
70
+ [
71
+ UI_I_SendDataNewHardDisk[] | null,
72
+ UI_I_SendDataNewCdDvdDrive[] | null,
73
+ UI_I_SendDataNewNetwork[] | null
74
+ ]
75
+ >(() => [props.hardDisks, props.cdDvdDrives, props.networks])
76
+ watch(
77
+ hardDisksAndNetworks,
78
+ (
79
+ newValue: [
80
+ UI_I_SendDataNewHardDisk[] | null,
81
+ UI_I_SendDataNewCdDvdDrive[] | null,
82
+ UI_I_SendDataNewNetwork[] | null
83
+ ]
84
+ ) => {
85
+ const hardDisks: UI_I_BootItem[] =
86
+ newValue[0]?.map((item, index) => {
87
+ const order = item.boot_order || 0
88
+ return {
89
+ order,
90
+ isChecked: !!order,
91
+ text: `disk${index}`,
92
+ iconClassName: 'icon-disk',
93
+ type: 'disk',
94
+ name: item.source + index,
95
+ testId: `select-disk-value-${index + 1}`,
96
+ }
97
+ }) || []
98
+ const cdDvdDrives: UI_I_BootItem[] =
99
+ newValue[1]?.map((item, index) => {
100
+ const order = item.boot_order || 0
101
+ return {
102
+ order,
103
+ isChecked: !!order,
104
+ text: `cdrom${index}`,
105
+ iconClassName: 'icon-disk',
106
+ type: 'cdDvd',
107
+ name: item.source + index,
108
+ testId: `select-cd-dvd-value-${index + 1}`,
109
+ }
110
+ }) || []
111
+ const networks: UI_I_BootItem[] =
112
+ newValue[2]?.map((item, index) => {
113
+ const order = item.boot_order || 0
114
+ return {
115
+ order,
116
+ isChecked: !!order,
117
+ text: item.mac || 'undefined',
118
+ iconClassName: 'vsphere-icon-network',
119
+ type: 'nic',
120
+ name: item.network + index,
121
+ testId: `select-nic-value-${index + 1}`,
122
+ }
123
+ }) || []
124
+
125
+ bootList.value = [...hardDisks, ...cdDvdDrives, ...networks].sort(
126
+ (a, b) => a.order - b.order
127
+ )
128
+ },
129
+ { deep: true, immediate: true }
130
+ )
131
+
132
+ const onChangeOrder = (event: UI_I_DropEvent): void => {
133
+ let order = -1
134
+ bootList.value = bootList.value
135
+ .map((item) => {
136
+ if (item === event.target) {
137
+ item.order = event.toPosition
138
+ return item
139
+ }
140
+
141
+ item.order = order + 1 === event.toPosition ? (order += 2) : order++
142
+
143
+ return item
144
+ })
145
+ .sort((a, b) => a.order - b.order)
146
+ }
147
+
148
+ watch(
149
+ bootList,
150
+ (newValue) => {
151
+ const networks: UI_I_SendDataNewNetwork[] = []
152
+ const hardDisks: UI_I_SendDataNewHardDisk[] = []
153
+ const cdDvdDrives: UI_I_SendDataNewCdDvdDrive[] = []
154
+ let index = 0
155
+ newValue.forEach((boot) => {
156
+ if (boot.type === 'nic') {
157
+ const network = props.networks?.find(
158
+ (network, index2) => network.network + index2 === boot.name
159
+ )
160
+ if (network) {
161
+ networks.push({
162
+ ...network,
163
+ boot_order: boot.isChecked ? ++index : 0,
164
+ })
165
+ }
166
+ } else if (boot.type === 'disk') {
167
+ const hardDisk = props.hardDisks?.find(
168
+ (hardDisk, index2) => hardDisk.source + index2 === boot.name
169
+ )
170
+ if (hardDisk) {
171
+ hardDisks.push({
172
+ ...hardDisk,
173
+ boot_order: boot.isChecked ? ++index : 0,
174
+ })
175
+ }
176
+ } else {
177
+ const cdDvdDrive = props.cdDvdDrives?.find(
178
+ (cdDvdDrive, index2) => cdDvdDrive.source + index2 === boot.name
179
+ )
180
+ if (cdDvdDrive) {
181
+ cdDvdDrives.push({
182
+ ...cdDvdDrive,
183
+ boot_order: boot.isChecked ? ++index : 0,
184
+ })
185
+ }
186
+ }
187
+ })
188
+
189
+ emits('change', [hardDisks, cdDvdDrives, networks])
190
+ },
191
+ { deep: true, immediate: true }
192
+ )
193
+ </script>
194
+
195
+ <style scoped lang="scss">
196
+ .boot-orders {
197
+ .device-icon {
198
+ margin-right: 6px;
199
+ }
200
+ }
201
+ </style>