bfg-common 1.4.859 → 1.4.860

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 (198) hide show
  1. package/.idea/inspectionProfiles/Project_Default.xml +2 -1
  2. package/assets/localization/local_be.json +3012 -3009
  3. package/assets/localization/local_en.json +5 -2
  4. package/assets/localization/local_hy.json +5 -2
  5. package/assets/localization/local_kk.json +5 -2
  6. package/assets/localization/local_ru.json +5 -2
  7. package/assets/localization/local_zh.json +5 -2
  8. package/assets/scss/common/normalize.scss +361 -361
  9. package/components/atoms/TheIcon3.vue +50 -50
  10. package/components/atoms/autocomplete/Autocomplete.vue +301 -301
  11. package/components/atoms/collapse/CollapseNav.vue +164 -164
  12. package/components/atoms/dropdown/dropdown/Dropdown.vue +168 -168
  13. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  14. package/components/atoms/stack/StackBlock.vue +185 -185
  15. package/components/atoms/table/dataGrid/DataGrid.vue +1704 -1704
  16. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  17. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  18. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  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/chartOptionsModal/counters/timespan/form/Form.vue +40 -313
  26. package/components/common/chartOptionsModal/counters/timespan/form/FormNew.vue +241 -0
  27. package/components/common/chartOptionsModal/counters/timespan/form/FormOld.vue +372 -0
  28. package/components/common/context/Context.vue +111 -111
  29. package/components/common/context/lib/models/interfaces.ts +30 -30
  30. package/components/common/context/recursion/Recursion.vue +87 -87
  31. package/components/common/context/recursion/RecursionOld.vue +227 -227
  32. package/components/common/details/DetailsItem.vue +109 -109
  33. package/components/common/graph/Graph.vue +104 -104
  34. package/components/common/graph/GraphOld.vue +50 -31
  35. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  36. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  37. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  38. package/components/common/monitor/advanced/Advanced.vue +0 -3
  39. package/components/common/monitor/advanced/AdvancedNew.vue +0 -2
  40. package/components/common/monitor/advanced/AdvancedOld.vue +0 -2
  41. package/components/common/monitor/advanced/graphView/GraphView.vue +16 -18
  42. package/components/common/monitor/advanced/tools/Tools.vue +0 -3
  43. package/components/common/monitor/advanced/tools/ToolsNew.vue +0 -2
  44. package/components/common/monitor/advanced/tools/ToolsOld.vue +0 -2
  45. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +113 -114
  46. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModalNew.vue +190 -0
  47. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModalOld.vue +189 -0
  48. package/components/common/monitor/advanced/tools/chartOptionsModal/Notification.vue +13 -20
  49. package/components/common/monitor/advanced/tools/chartOptionsModal/NotificationNew.vue +20 -0
  50. package/components/common/monitor/advanced/tools/chartOptionsModal/NotificationOld.vue +27 -0
  51. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/Actions.vue +28 -79
  52. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/ActionsNew.vue +160 -0
  53. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/ActionsOld.vue +114 -0
  54. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +75 -56
  55. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/CountersNew.vue +97 -0
  56. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/CountersOld.vue +110 -0
  57. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/Table.vue +19 -58
  58. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +1040 -1040
  59. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/tableNew/TableNew.vue +46 -0
  60. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/tableNew/config/options.ts +19 -0
  61. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/tableNew/config/tableData.ts +71 -0
  62. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/tableNew/utils/constructTable.ts +29 -0
  63. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/tableOld/TableOld.vue +85 -0
  64. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/{lib → tableOld/lib}/config/tableConfig.ts +1 -1
  65. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +71 -47
  66. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/TimespanNew.vue +150 -0
  67. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/TimespanOld.vue +95 -0
  68. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/Object.vue +21 -26
  69. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/objectNew/ObjectNew.vue +56 -0
  70. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/objectNew/lib/config/options.ts +25 -0
  71. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/objectNew/lib/config/tableData.ts +47 -0
  72. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/objectNew/lib/utils/constructTable.ts +22 -0
  73. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/objectOld/ObjectOld.vue +84 -0
  74. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/Metrics.vue +17 -29
  75. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/MetricsOld.vue +32 -0
  76. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/metricsNew/MetricsNew.vue +101 -0
  77. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/metricsNew/lib/utils/constructAccordion.ts +32 -0
  78. package/components/common/monitor/overview/Overview.vue +224 -221
  79. package/components/common/monitor/overview/OverviewNew.vue +142 -142
  80. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  81. package/components/common/monitor/overview/filters/Filters.vue +166 -166
  82. package/components/common/monitor/overview/filters/FiltersNew.vue +172 -172
  83. package/components/common/monitor/overview/filters/FiltersOld.vue +151 -151
  84. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +175 -175
  85. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModalNew.vue +186 -181
  86. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModalOld.vue +161 -161
  87. package/components/common/pages/hardwareHealth/historyTestimony/Graph.vue +26 -30
  88. package/components/common/pages/home/StatusContent.vue +49 -49
  89. package/components/common/pages/home/headline/Headline.vue +45 -45
  90. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  91. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  92. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  93. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  94. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  95. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  96. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  97. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  98. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  99. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  100. package/components/common/pages/packages/Packages.vue +208 -208
  101. package/components/common/recursionTree/RecursionTree.vue +223 -223
  102. package/components/common/select/button/ButtonDropdown.vue +108 -108
  103. package/components/common/spiceConsole/Drawer.vue +370 -370
  104. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  105. package/components/common/split/horizontal/HorizontalNew.vue +376 -376
  106. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  107. package/components/common/split/vertical/Vertical.vue +160 -160
  108. package/components/common/vm/actions/add/Add.vue +621 -621
  109. package/components/common/vm/actions/clone/Clone.vue +639 -639
  110. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  111. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +271 -271
  112. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +271 -271
  113. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +174 -174
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +694 -694
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +161 -161
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +165 -165
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +364 -364
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +229 -229
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +247 -247
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  128. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +283 -283
  130. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  131. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  132. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  133. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  134. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  135. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  136. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  137. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  138. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  139. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  140. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  141. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +84 -84
  142. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  143. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  144. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  145. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  146. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  147. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +81 -81
  148. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  149. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  150. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  151. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  152. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  153. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  154. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  155. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  156. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  157. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  158. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  159. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  160. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  161. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  162. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  163. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  164. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  165. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  166. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  167. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  168. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  169. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  170. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  171. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  172. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  173. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  174. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  175. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  176. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  177. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  178. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  179. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  180. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  181. package/components/common/wizards/vm/migrate/Migrate.vue +302 -302
  182. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  183. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  184. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +150 -150
  185. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  186. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +43 -43
  187. package/composables/productNameLocal.ts +30 -30
  188. package/composables/useAppVersion.ts +21 -21
  189. package/lib/utils/date.ts +12 -0
  190. package/package.json +2 -2
  191. package/plugins/date.ts +233 -233
  192. package/plugins/recursion.ts +311 -311
  193. package/public/spice-console/lib/images/bitmap.js +203 -203
  194. package/public/spice-console/network/spicechannel.js +383 -383
  195. package/store/main/mutations.ts +7 -7
  196. package/store/main/state.ts +7 -7
  197. package/store/tasks/mappers/recentTasks.ts +64 -64
  198. /package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/{lib → tableOld/lib}/models/types.ts +0 -0
