bfg-common 1.4.815 → 1.4.817
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 +5 -2
- package/assets/localization/local_en.json +5 -2
- package/assets/localization/local_hy.json +5 -2
- package/assets/localization/local_kk.json +5 -2
- package/assets/localization/local_ru.json +5 -2
- package/assets/localization/local_zh.json +5 -2
- package/components/common/monitor/overview/OverviewNew.vue +18 -12
- package/components/common/monitor/overview/OverviewOld.vue +8 -6
- package/components/common/monitor/overview/filters/FiltersNew.vue +1 -0
- package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +40 -38
- package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModalNew.vue +144 -118
- package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModalOld.vue +62 -56
- package/package.json +2 -2
|
@@ -1688,6 +1688,7 @@
|
|
|
1688
1688
|
"vmStoragePoliciesCompliance": "Адпаведнасць палітыкам захоўвання ВМ",
|
|
1689
1689
|
"vmStoragePolicy": "Палітыка захоўвання VM",
|
|
1690
1690
|
"vmTemplates": "Шаблоны VM",
|
|
1691
|
+
"inodeVmTemplates": "Шаблоны InodeVm",
|
|
1691
1692
|
"vmVersion": "Версія віртуальнай машыны",
|
|
1692
1693
|
"vMwareSharedVirtualGraphics": "Агульная віртуальная графіка {trademark}",
|
|
1693
1694
|
"vSAN": "vSAN",
|
|
@@ -2311,7 +2312,8 @@
|
|
|
2311
2312
|
"permissionDeleteMsg": "Вы ўпэўненыя, што хочаце выдаліць дазвол для \"{subject}\"?",
|
|
2312
2313
|
"editPermission": "Дазвол на рэдагаванне",
|
|
2313
2314
|
"userGroupNameIsInvalid": "Няправільнае імя карыстальніка ці групы!",
|
|
2314
|
-
"submit": "Падпарадкоўвацца"
|
|
2315
|
+
"submit": "Падпарадкоўвацца",
|
|
2316
|
+
"up": "Наверсе"
|
|
2315
2317
|
},
|
|
2316
2318
|
"auth": {
|
|
2317
2319
|
"welcomeTo": "Сардэчна запрашаем у",
|
|
@@ -2962,6 +2964,7 @@
|
|
|
2962
2964
|
"addNode": "Дадаць вузел",
|
|
2963
2965
|
"hostHelp": "Хост дапамогі",
|
|
2964
2966
|
"hostHelpTooltipContent": "Выберыце мэтавы вылічаны рэсурс для гэтай аперацыі. ",
|
|
2965
|
-
"selectValidHostComputeResource": "Выберыце сапраўдны хост у якасці вылічальнага рэсурсу"
|
|
2967
|
+
"selectValidHostComputeResource": "Выберыце сапраўдны хост у якасці вылічальнага рэсурсу",
|
|
2968
|
+
"syncData": "Дадзеныя сінхранізацыі"
|
|
2966
2969
|
}
|
|
2967
2970
|
}
|
|
@@ -1687,6 +1687,7 @@
|
|
|
1687
1687
|
"vmStoragePoliciesCompliance": "VM Storage Policies Compliance",
|
|
1688
1688
|
"vmStoragePolicy": "VM Storage Policy",
|
|
1689
1689
|
"vmTemplates": "VM Templates",
|
|
1690
|
+
"inodeVmTemplates": "InodeVm Templates",
|
|
1690
1691
|
"vmVersion": "VM version",
|
|
1691
1692
|
"vMwareSharedVirtualGraphics": "{trademark} shared virtual graphics",
|
|
1692
1693
|
"vSAN": "vSAN",
|
|
@@ -2315,7 +2316,8 @@
|
|
|
2315
2316
|
"permissionDeleteMsg": "Are you sure you want to remove the permission for \"{subject}\"?",
|
|
2316
2317
|
"editPermission": "Edit Permission",
|
|
2317
2318
|
"userGroupNameIsInvalid": "User or group name is invalid!",
|
|
2318
|
-
"submit": "Submit"
|
|
2319
|
+
"submit": "Submit",
|
|
2320
|
+
"up": "Up"
|
|
2319
2321
|
},
|
|
2320
2322
|
"auth": {
|
|
2321
2323
|
"welcomeTo": "Welcome to",
|
|
@@ -2966,6 +2968,7 @@
|
|
|
2966
2968
|
"addNode": "Add Node",
|
|
2967
2969
|
"hostHelp": "Host Help",
|
|
2968
2970
|
"hostHelpTooltipContent": "Select the target compute resource for this operation. Each node must have a unique host.",
|
|
2969
|
-
"selectValidHostComputeResource": "Select a valid host as the compute resource"
|
|
2971
|
+
"selectValidHostComputeResource": "Select a valid host as the compute resource",
|
|
2972
|
+
"syncData": "Sync Data"
|
|
2970
2973
|
}
|
|
2971
2974
|
}
|
|
@@ -1687,6 +1687,7 @@
|
|
|
1687
1687
|
"vmStoragePoliciesCompliance": "Համապատասխանություն ՎՄ պահեստավորման քաղաքականությանը",
|
|
1688
1688
|
"vmStoragePolicy": "ՎՄ-ի պահպանման քաղաքականություն",
|
|
1689
1689
|
"vmTemplates": "ՎՄ կաղապարներ",
|
|
1690
|
+
"inodeVmTemplates": "InodeVm կաղապարներ",
|
|
1690
1691
|
"vmVersion": "Վիրտուալ մեքենայի տարբերակ",
|
|
1691
1692
|
"vMwareSharedVirtualGraphics": "Ընդհանուր {trademark} վիրտուալ գրաֆիկա",
|
|
1692
1693
|
"vSAN": "vSAN",
|
|
@@ -2315,7 +2316,8 @@
|
|
|
2315
2316
|
"permissionDeleteMsg": "Համոզվա՞ծ եք, որ ցանկանում եք հեռացնել թույլտվությունը \"{subject}\"-ի համար:",
|
|
2316
2317
|
"editPermission": "Խմբագրել թույլտվությունը",
|
|
2317
2318
|
"userGroupNameIsInvalid": "Սխալ օգտվողի անուն կամ խումբ",
|
|
2318
|
-
"submit": "Ներկայացնել"
|
|
2319
|
+
"submit": "Ներկայացնել",
|
|
2320
|
+
"up": "Վեր"
|
|
2319
2321
|
},
|
|
2320
2322
|
"auth": {
|
|
2321
2323
|
"welcomeTo": "Բարի գալուստ",
|
|
@@ -2966,6 +2968,7 @@
|
|
|
2966
2968
|
"addNode": "Ավելացնել հանգույց",
|
|
2967
2969
|
"hostHelp": "Հյուրընկալող օգնություն",
|
|
2968
2970
|
"hostHelpTooltipContent": "Ընտրեք թիրախային հաշվարկային ռեսուրսը այս գործողության համար: ",
|
|
2969
|
-
"selectValidHostComputeResource": "Ընտրեք վավեր հյուրընկալող որպես հաշվարկային ռեսուրս"
|
|
2971
|
+
"selectValidHostComputeResource": "Ընտրեք վավեր հյուրընկալող որպես հաշվարկային ռեսուրս",
|
|
2972
|
+
"syncData": "Համաժամացման տվյալներ"
|
|
2970
2973
|
}
|
|
2971
2974
|
}
|
|
@@ -1687,6 +1687,7 @@
|
|
|
1687
1687
|
"vmStoragePoliciesCompliance": "В.М. өлімін қорғау",
|
|
1688
1688
|
"vmStoragePolicy": "VM сақтау саясаты",
|
|
1689
1689
|
"vmTemplates": "VM үлгілері",
|
|
1690
|
+
"inodeVmTemplates": "InodeVm үлгілері",
|
|
1690
1691
|
"vmVersion": "Виртуалды машина нұсқасы",
|
|
1691
1692
|
"vMwareSharedVirtualGraphics": "{trademark} жалпы виртуалды графикасы",
|
|
1692
1693
|
"vSAN": "vSAN",
|
|
@@ -2314,7 +2315,8 @@
|
|
|
2314
2315
|
"permissionDeleteMsg": "\"{subject}\" рұқсатын алып тастағыңыз келетініне сенімдісіз бе?",
|
|
2315
2316
|
"editPermission": "Рұқсатты Өңдеу",
|
|
2316
2317
|
"userGroupNameIsInvalid": "Пайдаланушы немесе топ атауы жарамсыз!",
|
|
2317
|
-
"submit": "Бағыну"
|
|
2318
|
+
"submit": "Бағыну",
|
|
2319
|
+
"up": "Бойымен"
|
|
2318
2320
|
},
|
|
2319
2321
|
"auth": {
|
|
2320
2322
|
"welcomeTo": "Қош келдіңіз",
|
|
@@ -2965,6 +2967,7 @@
|
|
|
2965
2967
|
"addNode": "Түйінді қосыңыз",
|
|
2966
2968
|
"hostHelp": "Хосттық көмек",
|
|
2967
2969
|
"hostHelpTooltipContent": "Осы жұмыс үшін мақсатты есептеу қорын таңдаңыз. ",
|
|
2968
|
-
"selectValidHostComputeResource": "Жарамды хостты есептік ресурс ретінде таңдаңыз"
|
|
2970
|
+
"selectValidHostComputeResource": "Жарамды хостты есептік ресурс ретінде таңдаңыз",
|
|
2971
|
+
"syncData": "Деректерді синхрондау"
|
|
2969
2972
|
}
|
|
2970
2973
|
}
|
|
@@ -1689,6 +1689,7 @@
|
|
|
1689
1689
|
"vmStoragePoliciesCompliance": "Соответствие политикам хранения ВМ",
|
|
1690
1690
|
"vmStoragePolicy": "Политика хранения ВМ",
|
|
1691
1691
|
"vmTemplates": "Шаблоны ВМ",
|
|
1692
|
+
"inodeVmTemplates": "Шаблоны InodeVm",
|
|
1692
1693
|
"vmVersion": "Версия виртуальной машины",
|
|
1693
1694
|
"vMwareSharedVirtualGraphics": "Общая виртуальная графика {trademark}",
|
|
1694
1695
|
"vSAN": "vSAN",
|
|
@@ -2316,7 +2317,8 @@
|
|
|
2316
2317
|
"permissionDeleteMsg": "Вы уверены, что хотите удалить разрешение для \"{subject}\"?",
|
|
2317
2318
|
"editPermission": "Редактирование разрешения",
|
|
2318
2319
|
"userGroupNameIsInvalid": "Неверное имя пользователя или группы!",
|
|
2319
|
-
"submit": "Представлять на рассмотрение"
|
|
2320
|
+
"submit": "Представлять на рассмотрение",
|
|
2321
|
+
"up": "Вверх"
|
|
2320
2322
|
},
|
|
2321
2323
|
"auth": {
|
|
2322
2324
|
"welcomeTo": "Добро пожаловать в",
|
|
@@ -2967,6 +2969,7 @@
|
|
|
2967
2969
|
"addNode": "Добавить узел",
|
|
2968
2970
|
"hostHelp": "Хозяева",
|
|
2969
2971
|
"hostHelpTooltipContent": "Выберите целевой вычислительный ресурс для этой операции. ",
|
|
2970
|
-
"selectValidHostComputeResource": "Выберите действительный хост в качестве ресурса вычисления"
|
|
2972
|
+
"selectValidHostComputeResource": "Выберите действительный хост в качестве ресурса вычисления",
|
|
2973
|
+
"syncData": "Синхронизированные данные"
|
|
2971
2974
|
}
|
|
2972
2975
|
}
|
|
@@ -1687,6 +1687,7 @@
|
|
|
1687
1687
|
"vmStoragePoliciesCompliance": "遵守 VM 保留策略",
|
|
1688
1688
|
"vmStoragePolicy": "虚拟机保留策略",
|
|
1689
1689
|
"vmTemplates": "虚拟机模板",
|
|
1690
|
+
"inodeVmTemplates": "InodeVm模板",
|
|
1690
1691
|
"vmVersion": "虚拟机版本",
|
|
1691
1692
|
"vMwareSharedVirtualGraphics": "{trademark} 共享虚拟图形",
|
|
1692
1693
|
"vSAN": "vSAN",
|
|
@@ -2313,7 +2314,8 @@
|
|
|
2313
2314
|
"permissionDeleteMsg": "您确定要删除\"{subject}\"的权限吗?",
|
|
2314
2315
|
"editPermission": "编辑权限",
|
|
2315
2316
|
"userGroupNameIsInvalid": "用户或组名无效!",
|
|
2316
|
-
"submit": "提交"
|
|
2317
|
+
"submit": "提交",
|
|
2318
|
+
"up": "向上"
|
|
2317
2319
|
},
|
|
2318
2320
|
"auth": {
|
|
2319
2321
|
"welcomeTo": "欢迎来到",
|
|
@@ -2964,6 +2966,7 @@
|
|
|
2964
2966
|
"addNode": "添加节点",
|
|
2965
2967
|
"hostHelp": "主持人帮助",
|
|
2966
2968
|
"hostHelpTooltipContent": "为此操作选择目标计算资源。",
|
|
2967
|
-
"selectValidHostComputeResource": "选择有效主机作为计算资源"
|
|
2969
|
+
"selectValidHostComputeResource": "选择有效主机作为计算资源",
|
|
2970
|
+
"syncData": "同步数据"
|
|
2968
2971
|
}
|
|
2969
2972
|
}
|
|
@@ -42,10 +42,10 @@ const localization = computed<UI_I_Localization>(() => useLocal())
|
|
|
42
42
|
|
|
43
43
|
<style>
|
|
44
44
|
:root {
|
|
45
|
-
--loader-bg-color: #ffffff;
|
|
45
|
+
--overview-chart-loader-bg-color: #ffffff;
|
|
46
46
|
}
|
|
47
47
|
:root.dark-theme {
|
|
48
|
-
--loader-bg-color: #334453;
|
|
48
|
+
--overview-chart-loader-bg-color: #334453;
|
|
49
49
|
}
|
|
50
50
|
</style>
|
|
51
51
|
|
|
@@ -62,19 +62,21 @@ const localization = computed<UI_I_Localization>(() => useLocal())
|
|
|
62
62
|
padding: 0 16px;
|
|
63
63
|
|
|
64
64
|
.graphic-loader-block {
|
|
65
|
-
background-color: var(--loader-bg-color);
|
|
65
|
+
background-color: var(--overview-chart-loader-bg-color);
|
|
66
66
|
height: 100%;
|
|
67
67
|
display: flex;
|
|
68
68
|
flex-direction: column;
|
|
69
69
|
align-items: center;
|
|
70
70
|
justify-content: center;
|
|
71
|
+
border-radius: 8px;
|
|
71
72
|
}
|
|
72
73
|
|
|
73
74
|
.graph-empty-block {
|
|
74
75
|
display: flex;
|
|
75
76
|
flex-direction: column;
|
|
76
77
|
height: 100%;
|
|
77
|
-
background-color: var(--loader-bg-color);
|
|
78
|
+
background-color: var(--overview-chart-loader-bg-color);
|
|
79
|
+
border-radius: 8px;
|
|
78
80
|
|
|
79
81
|
.title {
|
|
80
82
|
text-align: center;
|
|
@@ -112,16 +114,20 @@ const localization = computed<UI_I_Localization>(() => useLocal())
|
|
|
112
114
|
width: 50%;
|
|
113
115
|
height: 100%;
|
|
114
116
|
}
|
|
115
|
-
}
|
|
116
117
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
display: flex;
|
|
121
|
-
align-items: center;
|
|
122
|
-
justify-content: center;
|
|
123
|
-
color: var(--global-font-color);
|
|
118
|
+
:deep(svg > .skeleton-metric__line) {
|
|
119
|
+
display: none;
|
|
120
|
+
}
|
|
124
121
|
}
|
|
122
|
+
|
|
123
|
+
//.content-global-loading {
|
|
124
|
+
// width: 100%;
|
|
125
|
+
// height: 100%;
|
|
126
|
+
// display: flex;
|
|
127
|
+
// align-items: center;
|
|
128
|
+
// justify-content: center;
|
|
129
|
+
// color: var(--global-font-color);
|
|
130
|
+
//}
|
|
125
131
|
}
|
|
126
132
|
@media (min-width: 1280px) {
|
|
127
133
|
.charts-view .chart-container {
|
|
@@ -4,17 +4,20 @@
|
|
|
4
4
|
{{ localization.common.loading }}...
|
|
5
5
|
</div>
|
|
6
6
|
<template v-else>
|
|
7
|
-
<template
|
|
7
|
+
<template
|
|
8
|
+
v-for="(chartData, key) in props.allData"
|
|
9
|
+
:key="chartData.title"
|
|
10
|
+
>
|
|
8
11
|
<div :class="['chart-container', `graph-${chartData.title}`]">
|
|
9
12
|
<div v-if="chartData.loader" class="graphic-loader-block">
|
|
10
13
|
<div class="spinner"></div>
|
|
11
14
|
<p>{{ localization.inventoryMonitor.retrievingData }}...</p>
|
|
12
15
|
</div>
|
|
13
16
|
<common-graph
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
v-else-if="chartData.data"
|
|
18
|
+
:data="chartData.data"
|
|
19
|
+
:chart="props.charts[key]"
|
|
20
|
+
:update="props.updateHelper"
|
|
18
21
|
/>
|
|
19
22
|
<div v-else class="graph-empty-block">
|
|
20
23
|
<div class="title">{{ chartData.title }}</div>
|
|
@@ -39,7 +42,6 @@ const props = defineProps<{
|
|
|
39
42
|
}>()
|
|
40
43
|
|
|
41
44
|
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
42
|
-
|
|
43
45
|
</script>
|
|
44
46
|
|
|
45
47
|
<style>
|
package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue
CHANGED
|
@@ -1,40 +1,43 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
2
|
+
<div>
|
|
3
|
+
<common-monitor-overview-filters-custom-interval-modal-new
|
|
4
|
+
v-if="isNewView"
|
|
5
|
+
v-model:alert-show="alertShow"
|
|
6
|
+
v-model:current-date-from="currentDateFrom"
|
|
7
|
+
v-model:date-from="dateFrom"
|
|
8
|
+
v-model:current-time-from="currentTimeFrom"
|
|
9
|
+
v-model:current-date-to="currentDateTo"
|
|
10
|
+
v-model:date-to="dateTo"
|
|
11
|
+
v-model:current-time-to="currentTimeTo"
|
|
12
|
+
:title-interval-modal="titleIntervalModal"
|
|
13
|
+
:selected-item-name="selectedItemName"
|
|
14
|
+
:current-lang="currentLang"
|
|
15
|
+
:alert-items="alertItems"
|
|
16
|
+
:format-date="props.formatDate"
|
|
17
|
+
@update-date-from="onUpdateDateFrom"
|
|
18
|
+
@update-date-to="onUpdateDateTo"
|
|
19
|
+
@submit="onSubmit"
|
|
20
|
+
@hide="onHide"
|
|
21
|
+
/>
|
|
22
|
+
<common-monitor-overview-filters-custom-interval-modal-old
|
|
23
|
+
v-else
|
|
24
|
+
v-model:alert-show="alertShow"
|
|
25
|
+
v-model:current-date-from="currentDateFrom"
|
|
26
|
+
v-model:date-from="dateFrom"
|
|
27
|
+
v-model:current-time-from="currentTimeFrom"
|
|
28
|
+
v-model:current-date-to="currentDateTo"
|
|
29
|
+
v-model:date-to="dateTo"
|
|
30
|
+
v-model:current-time-to="currentTimeTo"
|
|
31
|
+
:title-interval-modal="titleIntervalModal"
|
|
32
|
+
:selected-item-name="selectedItemName"
|
|
33
|
+
:current-lang="currentLang"
|
|
34
|
+
:alert-items="alertItems"
|
|
35
|
+
@update-date-from="onUpdateDateFrom"
|
|
36
|
+
@update-date-to="onUpdateDateTo"
|
|
37
|
+
@submit="onSubmit"
|
|
38
|
+
@hide="onHide"
|
|
39
|
+
/>
|
|
40
|
+
</div>
|
|
38
41
|
</template>
|
|
39
42
|
|
|
40
43
|
<script setup lang="ts">
|
|
@@ -169,5 +172,4 @@ onMounted(() => {
|
|
|
169
172
|
})
|
|
170
173
|
</script>
|
|
171
174
|
|
|
172
|
-
<style scoped lang="scss">
|
|
173
|
-
</style>
|
|
175
|
+
<style scoped lang="scss"></style>
|
package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModalNew.vue
CHANGED
|
@@ -1,155 +1,181 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
:
|
|
6
|
-
:
|
|
7
|
-
:second-title="props.selectedItemName"
|
|
2
|
+
<ui-modal
|
|
3
|
+
show
|
|
4
|
+
:title="titleLocal"
|
|
5
|
+
:subtitle="props.selectedItemName"
|
|
6
|
+
:texts="modalTexts"
|
|
8
7
|
test-id="overview-custom-interval-modal"
|
|
9
8
|
@hide="onHide"
|
|
10
9
|
@submit="onSubmit"
|
|
11
10
|
>
|
|
12
|
-
<template #
|
|
13
|
-
<
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
type="text"
|
|
54
|
-
class="chart-option-setting-row custom-time-input"
|
|
55
|
-
/>
|
|
56
|
-
</div>
|
|
57
|
-
</td>
|
|
58
|
-
</tr>
|
|
59
|
-
<tr>
|
|
60
|
-
<td class="text-right">
|
|
61
|
-
<label class="custom-time-label">
|
|
62
|
-
<span class="custom-time-label-text text-capitalize">
|
|
63
|
-
{{ localization.common.to }}:
|
|
64
|
-
</span>
|
|
65
|
-
</label>
|
|
66
|
-
</td>
|
|
67
|
-
<td>
|
|
68
|
-
<div class="flex-align-center input-row-container">
|
|
69
|
-
<input
|
|
70
|
-
id="current-date-to"
|
|
71
|
-
v-model.lazy="currentDateTo"
|
|
72
|
-
data-id="current-date-to-input"
|
|
73
|
-
type="text"
|
|
74
|
-
class="chart-option-setting-row custom-time-input first-from"
|
|
75
|
-
/>
|
|
76
|
-
<div class="section-datepicker">
|
|
77
|
-
<atoms-datepicker
|
|
78
|
-
v-model="dateTo"
|
|
79
|
-
:lang="props.currentLang"
|
|
80
|
-
class="chart-option-setting-row custom-time-input"
|
|
81
|
-
test-id="overview-first-date-to-datepicker"
|
|
82
|
-
@update="onUpdateDateTo"
|
|
83
|
-
/>
|
|
84
|
-
</div>
|
|
85
|
-
<input
|
|
86
|
-
id="current-time-to"
|
|
87
|
-
v-model="currentTimeTo"
|
|
88
|
-
data-id="current-time-to-input"
|
|
89
|
-
type="text"
|
|
90
|
-
class="chart-option-setting-row custom-time-input"
|
|
91
|
-
/>
|
|
92
|
-
</div>
|
|
93
|
-
</td>
|
|
94
|
-
</tr>
|
|
95
|
-
<tr>
|
|
96
|
-
<td></td>
|
|
97
|
-
<td class="text-format-date">
|
|
98
|
-
({{ localization.inventoryMonitor.dateTimeIsoFormat }})
|
|
99
|
-
</td>
|
|
100
|
-
</tr>
|
|
101
|
-
</tbody>
|
|
102
|
-
</table>
|
|
11
|
+
<template #content>
|
|
12
|
+
<div class="time-range">
|
|
13
|
+
<ui-alert
|
|
14
|
+
v-show="alertShow"
|
|
15
|
+
status="alert-danger"
|
|
16
|
+
:messages="props.alertItems"
|
|
17
|
+
class="overview-alert"
|
|
18
|
+
test-id="overview-alert"
|
|
19
|
+
@remove="alertShow = false"
|
|
20
|
+
/>
|
|
21
|
+
|
|
22
|
+
<p class="date-time-format-description">
|
|
23
|
+
{{ localization.inventoryMonitor.dateTimeIsoFormat }}
|
|
24
|
+
</p>
|
|
25
|
+
|
|
26
|
+
<div class="filed-wrap from">
|
|
27
|
+
<lable for="date-from" class="filed-lable">{{
|
|
28
|
+
localization.common.from
|
|
29
|
+
}}</lable>
|
|
30
|
+
<ui-input-with-datepicker
|
|
31
|
+
id="date-from"
|
|
32
|
+
v-model="currentDateFromLocal"
|
|
33
|
+
test-id="date-from"
|
|
34
|
+
format="mm-dd-yyyy"
|
|
35
|
+
time-format="12"
|
|
36
|
+
/>
|
|
37
|
+
</div>
|
|
38
|
+
|
|
39
|
+
<div class="filed-wrap">
|
|
40
|
+
<lable for="date-to" class="filed-lable">{{
|
|
41
|
+
localization.common.to
|
|
42
|
+
}}</lable>
|
|
43
|
+
<ui-input-with-datepicker
|
|
44
|
+
id="date-to"
|
|
45
|
+
v-model="currentDateToLocal"
|
|
46
|
+
test-id="date-to"
|
|
47
|
+
format="mm-dd-yyyy"
|
|
48
|
+
time-format="12"
|
|
49
|
+
/>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
103
52
|
</template>
|
|
104
|
-
|
|
53
|
+
|
|
54
|
+
<template #footerLeftContent><span></span></template>
|
|
55
|
+
</ui-modal>
|
|
105
56
|
</template>
|
|
106
57
|
|
|
107
58
|
<script setup lang="ts">
|
|
108
59
|
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
60
|
+
import type { UI_I_ModalTexts } from 'bfg-uikit/components/ui/modal/models/interfaces'
|
|
109
61
|
|
|
110
62
|
const alertShow = defineModel<boolean>('alert-show')
|
|
111
|
-
const currentDateFrom = defineModel<
|
|
112
|
-
const dateFrom = defineModel<
|
|
113
|
-
const currentTimeFrom = defineModel<
|
|
114
|
-
const currentDateTo = defineModel<
|
|
115
|
-
const dateTo = defineModel<
|
|
116
|
-
const currentTimeTo = defineModel<
|
|
63
|
+
const currentDateFrom = defineModel<string>('current-date-from')
|
|
64
|
+
// const dateFrom = defineModel<string>('date-from')
|
|
65
|
+
const currentTimeFrom = defineModel<string>('current-time-from')
|
|
66
|
+
const currentDateTo = defineModel<string>('current-date-to')
|
|
67
|
+
// const dateTo = defineModel<string>('date-to')
|
|
68
|
+
const currentTimeTo = defineModel<string>('current-time-to')
|
|
117
69
|
|
|
118
70
|
const props = defineProps<{
|
|
119
71
|
titleIntervalModal: string
|
|
120
72
|
selectedItemName: string
|
|
121
73
|
currentLang: string
|
|
122
74
|
alertItems: any[]
|
|
75
|
+
formatDate: string
|
|
123
76
|
}>()
|
|
124
77
|
|
|
125
78
|
const emits = defineEmits<{
|
|
126
79
|
(event: 'hide'): void
|
|
127
|
-
(event: 'submit'
|
|
80
|
+
(event: 'submit'): void
|
|
128
81
|
(event: 'update-date-from', value: any): void
|
|
129
82
|
(event: 'update-date-to', value: any): void
|
|
130
83
|
}>()
|
|
131
84
|
|
|
85
|
+
const { $isDate, $getUnixByDate, $formattedDate, $formattedTime } = useNuxtApp()
|
|
86
|
+
|
|
132
87
|
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
133
88
|
|
|
134
|
-
const
|
|
135
|
-
|
|
89
|
+
const titleLocal = computed<string>(() =>
|
|
90
|
+
props.titleIntervalModal.replace(':', '')
|
|
91
|
+
)
|
|
92
|
+
const modalTexts = computed<UI_I_ModalTexts>(() => ({
|
|
93
|
+
button1: localization.value.common.cancel,
|
|
94
|
+
button2: localization.value.common.save,
|
|
95
|
+
}))
|
|
96
|
+
|
|
97
|
+
const currentDateFromLocal = computed<number>({
|
|
98
|
+
get() {
|
|
99
|
+
// console.log(currentDateFrom.value, 11111, currentTimeFrom.value)
|
|
100
|
+
// TODO fix PM
|
|
101
|
+
return $isDate(currentDateFrom.value)
|
|
102
|
+
? $getUnixByDate(currentDateFrom.value + ' ' + currentTimeFrom.value)
|
|
103
|
+
: 0
|
|
104
|
+
},
|
|
105
|
+
set(newValue) {
|
|
106
|
+
// console.log($formattedDate(new Date(newValue), props.formatDate), 22222)
|
|
107
|
+
// console.log($formattedTime(newValue, '', true), 33333)
|
|
108
|
+
currentDateFrom.value = $formattedDate(new Date(newValue), props.formatDate)
|
|
109
|
+
currentTimeFrom.value = $formattedTime(newValue, '', true)
|
|
110
|
+
},
|
|
111
|
+
})
|
|
112
|
+
const currentDateToLocal = computed<number>({
|
|
113
|
+
get() {
|
|
114
|
+
// TODO fix PM
|
|
115
|
+
return $isDate(currentDateTo.value)
|
|
116
|
+
? $getUnixByDate(currentDateTo.value + ' ' + currentTimeTo.value)
|
|
117
|
+
: 0
|
|
118
|
+
},
|
|
119
|
+
set(newValue) {
|
|
120
|
+
currentDateTo.value = $formattedDate(new Date(newValue), props.formatDate)
|
|
121
|
+
currentTimeTo.value = $formattedTime(newValue, '', true)
|
|
122
|
+
},
|
|
123
|
+
})
|
|
124
|
+
|
|
125
|
+
// const onUpdateDateFrom = (event: any): void => {
|
|
126
|
+
// emits('update-date-from', event)
|
|
127
|
+
// }
|
|
128
|
+
// const onUpdateDateTo = (event: any): void => {
|
|
129
|
+
// emits('update-date-to', event)
|
|
130
|
+
// }
|
|
131
|
+
|
|
132
|
+
const onSubmit = (): void => {
|
|
133
|
+
emits('submit')
|
|
136
134
|
}
|
|
137
|
-
const
|
|
138
|
-
emits('
|
|
135
|
+
const onHide = (): void => {
|
|
136
|
+
emits('hide')
|
|
139
137
|
}
|
|
140
138
|
</script>
|
|
141
139
|
|
|
140
|
+
<style>
|
|
141
|
+
:root {
|
|
142
|
+
--overview-time-range-lable-color: #4d5d69;
|
|
143
|
+
--overview-time-range-border-color: #e9ebed;
|
|
144
|
+
}
|
|
145
|
+
:root.dark-theme {
|
|
146
|
+
--overview-time-range-lable-color: #e9eaec;
|
|
147
|
+
--overview-time-range-border-color: #e9ebed1f;
|
|
148
|
+
}
|
|
149
|
+
</style>
|
|
142
150
|
<style scoped lang="scss">
|
|
143
|
-
.
|
|
144
|
-
padding
|
|
151
|
+
.time-range {
|
|
152
|
+
padding: 0 32px;
|
|
145
153
|
|
|
146
|
-
.
|
|
147
|
-
|
|
148
|
-
|
|
154
|
+
.overview-alert {
|
|
155
|
+
margin-bottom: 16px;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.date-time-format-description {
|
|
159
|
+
font-size: 12px;
|
|
160
|
+
color: #9da6ad;
|
|
161
|
+
padding-bottom: 12px;
|
|
162
|
+
border-bottom: 1px solid var(--overview-time-range-border-color);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.filed-wrap {
|
|
166
|
+
margin-bottom: 16px;
|
|
167
|
+
|
|
168
|
+
&.from {
|
|
169
|
+
margin-bottom: 24px;
|
|
170
|
+
}
|
|
171
|
+
.filed-lable {
|
|
172
|
+
display: block;
|
|
173
|
+
font-size: 16px;
|
|
174
|
+
font-weight: 500;
|
|
175
|
+
color: var(--overview-time-range-lable-color);
|
|
176
|
+
margin: 16px 0;
|
|
177
|
+
text-transform: capitalize;
|
|
178
|
+
}
|
|
149
179
|
}
|
|
150
|
-
}
|
|
151
|
-
.text-format-date {
|
|
152
|
-
display: inline-block;
|
|
153
|
-
margin-top: 5px;
|
|
154
180
|
}
|
|
155
181
|
</style>
|
package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModalOld.vue
CHANGED
|
@@ -1,103 +1,102 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<atoms-modal
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
@submit="onSubmit"
|
|
3
|
+
show
|
|
4
|
+
width="580px"
|
|
5
|
+
:title="props.titleIntervalModal"
|
|
6
|
+
:second-title="props.selectedItemName"
|
|
7
|
+
test-id="overview-custom-interval-modal"
|
|
8
|
+
@hide="onHide"
|
|
9
|
+
@submit="onSubmit"
|
|
11
10
|
>
|
|
12
11
|
<template #modalBody>
|
|
13
12
|
<atoms-alert
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
v-show="alertShow"
|
|
14
|
+
status="alert-danger"
|
|
15
|
+
:items="props.alertItems"
|
|
16
|
+
test-id="overview-alert"
|
|
17
|
+
@remove="alertShow = false"
|
|
19
18
|
/>
|
|
20
19
|
|
|
21
20
|
<table>
|
|
22
21
|
<tbody>
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
<tr>
|
|
23
|
+
<td class="text-right">
|
|
24
|
+
<label class="custom-time-label">
|
|
26
25
|
<span class="custom-time-label-text text-capitalize">
|
|
27
26
|
{{ localization.common.from }}:
|
|
28
27
|
</span>
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
</label>
|
|
29
|
+
</td>
|
|
30
|
+
<td>
|
|
31
|
+
<div class="flex-align-center input-row-container">
|
|
32
|
+
<input
|
|
34
33
|
id="current-date-from"
|
|
35
34
|
v-model.lazy="currentDateFrom"
|
|
36
35
|
data-id="current-date-from-input"
|
|
37
36
|
type="text"
|
|
38
37
|
class="chart-option-setting-row custom-time-input first-from"
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
/>
|
|
39
|
+
<div class="section-datepicker">
|
|
40
|
+
<atoms-datepicker
|
|
42
41
|
v-model="dateFrom"
|
|
43
42
|
:lang="props.currentLang"
|
|
44
43
|
class="chart-option-setting-row custom-time-input"
|
|
45
44
|
test-id="overview-first-date-datepicker"
|
|
46
45
|
@update="onUpdateDateFrom"
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
/>
|
|
47
|
+
</div>
|
|
48
|
+
<input
|
|
50
49
|
id="current-time-from"
|
|
51
50
|
v-model="currentTimeFrom"
|
|
52
51
|
data-id="current-time-from-input"
|
|
53
52
|
type="text"
|
|
54
53
|
class="chart-option-setting-row custom-time-input"
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
54
|
+
/>
|
|
55
|
+
</div>
|
|
56
|
+
</td>
|
|
57
|
+
</tr>
|
|
58
|
+
<tr>
|
|
59
|
+
<td class="text-right">
|
|
60
|
+
<label class="custom-time-label">
|
|
62
61
|
<span class="custom-time-label-text text-capitalize">
|
|
63
62
|
{{ localization.common.to }}:
|
|
64
63
|
</span>
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
64
|
+
</label>
|
|
65
|
+
</td>
|
|
66
|
+
<td>
|
|
67
|
+
<div class="flex-align-center input-row-container">
|
|
68
|
+
<input
|
|
70
69
|
id="current-date-to"
|
|
71
70
|
v-model.lazy="currentDateTo"
|
|
72
71
|
data-id="current-date-to-input"
|
|
73
72
|
type="text"
|
|
74
73
|
class="chart-option-setting-row custom-time-input first-from"
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
74
|
+
/>
|
|
75
|
+
<div class="section-datepicker">
|
|
76
|
+
<atoms-datepicker
|
|
78
77
|
v-model="dateTo"
|
|
79
78
|
:lang="props.currentLang"
|
|
80
79
|
class="chart-option-setting-row custom-time-input"
|
|
81
80
|
test-id="overview-first-date-to-datepicker"
|
|
82
81
|
@update="onUpdateDateTo"
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
82
|
+
/>
|
|
83
|
+
</div>
|
|
84
|
+
<input
|
|
86
85
|
id="current-time-to"
|
|
87
86
|
v-model="currentTimeTo"
|
|
88
87
|
data-id="current-time-to-input"
|
|
89
88
|
type="text"
|
|
90
89
|
class="chart-option-setting-row custom-time-input"
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
90
|
+
/>
|
|
91
|
+
</div>
|
|
92
|
+
</td>
|
|
93
|
+
</tr>
|
|
94
|
+
<tr>
|
|
95
|
+
<td></td>
|
|
96
|
+
<td class="text-format-date">
|
|
97
|
+
({{ localization.inventoryMonitor.dateTimeIsoFormat }})
|
|
98
|
+
</td>
|
|
99
|
+
</tr>
|
|
101
100
|
</tbody>
|
|
102
101
|
</table>
|
|
103
102
|
</template>
|
|
@@ -124,7 +123,7 @@ const props = defineProps<{
|
|
|
124
123
|
|
|
125
124
|
const emits = defineEmits<{
|
|
126
125
|
(event: 'hide'): void
|
|
127
|
-
(event: 'submit'
|
|
126
|
+
(event: 'submit'): void
|
|
128
127
|
(event: 'update-date-from', value: any): void
|
|
129
128
|
(event: 'update-date-to', value: any): void
|
|
130
129
|
}>()
|
|
@@ -137,6 +136,13 @@ const onUpdateDateFrom = (event: any): void => {
|
|
|
137
136
|
const onUpdateDateTo = (event: any): void => {
|
|
138
137
|
emits('update-date-to', event)
|
|
139
138
|
}
|
|
139
|
+
|
|
140
|
+
const onSubmit = (): void => {
|
|
141
|
+
emits('submit')
|
|
142
|
+
}
|
|
143
|
+
const onHide = (): void => {
|
|
144
|
+
emits('hide')
|
|
145
|
+
}
|
|
140
146
|
</script>
|
|
141
147
|
|
|
142
148
|
<style scoped lang="scss">
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bfg-common",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.4.
|
|
4
|
+
"version": "1.4.817",
|
|
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.17",
|
|
38
|
-
"bfg-uikit": "1.0.
|
|
38
|
+
"bfg-uikit": "1.0.338",
|
|
39
39
|
"html2canvas": "^1.4.1",
|
|
40
40
|
"prettier-eslint": "^15.0.1"
|
|
41
41
|
}
|