bfg-common 1.5.382 → 1.5.383

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 (142) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  4. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  5. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  6. package/assets/localization/local_be.json +12 -1
  7. package/assets/localization/local_en.json +12 -1
  8. package/assets/localization/local_hy.json +12 -1
  9. package/assets/localization/local_kk.json +12 -1
  10. package/assets/localization/local_ru.json +12 -1
  11. package/assets/localization/local_zh.json +12 -1
  12. package/components/atoms/TheIcon3.vue +50 -50
  13. package/components/atoms/collapse/CollapseNav.vue +170 -170
  14. package/components/atoms/collapse/CollapseNavItem.vue +226 -226
  15. package/components/atoms/nav/NavBar.vue +147 -147
  16. package/components/atoms/perPage/PerPage.vue +58 -58
  17. package/components/atoms/table/dataGrid/DataGrid.vue +1717 -1717
  18. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  19. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  20. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  21. package/components/common/backup/storage/actions/add/lib/config/steps.ts +168 -168
  22. package/components/common/backup/storage/actions/add/steps/hostAccessibility/HostAccessibility.vue +52 -52
  23. package/components/common/backup/storage/actions/add/steps/readyComplete/ReadyComplete.vue +45 -45
  24. package/components/common/backup/storage/actions/delete/Delete.vue +65 -65
  25. package/components/common/browse/blocks/Container.vue +234 -234
  26. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  27. package/components/common/context/lib/models/interfaces.ts +33 -33
  28. package/components/common/diagramMain/modals/lib/config/networkModal.ts +398 -398
  29. package/components/common/diagramMain/network/Network.vue +141 -141
  30. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  31. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  32. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  33. package/components/common/pages/home/headline/Headline.vue +45 -45
  34. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  35. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  36. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  37. package/components/common/pages/home/widgets/WidgetsNew.vue +88 -88
  38. package/components/common/pages/home/widgets/WidgetsOld.vue +36 -36
  39. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  40. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  41. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  42. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  43. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  44. package/components/common/pages/packages/Packages.vue +208 -208
  45. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  46. package/components/common/readyToComplete/New.vue +129 -129
  47. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  48. package/components/common/recursionTree/RecursionTree.vue +223 -223
  49. package/components/common/select/button/ButtonDropdown.vue +112 -112
  50. package/components/common/spiceConsole/Drawer.vue +381 -381
  51. package/components/common/spiceConsole/SpiceConsole.vue +127 -127
  52. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  53. package/components/common/tools/Actions.vue +207 -207
  54. package/components/common/vm/actions/add/Old.vue +388 -388
  55. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  56. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  57. package/components/common/vm/actions/add/folderTreeView/Old.vue +50 -50
  58. package/components/common/vm/actions/clone/Clone.vue +823 -823
  59. package/components/common/vm/actions/clone/lib/config/steps.ts +291 -291
  60. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  61. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +321 -321
  62. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +227 -227
  63. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +100 -100
  64. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +78 -78
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/TooltipNew.vue +154 -154
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +155 -155
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +307 -307
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +385 -385
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +85 -85
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +94 -94
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +154 -154
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
  93. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +155 -155
  94. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +130 -130
  95. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsOld.vue +113 -113
  96. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  97. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  98. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  99. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +95 -95
  100. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsOld.vue +155 -155
  101. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  102. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapOld.vue +44 -44
  103. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  104. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  105. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  106. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  107. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +143 -143
  108. package/components/common/vm/actions/common/select/computeResource/New.vue +184 -184
  109. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +131 -131
  110. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  111. package/components/common/vm/actions/common/select/createType/lib/config/items.ts +48 -48
  112. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  113. package/components/common/vm/actions/common/select/name/Name.vue +174 -174
  114. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  115. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  116. package/components/common/vm/actions/common/select/storage/Storage.vue +155 -155
  117. package/components/common/vm/actions/common/select/storage/new/New.vue +300 -300
  118. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  119. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  120. package/components/common/vm/actions/editSettings/EditSettings.vue +242 -242
  121. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  122. package/components/common/vmt/actions/add/lib/models/interfaces.ts +23 -23
  123. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +104 -104
  124. package/components/common/wizards/network/add/steps/SelectedTargetDevice.vue +467 -467
  125. package/components/common/wizards/vm/migrate/Migrate.vue +349 -349
  126. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  127. package/components/common/wizards/vm/migrate/lib/config/steps.ts +157 -157
  128. package/components/common/wizards/vm/migrate/lib/validations.ts +68 -68
  129. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  130. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  131. package/components/common/wizards/vm/migrate/select/type/lib/config/typeOptions.ts +45 -45
  132. package/composables/productNameLocal.ts +30 -30
  133. package/composables/useAppVersion.ts +21 -21
  134. package/package.json +1 -1
  135. package/plugins/date.ts +233 -233
  136. package/plugins/panelStates.ts +70 -70
  137. package/plugins/text.ts +59 -59
  138. package/public/spice-console/lib/images/bitmap.js +203 -203
  139. package/public/spice-console/network/spicechannel.js +390 -390
  140. package/store/main/mutations.ts +7 -7
  141. package/store/main/state.ts +7 -7
  142. package/store/tasks/mappers/recentTasks.ts +64 -64
