bfg-common 1.4.353 → 1.4.355

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 (35) hide show
  1. package/assets/localization/local_be.json +2796 -2806
  2. package/assets/localization/local_en.json +2800 -2810
  3. package/assets/localization/local_hy.json +17 -27
  4. package/assets/localization/local_kk.json +17 -27
  5. package/assets/localization/local_ru.json +17 -27
  6. package/assets/localization/local_zh.json +17 -27
  7. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  8. package/components/common/browse/lib/models/interfaces.ts +5 -5
  9. package/components/common/layout/theHeader/feedback/Feedback.vue +7 -12
  10. package/components/common/layout/theHeader/feedback/FeedbackNew.vue +63 -0
  11. package/components/common/layout/theHeader/helpMenu/About.vue +72 -45
  12. package/components/common/layout/theHeader/helpMenu/HelpMenu.vue +1 -1
  13. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +64 -136
  14. package/components/common/portlets/tag/CreateCategory.vue +276 -0
  15. package/components/common/portlets/tag/TagAddNew.vue +578 -0
  16. package/components/common/portlets/tag/TagsNew.vue +450 -0
  17. package/components/common/portlets/tag/lib/config/config.ts +200 -0
  18. package/components/common/portlets/tag/lib/models/interfaces.ts +27 -0
  19. package/components/common/portlets/tag/lib/models/types.ts +16 -0
  20. package/components/common/spiceConsole/Drawer.vue +0 -28
  21. package/components/common/wizards/network/add/lib/config/steps.ts +464 -464
  22. package/lib/models/interfaces.ts +0 -1
  23. package/package.json +2 -2
  24. package/components/common/layout/theHeader/feedback/lib/config/sendFeedback.ts +0 -9
  25. package/components/common/layout/theHeader/feedback/new/New.vue +0 -131
  26. package/components/common/layout/theHeader/feedback/new/additionalDetails/AdditionalDetails.vue +0 -14
  27. package/components/common/layout/theHeader/feedback/new/description/Description.vue +0 -58
  28. package/components/common/layout/theHeader/feedback/new/email/Email.vue +0 -43
  29. package/components/common/layout/theHeader/feedback/new/subtitle/Subtitle.vue +0 -83
  30. package/components/common/layout/theHeader/feedback/new/tabs/Tabs.vue +0 -79
  31. package/components/common/layout/theHeader/feedback/new/tabs/lib/config/tabs.ts +0 -25
  32. package/components/common/layout/theHeader/feedback/new/tabs/lib/models/interfaces.ts +0 -17
  33. package/components/common/layout/theHeader/feedback/new/tabs/lib/models/types.ts +0 -1
  34. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +0 -92
  35. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +0 -95
@@ -38,7 +38,6 @@ export interface UI_I_Localization {
38
38
  zabbix: UI_I_ArbitraryObject<string>
39
39
  remoteConsole: UI_I_ArbitraryObject<string>
40
40
  vmWizard: UI_I_ArbitraryObject<string>
41
- feedback: UI_I_ArbitraryObject<string>
42
41
  }
