bfg-common 1.5.246 → 1.5.248

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 (46) hide show
  1. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  2. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  3. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  4. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  5. package/assets/localization/local_be.json +15 -4
  6. package/assets/localization/local_en.json +15 -4
  7. package/assets/localization/local_hy.json +15 -4
  8. package/assets/localization/local_kk.json +15 -4
  9. package/assets/localization/local_ru.json +19 -8
  10. package/assets/localization/local_zh.json +15 -4
  11. package/assets/scss/clarity/local_ar.json +2 -2
  12. package/assets/scss/common/theme.scss +16 -0
  13. package/components/atoms/stack/StackBlock.vue +185 -185
  14. package/components/atoms/table/info/lib/models/interfaces.ts +10 -10
  15. package/components/common/backup/storage/actions/add/New.vue +6 -8
  16. package/components/common/backup/storage/actions/add/lib/config/createDatastore.ts +1 -1
  17. package/components/common/backup/storage/actions/add/lib/config/steps.ts +3 -3
  18. package/components/common/backup/storage/actions/add/steps/common/tooltipInfo/TooltipInfo.vue +94 -0
  19. package/components/common/backup/storage/actions/add/steps/hostAccessibility/HostAccessibility.vue +16 -18
  20. package/components/common/backup/storage/actions/add/steps/hostAccessibility/HostAccessibilityNew.vue +2 -7
  21. package/components/common/backup/storage/actions/add/steps/hostAccessibility/table/new/lib/config/compatibleTable.ts +3 -2
  22. package/components/common/backup/storage/actions/add/steps/name/Name.vue +1 -0
  23. package/components/common/backup/storage/actions/add/steps/name/New.vue +3 -16
  24. package/components/common/backup/storage/actions/add/steps/nameAndConfigure/NameAndConfigure.vue +1 -0
  25. package/components/common/backup/storage/actions/add/steps/nameAndConfigure/NameAndConfigureNew.vue +25 -73
  26. package/components/common/backup/storage/actions/add/steps/readyComplete/ReadyCompleteNew.vue +43 -5
  27. package/components/common/backup/storage/actions/add/steps/readyComplete/lib/config/propertiesDetails.ts +6 -5
  28. package/components/common/backup/storage/actions/add/steps/typeMode/TypeModeNew.vue +15 -16
  29. package/components/common/layout/theHeader/feedback/new/additionalDetails/Headline.vue +67 -8
  30. package/components/common/layout/theHeader/feedback/new/subtitle/Subtitle.vue +72 -8
  31. package/components/common/pages/tasks/table/Table.vue +7 -15
  32. package/components/common/pages/tasks/table/errorInfo/ErrorInfo.vue +128 -0
  33. package/components/common/pages/tasks/table/expandDetails/ExpandDetails.vue +9 -15
  34. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +99 -10
  35. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +1 -1
  36. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +3 -52
  37. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/model/ModelNew.vue +151 -32
  38. package/components/common/vm/actions/common/select/name/New.vue +70 -10
  39. package/components/common/wizards/datastore/add/New.vue +3 -8
  40. package/components/common/wizards/datastore/add/steps/common/tooltipInfo/TooltipInfo.vue +93 -0
  41. package/components/common/wizards/datastore/add/steps/nameAndConfigure/NameAndConfigureNew.vue +6 -17
  42. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceNew.vue +3 -9
  43. package/components/common/wizards/datastore/add/steps/typeMode/TypeModeNew.vue +6 -9
  44. package/package.json +1 -1
  45. package/components/common/tooltip/Help.vue +0 -132
  46. package/components/common/tooltip/lib/models/types.ts +0 -1
@@ -3,15 +3,41 @@
3
3
  <span class="subtitle__label">
4
4
  {{ localization.common.helpUsImprove }}
5
5
  </span>
6
-
7
- <common-tooltip-help
8
- test-id="feedback-description-help"
9
- help-id="feedback-description-info-icon"
10
- dropdown-width="320px"
11
- :title="localization.common.feedbackHelp"
12
- :help-text="localization.common.anyFeedbackYouProvideMay"
13
- dropdown-left
6
+ <ui-icon
7
+ id="feedback-description-info-icon"
8
+ name="info"
9
+ width="16"
10
+ height="16"
11
+ :class="['subtitle__icon pointer', isShowInfo && 'active']"
12
+ @click="isShowInfo = !isShowInfo"
14
13
  />
