bfg-common 1.4.88 → 1.4.89

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 (37) hide show
  1. package/assets/localization/local_be.json +4 -0
  2. package/assets/localization/local_en.json +4 -0
  3. package/assets/localization/local_hy.json +4 -0
  4. package/assets/localization/local_kk.json +4 -0
  5. package/assets/localization/local_ru.json +4 -0
  6. package/assets/localization/local_zh.json +4 -0
  7. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  8. package/components/atoms/stack/StackBlock.vue +184 -184
  9. package/components/common/browse/blocks/Title.vue +91 -91
  10. package/components/common/browse/blocks/info/Date.vue +21 -21
  11. package/components/common/context/recursion/Recursion.vue +86 -86
  12. package/components/common/context/recursion/RecursionNew.vue +198 -198
  13. package/components/common/context/recursion/RecursionOld.vue +212 -212
  14. package/components/common/layout/theHeader/TheHeaderNew.vue +81 -36
  15. package/components/common/layout/theHeader/ThemeSwitch.vue +36 -9
  16. package/components/common/layout/theHeader/helpMenu/helpMenuNew/HelpMenuNew.vue +35 -16
  17. package/components/common/layout/theHeader/userMenu/userMenuNew/UserMenuNew.vue +32 -13
  18. package/components/common/split/horizontal/HorizontalNew.vue +321 -321
  19. package/components/common/vm/actions/add/Add.vue +609 -609
  20. package/components/common/vm/actions/clone/Clone.vue +522 -522
  21. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +151 -156
  22. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/lib/config/options.ts +20 -20
  23. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +403 -403
  24. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Hv.vue +99 -99
  25. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +85 -85
  26. package/components/common/vm/actions/common/lib/config/capabilities.ts +0 -1
  27. package/components/common/vm/actions/common/lib/models/interfaces.ts +148 -149
  28. package/components/common/vm/actions/common/lib/utils/capabilities.ts +41 -51
  29. package/components/common/vm/actions/common/select/lib/models/interfaces.ts +33 -34
  30. package/components/common/vm/actions/common/select/os/os.vue +227 -227
  31. package/components/common/vm/actions/editSettings/EditSettings.vue +327 -327
  32. package/composables/productNameLocal.ts +30 -30
  33. package/package.json +1 -1
  34. package/plugins/recursion.ts +311 -311
  35. package/public/spice-console/lib/images/bitmap.js +203 -203
  36. package/public/spice-console-minify/run.min.js +4 -4
  37. package/store/tasks/mappers/recentTasks.ts +45 -45
