bfg-common 1.4.34 → 1.4.36

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 (27) hide show
  1. package/assets/img/icons/icons-sprite-dark-6.svg +1 -190
  2. package/assets/img/icons/icons-sprite-dark-9.svg +71 -0
  3. package/assets/img/icons/icons-sprite-light-6.svg +1 -190
  4. package/assets/img/icons/icons-sprite-light-9.svg +71 -0
  5. package/assets/localization/local_be.json +6 -1
  6. package/assets/localization/local_en.json +6 -1
  7. package/assets/localization/local_hy.json +6 -1
  8. package/assets/localization/local_kk.json +6 -1
  9. package/assets/localization/local_ru.json +6 -1
  10. package/assets/localization/local_zh.json +6 -1
  11. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  12. package/components/common/browse/blocks/Title.vue +91 -91
  13. package/components/common/browse/blocks/info/Date.vue +21 -21
  14. package/components/common/context/recursion/Recursion.vue +86 -86
  15. package/components/common/context/recursion/RecursionNew.vue +198 -198
  16. package/components/common/context/recursion/RecursionOld.vue +212 -212
  17. package/components/common/split/horizontal/HorizontalNew.vue +321 -321
  18. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuHotPlug.vue +52 -52
  19. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Hv.vue +99 -99
  20. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +85 -85
  21. package/components/common/wizards/datastore/add/Add.vue +437 -437
  22. package/composables/productNameLocal.ts +30 -30
  23. package/lib/models/interfaces.ts +1 -0
  24. package/package.json +1 -1
  25. package/plugins/recursion.ts +311 -311
  26. package/public/spice-console/lib/images/bitmap.js +203 -203
  27. package/store/tasks/mappers/recentTasks.ts +45 -45
@@ -2423,7 +2423,8 @@
2423
2423
  "iops": "IOPS",
2424
2424
  "ioCountForPathSwitch": "I/O հաշվիչը երթուղու անջատիչի համար",
2425
2425
  "byteCountForPathSwitch": "Բայթերի քանակը ուղու փոխարկիչի համար",
2426
- "theValueEitherEmptyOrInvalid": "Այս արժեքը կամ դատարկ է, կամ անվավեր"
2426
+ "theValueEitherEmptyOrInvalid": "Այս արժեքը կամ դատարկ է, կամ անվավեր",
2427
+ "weight": "Քաշը"
2427
2428
  },
2428
2429
  "auth": {
2429
2430
  "welcomeTo": "Բարի գալուստ",
@@ -2567,5 +2568,9 @@
2567
2568
  },
2568
2569
  "importVms": {
2569
2570
  "selectSourceTooltipDesc": "Esxi օգտագործողի իրավունքները պետք է համապատասխանեն Administrator-ի դերերին"
2571
+ },
2572
+ "storageDevice": {
2573
+ "repeatCount": "Կրկնել հաշվարկը",
2574
+ "relativeThroughput": "Հարաբերական թողունակություն"
2570
2575
  }
2571
2576
  }
@@ -2422,7 +2422,8 @@
2422
2422
  "iops": "IOPS",
2423
2423
  "ioCountForPathSwitch": "Жолды ауыстыру үшін енгізу/шығару саны",
2424
2424
  "byteCountForPathSwitch": "Жолды ауыстыру үшін байт саны",
2425
- "theValueEitherEmptyOrInvalid": "Мән бос немесе жарамсыз"
2425
+ "theValueEitherEmptyOrInvalid": "Мән бос немесе жарамсыз",
2426
+ "weight": "Салмағы"
2426
2427
  },
2427
2428
  "auth": {
2428
2429
  "welcomeTo": "Қош келдіңіз",
@@ -2566,5 +2567,9 @@
2566
2567
  },
2567
2568
  "importVms": {
2568
2569
  "selectSourceTooltipDesc": "Esxi пайдаланушы құқықтары әкімші рөлдеріне сәйкес келуі керек"
2570
+ },
2571
+ "storageDevice": {
2572
+ "repeatCount": "Сананы қайталау",
2573
+ "relativeThroughput": "Салыстырмалы өткізу қабілеті"
2569
2574
  }
2570
2575
  }
@@ -2425,7 +2425,8 @@
2425
2425
  "iops": "операций ввода-вывода в секунду",
