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
|
@@ -2228,6 +2228,9 @@
|
|
|
2228
2228
|
"changePasswordDesc": "Ձեր հաշիվն ապահով պահելու համար համոզվեք, որ ձեր նոր գաղտնաբառը տարբերվում է ձեր նախկին գաղտնաբառերից:",
|
|
2229
2229
|
"changePasswordPreviouslyUsed": "Ձեր նոր գաղտնաբառը նախկինում օգտագործվել է: ",
|
|
2230
2230
|
"currentPasswordIncorrect": "Ընթացիկ գաղտնաբառը սխալ է: ",
|
|
2231
|
+
"allActive": "Բոլորը ակտիվ են",
|
|
2232
|
+
"text": "տեքստը",
|
|
2233
|
+
"currentPasswordIncorrect": "Ընթացիկ գաղտնաբառը սխալ է: ",
|
|
2231
2234
|
"vApp": "vApp",
|
|
2232
2235
|
"contentLibrary": "Բովանդակության գրադարան",
|
|
2233
2236
|
"libraryItem": "Գրադարանի տարր",
|
|
@@ -2548,6 +2551,10 @@
|
|
|
2548
2551
|
"aggregatedDiskIORate": "Համախառն սկավառակի I / O արագություն: Սերվերների համար Այս ցուցանիշը ներառում է արագություն բոլոր վիրտուալ մեքենաների համար, որոնք աշխատում են սերվերի վրա տվյալների հավաքագրման միջակայքի ընթացքում",
|
|
2549
2552
|
"readBytes": "հաշված բայթ",
|
|
2550
2553
|
"averageNumberBytes": "Տվյալների հավաքման ընդմիջման ընթացքում ամեն վայրկյան սկավառակից Կարդացված բայթերի միջին քանակը",
|
|
2554
|
+
"readCount": "Կարդացեք հաշվարկը",
|
|
2555
|
+
"averageNumberOfReadCount": "Հավաքագրման միջակայքում յուրաքանչյուր վայրկյան կատարված ընթերցման գործողությունների միջին թիվը",
|
|
2556
|
+
"writeCount": "Գրեք հաշվել",
|
|
2557
|
+
"averageNumberOfWriteCount": "Հավաքագրման ինտերվալի ընթացքում յուրաքանչյուր վայրկյան կատարված գրելու գործողությունների միջին թիվը",
|
|
2551
2558
|
"writeBytes": "բայթերի ձայնագրում",
|
|
2552
2559
|
"averageNumberBytesWrittenDisk": "Հավաքածուի միջակայքի ընթացքում յուրաքանչյուր վայրկյան սկավառակի վրա գրված բայթերի միջին քանակը",
|
|
2553
2560
|
"diskDevicesShares": "սկավառակի սարքերի ընդհանուր ռեսուրսներ",
|
|
@@ -2583,6 +2590,15 @@
|
|
|
2583
2590
|
"provisionedMemoryInMB": "Նվիրված հիշողություն MB-ում",
|
|
2584
2591
|
"memoryPMemReadBandwidth": "pmem հիշողության ընթերցման թողունակություն",
|
|
2585
2592
|
"memoryUsedMb": "օգտագործված հիշողություն, mb",
|
|
2593
|
+
"sharedPages": "համօգտագործվող էջեր",
|
|
2594
|
+
"sharedPagesDesc": "Էջերի քանակը, որոնք օգտագործվում են գործընթացի կողմից և կարող են համօգտագործվել այլ գործընթացների հետ",
|
|
2595
|
+
"textDesc": "(Տեքստ/կոդ). Գործընթացի կատարման կոդով զբաղեցրած էջերի քանակը",
|
|
2596
|
+
"library": "գրադարան",
|
|
2597
|
+
"libraryDesc": "Գործընթացի ընդհանուր գրադարանների կողմից սպառվող հիշողության ծավալը",
|
|
2598
|
+
"dataStack": "տվյալների կույտ",
|
|
2599
|
+
"dataStackDesc": "(տվյալներ + կույտ). Էջերի ընդհանուր թիվը, որը զբաղեցնում է գործընթացի տվյալները և կույտը",
|
|
2600
|
+
"dirtyPages": "կեղտոտ էջեր",
|
|
2601
|
+
"dirtyPagesDesc": "Կեղտոտ էջերի քանակն այն էջերն են, որոնք փոփոխվել են գործընթացի արդյունքում և դեռևս չեն գրվել սկավառակի վրա կամ փոխանակել:",
|
|
2586
2602
|
"usedMemoryInMB": "Օգտագործված հիշողությունը MB-ում",
|
|
2587
2603
|
"memoryResidentSetSizeMb": "ռեզիդենտ հիշողության հավաքածուի չափը, mb",
|
|
2588
2604
|
"residentSetSizeMemoryInMB": "Ռեզիդենտ սահմանված հիշողության չափը MB-ում",
|
|
@@ -2769,7 +2785,14 @@
|
|
|
2769
2785
|
"inactive": "Ոչ ակտիվ",
|
|
2770
2786
|
"activateAll": "Ակտիվացրեք բոլորը",
|
|
2771
2787
|
"confirmMetricsActivation": "Հաստատեք չափումների ակտիվացումը",
|
|
2772
|
-
"confirmMetricsActivationDescription": "Վստա՞հ եք, որ ցանկանում եք ակտիվացնել բոլոր չափումները Zabbix սերվերում «{0}»:"
|
|
2788
|
+
"confirmMetricsActivationDescription": "Վստա՞հ եք, որ ցանկանում եք ակտիվացնել բոլոր չափումները Zabbix սերվերում «{0}»:",
|
|
2789
|
+
"cpuMetrics": "CPU չափումներ",
|
|
2790
|
+
"baseCount": "Base ({0})",
|
|
2791
|
+
"coreCount": "Core ({0})",
|
|
2792
|
+
"coreMhzCount": "Core MHz ({0})",
|
|
2793
|
+
"memoryMetrics": "Հիշողության չափումներ",
|
|
2794
|
+
"networkMetrics": "Ցանցի չափումներ",
|
|
2795
|
+
"diskMetrics": "Սկավառակի չափումներ"
|
|
2773
2796
|
},
|
|
2774
2797
|
"remoteConsole": {
|
|
2775
2798
|
"remoteConsoleSessions": "Վահանակի հեռավոր նստաշրջաններ",
|
|
@@ -2796,5 +2819,9 @@
|
|
|
2796
2819
|
},
|
|
2797
2820
|
"vmWizard": {
|
|
2798
2821
|
"devices": "Սարքեր ({0})"
|
|
2822
|
+
},
|
|
2823
|
+
"feedback": {
|
|
2824
|
+
"additionalDetailsHelp": "Լրացուցիչ մանրամասներ Օգնություն",
|
|
2825
|
+
"additionalDetailsTooltip": "Լրացուցիչ մանրամասների համար կարող եք կամ լուսանկարել ձեր էկրանը կամ վերբեռնել պատկեր .png կամ .jpeg ձևաչափով:"
|
|
2799
2826
|
}
|
|
2800
2827
|
}
|
|
@@ -2227,6 +2227,9 @@
|
|
|
2227
2227
|
"changePasswordDesc": "Тіркелгіңізді қауіпсіз сақтау үшін жаңа құпия сөзіңіздің бұрынғы құпия сөздеріңізден басқаша екеніне көз жеткізіңіз.",
|
|
2228
2228
|
"changePasswordPreviouslyUsed": "Жаңа құпия сөзіңіз бұрын қолданылған. ",
|
|
2229
2229
|
"currentPasswordIncorrect": "Ағымдағы құпия сөз дұрыс емес. ",
|
|
2230
|
+
"allActive": "Барлығы белсенді",
|
|
2231
|
+
"text": "мәтін",
|
|
2232
|
+
"currentPasswordIncorrect": "Ағымдағы құпия сөз дұрыс емес. ",
|
|
2230
2233
|
"vApp": "vApp",
|
|
2231
2234
|
"contentLibrary": "Мазмұн Кітапханасы",
|
|
2232
2235
|
"libraryItem": "Кітапхана Заты",
|
|
@@ -2547,6 +2550,10 @@
|
|
|
2547
2550
|
"aggregatedDiskIORate": "Біріктірілген диск енгізу-шығару жылдамдығы. Хосттар үшін бұл көрсеткіш деректерді жинау аралығы кезінде хостта жұмыс істейтін барлық виртуалды машиналардың тарифтерін қамтиды",
|
|
2548
2551
|
"readBytes": "санаулы байттар",
|
|
2549
2552
|
"averageNumberBytes": "Деректерді жинау аралығы кезінде әр секунд сайын дискіден оқылатын байттардың орташа саны",
|
|
2553
|
+
"readCount": "Санауды оқу",
|
|
2554
|
+
"averageNumberOfReadCount": "Жинау аралығы кезінде секунд сайын орындалатын оқу операцияларының орташа саны",
|
|
2555
|
+
"writeCount": "Санауды жаз",
|
|
2556
|
+
"averageNumberOfWriteCount": "Жинау аралығы кезінде секунд сайын орындалатын жазу операцияларының орташа саны",
|
|
2550
2557
|
"writeBytes": "байттарды жазу",
|
|
2551
2558
|
"averageNumberBytesWrittenDisk": "Жинау аралығы кезінде әр секунд сайын дискіге жазылған байттардың орташа саны",
|
|
2552
2559
|
"diskDevicesShares": "дискілік құрылғылардың жалпы ресурстары",
|
|
@@ -2582,6 +2589,15 @@
|
|
|
2582
2589
|
"provisionedMemoryInMB": "МБ - да бөлінген жад",
|
|
2583
2590
|
"memoryPMemReadBandwidth": "pmem жадының өткізу қабілеттілігі",
|
|
2584
2591
|
"memoryUsedMb": "пайдаланылған жад, мб",
|
|
2592
|
+
"sharedPages": "ортақ беттер",
|
|
2593
|
+
"sharedPagesDesc": "Процесс пайдаланатын және басқа процестермен ортақ пайдалануға болатын беттер саны",
|
|
2594
|
+
"textDesc": "(Мәтін/код): Процестің орындау коды алатын беттер саны",
|
|
2595
|
+
"library": "кітапхана",
|
|
2596
|
+
"libraryDesc": "Процестің ортақ кітапханалары тұтынатын жад көлемі",
|
|
2597
|
+
"dataStack": "деректер стегі",
|
|
2598
|
+
"dataStackDesc": "(деректер + стек): процесс деректері мен стек алатын беттердің жалпы саны",
|
|
2599
|
+
"dirtyPages": "лас беттер",
|
|
2600
|
+
"dirtyPagesDesc": "Лас беттер саны процесс арқылы өзгертілген және әлі дискіге қайта жазылмаған немесе ауыстырылған беттер.",
|
|
2585
2601
|
"usedMemoryInMB": "МБ-да қолданылатын жад",
|
|
2586
2602
|
"memoryResidentSetSizeMb": "резиденттік жад жинағының өлшемі, мб",
|
|
2587
2603
|
"residentSetSizeMemoryInMB": "Резиденттік орнатылған жад мөлшері МБ",
|
|
@@ -2768,7 +2784,14 @@
|
|
|
2768
2784
|
"inactive": "Белсенді емес",
|
|
2769
2785
|
"activateAll": "Барлығын белсендіру",
|
|
2770
2786
|
"confirmMetricsActivation": "Метрикаларды белсендіруді растаңыз",
|
|
2771
|
-
"confirmMetricsActivationDescription": "\"{0}\" Zabbix серверіндегі барлық көрсеткіштерді белсендіргіңіз келетініне сенімдісіз бе?"
|
|
2787
|
+
"confirmMetricsActivationDescription": "\"{0}\" Zabbix серверіндегі барлық көрсеткіштерді белсендіргіңіз келетініне сенімдісіз бе?",
|
|
2788
|
+
"cpuMetrics": "CPU көрсеткіштері",
|
|
2789
|
+
"baseCount": "Негізгі ({0})",
|
|
2790
|
+
"coreCount": "Негізгі ({0})",
|
|
2791
|
+
"coreMhzCount": "Негізгі МГц ({0})",
|
|
2792
|
+
"memoryMetrics": "Жад көрсеткіштері",
|
|
2793
|
+
"networkMetrics": "Желілік көрсеткіштер",
|
|
2794
|
+
"diskMetrics": "Диск Өлшемдері"
|
|
2772
2795
|
},
|
|
2773
2796
|
"remoteConsole": {
|
|
2774
2797
|
"remoteConsoleSessions": "Қашықтағы консоль сеанстары",
|
|
@@ -2795,5 +2818,9 @@
|
|
|
2795
2818
|
},
|
|
2796
2819
|
"vmWizard": {
|
|
2797
2820
|
"devices": "Құрылғылар ({0})"
|
|
2821
|
+
},
|
|
2822
|
+
"feedback": {
|
|
2823
|
+
"additionalDetailsHelp": "Қосымша мәліметтер анықтамасы",
|
|
2824
|
+
"additionalDetailsTooltip": "Қосымша мәліметтер алу үшін экранның скриншотын түсіруге немесе суретті .png немесе .jpeg пішімінде жүктеп салуға болады."
|
|
2798
2825
|
}
|
|
2799
2826
|
}
|
|
@@ -2229,6 +2229,9 @@
|
|
|
2229
2229
|
"changePasswordDesc": "Чтобы обеспечить безопасность вашей учетной записи, убедитесь, что ваш новый пароль отличается от любого из ваших предыдущих паролей.",
|
|
2230
2230
|
"changePasswordPreviouslyUsed": "Ваш новый пароль уже использовался ранее. ",
|
|
2231
2231
|
"currentPasswordIncorrect": "Текущий пароль неверен. ",
|
|
2232
|
+
"allActive": "Все активные",
|
|
2233
|
+
"text": "текст",
|
|
2234
|
+
"currentPasswordIncorrect": "Текущий пароль неверен. ",
|
|
2232
2235
|
"vApp": "vApp",
|
|
2233
2236
|
"contentLibrary": "Библиотека контента",
|
|
2234
2237
|
"libraryItem": "Библиотечный элемент",
|
|
@@ -2549,6 +2552,10 @@
|
|
|
2549
2552
|
"aggregatedDiskIORate": "Агрегированная скорость дискового ввода-вывода. Для хостов этот показатель включает скорость для всех виртуальных машин, запущенных на хосте в течение интервала сбора данных",
|
|
2550
2553
|
"readBytes": "считанные байты",
|
|
2551
2554
|
"averageNumberBytes": "Среднее количество байт, считываемых с диска каждую секунду в течение интервала сбора данных",
|
|
2555
|
+
"readCount": "Количество прочитанных",
|
|
2556
|
+
"averageNumberOfReadCount": "Среднее количество операций чтения, выполняемых каждую секунду в течение интервала сбора данных",
|
|
2557
|
+
"writeCount": "Написать количество",
|
|
2558
|
+
"averageNumberOfWriteCount": "Среднее количество операций записи, выполняемых каждую секунду в течение интервала сбора данных",
|
|
2552
2559
|
"writeBytes": "запись байтов",
|
|
2553
2560
|
"averageNumberBytesWrittenDisk": "Среднее количество байт, записываемых на диск каждую секунду в течение интервала сбора",
|
|
2554
2561
|
"diskDevicesShares": "общие ресурсы дисковых устройств",
|
|
@@ -2584,6 +2591,15 @@
|
|
|
2584
2591
|
"provisionedMemoryInMB": "Выделенная память в МБ",
|
|
2585
2592
|
"memoryPMemReadBandwidth": "полоса пропускания чтения pmem памяти",
|
|
2586
2593
|
"memoryUsedMb": "используемая память, мб",
|
|
2594
|
+
"sharedPages": "общие страницы",
|
|
2595
|
+
"sharedPagesDesc": "Количество страниц, используемых процессом, которые могут быть разделены с другими процессами",
|
|
2596
|
+
"textDesc": "(Текст/код): Количество страниц, занятых исполняемым кодом процесса",
|
|
2597
|
+
"library": "библиотека",
|
|
2598
|
+
"libraryDesc": "Объем памяти, потребляемый общими библиотеками процесса",
|
|
2599
|
+
"dataStack": "стек данных",
|
|
2600
|
+
"dataStackDesc": "(Данные + стек): Общее количество страниц, занятых данными процесса и стеком",
|
|
2601
|
+
"dirtyPages": "грязные страницы",
|
|
2602
|
+
"dirtyPagesDesc": "Количество грязных страниц — это страницы, которые были изменены процессом и еще не записаны обратно на диск или в своп",
|
|
2587
2603
|
"usedMemoryInMB": "Используемая память в МБ",
|
|
2588
2604
|
"memoryResidentSetSizeMb": "размер резидентного набора памяти, мб",
|
|
2589
2605
|
"residentSetSizeMemoryInMB": "Резидентный установленный размер памяти в МБ",
|
|
@@ -2770,7 +2786,14 @@
|
|
|
2770
2786
|
"inactive": "Неактивный",
|
|
2771
2787
|
"activateAll": "Активировать все",
|
|
2772
2788
|
"confirmMetricsActivation": "Подтвердите активацию метрик",
|
|
2773
|
-
"confirmMetricsActivationDescription": "Вы уверены, что хотите активировать все метрики на сервере Zabbix «{0}»?"
|
|
2789
|
+
"confirmMetricsActivationDescription": "Вы уверены, что хотите активировать все метрики на сервере Zabbix «{0}»?",
|
|
2790
|
+
"cpuMetrics": "Метрики процессора",
|
|
2791
|
+
"baseCount": "Базвые ({0})",
|
|
2792
|
+
"coreCount": "Ядро ({0})",
|
|
2793
|
+
"coreMhzCount": "Ядро МГц ({0})",
|
|
2794
|
+
"memoryMetrics": "Показатели памяти",
|
|
2795
|
+
"networkMetrics": "Сетевые показатели",
|
|
2796
|
+
"diskMetrics": "Показатели диска"
|
|
2774
2797
|
},
|
|
2775
2798
|
"remoteConsole": {
|
|
2776
2799
|
"remoteConsoleSessions": "Сеансы удаленной консоли",
|
|
@@ -2797,5 +2820,9 @@
|
|
|
2797
2820
|
},
|
|
2798
2821
|
"vmWizard": {
|
|
2799
2822
|
"devices": "Устройства ({0})"
|
|
2823
|
+
},
|
|
2824
|
+
"feedback": {
|
|
2825
|
+
"additionalDetailsHelp": "Дополнительная информация Помощь",
|
|
2826
|
+
"additionalDetailsTooltip": "Для получения дополнительной информации вы можете сделать снимок экрана или загрузить изображение в формате .png или .jpeg."
|
|
2800
2827
|
}
|
|
2801
2828
|
}
|
|
@@ -2226,6 +2226,9 @@
|
|
|
2226
2226
|
"changePasswordDesc": "为了确保您的帐户安全,请确保您的新密码与之前的密码不同。",
|
|
2227
2227
|
"changePasswordPreviouslyUsed": "您的新密码之前已被使用过。",
|
|
2228
2228
|
"currentPasswordIncorrect": "当前密码不正确。",
|
|
2229
|
+
"allActive": "全部活动",
|
|
2230
|
+
"text": "文本",
|
|
2231
|
+
"currentPasswordIncorrect": "当前密码不正确。",
|
|
2229
2232
|
"vApp": "vApp",
|
|
2230
2233
|
"contentLibrary": "内容库",
|
|
2231
2234
|
"libraryItem": "图书馆项目",
|
|
@@ -2546,6 +2549,10 @@
|
|
|
2546
2549
|
"aggregatedDiskIORate": "聚合磁盘 I/O 速率。 对于主机,此指标包括收集间隔期间主机上运行的所有虚拟机的速率",
|
|
2547
2550
|
"readBytes": "读取字节",
|
|
2548
2551
|
"averageNumberBytes": "收集间隔期间每秒从磁盘读取的平均字节数",
|
|
2552
|
+
"readCount": "阅读次数",
|
|
2553
|
+
"averageNumberOfReadCount": "收集间隔期间每秒执行的读取操作的平均次数",
|
|
2554
|
+
"writeCount": "写入次数",
|
|
2555
|
+
"averageNumberOfWriteCount": "收集间隔期间每秒执行的平均写入操作数",
|
|
2549
2556
|
"writeBytes": "写入字节",
|
|
2550
2557
|
"averageNumberBytesWrittenDisk": "收集间隔期间每秒写入磁盘的平均字节数",
|
|
2551
2558
|
"diskDevicesShares": "磁盘设备共享",
|
|
@@ -2581,6 +2588,15 @@
|
|
|
2581
2588
|
"provisionedMemoryInMB": "已配置的内存(以 MB 为单位)",
|
|
2582
2589
|
"memoryPMemReadBandwidth": "内存 pmem 读取带宽",
|
|
2583
2590
|
"memoryUsedMb": "已用内存 mb",
|
|
2591
|
+
"sharedPages": "共享页面",
|
|
2592
|
+
"sharedPagesDesc": "进程使用的、可与其他进程共享的页面数",
|
|
2593
|
+
"textDesc": "(文本/代码):进程执行代码所占用的页面数",
|
|
2594
|
+
"library": "图书馆",
|
|
2595
|
+
"libraryDesc": "进程的共享库消耗的内存量",
|
|
2596
|
+
"dataStack": "数据堆栈",
|
|
2597
|
+
"dataStackDesc": "(数据 + 堆栈):进程的数据和堆栈占用的页面总数",
|
|
2598
|
+
"dirtyPages": "脏页",
|
|
2599
|
+
"dirtyPagesDesc": "脏页数是已被进程修改但尚未写回到磁盘或交换区的页面",
|
|
2584
2600
|
"usedMemoryInMB": "已用内存(MB)",
|
|
2585
2601
|
"memoryResidentSetSizeMb": "内存驻留集大小 mb",
|
|
2586
2602
|
"residentSetSizeMemoryInMB": "内存驻留集大小(MB)",
|
|
@@ -2767,7 +2783,14 @@
|
|
|
2767
2783
|
"inactive": "不活跃",
|
|
2768
2784
|
"activateAll": "全部激活",
|
|
2769
2785
|
"confirmMetricsActivation": "确认指标激活",
|
|
2770
|
-
"confirmMetricsActivationDescription": "您确定要激活 Zabbix 服务器“{0}”中的所有指标吗?"
|
|
2786
|
+
"confirmMetricsActivationDescription": "您确定要激活 Zabbix 服务器“{0}”中的所有指标吗?",
|
|
2787
|
+
"cpuMetrics": "CPU指标",
|
|
2788
|
+
"baseCount": "基础 ({0})",
|
|
2789
|
+
"coreCount": "核心 ({0})",
|
|
2790
|
+
"coreMhzCount": "核心 MHz ({0})",
|
|
2791
|
+
"memoryMetrics": "内存指标",
|
|
2792
|
+
"networkMetrics": "网络指标",
|
|
2793
|
+
"diskMetrics": "磁盘指标"
|
|
2771
2794
|
},
|
|
2772
2795
|
"remoteConsole": {
|
|
2773
2796
|
"remoteConsoleSessions": "远程控制台会话",
|
|
@@ -2794,5 +2817,9 @@
|
|
|
2794
2817
|
},
|
|
2795
2818
|
"vmWizard": {
|
|
2796
2819
|
"devices": "设备 ({0})"
|
|
2820
|
+
},
|
|
2821
|
+
"feedback": {
|
|
2822
|
+
"additionalDetailsHelp": "其他详细信息帮助",
|
|
2823
|
+
"additionalDetailsTooltip": "有关更多详细信息,您可以截取屏幕截图或上传 .png 或 .jpeg 格式的图像。"
|
|
2797
2824
|
}
|
|
2798
2825
|
}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<common-layout-the-header-feedback-new
|
|
3
|
-
v-if="isNewView"
|
|
4
|
-
|
|
5
|
-
:title="localization.common.sendFeedback"
|
|
3
|
+
v-if="props.isShowFeedback && isNewView"
|
|
4
|
+
v-model="feedbackForm"
|
|
6
5
|
@hide="onHide"
|
|
7
6
|
@submit="onSubmit"
|
|
8
7
|
/>
|
|
9
8
|
<common-layout-the-header-feedback-old
|
|
10
|
-
v-
|
|
9
|
+
v-if="!isNewView"
|
|
11
10
|
:is-show-feedback="props.isShowFeedback"
|
|
12
11
|
:title="localization.common.sendFeedback"
|
|
13
12
|
@show="emits('show')"
|
|
@@ -23,6 +22,7 @@ import type {
|
|
|
23
22
|
UI_I_Localization,
|
|
24
23
|
UI_I_NotifyBodyMessage,
|
|
25
24
|
} from '~/lib/models/interfaces'
|
|
25
|
+
import { feedbackDefaultFormFunc } from '~/components/common/layout/theHeader/feedback/lib/config/sendFeedback'
|
|
26
26
|
|
|
27
27
|
const props = defineProps<{
|
|
28
28
|
isShowFeedback: boolean
|
|
@@ -33,12 +33,15 @@ const emits = defineEmits<{
|
|
|
33
33
|
(event: 'hide'): void
|
|
34
34
|
}>()
|
|
35
35
|
|
|
36
|
-
const { $store }: any = useNuxtApp()
|
|
37
|
-
|
|
38
36
|
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
37
|
+
const { $store }: any = useNuxtApp()
|
|
39
38
|
|
|
40
39
|
const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
|
|
41
40
|
|
|
41
|
+
const feedbackForm = ref<UI_I_FeedbackForm>(
|
|
42
|
+
useDeepCopy(feedbackDefaultFormFunc())
|
|
43
|
+
)
|
|
44
|
+
|
|
42
45
|
const handleRequest = async (data: UI_I_FeedbackForm): Promise<boolean> => {
|
|
43
46
|
const { error } = await useMyFetch<never, API_UI_I_Error>(
|
|
44
47
|
'https://customer.aobfg.ru/api/v1/feedback',
|
|
@@ -92,7 +95,9 @@ const onHide = (): void => {
|
|
|
92
95
|
}
|
|
93
96
|
const onSubmit = async (data: UI_I_FeedbackForm): Promise<void> => {
|
|
94
97
|
onHide()
|
|
95
|
-
|
|
98
|
+
|
|
99
|
+
const sendForm: UI_I_FeedbackForm = isNewView ? feedbackForm.value : data
|
|
100
|
+
const isValid = await handleRequest(sendForm)
|
|
96
101
|
|
|
97
102
|
if (isValid) showNotification(msgSuccess.value)
|
|
98
103
|
else showNotification(msgError.value)
|
|
@@ -0,0 +1,131 @@
|
|
|
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>
|
|
@@ -0,0 +1,58 @@
|
|
|
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>
|
|
@@ -0,0 +1,43 @@
|
|
|
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>
|
|
@@ -0,0 +1,83 @@
|
|
|
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>
|