@@ -1,234 +1,234 @@
1
- <template>
2
- <div
3
- ref="containerBlock"
4
- :class="[
5
- `title-block__${props.type}-container`,
6
- {
7
- 'title-block__new-view': isNewView,
8
- },
9
- ]"
10
- >
11
- <slot name="firstBlock"></slot>
12
- <div
13
- ref="moveSeperator"
14
- :class="[
15
- 'move-separator',
16
- {
17
- 'move-separator-new-view': isNewView,
18
- 'move-separator-new-view_selected':
19
- sectionSelected && sectionSelectedName === 'first',
20
- },
21
- ]"
22
- :data-id="`${props.testId}-first`"
23
- :style="seperatorStyles"
24
- @mousedown="onMouseDown($event, 'first')"
25
- >
26
- <div :style="moveSeperatorBeforeStyles"></div>
27
- </div>
28
- <slot name="secondBlock"></slot>
29
- <div
30
- ref="secondMoveSeperator"
31
- :class="[
32
- 'move-separator',
33
- {
34
- 'move-separator-new-view': isNewView,
35
- 'move-separator-new-view_selected':
36
- sectionSelected && sectionSelectedName === 'second',
37
- },
38
- ]"
39
- :data-id="`${props.testId}-second`"
40
- :style="secondSeperatorStyles"
41
- @mousedown="onMouseDown($event, 'second')"
42
- >
43
- <div :style="secondMoveSeperatorBeforeStyles"></div>
44
- </div>
45
- <slot name="thirdBlock"></slot>
46
- </div>
47
- </template>
48
-
49
- <script setup lang="ts">
50
- import { useElementSize } from '@vueuse/core'
51
- import type { UI_T_BlocksWidth } from '~/components/common/browse/blocks/lib/models/types'
52
-
53
- const props = withDefaults(
54
- defineProps<{
55
- type: 'horizontal' | 'vertical'
56
- blocksWidth: UI_T_BlocksWidth
57
- testId?: string
58
- }>(),
59
- {
60
- testId: '',
61
- }
62
- )
63
-
64
- const { $store }: any = useNuxtApp()
65
-
66
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
67
-
68
- const sectionSelected = ref<boolean>(false)
69
- const sectionSelectedName = ref<string>('')
70
-
71
- const positionOnDown = ref<number>(0)
72
-
73
- const containerBlock = ref<HTMLElement | null>(null)
74
- const { height: heightContainerBlock } = useElementSize(containerBlock)
75
-
76
- const moveSeperator = ref<HTMLElement | null>(null)
77
- const { height: heightMoveSeperator } = useElementSize(moveSeperator)
78
- const moveSeperatorBeforeStyles = ref<any>({})
79
- watch(
80
- heightMoveSeperator,
81
- (newValue) => {
82
- if (!newValue) return
83
-
84
- moveSeperatorBeforeStyles.value.top = newValue / 2 + 'px'
85
- },
86
- { immediate: true, deep: true }
87
- )
88
-
89
- const secondMoveSeperator = ref<HTMLElement | null>(null)
90
- const { height: heightSecondMoveSeperator } =
91
- useElementSize(secondMoveSeperator)
92
- const secondMoveSeperatorBeforeStyles = ref<any>({})
93
- watch(
94
- heightSecondMoveSeperator,
95
- (newValue) => {
96
- if (!newValue) return
97
-
98
- secondMoveSeperatorBeforeStyles.value.top = newValue / 2 + 'px'
99
- },
100
- { immediate: true, deep: true }
101
- )
102
-
103
- // const translation1 = computed<number>(() => (isNewView.value ? 31 : 28))
104
- // const translation2 = computed<number>(() => (isNewView.value ? 47 : 28))
105
- const translation = computed<number>(() => (isNewView.value ? 31 : 28))
106
-
107
- const seperatorStyles = computed(() => ({
108
- // left: `${props.blocksWidth[0] + translation1.value}px`,
109
- left: `${props.blocksWidth[0] + translation.value}px`,
110
- height: `${heightContainerBlock.value}px`,
111
- }))
112
- const secondSeperatorStyles = computed(() => ({
113
- // right: `${props.blocksWidth[2] + translation2.value}px`,
114
- left: `${props.blocksWidth[0] + props.blocksWidth[1] + translation.value}px`,
115
- height: `${heightContainerBlock.value}px`,
116
- }))
117
-
118
- const emits = defineEmits<{
119
- (event: 'change-widths', width: number, index: number): void
120
- }>()
121
- const onMouseDown = (event: MouseEvent, section: string): void => {
122
- sectionSelected.value = true
123
- sectionSelectedName.value = section
124
- positionOnDown.value = (
125
- event.target as HTMLDivElement
126
- ).getBoundingClientRect().x
127
- }
128
-
129
- const onMouseMove = (event: MouseEvent): void => {
130
- if (!sectionSelected.value) return
131
- event.stopPropagation()
132
- event.preventDefault()
133
- event.cancelBubble = true
134
-
135
- getSeparatorPosition(event, 0, 1, 'first')
136
- getSeparatorPosition(event, 1, 2, 'second')
137
- }
138
- const onMouseUp = (): void => {
139
- sectionSelected.value = false
140
- }
141
-
142
- const minWidth = computed<number>(() => (isNewView.value ? 120 : 30))
143
-
144
- const getSeparatorPosition = (
145
- event: MouseEvent,
146
- firstBlock: number,
147
- secondBlock: number,
148
- separator: string
149
- ): void => {
150
- if (sectionSelected.value && sectionSelectedName.value === separator) {
151
- const blockWidth0 =
152
- props.blocksWidth[firstBlock] - (positionOnDown.value - event.x)
153
- const blockWidth1 =
154
- props.blocksWidth[secondBlock] + (positionOnDown.value - event.x)
155
- if (blockWidth0 < minWidth.value || blockWidth1 < minWidth.value) return
156
- blockWidth0 >= minWidth.value &&
157
- emits('change-widths', blockWidth0, firstBlock)
158
- blockWidth1 >= minWidth.value &&
159
- emits('change-widths', blockWidth1, secondBlock)
160
- positionOnDown.value = event.x
161
- }
162
- }
163
-
164
- onMounted(() => {
165
- document.addEventListener('mousemove', onMouseMove)
166
- document.addEventListener('mouseup', onMouseUp)
167
- })
168
- onUnmounted(() => {
169
- document.removeEventListener('mousemove', onMouseMove)
170
- document.removeEventListener('mouseup', onMouseUp)
171
- })
172
- </script>
173
-
174
- <style scoped lang="scss">
175
- .title-block__horizontal-container {
176
- display: flex;
177
- flex-direction: row;
178
- gap: 5px;
179
- }
180
-
181
- .title-block__horizontal-container.title-block__new-view {
182
- gap: 0;
183
- height: inherit;
184
- }
185
- .move-separator {
186
- position: absolute;
187
- width: 3px;
188
- height: inherit;
189
- background-color: var(--modal-bg-color);
190
- cursor: col-resize;
191
- z-index: var(--z-fixed);
192
-
193
- &-new-view {
194
- width: 3px;
195
- background: linear-gradient(
196
- to right,
197
- transparent 0,
198
- transparent 1px,
199
- var(--select-file-sprt-color) 1px,
200
- var(--select-file-sprt-color) 2px,
201
- transparent 2px,
202
- transparent 100%
203
- );
204
-
205
- div {
206
- position: relative;
207
-
208
- &::before {
209
- content: '';
210
- width: 2px;
211
- height: 16px;
212
- background-color: var(--select-file-sprt-handler-color);
213
- position: absolute;
214
- left: 0.5px;
215
- border-radius: 2px;
216
- }
217
- }
218
-
219
- &:hover {
220
- div::before {
221
- background-color: var(--select-file-sprt-handler-hover-color);
222
- }
223
- }
224
-
225
- &_selected {
226
- div::before {
227
- background-color: var(
228
- --select-file-sprt-handler-selected-color
229
- ) !important;
230
- }
231
- }
232
- }
233
- }
234
- </style>
1
+ <template>
2
+ <div
3
+ ref="containerBlock"
4
+ :class="[
5
+ `title-block__${props.type}-container`,
6
+ {
7
+ 'title-block__new-view': isNewView,
8
+ },
9
+ ]"
10
+ >
11
+ <slot name="firstBlock"></slot>
12
+ <div
13
+ ref="moveSeperator"
14
+ :class="[
15
+ 'move-separator',
16
+ {
17
+ 'move-separator-new-view': isNewView,
18
+ 'move-separator-new-view_selected':
19
+ sectionSelected && sectionSelectedName === 'first',
20
+ },
21
+ ]"
22
+ :data-id="`${props.testId}-first`"
23
+ :style="seperatorStyles"
24
+ @mousedown="onMouseDown($event, 'first')"
25
+ >
26
+ <div :style="moveSeperatorBeforeStyles"></div>
27
+ </div>
28
+ <slot name="secondBlock"></slot>
29
+ <div
30
+ ref="secondMoveSeperator"
31
+ :class="[
32
+ 'move-separator',
33
+ {
34
+ 'move-separator-new-view': isNewView,
35
+ 'move-separator-new-view_selected':
36
+ sectionSelected && sectionSelectedName === 'second',
37
+ },
38
+ ]"
39
+ :data-id="`${props.testId}-second`"
40
+ :style="secondSeperatorStyles"
41
+ @mousedown="onMouseDown($event, 'second')"
42
+ >
43
+ <div :style="secondMoveSeperatorBeforeStyles"></div>
44
+ </div>
45
+ <slot name="thirdBlock"></slot>
46
+ </div>
47
+ </template>
48
+
49
+ <script setup lang="ts">
50
+ import { useElementSize } from '@vueuse/core'
51
+ import type { UI_T_BlocksWidth } from '~/components/common/browse/blocks/lib/models/types'
52
+
53
+ const props = withDefaults(
54
+ defineProps<{
55
+ type: 'horizontal' | 'vertical'
56
+ blocksWidth: UI_T_BlocksWidth
57
+ testId?: string
58
+ }>(),
59
+ {
60
+ testId: '',
61
+ }
62
+ )
63
+
64
+ const { $store }: any = useNuxtApp()
65
+
66
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
67
+
68
+ const sectionSelected = ref<boolean>(false)
69
+ const sectionSelectedName = ref<string>('')
70
+
71
+ const positionOnDown = ref<number>(0)
72
+
73
+ const containerBlock = ref<HTMLElement | null>(null)
74
+ const { height: heightContainerBlock } = useElementSize(containerBlock)
75
+
76
+ const moveSeperator = ref<HTMLElement | null>(null)
77
+ const { height: heightMoveSeperator } = useElementSize(moveSeperator)
78
+ const moveSeperatorBeforeStyles = ref<any>({})
79
+ watch(
80
+ heightMoveSeperator,
81
+ (newValue) => {
82
+ if (!newValue) return
83
+
84
+ moveSeperatorBeforeStyles.value.top = newValue / 2 + 'px'
85
+ },
86
+ { immediate: true, deep: true }
87
+ )
88
+
89
+ const secondMoveSeperator = ref<HTMLElement | null>(null)
90
+ const { height: heightSecondMoveSeperator } =
91
+ useElementSize(secondMoveSeperator)
92
+ const secondMoveSeperatorBeforeStyles = ref<any>({})
93
+ watch(
94
+ heightSecondMoveSeperator,
95
+ (newValue) => {
96
+ if (!newValue) return
97
+
98
+ secondMoveSeperatorBeforeStyles.value.top = newValue / 2 + 'px'
99
+ },
100
+ { immediate: true, deep: true }
101
+ )
102
+
103
+ // const translation1 = computed<number>(() => (isNewView.value ? 31 : 28))
104
+ // const translation2 = computed<number>(() => (isNewView.value ? 47 : 28))
105
+ const translation = computed<number>(() => (isNewView.value ? 31 : 28))
106
+
107
+ const seperatorStyles = computed(() => ({
108
+ // left: `${props.blocksWidth[0] + translation1.value}px`,
109
+ left: `${props.blocksWidth[0] + translation.value}px`,
110
+ height: `${heightContainerBlock.value}px`,
111
+ }))
112
+ const secondSeperatorStyles = computed(() => ({
113
+ // right: `${props.blocksWidth[2] + translation2.value}px`,
114
+ left: `${props.blocksWidth[0] + props.blocksWidth[1] + translation.value}px`,
115
+ height: `${heightContainerBlock.value}px`,
116
+ }))
117
+
118
+ const emits = defineEmits<{
119
+ (event: 'change-widths', width: number, index: number): void
120
+ }>()
121
+ const onMouseDown = (event: MouseEvent, section: string): void => {
122
+ sectionSelected.value = true
123
+ sectionSelectedName.value = section
124
+ positionOnDown.value = (
125
+ event.target as HTMLDivElement
126
+ ).getBoundingClientRect().x
127
+ }
128
+
129
+ const onMouseMove = (event: MouseEvent): void => {
130
+ if (!sectionSelected.value) return
131
+ event.stopPropagation()
132
+ event.preventDefault()
133
+ event.cancelBubble = true
134
+
135
+ getSeparatorPosition(event, 0, 1, 'first')
136
+ getSeparatorPosition(event, 1, 2, 'second')
137
+ }
138
+ const onMouseUp = (): void => {
139
+ sectionSelected.value = false
140
+ }
141
+
142
+ const minWidth = computed<number>(() => (isNewView.value ? 120 : 30))
143
+
144
+ const getSeparatorPosition = (
145
+ event: MouseEvent,
146
+ firstBlock: number,
147
+ secondBlock: number,
148
+ separator: string
149
+ ): void => {
150
+ if (sectionSelected.value && sectionSelectedName.value === separator) {
151
+ const blockWidth0 =
152
+ props.blocksWidth[firstBlock] - (positionOnDown.value - event.x)
153
+ const blockWidth1 =
154
+ props.blocksWidth[secondBlock] + (positionOnDown.value - event.x)
155
+ if (blockWidth0 < minWidth.value || blockWidth1 < minWidth.value) return
156
+ blockWidth0 >= minWidth.value &&
157
+ emits('change-widths', blockWidth0, firstBlock)
158
+ blockWidth1 >= minWidth.value &&
159
+ emits('change-widths', blockWidth1, secondBlock)
160
+ positionOnDown.value = event.x
161
+ }
162
+ }
163
+
164
+ onMounted(() => {
165
+ document.addEventListener('mousemove', onMouseMove)
166
+ document.addEventListener('mouseup', onMouseUp)
167
+ })
168
+ onUnmounted(() => {
169
+ document.removeEventListener('mousemove', onMouseMove)
170
+ document.removeEventListener('mouseup', onMouseUp)
171
+ })
172
+ </script>
173
+
174
+ <style scoped lang="scss">
175
+ .title-block__horizontal-container {
176
+ display: flex;
177
+ flex-direction: row;
178
+ gap: 5px;
179
+ }
180
+
181
+ .title-block__horizontal-container.title-block__new-view {
182
+ gap: 0;
183
+ height: inherit;
184
+ }
185
+ .move-separator {
186
+ position: absolute;
187
+ width: 3px;
188
+ height: inherit;
189
+ background-color: var(--modal-bg-color);
190
+ cursor: col-resize;
191
+ z-index: var(--z-fixed);
192
+
193
+ &-new-view {
194
+ width: 3px;
195
+ background: linear-gradient(
196
+ to right,
197
+ transparent 0,
198
+ transparent 1px,
199
+ var(--select-file-sprt-color) 1px,
200
+ var(--select-file-sprt-color) 2px,
201
+ transparent 2px,
202
+ transparent 100%
203
+ );
204
+
205
+ div {
206
+ position: relative;
207
+
208
+ &::before {
209
+ content: '';
210
+ width: 2px;
211
+ height: 16px;
212
+ background-color: var(--select-file-sprt-handler-color);
213
+ position: absolute;
214
+ left: 0.5px;
215
+ border-radius: 2px;
216
+ }
217
+ }
218
+
219
+ &:hover {
220
+ div::before {
221
+ background-color: var(--select-file-sprt-handler-hover-color);
222
+ }
223
+ }
224
+
225
+ &_selected {
226
+ div::before {
227
+ background-color: var(
228
+ --select-file-sprt-handler-selected-color
229
+ ) !important;
230
+ }
231
+ }
232
+ }
233
+ }
234
+ </style>
@@ -1,18 +1,18 @@
1
- <template>
2
- <div class="skeleton-wrap">
3
- <ui-skeleton-item height="18px" />
4
- <ui-skeleton-item height="18px" />
5
- <ui-skeleton-item height="18px" />
6
- <ui-skeleton-item height="18px" />
7
- <ui-skeleton-item height="18px" />
8
- </div>
9
- </template>
10
-
11
- <script setup lang="ts"></script>
12
-
13
- <style scoped lang="scss">
14
- .skeleton-wrap {
15
- display: grid;
16
- grid-gap: 12px;
17
- }
18
- </style>
1
+ <template>
2
+ <div class="skeleton-wrap">
3
+ <ui-skeleton-item height="18px" />
4
+ <ui-skeleton-item height="18px" />
5
+ <ui-skeleton-item height="18px" />
6
+ <ui-skeleton-item height="18px" />
7
+ <ui-skeleton-item height="18px" />
8
+ </div>
9
+ </template>
10
+
11
+ <script setup lang="ts"></script>
12
+
13
+ <style scoped lang="scss">
14
+ .skeleton-wrap {
15
+ display: grid;
16
+ grid-gap: 12px;
17
+ }
18
+ </style>
@@ -1,33 +1,33 @@
1
- import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
2
-
3
- export interface UI_I_ContextMenuByEvent {
4
- event: any
5
- node: UI_I_TreeNode
6
- }
7
- export interface UI_I_ContextMenu<T = string> {
8
- x: number
9
- y: number
10
- id: string | number
11
- type: T
12
- titleText: string
13
- titleIconClassName: string
14
- items: UI_I_ContextMenuItem[]
15
- }
16
- export interface UI_I_ContextMenuItem<T = string> {
17
- key: number
18
- name: string
19
- actionType: T | ''
20
- iconClassName: string
21
- items: UI_I_ContextMenuItem<T>[]
22
- shortcut?: string
23
- hasBorderTop?: boolean
24
- isHeader?: boolean
25
- disabled?: boolean
26
- development?: boolean
27
- permission?: string
28
- isShowItems?: boolean
29
- testId?: string
30
- style?: {
31
- color: string
32
- }
33
- }
1
+ import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
2
+
3
+ export interface UI_I_ContextMenuByEvent {
4
+ event: any
5
+ node: UI_I_TreeNode
6
+ }
7
+ export interface UI_I_ContextMenu<T = string> {
8
+ x: number
9
+ y: number
10
+ id: string | number
11
+ type: T
12
+ titleText: string
13
+ titleIconClassName: string
14
+ items: UI_I_ContextMenuItem[]
15
+ }
16
+ export interface UI_I_ContextMenuItem<T = string> {
17
+ key: number
18
+ name: string
19
+ actionType: T | ''
20
+ iconClassName: string
21
+ items: UI_I_ContextMenuItem<T>[]
22
+ shortcut?: string
23
+ hasBorderTop?: boolean
24
+ isHeader?: boolean
25
+ disabled?: boolean
26
+ development?: boolean
27
+ permission?: string
28
+ isShowItems?: boolean
29
+ testId?: string
30
+ style?: {
31
+ color: string
32
+ }
33
+ }