2426
2426
  "ioCountForPathSwitch": "Количество операций ввода-вывода для переключения пути",
2427
2427
  "byteCountForPathSwitch": "Количество байт для переключения пути",
2428
- "theValueEitherEmptyOrInvalid": "Значение либо пустое, либо недопустимое"
2428
+ "theValueEitherEmptyOrInvalid": "Значение либо пустое, либо недопустимое",
2429
+ "weight": "Бес"
2429
2430
  },
2430
2431
  "auth": {
2431
2432
  "welcomeTo": "Добро пожаловать в",
@@ -2569,5 +2570,9 @@
2569
2570
  },
2570
2571
  "importVms": {
2571
2572
  "selectSourceTooltipDesc": "Права пользователя esxi дожны соответствовать ролям Administrator"
2573
+ },
2574
+ "storageDevice": {
2575
+ "repeatCount": "Повторить счет",
2576
+ "relativeThroughput": "Относительная пропускная способность"
2572
2577
  }
2573
2578
  }
@@ -2421,7 +2421,8 @@
2421
2421
  "iops": "IOPS",
2422
2422
  "ioCountForPathSwitch": "路径切换的 I/O 计数",
2423
2423
  "byteCountForPathSwitch": "路径切换的字节数",
2424
- "theValueEitherEmptyOrInvalid": "该值为空或无效"
2424
+ "theValueEitherEmptyOrInvalid": "该值为空或无效",
2425
+ "weight": "重量"
2425
2426
  },
2426
2427
  "auth": {
2427
2428
  "welcomeTo": "欢迎来到",
@@ -2565,5 +2566,9 @@
2565
2566
  },
2566
2567
  "importVms": {
2567
2568
  "selectSourceTooltipDesc": "Esxi用户权限必须对应于管理员角色"
2569
+ },
2570
+ "storageDevice": {
2571
+ "repeatCount": "重复计数",
2572
+ "relativeThroughput": "相对吞吐量"
2568
2573
  }
2569
2574
  }