14
+ <ui-popup-window
15
+ v-model="isShowInfo"
16
+ :elem-id="'feedback-description-info-icon'"
17
+ width="320px"
18
+ class="subtitle__tooltip"
19
+ is-priority-right-position
20
+ >
21
+ <div class="common-widget-info">
22
+ <div class="headline justify-between flex-align-start">
23
+ <div class="flex-align-start">
24
+ <ui-icon name="info-2" width="16px" height="16px" />
25
+ <span class="title">{{ localization.common.feedbackHelp }}</span>
26
+ </div>
27
+ <ui-icon
28
+ name="close"
29
+ class="pointer hide-icon"
30
+ width="16px"
31
+ height="16px"
32
+ @click="isShowInfo = false"
33
+ />
34
+ </div>
35
+
36
+ <div class="common-widget-info-description">
37
+ {{ localization.common.anyFeedbackYouProvideMay }}
38
+ </div>
39
+ </div>
40
+ </ui-popup-window>
15
41
  </div>
16
42
  </template>
17
43
 
@@ -20,6 +46,7 @@ import type { UI_I_Localization } from '~/lib/models/interfaces'
20
46
 
21
47
  const localization = computed<UI_I_Localization>(() => useLocal())
22
48
 
49
+ const isShowInfo = ref<boolean>(false)
23
50
  </script>
24
51
 
25
52
  <style lang="scss" scoped>
@@ -29,11 +56,48 @@ const localization = computed<UI_I_Localization>(() => useLocal())
29
56
  border-bottom: 1px solid var(--horizontal-line);
30
57
  padding: 24px 0 12px;
31
58
 
59
+ &__icon {
60
+ color: var(--feedback-tooltip-trigger-color);
61
+ &:hover {
62
+ color: var(--feedback-tooltip-hover-trigger-color);
63
+ }
64
+ &.active {
65
+ color: var(--feedback-tooltip-acctive-trigger-color);
66
+ }
67
+ }
68
+ &__tooltip {
69
+ .flex-align-center {
70
+ height: 16px;
71
+ }
72
+ }
73
+
32
74
  &__label {
33
75
  font-size: 12px;
34
76
  font-weight: 400;
35
77
  line-height: 14.52px;
36
78
  color: #9da6ad;
37
79
  }
80
+ .common-widget-info {
81
+ padding: 16px;
82
+ .title {
83
+ font-size: 14px;
84
+ font-weight: 500;
85
+ line-height: 16.94px;
86
+ color: var(--feedback-text-color);
87
+ margin-left: 8px;
88
+ }
89
+
90
+ .common-widget-info-description {
91
+ font-size: 13px;
92
+ line-height: 15.73px;
93
+ color: var(--feedback-text-color);
94
+ margin-top: 12px;
95
+ }
96
+
97
+ svg {
98
+ flex: none;
99
+ color: var(--feedback-tooltip-close-color);
100
+ }
101
+ }
38
102
  }
39
103
  </style>
@@ -38,18 +38,13 @@
38
38
  {{ item.text }}
39
39
  </ui-chip>
40
40
 
41
- <div v-if="item.data.error" class="task-table__tooltip">
42
- <common-tooltip-help
43
- :test-id="item.data.testId"
44
- :help-id="item.data.testId + 'icon'"
45
- :title="localization.common.failureReason"
46
- :help-text="item.data.error"
47
- status="error"
48
- dropdown-width="232px"
49
- dropdown-left
50
- dropdown-top
51
- />
52
- </div>
41
+ <common-pages-tasks-table-error-info
42
+ v-if="item.data.error"
43
+ :id="item.data.testId"
44
+ :error="item.data.error"
45
+ :opened-error="openedError"
46
+ @toggle-error="onToggleError"
47
+ />
53
48
  </template>
54
49
 
55
50
  <template #default-actions="{ item }">
@@ -336,9 +331,6 @@ const onSelectNodeOfTree = (
336
331
  margin-left: 8px;
337
332
  }
