bfg-common 1.4.730 → 1.4.732

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 (153) hide show
  1. package/assets/localization/local_be.json +1 -0
  2. package/assets/localization/local_en.json +1 -0
  3. package/assets/localization/local_hy.json +1 -0
  4. package/assets/localization/local_kk.json +1 -0
  5. package/assets/localization/local_ru.json +1 -0
  6. package/assets/localization/local_zh.json +1 -0
  7. package/assets/scss/common/normalize.scss +361 -361
  8. package/components/atoms/TheIcon3.vue +50 -50
  9. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  10. package/components/atoms/select/TheSelect.vue +1 -10
  11. package/components/atoms/stack/StackBlock.vue +185 -185
  12. package/components/atoms/table/dataGrid/DataGrid.vue +1696 -1696
  13. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  14. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +91 -91
  15. package/components/common/browse/BrowseNew.vue +237 -237
  16. package/components/common/browse/BrowseOld.vue +217 -217
  17. package/components/common/browse/blocks/contents/Files.vue +37 -37
  18. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  19. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  20. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  21. package/components/common/{monitor/advanced/tools/chartOptionsModal → chartOptionsModal}/counters/timespan/form/Form.vue +544 -539
  22. package/components/common/{pages/hardwareHealth/historyTestimony/tools/chartOptionsModal → chartOptionsModal}/counters/timespan/form/lib/config/dateForm.ts +116 -115
  23. package/components/common/context/lib/models/interfaces.ts +30 -30
  24. package/components/common/context/recursion/Recursion.vue +86 -86
  25. package/components/common/context/recursion/RecursionOld.vue +213 -213
  26. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  27. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  28. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +150 -150
  29. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +300 -300
  30. package/components/common/modals/confirmByInput/ConfirmByInput.vue +206 -206
  31. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  32. package/components/common/monitor/advanced/Advanced.vue +5 -0
  33. package/components/common/monitor/advanced/tools/Tools.vue +9 -2
  34. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +9 -2
  35. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +2 -0
  36. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +95 -93
  37. package/components/common/monitor/overview/filters/Filters.vue +3 -0
  38. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +15 -5
  39. package/components/common/monitor/overview/filters/customIntervalModal/lib/config/dateChecker.ts +24 -14
  40. package/components/common/pages/hardwareHealth/HardwareHealth.vue +12 -5
  41. package/components/common/pages/hardwareHealth/historyTestimony/Graph.vue +456 -451
  42. package/components/common/pages/hardwareHealth/historyTestimony/tools/Tools.vue +387 -380
  43. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/ChartOptionsModal.vue +13 -6
  44. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/counters/Counters.vue +94 -94
  45. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/counters/timespan/Timespan.vue +66 -66
  46. package/components/common/pages/home/StatusContent.vue +49 -49
  47. package/components/common/pages/home/headline/Headline.vue +44 -44
  48. package/components/common/pages/home/headline/HeadlineNew.vue +71 -71
  49. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  50. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  51. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  52. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  53. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  54. package/components/common/pages/home/widgets/hosts/HostsNew.vue +100 -100
  55. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  56. package/components/common/pages/home/widgets/services/lib/config/config.ts +108 -108
  57. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  58. package/components/common/pages/home/widgets/vms/VmsNew.vue +101 -101
  59. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  60. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  61. package/components/common/recursionTree/RecursionTree.vue +223 -223
  62. package/components/common/select/button/ButtonDropdown.vue +108 -108
  63. package/components/common/spiceConsole/Drawer.vue +370 -370
  64. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  65. package/components/common/split/vertical/Vertical.vue +160 -160
  66. package/components/common/vm/actions/add/Add.vue +0 -2
  67. package/components/common/vm/actions/clone/Clone.vue +0 -2
  68. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  69. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +0 -3
  70. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +0 -2
  71. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +0 -2
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +1 -9
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +2 -5
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +1 -3
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +161 -161
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +165 -165
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +4 -6
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +281 -281
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +6 -38
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceNew.vue +5 -31
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceOld.vue +5 -31
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +35 -35
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +2 -9
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +48 -48
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/lib/config/options.ts +4 -11
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +30 -30
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelectionNew.vue +1 -1
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelectionOld.vue +1 -1
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  114. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  115. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  116. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  117. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  118. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  119. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  120. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  121. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  122. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  123. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  124. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  125. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  126. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  127. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  128. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  129. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  130. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  131. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  132. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  133. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  134. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  135. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  136. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  137. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  138. package/components/common/vm/actions/editSettings/EditSettings.vue +0 -3
  139. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +0 -2
  140. package/components/common/vm/actions/editSettings/new/New.vue +0 -2
  141. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  142. package/composables/productNameLocal.ts +30 -30
  143. package/composables/useAppVersion.ts +21 -21
  144. package/package.json +1 -1
  145. package/plugins/date.ts +233 -233
  146. package/plugins/recursion.ts +311 -311
  147. package/public/spice-console/lib/images/bitmap.js +203 -203
  148. package/public/spice-console/network/spicechannel.js +383 -383
  149. package/store/main/mutations.ts +7 -7
  150. package/store/main/state.ts +7 -7
  151. package/store/tasks/mappers/recentTasks.ts +64 -64
  152. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/lib/config/dateForm.ts +0 -114
  153. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/counters/timespan/form/Form.vue +0 -539
