bfg-common 1.3.229 → 1.3.230

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 (41) hide show
  1. package/assets/localization/local_be.json +6 -6
  2. package/assets/localization/local_en.json +6 -6
  3. package/assets/localization/local_hy.json +6 -6
  4. package/assets/localization/local_kk.json +6 -6
  5. package/assets/localization/local_ru.json +6 -6
  6. package/assets/localization/local_zh.json +6 -6
  7. package/components/atoms/alert/Alert.vue +95 -95
  8. package/components/atoms/alert/Notification.vue +170 -170
  9. package/components/atoms/switch/Switch.vue +111 -111
  10. package/components/atoms/table/compact/Compact.vue +526 -526
  11. package/components/atoms/tooltip/Signpost.vue +225 -225
  12. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +1 -1
  13. package/components/common/pages/Tasks.vue +120 -120
  14. package/components/common/recursionTree/RecursionTree.vue +203 -203
  15. package/components/common/vm/actions/add/Add.vue +575 -575
  16. package/components/common/vm/actions/clone/Clone.vue +518 -518
  17. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +269 -269
  18. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +693 -693
  19. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuModel.vue +220 -220
  20. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +59 -59
  21. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +294 -294
  22. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +165 -165
  23. package/components/common/vm/actions/common/select/storage/lib/config/config.ts +166 -166
  24. package/components/common/vm/actions/editSettings/EditSettings.vue +313 -313
  25. package/components/common/weekSelect/WeekSelect.vue +112 -112
  26. package/components/common/weekSelect/lib/config/options.ts +10 -10
  27. package/components/common/wizards/network/add/lib/config/initialData.ts +1 -1
  28. package/composables/useAppVersion.ts +21 -21
  29. package/composables/useEnvLanguage.ts +20 -20
  30. package/lib/utils/sendTask.ts +72 -72
  31. package/minify.js +146 -146
  32. package/package.json +1 -1
  33. package/public/spice-console/application/codec.js +257 -257
  34. package/public/spice-console/lib/rasterEngine.js +907 -907
  35. package/public/spice-console/network/spicechannel.js +369 -369
  36. package/store/main/lib/interfaces.ts +9 -9
  37. package/store/tasks/actions.ts +133 -133
  38. package/store/tasks/getters.ts +25 -25
  39. package/store/tasks/lib/models/interfaces.ts +18 -18
  40. package/store/tasks/mutations.ts +58 -58
  41. package/store/tasks/state.ts +16 -16