338
333
  }
339
- &__tooltip {
340
- margin-left: 8px;
341
- }
342
334
  }
343
335
 
344
336
  .skeleton-header {
@@ -0,0 +1,128 @@
1
+ <template>
2
+ <div :class="['error-info', { 'error-info-small': props.isSmall }]">
3
+ <ui-icon
4
+ :id="`task-error-info-icon-${props.id}`"
5
+ name="info"
6
+ width="16px"
7
+ height="16px"
8
+ :class="[
9
+ 'info-icon pointer',
10
+ { show: isShowInfo, 'in-collapse-content': props.inCollapseContent },
11
+ ]"
12
+ @click.stop="emits('toggle-error', props.id)"
13
+ />
14
+ <ui-popup-window
15
+ v-model="isShowInfo"
16
+ top
17
+ left
18
+ :elem-id="`task-error-info-icon-${props.id}`"
19
+ >
20
+ <div class="common-widget-info">
21
+ <div class="headline justify-between flex-align-center">
22
+ <div class="flex-align-center">
23
+ <ui-icon name="error" width="16px" height="16px" />
24
+ <span class="title">{{ localization.common.failureReason }}</span>
25
+ </div>
26
+ <ui-icon
27
+ name="close"
28
+ class="pointer hide-icon"
29
+ width="16px"
30
+ height="16px"
31
+ @click.stop="emits('toggle-error', '')"
32
+ />
33
+ </div>
34
+
35
+ <div class="common-widget-info-description">
36
+ {{ props.error }}
37
+ </div>
38
+ </div>
39
+ </ui-popup-window>
40
+ </div>
41
+ </template>
42
+
43
+ <script lang="ts" setup>
44
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
45
+
46
+ const props = withDefaults(
47
+ defineProps<{
48
+ id: string
49
+ error: string
50
+ openedError: string
51
+ inCollapseContent?: boolean
52
+ isSmall?: boolean
53
+ }>(),
54
+ {
55
+ inCollapseContent: false,
56
+ isSmall: false,
57
+ }
58
+ )
59
+
60
+ const localization = computed<UI_I_Localization>(() => useLocal())
61
+
62
+ const emits = defineEmits<{
63
+ (event: 'toggle-error', value: string): void
64
+ }>()
65
+
66
+ const isShowInfo = computed<boolean>({
67
+ get() {
68
+ return props.openedError === props.id
69
+ },
70
+ set() {
71
+ emits('toggle-error', '')
72
+ },
73
+ })
74
+ </script>
75
+
76
+ <style lang="scss" scoped>
77
+ .error-info {
78
+ display: flex;
79
+ justify-content: space-between;
80
+ margin-left: 8px;
81
+
82
+ &.error-info-small {
83
+ margin-left: 6px;
84
+ }
85
+
86
+ .info-icon {
87
+ color: var(--form-icon-color);
88
+
89
+ &:hover {
90
+ color: var(--close-icon);
91
+ }
92
+ &.show {
93
+ color: var(--btn-primary-fill-bg-color);
94
+ }
95
+ }
96
+
97
+ .common-widget-info {
98
+ width: 232px;
99
+ padding: 16px;
100
+
101
+ .title {
102
+ font-size: 14px;
103
+ font-weight: 500;
104
+ line-height: 16px;
105
+ color: var(--zabbix-text-color);
106
+ margin-left: 8px;
107
+ }
108
+
109
+ .hide-icon {
110
+ color: var(--alert-icon);
111
+ }
112
+
113
+ .common-widget-info-description {
114
+ font-size: 13px;
115
+ line-height: 15.73px;
116
+ color: var(--zabbix-text-color);
117
+ margin-top: 12px;
118
+ }
119
+ }
120
+ }
121
+
122
+ :deep(.in-collapse-content) {
123
+ path,
124
+ circle {
125
+ stroke-width: 1.4 !important;
126
+ }
127
+ }
128
+ </style>
@@ -30,18 +30,15 @@
30
30
  {{ normalizedTaskDetails[2].text }}
31
31
  </ui-chip>
32
32
 