43
42
  export interface UI_I_SendTaskParams {
44
43
  method: string
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bfg-common",
3
3
  "private": false,
4
- "version": "1.4.353",
4
+ "version": "1.4.355",
5
5
  "scripts": {
6
6
  "build": "nuxt build",
7
7
  "dev": "nuxt dev --port=3002",
@@ -35,7 +35,7 @@
35
35
  "@vueuse/components": "^10.1.2",
36
36
  "date-fns": "^2.29.3",
37
37
  "bfg-nuxt-3-graph": "1.0.15",
38
- "bfg-uikit": "1.0.152",
38
+ "bfg-uikit": "1.0.155",
39
39
  "html2canvas": "^1.4.1",
40
40
  "prettier-eslint": "^15.0.1"
41
41
  }
@@ -1,9 +0,0 @@
1
- import type { UI_I_FeedbackForm } from '~/components/common/feedback/lib/models/interfaces'
2
- export const feedbackDefaultFormFunc = (): UI_I_FeedbackForm => {
3
- return {
4
- description: '',
5
- type: 0,
6
- email: '',
7
- image: '', // base64
8
- }
9
- }
@@ -1,131 +0,0 @@
1
- <template>
2
- <Teleport to="body">
3
- <ui-modal
4
- show
5
- width="560px"
6
- test-id="feedback-modal"
7
- :title="localization.common.sendFeedback"
8
- class="feedback"
9
- @hide="onHideModal"
10
- >
11
- <template #content>
12
- <ui-modal-block-standard>
13
- <common-layout-the-header-feedback-new-subtitle />
14
-
15
- <common-layout-the-header-feedback-new-tabs
16
- v-model="selectedTab"
17
- class="metrics-tabs"
18
- />
19
-
20
- <div
21
- v-if="selectedTab === 'light-bulb'"
22
- class="feedback__visit-portal"
23
- >
24
- {{ localization.common.useOurExternalIdeasPortal }}
25
- </div>
26
-
27
- <template v-else>
28
- <common-layout-the-header-feedback-new-description
29
- v-model="feedbackForm.description"
30
- v-model:is-valid="isValidForm"
31
- :selected-tab="selectedTab"
32
- />
33
-
34
- <common-layout-the-header-feedback-new-email
35
- v-model="feedbackForm.email"
36
- />
37
-
38
- <common-layout-the-header-feedback-new-additional-details />
39
- </template>
40
- </ui-modal-block-standard>
41
- </template>
42
-
43
- <template #footerLeftContent><span /></template>
44
-
45
- <template #footerContent>
46
- <div class="flex gap-4">
47
- <ui-button
48
- v-if="selectedTab !== 'light-bulb'"
49
- test-id="feedback-modal-hide-btn"
50
- size="md"
51
- variant="outline"
52
- min-width="96px"
53
- @click="onHideModal"
54
- >
55
- {{ localization.common.cancel }}
56
- </ui-button>
57
- <ui-button
58
- test-id="feedback-modal-submit-btn"
59
- size="md"
60
- :disabled="!selectedTab"
61
- min-width="96px"
62
- @click="onSubmit"
63
- >
64
- {{ modalFooterButtonNames }}
65
- </ui-button>
66
- </div>
67
- </template>
68
- </ui-modal>
69
- </Teleport>
70
- </template>
71
-
72
- <script setup lang="ts">
73
- import type { UI_I_Localization } from '~/lib/models/interfaces'
74
- import type { UI_I_FeedbackForm } from '~/components/common/feedback/lib/models/interfaces'
75
- import type { UI_T_FeedbackTab } from '~/components/common/layout/theHeader/feedback/new/tabs/lib/models/types'
76
-
77
- const feedbackForm = defineModel<UI_I_FeedbackForm>({ required: true })
78
- const emits = defineEmits<{
79
- (event: 'hide'): void
80
- (event: 'submit'): void
81
- }>()
82
-
83
- const localization = computed<UI_I_Localization>(() => useLocal())
84
-
85
- const isValidForm = ref<boolean>(true)
86
- const selectedTab = ref<UI_T_FeedbackTab>()
87
-
88
- const modalFooterButtonNames = computed(() => {
89
- return selectedTab.value === 'light-bulb'
90
- ? localization.value.common.visitIdeasPortal
91
- : localization.value.common.send
92
- })
93
-
94
- const onHideModal = (): void => {
95
- emits('hide')
96
- }
97
- const onSubmit = (): void => {
98
- if (selectedTab.value === 'light-bulb') {
99
- const targetUrl = 'https://customer.aobfg.ru/' // Ваш URL
100
- window.open(targetUrl, '_blank')
101
- return
102
- }
103
-
104
- isValidForm.value = !!feedbackForm.value.description
105
-
106
- if (!isValidForm.value) return
107
- emits('submit')
108
- }
109
- </script>
110
-
111
- <style lang="scss">
112
- :root {
113
- --description-color: #414b57;
114
- --link-visited-color: #5659b8;
115
- }
116
-
117
- :root.dark-theme {
118
- --description-color: #adbbc4;
119
- --link-visited-color: #49afd9;
120
- }
121
-
122
- .feedback {
123
- &__visit-portal {
124
- color: #4d5d69;
125
- font-size: 13px;
126
- font-weight: 400;
127
- line-height: 15.73px;
128
- margin-top: 24px;
129
- }
130
- }
131
- </style>
@@ -1,14 +0,0 @@
1
- <template>
2
- <div class="additional-details">
3
-
4
- </div>
5
- </template>
6
-
7
- <script lang="ts" setup>
8
- </script>
9
-
10
- <style lang="scss" scoped>
11
- .additional-details {
12
-
13
- }
14
- </style>
@@ -1,58 +0,0 @@
1
- <template>
2
- <div class="description">
3
- <h4 class="description__title">{{ localization.common.description }}</h4>
4
-
5
- <ui-textarea
6
- v-model="descriptionModelLocal"
7
- test-id="feedback-description"
8
- :disabled="!selectedTab"
9
- :placeholder="descriptionTextPlaceholder"
10
- :error="descriptionErrorText"
11
- >
12
- </ui-textarea>
13
- </div>
14
- </template>
15
-
16
- <script lang="ts" setup>
17
- import type { UI_I_Localization } from '~/lib/models/interfaces'
18
- import type { UI_T_FeedbackTab } from '~/components/common/layout/theHeader/feedback/new/tabs/lib/models/types'
19
-
20
- const props = defineProps<{
21
- selectedTab: UI_T_FeedbackTab
22
- }>()
23
- const descriptionModelLocal = defineModel<string>({ required: true })
24
- const isValidModel = defineModel<boolean>('isValid', { required: true })
25
-
26
- const localization = computed<UI_I_Localization>(() => useLocal())
27
-
28
- const descriptionTextPlaceholder = computed<string>(() => {
29
- if (props.selectedTab === 'warning-outline')
30
- return localization.value.common.whatIsTheProblemHowCan
31
- if (props.selectedTab === 'heart-outline')
32
- return localization.value.common.tellUsWhatYouEnjoyedSo
33
- return localization.value.common.selectFeedbackType
34
- })
35
-
36
- const descriptionErrorText = computed<boolean>(() => {
37
- return !isValidModel.value && !descriptionModelLocal.value
38
- ? localization.value.common.fieldRequired
39
- : ''
40
- })
41
- </script>
42
-
43
- <style lang="scss" scoped>
44
- .description {
45
- margin-top: 32px;
46
- &__title {
47
- line-height: 38px;
48
- margin-bottom: 16px;
49
- font-size: 16px;
50
- font-weight: 500;
51
- color: #4d5d69;
52
- }
53
- :deep(.ui-main-textarea) {
54
- resize: none;
55
- height: 68px;
56
- }
57
- }
58
- </style>
@@ -1,43 +0,0 @@
1
- <template>
2
- <div class="email">
3
- <h4 class="email__title">{{ localization.common.emailAddress }}</h4>
4
-
5
- <ui-input
6
- v-model="emailModelLocal"
7
- :error="emailErrorText"
8
- type="text"
9
- placeholder="placeholder"
10
- test-id="feedback-email"
11
- />
12
- </div>
13
- </template>
14
-
15
- <script setup lang="ts">
16
- import { RegExp } from '~/lib/config/regExp'
17
- import type { UI_I_Localization } from '~/lib/models/interfaces'
18
-
19
- const emailModelLocal = defineModel<string>({ required: true })
20
-
21
- const localization = computed<UI_I_Localization>(() => useLocal())
22
-
23
- const emailErrorText = computed<string>(() => {
24
- if (!emailModelLocal.value) return ''
25
-
26
- return RegExp.email.test(emailModelLocal.value)
27
- ? ''
28
- : localization.value.common.emailErrorText
29
- })
30
- </script>
31
-
32
- <style scoped lang="scss">
33
- .email {
34
- margin-top: 32px;
35
- &__title {
36
- line-height: 38px;
37
- margin-bottom: 16px;
38
- font-size: 16px;
39
- font-weight: 500;
40
- color: #4d5d69;
41
- }
42
- }
43
- </style>
@@ -1,83 +0,0 @@
1
- <template>
2
- <div class="subtitle">
3
- <span class="subtitle__label">
4
- {{ localization.common.helpUsImprove }}
5
- </span>
6
- <ui-icon
7
- id="feedback-description-info-icon"
8
- name="info"
9
- width="18"
10
- height="18"
11
- :color="isShowInfo ? '#008FD6' : '#9DA6AD'"
12
- class="info-icon pointer"
13
- @click="isShowInfo = !isShowInfo"
14
- />
15
- <ui-popup-window
16
- v-model="isShowInfo"
17
- width="232px"
18
- :elem-id="'feedback-description-info-icon'"
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-icon3 name="info-2" width="16px" height="16px" />
24
- <span class="title">{{ localization.common.feedbackHelp }}</span>
25
- </div>
26
- <ui-icon
27
- name="close"
28
- class="pointer hide-icon"
29
- width="16px"
30
- height="16px"
31
- @click="isShowInfo = false"
32
- />
33
- </div>
34
-
35
- <div class="common-widget-info-description">
36
- {{ localization.common.anyFeedbackYouProvideMay }}
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 localization = computed<UI_I_Localization>(() => useLocal())
47
-
48
- const isShowInfo = ref<boolean>(false)
49
- </script>
50
-
51
- <style lang="scss" scoped>
52
- .subtitle {
53
- display: flex;
54
- justify-content: space-between;
55
- border-bottom: 1px solid #e9ebed;
56
- padding-bottom: 12px;
57
-
58
- &__label {
59
- font-size: 12px;
60
- font-weight: 400;
61
- line-height: 14.52px;
62
- color: #9da6ad;
63
- }
64
- .common-widget-info {
65
- padding: 16px;
66
-
67
- .title {
68
- font-size: 14px;
69
- font-weight: 500;
70
- line-height: 16.94px;
71
- color: var(--zabbix-text-color);
72
- margin-left: 8px;
73
- }
74
-
75
- .common-widget-info-description {
76
- font-size: 13px;
77
- line-height: 15.73px;
78
- color: var(--zabbix-text-color);
79
- margin-top: 12px;
80
- }
81
- }
82
- }
83
- </style>
@@ -1,79 +0,0 @@
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>
@@ -1,25 +0,0 @@
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
- }
@@ -1,17 +0,0 @@
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
- }
@@ -1 +0,0 @@
1
- export type UI_T_FeedbackTab = 'warning-outline' | 'heart-outline' | 'light-bulb'
@@ -1,92 +0,0 @@
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>
@@ -1,95 +0,0 @@
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>