@@ -1,184 +1,184 @@
1
- <template>
2
- <div
3
- :class="[
4
- 'stack-block',
5
- open ? 'stack-block-expanded' : 'stack-block-expandable',
6
- { 'not-children': !props.hasChildren },
7
- ]"
8
- >
9
- <div
10
- :id="`${props.testId}-toggle`"
11
- :data-id="`${props.testId}-toggle`"
12
- class="stack-block-label"
13
- @click="onToggle"
14
- >
15
- <atoms-the-icon name="angle" class="angle-icon" fill="#565656" />
16
-
17
- <div class="stack-view-key">
18
- <slot name="stackBlockKey" />
19
- </div>
20
- <div class="stack-block-content">
21
- <slot name="stackBlockContent" />
22
- </div>
23
-
24
- <span
25
- v-if="props.removable && props.isRollBack"
26
- class="icon-roll-back"
27
- :data-id="`${props.testId}-roll-back`"
28
- @mousedown="onRollBack"
29
- @click.stop
30
- />
31
- <atoms-the-icon
32
- v-else-if="props.removable"
33
- :data-id="`${props.testId}-remove`"
34
- class="remove-icon"
35
- name="close-circle"
36
- @mousedown="onRemove"
37
- @click.stop
38
- />
39
- <span v-else class="empty-icon"></span>
40
- </div>
41
-
42
- <div v-show="open" class="stack-children">
43
- <div style="height: auto">
44
- <slot name="stackChildren" />
45
- </div>
46
- </div>
47
- </div>
48
- </template>
49
-
50
- <script setup lang="ts">
51
- const props = withDefaults(
52
- defineProps<{
53
- hasChildren: boolean
54
- removable?: boolean
55
- testId?: string
56
- openByDefault?: boolean
57
- isRollBack?: boolean
58
- }>(),
59
- { testId: 'ui-stack-block', openByDefault: false }
60
- )
61
- const emits = defineEmits<{
62
- (event: 'toggle', value: boolean): void
63
- (event: 'remove'): void
64
- (event: 'roll-back'): void
65
- }>()
66
-
67
- const open = ref<boolean>(props.openByDefault || false)
68
- const onToggle = (): void => {
69
- setTimeout(() => {
70
- open.value = !open.value
71
- emits('toggle', open.value)
72
- }, 0)
73
- }
74
-
75
- const onRemove = (): void => {
76
- emits('remove')
77
- }
78
- const onRollBack = (): void => {
79
- emits('roll-back')
80
- }
81
- </script>
82
-
83
- <style scoped lang="scss">
84
- .stack-block {
85
- cursor: pointer;
86
- background-color: var(--block-view-bg-color);
87
- border-color: var(--global-border-color);
88
-
89
- &.stack-block-expandable:hover {
90
- border-bottom: 1px solid #666;
91
-
92
- .stack-block-label {
93
- background-color: var(--block-view-bg-color);
94
- border-color: var(--global-border-color);
95
- }
96
- }
97
-
98
- .stack-block-label {
99
- padding: 6px 12px;
100
- flex: 1 1 auto;
101
- max-width: unset;
102
- display: flex;
103
- background-color: var(--block-view-bg-color);
104
- border-color: var(--global-border-color);
105
-
106
- &:hover {
107
- .remove-icon {
108
- opacity: 1;
109
- }
110
- }
111
-
112
- &::before {
113
- display: none;
114
- }
115
-
116
- .angle-icon {
117
- width: 14px;
118
- height: 14px;
119
- margin-right: 4px;
120
- transform: rotate(90deg);
121
- align-self: center;
122
- }
123
-
124
- .remove-icon {
125
- width: 18px;
126
- height: 18px;
127
- opacity: 0;
128
- cursor: pointer;
129
- }
130
-
131
- .stack-view-key {
132
- flex: 0 0 40%;
133
- max-width: 40%;
134
- }
135
-
136
- .stack-block-content {
137
- padding: 0;
138
- flex: 1 1 auto;
139
- width: 60%;
140
- background-color: transparent;
141
- word-break: break-all;
142
- }
143
-
144
- .empty-icon {
145
- width: 18px;
146
- height: 18px;
147
- }
148
- }
149
-
150
- &.stack-block-expanded {
151
- .stack-block-label {
152
- color: #ffffff;
153
- background-color: #29414e;
154
-
155
- .angle-icon {
156
- fill: #ffffff;
157
- transform: rotate(180deg);
158
- }
159
-
160
- .remove-icon {
161
- fill: #ffffff;
162
- }
163
- }
164
- }
165
-
166
- &.not-children {
167
- cursor: default;
168
- .stack-block-label {
169
- background-color: transparent;
170
- color: #333333;
171
-
172
- &:hover {
173
- cursor: default;
174
- background-color: transparent;
175
- border-bottom: none;
176
- }
177
-
178
- .angle-icon {
179
- opacity: 0;
180
- }
181
- }
182
- }
183
- }
184
- </style>
1
+ <template>
2
+ <div
3
+ :class="[
4
+ 'stack-block',
5
+ open ? 'stack-block-expanded' : 'stack-block-expandable',
6
+ { 'not-children': !props.hasChildren },
7
+ ]"
8
+ >
9
+ <div
10
+ :id="`${props.testId}-toggle`"
11
+ :data-id="`${props.testId}-toggle`"
12
+ class="stack-block-label"
13
+ @click="onToggle"
14
+ >
15
+ <atoms-the-icon name="angle" class="angle-icon" fill="#565656" />
16
+
17
+ <div class="stack-view-key">
18
+ <slot name="stackBlockKey" />
19
+ </div>
20
+ <div class="stack-block-content">
21
+ <slot name="stackBlockContent" />
22
+ </div>
23
+
24
+ <span
25
+ v-if="props.removable && props.isRollBack"
26
+ class="icon-roll-back"
27
+ :data-id="`${props.testId}-roll-back`"
28
+ @mousedown="onRollBack"
29
+ @click.stop
30
+ />
31
+ <atoms-the-icon
32
+ v-else-if="props.removable"
33
+ :data-id="`${props.testId}-remove`"
34
+ class="remove-icon"
35
+ name="close-circle"
36
+ @mousedown="onRemove"
37
+ @click.stop
38
+ />
39
+ <span v-else class="empty-icon"></span>
40
+ </div>
41
+
42
+ <div v-show="open" class="stack-children">
43
+ <div style="height: auto">
44
+ <slot name="stackChildren" />
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </template>
49
+
50
+ <script setup lang="ts">
51
+ const props = withDefaults(
52
+ defineProps<{
53
+ hasChildren: boolean
54
+ removable?: boolean
55
+ testId?: string
56
+ openByDefault?: boolean
57
+ isRollBack?: boolean
58
+ }>(),
59
+ { testId: 'ui-stack-block', openByDefault: false }
60
+ )
61
+ const emits = defineEmits<{
62
+ (event: 'toggle', value: boolean): void
63
+ (event: 'remove'): void
64
+ (event: 'roll-back'): void
65
+ }>()
66
+
67
+ const open = ref<boolean>(props.openByDefault || false)
68
+ const onToggle = (): void => {
69
+ setTimeout(() => {
70
+ open.value = !open.value
71
+ emits('toggle', open.value)
72
+ }, 0)
73
+ }
74
+
75
+ const onRemove = (): void => {
76
+ emits('remove')
77
+ }
78
+ const onRollBack = (): void => {
79
+ emits('roll-back')
80
+ }
81
+ </script>
82
+
83
+ <style scoped lang="scss">
84
+ .stack-block {
85
+ cursor: pointer;
86
+ background-color: var(--block-view-bg-color);
87
+ border-color: var(--global-border-color);
88
+
89
+ &.stack-block-expandable:hover {
90
+ border-bottom: 1px solid #666;
91
+
92
+ .stack-block-label {
93
+ background-color: var(--block-view-bg-color);
94
+ border-color: var(--global-border-color);
95
+ }
96
+ }
97
+
98
+ .stack-block-label {
99
+ padding: 6px 12px;
100
+ flex: 1 1 auto;
101
+ max-width: unset;
102
+ display: flex;
103
+ background-color: var(--block-view-bg-color);
104
+ border-color: var(--global-border-color);
105
+
106
+ &:hover {
107
+ .remove-icon {
108
+ opacity: 1;
109
+ }
110
+ }
111
+
112
+ &::before {
113
+ display: none;
114
+ }
115
+
116
+ .angle-icon {
117
+ width: 14px;
118
+ height: 14px;
119
+ margin-right: 4px;
120
+ transform: rotate(90deg);
121
+ align-self: center;
122
+ }
123
+
124
+ .remove-icon {
125
+ width: 18px;
126
+ height: 18px;
127
+ opacity: 0;
128
+ cursor: pointer;
129
+ }
130
+
131
+ .stack-view-key {
132
+ flex: 0 0 40%;
133
+ max-width: 40%;
134
+ }
135
+
136
+ .stack-block-content {
137
+ padding: 0;
138
+ flex: 1 1 auto;
139
+ width: 60%;
140
+ background-color: transparent;
141
+ word-break: break-all;
142
+ }
143
+
144
+ .empty-icon {
145
+ width: 18px;
146
+ height: 18px;
147
+ }
148
+ }
149
+
150
+ &.stack-block-expanded {
151
+ .stack-block-label {
152
+ color: #ffffff;
153
+ background-color: #29414e;
154
+
155
+ .angle-icon {
156
+ fill: #ffffff;
157
+ transform: rotate(180deg);
158
+ }
159
+
160
+ .remove-icon {
161
+ fill: #ffffff;
162
+ }
163
+ }
164
+ }
165
+
166
+ &.not-children {
167
+ cursor: default;
168
+ .stack-block-label {
169
+ background-color: transparent;
170
+ color: #333333;
171
+
172
+ &:hover {
173
+ cursor: default;
174
+ background-color: transparent;
175
+ border-bottom: none;
176
+ }
177
+
178
+ .angle-icon {
179
+ opacity: 0;
180
+ }
181
+ }
182
+ }
183
+ }
184
+ </style>
@@ -1,91 +1,91 @@
1
- <template>
2
- <div class="title-block" :style="blockWidth">
3
- <div class="title-block__container" :style="blockWidth">
4
- <div
5
- class="title-block__title pointer"
6
- :style="blockTitleWidth"
7
- @click="emits('sort')"
8
- >
9
- <b>{{ props.title }}</b>
10
- <atoms-the-icon
11
- v-show="props.sorting[0]"
12
- :class="['sort-arrow', { down: !props.sorting[1] }]"
13
- width="14px"
14
- height="14px"
15
- name="sort-arrow"
16
- />
17
- </div>
18
- <div class="title-block__body">
19
- <slot name="content"></slot>
20
- </div>
21
- </div>
22
- </div>
23
- </template>
24
-
25
- <script setup lang="ts">
26
- const props = withDefaults(
27
- defineProps<{
28
- title: string
29
- width: number
30
- sorting?: [boolean, boolean]
31
- }>(),
32
- {
33
- sorting: () => [false, false],
34
- }
35
- )
36
- const emits = defineEmits<{
37
- (event: 'sort'): void
38
- }>()
39
-
40
- const blockWidth = computed(() => ({ width: `${props.width}px` }))
41
- const blockTitleWidth = computed(() => ({ width: `${props.width - 2}px` }))
42
- </script>
43
-
44
- <style scoped lang="scss">
45
- .title-block {
46
- width: 100%;
47
- min-height: 400px;
48
- position: relative;
49
-
50
- &__container {
51
- position: absolute;
52
- top: 0;
53
- left: 0;
54
- display: flex;
55
- flex-direction: column;
56
- height: 400px;
57
- border-width: 1px;
58
- border-style: solid;
59
- border-image: initial;
60
- background: var(--block-view-bg-color5);
61
- border-color: var(--block-border-color2);
62
- }
63
- &__title {
64
- display: inline-block;
65
- flex: 0 0 auto;
66
- background-color: var(--block-view-bg-color6);
67
- border-bottom: 1px solid var(--block-border-color2);
68
- padding: 8px;
69
- white-space: nowrap;
70
- overflow: hidden !important;
71
- text-overflow: ellipsis;
72
-
73
- b {
74
- font-family: Metropolis, Avenir Next, Helvetica Neue, Arial, sans-serif;
75
- font-size: 13px;
76
- color: var(--global-font-color9);
77
- font-weight: bolder;
78
- letter-spacing: normal;
79
- }
80
- .sort-arrow {
81
- &.down {
82
- transform: rotate(180deg);
83
- }
84
- }
85
- }
86
- &__body {
87
- flex: 1 1 auto;
88
- overflow-y: auto;
89
- }
90
- }
91
- </style>
1
+ <template>
2
+ <div class="title-block" :style="blockWidth">
3
+ <div class="title-block__container" :style="blockWidth">
4
+ <div
5
+ class="title-block__title pointer"
6
+ :style="blockTitleWidth"
7
+ @click="emits('sort')"
8
+ >
9
+ <b>{{ props.title }}</b>
10
+ <atoms-the-icon
11
+ v-show="props.sorting[0]"
12
+ :class="['sort-arrow', { down: !props.sorting[1] }]"
13
+ width="14px"
14
+ height="14px"
15
+ name="sort-arrow"
16
+ />
17
+ </div>
18
+ <div class="title-block__body">
19
+ <slot name="content"></slot>
20
+ </div>
21
+ </div>
22
+ </div>
23
+ </template>
24
+
25
+ <script setup lang="ts">
26
+ const props = withDefaults(
27
+ defineProps<{
28
+ title: string
29
+ width: number
30
+ sorting?: [boolean, boolean]
31
+ }>(),
32
+ {
33
+ sorting: () => [false, false],
34
+ }
35
+ )
36
+ const emits = defineEmits<{
37
+ (event: 'sort'): void
38
+ }>()
39
+
40
+ const blockWidth = computed(() => ({ width: `${props.width}px` }))
41
+ const blockTitleWidth = computed(() => ({ width: `${props.width - 2}px` }))
42
+ </script>
43
+
44
+ <style scoped lang="scss">
45
+ .title-block {
46
+ width: 100%;
47
+ min-height: 400px;
48
+ position: relative;
49
+
50
+ &__container {
51
+ position: absolute;
52
+ top: 0;
53
+ left: 0;
54
+ display: flex;
55
+ flex-direction: column;
56
+ height: 400px;
57
+ border-width: 1px;
58
+ border-style: solid;
59
+ border-image: initial;
60
+ background: var(--block-view-bg-color5);
61
+ border-color: var(--block-border-color2);
62
+ }
63
+ &__title {
64
+ display: inline-block;
65
+ flex: 0 0 auto;
66
+ background-color: var(--block-view-bg-color6);
67
+ border-bottom: 1px solid var(--block-border-color2);
68
+ padding: 8px;
69
+ white-space: nowrap;
70
+ overflow: hidden !important;
71
+ text-overflow: ellipsis;
72
+
73
+ b {
74
+ font-family: Metropolis, Avenir Next, Helvetica Neue, Arial, sans-serif;
75
+ font-size: 13px;
76
+ color: var(--global-font-color9);
77
+ font-weight: bolder;
78
+ letter-spacing: normal;
79
+ }
80
+ .sort-arrow {
81
+ &.down {
82
+ transform: rotate(180deg);
83
+ }
84
+ }
85
+ }
86
+ &__body {
87
+ flex: 1 1 auto;
88
+ overflow-y: auto;
89
+ }
90
+ }
91
+ </style>
@@ -1,21 +1,21 @@
1
- <template>
2
- <div>
3
- <span>{{ props.title }}:</span>
4
- <span>{{ formattedDateString }}</span>
5
- </div>
6
- </template>
7
-
8
- <script setup lang="ts">
9
- import { format } from 'date-fns'
10
- const props = defineProps<{
11
- title: string
12
- value: number
13
- }>()
14
-
15
- const getDateString = (dateAlias: number): string =>
16
- format(new Date(dateAlias), 'MM/dd/yyyy HH:mm:ss a')
17
-
18
- const formattedDateString = computed<string>(() => getDateString(props.value))
19
- </script>
20
-
21
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <div>
3
+ <span>{{ props.title }}:</span>
4
+ <span>{{ formattedDateString }}</span>
5
+ </div>
6
+ </template>
7
+
8
+ <script setup lang="ts">
9
+ import { format } from 'date-fns'
10
+ const props = defineProps<{
11
+ title: string
12
+ value: number
13
+ }>()
14
+
15
+ const getDateString = (dateAlias: number): string =>
16
+ format(new Date(dateAlias), 'MM/dd/yyyy HH:mm:ss a')
17
+
18
+ const formattedDateString = computed<string>(() => getDateString(props.value))
19
+ </script>
20
+
21
+ <style scoped lang="scss"></style>