33
- <div v-if="normalizedTaskDetails[2].data.error" class="expand-details__tooltip">
34
- <common-tooltip-help
35
- :test-id="normalizedTaskDetails[2].data.testId"
36
- :help-id="`${normalizedTaskDetails[2].data.testId}-expand-icon`"
37
- :title="localization.common.failureReason"
38
- :help-text="normalizedTaskDetails[2].data.error"
39
- status="error"
40
- dropdown-width="232px"
41
- dropdown-left
42
- dropdown-top
43
- />
44
- </div>
33
+ <common-pages-tasks-table-error-info
34
+ v-if="normalizedTaskDetails[2].data.error"
35
+ :id="`${normalizedTaskDetails[2].data.testId}-expand-details`"
36
+ :error="normalizedTaskDetails[2].data.error"
37
+ :opened-error="openedError"
38
+ in-collapse-content
39
+ is-small
40
+ @toggle-error="onToggleError"
41
+ />
45
42
  </span>
46
43
  </div>
47
44
 
@@ -185,8 +182,5 @@ const onSelectNodeOfTree = (data: any): void => {
185
182
  width: max-content;
186
183
  }
187
184
  }
188
- &__tooltip {
189
- margin-left: 6px;
190
- }
191
185
  }
192
186
  </style>
@@ -17,16 +17,52 @@
17
17
  size="sm"
18
18
  />
19
19
 
20
- <div v-if="props.helpText">
21
- <common-tooltip-help
22
- :test-id="`${props.testId}`"
23
- :help-id="`${props.helpId}`"
24
- :help-text="props.helpText"
25
- :dropdown-left="true"
26
- dropdown-width="480px"
27
- icon-width="20"
28
- icon-height="20"
20
+ <div
21
+ v-if="props.helpText"
22
+ :id="props.helpId"
23
+ class="flex-align-center relative"
24
+ >
25
+ <ui-icon
26
+ :data-id="`${props.testId}-show-help-icon`"
27
+ width="20"
28
+ height="20"
29
+ name="info"
30
+ :class="['bus-help-icon cursor-pointer', {active: isShowHelp}]"
31
+ @click.stop="isShowHelp = !isShowHelp"
29
32
  />
33
+ <Teleport to="body">
34
+ <ui-dropdown
35
+ :show="isShowHelp"
36
+ :elem-id="props.helpId"
37
+ :items="[]"
38
+ test-id=""
39
+ width="480px"
40
+ left
41
+ @hide="isShowHelp = false"
42
+ >
43
+ <template #content>
44
+ <div class="help-content">
45
+ <div class="headline">
46
+ <ui-icon name="info-2" width="16" height="16" />
47
+ <h3 class="help-title">
48
+ {{ localization.mainNavigation.help }}
49
+ </h3>
50
+ <ui-icon
51
+ name="close"
52
+ width="16"
53
+ height="16"
54
+ class="bus-help-close-icon cursor-pointer"
55
+ @click="isShowHelp = false"
56
+ />
57
+ </div>
58
+
59
+ <p class="help-text">
60
+ {{ props.helpText }}
61
+ </p>
62
+ </div>
63
+ </template>
64
+ </ui-dropdown>
65
+ </Teleport>
30
66
  </div>
31
67
  </div>
32
68
  </template>
@@ -38,6 +74,7 @@ import type { UI_I_Localization } from '~/lib/models/interfaces'
38
74
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
39
75
 
40
76
  const bus = defineModel<string>('bus')
77
+ const isShowHelp = defineModel<boolean>('isShowHelp')
41
78
 
