bfg-common 1.4.87 → 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 (35) 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 -160
  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/models/interfaces.ts +148 -148
  27. package/components/common/vm/actions/common/lib/utils/capabilities.ts +41 -41
  28. package/components/common/vm/actions/common/select/lib/models/interfaces.ts +33 -33
  29. package/components/common/vm/actions/common/select/os/os.vue +227 -227
  30. package/components/common/vm/actions/editSettings/EditSettings.vue +327 -327
  31. package/composables/productNameLocal.ts +30 -30
  32. package/package.json +1 -1
  33. package/plugins/recursion.ts +311 -311
  34. package/public/spice-console/lib/images/bitmap.js +203 -203
  35. 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>