bfg-common 1.4.791 → 1.4.792

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 (171) 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/scss/common/normalize.scss +361 -361
  6. package/components/atoms/TheIcon3.vue +50 -50
  7. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  8. package/components/atoms/stack/StackBlock.vue +185 -185
  9. package/components/atoms/table/dataGrid/DataGrid.vue +1704 -1704
  10. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  11. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  12. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  13. package/components/common/browse/BrowseNew.vue +237 -237
  14. package/components/common/browse/BrowseOld.vue +217 -217
  15. package/components/common/browse/blocks/contents/Files.vue +37 -37
  16. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  17. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  18. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  19. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  20. package/components/common/browse/lib/models/interfaces.ts +5 -5
  21. package/components/common/context/Context.vue +111 -111
  22. package/components/common/context/lib/models/interfaces.ts +30 -30
  23. package/components/common/context/recursion/Recursion.vue +87 -87
  24. package/components/common/context/recursion/RecursionNew.vue +237 -237
  25. package/components/common/context/recursion/RecursionOld.vue +227 -227
  26. package/components/common/details/DetailsItem.vue +109 -109
  27. package/components/common/diagramMain/Header.vue +211 -211
  28. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  29. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  30. package/components/common/diagramMain/lib/models/types.ts +21 -21
  31. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  32. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +330 -330
  33. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -40
  34. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +497 -497
  35. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +812 -812
  36. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
  37. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
  38. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
  39. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
  40. package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +398 -398
  41. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
  42. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +205 -205
  43. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +23 -23
  44. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  45. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  46. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
  47. package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
  48. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  49. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
  50. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  51. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  52. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  53. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  54. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  55. package/components/common/diagramMain/port/Ports.vue +47 -47
  56. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  57. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  58. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +151 -151
  59. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +300 -300
  60. package/components/common/modals/confirmByInput/ConfirmByInput.vue +206 -206
  61. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  62. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +250 -250
  63. package/components/common/pages/home/StatusContent.vue +49 -49
  64. package/components/common/pages/home/headline/Headline.vue +45 -45
  65. package/components/common/pages/home/headline/HeadlineNew.vue +71 -71
  66. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  67. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  68. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  69. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  70. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  71. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  72. package/components/common/pages/home/widgets/hosts/HostsNew.vue +100 -100
  73. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  74. package/components/common/pages/home/widgets/services/lib/config/config.ts +108 -108
  75. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  76. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  77. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  78. package/components/common/pages/packages/Packages.vue +208 -208
  79. package/components/common/pages/tasks/Tasks.vue +1 -0
  80. package/components/common/pages/tasks/table/Table.vue +326 -293
  81. package/components/common/pages/tasks/table/errorInfo/ErrorInfo.vue +17 -4
  82. package/components/common/pages/tasks/table/expandDetails/ExpandDetails.vue +12 -0
  83. package/components/common/pages/tasks/table/lib/config/config.ts +5 -5
  84. package/components/common/recursionTree/RecursionTree.vue +223 -223
  85. package/components/common/select/button/ButtonDropdown.vue +108 -108
  86. package/components/common/spiceConsole/Drawer.vue +370 -370
  87. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  88. package/components/common/split/horizontal/HorizontalNew.vue +376 -376
  89. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  90. package/components/common/split/vertical/Vertical.vue +160 -160
  91. package/components/common/vm/actions/add/Add.vue +621 -621
  92. package/components/common/vm/actions/clone/Clone.vue +639 -639
  93. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  94. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +271 -271
  95. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +271 -271
  96. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +174 -174
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +161 -161
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +165 -165
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +357 -357
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +281 -281
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +84 -84
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +81 -81
  128. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  130. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  131. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  132. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  133. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  134. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  135. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  136. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  137. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  138. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  139. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  140. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  141. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  142. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  143. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  144. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  145. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  146. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  147. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  148. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  149. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  150. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  151. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  152. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  153. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  154. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  155. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  156. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  157. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  158. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  159. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  160. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  161. package/components/common/wizards/vm/migrate/Migrate.vue +288 -288
  162. package/composables/productNameLocal.ts +30 -30
  163. package/composables/useAppVersion.ts +21 -21
  164. package/package.json +2 -2
  165. package/plugins/date.ts +233 -233
  166. package/plugins/recursion.ts +311 -311
  167. package/public/spice-console/lib/images/bitmap.js +203 -203
  168. package/public/spice-console/network/spicechannel.js +383 -383
  169. package/store/main/mutations.ts +7 -7
  170. package/store/main/state.ts +7 -7
  171. 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>