bfg-common 1.4.846 → 1.4.847

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 (181) 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/autocomplete/Autocomplete.vue +300 -300
  8. package/components/atoms/collapse/CollapseNav.vue +164 -164
  9. package/components/atoms/dropdown/dropdown/Dropdown.vue +168 -168
  10. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  11. package/components/atoms/stack/StackBlock.vue +185 -185
  12. package/components/atoms/table/dataGrid/DataGrid.vue +1704 -1704
  13. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  14. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  15. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  16. package/components/common/browse/BrowseNew.vue +237 -237
  17. package/components/common/browse/BrowseOld.vue +217 -217
  18. package/components/common/browse/blocks/contents/Files.vue +37 -37
  19. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  20. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  21. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  22. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  23. package/components/common/browse/lib/models/interfaces.ts +5 -5
  24. package/components/common/context/Context.vue +111 -111
  25. package/components/common/context/lib/models/interfaces.ts +30 -30
  26. package/components/common/context/recursion/Recursion.vue +87 -87
  27. package/components/common/context/recursion/RecursionNew.vue +237 -237
  28. package/components/common/context/recursion/RecursionOld.vue +227 -227
  29. package/components/common/details/DetailsItem.vue +109 -109
  30. package/components/common/diagramMain/Header.vue +211 -211
  31. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  32. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  33. package/components/common/diagramMain/lib/models/types.ts +21 -21
  34. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  35. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +330 -330
  36. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -40
  37. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +497 -497
  38. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +812 -812
  39. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
  40. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
  41. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
  42. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
  43. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
  44. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +205 -205
  45. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +23 -23
  46. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  47. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  48. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
  49. package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
  50. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  51. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
  52. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  53. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  54. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  55. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  56. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  57. package/components/common/diagramMain/port/Ports.vue +47 -47
  58. package/components/common/graph/Graph.vue +104 -104
  59. package/components/common/graph/GraphOld.vue +31 -31
  60. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  61. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  62. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  63. package/components/common/monitor/overview/Overview.vue +221 -221
  64. package/components/common/monitor/overview/OverviewNew.vue +142 -142
  65. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  66. package/components/common/monitor/overview/filters/Filters.vue +166 -166
  67. package/components/common/monitor/overview/filters/FiltersNew.vue +172 -172
  68. package/components/common/monitor/overview/filters/FiltersOld.vue +151 -151
  69. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +175 -175
  70. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModalNew.vue +181 -181
  71. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModalOld.vue +161 -161
  72. package/components/common/pages/home/StatusContent.vue +49 -49
  73. package/components/common/pages/home/headline/Headline.vue +45 -45
  74. package/components/common/pages/home/headline/HeadlineNew.vue +71 -71
  75. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  76. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  77. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  78. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  79. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  80. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  81. package/components/common/pages/home/widgets/hosts/HostsNew.vue +100 -100
  82. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  83. package/components/common/pages/home/widgets/services/lib/config/config.ts +108 -108
  84. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  85. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  86. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  87. package/components/common/pages/packages/Packages.vue +208 -208
  88. package/components/common/pages/tasks/table/errorInfo/ErrorInfo.vue +8 -3
  89. package/components/common/pages/tasks/table/expandDetails/ExpandDetails.vue +1 -0
  90. package/components/common/pages/tasks/table/lib/config/config.ts +1 -0
  91. package/components/common/recursionTree/RecursionTree.vue +223 -223
  92. package/components/common/select/button/ButtonDropdown.vue +108 -108
  93. package/components/common/spiceConsole/Drawer.vue +370 -370
  94. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  95. package/components/common/split/horizontal/HorizontalNew.vue +376 -376
  96. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  97. package/components/common/split/vertical/Vertical.vue +160 -160
  98. package/components/common/vm/actions/add/Add.vue +621 -621
  99. package/components/common/vm/actions/clone/Clone.vue +639 -639
  100. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  101. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +271 -271
  102. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +271 -271
  103. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +174 -174
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +694 -694
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +161 -161
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +165 -165
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +364 -364
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +229 -229
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +247 -247
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +283 -283
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  128. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  130. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  131. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +84 -84
  132. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  133. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  134. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  135. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  136. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  137. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +81 -81
  138. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  139. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  140. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  141. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  142. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  143. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  144. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  145. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  146. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  147. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  148. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  149. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  150. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  151. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  152. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  153. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  154. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  155. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  156. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  157. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  158. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  159. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  160. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  161. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  162. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  163. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  164. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  165. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  166. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  167. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  168. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  169. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  170. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  171. package/components/common/wizards/vm/migrate/Migrate.vue +288 -288
  172. package/composables/productNameLocal.ts +30 -30
  173. package/composables/useAppVersion.ts +21 -21
  174. package/package.json +2 -2
  175. package/plugins/date.ts +233 -233
  176. package/plugins/recursion.ts +311 -311
  177. package/public/spice-console/lib/images/bitmap.js +203 -203
  178. package/public/spice-console/network/spicechannel.js +383 -383
  179. package/store/main/mutations.ts +7 -7
  180. package/store/main/state.ts +7 -7
  181. package/store/tasks/mappers/recentTasks.ts +64 -64