@@ -1,160 +1,160 @@
1
- <template>
2
- <common-split-vertical-new
3
- v-if="isNewView"
4
- v-model:is-grab="isGrab"
5
- v-model:is-focus="isFocus"
6
- :element-id="elementId"
7
- :is-drag="isDrag"
8
- :top-panel-style="topPanelStyle"
9
- :bottom-panel-style="bottomPanelStyle"
10
- >
11
- <template #firstPanel>
12
- <slot name="firstPanel" />
13
- </template>
14
-
15
- <template #secondPanel>
16
- <slot name="secondPanel" />
17
- </template>
18
- </common-split-vertical-new>
19
-
20
- <common-split-vertical-old
21
- v-else
22
- v-model:is-grab="isGrab"
23
- v-model:is-focus="isFocus"
24
- :element-id="elementId"
25
- :is-drag="isDrag"
26
- :top-panel-style="topPanelStyle"
27
- :bottom-panel-style="bottomPanelStyle"
28
- >
29
- <template #firstPanel>
30
- <slot name="firstPanel" />
31
- </template>
32
-
33
- <template #secondPanel>
34
- <slot name="secondPanel" />
35
- </template>
36
- </common-split-vertical-old>
37
- </template>
38
-
39
- <script setup lang="ts">
40
- import type { UI_I_SplitVerticalStyle } from '~/components/common/split/vertical/lib/models/interfaces'
41
-
42
- const props = withDefaults(defineProps<{
43
- parentElementSelector: string
44
- topPanelHForce?: string
45
- topPanelH?: number
46
- topPanelMinHeight?: number
47
- bottomPanelMinHeight?: number
48
- }>(), {
49
- topPanelMinHeight: 200, // 200px
50
- bottomPanelMinHeight: 200, // 200px
51
- topPanelHForce: '',
52
- topPanelH: undefined,
53
- })
54
- const emits = defineEmits<{
55
- (event: 'dragend', value: number): void
56
- }>()
57
-
58
- const { $store }: any = useNuxtApp()
59
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
60
-
61
- const topPanelStyle = computed<UI_I_SplitVerticalStyle>(() => {
62
- let height = `calc(${topPanelH.value}% - 1.5px)`
63
- if (props.topPanelHForce) {
64
- height = props.topPanelHForce
65
- }
66
- return { height }
67
- })
68
-
69
- const bottomPanelStyle = computed<UI_I_SplitVerticalStyle>(() => {
70
- let height = `calc(${100 - topPanelH.value}% - 1.5px)`
71
-
72
- return { height }
73
- })
74
-
75
- const isGrab = ref<boolean>(false)
76
- const isFocus = ref<boolean>(false)
77
- const isDrag = ref<boolean>(false)
78
- const topPanelH = ref<number>(80) // 80%
79
- watch(
80
- () => props.topPanelH,
81
- (newValue) => {
82
- if (newValue === undefined) return
83
- topPanelH.value = newValue
84
- },
85
- { immediate: true }
86
- )
87
-
88
- let parentElem: HTMLDivElement | null
89
- const mouseup = (): void => {
90
- if (!isGrab.value) {
91
- return
92
- }
93
-
94
- isGrab.value = false
95
- isDrag.value = false
96
-
97
- emits('dragend', topPanelH.value)
98
- }
99
- let mousemove = (e: MouseEvent): void => {
100
- if (!isGrab.value) {
101
- return
102
- }
103
-
104
- e.preventDefault()
105
- isDrag.value = true
106
-
107
- doDrag(e.clientY)
108
- }
109
- mousemove = useThrottle(mousemove)
110
-
111
- const doDrag = (clientY: number): void => {
112
- const parentElemTop = parentElem?.getBoundingClientRect().top || 0
113
- const parentHeight = parentElem?.clientHeight || 0
114
- const onePercent = parentHeight / 100
115
-
116
- const topLimit = clientY <= props.topPanelMinHeight + parentElemTop + 1.5
117
- const bottomLimit =
118
- clientY >= parentHeight + parentElemTop - props.bottomPanelMinHeight - 1.5
119
-
120
- if (topLimit || bottomLimit) {
121
- return
122
- }
123
-
124
- topPanelH.value = (clientY - parentElemTop) / onePercent
125
- }
126
-
127
- const elementId = `vertical${useUniqueId()}`
128
- const keydown = (e: KeyboardEvent): void => {
129
- if (!isFocus.value) return
130
-
131
- const gutter = document.getElementById(`gutter-${elementId}`)
132
-
133
- if (!gutter) return
134
-
135
- const gutterTop = ~~(gutter.getBoundingClientRect().top + 1.5)
136
-
137
- if (e.keyCode === 40) {
138
- doDrag(gutterTop + 10)
139
- }
140
- if (e.keyCode === 38) {
141
- doDrag(gutterTop - 10)
142
- }
143
- }
144
-
145
- onMounted(() => {
146
- parentElem = document.querySelector(props.parentElementSelector)
147
-
148
- window.addEventListener('mousemove', mousemove)
149
- window.addEventListener('mouseup', mouseup)
150
- window.addEventListener('keydown', keydown)
151
- })
152
- onUnmounted(() => {
153
- window.removeEventListener('mouseup', mouseup)
154
- window.removeEventListener('mousemove', mousemove)
155
- window.removeEventListener('keydown', keydown)
156
- })
157
- </script>
158
-
159
- <style scoped lang="scss">
160
- </style>
1
+ <template>
2
+ <common-split-vertical-new
3
+ v-if="isNewView"
4
+ v-model:is-grab="isGrab"
5
+ v-model:is-focus="isFocus"
6
+ :element-id="elementId"
7
+ :is-drag="isDrag"
8
+ :top-panel-style="topPanelStyle"
9
+ :bottom-panel-style="bottomPanelStyle"
10
+ >
11
+ <template #firstPanel>
12
+ <slot name="firstPanel" />
13
+ </template>
14
+
15
+ <template #secondPanel>
16
+ <slot name="secondPanel" />
17
+ </template>
18
+ </common-split-vertical-new>
19
+
20
+ <common-split-vertical-old
21
+ v-else
22
+ v-model:is-grab="isGrab"
23
+ v-model:is-focus="isFocus"
24
+ :element-id="elementId"
25
+ :is-drag="isDrag"
26
+ :top-panel-style="topPanelStyle"
27
+ :bottom-panel-style="bottomPanelStyle"
28
+ >
29
+ <template #firstPanel>
30
+ <slot name="firstPanel" />
31
+ </template>
32
+
33
+ <template #secondPanel>
34
+ <slot name="secondPanel" />
35
+ </template>
36
+ </common-split-vertical-old>
37
+ </template>
38
+
39
+ <script setup lang="ts">
40
+ import type { UI_I_SplitVerticalStyle } from '~/components/common/split/vertical/lib/models/interfaces'
41
+
42
+ const props = withDefaults(defineProps<{
43
+ parentElementSelector: string
44
+ topPanelHForce?: string
45
+ topPanelH?: number
46
+ topPanelMinHeight?: number
47
+ bottomPanelMinHeight?: number
48
+ }>(), {
49
+ topPanelMinHeight: 200, // 200px
50
+ bottomPanelMinHeight: 200, // 200px
51
+ topPanelHForce: '',
52
+ topPanelH: undefined,
53
+ })
54
+ const emits = defineEmits<{
55
+ (event: 'dragend', value: number): void
56
+ }>()
57
+
58
+ const { $store }: any = useNuxtApp()
59
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
60
+
61
+ const topPanelStyle = computed<UI_I_SplitVerticalStyle>(() => {
62
+ let height = `calc(${topPanelH.value}% - 1.5px)`
63
+ if (props.topPanelHForce) {
64
+ height = props.topPanelHForce
65
+ }
66
+ return { height }
67
+ })
68
+
69
+ const bottomPanelStyle = computed<UI_I_SplitVerticalStyle>(() => {
70
+ let height = `calc(${100 - topPanelH.value}% - 1.5px)`
71
+
72
+ return { height }
73
+ })
74
+
75
+ const isGrab = ref<boolean>(false)
76
+ const isFocus = ref<boolean>(false)
77
+ const isDrag = ref<boolean>(false)
78
+ const topPanelH = ref<number>(80) // 80%
79
+ watch(
80
+ () => props.topPanelH,
81
+ (newValue) => {
82
+ if (newValue === undefined) return
83
+ topPanelH.value = newValue
84
+ },
85
+ { immediate: true }
86
+ )
87
+
88
+ let parentElem: HTMLDivElement | null
89
+ const mouseup = (): void => {
90
+ if (!isGrab.value) {
91
+ return
92
+ }
93
+
94
+ isGrab.value = false
95
+ isDrag.value = false
96
+
97
+ emits('dragend', topPanelH.value)
98
+ }
99
+ let mousemove = (e: MouseEvent): void => {
100
+ if (!isGrab.value) {
101
+ return
102
+ }
103
+
104
+ e.preventDefault()
105
+ isDrag.value = true
106
+
107
+ doDrag(e.clientY)
108
+ }
109
+ mousemove = useThrottle(mousemove)
110
+
111
+ const doDrag = (clientY: number): void => {
112
+ const parentElemTop = parentElem?.getBoundingClientRect().top || 0
113
+ const parentHeight = parentElem?.clientHeight || 0
114
+ const onePercent = parentHeight / 100
115
+
116
+ const topLimit = clientY <= props.topPanelMinHeight + parentElemTop + 1.5
117
+ const bottomLimit =
118
+ clientY >= parentHeight + parentElemTop - props.bottomPanelMinHeight - 1.5
119
+
120
+ if (topLimit || bottomLimit) {
121
+ return
122
+ }
123
+
124
+ topPanelH.value = (clientY - parentElemTop) / onePercent
125
+ }
126
+
127
+ const elementId = `vertical${useUniqueId()}`
128
+ const keydown = (e: KeyboardEvent): void => {
129
+ if (!isFocus.value) return
130
+
131
+ const gutter = document.getElementById(`gutter-${elementId}`)
132
+
133
+ if (!gutter) return
134
+
135
+ const gutterTop = ~~(gutter.getBoundingClientRect().top + 1.5)
136
+
137
+ if (e.keyCode === 40) {
138
+ doDrag(gutterTop + 10)
139
+ }
140
+ if (e.keyCode === 38) {
141
+ doDrag(gutterTop - 10)
142
+ }
143
+ }
144
+
145
+ onMounted(() => {
146
+ parentElem = document.querySelector(props.parentElementSelector)
147
+
148
+ window.addEventListener('mousemove', mousemove)
149
+ window.addEventListener('mouseup', mouseup)
150
+ window.addEventListener('keydown', keydown)
151
+ })
152
+ onUnmounted(() => {
153
+ window.removeEventListener('mouseup', mouseup)
154
+ window.removeEventListener('mousemove', mousemove)
155
+ window.removeEventListener('keydown', keydown)
156
+ })
157
+ </script>
158
+
159
+ <style scoped lang="scss">
160
+ </style>