bfg-common 1.5.442 → 1.5.444

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 (212) 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 +9 -2
  7. package/assets/localization/local_en.json +19 -12
  8. package/assets/localization/local_hy.json +9 -2
  9. package/assets/localization/local_kk.json +9 -2
  10. package/assets/localization/local_ru.json +9 -2
  11. package/assets/localization/local_zh.json +9 -2
  12. package/components/atoms/TheIcon3.vue +50 -50
  13. package/components/atoms/collapse/CollapseNav.vue +170 -170
  14. package/components/atoms/perPage/PerPage.vue +58 -58
  15. package/components/atoms/table/dataGrid/DataGrid.vue +1694 -1694
  16. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  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/atoms/wizard/Wizard.vue +2 -2
  20. package/components/atoms/wizard/step/Step.vue +1 -1
  21. package/components/common/backup/storage/actions/add/Add.vue +5 -5
  22. package/components/common/backup/storage/actions/add/Old.vue +1 -1
  23. package/components/common/backup/storage/actions/add/lib/config/steps.ts +2 -2
  24. package/components/common/backup/storage/actions/add/lib/validations.ts +4 -4
  25. package/components/common/backup/storage/actions/add/steps/name/Name.vue +1 -1
  26. package/components/common/backup/storage/actions/add/steps/name/New.vue +1 -1
  27. package/components/common/backup/storage/actions/add/steps/name/Old.vue +1 -1
  28. package/components/common/backup/storage/actions/add/steps/nameAndConfigure/NameAndConfigure.vue +1 -1
  29. package/components/common/backup/storage/actions/add/steps/nameAndConfigure/NameAndConfigureNew.vue +1 -1
  30. package/components/common/backup/storage/actions/add/steps/nameAndConfigure/NameAndConfigureOld.vue +1 -1
  31. package/components/common/browse/blocks/Container.vue +235 -235
  32. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  33. package/components/common/context/lib/models/interfaces.ts +33 -33
  34. package/components/common/diagramMain/modals/lib/config/networkModal.ts +398 -398
  35. package/components/common/diagramMain/modals/lib/config/portModal.ts +251 -251
  36. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  37. package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +5 -5
  38. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +2 -2
  39. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +2 -2
  40. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +5 -5
  41. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +2 -2
  42. package/components/common/diagramMain/port/Port.vue +580 -580
  43. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  44. package/components/common/pages/backups/Backups.vue +102 -102
  45. package/components/common/pages/backups/DetailView.vue +52 -52
  46. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  47. package/components/common/pages/backups/modals/Modals.vue +1 -1
  48. package/components/common/pages/backups/modals/createBackup/CreateBackup.vue +5 -2
  49. package/components/common/pages/backups/modals/createBackup/configuration/Configuration.vue +29 -29
  50. package/components/common/pages/backups/modals/createBackup/configuration/backupWindow/BackupWindow.vue +26 -26
  51. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/MaxBandwidth.vue +66 -66
  52. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  53. package/components/common/pages/backups/modals/createBackup/configuration/strategy/Strategy.vue +35 -35
  54. package/components/common/pages/backups/modals/createBackup/datastores/Datastores.vue +59 -59
  55. package/components/common/pages/backups/modals/createBackup/datastores/tableView/TableView.vue +95 -95
  56. package/components/common/pages/backups/modals/createBackup/disks/tableView/lib/config/table.ts +117 -117
  57. package/components/common/pages/backups/modals/createBackup/general/General.vue +135 -135
  58. package/components/common/pages/backups/modals/createBackup/lib/config/steps.ts +2 -2
  59. package/components/common/pages/backups/modals/createBackup/lib/config/strategyOptions.ts +12 -12
  60. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  61. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  62. package/components/common/pages/backups/modals/restore/Restore.vue +3 -3
  63. package/components/common/pages/backups/modals/restore/disks/Disks.vue +27 -27
  64. package/components/common/pages/backups/modals/restore/disks/tableView/TableView.vue +102 -102
  65. package/components/common/pages/backups/modals/restore/disks/tableView/lib/config/table.ts +117 -117
  66. package/components/common/pages/backups/modals/restore/lib/config/steps.ts +2 -2
  67. package/components/common/pages/backups/modals/restore/name/Name.vue +160 -160
  68. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  69. package/components/common/pages/backups/modals/restore/networks/Networks.vue +67 -67
  70. package/components/common/pages/backups/modals/restore/networks/table/Table.vue +214 -214
  71. package/components/common/pages/backups/modals/restore/types/lib/config/typeOptions.ts +25 -25
  72. package/components/common/pages/backups/tools/Tools.vue +75 -75
  73. package/components/common/pages/backups/tools/lib/config/tabs.ts +36 -36
  74. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  75. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  76. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  77. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  78. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  79. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  80. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  81. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  82. package/components/common/select/radio/RadioGroup.vue +137 -137
  83. package/components/common/spiceConsole/Drawer.vue +381 -381
  84. package/components/common/spiceConsole/SpiceConsole.vue +127 -127
  85. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  86. package/components/common/tools/Actions.vue +207 -207
  87. package/components/common/treeView/TreeView.vue +52 -52
  88. package/components/common/vm/actions/add/Add.vue +5 -5
  89. package/components/common/vm/actions/add/New.vue +2 -2
  90. package/components/common/vm/actions/add/Old.vue +2 -2
  91. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  92. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  93. package/components/common/vm/actions/add/lib/config/steps.ts +2 -2
  94. package/components/common/vm/actions/clone/Clone.vue +5 -5
  95. package/components/common/vm/actions/clone/lib/config/steps.ts +2 -2
  96. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +5 -5
  97. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +2 -2
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +78 -78
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +2 -0
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +85 -85
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/maximumSize/MaximumSize.vue +23 -23
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +99 -99
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
  119. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  120. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  121. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  122. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  123. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapOld.vue +44 -44
  124. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  125. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  126. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  127. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  128. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +143 -143
  129. package/components/common/vm/actions/common/select/computeResource/New.vue +184 -184
  130. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +131 -131
  131. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  132. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  133. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  134. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  135. package/components/common/vm/actions/common/select/storage/new/New.vue +320 -320
  136. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  137. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  138. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  139. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  140. package/components/common/vmt/actions/add/Add.vue +5 -5
  141. package/components/common/vmt/actions/add/New.vue +2 -3
  142. package/components/common/vmt/actions/add/Old.vue +2 -2
  143. package/components/common/vmt/actions/add/lib/config/steps.ts +2 -2
  144. package/components/common/wizards/datastore/add/Add.vue +2 -2
  145. package/components/common/wizards/datastore/add/Old.vue +2 -2
  146. package/components/common/wizards/datastore/add/lib/config/steps.ts +2 -2
  147. package/components/common/wizards/datastore/add/lib/utils.ts +1 -1
  148. package/components/common/wizards/datastore/add/lib/validations.ts +3 -3
  149. package/components/common/wizards/datastore/add/steps/_local/Local.vue +1 -1
  150. package/components/common/wizards/datastore/add/steps/_local/createName/CreateName.vue +1 -1
  151. package/components/common/wizards/datastore/add/steps/nameAndConfigure/NameAndConfigure.vue +2 -1
  152. package/components/common/wizards/datastore/add/steps/nameAndConfigure/NameAndConfigureNew.vue +1 -1
  153. package/components/common/wizards/datastore/add/steps/nameAndConfigure/NameAndConfigureOld.vue +1 -1
  154. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDevice.vue +1 -1
  155. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceNew.vue +1 -1
  156. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceOld.vue +1 -1
  157. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  158. package/components/common/wizards/network/add/Add.vue +109 -333
  159. package/components/common/wizards/network/add/AddNew.vue +514 -0
  160. package/components/common/wizards/network/add/AddOld.vue +457 -0
  161. package/components/common/wizards/network/add/lib/config/config.ts +11 -1
  162. package/components/common/wizards/network/add/lib/config/selectConnectionTypeStep.ts +31 -0
  163. package/components/common/wizards/network/add/lib/config/selectSwitch.ts +217 -0
  164. package/components/common/wizards/network/add/lib/config/steps.ts +5 -5
  165. package/components/common/wizards/network/add/lib/models/interfaces.ts +9 -0
  166. package/components/common/wizards/network/add/steps/ConnectionSettings.vue +2 -2
  167. package/components/common/wizards/network/add/steps/IpFourSettings.vue +2 -2
  168. package/components/common/wizards/network/add/steps/PortProperties.vue +2 -2
  169. package/components/common/wizards/network/add/steps/selectConnectionType/SelectConnectionType.vue +35 -0
  170. package/components/common/wizards/network/add/steps/selectConnectionType/SelectConnectionTypeNew.vue +104 -0
  171. package/components/common/wizards/network/add/steps/selectConnectionType/SelectConnectionTypeOld.vue +80 -0
  172. package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDevice.vue +183 -0
  173. package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceNew.vue +393 -0
  174. package/components/common/wizards/network/add/steps/{SelectedTargetDevice.vue → selectTargetDevice/SelectTargetDeviceOld.vue} +42 -139
  175. package/components/common/wizards/network/add/steps/selectTargetDevice/modals/Modals.vue +55 -0
  176. package/components/common/wizards/network/add/steps/selectTargetDevice/modals/SelectNetwork.vue +64 -0
  177. package/components/common/wizards/network/add/steps/selectTargetDevice/modals/SelectStandardSwitch.vue +64 -0
  178. package/components/common/wizards/network/add/steps/selectTargetDevice/modals/SelectSwitch.vue +64 -0
  179. package/components/common/wizards/network/add/steps/selectTargetDevice/modals/new/SelectNetwork.vue +163 -0
  180. package/components/common/wizards/network/add/steps/selectTargetDevice/modals/new/SelectStandardSwitch.vue +163 -0
  181. package/components/common/wizards/network/add/steps/selectTargetDevice/modals/new/SelectSwitch.vue +163 -0
  182. package/components/common/wizards/network/add/{modals → steps/selectTargetDevice/modals/old}/SelectNetwork.vue +53 -56
  183. package/components/common/wizards/network/add/{modals → steps/selectTargetDevice/modals/old}/SelectStandardSwitch.vue +37 -52
  184. package/components/common/wizards/network/add/{modals → steps/selectTargetDevice/modals/old}/SelectSwitch.vue +38 -42
  185. package/components/common/wizards/network/add/validations/connectionSettings.ts +5 -5
  186. package/components/common/wizards/network/add/validations/createStandardSwitch.ts +4 -4
  187. package/components/common/wizards/network/add/validations/ipFourSettings.ts +5 -5
  188. package/components/common/wizards/network/add/validations/networkValidation.ts +4 -4
  189. package/components/common/wizards/network/add/validations/physicalAdapter.ts +4 -4
  190. package/components/common/wizards/network/add/validations/portProperties.ts +2 -2
  191. package/components/common/wizards/network/add/validations/targetDevice.ts +11 -10
  192. package/components/common/wizards/vm/migrate/Migrate.vue +2 -2
  193. package/components/common/wizards/vm/migrate/lib/config/steps.ts +2 -2
  194. package/components/common/wizards/vm/migrate/lib/validations.ts +3 -3
  195. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  196. package/components/common/wizards/vm/migrate/select/targetServer/new/New.vue +1 -1
  197. package/components/common/wizards/vm/migrate/select/targetServer/targetServer.vue +1 -1
  198. package/components/common/wizards/vm/migrate/select/type/lib/config/typeOptions.ts +45 -45
  199. package/composables/productNameLocal.ts +30 -30
  200. package/composables/useAppVersion.ts +21 -21
  201. package/package.json +2 -2
  202. package/plugins/date.ts +233 -233
  203. package/plugins/panelStates.ts +70 -70
  204. package/plugins/text.ts +59 -59
  205. package/public/spice-console/lib/images/bitmap.js +203 -203
  206. package/public/spice-console/network/spicechannel.js +390 -390
  207. package/store/main/mutations.ts +7 -7
  208. package/store/main/state.ts +7 -7
  209. package/components/atoms/wizard/lib/models/enums.ts +0 -8
  210. package/components/atoms/wizard/lib/models/interfaces.ts +0 -59
  211. package/components/atoms/wizard/lib/utils/utils.ts +0 -954
  212. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +0 -112
