bfg-common 1.4.199 → 1.4.200

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 (40) 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 +83 -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 +83 -83
  13. package/assets/localization/local_be.json +10 -1
  14. package/assets/localization/local_en.json +10 -1
  15. package/assets/localization/local_hy.json +10 -1
  16. package/assets/localization/local_kk.json +10 -1
  17. package/assets/localization/local_ru.json +10 -1
  18. package/assets/localization/local_zh.json +10 -1
  19. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  20. package/components/atoms/stack/StackBlock.vue +185 -185
  21. package/components/common/browse/blocks/Title.vue +91 -91
  22. package/components/common/browse/blocks/info/Date.vue +21 -21
  23. package/components/common/context/lib/models/interfaces.ts +30 -30
  24. package/components/common/context/recursion/Recursion.vue +86 -86
  25. package/components/common/context/recursion/RecursionNew.vue +199 -199
  26. package/components/common/context/recursion/RecursionOld.vue +213 -213
  27. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  28. package/components/common/vm/actions/add/Add.vue +609 -609
  29. package/components/common/vm/actions/clone/Clone.vue +522 -522
  30. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/lib/config/options.ts +20 -20
  31. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +403 -403
  32. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Hv.vue +99 -99
  33. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +201 -201
  34. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +85 -85
  35. package/components/common/wizards/network/add/lib/config/steps.ts +464 -464
  36. package/composables/productNameLocal.ts +30 -30
  37. package/package.json +1 -1
  38. package/plugins/recursion.ts +311 -311
  39. package/public/spice-console/lib/images/bitmap.js +203 -203
  40. 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>