bfg-common 1.2.68 → 1.2.69
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 +1 -2
- package/assets/localization/local_en.json +1 -2
- package/assets/localization/local_hy.json +1 -2
- package/assets/localization/local_kk.json +1 -2
- package/assets/localization/local_ru.json +1 -2
- package/assets/localization/local_zh.json +1 -2
- package/components/common/accordion/Accordion.vue +7 -14
- package/components/common/accordion/utils/accordion.ts +1 -1
- package/components/common/feedback/Buttons.vue +0 -5
- package/components/common/help/navbar/left/Left.vue +7 -2
- package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/Table.vue +136 -136
- package/package.json +1 -1
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"amount": "Ёмістасць",
|
|
93
93
|
"amountMayBeTooLarge": "Сума можа быць занадта вялікай",
|
|
94
94
|
"anyDomainController": "Любы кантролер дамена ў дамене",
|
|
95
|
-
"anyFeedbackYouProvideMay": "
|
|
95
|
+
"anyFeedbackYouProvideMay": "Любая зваротная сувязь, прадстаўленая вамі, будзе каштоўным укладам у паляпшэнне нашых прадуктаў і паслуг, а таксама ў вырашэнне любых праблем, якія ўзнікаюць. Важна звярнуць увагу на тое, што абарона канфідэнцыйнасці вашай інфармацыі мае для нас высокі прыярытэт. Таму, просім вас выдаліць ці схаваць любую канфідэнцыйную, адчувальную ці асабістую інфармацыю перад прадастаўленнем скрыншотаў распрацоўніку. Таксама, калі ласка, улічыце, што ваш адрас электроннай пошты будзе выкарыстоўвацца выключна для мэт сувязі з вамі.",
|
|
96
96
|
"app": "дадатак",
|
|
97
97
|
"applicationGroup": "Група прыкладанняў",
|
|
98
98
|
"april": "Красавік",
|
|
@@ -1830,7 +1830,6 @@
|
|
|
1830
1830
|
"writeBack": "Адказаць",
|
|
1831
1831
|
"writeThrough": "Напісаць праз",
|
|
1832
1832
|
"yes": "так",
|
|
1833
|
-
"youAreResponsibleForObfuscatingOrRemoving": "Вы несяце адказнасць за ўтойванне або выдаленне любой канфідэнцыйнай, адчувальнай або асабістай інфармацыі з любых скрыншотаў, якія вы можаце даць Кампаніі, і не павінны ўключаць такую інфармацыю ў свой водгук. Ваш адрас электроннай пошты будзе выкарыстоўвацца для сувязі з вамі ў сувязі з вашым водгукам.",
|
|
1834
1833
|
"youCanFindMore": "Вы можаце знайсці дадатковую інфармацыю на старонцы прашыўкі",
|
|
1835
1834
|
"yourSessionExpireAfter": "Ваш сеанс вось-вось скончыцца пасля",
|
|
1836
1835
|
"zlibCompression": "Сцісканне Zlib",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"amount": "Capacity",
|
|
93
93
|
"amountMayBeTooLarge": "The amount may be too large",
|
|
94
94
|
"anyDomainController": "Any domain controller in the domain",
|
|
95
|
-
"anyFeedbackYouProvideMay": "Any feedback you provide
|
|
95
|
+
"anyFeedbackYouProvideMay": "Any feedback you provide will be a valuable contribution to improving our products and services and solving any problems that arise. It is important to note that protecting the privacy of your information is a high priority for us. Therefore, we request that you remove or hide any confidential, sensitive or personal information before providing screenshots to the developer. Please also note that your email address will be used solely for the purpose of communicating with you.",
|
|
96
96
|
"app": "App",
|
|
97
97
|
"applicationGroup": "Application Group",
|
|
98
98
|
"april": "April",
|
|
@@ -1830,7 +1830,6 @@
|
|
|
1830
1830
|
"writeBack": "Write Back",
|
|
1831
1831
|
"writeThrough": "Write Through",
|
|
1832
1832
|
"yes": "Yes",
|
|
1833
|
-
"youAreResponsibleForObfuscatingOrRemoving": "You are responsible for obfuscating or removing any confidential, sensitive or personal information from any screenshots you may provide to Company and should not include any such information in your feedback. Your email address will be used to contact you in relation to your feedback.",
|
|
1834
1833
|
"youCanFindMore": "You can find more related information at the Firmware page",
|
|
1835
1834
|
"yourSessionExpireAfter": "Your session is about to expire after",
|
|
1836
1835
|
"zlibCompression": "Zlib Compression",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"amount": "Տարողություն",
|
|
93
93
|
"amountMayBeTooLarge": "Գումարը կարող է չափազանց մեծ լինել",
|
|
94
94
|
"anyDomainController": "Դոմենի ցանկացած տիրույթի վերահսկիչ",
|
|
95
|
-
"anyFeedbackYouProvideMay": "Ձեր տրամադրած ցանկացած արձագանք
|
|
95
|
+
"anyFeedbackYouProvideMay": "Ձեր տրամադրած ցանկացած արձագանք արժեքավոր ներդրում կլինի մեր արտադրանքի և ծառայությունների բարելավման և ծագած խնդիրների լուծման գործում: Կարևոր է նշել, որ ձեր տեղեկատվության գաղտնիության պաշտպանությունը մեզ համար առաջնահերթություն է: Հետևաբար, մենք խնդրում ենք հեռացնել կամ թաքցնել ցանկացած գաղտնի, զգայուն կամ անձնական տեղեկատվություն՝ նախքան մշակողին սքրինշոթներ տրամադրելը: Խնդրում ենք նաև նկատի ունենալ, որ ձեր էլ.փոստի հասցեն կօգտագործվի բացառապես ձեզ հետ շփվելու նպատակով:",
|
|
96
96
|
"app": "Հավելված",
|
|
97
97
|
"applicationGroup": "Դիմումների խումբ",
|
|
98
98
|
"april": "Ապրիլ",
|
|
@@ -1830,7 +1830,6 @@
|
|
|
1830
1830
|
"writeBack": "Պատասխանել",
|
|
1831
1831
|
"writeThrough": "Գրեք միջոցով",
|
|
1832
1832
|
"yes": "Այո՛",
|
|
1833
|
-
"youAreResponsibleForObfuscatingOrRemoving": "Դուք պատասխանատվություն եք կրում ցանկացած գաղտնի, զգայուն կամ անձնական տեղեկությունները սքրինշոթներից, որոնք դուք կարող եք տրամադրել Ընկերությանը շփոթեցնելու կամ հեռացնելու համար, և չպետք է ներառեք որևէ այդպիսի տեղեկություն ձեր կարծիքում: Ձեր էլփոստի հասցեն կօգտագործվի ձեզ հետ կապ հաստատելու համար՝ կապված ձեր կարծիքի հետ:",
|
|
1834
1833
|
"youCanFindMore": "Դուք կարող եք գտնել ավելի շատ առնչվող տեղեկատվություն որոնվածի էջում",
|
|
1835
1834
|
"yourSessionExpireAfter": "Ձեր նիստը շուտով կավարտվի դրանից հետո",
|
|
1836
1835
|
"zlibCompression": "zlib սեղմում",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"amount": "Сыйымдылығы",
|
|
93
93
|
"amountMayBeTooLarge": "Сома тым үлкен болуы мүмкін",
|
|
94
94
|
"anyDomainController": "Домендегі кез келген домен контроллері",
|
|
95
|
-
"anyFeedbackYouProvideMay": "Сіз берген кез келген
|
|
95
|
+
"anyFeedbackYouProvideMay": "Сіз берген кез келген кері байланыс өнімдеріміз бен қызметтерімізді жақсартуға және туындаған кез келген мәселелерді шешуге құнды үлес болады. Сіздің ақпаратыңыздың құпиялылығын қорғау біз үшін жоғары басымдылық екенін атап өткен жөн. Сондықтан әзірлеушіге скриншоттарды бермес бұрын кез келген құпия, құпия немесе жеке ақпаратты жоюды немесе жасыруды сұраймыз. Сондай-ақ, сіздің электрондық пошта мекенжайыңыз тек сізбен байланысу мақсатында пайдаланылатынын ескеріңіз.",
|
|
96
96
|
"app": "Қолданба",
|
|
97
97
|
"applicationGroup": "Қолданбалар тобы",
|
|
98
98
|
"april": "Сәуір",
|
|
@@ -1830,7 +1830,6 @@
|
|
|
1830
1830
|
"writeBack": "Жауап",
|
|
1831
1831
|
"writeThrough": "арқылы жазыңыз",
|
|
1832
1832
|
"yes": "Иә",
|
|
1833
|
-
"youAreResponsibleForObfuscatingOrRemoving": "Сіз кез келген құпия, құпия немесе жеке ақпаратты Компанияға бере алатын кез келген скриншоттардан бұрмалауға немесе жоюға жауаптысыз және пікіріңізге мұндай ақпаратты қоспауыңыз керек. Сіздің электрондық пошта мекенжайыңыз пікіріңізге байланысты сізбен байланысу үшін пайдаланылады.",
|
|
1834
1833
|
"youCanFindMore": "Толығырақ қатысты ақпаратты микробағдарлама бетінен таба аласыз",
|
|
1835
1834
|
"yourSessionExpireAfter": "Сіздің сессияңыз кейін аяқталуға жақын",
|
|
1836
1835
|
"zlibCompression": "zlib қысу",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"amount": "Объем",
|
|
93
93
|
"amountMayBeTooLarge": "Сумма может быть слишком большой",
|
|
94
94
|
"anyDomainController": "Любой контроллер домена в домене",
|
|
95
|
-
"anyFeedbackYouProvideMay": "Любая
|
|
95
|
+
"anyFeedbackYouProvideMay": "Любая обратная связь, предоставленная вами, будет ценным вкладом в улучшение наших продуктов и услуг, а также в решение любых возникающих проблем. Важно обратить внимание на то, что защита конфиденциальности вашей информации имеет для нас высокий приоритет. Поэтому, просим вас удалить или скрыть любую конфиденциальную, чувствительную или личную информацию перед предоставлением скриншотов разработчику. Также, пожалуйста, учтите, что ваш адрес электронной почты будет использоваться исключительно для целей связи с вами.",
|
|
96
96
|
"app": "Приложение",
|
|
97
97
|
"applicationGroup": "Группа приложений",
|
|
98
98
|
"april": "Апрель",
|
|
@@ -1830,7 +1830,6 @@
|
|
|
1830
1830
|
"writeBack": "Ответить",
|
|
1831
1831
|
"writeThrough": "Написать через",
|
|
1832
1832
|
"yes": "Да",
|
|
1833
|
-
"youAreResponsibleForObfuscatingOrRemoving": "Вы несете ответственность за сокрытие или удаление любой конфиденциальной, конфиденциальной или личной информации со скриншотов, которые вы можете предоставить Компании, и не должны включать такую информацию в свой отзыв. Ваш адрес электронной почты будет использоваться для связи с вами по поводу вашего отзыва.",
|
|
1834
1833
|
"youCanFindMore": "Дополнительную информацию можно найти на странице производителя",
|
|
1835
1834
|
"yourSessionExpireAfter": "Ваш сеанс вот-вот истечет после",
|
|
1836
1835
|
"zlibCompression": "Zlib-сжатие",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"amount": "容量",
|
|
93
93
|
"amountMayBeTooLarge": "金额可能太大",
|
|
94
94
|
"anyDomainController": "域中的任何域控制器",
|
|
95
|
-
"anyFeedbackYouProvideMay": "
|
|
95
|
+
"anyFeedbackYouProvideMay": "您提供的任何反馈都将有助于改进我们的产品和服务以及解决出现的任何问题。值得注意的是,保护您的信息隐私是我们的首要任务。因此,我们要求您在向开发者提供屏幕截图之前删除或隐藏任何机密、敏感或个人信息。另请注意,您的电子邮件地址将仅用于与您沟通的目的。",
|
|
96
96
|
"app": "应用程序",
|
|
97
97
|
"applicationGroup": "应用组",
|
|
98
98
|
"april": "四月",
|
|
@@ -1830,7 +1830,6 @@
|
|
|
1830
1830
|
"writeBack": "回答",
|
|
1831
1831
|
"writeThrough": "通过写",
|
|
1832
1832
|
"yes": "是的",
|
|
1833
|
-
"youAreResponsibleForObfuscatingOrRemoving": "您有責任混淆或刪除您可能提供給公司的任何屏幕截圖中的任何機密、敏感或個人信息,並且不應在您的反饋中包含任何此類信息。您的電子郵件地址將用於就您的反饋與您聯繫。",
|
|
1834
1833
|
"youCanFindMore": "您可以在固件頁面找到更多相關信息",
|
|
1835
1834
|
"yourSessionExpireAfter": "您的会话将在以下时间后到期",
|
|
1836
1835
|
"zlibCompression": "zlib压缩",
|
|
@@ -30,18 +30,11 @@
|
|
|
30
30
|
<script setup lang="ts">
|
|
31
31
|
import { vOnClickOutside } from '@vueuse/components'
|
|
32
32
|
import type { UI_I_AccordionRecursion } from '~/components/common/accordion/models/interfaces'
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
defineProps<{
|
|
39
|
-
testId: string
|
|
40
|
-
accordion: UI_I_AccordionRecursion[]
|
|
41
|
-
showType?: UI_T_ShowType
|
|
42
|
-
}>(),
|
|
43
|
-
{ showType: 'default' }
|
|
44
|
-
)
|
|
33
|
+
|
|
34
|
+
const props = defineProps<{
|
|
35
|
+
testId: string
|
|
36
|
+
accordion: UI_I_AccordionRecursion[]
|
|
37
|
+
}>()
|
|
45
38
|
|
|
46
39
|
const emits = defineEmits<{
|
|
47
40
|
(event: 'change', value: UI_I_AccordionRecursion): void
|
|
@@ -49,8 +42,8 @@ const emits = defineEmits<{
|
|
|
49
42
|
|
|
50
43
|
const parentName = ref<string>('')
|
|
51
44
|
const childName = ref<string>('')
|
|
52
|
-
const accordionLocal = computed<UI_I_AccordionRecursion[]>(
|
|
53
|
-
|
|
45
|
+
const accordionLocal = computed<UI_I_AccordionRecursion[]>(
|
|
46
|
+
() => props.accordion
|
|
54
47
|
)
|
|
55
48
|
|
|
56
49
|
const closeDropMenuMobile = (): void => {
|
|
@@ -23,11 +23,6 @@
|
|
|
23
23
|
<h3>{{ localization.feedbackHelp }}</h3>
|
|
24
24
|
<p>
|
|
25
25
|
{{ localization.anyFeedbackYouProvideMay }}
|
|
26
|
-
<a id="privacy-notice-link" target="_blank" href="#">
|
|
27
|
-
{{ localization.procurator }} Privacy Notice.
|
|
28
|
-
</a>
|
|
29
|
-
|
|
30
|
-
{{ localization.youAreResponsibleForObfuscatingOrRemoving }}
|
|
31
26
|
</p>
|
|
32
27
|
</atoms-tooltip-signpost>
|
|
33
28
|
<div class="buttons-body">
|
|
@@ -20,7 +20,6 @@
|
|
|
20
20
|
</div>
|
|
21
21
|
<common-accordion
|
|
22
22
|
:accordion="accordionItems"
|
|
23
|
-
:show-type="accordionShowType"
|
|
24
23
|
test-id="accordion-left-navbar"
|
|
25
24
|
/>
|
|
26
25
|
</div>
|
|
@@ -31,7 +30,9 @@ import type { UI_I_Localization } from '~/models/interfaces'
|
|
|
31
30
|
import type { UI_T_ShowType } from '~/components/common/accordion/models/types'
|
|
32
31
|
import type { UI_I_AccordionRecursion } from '~/components/common/accordion/models/interfaces'
|
|
33
32
|
import type { UI_I_ContentNavigation } from '~/components/common/help/navbar/left/models/interfaces'
|
|
33
|
+
import { UI_E_ShowType } from '~/components/common/accordion/models/enums'
|
|
34
34
|
import { constructItems } from '~/components/common/help/navbar/left/utils/constructAccordion'
|
|
35
|
+
import { constructAccordionItems } from '~/components/common/accordion/utils/accordion'
|
|
35
36
|
|
|
36
37
|
const props = defineProps<{
|
|
37
38
|
items: UI_I_ContentNavigation[] | null
|
|
@@ -47,6 +48,10 @@ const isCollapsed = computed<boolean>(
|
|
|
47
48
|
const onToggleAccordionShowType = (): void => {
|
|
48
49
|
accordionShowType.value =
|
|
49
50
|
accordionShowType.value === 'collapse' ? 'expand' : 'collapse'
|
|
51
|
+
accordionItems.value = constructAccordionItems(
|
|
52
|
+
accordionItems.value,
|
|
53
|
+
UI_E_ShowType[accordionShowType.value]
|
|
54
|
+
)
|
|
50
55
|
}
|
|
51
56
|
|
|
52
57
|
const accordionItems = ref<UI_I_AccordionRecursion[]>([])
|
|
@@ -151,7 +156,7 @@ html.dark-theme {
|
|
|
151
156
|
|
|
152
157
|
.router-link-exact-active {
|
|
153
158
|
.text {
|
|
154
|
-
background-color: #29414e!important;
|
|
159
|
+
background-color: #29414e !important;
|
|
155
160
|
}
|
|
156
161
|
}
|
|
157
162
|
}
|
|
@@ -1,136 +1,136 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="vertical-flex-container chart-option-counters-vertical-split">
|
|
3
|
-
<span class="chart-options-grid-title">{{
|
|
4
|
-
localization.selectCountersForThisChart
|
|
5
|
-
}}</span>
|
|
6
|
-
|
|
7
|
-
<atoms-table-data-grid
|
|
8
|
-
v-model:selected-row="selectedCounters"
|
|
9
|
-
v-model:column-keys="columnItems"
|
|
10
|
-
v-model:page-size="pagination.pageSize"
|
|
11
|
-
v-model:page="pagination.page"
|
|
12
|
-
type="checkbox"
|
|
13
|
-
class="data-table"
|
|
14
|
-
:head-items="headItems"
|
|
15
|
-
:body-items="bodyItems"
|
|
16
|
-
:total-items="totalItems"
|
|
17
|
-
:total-pages="totalPages"
|
|
18
|
-
hide-footer
|
|
19
|
-
server-off
|
|
20
|
-
@change="onChangeRow"
|
|
21
|
-
/>
|
|
22
|
-
</div>
|
|
23
|
-
</template>
|
|
24
|
-
|
|
25
|
-
<script setup lang="ts">
|
|
26
|
-
import {
|
|
27
|
-
UI_I_HeadItem,
|
|
28
|
-
UI_I_BodyItem,
|
|
29
|
-
UI_I_ColumnKey,
|
|
30
|
-
} from '~/components/atoms/table/dataGrid/models/interfaces'
|
|
31
|
-
import { UI_I_Localization } from '~/models/interfaces'
|
|
32
|
-
import * as table from '~/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/config/tableConfig'
|
|
33
|
-
import { UI_I_AdvancedCounterItem } from '~/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/models/interfaces'
|
|
34
|
-
import {
|
|
35
|
-
T_ChartHost,
|
|
36
|
-
T_ChartVm,
|
|
37
|
-
} from '~/components/common/monitor/advanced/tools/chartOptionsModal/models/types'
|
|
38
|
-
import { UI_T_AdvancedType } from '~/components/common/monitor/advanced/models/types'
|
|
39
|
-
import { countersItemsFunc } from '~/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/config/utils'
|
|
40
|
-
|
|
41
|
-
const props = defineProps<{
|
|
42
|
-
chart: T_ChartHost | T_ChartVm
|
|
43
|
-
type: UI_T_AdvancedType
|
|
44
|
-
selectedKeys: number[]
|
|
45
|
-
}>()
|
|
46
|
-
|
|
47
|
-
const emits = defineEmits<{
|
|
48
|
-
(event: 'select-row', value: UI_I_AdvancedCounterItem[]): void
|
|
49
|
-
(event: 'total-items', value: number): void
|
|
50
|
-
}>()
|
|
51
|
-
|
|
52
|
-
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
53
|
-
|
|
54
|
-
const counters = computed<UI_I_AdvancedCounterItem[]>(() =>
|
|
55
|
-
countersItemsFunc(props.type, props.chart, localization.value)
|
|
56
|
-
)
|
|
57
|
-
|
|
58
|
-
const totalItems = computed<number>(() => counters.value.length)
|
|
59
|
-
const totalPages = computed<number>(() => 1)
|
|
60
|
-
|
|
61
|
-
watch(
|
|
62
|
-
totalItems,
|
|
63
|
-
(newValue) => {
|
|
64
|
-
emits('total-items', newValue)
|
|
65
|
-
},
|
|
66
|
-
{ immediate: true }
|
|
67
|
-
)
|
|
68
|
-
|
|
69
|
-
const selectedCounters = ref<number[]>([])
|
|
70
|
-
watch(
|
|
71
|
-
() => props.selectedKeys,
|
|
72
|
-
(newValue) => {
|
|
73
|
-
selectedCounters.value = newValue
|
|
74
|
-
},
|
|
75
|
-
{ immediate: true, deep: true }
|
|
76
|
-
)
|
|
77
|
-
watch(
|
|
78
|
-
() => props.chart,
|
|
79
|
-
() => {
|
|
80
|
-
selectedCounters.value = []
|
|
81
|
-
}
|
|
82
|
-
)
|
|
83
|
-
const pagination = ref<any>({
|
|
84
|
-
page: 1,
|
|
85
|
-
pageSize: 35,
|
|
86
|
-
})
|
|
87
|
-
|
|
88
|
-
const columnItems = computed<UI_I_ColumnKey[]>(() =>
|
|
89
|
-
table.columnKeys(localization.value)
|
|
90
|
-
)
|
|
91
|
-
const headItems = computed<UI_I_HeadItem[]>(() =>
|
|
92
|
-
table.headItems(localization.value)
|
|
93
|
-
)
|
|
94
|
-
const bodyItems = ref<UI_I_BodyItem[][]>([])
|
|
95
|
-
|
|
96
|
-
watch(
|
|
97
|
-
counters,
|
|
98
|
-
(newValue) => {
|
|
99
|
-
if (!newValue.length) return
|
|
100
|
-
|
|
101
|
-
bodyItems.value = table.bodyItems(newValue)
|
|
102
|
-
},
|
|
103
|
-
{ deep: true, immediate: true }
|
|
104
|
-
)
|
|
105
|
-
|
|
106
|
-
const onChangeRow = (val: number[]): void => {
|
|
107
|
-
const result: UI_I_AdvancedCounterItem[] = []
|
|
108
|
-
|
|
109
|
-
counters.value.forEach((item) => {
|
|
110
|
-
if (val.includes(item.id)) result.push(item)
|
|
111
|
-
})
|
|
112
|
-
|
|
113
|
-
emits('select-row', result)
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
watch(
|
|
117
|
-
selectedCounters,
|
|
118
|
-
(newValue) => {
|
|
119
|
-
onChangeRow(newValue)
|
|
120
|
-
},
|
|
121
|
-
{ immediate: true }
|
|
122
|
-
)
|
|
123
|
-
</script>
|
|
124
|
-
|
|
125
|
-
<style scoped lang="scss">
|
|
126
|
-
.chart-option-counters-vertical-split {
|
|
127
|
-
.chart-options-grid-title {
|
|
128
|
-
display: block;
|
|
129
|
-
margin-bottom: -20px;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
:deep(.datagrid-table-wrapper) {
|
|
133
|
-
max-height: 88px;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="vertical-flex-container chart-option-counters-vertical-split">
|
|
3
|
+
<span class="chart-options-grid-title">{{
|
|
4
|
+
localization.selectCountersForThisChart
|
|
5
|
+
}}</span>
|
|
6
|
+
|
|
7
|
+
<atoms-table-data-grid
|
|
8
|
+
v-model:selected-row="selectedCounters"
|
|
9
|
+
v-model:column-keys="columnItems"
|
|
10
|
+
v-model:page-size="pagination.pageSize"
|
|
11
|
+
v-model:page="pagination.page"
|
|
12
|
+
type="checkbox"
|
|
13
|
+
class="data-table"
|
|
14
|
+
:head-items="headItems"
|
|
15
|
+
:body-items="bodyItems"
|
|
16
|
+
:total-items="totalItems"
|
|
17
|
+
:total-pages="totalPages"
|
|
18
|
+
hide-footer
|
|
19
|
+
server-off
|
|
20
|
+
@change="onChangeRow"
|
|
21
|
+
/>
|
|
22
|
+
</div>
|
|
23
|
+
</template>
|
|
24
|
+
|
|
25
|
+
<script setup lang="ts">
|
|
26
|
+
import {
|
|
27
|
+
UI_I_HeadItem,
|
|
28
|
+
UI_I_BodyItem,
|
|
29
|
+
UI_I_ColumnKey,
|
|
30
|
+
} from '~/components/atoms/table/dataGrid/models/interfaces'
|
|
31
|
+
import { UI_I_Localization } from '~/models/interfaces'
|
|
32
|
+
import * as table from '~/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/config/tableConfig'
|
|
33
|
+
import { UI_I_AdvancedCounterItem } from '~/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/models/interfaces'
|
|
34
|
+
import {
|
|
35
|
+
T_ChartHost,
|
|
36
|
+
T_ChartVm,
|
|
37
|
+
} from '~/components/common/monitor/advanced/tools/chartOptionsModal/models/types'
|
|
38
|
+
import { UI_T_AdvancedType } from '~/components/common/monitor/advanced/models/types'
|
|
39
|
+
import { countersItemsFunc } from '~/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/config/utils'
|
|
40
|
+
|
|
41
|
+
const props = defineProps<{
|
|
42
|
+
chart: T_ChartHost | T_ChartVm
|
|
43
|
+
type: UI_T_AdvancedType
|
|
44
|
+
selectedKeys: number[]
|
|
45
|
+
}>()
|
|
46
|
+
|
|
47
|
+
const emits = defineEmits<{
|
|
48
|
+
(event: 'select-row', value: UI_I_AdvancedCounterItem[]): void
|
|
49
|
+
(event: 'total-items', value: number): void
|
|
50
|
+
}>()
|
|
51
|
+
|
|
52
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
53
|
+
|
|
54
|
+
const counters = computed<UI_I_AdvancedCounterItem[]>(() =>
|
|
55
|
+
countersItemsFunc(props.type, props.chart, localization.value)
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
const totalItems = computed<number>(() => counters.value.length)
|
|
59
|
+
const totalPages = computed<number>(() => 1)
|
|
60
|
+
|
|
61
|
+
watch(
|
|
62
|
+
totalItems,
|
|
63
|
+
(newValue) => {
|
|
64
|
+
emits('total-items', newValue)
|
|
65
|
+
},
|
|
66
|
+
{ immediate: true }
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
const selectedCounters = ref<number[]>([])
|
|
70
|
+
watch(
|
|
71
|
+
() => props.selectedKeys,
|
|
72
|
+
(newValue) => {
|
|
73
|
+
selectedCounters.value = newValue
|
|
74
|
+
},
|
|
75
|
+
{ immediate: true, deep: true }
|
|
76
|
+
)
|
|
77
|
+
watch(
|
|
78
|
+
() => props.chart,
|
|
79
|
+
() => {
|
|
80
|
+
selectedCounters.value = []
|
|
81
|
+
}
|
|
82
|
+
)
|
|
83
|
+
const pagination = ref<any>({
|
|
84
|
+
page: 1,
|
|
85
|
+
pageSize: 35,
|
|
86
|
+
})
|
|
87
|
+
|
|
88
|
+
const columnItems = computed<UI_I_ColumnKey[]>(() =>
|
|
89
|
+
table.columnKeys(localization.value)
|
|
90
|
+
)
|
|
91
|
+
const headItems = computed<UI_I_HeadItem[]>(() =>
|
|
92
|
+
table.headItems(localization.value)
|
|
93
|
+
)
|
|
94
|
+
const bodyItems = ref<UI_I_BodyItem[][]>([])
|
|
95
|
+
|
|
96
|
+
watch(
|
|
97
|
+
counters,
|
|
98
|
+
(newValue) => {
|
|
99
|
+
if (!newValue.length) return
|
|
100
|
+
|
|
101
|
+
bodyItems.value = table.bodyItems(newValue)
|
|
102
|
+
},
|
|
103
|
+
{ deep: true, immediate: true }
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
const onChangeRow = (val: number[]): void => {
|
|
107
|
+
const result: UI_I_AdvancedCounterItem[] = []
|
|
108
|
+
|
|
109
|
+
counters.value.forEach((item) => {
|
|
110
|
+
if (val.includes(item.id)) result.push(item)
|
|
111
|
+
})
|
|
112
|
+
|
|
113
|
+
emits('select-row', result)
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
watch(
|
|
117
|
+
selectedCounters,
|
|
118
|
+
(newValue) => {
|
|
119
|
+
onChangeRow(newValue)
|
|
120
|
+
},
|
|
121
|
+
{ immediate: true }
|
|
122
|
+
)
|
|
123
|
+
</script>
|
|
124
|
+
|
|
125
|
+
<style scoped lang="scss">
|
|
126
|
+
.chart-option-counters-vertical-split {
|
|
127
|
+
.chart-options-grid-title {
|
|
128
|
+
display: block;
|
|
129
|
+
margin-bottom: -20px;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
:deep(.datagrid-table-wrapper) {
|
|
133
|
+
max-height: 88px;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
</style>
|