@@ -1,235 +1,235 @@
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.prevent="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.prevent="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 emits = defineEmits<{
65
- (event: 'change-widths', width: number, index: number): void
66
- }>()
67
-
68
- const { $store }: any = useNuxtApp()
69
-
70
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
71
-
72
- const sectionSelected = ref<boolean>(false)
73
- const sectionSelectedName = ref<string>('')
74
-
75
- const positionOnDown = ref<number>(0)
76
-
77
- const containerBlock = ref<HTMLElement | null>(null)
78
- const { height: heightContainerBlock } = useElementSize(containerBlock)
79
-
80
- const moveSeperator = ref<HTMLElement | null>(null)
81
- const { height: heightMoveSeperator } = useElementSize(moveSeperator)
82
- const moveSeperatorBeforeStyles = ref<any>({})
83
- watch(
84
- heightMoveSeperator,
85
- (newValue) => {
86
- if (!newValue) return
87
-
88
- moveSeperatorBeforeStyles.value.top = newValue / 2 + 'px'
89
- },
90
- { immediate: true, deep: true }
91
- )
92
-
93
- const secondMoveSeperator = ref<HTMLElement | null>(null)
94
- const { height: heightSecondMoveSeperator } =
95
- useElementSize(secondMoveSeperator)
96
- const secondMoveSeperatorBeforeStyles = ref<any>({})
97
- watch(
98
- heightSecondMoveSeperator,
99
- (newValue) => {
100
- if (!newValue) return
101
-
102
- secondMoveSeperatorBeforeStyles.value.top = newValue / 2 + 'px'
103
- },
104
- { immediate: true, deep: true }
105
- )
106
-
107
- // const translation1 = computed<number>(() => (isNewView.value ? 31 : 28))
108
- // const translation2 = computed<number>(() => (isNewView.value ? 47 : 28))
109
- // const translation = computed<number>(() => (isNewView.value ? 31 : 28))
110
-
111
- const seperatorStyles = computed(() => ({
112
- // left: `${props.blocksWidth[0] + translation1.value}px`,
113
- left: `${props.blocksWidth[0]}px`,
114
- height: `${heightContainerBlock.value}px`,
115
- }))
116
- const secondSeperatorStyles = computed(() => ({
117
- // right: `${props.blocksWidth[2] + translation2.value}px`,
118
- left: `${props.blocksWidth[0] + props.blocksWidth[1]}px`,
119
- height: `${heightContainerBlock.value}px`,
120
- }))
121
-
122
- const onMouseDown = (event: MouseEvent, section: string): void => {
123
- sectionSelected.value = true
124
- sectionSelectedName.value = section
125
- positionOnDown.value = (
126
- event.target as HTMLDivElement
127
- ).getBoundingClientRect().x
128
- }
129
-
130
- const onMouseMove = (event: MouseEvent): void => {
131
- if (!sectionSelected.value) return
132
- event.stopPropagation()
133
- event.preventDefault()
134
- event.cancelBubble = true
135
-
136
- getSeparatorPosition(event, 0, 1, 'first')
137
- getSeparatorPosition(event, 1, 2, 'second')
138
- }
139
- const onMouseUp = (): void => {
140
- sectionSelected.value = false
141
- }
142
-
143
- const minWidth = computed<number>(() => (isNewView.value ? 120 : 30))
144
-
145
- const getSeparatorPosition = (
146
- event: MouseEvent,
147
- firstBlock: number,
148
- secondBlock: number,
149
- separator: string
150
- ): void => {
151
- if (sectionSelected.value && sectionSelectedName.value === separator) {
152
- const blockWidth0 =
153
- props.blocksWidth[firstBlock] - (positionOnDown.value - event.x)
154
- const blockWidth1 =
155
- props.blocksWidth[secondBlock] + (positionOnDown.value - event.x)
156
- if (blockWidth0 < minWidth.value || blockWidth1 < minWidth.value) return
157
- blockWidth0 >= minWidth.value &&
158
- emits('change-widths', blockWidth0, firstBlock)
159
- blockWidth1 >= minWidth.value &&
160
- emits('change-widths', blockWidth1, secondBlock)
161
- positionOnDown.value = event.x
162
- }
163
- }
164
-
165
- onMounted(() => {
166
- document.addEventListener('mousemove', onMouseMove)
167
- document.addEventListener('mouseup', onMouseUp)
168
- })
169
- onUnmounted(() => {
170
- document.removeEventListener('mousemove', onMouseMove)
171
- document.removeEventListener('mouseup', onMouseUp)
172
- })
173
- </script>
174
-
175
- <style scoped lang="scss">
176
- .title-block__horizontal-container {
177
- display: flex;
178
- flex-direction: row;
179
- gap: 5px;
180
- }
181
-
182
- .title-block__horizontal-container.title-block__new-view {
183
- gap: 0;
184
- height: inherit;
185
- }
186
- .move-separator {
187
- position: absolute;
188
- width: 3px;
189
- height: inherit;
190
- background-color: var(--modal-bg-color);
191
- cursor: col-resize;
192
- z-index: var(--z-fixed);
193
-
194
- &-new-view {
195
- width: 3px;
196
- background: linear-gradient(
197
- to right,
198
- transparent 0,
199
- transparent 1px,
200
- var(--select-file-sprt-color) 1px,
201
- var(--select-file-sprt-color) 2px,
202
- transparent 2px,
203
- transparent 100%
204
- );
205
-
206
- div {
207
- position: relative;
208
-
209
- &::before {
210
- content: '';
211
- width: 2px;
212
- height: 16px;
213
- background-color: var(--select-file-sprt-handler-color);
214
- position: absolute;
215
- left: 0.5px;
216
- border-radius: 2px;
217
- }
218
- }
219
-
220
- &:hover {
221
- div::before {
222
- background-color: var(--select-file-sprt-handler-hover-color);
223
- }
224
- }
225
-
226
- &_selected {
227
- div::before {
228
- background-color: var(
229
- --select-file-sprt-handler-selected-color
230
- ) !important;
231
- }
232
- }
233
- }
234
- }
235
- </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.prevent="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.prevent="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 emits = defineEmits<{
65
+ (event: 'change-widths', width: number, index: number): void
66
+ }>()
67
+
68
+ const { $store }: any = useNuxtApp()
69
+
70
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
71
+
72
+ const sectionSelected = ref<boolean>(false)
73
+ const sectionSelectedName = ref<string>('')
74
+
75
+ const positionOnDown = ref<number>(0)
76
+
77
+ const containerBlock = ref<HTMLElement | null>(null)
78
+ const { height: heightContainerBlock } = useElementSize(containerBlock)
79
+
80
+ const moveSeperator = ref<HTMLElement | null>(null)
81
+ const { height: heightMoveSeperator } = useElementSize(moveSeperator)
82
+ const moveSeperatorBeforeStyles = ref<any>({})
83
+ watch(
84
+ heightMoveSeperator,
85
+ (newValue) => {
86
+ if (!newValue) return
87
+
88
+ moveSeperatorBeforeStyles.value.top = newValue / 2 + 'px'
89
+ },
90
+ { immediate: true, deep: true }
91
+ )
92
+
93
+ const secondMoveSeperator = ref<HTMLElement | null>(null)
94
+ const { height: heightSecondMoveSeperator } =
95
+ useElementSize(secondMoveSeperator)
96
+ const secondMoveSeperatorBeforeStyles = ref<any>({})
97
+ watch(
98
+ heightSecondMoveSeperator,
99
+ (newValue) => {
100
+ if (!newValue) return
101
+
102
+ secondMoveSeperatorBeforeStyles.value.top = newValue / 2 + 'px'
103
+ },
104
+ { immediate: true, deep: true }
105
+ )
106
+
107
+ // const translation1 = computed<number>(() => (isNewView.value ? 31 : 28))
108
+ // const translation2 = computed<number>(() => (isNewView.value ? 47 : 28))
109
+ // const translation = computed<number>(() => (isNewView.value ? 31 : 28))
110
+
111
+ const seperatorStyles = computed(() => ({
112
+ // left: `${props.blocksWidth[0] + translation1.value}px`,
113
+ left: `${props.blocksWidth[0]}px`,
114
+ height: `${heightContainerBlock.value}px`,
115
+ }))
116
+ const secondSeperatorStyles = computed(() => ({
117
+ // right: `${props.blocksWidth[2] + translation2.value}px`,
118
+ left: `${props.blocksWidth[0] + props.blocksWidth[1]}px`,
119
+ height: `${heightContainerBlock.value}px`,
120
+ }))
121
+
122
+ const onMouseDown = (event: MouseEvent, section: string): void => {
123
+ sectionSelected.value = true
124
+ sectionSelectedName.value = section
125
+ positionOnDown.value = (
126
+ event.target as HTMLDivElement
127
+ ).getBoundingClientRect().x
128
+ }
129
+
130
+ const onMouseMove = (event: MouseEvent): void => {
131
+ if (!sectionSelected.value) return
132
+ event.stopPropagation()
133
+ event.preventDefault()
134
+ event.cancelBubble = true
135
+
136
+ getSeparatorPosition(event, 0, 1, 'first')
137
+ getSeparatorPosition(event, 1, 2, 'second')
138
+ }
139
+ const onMouseUp = (): void => {
140
+ sectionSelected.value = false
141
+ }
142
+
143
+ const minWidth = computed<number>(() => (isNewView.value ? 120 : 30))
144
+
145
+ const getSeparatorPosition = (
146
+ event: MouseEvent,
147
+ firstBlock: number,
148
+ secondBlock: number,
149
+ separator: string
150
+ ): void => {
151
+ if (sectionSelected.value && sectionSelectedName.value === separator) {
152
+ const blockWidth0 =
153
+ props.blocksWidth[firstBlock] - (positionOnDown.value - event.x)
154
+ const blockWidth1 =
155
+ props.blocksWidth[secondBlock] + (positionOnDown.value - event.x)
156
+ if (blockWidth0 < minWidth.value || blockWidth1 < minWidth.value) return
157
+ blockWidth0 >= minWidth.value &&
158
+ emits('change-widths', blockWidth0, firstBlock)
159
+ blockWidth1 >= minWidth.value &&
160
+ emits('change-widths', blockWidth1, secondBlock)
161
+ positionOnDown.value = event.x
162
+ }
163
+ }
164
+
165
+ onMounted(() => {
166
+ document.addEventListener('mousemove', onMouseMove)
167
+ document.addEventListener('mouseup', onMouseUp)
168
+ })
169
+ onUnmounted(() => {
170
+ document.removeEventListener('mousemove', onMouseMove)
171
+ document.removeEventListener('mouseup', onMouseUp)
172
+ })
173
+ </script>
174
+
175
+ <style scoped lang="scss">
176
+ .title-block__horizontal-container {
177
+ display: flex;
178
+ flex-direction: row;
179
+ gap: 5px;
180
+ }
181
+
182
+ .title-block__horizontal-container.title-block__new-view {
183
+ gap: 0;
184
+ height: inherit;
185
+ }
186
+ .move-separator {
187
+ position: absolute;
188
+ width: 3px;
189
+ height: inherit;
190
+ background-color: var(--modal-bg-color);
191
+ cursor: col-resize;
192
+ z-index: var(--z-fixed);
193
+
194
+ &-new-view {
195
+ width: 3px;
196
+ background: linear-gradient(
197
+ to right,
198
+ transparent 0,
199
+ transparent 1px,
200
+ var(--select-file-sprt-color) 1px,
201
+ var(--select-file-sprt-color) 2px,
202
+ transparent 2px,
203
+ transparent 100%
204
+ );
205
+
206
+ div {
207
+ position: relative;
208
+
209
+ &::before {
210
+ content: '';
211
+ width: 2px;
212
+ height: 16px;
213
+ background-color: var(--select-file-sprt-handler-color);
214
+ position: absolute;
215
+ left: 0.5px;
216
+ border-radius: 2px;
217
+ }
218
+ }
219
+
220
+ &:hover {
221
+ div::before {
222
+ background-color: var(--select-file-sprt-handler-hover-color);
223
+ }
224
+ }
225
+
226
+ &_selected {
227
+ div::before {
228
+ background-color: var(
229
+ --select-file-sprt-handler-selected-color
230
+ ) !important;
231
+ }
232
+ }
233
+ }
234
+ }
235
+ </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
+ }