@@ -1,5 +1,5 @@
1
- export interface UI_I_DeviceOption {
2
- label: string
3
- value: any
4
- disabled?: boolean
5
- }
1
+ export interface UI_I_DeviceOption {
2
+ label: string
3
+ value: any
4
+ disabled?: boolean
5
+ }
@@ -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>
@@ -94,7 +94,6 @@
94
94
  :datastore="props.datastore"
95
95
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
96
96
  :passthrough-devices="props.passthroughDevices"
97
- :mediated-devices="props.mediatedDevices"
98
97
  @change-boot-order="onChangeBootOrder"
99
98
  @send-data="onChangeCustomizeHardware"
100
99
  @get-storage="emits('get-storage', $event)"
@@ -200,7 +199,6 @@ const props = defineProps<{
200
199
  [UI_T_SelectedNavItem, null | number] | null
201
200
  >
202
201
  passthroughDevices: UI_I_PciDevice[]
203
- mediatedDevices: any[]
204
202
  vmNameInWizard: string
205
203
  capabilities?: UI_I_Capabilities
206
204
  dataCenter?: UI_I_TreeNode // для сферы
@@ -71,7 +71,6 @@
71
71
  :error-validation-fields="props.errorValidationFields"
72
72
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
73
73
  :passthrough-devices="props.passthroughDevices"
74
- :mediated-devices="props.mediatedDevices"
75
74
  :get-datastore-table-func="props.getDatastoreTableFunc"
76
75
  :datastore="props.datastore"
77
76
  :project="props.project"
@@ -153,7 +152,6 @@ const props = defineProps<{
153
152
  getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
154
153
  validateSendDataFunc: any
155
154
  passthroughDevices: UI_I_ConfigurePciDevicesTable | null
156
- mediatedDevices: any[]
157
155
  vmNameInWizard: string
158
156
  capabilities?: UI_I_Capabilities
159
157
  schedulerTask?: any // TODO надо interface переместить глобално
@@ -1,129 +1,129 @@
1
- import type { UI_I_Localization } from '~/lib/models/interfaces'
2
- import type { UI_I_WizardStep } from '~/components/atoms/wizard/lib/models/interfaces'
3
- import { UI_E_WIZARD_STATUS } from '~/components/atoms/wizard/lib/models/enums'
4
- import type { I_DynamicSteps } from '~/components/common/vm/actions/clone/lib/models/interfaces'
5
-
6
- export const stepsFunc = (
7
- localization: UI_I_Localization,
8
- isScheduledTasks: boolean
9
- ): UI_I_WizardStep[] => {
10
- let result: UI_I_WizardStep[] = [
11
- {
12
- id: 0,
13
- stepName: '',
14
- title: localization.common.schedulingOptions,
15
- subTitle: '',
16
- status: UI_E_WIZARD_STATUS.SELECTED,
17
- isValid: true,
18
- fields: {},
19
- testId: 'new-roles-scheduling-options',
20
- },
21
- {
22
- id: 1,
23
- stepName: '',
24
- title: localization.common.selectName,
25
- subTitle: localization.common.specifyUniqueName,
26
- status: UI_E_WIZARD_STATUS.INACTIVE,
27
- isValid: true,
28
- testId: 'vm-wizard-select-name',
29
- fields: {
30
- name: {
31
- field: '',
32
- alert: '',
33
- },
34
- },
35
- },
36
- {
37
- id: 2,
38
- stepName: '',
39
- title: localization.common.selectStorage,
40
- subTitle: localization.common.selectStorageConfigurationDiskFiles,
41
- status: UI_E_WIZARD_STATUS.INACTIVE,
42
- isValid: true,
43
- testId: 'vm-wizard-select-storage',
44
- fields: {
45
- storage: {
46
- field: '',
47
- alert: '',
48
- },
49
- },
50
- },
51
- {
52
- id: 3,
53
- stepName: '',
54
- title: localization.common.selectCloneOptions,
55
- subTitle:
56
- localization.common.chooseGuestOSInstalledVmAndMachineTypeUsedCreateVm,
57
- status: UI_E_WIZARD_STATUS.INACTIVE,
58
- isValid: true,
59
- testId: 'vm-wizard-select-clone-options',
60
- fields: {},
61
- },
62
- {
63
- id: 4,
64
- stepName: '',
65
- title: localization.common.customizeHardware,
66
- subTitle: localization.common.configureVirtualMachineHardware,
67
- status: UI_E_WIZARD_STATUS.INACTIVE,
68
- isValid: true,
69
- testId: 'vm-wizard-customize-hardware',
70
- fields: {
71
- customizeHardware: {
72
- field: '',
73
- alert: '',
74
- },
75
- },
76
- },
77
- {
78
- id: 5,
79
- stepName: '',
80
- title: localization.common.readyComplete,
81
- subTitle: localization.common.clickFinishStartCreation,
82
- status: UI_E_WIZARD_STATUS.INACTIVE,
83
- isValid: true,
84
- testId: 'vm-wizard-ready-complete',
85
- fields: {},
86
- },
87
- ]
88
-
89
- if (!isScheduledTasks) {
90
- result.shift()
91
- result[0].status = UI_E_WIZARD_STATUS.SELECTED
92
- result = result.map((item) => {
93
- item.id--
94
- return item
95
- })
96
- }
97
-
98
- return result
99
- }
100
-
101
- export const stepsSchemeInitial = (isScheduledTasks: boolean): number[][] => {
102
- const resultWithOutScheduledTasks = [0, 1, 2, 3, 4]
103
- const resultWithScheduledTasks = [0, 1, 2, 3, 4, 5]
104
-
105
- return isScheduledTasks
106
- ? [resultWithScheduledTasks]
107
- : [resultWithOutScheduledTasks]
108
- }
109
- export const getDynamicSteps = (isScheduledTasks: boolean): I_DynamicSteps => {
110
- const resultWithOutScheduledTasks = {
111
- selectName: 0,
112
- selectStorage: 1,
113
- selectOptions: 2,
114
- customizeHardware: 3,
115
- readyComplete: 4,
116
- }
117
- const resultWithScheduledTasks = {
118
- scheduledTasks: 0,
119
- selectName: 1,
120
- selectStorage: 2,
121
- selectOptions: 3,
122
- customizeHardware: 4,
123
- readyComplete: 5,
124
- }
125
-
126
- return isScheduledTasks
127
- ? resultWithScheduledTasks
128
- : resultWithOutScheduledTasks
129
- }
1
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
2
+ import type { UI_I_WizardStep } from '~/components/atoms/wizard/lib/models/interfaces'
3
+ import { UI_E_WIZARD_STATUS } from '~/components/atoms/wizard/lib/models/enums'
4
+ import type { I_DynamicSteps } from '~/components/common/vm/actions/clone/lib/models/interfaces'
5
+
6
+ export const stepsFunc = (
7
+ localization: UI_I_Localization,
8
+ isScheduledTasks: boolean
9
+ ): UI_I_WizardStep[] => {
10
+ let result: UI_I_WizardStep[] = [
11
+ {
12
+ id: 0,
13
+ stepName: '',
14
+ title: localization.common.schedulingOptions,
15
+ subTitle: '',
16
+ status: UI_E_WIZARD_STATUS.SELECTED,
17
+ isValid: true,
18
+ fields: {},
19
+ testId: 'new-roles-scheduling-options',
20
+ },
21
+ {
22
+ id: 1,
23
+ stepName: '',
24
+ title: localization.common.selectName,
25
+ subTitle: localization.common.specifyUniqueName,
26
+ status: UI_E_WIZARD_STATUS.INACTIVE,
27
+ isValid: true,
28
+ testId: 'vm-wizard-select-name',
29
+ fields: {
30
+ name: {
31
+ field: '',
32
+ alert: '',
33
+ },
34
+ },
35
+ },
36
+ {
37
+ id: 2,
38
+ stepName: '',
39
+ title: localization.common.selectStorage,
40
+ subTitle: localization.common.selectStorageConfigurationDiskFiles,
41
+ status: UI_E_WIZARD_STATUS.INACTIVE,
42
+ isValid: true,
43
+ testId: 'vm-wizard-select-storage',
44
+ fields: {
45
+ storage: {
46
+ field: '',
47
+ alert: '',
48
+ },
49
+ },
50
+ },
51
+ {
52
+ id: 3,
53
+ stepName: '',
54
+ title: localization.common.selectCloneOptions,
55
+ subTitle:
56
+ localization.common.chooseGuestOSInstalledVmAndMachineTypeUsedCreateVm,
57
+ status: UI_E_WIZARD_STATUS.INACTIVE,
58
+ isValid: true,
59
+ testId: 'vm-wizard-select-clone-options',
60
+ fields: {},
61
+ },
62
+ {
63
+ id: 4,
64
+ stepName: '',
65
+ title: localization.common.customizeHardware,
66
+ subTitle: localization.common.configureVirtualMachineHardware,
67
+ status: UI_E_WIZARD_STATUS.INACTIVE,
68
+ isValid: true,
69
+ testId: 'vm-wizard-customize-hardware',
70
+ fields: {
71
+ customizeHardware: {
72
+ field: '',
73
+ alert: '',
74
+ },
75
+ },
76
+ },
77
+ {
78
+ id: 5,
79
+ stepName: '',
80
+ title: localization.common.readyComplete,
81
+ subTitle: localization.common.clickFinishStartCreation,
82
+ status: UI_E_WIZARD_STATUS.INACTIVE,
83
+ isValid: true,
84
+ testId: 'vm-wizard-ready-complete',
85
+ fields: {},
86
+ },
87
+ ]
88
+
89
+ if (!isScheduledTasks) {
90
+ result.shift()
91
+ result[0].status = UI_E_WIZARD_STATUS.SELECTED
92
+ result = result.map((item) => {
93
+ item.id--
94
+ return item
95
+ })
96
+ }
97
+
98
+ return result
99
+ }
100
+
101
+ export const stepsSchemeInitial = (isScheduledTasks: boolean): number[][] => {
102
+ const resultWithOutScheduledTasks = [0, 1, 2, 3, 4]
103
+ const resultWithScheduledTasks = [0, 1, 2, 3, 4, 5]
104
+
105
+ return isScheduledTasks
106
+ ? [resultWithScheduledTasks]
107
+ : [resultWithOutScheduledTasks]
108
+ }
109
+ export const getDynamicSteps = (isScheduledTasks: boolean): I_DynamicSteps => {
110
+ const resultWithOutScheduledTasks = {
111
+ selectName: 0,
112
+ selectStorage: 1,
113
+ selectOptions: 2,
114
+ customizeHardware: 3,
115
+ readyComplete: 4,
116
+ }
117
+ const resultWithScheduledTasks = {
118
+ scheduledTasks: 0,
119
+ selectName: 1,
120
+ selectStorage: 2,
121
+ selectOptions: 3,
122
+ customizeHardware: 4,
123
+ readyComplete: 5,
124
+ }
125
+
126
+ return isScheduledTasks
127
+ ? resultWithScheduledTasks
128
+ : resultWithOutScheduledTasks
129
+ }
@@ -35,7 +35,6 @@
35
35
  :is-clone="props.isClone"
36
36
  :state="props.state"
37
37
  :passthrough-devices="props.passthroughDevices"
38
- :mediated-devices="props.mediatedDevices"
39
38
  :project="props.project"
40
39
  :nav-items="navItems"
41
40
  :errors="errors"
@@ -89,7 +88,6 @@
89
88
  :is-clone="props.isClone"
90
89
  :state="props.state"
91
90
  :passthrough-devices="props.passthroughDevices"
92
- :mediated-devices="props.mediatedDevices"
93
91
  :project="props.project"
94
92
  :nav-items="navItems"
95
93
  :errors="errors"
@@ -175,7 +173,6 @@ const props = defineProps<{
175
173
  isClone?: boolean
176
174
  state?: string | number
177
175
  passthroughDevices?: UI_I_PciDevice[]
178
- mediatedDevices?: any[]
179
176
  project?: UI_T_Project
180
177
  }>()
181
178
  const emits = defineEmits<{
@@ -42,7 +42,6 @@
42
42
  :datastore="props.datastore"
43
43
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
44
44
  :passthrough-devices="props.passthroughDevices"
45
- :mediated-devices="props.mediatedDevices"
46
45
  :project="props.project"
47
46
  :guest-machine-type="guestMachineType"
48
47
  @send-data="emits('send-data-virtual-hardware-method', $event)"
@@ -159,7 +158,6 @@ const props = defineProps<{
159
158
  cdDvdDrives?: UI_I_SendDataNewCdDvdDrive[] | null
160
159
  usbController?: string
161
160
  passthroughDevices?: UI_I_PciDevice[]
162
- mediatedDevices?: any[]
163
161
  vmCpuHelpTextSecond?: string
164
162
  getDatastoreTableFunc?: (payload: UI_I_TablePayload) => Promise<void>
165
163
  }>()
@@ -35,7 +35,6 @@
35
35
  :datastore="props.datastore"
36
36
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
37
37
  :passthrough-devices="props.passthroughDevices"
38
- :mediated-devices="props.mediatedDevices"
39
38
  :project="props.project"
40
39
  :guest-machine-type="guestMachineType"
41
40
  @send-data="emits('send-data-virtual-hardware-method', $event)"
@@ -135,7 +134,6 @@ const props = defineProps<{
135
134
  cdDvdDrives?: UI_I_SendDataNewCdDvdDrive[] | null
136
135
  usbController?: string
137
136
  passthroughDevices?: UI_I_PciDevice[]
138
- mediatedDevices?: any[]
139
137
  vmCpuHelpTextSecond?: string
140
138
  getDatastoreTableFunc?: (payload: UI_I_TablePayload) => Promise<void>
141
139
  }>()