bfg-common 1.4.778 → 1.4.779

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 (138) hide show
  1. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  2. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  3. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  4. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  5. package/assets/localization/local_be.json +1 -1
  6. package/assets/localization/local_en.json +1 -1
  7. package/assets/localization/local_hy.json +1 -1
  8. package/assets/localization/local_kk.json +1 -1
  9. package/assets/localization/local_ru.json +1 -1
  10. package/assets/localization/local_zh.json +1 -1
  11. package/assets/scss/clarity/local_ar.json +1 -1
  12. package/assets/scss/common/normalize.scss +361 -361
  13. package/components/atoms/TheIcon3.vue +50 -50
  14. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  15. package/components/atoms/stack/StackBlock.vue +185 -185
  16. package/components/atoms/table/dataGrid/DataGrid.vue +1703 -1703
  17. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  18. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +91 -91
  19. package/components/common/browse/BrowseNew.vue +237 -237
  20. package/components/common/browse/BrowseOld.vue +217 -217
  21. package/components/common/browse/blocks/contents/Files.vue +37 -37
  22. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  23. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  24. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  25. package/components/common/context/Context.vue +111 -111
  26. package/components/common/context/lib/models/interfaces.ts +30 -30
  27. package/components/common/context/recursion/Recursion.vue +87 -87
  28. package/components/common/context/recursion/RecursionNew.vue +237 -237
  29. package/components/common/context/recursion/RecursionOld.vue +227 -227
  30. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  31. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  32. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +151 -151
  33. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +300 -300
  34. package/components/common/modals/confirmByInput/ConfirmByInput.vue +206 -206
  35. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  36. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +250 -250
  37. package/components/common/pages/home/StatusContent.vue +49 -49
  38. package/components/common/pages/home/headline/Headline.vue +44 -44
  39. package/components/common/pages/home/headline/HeadlineNew.vue +71 -71
  40. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  41. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  42. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  43. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  44. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  45. package/components/common/pages/home/widgets/hosts/HostsNew.vue +100 -100
  46. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  47. package/components/common/pages/home/widgets/services/lib/config/config.ts +108 -108
  48. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  49. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  50. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  51. package/components/common/pages/packages/Packages.vue +208 -208
  52. package/components/common/recursionTree/RecursionTree.vue +223 -223
  53. package/components/common/select/button/ButtonDropdown.vue +108 -108
  54. package/components/common/spiceConsole/Drawer.vue +370 -370
  55. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  56. package/components/common/split/horizontal/HorizontalNew.vue +376 -376
  57. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  58. package/components/common/split/vertical/Vertical.vue +160 -160
  59. package/components/common/vm/actions/add/Add.vue +621 -621
  60. package/components/common/vm/actions/clone/Clone.vue +639 -639
  61. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  62. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +271 -271
  63. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +271 -271
  64. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +174 -174
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +161 -161
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +165 -165
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +357 -357
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +281 -281
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +84 -84
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +81 -81
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  102. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  103. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  104. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  105. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  106. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  107. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  108. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  109. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  110. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  111. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  112. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  113. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  114. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  115. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  116. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  117. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  118. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  119. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  120. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  121. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  122. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  123. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  124. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  125. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  126. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  127. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  128. package/composables/productNameLocal.ts +30 -30
  129. package/composables/useAppVersion.ts +21 -21
  130. package/package.json +1 -1
  131. package/plugins/date.ts +233 -233
  132. package/plugins/recursion.ts +311 -311
  133. package/public/spice-console/lib/images/bitmap.js +203 -203
  134. package/public/spice-console/network/spicechannel.js +383 -383
  135. package/public/spice-console-minify/run.min.js +4 -4
  136. package/store/main/mutations.ts +7 -7
  137. package/store/main/state.ts +7 -7
  138. package/store/tasks/mappers/recentTasks.ts +64 -64