@@ -1,170 +1,170 @@
1
- <template>
2
- <div class="notification">
3
- <div
4
- class="notification-container-wrap animation"
5
- :class="{ active: isActive }"
6
- >
7
- <div class="notification-container">
8
- <div v-show="props.show" class="toast">
9
- <atoms-the-icon
10
- class="toast-icon"
11
- :class="iconName !== 'info' && 'with'"
12
- :name="iconName"
13
- />
14
- <div class="toast-content">
15
- <div class="flex-align-center flex-space-between">
16
- <h4>{{ props.title }}</h4>
17
- <button
18
- :id="`${props.testId}-close-button`"
19
- :title="localization.closeNotification"
20
- @click="hide"
21
- >
22
- <atoms-the-icon name="close" />
23
- </button>
24
- </div>
25
- <div class="description">
26
- <slot>
27
- <p class="pre-line">{{ props.description }}</p>
28
- </slot>
29
- </div>
30
- </div>
31
- </div>
32
- </div>
33
- </div>
34
- </div>
35
- </template>
36
-
37
- <script setup lang="ts">
38
- import type { UI_I_Localization } from '~/lib/models/interfaces'
39
- import type {
40
- UI_T_NotificationStatus,
41
- UI_T_NotificationIcon,
42
- } from '~/components/atoms/alert/lib/models/types'
43
- import { UI_E_IconsByStatusNotification } from '~/components/atoms/alert/lib/models/enums'
44
-
45
- const props = withDefaults(
46
- defineProps<{
47
- status: UI_T_NotificationStatus
48
- id: number
49
- show: boolean
50
- title: string
51
- description: string
52
- testId?: string
53
- }>(),
54
- { testId: 'ui-notification' }
55
- )
56
- const emits = defineEmits<{
57
- (event: 'hide', value: number): void
58
- }>()
59
-
60
- const localization = computed<UI_I_Localization>(() => useLocal())
61
- const hide = (): void => {
62
- isActive.value = false
63
-
64
- setTimeout(() => {
65
- emits('hide', props.id)
66
- }, 200)
67
- }
68
- const isActive = ref<boolean>(false)
69
-
70
- const iconName = computed<UI_T_NotificationIcon>(
71
- () => UI_E_IconsByStatusNotification[props.status as UI_T_NotificationStatus]
72
- )
73
-
74
- setTimeout(() => {
75
- isActive.value = true
76
- }, 1000)
77
- </script>
78
-
79
- <style scoped lang="scss">
80
- @import '~/assets/scss/common/mixins.scss';
81
-
82
- .notification {
83
- .notification-container-wrap {
84
- display: block;
85
- margin-top: 10px;
86
- width: 414px;
87
- position: relative;
88
- right: -600px;
89
- opacity: 0;
90
-
91
- &.active {
92
- right: 0;
93
- opacity: 1;
94
- }
95
-
96
- .notification-container {
97
- @include flex($dir: column, $just: flex-end);
98
- margin-right: 0;
99
-
100
- .toast {
101
- @include flex($dir: row);
102
- background-color: #25333d;
103
- border-radius: 3px;
104
- box-shadow: 0 2px 10px rgb(0 0 0 / 40%);
105
- margin: 0;
106
- padding: 12px;
107
- transform: scale(1);
108
- transform-origin: 100% 0;
109
- width: 100%;
110
-
111
- .toast-icon {
112
- width: 36px;
113
- height: 36px;
114
- &.with {
115
- width: 26px;
116
- height: 26px;
117
- }
118
- }
119
-
120
- .toast-content {
121
- padding-left: 12px;
122
- width: 100%;
123
-
124
- h4 {
125
- color: #e9ecef;
126
- font-size: 14px;
127
- font-weight: 500;
128
- line-height: 24px;
129
- margin-top: 0;
130
- max-width: 240px;
131
- overflow: hidden;
132
- text-overflow: ellipsis;
133
- white-space: nowrap;
134
- }
135
-
136
- button {
137
- background: transparent;
138
- border: none;
139
- border-radius: 100%;
140
- cursor: pointer;
141
- display: inline-block;
142
- height: 30px;
143
- position: absolute;
144
- right: 8px;
145
- top: 8px;
146
- width: 30px;
147
-
148
- svg {
149
- width: 16px;
150
- height: 16px;
151
- fill: #adbbc4;
152
- margin-left: 1px;
153
- margin-top: -8px;
154
- }
155
- }
156
-
157
- .description {
158
- max-height: 60vh;
159
- overflow: auto;
160
-
161
- p {
162
- color: var(--global-font-color6);
163
- }
164
- }
165
- }
166
- }
167
- }
168
- }
169
- }
170
- </style>
1
+ <template>
2
+ <div class="notification">
3
+ <div
4
+ class="notification-container-wrap animation"
5
+ :class="{ active: isActive }"
6
+ >
7
+ <div class="notification-container">
8
+ <div v-show="props.show" class="toast">
9
+ <atoms-the-icon
10
+ class="toast-icon"
11
+ :class="iconName !== 'info' && 'with'"
12
+ :name="iconName"
13
+ />
14
+ <div class="toast-content">
15
+ <div class="flex-align-center flex-space-between">
16
+ <h4>{{ props.title }}</h4>
17
+ <button
18
+ :id="`${props.testId}-close-button`"
19
+ :title="localization.closeNotification"
20
+ @click="hide"
21
+ >
22
+ <atoms-the-icon name="close" />
23
+ </button>
24
+ </div>
25
+ <div class="description">
26
+ <slot>
27
+ <p class="pre-line">{{ props.description }}</p>
28
+ </slot>
29
+ </div>
30
+ </div>
31
+ </div>
32
+ </div>
33
+ </div>
34
+ </div>
35
+ </template>
36
+
37
+ <script setup lang="ts">
38
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
39
+ import type {
40
+ UI_T_NotificationStatus,
41
+ UI_T_NotificationIcon,
42
+ } from '~/components/atoms/alert/lib/models/types'
43
+ import { UI_E_IconsByStatusNotification } from '~/components/atoms/alert/lib/models/enums'
44
+
45
+ const props = withDefaults(
46
+ defineProps<{
47
+ status: UI_T_NotificationStatus
48
+ id: number
49
+ show: boolean
50
+ title: string
51
+ description: string
52
+ testId?: string
53
+ }>(),
54
+ { testId: 'ui-notification' }
55
+ )
56
+ const emits = defineEmits<{
57
+ (event: 'hide', value: number): void
58
+ }>()
59
+
60
+ const localization = computed<UI_I_Localization>(() => useLocal())
61
+ const hide = (): void => {
62
+ isActive.value = false
63
+
64
+ setTimeout(() => {
65
+ emits('hide', props.id)
66
+ }, 200)
67
+ }
68
+ const isActive = ref<boolean>(false)
69
+
70
+ const iconName = computed<UI_T_NotificationIcon>(
71
+ () => UI_E_IconsByStatusNotification[props.status as UI_T_NotificationStatus]
72
+ )
73
+
74
+ setTimeout(() => {
75
+ isActive.value = true
76
+ }, 1000)
77
+ </script>
78
+
79
+ <style scoped lang="scss">
80
+ @import '~/assets/scss/common/mixins.scss';
81
+
82
+ .notification {
83
+ .notification-container-wrap {
84
+ display: block;
85
+ margin-top: 10px;
86
+ width: 414px;
87
+ position: relative;
88
+ right: -600px;
89
+ opacity: 0;
90
+
91
+ &.active {
92
+ right: 0;
93
+ opacity: 1;
94
+ }
95
+
96
+ .notification-container {
97
+ @include flex($dir: column, $just: flex-end);
98
+ margin-right: 0;
99
+
100
+ .toast {
101
+ @include flex($dir: row);
102
+ background-color: #25333d;
103
+ border-radius: 3px;
104
+ box-shadow: 0 2px 10px rgb(0 0 0 / 40%);
105
+ margin: 0;
106
+ padding: 12px;
107
+ transform: scale(1);
108
+ transform-origin: 100% 0;
109
+ width: 100%;
110
+
111
+ .toast-icon {
112
+ width: 36px;
113
+ height: 36px;
114
+ &.with {
115
+ width: 26px;
116
+ height: 26px;
117
+ }
118
+ }
119
+
120
+ .toast-content {
121
+ padding-left: 12px;
122
+ width: 100%;
123
+
124
+ h4 {
125
+ color: #e9ecef;
126
+ font-size: 14px;
127
+ font-weight: 500;
128
+ line-height: 24px;
129
+ margin-top: 0;
130
+ max-width: 240px;
131
+ overflow: hidden;
132
+ text-overflow: ellipsis;
133
+ white-space: nowrap;
134
+ }
135
+
136
+ button {
137
+ background: transparent;
138
+ border: none;
139
+ border-radius: 100%;
140
+ cursor: pointer;
141
+ display: inline-block;
142
+ height: 30px;
143
+ position: absolute;
144
+ right: 8px;
145
+ top: 8px;
146
+ width: 30px;
147
+
148
+ svg {
149
+ width: 16px;
150
+ height: 16px;
151
+ fill: #adbbc4;
152
+ margin-left: 1px;
153
+ margin-top: -8px;
154
+ }
155
+ }
156
+
157
+ .description {
158
+ max-height: 60vh;
159
+ overflow: auto;
160
+
161
+ p {
162
+ color: var(--global-font-color6);
163
+ }
164
+ }
165
+ }
166
+ }
167
+ }
168
+ }
169
+ }
170
+ </style>
@@ -1,111 +1,111 @@
1
- <template>
2
- <div class="flex-align-center">
3
- <div class="switch-body">
4
- <input :id="props.testId" v-model="value" type="checkbox" />
5
- <label class="switch-label" :for="props.testId"></label>
6
- </div>
7
- <label :for="props.testId"><slot></slot></label>
8
- </div>
9
- </template>
10
-
11
- <script setup lang="ts">
12
- const props = withDefaults(
13
- defineProps<{
14
- modelValue: boolean
15
- testId?: string
16
- }>(),
17
- { testId: 'ui-switch' }
18
- )
19
-
20
- const emits = defineEmits<{
21
- (event: 'update:model-value', value: boolean): void
22
- }>()
23
-
24
- const value = computed<boolean>({
25
- get() {
26
- return props.modelValue
27
- },
28
- set(newValue) {
29
- emits('update:model-value', newValue)
30
- },
31
- })
32
- </script>
33
-
34
- <style>
35
- :root {
36
- --label-before-bg-color: #737373;
37
- --label-after-bg-color: #fff;
38
- --label-before-box-shadow: 0 0 0.1rem 0.1rem #69c0e2;
39
- }
40
-
41
- :root.dark-theme {
42
- --label-before-bg-color: #fff;
43
- --label-after-bg-color: #1b2a32;
44
- --label-before-box-shadow: 0 0 0;
45
- }
46
- </style>
47
-
48
- <style scoped lang="scss">
49
- .switch-body {
50
- width: 33px;
51
- height: 18px;
52
- position: relative;
53
- margin-right: 4px;
54
-
55
- input[type='checkbox'] {
56
- position: absolute;
57
- top: 0.3rem;
58
- right: 0.3rem;
59
- height: 0.8rem;
60
- width: 0.8rem;
61
- opacity: 0;
62
- }
63
- .switch-label {
64
- display: block;
65
- position: relative;
66
- cursor: pointer;
67
- height: 1.2rem;
68
- }
69
- .switch-label {
70
- &:before {
71
- position: absolute;
72
- display: inline-block;
73
- content: '';
74
- height: 18px;
75
- width: 33px;
76
- border-radius: 0.45rem;
77
- border: 2px solid var(--label-before-bg-color);
78
- background-color: var(--label-before-bg-color);
79
- transition: 0.15s ease-in;
80
- transition-property: border-color, background-color;
81
- }
82
-
83
- &:after {
84
- position: absolute;
85
- display: inline-block;
86
- content: '';
87
- height: 14.5px;
88
- width: 14.5px;
89
- border: 1px solid var(--label-after-bg-color);
90
- border-radius: 50%;
91
- background-color: var(--label-after-bg-color);
92
- bottom: 12.5px;
93
- transition: 0.15s ease-in;
94
- }
95
- }
96
-
97
- & input[type='checkbox']:focus + label:before {
98
- box-shadow: var(--label-before-box-shadow);
99
- }
100
- & input[type='checkbox']:checked + label:before {
101
- border-color: #62a420;
102
- background-color: #62a420;
103
- }
104
- & input[type='checkbox']:checked + label:after {
105
- left: 15px;
106
- }
107
- & input[type='checkbox'] + label:after {
108
- left: 3px;
109
- }
110
- }
111
- </style>
1
+ <template>
2
+ <div class="flex-align-center">
3
+ <div class="switch-body">
4
+ <input :id="props.testId" v-model="value" type="checkbox" />
5
+ <label class="switch-label" :for="props.testId"></label>
6
+ </div>
7
+ <label :for="props.testId"><slot></slot></label>
8
+ </div>
9
+ </template>
10
+
11
+ <script setup lang="ts">
12
+ const props = withDefaults(
13
+ defineProps<{
14
+ modelValue: boolean
15
+ testId?: string
16
+ }>(),
17
+ { testId: 'ui-switch' }
18
+ )
19
+
20
+ const emits = defineEmits<{
21
+ (event: 'update:model-value', value: boolean): void
22
+ }>()
23
+
24
+ const value = computed<boolean>({
25
+ get() {
26
+ return props.modelValue
27
+ },
28
+ set(newValue) {
29
+ emits('update:model-value', newValue)
30
+ },
31
+ })
32
+ </script>
33
+
34
+ <style>
35
+ :root {
36
+ --label-before-bg-color: #737373;
37
+ --label-after-bg-color: #fff;
38
+ --label-before-box-shadow: 0 0 0.1rem 0.1rem #69c0e2;
39
+ }
40
+
41
+ :root.dark-theme {
42
+ --label-before-bg-color: #fff;
43
+ --label-after-bg-color: #1b2a32;
44
+ --label-before-box-shadow: 0 0 0;
45
+ }
46
+ </style>
47
+
48
+ <style scoped lang="scss">
49
+ .switch-body {
50
+ width: 33px;
51
+ height: 18px;
52
+ position: relative;
53
+ margin-right: 4px;
54
+
55
+ input[type='checkbox'] {
56
+ position: absolute;
57
+ top: 0.3rem;
58
+ right: 0.3rem;
59
+ height: 0.8rem;
60
+ width: 0.8rem;
61
+ opacity: 0;
62
+ }
63
+ .switch-label {
64
+ display: block;
65
+ position: relative;
66
+ cursor: pointer;
67
+ height: 1.2rem;
68
+ }
69
+ .switch-label {
70
+ &:before {
71
+ position: absolute;
72
+ display: inline-block;
73
+ content: '';
74
+ height: 18px;
75
+ width: 33px;
76
+ border-radius: 0.45rem;
77
+ border: 2px solid var(--label-before-bg-color);
78
+ background-color: var(--label-before-bg-color);
79
+ transition: 0.15s ease-in;
80
+ transition-property: border-color, background-color;
81
+ }
82
+
83
+ &:after {
84
+ position: absolute;
85
+ display: inline-block;
86
+ content: '';
87
+ height: 14.5px;
88
+ width: 14.5px;
89
+ border: 1px solid var(--label-after-bg-color);
90
+ border-radius: 50%;
91
+ background-color: var(--label-after-bg-color);
92
+ bottom: 12.5px;
93
+ transition: 0.15s ease-in;
94
+ }
95
+ }
96
+
97
+ & input[type='checkbox']:focus + label:before {
98
+ box-shadow: var(--label-before-box-shadow);
99
+ }
100
+ & input[type='checkbox']:checked + label:before {
101
+ border-color: #62a420;
102
+ background-color: #62a420;
103
+ }
104
+ & input[type='checkbox']:checked + label:after {
105
+ left: 15px;
106
+ }
107
+ & input[type='checkbox'] + label:after {
108
+ left: 3px;
109
+ }
110
+ }
111
+ </style>