bfg-common 1.5.249 → 1.5.251
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.
- package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
- package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
- package/assets/img/icons/icons-sprite-light-3.svg +227 -227
- package/assets/img/icons/icons-sprite-light-5.svg +488 -488
- package/assets/localization/local_be.json +7 -1
- package/assets/localization/local_en.json +7 -1
- package/assets/localization/local_hy.json +7 -1
- package/assets/localization/local_kk.json +7 -1
- package/assets/localization/local_ru.json +7 -1
- package/assets/localization/local_zh.json +7 -1
- package/assets/scss/common/theme.scss +16 -0
- package/components/atoms/stack/StackBlock.vue +185 -185
- package/components/atoms/table/info/lib/models/interfaces.ts +10 -10
- package/components/common/backup/storage/actions/add/New.vue +4 -9
- package/components/common/backup/storage/actions/add/steps/common/tooltipInfo/TooltipInfo.vue +94 -0
- package/components/common/backup/storage/actions/add/steps/nameAndConfigure/NameAndConfigureNew.vue +9 -18
- package/components/common/backup/storage/actions/add/steps/typeMode/TypeModeNew.vue +3 -12
- package/components/common/layout/theHeader/feedback/new/additionalDetails/Headline.vue +67 -8
- package/components/common/layout/theHeader/feedback/new/subtitle/Subtitle.vue +72 -8
- package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesOld.vue +1 -9
- package/components/common/pages/tasks/table/Table.vue +7 -15
- package/components/common/pages/tasks/table/errorInfo/ErrorInfo.vue +128 -0
- package/components/common/pages/tasks/table/expandDetails/ExpandDetails.vue +9 -15
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +99 -10
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +3 -52
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/model/ModelNew.vue +151 -32
- package/components/common/vm/actions/common/select/name/New.vue +70 -10
- package/components/common/wizards/datastore/add/New.vue +3 -8
- package/components/common/wizards/datastore/add/steps/common/tooltipInfo/TooltipInfo.vue +93 -0
- package/components/common/wizards/datastore/add/steps/nameAndConfigure/NameAndConfigureNew.vue +6 -20
- package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceNew.vue +3 -9
- package/components/common/wizards/datastore/add/steps/typeMode/TypeModeNew.vue +3 -8
- package/package.json +2 -2
- package/components/common/tooltip/Help.vue +0 -132
- package/components/common/tooltip/lib/models/types.ts +0 -1
package/components/common/backup/storage/actions/add/steps/nameAndConfigure/NameAndConfigureNew.vue
CHANGED
|
@@ -35,14 +35,9 @@
|
|
|
35
35
|
<span class="basics-step-row-title-text">
|
|
36
36
|
{{ localization.common.folder }}
|
|
37
37
|
</span>
|
|
38
|
-
<common-tooltip-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
:title="localization.common.information"
|
|
42
|
-
:help-text="localization.backup.specifyFolderPathExample"
|
|
43
|
-
dropdown-width="272px"
|
|
44
|
-
dropdown-left
|
|
45
|
-
dropdown-top
|
|
38
|
+
<common-backup-storage-actions-add-steps-common-tooltip-info
|
|
39
|
+
id="backup-storage-tooltip-info-folder"
|
|
40
|
+
:description="localization.backup.specifyFolderPathExample"
|
|
46
41
|
/>
|
|
47
42
|
</div>
|
|
48
43
|
<div class="basics-step-row-content">
|
|
@@ -63,14 +58,9 @@
|
|
|
63
58
|
<span class="basics-step-row-title-text">
|
|
64
59
|
{{ localization.common.server }}
|
|
65
60
|
</span>
|
|
66
|
-
<common-tooltip-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
:title="localization.common.information"
|
|
70
|
-
:help-text="localization.backup.specifyServerAddressExample"
|
|
71
|
-
dropdown-width="272px"
|
|
72
|
-
dropdown-left
|
|
73
|
-
dropdown-top
|
|
61
|
+
<common-backup-storage-actions-add-steps-common-tooltip-info
|
|
62
|
+
id="backup-storage-tooltip-info-server"
|
|
63
|
+
:description="localization.backup.specifyServerAddressExample"
|
|
74
64
|
/>
|
|
75
65
|
</div>
|
|
76
66
|
<div class="basics-step-row-content">
|
|
@@ -137,7 +127,9 @@ const props = defineProps<{
|
|
|
137
127
|
alertMessages: string[]
|
|
138
128
|
messagesFields: UI_I_WizardStep['fields']
|
|
139
129
|
}>()
|
|
140
|
-
|
|
130
|
+
const emits = defineEmits<{
|
|
131
|
+
(event: 'remove-errors'): void
|
|
132
|
+
}>()
|
|
141
133
|
|
|
142
134
|
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
143
135
|
|
|
@@ -147,7 +139,6 @@ const isEmptyAlertMessages = computed<boolean>(() => {
|
|
|
147
139
|
(props.alertMessages && !props.alertMessages.flat().length)
|
|
148
140
|
)
|
|
149
141
|
})
|
|
150
|
-
|
|
151
142
|
/* Validation error text for Name input field */
|
|
152
143
|
const nameErrorText = computed<string>(() => {
|
|
153
144
|
if (isEmptyAlertMessages.value && props.messagesFields?.name?.field) {
|
|
@@ -17,14 +17,9 @@
|
|
|
17
17
|
</template>
|
|
18
18
|
|
|
19
19
|
<template #tooltip>
|
|
20
|
-
<common-tooltip-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
:help-text="option.tooltipContent"
|
|
24
|
-
:title="localization.common.information"
|
|
25
|
-
dropdown-width="272px"
|
|
26
|
-
dropdown-left
|
|
27
|
-
dropdown-top
|
|
20
|
+
<common-backup-storage-actions-add-steps-common-tooltip-info
|
|
21
|
+
:id="option.testId"
|
|
22
|
+
:description="option.tooltipContent"
|
|
28
23
|
/>
|
|
29
24
|
</template>
|
|
30
25
|
</ui-radio>
|
|
@@ -35,15 +30,11 @@
|
|
|
35
30
|
<script lang="ts" setup>
|
|
36
31
|
// TODO this component is duplicate
|
|
37
32
|
import type { UI_I_RadioOption } from '~/components/common/select/radio/lib/models/interfaces'
|
|
38
|
-
import type {UI_I_Localization} from "~/lib/models/interfaces";
|
|
39
33
|
|
|
40
34
|
const datastoreTypeModeLocal = defineModel<number>({ required: true })
|
|
41
35
|
const props = defineProps<{
|
|
42
36
|
options: UI_I_RadioOption[]
|
|
43
37
|
}>()
|
|
44
|
-
|
|
45
|
-
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
46
|
-
|
|
47
38
|
</script>
|
|
48
39
|
|
|
49
40
|
<style>
|
|
@@ -3,15 +3,42 @@
|
|
|
3
3
|
<span class="headline__label">
|
|
4
4
|
{{ localization.common.additionalDetails }}
|
|
5
5
|
</span>
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
dropdown-left
|
|
6
|
+
<ui-icon
|
|
7
|
+
id="feedback-additional-details-info-icon"
|
|
8
|
+
:class="['headline__icon pointer', isShowInfo && 'active']"
|
|
9
|
+
name="info"
|
|
10
|
+
width="16"
|
|
11
|
+
height="16"
|
|
12
|
+
@click="isShowInfo = !isShowInfo"
|
|
14
13
|
/>
|
|
14
|
+
<ui-popup-window
|
|
15
|
+
v-model="isShowInfo"
|
|
16
|
+
:elem-id="'feedback-additional-details-info-icon'"
|
|
17
|
+
width="288px"
|
|
18
|
+
is-priority-right-position
|
|
19
|
+
>
|
|
20
|
+
<div class="common-widget-info">
|
|
21
|
+
<div class="flex justify-between">
|
|
22
|
+
<div class="flex">
|
|
23
|
+
<ui-icon-icon3 name="info-2" width="16px" height="16px" />
|
|
24
|
+
<span class="title">
|
|
25
|
+
{{ localization.feedback.additionalDetailsHelp }}
|
|
26
|
+
</span>
|
|
27
|
+
</div>
|
|
28
|
+
<ui-icon
|
|
29
|
+
name="close"
|
|
30
|
+
class="pointer hide-icon"
|
|
31
|
+
width="16px"
|
|
32
|
+
height="16px"
|
|
33
|
+
@click="isShowInfo = false"
|
|
34
|
+
/>
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
<div class="common-widget-info-description">
|
|
38
|
+
{{ localization.feedback.additionalDetailsTooltip }}
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
</ui-popup-window>
|
|
15
42
|
</div>
|
|
16
43
|
</template>
|
|
17
44
|
|
|
@@ -20,6 +47,7 @@ import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
|
20
47
|
|
|
21
48
|
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
22
49
|
|
|
50
|
+
const isShowInfo = ref<boolean>(false)
|
|
23
51
|
</script>
|
|
24
52
|
|
|
25
53
|
<style lang="scss" scoped>
|
|
@@ -28,6 +56,15 @@ const localization = computed<UI_I_Localization>(() => useLocal())
|
|
|
28
56
|
@include flex($align: center);
|
|
29
57
|
margin: 32px 0 16px;
|
|
30
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
|
+
}
|
|
31
68
|
&__label {
|
|
32
69
|
line-height: 19.36px;
|
|
33
70
|
font-size: 16px;
|
|
@@ -35,5 +72,27 @@ const localization = computed<UI_I_Localization>(() => useLocal())
|
|
|
35
72
|
color: var(--feedback-text-color);
|
|
36
73
|
margin-right: 8px;
|
|
37
74
|
}
|
|
75
|
+
.common-widget-info {
|
|
76
|
+
padding: 16px;
|
|
77
|
+
.title {
|
|
78
|
+
font-size: 14px;
|
|
79
|
+
font-weight: 500;
|
|
80
|
+
line-height: 16.94px;
|
|
81
|
+
color: var(--feedback-text-color);
|
|
82
|
+
margin-left: 8px;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.common-widget-info-description {
|
|
86
|
+
font-size: 13px;
|
|
87
|
+
line-height: 15.73px;
|
|
88
|
+
color: var(--feedback-text-color);
|
|
89
|
+
margin-top: 12px;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
svg {
|
|
93
|
+
color: var(--feedback-tooltip-close-color);
|
|
94
|
+
min-width: 16px;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
38
97
|
}
|
|
39
98
|
</style>
|
|
@@ -3,15 +3,41 @@
|
|
|
3
3
|
<span class="subtitle__label">
|
|
4
4
|
{{ localization.common.helpUsImprove }}
|
|
5
5
|
</span>
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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>
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
test-id="user-preferences-modal"
|
|
5
5
|
width="580px"
|
|
6
6
|
height="345px"
|
|
7
|
-
:modal-loading="isLoading"
|
|
8
7
|
:title="localization.common.preferences"
|
|
9
8
|
@hide="onHide"
|
|
10
9
|
>
|
|
@@ -66,7 +65,7 @@
|
|
|
66
65
|
id="user-preferences-apply-button"
|
|
67
66
|
data-id="user-preferences-apply-button"
|
|
68
67
|
class="btn btn-primary"
|
|
69
|
-
@click="
|
|
68
|
+
@click="emits('submit')"
|
|
70
69
|
>
|
|
71
70
|
{{ localization.common.save }}
|
|
72
71
|
</button>
|
|
@@ -106,8 +105,6 @@ const emits = defineEmits<{
|
|
|
106
105
|
|
|
107
106
|
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
108
107
|
|
|
109
|
-
const isLoading = ref<boolean>(false)
|
|
110
|
-
|
|
111
108
|
const isSphere = ref<boolean>(props.project === 'sphere')
|
|
112
109
|
const selectedTab = ref<UI_T_UserPreferenceTab>('time-tab')
|
|
113
110
|
|
|
@@ -115,11 +112,6 @@ const tabsItems = computed<UI_I_CollapseNavItem[]>(() =>
|
|
|
115
112
|
preferencesTabs(localization.value, props.project)
|
|
116
113
|
)
|
|
117
114
|
|
|
118
|
-
const onSubmit = (): void => {
|
|
119
|
-
isLoading.value = true
|
|
120
|
-
emits('submit')
|
|
121
|
-
}
|
|
122
|
-
|
|
123
115
|
const onHide = (): void => {
|
|
124
116
|
emits('hide')
|
|
125
117
|
|
|
@@ -38,18 +38,13 @@
|
|
|
38
38
|
{{ item.text }}
|
|
39
39
|
</ui-chip>
|
|
40
40
|
|
|
41
|
-
<
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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>
|
package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue
CHANGED
|
@@ -17,16 +17,52 @@
|
|
|
17
17
|
size="sm"
|
|
18
18
|
/>
|
|
19
19
|
|
|
20
|
-
<div
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
|
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>
|