@@ -1,166 +1,166 @@
1
- <template>
2
- <common-monitor-overview-filters-new
3
- v-if="isNewView"
4
- v-model:selected-period="selectedPeriod"
5
- v-model:selected-view="selectedView"
6
- :disabled-period-options="disabledPeriodOptions"
7
- :period-options="periodOptions"
8
- :is-show-custom-interval-button="isShowCustomIntervalButton"
9
- :chart-title-date="chartTitleDate"
10
- :view-options="viewOptions"
11
- :valid-date-end="props.validDateEnd"
12
- :is-show-interval-modal="isShowIntervalModal"
13
- :selected-periods="props.selectedPeriods"
14
- :format-date="props.formatDate"
15
- :current-lang="props.currentLang"
16
- @submit-interval-modal="onSubmitIntervalModal"
17
- @show-interval-modal="onShowIntervalModal"
18
- @hide-interval-modal="onHideIntervalModal"
19
- />
20
- <common-monitor-overview-filters-old
21
- v-else
22
- v-model:selected-period="selectedPeriod"
23
- v-model:selected-view="selectedView"
24
- :disabled-period-options="disabledPeriodOptions"
25
- :period-options="periodOptions"
26
- :is-show-custom-interval-button="isShowCustomIntervalButton"
27
- :chart-title-date="chartTitleDate"
28
- :view-options="viewOptions"
29
- :valid-date-end="props.validDateEnd"
30
- :is-show-interval-modal="isShowIntervalModal"
31
- :selected-periods="props.selectedPeriods"
32
- :format-date="props.formatDate"
33
- :current-lang="props.currentLang"
34
- @submit-interval-modal="onSubmitIntervalModal"
35
- @show-interval-modal="onShowIntervalModal"
36
- @hide-interval-modal="onHideIntervalModal"
37
- />
38
- </template>
39
-
40
- <script setup lang="ts">
41
- import type { UI_I_Localization } from '~/lib/models/interfaces'
42
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
43
- import type { UI_I_MonitorGraphPayload } from '~/components/common/monitor/lib/models/interfaces'
44
- import type { UI_T_OverviewViewType } from '~/components/common/monitor/overview/filters/lib/models/types'
45
- import {
46
- periodFunc,
47
- viewFunc,
48
- } from '~/components/common/monitor/overview/filters/lib/config/filterOptions'
49
- import { getValidDateByOptionFunc } from '~/components/common/monitor/lib/config/getValidDateByOption'
50
-
51
- const { $formattedDatetime, $store }: any = useNuxtApp()
52
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
53
-
54
- const props = defineProps<{
55
- startDate: number
56
- endDate: number
57
- chartType: 'spline' | 'pie'
58
- view: UI_T_OverviewViewType
59
- selectedPeriods: number[]
60
- formatDate: string
61
- currentLang: string
62
- validDateEnd: number
63
- formatTime?: string
64
- }>()
65
-
66
- const emits = defineEmits<{
67
- (event: 'update-filters', value: UI_I_MonitorGraphPayload): void
68
- (event: 'update-custom-date', value: number[]): void
69
- }>()
70
-
71
- const localization = computed<UI_I_Localization>(() => useLocal())
72
-
73
- const selectedPeriod = ref<string>('')
74
- const periodOptions = computed<UI_I_OptionItem[]>(() =>
75
- periodFunc(localization.value)
76
- )
77
- watch(
78
- () => periodOptions.value,
79
- (newValue: UI_I_OptionItem[]) => {
80
- if (newValue) selectedPeriod.value = newValue[0].value
81
- },
82
- { immediate: true }
83
- )
84
-
85
- const isShowCustomIntervalButton = computed<boolean>(
86
- () => selectedPeriod.value === 'custom_interval'
87
- )
88
-
89
- const isShowIntervalModal = ref<boolean>(false)
90
- const onShowIntervalModal = (): void => {
91
- isShowIntervalModal.value = true
92
- }
93
- const onHideIntervalModal = (): void => {
94
- isShowIntervalModal.value = false
95
- }
96
- const onSubmitIntervalModal = (customDates: number[]): void => {
97
- customDatesData.value = customDates
98
- sendUpdatedFilters()
99
- onHideIntervalModal()
100
- emits('update-custom-date', customDates)
101
- }
102
-
103
- const chartTitleDate = computed<string>(() => {
104
- const startValue = props.startDate
105
- const endValue = props.endDate
106
- if (!startValue && !endValue) return ''
107
-
108
- const start = $formattedDatetime(
109
- startValue,
110
- props.formatDate,
111
- true,
112
- '',
113
- props.formatTime
114
- )
115
- const end = $formattedDatetime(
116
- endValue,
117
- props.formatDate,
118
- true,
119
- '',
120
- props.formatTime
121
- )
122
- return `${start} - ${end}`
123
- })
124
-
125
- // const disabledPeriodOptions = computed<boolean>(
126
- // () => props.chartType === 'pie' || !chartTitleDate.value
127
- // )
128
-
129
- const disabledPeriodOptions = computed<boolean>(() => props.chartType === 'pie')
130
-
131
- const selectedView = ref<string>('')
132
- const viewOptions = computed<UI_I_OptionItem[]>(() =>
133
- viewFunc(localization.value, props.view)
134
- )
135
- watch(
136
- () => viewOptions.value,
137
- (newValue: UI_I_OptionItem[]) => {
138
- if (newValue) selectedView.value = newValue[0].value
139
- },
140
- { immediate: true }
141
- )
142
-
143
- const customDatesData = ref<number[]>([])
144
- const sendUpdatedFilters = (): void => {
145
- const currentPeriod =
146
- selectedPeriod.value === 'custom_interval'
147
- ? customDatesData.value
148
- : getValidDateByOptionFunc(selectedPeriod.value)
149
- const filters: UI_I_MonitorGraphPayload = {
150
- period: currentPeriod,
151
- view: selectedView.value,
152
- periodName: selectedPeriod.value,
153
- }
154
-
155
- emits('update-filters', filters)
156
- }
157
- watch(
158
- () => [selectedPeriod.value, selectedView.value],
159
- () => {
160
- sendUpdatedFilters()
161
- },
162
- { immediate: true }
163
- )
164
- </script>
165
-
166
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <common-monitor-overview-filters-new
3
+ v-if="isNewView"
4
+ v-model:selected-period="selectedPeriod"
5
+ v-model:selected-view="selectedView"
6
+ :disabled-period-options="disabledPeriodOptions"
7
+ :period-options="periodOptions"
8
+ :is-show-custom-interval-button="isShowCustomIntervalButton"
9
+ :chart-title-date="chartTitleDate"
10
+ :view-options="viewOptions"
11
+ :valid-date-end="props.validDateEnd"
12
+ :is-show-interval-modal="isShowIntervalModal"
13
+ :selected-periods="props.selectedPeriods"
14
+ :format-date="props.formatDate"
15
+ :current-lang="props.currentLang"
16
+ @submit-interval-modal="onSubmitIntervalModal"
17
+ @show-interval-modal="onShowIntervalModal"
18
+ @hide-interval-modal="onHideIntervalModal"
19
+ />
20
+ <common-monitor-overview-filters-old
21
+ v-else
22
+ v-model:selected-period="selectedPeriod"
23
+ v-model:selected-view="selectedView"
24
+ :disabled-period-options="disabledPeriodOptions"
25
+ :period-options="periodOptions"
26
+ :is-show-custom-interval-button="isShowCustomIntervalButton"
27
+ :chart-title-date="chartTitleDate"
28
+ :view-options="viewOptions"
29
+ :valid-date-end="props.validDateEnd"
30
+ :is-show-interval-modal="isShowIntervalModal"
31
+ :selected-periods="props.selectedPeriods"
32
+ :format-date="props.formatDate"
33
+ :current-lang="props.currentLang"
34
+ @submit-interval-modal="onSubmitIntervalModal"
35
+ @show-interval-modal="onShowIntervalModal"
36
+ @hide-interval-modal="onHideIntervalModal"
37
+ />
38
+ </template>
39
+
40
+ <script setup lang="ts">
41
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
42
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
43
+ import type { UI_I_MonitorGraphPayload } from '~/components/common/monitor/lib/models/interfaces'
44
+ import type { UI_T_OverviewViewType } from '~/components/common/monitor/overview/filters/lib/models/types'
45
+ import {
46
+ periodFunc,
47
+ viewFunc,
48
+ } from '~/components/common/monitor/overview/filters/lib/config/filterOptions'
49
+ import { getValidDateByOptionFunc } from '~/components/common/monitor/lib/config/getValidDateByOption'
50
+
51
+ const { $formattedDatetime, $store }: any = useNuxtApp()
52
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
53
+
54
+ const props = defineProps<{
55
+ startDate: number
56
+ endDate: number
57
+ chartType: 'spline' | 'pie'
58
+ view: UI_T_OverviewViewType
59
+ selectedPeriods: number[]
60
+ formatDate: string
61
+ currentLang: string
62
+ validDateEnd: number
63
+ formatTime?: string
64
+ }>()
65
+
66
+ const emits = defineEmits<{
67
+ (event: 'update-filters', value: UI_I_MonitorGraphPayload): void
68
+ (event: 'update-custom-date', value: number[]): void
69
+ }>()
70
+
71
+ const localization = computed<UI_I_Localization>(() => useLocal())
72
+
73
+ const selectedPeriod = ref<string>('')
74
+ const periodOptions = computed<UI_I_OptionItem[]>(() =>
75
+ periodFunc(localization.value)
76
+ )
77
+ watch(
78
+ () => periodOptions.value,
79
+ (newValue: UI_I_OptionItem[]) => {
80
+ if (newValue) selectedPeriod.value = newValue[0].value
81
+ },
82
+ { immediate: true }
83
+ )
84
+
85
+ const isShowCustomIntervalButton = computed<boolean>(
86
+ () => selectedPeriod.value === 'custom_interval'
87
+ )
88
+
89
+ const isShowIntervalModal = ref<boolean>(false)
90
+ const onShowIntervalModal = (): void => {
91
+ isShowIntervalModal.value = true
92
+ }
93
+ const onHideIntervalModal = (): void => {
94
+ isShowIntervalModal.value = false
95
+ }
96
+ const onSubmitIntervalModal = (customDates: number[]): void => {
97
+ customDatesData.value = customDates
98
+ sendUpdatedFilters()
99
+ onHideIntervalModal()
100
+ emits('update-custom-date', customDates)
101
+ }
102
+
103
+ const chartTitleDate = computed<string>(() => {
104
+ const startValue = props.startDate
105
+ const endValue = props.endDate
106
+ if (!startValue && !endValue) return ''
107
+
108
+ const start = $formattedDatetime(
109
+ startValue,
110
+ props.formatDate,
111
+ true,
112
+ '',
113
+ props.formatTime
114
+ )
115
+ const end = $formattedDatetime(
116
+ endValue,
117
+ props.formatDate,
118
+ true,
119
+ '',
120
+ props.formatTime
121
+ )
122
+ return `${start} - ${end}`
123
+ })
124
+
125
+ // const disabledPeriodOptions = computed<boolean>(
126
+ // () => props.chartType === 'pie' || !chartTitleDate.value
127
+ // )
128
+
129
+ const disabledPeriodOptions = computed<boolean>(() => props.chartType === 'pie')
130
+
131
+ const selectedView = ref<string>('')
132
+ const viewOptions = computed<UI_I_OptionItem[]>(() =>
133
+ viewFunc(localization.value, props.view)
134
+ )
135
+ watch(
136
+ () => viewOptions.value,
137
+ (newValue: UI_I_OptionItem[]) => {
138
+ if (newValue) selectedView.value = newValue[0].value
139
+ },
140
+ { immediate: true }
141
+ )
142
+
143
+ const customDatesData = ref<number[]>([])
144
+ const sendUpdatedFilters = (): void => {
145
+ const currentPeriod =
146
+ selectedPeriod.value === 'custom_interval'
147
+ ? customDatesData.value
148
+ : getValidDateByOptionFunc(selectedPeriod.value)
149
+ const filters: UI_I_MonitorGraphPayload = {
150
+ period: currentPeriod,
151
+ view: selectedView.value,
152
+ periodName: selectedPeriod.value,
153
+ }
154
+
155
+ emits('update-filters', filters)
156
+ }
157
+ watch(
158
+ () => [selectedPeriod.value, selectedView.value],
159
+ () => {
160
+ sendUpdatedFilters()
161
+ },
162
+ { immediate: true }
163
+ )
164
+ </script>
165
+
166
+ <style scoped lang="scss"></style>
@@ -1,172 +1,172 @@
1
- <template>
2
- <div class="overview-filters">
3
- <div class="period-select-wrap">
4
- <label for="period-select" class="label-select"
5
- >{{ localization.inventoryMonitor.period }}:</label
6
- >
7
-
8
- <ui-select
9
- v-if="!props.disabledPeriodOptions"
10
- v-model="selectedPeriod"
11
- :items="props.periodOptions"
12
- test-id="period-select"
13
- width="auto"
14
- />
15
- <span v-else class="single-option">{{
16
- props.periodOptions[0].text
17
- }}</span>
18
- <span v-if="!props.disabledPeriodOptions" class="chart-text">
19
- {{ props.chartTitleDate }}
20
- </span>
21
- <ui-skeleton-item
22
- v-if="!props.disabledPeriodOptions && !props.chartTitleDate"
23
- width="320"
24
- height="16"
25
- />
26
-
27
- <ui-tooltip
28
- v-show="props.isShowCustomIntervalButton"
29
- id="tooltip-interval-modal-button"
30
- test-id="tooltip-interval-modal-button"
31
- size="sm"
32
- position="bottom"
33
- position-by-tooltip="center"
34
- >
35
- <template #target>
36
- <div
37
- id="tooltip-interval-modal-button"
38
- class="popped tooltip inline-block"
39
- >
40
- <ui-icon
41
- name="edit"
42
- width="16"
43
- height="16"
44
- test-id="show-interval-modal-button"
45
- class="interval-modal-button"
46
- @click="onShowIntervalModal"
47
- />
48
- </div>
49
- </template>
50
- <template #content>
51
- <span class="header-tooltip-text">
52
- {{ localization.inventoryMonitor.changeCustomInterval }}
53
- </span>
54
- </template>
55
- </ui-tooltip>
56
- </div>
57
-
58
- <div class="view-select-wrap">
59
- <label for="view-select" class="label-select"
60
- >{{ localization.common.view }}:</label
61
- >
62
- <ui-select
63
- v-model="selectedView"
64
- :items="props.viewOptions"
65
- test-id="view-select"
66
- width="auto"
67
- left
68
- />
69
- </div>
70
- </div>
71
-
72
- <common-monitor-overview-filters-custom-interval-modal
73
- v-if="props.validDateEnd"
74
- v-show="props.isShowIntervalModal"
75
- :selected-periods="props.selectedPeriods"
76
- :format-date="props.formatDate"
77
- :current-lang="props.currentLang"
78
- :valid-date-end="props.validDateEnd"
79
- @hide="onHideIntervalModal"
80
- @submit="onSubmitIntervalModal"
81
- />
82
- </template>
83
-
84
- <script setup lang="ts">
85
- import type { UI_I_Localization } from '~/lib/models/interfaces'
86
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
87
-
88
- const selectedPeriod = defineModel<string>('selected-period')
89
- const selectedView = defineModel<string>('selected-view')
90
-
91
- const props = defineProps<{
92
- disabledPeriodOptions: boolean
93
- periodOptions: UI_I_OptionItem[]
94
- isShowCustomIntervalButton: boolean
95
- chartTitleDate: string
96
- viewOptions: UI_I_OptionItem[]
97
- validDateEnd: number
98
- isShowIntervalModal: boolean
99
- selectedPeriods: number[]
100
- formatDate: string
101
- currentLang: string
102
- }>()
103
- const emits = defineEmits<{
104
- (event: 'submit-interval-modal', value: number[]): void
105
- (event: 'show-interval-modal'): void
106
- (event: 'hide-interval-modal'): void
107
- }>()
108
-
109
- const localization = computed<UI_I_Localization>(() => useLocal())
110
-
111
- const onShowIntervalModal = (): void => {
112
- emits('show-interval-modal')
113
- }
114
- const onHideIntervalModal = (): void => {
115
- emits('hide-interval-modal')
116
- }
117
- const onSubmitIntervalModal = (data: number[]): void => {
118
- emits('submit-interval-modal', data)
119
- }
120
- </script>
121
-
122
- <style>
123
- :root {
124
- --overview-filter-text-color: #4d5d69;
125
- --overview-filter-edit-hover-color: #008fd6;
126
- }
127
- :root.dark-theme {
128
- --overview-filter-text-color: #e9eaec;
129
- --overview-filter-edit-hover-color: #2ba2de;
130
- }
131
- </style>
132
- <style scoped lang="scss">
133
- .overview-filters {
134
- display: flex;
135
- justify-content: space-between;
136
- align-items: center;
137
- padding: 12px 16px 16px 16px;
138
-
139
- .period-select-wrap {
140
- display: flex;
141
- align-items: center;
142
-
143
- .chart-text {
144
- font-size: 13px;
145
- color: var(--overview-filter-text-color);
146
- margin-left: 12px;
147
- }
148
-
149
- .interval-modal-button {
150
- color: var(--overview-filter-text-color);
151
- margin-left: 8px;
152
- cursor: pointer;
153
-
154
- &:hover {
155
- color: var(--overview-filter-edit-hover-color);
156
- }
157
- }
158
- }
159
-
160
- .view-select-wrap {
161
- display: flex;
162
- align-items: center;
163
- }
164
-
165
- .label-select {
166
- font-size: 13px;
167
- font-weight: 500;
168
- color: var(--overview-filter-text-color);
169
- margin-right: 12px;
170
- }
171
- }
172
- </style>
1
+ <template>
2
+ <div class="overview-filters">
3
+ <div class="period-select-wrap">
4
+ <label for="period-select" class="label-select"
5
+ >{{ localization.inventoryMonitor.period }}:</label
6
+ >
7
+
8
+ <ui-select
9
+ v-if="!props.disabledPeriodOptions"
10
+ v-model="selectedPeriod"
11
+ :items="props.periodOptions"
12
+ test-id="period-select"
13
+ width="auto"
14
+ />
15
+ <span v-else class="single-option">{{
16
+ props.periodOptions[0].text
17
+ }}</span>
18
+ <span v-if="!props.disabledPeriodOptions" class="chart-text">
19
+ {{ props.chartTitleDate }}
20
+ </span>
21
+ <ui-skeleton-item
22
+ v-if="!props.disabledPeriodOptions && !props.chartTitleDate"
23
+ width="320"
24
+ height="16"
25
+ />
26
+
27
+ <ui-tooltip
28
+ v-show="props.isShowCustomIntervalButton"
29
+ id="tooltip-interval-modal-button"
30
+ test-id="tooltip-interval-modal-button"
31
+ size="sm"
32
+ position="bottom"
33
+ position-by-tooltip="center"
34
+ >
35
+ <template #target>
36
+ <div
37
+ id="tooltip-interval-modal-button"
38
+ class="popped tooltip inline-block"
39
+ >
40
+ <ui-icon
41
+ name="edit"
42
+ width="16"
43
+ height="16"
44
+ test-id="show-interval-modal-button"
45
+ class="interval-modal-button"
46
+ @click="onShowIntervalModal"
47
+ />
48
+ </div>
49
+ </template>
50
+ <template #content>
51
+ <span class="header-tooltip-text">
52
+ {{ localization.inventoryMonitor.changeCustomInterval }}
53
+ </span>
54
+ </template>
55
+ </ui-tooltip>
56
+ </div>
57
+
58
+ <div class="view-select-wrap">
59
+ <label for="view-select" class="label-select"
60
+ >{{ localization.common.view }}:</label
61
+ >
62
+ <ui-select
63
+ v-model="selectedView"
64
+ :items="props.viewOptions"
65
+ test-id="view-select"
66
+ width="auto"
67
+ left
68
+ />
69
+ </div>
70
+ </div>
71
+
72
+ <common-monitor-overview-filters-custom-interval-modal
73
+ v-if="props.validDateEnd"
74
+ v-show="props.isShowIntervalModal"
75
+ :selected-periods="props.selectedPeriods"
76
+ :format-date="props.formatDate"
77
+ :current-lang="props.currentLang"
78
+ :valid-date-end="props.validDateEnd"
79
+ @hide="onHideIntervalModal"
80
+ @submit="onSubmitIntervalModal"
81
+ />
82
+ </template>
83
+
84
+ <script setup lang="ts">
85
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
86
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
87
+
88
+ const selectedPeriod = defineModel<string>('selected-period')
89
+ const selectedView = defineModel<string>('selected-view')
90
+
91
+ const props = defineProps<{
92
+ disabledPeriodOptions: boolean
93
+ periodOptions: UI_I_OptionItem[]
94
+ isShowCustomIntervalButton: boolean
95
+ chartTitleDate: string
96
+ viewOptions: UI_I_OptionItem[]
97
+ validDateEnd: number
98
+ isShowIntervalModal: boolean
99
+ selectedPeriods: number[]
100
+ formatDate: string
101
+ currentLang: string
102
+ }>()
103
+ const emits = defineEmits<{
104
+ (event: 'submit-interval-modal', value: number[]): void
105
+ (event: 'show-interval-modal'): void
106
+ (event: 'hide-interval-modal'): void
107
+ }>()
108
+
109
+ const localization = computed<UI_I_Localization>(() => useLocal())
110
+
111
+ const onShowIntervalModal = (): void => {
112
+ emits('show-interval-modal')
113
+ }
114
+ const onHideIntervalModal = (): void => {
115
+ emits('hide-interval-modal')
116
+ }
117
+ const onSubmitIntervalModal = (data: number[]): void => {
118
+ emits('submit-interval-modal', data)
119
+ }
120
+ </script>
121
+
122
+ <style>
123
+ :root {
124
+ --overview-filter-text-color: #4d5d69;
125
+ --overview-filter-edit-hover-color: #008fd6;
126
+ }
127
+ :root.dark-theme {
128
+ --overview-filter-text-color: #e9eaec;
129
+ --overview-filter-edit-hover-color: #2ba2de;
130
+ }
131
+ </style>
132
+ <style scoped lang="scss">
133
+ .overview-filters {
134
+ display: flex;
135
+ justify-content: space-between;
136
+ align-items: center;
137
+ padding: 12px 16px 16px 16px;
138
+
139
+ .period-select-wrap {
140
+ display: flex;
141
+ align-items: center;
142
+
143
+ .chart-text {
144
+ font-size: 13px;
145
+ color: var(--overview-filter-text-color);
146
+ margin-left: 12px;
147
+ }
148
+
149
+ .interval-modal-button {
150
+ color: var(--overview-filter-text-color);
151
+ margin-left: 8px;
152
+ cursor: pointer;
153
+
154
+ &:hover {
155
+ color: var(--overview-filter-edit-hover-color);
156
+ }
157
+ }
158
+ }
159
+
160
+ .view-select-wrap {
161
+ display: flex;
162
+ align-items: center;
163
+ }
164
+
165
+ .label-select {
166
+ font-size: 13px;
167
+ font-weight: 500;
168
+ color: var(--overview-filter-text-color);
169
+ margin-right: 12px;
170
+ }
171
+ }
172
+ </style>