bfg-common 1.4.355 → 1.4.357
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/localization/local_be.json +2823 -2796
- package/assets/localization/local_en.json +2827 -2800
- package/assets/localization/local_hy.json +28 -1
- package/assets/localization/local_kk.json +28 -1
- package/assets/localization/local_ru.json +28 -1
- package/assets/localization/local_zh.json +28 -1
- package/components/common/layout/theHeader/feedback/Feedback.vue +12 -7
- package/components/common/layout/theHeader/feedback/lib/config/sendFeedback.ts +9 -0
- package/components/common/layout/theHeader/feedback/new/New.vue +131 -0
- package/components/common/layout/theHeader/feedback/new/additionalDetails/AdditionalDetails.vue +14 -0
- package/components/common/layout/theHeader/feedback/new/description/Description.vue +58 -0
- package/components/common/layout/theHeader/feedback/new/email/Email.vue +43 -0
- package/components/common/layout/theHeader/feedback/new/subtitle/Subtitle.vue +83 -0
- package/components/common/layout/theHeader/feedback/new/tabs/Tabs.vue +79 -0
- package/components/common/layout/theHeader/feedback/new/tabs/lib/config/tabs.ts +25 -0
- package/components/common/layout/theHeader/feedback/new/tabs/lib/models/interfaces.ts +17 -0
- package/components/common/layout/theHeader/feedback/new/tabs/lib/models/types.ts +1 -0
- package/components/common/layout/theHeader/helpMenu/About.vue +45 -72
- package/components/common/layout/theHeader/helpMenu/HelpMenu.vue +1 -1
- package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +92 -0
- package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +95 -0
- package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +136 -64
- package/components/common/portlets/tag/CreateCategory.vue +276 -276
- package/components/common/portlets/tag/{TagsNew.vue → Portlet.vue} +450 -450
- package/components/common/portlets/tag/TagAddNew.vue +578 -578
- package/components/common/portlets/tag/lib/config/config.ts +199 -199
- package/components/common/portlets/tag/lib/models/interfaces.ts +27 -27
- package/components/common/portlets/tag/lib/models/types.ts +15 -15
- package/components/common/spiceConsole/Drawer.vue +28 -0
- package/lib/models/interfaces.ts +1 -0
- package/package.json +2 -2
- package/store/tasks/mappers/recentTasks.ts +8 -1
- package/components/common/layout/theHeader/feedback/FeedbackNew.vue +0 -63
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="tabs">
|
|
3
|
+
<h4 class="tabs__title">{{ localization.common.selectType }}</h4>
|
|
4
|
+
|
|
5
|
+
<div class="tabs__container">
|
|
6
|
+
<ui-block
|
|
7
|
+
v-for="item in tabs"
|
|
8
|
+
:key="item.iconName"
|
|
9
|
+
:class="{ selected: item.isSelected }"
|
|
10
|
+
@click="selectedTab = item.iconName"
|
|
11
|
+
>
|
|
12
|
+
<div class="main-info">
|
|
13
|
+
<ui-icon :name="item.iconName" width="18" height="18" />
|
|
14
|
+
<span class="main-info-label">{{ item.label }}</span>
|
|
15
|
+
</div>
|
|
16
|
+
</ui-block>
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
</template>
|
|
20
|
+
|
|
21
|
+
<script setup lang="ts">
|
|
22
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
23
|
+
import type { T_FeedbackTab } from '~/components/common/layout/theHeader/feedback/new/tabs/lib/models/types'
|
|
24
|
+
// import type { I_Metric } from '~/components/layout/new/tabs/lib/models/interfaces'
|
|
25
|
+
import { tabsFunc } from '~/components/common/layout/theHeader/feedback/new/tabs/lib/config/tabs'
|
|
26
|
+
|
|
27
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
28
|
+
|
|
29
|
+
const selectedTab = defineModel<T_FeedbackTab>({ required: true })
|
|
30
|
+
const tabs = computed<any[]>(() =>
|
|
31
|
+
tabsFunc(localization.value, selectedTab.value)
|
|
32
|
+
)
|
|
33
|
+
</script>
|
|
34
|
+
|
|
35
|
+
<style scoped lang="scss">
|
|
36
|
+
.tabs {
|
|
37
|
+
margin-top: 16px;
|
|
38
|
+
&__title {
|
|
39
|
+
line-height: 38px;
|
|
40
|
+
margin-bottom: 16px;
|
|
41
|
+
font-size: 16px;
|
|
42
|
+
font-weight: 500;
|
|
43
|
+
color: #4d5d69;
|
|
44
|
+
}
|
|
45
|
+
&__container {
|
|
46
|
+
display: flex;
|
|
47
|
+
gap: 12px;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
:deep(.block) {
|
|
51
|
+
width: max-content;
|
|
52
|
+
padding: 10px 12px;
|
|
53
|
+
color: #4d5d69;
|
|
54
|
+
cursor: pointer;
|
|
55
|
+
}
|
|
56
|
+
:deep(.block.selected) {
|
|
57
|
+
border: 1.5px solid #008fd6;
|
|
58
|
+
color: #008fd6;
|
|
59
|
+
cursor: default;
|
|
60
|
+
|
|
61
|
+
.main-info,
|
|
62
|
+
.main-info-label {
|
|
63
|
+
color: #008fd6;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.main-info {
|
|
68
|
+
display: flex;
|
|
69
|
+
align-items: center;
|
|
70
|
+
gap: 8px;
|
|
71
|
+
|
|
72
|
+
&-label {
|
|
73
|
+
font-size: 16px;
|
|
74
|
+
font-weight: 500;
|
|
75
|
+
line-height: 19.36px;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
</style>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
2
|
+
import type { T_FeedbackTab } from '~/components/common/layout/theHeader/feedback/new/tabs/lib/models/types'
|
|
3
|
+
|
|
4
|
+
export const tabsFunc = (
|
|
5
|
+
localization: UI_I_Localization,
|
|
6
|
+
selectedTab: T_FeedbackTab
|
|
7
|
+
): any[] => {
|
|
8
|
+
return [
|
|
9
|
+
{
|
|
10
|
+
iconName: 'warning-outline',
|
|
11
|
+
label: localization.common.problem,
|
|
12
|
+
isSelected: selectedTab === 'warning-outline',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
iconName: 'heart-outline',
|
|
16
|
+
label: localization.common.complement,
|
|
17
|
+
isSelected: selectedTab === 'heart-outline',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
iconName: 'light-bulb',
|
|
21
|
+
label: localization.common.idea,
|
|
22
|
+
isSelected: selectedTab === 'light-bulb',
|
|
23
|
+
},
|
|
24
|
+
]
|
|
25
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
T_MetricTab
|
|
3
|
+
} from '~/components/common/pages/integration/zabbix/content/hosts/details/metrics/lib/models/types'
|
|
4
|
+
|
|
5
|
+
export interface I_Metric {
|
|
6
|
+
iconName: T_MetricTab
|
|
7
|
+
label: string
|
|
8
|
+
isSelected: boolean
|
|
9
|
+
on: {
|
|
10
|
+
label: string
|
|
11
|
+
color: '#239332' | '#BDC3C7'
|
|
12
|
+
}
|
|
13
|
+
off: {
|
|
14
|
+
label: string
|
|
15
|
+
color: '#EA3223' | '#BDC3C7'
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type UI_T_FeedbackTab = 'warning-outline' | 'heart-outline' | 'light-bulb'
|
|
@@ -1,59 +1,32 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<Teleport to="body">
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
:
|
|
6
|
-
:
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
<span
|
|
17
|
-
v-if="props.isBetaVersion"
|
|
18
|
-
class="beta-version badge badge-info"
|
|
19
|
-
>{{ localization.common.beta }}</span
|
|
20
|
-
>
|
|
21
|
-
<span v-else-if="isDev" class="beta-version badge badge-info"
|
|
22
|
-
>Dev</span
|
|
23
|
-
>
|
|
24
|
-
</div>
|
|
25
|
-
<button id="about-modal-button-close" class="close">
|
|
26
|
-
<atoms-the-icon
|
|
27
|
-
data-id="about-modal-button-close-icon"
|
|
28
|
-
class="close-icon"
|
|
29
|
-
name="close"
|
|
30
|
-
@click="() => emits('hide')"
|
|
31
|
-
/>
|
|
32
|
-
</button>
|
|
33
|
-
</template>
|
|
3
|
+
<common-layout-the-header-help-menu-about-new
|
|
4
|
+
v-if="isNewView"
|
|
5
|
+
:title="title"
|
|
6
|
+
:subtitle="subtitle"
|
|
7
|
+
:about-heading-text="aboutHeadingText"
|
|
8
|
+
:about-desc-one="aboutDesc1"
|
|
9
|
+
:about-desc-second="aboutDesc2"
|
|
10
|
+
:is-beta-version="props.isBeta"
|
|
11
|
+
:is-dev="props.isDev"
|
|
12
|
+
:project-name="props.projectName"
|
|
13
|
+
:url="companyWebSitePath"
|
|
14
|
+
@hide="emits('hide')"
|
|
15
|
+
/>
|
|
34
16
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
>{{ url }}</a
|
|
49
|
-
>){{ aboutDesc2 }}
|
|
50
|
-
</div>
|
|
51
|
-
</template>
|
|
52
|
-
|
|
53
|
-
<template #modalFooter>
|
|
54
|
-
<span></span>
|
|
55
|
-
</template>
|
|
56
|
-
</atoms-modal>
|
|
17
|
+
<common-layout-the-header-help-menu-about-old
|
|
18
|
+
v-else
|
|
19
|
+
:title="title"
|
|
20
|
+
:subtitle="subtitle"
|
|
21
|
+
:about-heading-text="aboutHeadingText"
|
|
22
|
+
:about-desc-one="aboutDesc1"
|
|
23
|
+
:about-desc-second="aboutDesc2"
|
|
24
|
+
:is-beta-version="props.isBeta"
|
|
25
|
+
:is-dev="props.isDev"
|
|
26
|
+
:project-name="props.projectName"
|
|
27
|
+
:url="companyWebSitePath"
|
|
28
|
+
@hide="emits('hide')"
|
|
29
|
+
/>
|
|
57
30
|
</Teleport>
|
|
58
31
|
</template>
|
|
59
32
|
|
|
@@ -62,26 +35,39 @@ import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
|
62
35
|
|
|
63
36
|
const props = defineProps<{
|
|
64
37
|
version: string
|
|
65
|
-
|
|
38
|
+
isBeta: boolean
|
|
66
39
|
isDev: boolean
|
|
67
40
|
projectName: string
|
|
68
41
|
}>()
|
|
69
|
-
|
|
70
42
|
const emits = defineEmits<{
|
|
71
43
|
(event: 'hide'): void
|
|
72
44
|
}>()
|
|
73
45
|
|
|
46
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
47
|
+
const { $store }: any = useNuxtApp()
|
|
74
48
|
const config = useRuntimeConfig()
|
|
75
49
|
|
|
50
|
+
const companyName = computed<string>(
|
|
51
|
+
() => config.public[`COMPANY_NAME_${useEnvLanguage()}`]
|
|
52
|
+
)
|
|
76
53
|
const brandName = computed<string>(
|
|
77
54
|
() => config.public[`TRADEMARK_${useEnvLanguage()}`]
|
|
78
55
|
)
|
|
79
|
-
|
|
80
|
-
|
|
56
|
+
|
|
57
|
+
const companyWebSitePath = ref<string>('https://iridium-soft.com/')
|
|
58
|
+
|
|
59
|
+
const title = computed<string>(() => `${brandName.value}® ${props.projectName}`)
|
|
60
|
+
const subtitle = computed<string>(
|
|
61
|
+
() => `${props.projectName} Web Client, version: ${props.version}`
|
|
81
62
|
)
|
|
63
|
+
|
|
82
64
|
const aboutHeadingText = computed<string>(() =>
|
|
83
|
-
localization.value.layout.aboutHeading.replaceAll(
|
|
65
|
+
localization.value.layout.aboutHeading.replaceAll(
|
|
66
|
+
'{companyName}',
|
|
67
|
+
companyName.value
|
|
68
|
+
)
|
|
84
69
|
)
|
|
70
|
+
|
|
85
71
|
const aboutDesc1 = computed<string>(() =>
|
|
86
72
|
localization.value.layout.aboutDesc1
|
|
87
73
|
.replaceAll('{companyName}', companyName.value)
|
|
@@ -93,18 +79,5 @@ const aboutDesc2 = computed<string>(() =>
|
|
|
93
79
|
.replaceAll('{trademark}', brandName.value)
|
|
94
80
|
)
|
|
95
81
|
|
|
96
|
-
const
|
|
97
|
-
|
|
98
|
-
const url = ref<string>('https://iridium-soft.com/')
|
|
82
|
+
const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
|
|
99
83
|
</script>
|
|
100
|
-
|
|
101
|
-
<style lang="scss" scoped>
|
|
102
|
-
.modal-title {
|
|
103
|
-
color: var(--main-color-mode);
|
|
104
|
-
}
|
|
105
|
-
.description {
|
|
106
|
-
padding-top: 10px;
|
|
107
|
-
font-size: 13px;
|
|
108
|
-
line-height: 19px;
|
|
109
|
-
}
|
|
110
|
-
</style>
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<ui-modal
|
|
3
|
+
test-id="about-modal"
|
|
4
|
+
width="720px"
|
|
5
|
+
:title="props.title"
|
|
6
|
+
:subtitle="props.subtitle"
|
|
7
|
+
class="about-modal"
|
|
8
|
+
@hide="onHideModal"
|
|
9
|
+
>
|
|
10
|
+
<template #content>
|
|
11
|
+
<ui-modal-block-standard>
|
|
12
|
+
<div class="about-modal__text">
|
|
13
|
+
<p>{{ aboutHeadingText }}</p>
|
|
14
|
+
|
|
15
|
+
<p>{{ localization.layout.aboutSubtitle }}</p>
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
<div class="about-modal__description">
|
|
19
|
+
{{ props.aboutDescOne }}
|
|
20
|
+
|
|
21
|
+
(<a
|
|
22
|
+
id="about-description-link"
|
|
23
|
+
data-id="about-description-link"
|
|
24
|
+
:href="url"
|
|
25
|
+
target="_blank"
|
|
26
|
+
class="about-modal__description-link"
|
|
27
|
+
>
|
|
28
|
+
{{ props.url }} </a
|
|
29
|
+
>)
|
|
30
|
+
|
|
31
|
+
{{ props.aboutDescSecond }}
|
|
32
|
+
</div>
|
|
33
|
+
</ui-modal-block-standard>
|
|
34
|
+
</template>
|
|
35
|
+
<template #footerContent><span /></template>
|
|
36
|
+
<template #footerLeftContent><span /></template>
|
|
37
|
+
</ui-modal>
|
|
38
|
+
</template>
|
|
39
|
+
|
|
40
|
+
<script lang="ts" setup>
|
|
41
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
42
|
+
|
|
43
|
+
const props = defineProps<{
|
|
44
|
+
title: string
|
|
45
|
+
subtitle: string
|
|
46
|
+
aboutHeadingText: string
|
|
47
|
+
aboutDescOne: string
|
|
48
|
+
aboutDescSecond: string
|
|
49
|
+
isBetaVersion: boolean
|
|
50
|
+
isDev: boolean
|
|
51
|
+
projectName: string
|
|
52
|
+
url: string
|
|
53
|
+
}>()
|
|
54
|
+
const emits = defineEmits<{
|
|
55
|
+
(event: 'hide'): void
|
|
56
|
+
}>()
|
|
57
|
+
|
|
58
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
59
|
+
|
|
60
|
+
const onHideModal = (): void => {
|
|
61
|
+
emits('hide')
|
|
62
|
+
}
|
|
63
|
+
</script>
|
|
64
|
+
|
|
65
|
+
<style lang="scss" scoped>
|
|
66
|
+
.about-modal {
|
|
67
|
+
&__text {
|
|
68
|
+
color: #4d5d69;
|
|
69
|
+
font-size: 13px;
|
|
70
|
+
font-weight: 400;
|
|
71
|
+
line-height: 15.73px;
|
|
72
|
+
p:last-child {
|
|
73
|
+
margin: 16px 0;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
&__description {
|
|
77
|
+
color: #4d5d69;
|
|
78
|
+
font-size: 13px;
|
|
79
|
+
font-weight: 400;
|
|
80
|
+
line-height: 15.73px;
|
|
81
|
+
&-link {
|
|
82
|
+
color: #0786d2;
|
|
83
|
+
&:hover {
|
|
84
|
+
color: #0081c1;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
:deep(.title-wrapper__subtitle) {
|
|
90
|
+
max-width: 400px;
|
|
91
|
+
}
|
|
92
|
+
</style>
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<Teleport to="body">
|
|
3
|
+
<atoms-modal
|
|
4
|
+
show
|
|
5
|
+
width="864px"
|
|
6
|
+
:title="props.title"
|
|
7
|
+
test-id="about-modal"
|
|
8
|
+
>
|
|
9
|
+
<template #modalHeader>
|
|
10
|
+
<div class="flex-align-center">
|
|
11
|
+
<h3 class="modal-title">{{ brandName }}® {{ props.projectName }}</h3>
|
|
12
|
+
<span class="separator" />
|
|
13
|
+
<h4 class="secondary-title">
|
|
14
|
+
{{ props.subtitle }}
|
|
15
|
+
</h4>
|
|
16
|
+
<span
|
|
17
|
+
v-if="props.isBetaVersion"
|
|
18
|
+
class="beta-version badge badge-info"
|
|
19
|
+
>{{ localization.common.beta }}</span
|
|
20
|
+
>
|
|
21
|
+
<span v-else-if="isDev" class="beta-version badge badge-info"
|
|
22
|
+
>Dev</span
|
|
23
|
+
>
|
|
24
|
+
</div>
|
|
25
|
+
<button id="about-modal-button-close" class="close">
|
|
26
|
+
<atoms-the-icon
|
|
27
|
+
data-id="about-modal-button-close-icon"
|
|
28
|
+
class="close-icon"
|
|
29
|
+
name="close"
|
|
30
|
+
@click="() => emits('hide')"
|
|
31
|
+
/>
|
|
32
|
+
</button>
|
|
33
|
+
</template>
|
|
34
|
+
|
|
35
|
+
<template #modalBody>
|
|
36
|
+
<div class="about-vsphere-dialog-legal-section">
|
|
37
|
+
<p>{{ props.aboutHeadingText }}</p>
|
|
38
|
+
<p>{{ localization.layout.aboutSubtitle }}</p>
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<div class="about-vsphere-dialog-legal-section description">
|
|
42
|
+
{{ props.aboutDescOne }}
|
|
43
|
+
(<a
|
|
44
|
+
id="about-description-link"
|
|
45
|
+
data-id="about-description-link"
|
|
46
|
+
:href="url"
|
|
47
|
+
target="_blank"
|
|
48
|
+
>{{ props.url }}</a
|
|
49
|
+
>){{ props.aboutDescSecond }}
|
|
50
|
+
</div>
|
|
51
|
+
</template>
|
|
52
|
+
|
|
53
|
+
<template #modalFooter>
|
|
54
|
+
<span></span>
|
|
55
|
+
</template>
|
|
56
|
+
</atoms-modal>
|
|
57
|
+
</Teleport>
|
|
58
|
+
</template>
|
|
59
|
+
|
|
60
|
+
<script lang="ts" setup>
|
|
61
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
62
|
+
|
|
63
|
+
const props = defineProps<{
|
|
64
|
+
title: string
|
|
65
|
+
subtitle: string
|
|
66
|
+
aboutHeadingText: string
|
|
67
|
+
aboutDescOne: string
|
|
68
|
+
aboutDescSecond: string
|
|
69
|
+
isBetaVersion: boolean
|
|
70
|
+
isDev: boolean
|
|
71
|
+
projectName: string
|
|
72
|
+
url: string
|
|
73
|
+
}>()
|
|
74
|
+
const emits = defineEmits<{
|
|
75
|
+
(event: 'hide'): void
|
|
76
|
+
}>()
|
|
77
|
+
|
|
78
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
79
|
+
const config = useRuntimeConfig()
|
|
80
|
+
|
|
81
|
+
const brandName = computed<string>(
|
|
82
|
+
() => config.public[`TRADEMARK_${useEnvLanguage()}`]
|
|
83
|
+
)
|
|
84
|
+
</script>
|
|
85
|
+
|
|
86
|
+
<style lang="scss" scoped>
|
|
87
|
+
.modal-title {
|
|
88
|
+
color: var(--main-color-mode);
|
|
89
|
+
}
|
|
90
|
+
.description {
|
|
91
|
+
padding-top: 10px;
|
|
92
|
+
font-size: 13px;
|
|
93
|
+
line-height: 19px;
|
|
94
|
+
}
|
|
95
|
+
</style>
|