42
79
  const props = defineProps<{
43
80
  index: number
@@ -56,4 +93,56 @@ const props = defineProps<{
56
93
  const localization = computed<UI_I_Localization>(() => useLocal())
57
94
  </script>
58
95
 
59
- <style lang="scss" scoped></style>
96
+ <style>
97
+ :root {
98
+ --bus-help-color: #4d5d69;
99
+ --bus-help-icon-hover-color: #4d5d69;
100
+ --bus-help-icon-active-color: #008fd6;
101
+ --bus-help-close-icon-color: #182531;
102
+ }
103
+ :root.dark-theme {
104
+ --bus-help-color: #e9eaec;
105
+ --bus-help-icon-hover-color: #e9eaec;
106
+ --bus-help-icon-active-color: #2ba2de;
107
+ --bus-help-close-icon-color: #e9eaec;
108
+ }
109
+ </style>
110
+ <style lang="scss" scoped>
111
+ .bus-help-icon {
112
+ color: #9da6ad; // for light and dark
113
+
114
+ &:hover {
115
+ color: var(--bus-help-icon-hover-color);
116
+ }
117
+ &.active {
118
+ color: var(--bus-help-icon-active-color);
119
+ }
120
+ }
121
+ .help-content {
122
+ padding: 16px;
123
+
124
+ .headline {
125
+ display: flex;
126
+ align-items: center;
127
+ gap: 8px;
128
+ margin-bottom: 12px;
129
+
130
+ .help-title {
131
+ flex: 1;
132
+ font-size: 14px;
133
+ font-weight: 500;
134
+ line-height: 16.94px;
135
+ color: var(--bus-help-color);
136
+ }
137
+ .bus-help-close-icon {
138
+ color: var(--bus-help-close-icon-color)
139
+ }
140
+ }
141
+
142
+ .help-text {
143
+ font-size: 13px;
144
+ line-height: 15.73px;
145
+ color: var(--bus-help-color);
146
+ }
147
+ }
148
+ </style>
@@ -56,7 +56,7 @@ const localization = computed<UI_I_Localization>(() => useLocal())
56
56
  :root {
57
57
  --media-content-border-color: #e9ebeda3;
58
58
  }
59
- :root {
59
+ :root.dark-theme {
60
60
  --media-content-border-color: #e9ebed1f;
61
61
  }
62
62
  </style>
@@ -34,38 +34,9 @@
34
34
  width="auto"
35
35
  />
36
36
 
37
- <common-tooltip-help
38
- test-id="cpu-help-tooltip"
39
- help-id="cpu-help-tooltip-icon"
40
- icon-width="20"
41
- icon-height="20"
42
- :title="localization.common.cpu"
43
- :dropdown-left="true"
44
- dropdown-width="480px"
45
- >
46
- <div class="cpu-info-block">
47
- <p class="help-text">
48
- {{ localization.common.vmCpuHelpText1 }}
49
- </p>
50
- <p class="help-text">
51
- {{ props.vmCpuHelpTextSecond }}
52
- </p>
53
- <p class="help-text">
54
- {{ localization.common.vmCpuHelpText3 }}
55
- </p>
56
- <p class="help-text">
57
- {{ localization.common.vmCpuHelpText4 }}
58
- </p>
59
- <div>
60
- <a
61
- id="cpu-more-info-link"
62
- href="javascript:void(0)"
63
- class="cpu-more-info"
64
- >{{ localization.common.moreInformation }}</a
65
- >
66
- </div>
67
- </div>
68
- </common-tooltip-help>
37
+ <common-vm-actions-common-customize-hardware-virtual-hardware-cpu-tooltip
38
+ :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
39
+ />
69
40
  </div>
70
41
  </template>
71
42
  <template #stackChildren>
@@ -202,14 +173,6 @@ const emits = defineEmits<{
202
173
  const localization = computed<UI_I_Localization>(() => useLocal())
203
174
  </script>
204
175
 
205
- <style>
206
- :root {
207
- --cpu-help-more-info-color: #008fd6;
208
- }
209
- :root.dark-theme {
210
- --cpu-help-more-info-color: #2ba2de;
211
- }
212
- </style>
213
176
  <style scoped lang="scss">
214
177
  :deep(.ui-main-select-toggle) {
215
178
  display: flex;
@@ -228,16 +191,4 @@ const localization = computed<UI_I_Localization>(() => useLocal())
228
191
  :deep(.unit .ui-main-select-toggle) {
229
192
  width: 80px;
230
193
  }
231
- .cpu-info-block {
232
- :deep(.help-text) {
233
- margin-bottom: 12px;
234
- }
235
- :deep(.cpu-more-info) {
236
- font-size: 13px;
237
- font-weight: 500;
238
- line-height: 15.73px;
239
- color: var(--cpu-help-more-info-color);
240
- text-decoration: none;
241
- }
242
- }
243
194
  </style>