@@ -1,250 +1,250 @@
1
- <template>
2
- <atoms-modal
3
- width="580px"
4
- class="add-permission"
5
- :show="true"
6
- :title="titleIntervalModal"
7
- :second-title="selectedItem"
8
- test-id="overview-custom-interval-modal"
9
- @hide="onHide"
10
- @submit="onSubmit"
11
- >
12
- <template #modalBody>
13
- <atoms-alert
14
- v-show="alertShow"
15
- status="alert-danger"
16
- :items="alertItems"
17
- test-id="overview-alert"
18
- @remove="alertShow = false"
19
- />
20
-
21
- <table>
22
- <tbody>
23
- <tr>
24
- <td class="text-right">
25
- <label class="custom-time-label">
26
- <span class="custom-time-label-text text-capitalize">
27
- {{ localization.common.from }}:
28
- </span>
29
- </label>
30
- </td>
31
- <td>
32
- <div class="flex-align-center input-row-container">
33
- <input
34
- id="current-date-from"
35
- v-model.lazy="currentDateFrom"
36
- data-id="current-date-from-input"
37
- type="text"
38
- class="chart-option-setting-row custom-time-input first-from"
39
- />
40
- <div class="section-datepicker">
41
- <atoms-datepicker
42
- v-model="dateFrom"
43
- :lang="props.currentLang"
44
- class="chart-option-setting-row custom-time-input"
45
- test-id="overview-first-date-datepicker"
46
- @update="onUpdateDateFrom"
47
- />
48
- </div>
49
- <input
50
- id="current-time-from"
51
- v-model="currentTimeFrom"
52
- data-id="current-time-from-input"
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>
103
- </template>
104
- </atoms-modal>
105
- </template>
106
-
107
- <script setup lang="ts">
108
- import { format } from 'date-fns'
109
- import type { UI_I_Localization } from '~/lib/models/interfaces'
110
- import { checkDateFunc } from '~/components/common/monitor/overview/filters/customIntervalModal/lib/config/dateChecker'
111
-
112
- const props = defineProps<{
113
- formatDate: string
114
- selectedPeriods: number[]
115
- currentLang: string
116
- validDateEnd: number
117
- }>()
118
-
119
- const emits = defineEmits<{
120
- (event: 'hide'): void
121
- (event: 'submit', value: number[]): void
122
- }>()
123
-
124
- const { $formattedDate, $formattedTime, $isDate, $getUnixByDate } = useNuxtApp()
125
-
126
- const localization = computed<UI_I_Localization>(() => useLocal())
127
-
128
- const titleIntervalModal = ref<string>(
129
- `${localization.value.common.timeRange}:`
130
- )
131
-
132
- const selectedItem = ref<string>('')
133
-
134
- const onHide = (): void => {
135
- getCurrentTime()
136
- emits('hide')
137
- }
138
-
139
- const yesterday = new Date().setDate(new Date().getDate() - 1)
140
- const dateFrom = ref<number>(yesterday)
141
- const dateTo = ref<number>(new Date().getTime())
142
-
143
- const currentDateFrom = ref<string>('')
144
- const currentDateTo = ref<string>('')
145
- const currentTimeFrom = ref<string>('')
146
- const currentTimeTo = ref<string>('')
147
-
148
- const getCurrentTime = (): void => {
149
- if (!props.selectedPeriods.length) {
150
- currentDateFrom.value = $formattedDate(yesterday, props.formatDate)
151
- currentDateTo.value = $formattedDate(props.validDateEnd, props.formatDate)
152
-
153
- currentTimeFrom.value = format(new Date(), 'H:mm:ss')
154
- currentTimeTo.value = format(props.validDateEnd, 'H:mm:ss')
155
-
156
- return
157
- }
158
-
159
- currentDateFrom.value = $formattedDate(
160
- props.selectedPeriods[0],
161
- props.formatDate
162
- )
163
- currentDateTo.value = $formattedDate(
164
- props.selectedPeriods[1],
165
- props.formatDate
166
- )
167
- currentTimeFrom.value = $formattedTime(props.selectedPeriods[0], '', true)
168
- currentTimeTo.value = $formattedTime(props.selectedPeriods[1], '', true)
169
- }
170
-
171
- const onUpdateDateFrom = (val: number): void => {
172
- if (!val) return
173
-
174
- currentDateFrom.value = $formattedDate(new Date(val), props.formatDate)
175
- }
176
- watch(currentDateFrom, (newValue) => {
177
- if (!newValue) return
178
-
179
- if ($isDate(newValue)) dateFrom.value = $getUnixByDate(newValue)
180
- })
181
-
182
- const onUpdateDateTo = (val: number): void => {
183
- if (!val) return
184
-
185
- currentDateTo.value = $formattedDate(new Date(val), props.formatDate)
186
- }
187
- watch(currentDateTo, (newValue) => {
188
- if (!newValue) return
189
-
190
- if ($isDate(newValue)) dateTo.value = $getUnixByDate(newValue)
191
- })
192
-
193
- const alertShow = ref<boolean>(false)
194
- const alertItems = ref<string[]>([])
195
-
196
- const onSubmit = (): void => {
197
- alertItems.value = []
198
- alertShow.value = false
199
-
200
- if (!dateFrom.value || !dateTo.value) return
201
-
202
- const result = checkDateFunc(
203
- localization.value,
204
- currentDateFrom.value,
205
- currentDateTo.value,
206
- currentTimeFrom.value,
207
- currentTimeTo.value,
208
- props.validDateEnd,
209
- props.formatDate
210
- )
211
-
212
- if (typeof result === 'string') {
213
- alertShow.value = true
214
- alertItems.value.push(result)
215
- return
216
- }
217
-
218
- emits('submit', [result[0], result[1]])
219
- onHide()
220
- }
221
-
222
- watch(
223
- () => [props.selectedPeriods, props.currentLang],
224
- (): void => {
225
- getCurrentTime()
226
- },
227
- { deep: true }
228
- )
229
-
230
- onMounted(() => {
231
- selectedItem.value = location.hostname
232
- getCurrentTime()
233
- onSubmit()
234
- })
235
- </script>
236
-
237
- <style scoped lang="scss">
238
- .input-row-container {
239
- padding-left: 5px;
240
-
241
- .custom-time-input {
242
- max-width: 120px;
243
- margin-right: 15px;
244
- }
245
- }
246
- .text-format-date {
247
- display: inline-block;
248
- margin-top: 5px;
249
- }
250
- </style>
1
+ <template>
2
+ <atoms-modal
3
+ width="580px"
4
+ class="add-permission"
5
+ :show="true"
6
+ :title="titleIntervalModal"
7
+ :second-title="selectedItem"
8
+ test-id="overview-custom-interval-modal"
9
+ @hide="onHide"
10
+ @submit="onSubmit"
11
+ >
12
+ <template #modalBody>
13
+ <atoms-alert
14
+ v-show="alertShow"
15
+ status="alert-danger"
16
+ :items="alertItems"
17
+ test-id="overview-alert"
18
+ @remove="alertShow = false"
19
+ />
20
+
21
+ <table>
22
+ <tbody>
23
+ <tr>
24
+ <td class="text-right">
25
+ <label class="custom-time-label">
26
+ <span class="custom-time-label-text text-capitalize">
27
+ {{ localization.common.from }}:
28
+ </span>
29
+ </label>
30
+ </td>
31
+ <td>
32
+ <div class="flex-align-center input-row-container">
33
+ <input
34
+ id="current-date-from"
35
+ v-model.lazy="currentDateFrom"
36
+ data-id="current-date-from-input"
37
+ type="text"
38
+ class="chart-option-setting-row custom-time-input first-from"
39
+ />
40
+ <div class="section-datepicker">
41
+ <atoms-datepicker
42
+ v-model="dateFrom"
43
+ :lang="props.currentLang"
44
+ class="chart-option-setting-row custom-time-input"
45
+ test-id="overview-first-date-datepicker"
46
+ @update="onUpdateDateFrom"
47
+ />
48
+ </div>
49
+ <input
50
+ id="current-time-from"
51
+ v-model="currentTimeFrom"
52
+ data-id="current-time-from-input"
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>
103
+ </template>
104
+ </atoms-modal>
105
+ </template>
106
+
107
+ <script setup lang="ts">
108
+ import { format } from 'date-fns'
109
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
110
+ import { checkDateFunc } from '~/components/common/monitor/overview/filters/customIntervalModal/lib/config/dateChecker'
111
+
112
+ const props = defineProps<{
113
+ formatDate: string
114
+ selectedPeriods: number[]
115
+ currentLang: string
116
+ validDateEnd: number
117
+ }>()
118
+
119
+ const emits = defineEmits<{
120
+ (event: 'hide'): void
121
+ (event: 'submit', value: number[]): void
122
+ }>()
123
+
124
+ const { $formattedDate, $formattedTime, $isDate, $getUnixByDate } = useNuxtApp()
125
+
126
+ const localization = computed<UI_I_Localization>(() => useLocal())
127
+
128
+ const titleIntervalModal = ref<string>(
129
+ `${localization.value.common.timeRange}:`
130
+ )
131
+
132
+ const selectedItem = ref<string>('')
133
+
134
+ const onHide = (): void => {
135
+ getCurrentTime()
136
+ emits('hide')
137
+ }
138
+
139
+ const yesterday = new Date().setDate(new Date().getDate() - 1)
140
+ const dateFrom = ref<number>(yesterday)
141
+ const dateTo = ref<number>(new Date().getTime())
142
+
143
+ const currentDateFrom = ref<string>('')
144
+ const currentDateTo = ref<string>('')
145
+ const currentTimeFrom = ref<string>('')
146
+ const currentTimeTo = ref<string>('')
147
+
148
+ const getCurrentTime = (): void => {
149
+ if (!props.selectedPeriods.length) {
150
+ currentDateFrom.value = $formattedDate(yesterday, props.formatDate)
151
+ currentDateTo.value = $formattedDate(props.validDateEnd, props.formatDate)
152
+
153
+ currentTimeFrom.value = format(new Date(), 'H:mm:ss')
154
+ currentTimeTo.value = format(props.validDateEnd, 'H:mm:ss')
155
+
156
+ return
157
+ }
158
+
159
+ currentDateFrom.value = $formattedDate(
160
+ props.selectedPeriods[0],
161
+ props.formatDate
162
+ )
163
+ currentDateTo.value = $formattedDate(
164
+ props.selectedPeriods[1],
165
+ props.formatDate
166
+ )
167
+ currentTimeFrom.value = $formattedTime(props.selectedPeriods[0], '', true)
168
+ currentTimeTo.value = $formattedTime(props.selectedPeriods[1], '', true)
169
+ }
170
+
171
+ const onUpdateDateFrom = (val: number): void => {
172
+ if (!val) return
173
+
174
+ currentDateFrom.value = $formattedDate(new Date(val), props.formatDate)
175
+ }
176
+ watch(currentDateFrom, (newValue) => {
177
+ if (!newValue) return
178
+
179
+ if ($isDate(newValue)) dateFrom.value = $getUnixByDate(newValue)
180
+ })
181
+
182
+ const onUpdateDateTo = (val: number): void => {
183
+ if (!val) return
184
+
185
+ currentDateTo.value = $formattedDate(new Date(val), props.formatDate)
186
+ }
187
+ watch(currentDateTo, (newValue) => {
188
+ if (!newValue) return
189
+
190
+ if ($isDate(newValue)) dateTo.value = $getUnixByDate(newValue)
191
+ })
192
+
193
+ const alertShow = ref<boolean>(false)
194
+ const alertItems = ref<string[]>([])
195
+
196
+ const onSubmit = (): void => {
197
+ alertItems.value = []
198
+ alertShow.value = false
199
+
200
+ if (!dateFrom.value || !dateTo.value) return
201
+
202
+ const result = checkDateFunc(
203
+ localization.value,
204
+ currentDateFrom.value,
205
+ currentDateTo.value,
206
+ currentTimeFrom.value,
207
+ currentTimeTo.value,
208
+ props.validDateEnd,
209
+ props.formatDate
210
+ )
211
+
212
+ if (typeof result === 'string') {
213
+ alertShow.value = true
214
+ alertItems.value.push(result)
215
+ return
216
+ }
217
+
218
+ emits('submit', [result[0], result[1]])
219
+ onHide()
220
+ }
221
+
222
+ watch(
223
+ () => [props.selectedPeriods, props.currentLang],
224
+ (): void => {
225
+ getCurrentTime()
226
+ },
227
+ { deep: true }
228
+ )
229
+
230
+ onMounted(() => {
231
+ selectedItem.value = location.hostname
232
+ getCurrentTime()
233
+ onSubmit()
234
+ })
235
+ </script>
236
+
237
+ <style scoped lang="scss">
238
+ .input-row-container {
239
+ padding-left: 5px;
240
+
241
+ .custom-time-input {
242
+ max-width: 120px;
243
+ margin-right: 15px;
244
+ }
245
+ }
246
+ .text-format-date {
247
+ display: inline-block;
248
+ margin-top: 5px;
249
+ }
250
+ </style>
@@ -1,49 +1,49 @@
1
- <template>
2
- <div class="entity-status-content">
3
- <div v-for="(text, value) in props.items" :key="value" class="item">
4
- <h3 class="entity-status-item-value">
5
- {{ text }}
6
- </h3>
7
- <div class="entity-status-item-status">
8
- {{ localization.common[value] }}
9
- </div>
10
- </div>
11
- </div>
12
- </template>
13
-
14
- <script setup lang="ts">
15
- import type { UI_I_Localization } from '~/lib/models/interfaces'
16
- import type { UI_I_Hosts } from '~/components/common/pages/home/lib/models/interfaces'
17
-
18
- const props = defineProps<{
19
- items: UI_I_Hosts
20
- }>()
21
- const localization = computed<UI_I_Localization>(() => useLocal())
22
- </script>
23
-
24
- <style scoped lang="scss">
25
- .entity-status-content {
26
- display: flex;
27
- justify-content: space-around;
28
- align-items: center;
29
- min-height: 100px;
30
-
31
- .item {
32
- display: flex;
33
- flex-direction: column;
34
- justify-content: center;
35
- align-items: center;
36
- color: inherit;
37
- background-color: inherit;
38
-
39
- .entity-status-item-value {
40
- font-size: 22px;
41
- font-weight: 200;
42
- }
43
- .entity-status-item-status {
44
- font-size: 13px;
45
- margin-top: 5px;
46
- }
47
- }
48
- }
49
- </style>
1
+ <template>
2
+ <div class="entity-status-content">
3
+ <div v-for="(text, value) in props.items" :key="value" class="item">
4
+ <h3 class="entity-status-item-value">
5
+ {{ text }}
6
+ </h3>
7
+ <div class="entity-status-item-status">
8
+ {{ localization.common[value] }}
9
+ </div>
10
+ </div>
11
+ </div>
12
+ </template>
13
+
14
+ <script setup lang="ts">
15
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
16
+ import type { UI_I_Hosts } from '~/components/common/pages/home/lib/models/interfaces'
17
+
18
+ const props = defineProps<{
19
+ items: UI_I_Hosts
20
+ }>()
21
+ const localization = computed<UI_I_Localization>(() => useLocal())
22
+ </script>
23
+
24
+ <style scoped lang="scss">
25
+ .entity-status-content {
26
+ display: flex;
27
+ justify-content: space-around;
28
+ align-items: center;
29
+ min-height: 100px;
30
+
31
+ .item {
32
+ display: flex;
33
+ flex-direction: column;
34
+ justify-content: center;
35
+ align-items: center;
36
+ color: inherit;
37
+ background-color: inherit;
38
+
39
+ .entity-status-item-value {
40
+ font-size: 22px;
41
+ font-weight: 200;
42
+ }
43
+ .entity-status-item-status {
44
+ font-size: 13px;
45
+ margin-top: 5px;
46
+ }
47
+ }
48
+ }
49
+ </style>