@@ -1,253 +1,253 @@
1
- <template>
2
- <div v-if="props.show" class="modal clr-wizard wizard-xl">
3
- <div class="modal-dialog modal-xl relative" :data-id="props.testId">
4
- <div class="modal-content-wrapper">
5
- <nav class="modal-nav clr-wizard-stepnav-wrapper">
6
- <h1 class="clr-wizard-title">
7
- {{ props.title }}
8
- </h1>
9
- <atoms-step-vertical-step
10
- :test-id="props.testId"
11
- :items="props.stepItems"
12
- :step-position="props.stepPosition"
13
- @change="changeStep"
14
- />
15
- </nav>
16
- <div class="modal-content">
17
- <div class="modal-header--accessible">
18
- <slot name="contentHeading">
19
- <div class="modal-title-wrapper">
20
- <h2 class="modal-title">
21
- <span class="modal-title-text">{{ heading }}</span>
22
- </h2>
23
- </div>
24
- </slot>
25
- <button
26
- :id="`${props.testId}-close-icon`"
27
- class="close"
28
- :data-id="`${props.testId}-close-button`"
29
- @click="hide"
30
- >
31
- <atoms-the-icon class="close-icon" name="close" />
32
- </button>
33
- </div>
34
- <div class="modal-body">
35
- <slot
36
- name="modalBody"
37
- :title="heading"
38
- :description="stepDescription"
39
- />
40
- </div>
41
- <div class="modal-footer">
42
- <slot name="modalFooter">
43
- <button
44
- :id="`${props.testId}-cancel-button`"
45
- class="btn btn-link"
46
- :data-id="`${props.testId}-cancel-button`"
47
- @click="hide"
48
- >
49
- {{ localization.common.cancel }}
50
- </button>
51
- <button
52
- v-show="props.stepPosition > 0"
53
- :id="`${props.testId}-back-button`"
54
- class="btn btn-outline"
55
- :data-id="`${props.testId}-back-button`"
56
- @click="back"
57
- >
58
- {{ localization.common.back }}
59
- </button>
60
- <button
61
- v-if="props.stepPosition === props.stepItems.length - 1"
62
- :id="`${props.testId}-finish-button`"
63
- class="btn btn-success"
64
- :data-id="`${props.testId}-finish-button`"
65
- @click="finish"
66
- >
67
- {{ localization.common.finish }}
68
- </button>
69
- <button
70
- v-else
71
- :id="`${props.testId}-next-button`"
72
- :disabled="props.disabledNext"
73
- class="btn btn-primary"
74
- :data-id="`${props.testId}-next-button`"
75
- @click="next"
76
- >
77
- {{ localization.common.next }}
78
- </button>
79
- </slot>
80
- </div>
81
- </div>
82
- </div>
83
-
84
- <div v-show="props.loading" class="loader">
85
- <i class="fa clr-tree-node-caret-icon spinner spinner" />
86
- </div>
87
- </div>
88
- <div class="modal-backdrop" />
89
- </div>
90
- </template>
91
-
92
- <script setup lang="ts">
93
- import type { UI_I_VerticalStepItem } from '~/components/atoms/lib/models/interfaces'
94
- import type { UI_I_Localization } from '~/lib/models/interfaces'
95
-
96
- const props = withDefaults(
97
- defineProps<{
98
- show: boolean
99
- title: string
100
- stepItems: UI_I_VerticalStepItem[]
101
- stepPosition: number
102
- secondTitle?: string
103
- testId?: string
104
- loading?: boolean
105
- disabledNext?: boolean
106
- }>(),
107
- {
108
- testId: 'ui-modal-by-steps',
109
- disabledNext: false,
110
- }
111
- )
112
- const emits = defineEmits<{
113
- (event: 'finish'): void
114
- (event: 'next'): void
115
- (event: 'back'): void
116
- (event: 'hide'): void
117
- (event: 'change-step', num: number): void
118
- }>()
119
-
120
- const localization = computed<UI_I_Localization>(() => useLocal())
121
-
122
- const heading = ref<string | null>(null)
123
- const stepDescription = ref<string | null>(null)
124
-
125
- const hide = (): void => {
126
- emits('hide')
127
- }
128
- const finish = (): void => {
129
- emits('finish')
130
- }
131
- const next = (): void => {
132
- emits('next')
133
- }
134
- const back = (): void => {
135
- emits('back')
136
- }
137
- const changeStep = (key: number): void => {
138
- emits('change-step', key)
139
- }
140
-
141
- watch(
142
- () => props.stepPosition,
143
- (value) => {
144
- const { stepItems, secondTitle } = props
145
- if (secondTitle) {
146
- heading.value = secondTitle
147
- return
148
- }
149
-
150
- heading.value = stepItems[value].text
151
- stepDescription.value = stepItems[value]?.description || ''
152
- },
153
- { immediate: true }
154
- )
155
- </script>
156
-
157
- <style scoped lang="scss">
158
- .modal {
159
- position: fixed;
160
- top: 0;
161
- bottom: 0;
162
- right: 0;
163
- left: 0;
164
- z-index: 1050;
165
- display: flex;
166
- flex-direction: column;
167
- justify-content: center;
168
- align-items: center;
169
- padding: 48px;
170
- overflow-y: auto;
171
-
172
- .modal-nav {
173
- background-color: var(--block-view-bg-color4);
174
- .clr-wizard-title {
175
- color: var(--main-color-mode);
176
- font-size: 22px;
177
- padding: 24px 12px 24px 24px;
178
- //line-height: 1.2rem;
179
- }
180
- }
181
-
182
- .modal-content-wrapper {
183
- position: relative;
184
- -webkit-animation-name: animateTop;
185
- -webkit-animation-duration: 0.4s;
186
- animation-name: animateTop;
187
- animation-duration: 0.4s;
188
- }
189
-
190
- .modal-content {
191
- background-color: var(--modal-bg-color);
192
-
193
- .modal-header--accessible {
194
- display: flex;
195
- justify-content: space-between;
196
- align-items: flex-start;
197
- width: 100%;
198
- padding: 24px 19px 6px 24px;
199
-
200
- .modal-title-text {
201
- color: var(--main-color-mode);
202
- font-size: 22px;
203
- }
204
-
205
- .close-icon {
206
- fill: var(--close-icon);
207
- width: 24px;
208
- height: 24px;
209
- }
210
- }
211
-
212
- .modal-body {
213
- padding: 0 3px;
214
- }
215
-
216
- .modal-footer {
217
- display: flex;
218
- justify-content: flex-end;
219
- padding: 24px;
220
- flex: unset;
221
- min-height: 0;
222
- height: auto;
223
- }
224
- }
225
-
226
- .loader {
227
- position: absolute;
228
- z-index: 1000;
229
- left: 0;
230
- right: 0;
231
- bottom: 0;
232
- top: 0;
233
- display: flex;
234
- align-items: center;
235
- justify-content: center;
236
- background-color: rgba(0, 0, 0, 0.3);
237
-
238
- .spinner {
239
- left: unset;
240
- }
241
- }
242
-
243
- .modal-backdrop {
244
- opacity: 1;
245
- background-color: rgba(0, 0, 0, 0.6);
246
- }
247
- }
248
- h1,
249
- h2 {
250
- // просмотреть если нигде не ломается переместит глобально
251
- line-height: inherit;
252
- }
253
- </style>
1
+ <template>
2
+ <div v-if="props.show" class="modal clr-wizard wizard-xl">
3
+ <div class="modal-dialog modal-xl relative" :data-id="props.testId">
4
+ <div class="modal-content-wrapper">
5
+ <nav class="modal-nav clr-wizard-stepnav-wrapper">
6
+ <h1 class="clr-wizard-title">
7
+ {{ props.title }}
8
+ </h1>
9
+ <atoms-step-vertical-step
10
+ :test-id="props.testId"
11
+ :items="props.stepItems"
12
+ :step-position="props.stepPosition"
13
+ @change="changeStep"
14
+ />
15
+ </nav>
16
+ <div class="modal-content">
17
+ <div class="modal-header--accessible">
18
+ <slot name="contentHeading">
19
+ <div class="modal-title-wrapper">
20
+ <h2 class="modal-title">
21
+ <span class="modal-title-text">{{ heading }}</span>
22
+ </h2>
23
+ </div>
24
+ </slot>
25
+ <button
26
+ :id="`${props.testId}-close-icon`"
27
+ class="close"
28
+ :data-id="`${props.testId}-close-button`"
29
+ @click="hide"
30
+ >
31
+ <atoms-the-icon class="close-icon" name="close" />
32
+ </button>
33
+ </div>
34
+ <div class="modal-body">
35
+ <slot
36
+ name="modalBody"
37
+ :title="heading"
38
+ :description="stepDescription"
39
+ />
40
+ </div>
41
+ <div class="modal-footer">
42
+ <slot name="modalFooter">
43
+ <button
44
+ :id="`${props.testId}-cancel-button`"
45
+ class="btn btn-link"
46
+ :data-id="`${props.testId}-cancel-button`"
47
+ @click="hide"
48
+ >
49
+ {{ localization.common.cancel }}
50
+ </button>
51
+ <button
52
+ v-show="props.stepPosition > 0"
53
+ :id="`${props.testId}-back-button`"
54
+ class="btn btn-outline"
55
+ :data-id="`${props.testId}-back-button`"
56
+ @click="back"
57
+ >
58
+ {{ localization.common.back }}
59
+ </button>
60
+ <button
61
+ v-if="props.stepPosition === props.stepItems.length - 1"
62
+ :id="`${props.testId}-finish-button`"
63
+ class="btn btn-success"
64
+ :data-id="`${props.testId}-finish-button`"
65
+ @click="finish"
66
+ >
67
+ {{ localization.common.finish }}
68
+ </button>
69
+ <button
70
+ v-else
71
+ :id="`${props.testId}-next-button`"
72
+ :disabled="props.disabledNext"
73
+ class="btn btn-primary"
74
+ :data-id="`${props.testId}-next-button`"
75
+ @click="next"
76
+ >
77
+ {{ localization.common.next }}
78
+ </button>
79
+ </slot>
80
+ </div>
81
+ </div>
82
+ </div>
83
+
84
+ <div v-show="props.loading" class="loader">
85
+ <i class="fa clr-tree-node-caret-icon spinner spinner" />
86
+ </div>
87
+ </div>
88
+ <div class="modal-backdrop" />
89
+ </div>
90
+ </template>
91
+
92
+ <script setup lang="ts">
93
+ import type { UI_I_VerticalStepItem } from '~/components/atoms/lib/models/interfaces'
94
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
95
+
96
+ const props = withDefaults(
97
+ defineProps<{
98
+ show: boolean
99
+ title: string
100
+ stepItems: UI_I_VerticalStepItem[]
101
+ stepPosition: number
102
+ secondTitle?: string
103
+ testId?: string
104
+ loading?: boolean
105
+ disabledNext?: boolean
106
+ }>(),
107
+ {
108
+ testId: 'ui-modal-by-steps',
109
+ disabledNext: false,
110
+ }
111
+ )
112
+ const emits = defineEmits<{
113
+ (event: 'finish'): void
114
+ (event: 'next'): void
115
+ (event: 'back'): void
116
+ (event: 'hide'): void
117
+ (event: 'change-step', num: number): void
118
+ }>()
119
+
120
+ const localization = computed<UI_I_Localization>(() => useLocal())
121
+
122
+ const heading = ref<string | null>(null)
123
+ const stepDescription = ref<string | null>(null)
124
+
125
+ const hide = (): void => {
126
+ emits('hide')
127
+ }
128
+ const finish = (): void => {
129
+ emits('finish')
130
+ }
131
+ const next = (): void => {
132
+ emits('next')
133
+ }
134
+ const back = (): void => {
135
+ emits('back')
136
+ }
137
+ const changeStep = (key: number): void => {
138
+ emits('change-step', key)
139
+ }
140
+
141
+ watch(
142
+ () => props.stepPosition,
143
+ (value) => {
144
+ const { stepItems, secondTitle } = props
145
+ if (secondTitle) {
146
+ heading.value = secondTitle
147
+ return
148
+ }
149
+
150
+ heading.value = stepItems[value].text
151
+ stepDescription.value = stepItems[value]?.description || ''
152
+ },
153
+ { immediate: true }
154
+ )
155
+ </script>
156
+
157
+ <style scoped lang="scss">
158
+ .modal {
159
+ position: fixed;
160
+ top: 0;
161
+ bottom: 0;
162
+ right: 0;
163
+ left: 0;
164
+ z-index: 1050;
165
+ display: flex;
166
+ flex-direction: column;
167
+ justify-content: center;
168
+ align-items: center;
169
+ padding: 48px;
170
+ overflow-y: auto;
171
+
172
+ .modal-nav {
173
+ background-color: var(--block-view-bg-color4);
174
+ .clr-wizard-title {
175
+ color: var(--main-color-mode);
176
+ font-size: 22px;
177
+ padding: 24px 12px 24px 24px;
178
+ //line-height: 1.2rem;
179
+ }
180
+ }
181
+
182
+ .modal-content-wrapper {
183
+ position: relative;
184
+ -webkit-animation-name: animateTop;
185
+ -webkit-animation-duration: 0.4s;
186
+ animation-name: animateTop;
187
+ animation-duration: 0.4s;
188
+ }
189
+
190
+ .modal-content {
191
+ background-color: var(--modal-bg-color);
192
+
193
+ .modal-header--accessible {
194
+ display: flex;
195
+ justify-content: space-between;
196
+ align-items: flex-start;
197
+ width: 100%;
198
+ padding: 24px 19px 6px 24px;
199
+
200
+ .modal-title-text {
201
+ color: var(--main-color-mode);
202
+ font-size: 22px;
203
+ }
204
+
205
+ .close-icon {
206
+ fill: var(--close-icon);
207
+ width: 24px;
208
+ height: 24px;
209
+ }
210
+ }
211
+
212
+ .modal-body {
213
+ padding: 0 3px;
214
+ }
215
+
216
+ .modal-footer {
217
+ display: flex;
218
+ justify-content: flex-end;
219
+ padding: 24px;
220
+ flex: unset;
221
+ min-height: 0;
222
+ height: auto;
223
+ }
224
+ }
225
+
226
+ .loader {
227
+ position: absolute;
228
+ z-index: 1000;
229
+ left: 0;
230
+ right: 0;
231
+ bottom: 0;
232
+ top: 0;
233
+ display: flex;
234
+ align-items: center;
235
+ justify-content: center;
236
+ background-color: rgba(0, 0, 0, 0.3);
237
+
238
+ .spinner {
239
+ left: unset;
240
+ }
241
+ }
242
+
243
+ .modal-backdrop {
244
+ opacity: 1;
245
+ background-color: rgba(0, 0, 0, 0.6);
246
+ }
247
+ }
248
+ h1,
249
+ h2 {
250
+ // просмотреть если нигде не ломается переместит глобально
251
+ line-height: inherit;
252
+ }
253
+ </style>