bfg-common 1.5.197 → 1.5.199

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 (157) 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 +5 -4
  7. package/assets/localization/local_en.json +5 -4
  8. package/assets/localization/local_hy.json +5 -4
  9. package/assets/localization/local_kk.json +5 -4
  10. package/assets/localization/local_ru.json +5 -4
  11. package/assets/localization/local_zh.json +5 -4
  12. package/components/atoms/TheIcon3.vue +50 -50
  13. package/components/atoms/dropdown/Portlet.vue +1 -1
  14. package/components/atoms/perPage/PerPage.vue +58 -58
  15. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  16. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  17. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  18. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  19. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  20. package/components/common/browse/lib/models/interfaces.ts +5 -5
  21. package/components/common/context/lib/models/interfaces.ts +31 -31
  22. package/components/common/context/recursion/RecursionNew.vue +238 -238
  23. package/components/common/diagramMain/DiagramMain.vue +897 -897
  24. package/components/common/diagramMain/Header.vue +214 -214
  25. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  26. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  27. package/components/common/diagramMain/lib/models/types.ts +21 -21
  28. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  29. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -40
  30. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
  31. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
  32. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
  33. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
  34. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
  35. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  36. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  37. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
  38. package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
  39. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  40. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
  41. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  42. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  43. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  44. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  45. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  46. package/components/common/diagramMain/port/Ports.vue +47 -47
  47. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  48. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  49. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  50. package/components/common/pages/home/headline/Headline.vue +45 -45
  51. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  52. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  53. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  54. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  55. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  56. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  57. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  58. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  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/pages/packages/Packages.vue +208 -208
  62. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  63. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  64. package/components/common/recursionTree/RecursionTree.vue +223 -223
  65. package/components/common/select/button/ButtonDropdown.vue +108 -108
  66. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  67. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  68. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  69. package/components/common/vm/actions/add/folderTreeView/Old.vue +50 -50
  70. package/components/common/vm/actions/add/lib/config/steps.ts +263 -263
  71. package/components/common/vm/actions/clone/lib/config/steps.ts +291 -291
  72. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  73. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +337 -337
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +480 -480
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +100 -100
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +78 -78
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +17 -2
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +190 -190
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/model/ModelNew.vue +237 -237
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/TooltipNew.vue +154 -154
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +304 -288
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryNew.vue +154 -154
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +382 -375
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +289 -289
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +151 -151
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationNew.vue +73 -73
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +83 -83
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +94 -94
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  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/other/inputDevices/InputDevicesNew.vue +40 -40
  112. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  113. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +106 -106
  114. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +81 -81
  115. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  116. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  117. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  118. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +67 -67
  119. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +149 -149
  120. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  121. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +31 -31
  122. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +31 -31
  123. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  124. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +128 -128
  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/UsbRedirectionNew.vue +39 -39
  127. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  128. package/components/common/vm/actions/common/lib/utils/capabilities.ts +52 -52
  129. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  130. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +134 -134
  131. package/components/common/vm/actions/common/select/computeResource/treeView/New.vue +44 -44
  132. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +118 -118
  133. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  134. package/components/common/vm/actions/common/select/createType/New.vue +84 -84
  135. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  136. package/components/common/vm/actions/common/select/name/Name.vue +167 -167
  137. package/components/common/vm/actions/common/select/os/New.vue +122 -122
  138. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  139. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  140. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  141. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  142. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  143. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  144. package/components/common/wizards/vm/migrate/lib/config/steps.ts +157 -157
  145. package/components/common/wizards/vm/migrate/lib/validations.ts +68 -68
  146. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +137 -137
  147. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  148. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  149. package/composables/productNameLocal.ts +30 -30
  150. package/composables/useAppVersion.ts +21 -21
  151. package/package.json +2 -2
  152. package/plugins/date.ts +233 -233
  153. package/public/spice-console/lib/images/bitmap.js +203 -203
  154. package/public/spice-console/network/spicechannel.js +383 -383
  155. package/store/main/mutations.ts +7 -7
  156. package/store/main/state.ts +7 -7
  157. package/store/tasks/mappers/recentTasks.ts +64 -64
@@ -1,44 +1,44 @@
1
- <template>
2
- <div class="tree-view">
3
- <ui-tree
4
- :nodes="props.computeResourceTree"
5
- :expand-all="false"
6
- :is-loading="props.loading"
7
- @toggle-node="onShowNodes"
8
- @select-node="emits('select-node', $event)"
9
- >
10
- <template #content="{ node }">
11
- <div class="flex-align-center">
12
- <span :class="['node-icon', node.iconClassName]"></span>
13
- <span class="node-name">{{ node.name }}</span>
14
- </div>
15
- </template>
16
- </ui-tree>
17
- </div>
18
- </template>
19
-
20
- <script setup lang="ts">
21
- import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
22
-
23
- const props = defineProps<{
24
- computeResourceTree: UI_I_TreeNode[]
25
- loading: boolean
26
- }>()
27
-
28
- const emits = defineEmits<{
29
- (
30
- event: 'show-nodes',
31
- value: {
32
- node: UI_I_TreeNode
33
- cb: () => void
34
- }
35
- ): void
36
- (event: 'select-node', value: UI_I_TreeNode): void
37
- }>()
38
-
39
- const onShowNodes = (node: UI_I_TreeNode) => {
40
- emits('show-nodes', { node, cb: (): void => {} })
41
- }
42
- </script>
43
-
44
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <div class="tree-view">
3
+ <ui-tree
4
+ :nodes="props.computeResourceTree"
5
+ :expand-all="false"
6
+ :is-loading="props.loading"
7
+ @toggle-node="onShowNodes"
8
+ @select-node="emits('select-node', $event)"
9
+ >
10
+ <template #content="{ node }">
11
+ <div class="flex-align-center">
12
+ <span :class="['node-icon', node.iconClassName]"></span>
13
+ <span class="node-name">{{ node.name }}</span>
14
+ </div>
15
+ </template>
16
+ </ui-tree>
17
+ </div>
18
+ </template>
19
+
20
+ <script setup lang="ts">
21
+ import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
22
+
23
+ const props = defineProps<{
24
+ computeResourceTree: UI_I_TreeNode[]
25
+ loading: boolean
26
+ }>()
27
+
28
+ const emits = defineEmits<{
29
+ (
30
+ event: 'show-nodes',
31
+ value: {
32
+ node: UI_I_TreeNode
33
+ cb: () => void
34
+ }
35
+ ): void
36
+ (event: 'select-node', value: UI_I_TreeNode): void
37
+ }>()
38
+
39
+ const onShowNodes = (node: UI_I_TreeNode) => {
40
+ emits('show-nodes', { node, cb: (): void => {} })
41
+ }
42
+ </script>
43
+
44
+ <style scoped lang="scss"></style>
@@ -1,118 +1,118 @@
1
- <template>
2
- <common-vm-actions-common-select-compute-resource-tree-view-new
3
- v-if="isNewView"
4
- :compute-resource-tree="props.computeResourceTree"
5
- :loading="loading"
6
- @show-nodes="onShowNodes"
7
- @select-node="onSelectNode"
8
- />
9
- <common-vm-actions-common-select-compute-resource-tree-view-old
10
- v-else
11
- :compute-resource-tree="props.computeResourceTree"
12
- :loading="loading"
13
- @show-nodes="onShowNodes"
14
- @select-node="onSelectNode"
15
- />
16
- </template>
17
-
18
- <script setup lang="ts">
19
- import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
20
-
21
- const model = defineModel<UI_I_TreeNode>('modelValue', { required: true })
22
-
23
- const props = defineProps<{
24
- dataCenter: UI_I_TreeNode | null
25
- computeResource: UI_I_TreeNode
26
- computeResourceTree: UI_I_TreeNode[]
27
- }>()
28
-
29
- const emits = defineEmits<{
30
- (
31
- event: 'get-compute-resource-tree',
32
- value: { id: string | number; cb: () => void }
33
- ): void
34
- (event: 'show-compute-resource-tree', value: UI_I_TreeNode): void
35
- (event: 'select-compute-resource-tree', value: UI_I_TreeNode): void
36
- (event: 'clear-compute-resource-tree'): void
37
- }>()
38
-
39
- const { $store }: any = useNuxtApp()
40
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
41
-
42
- const loading = ref<boolean>(false)
43
- watch(
44
- () => props.dataCenter,
45
- async () => {
46
- if (!props.dataCenter) return
47
-
48
- loading.value = true
49
- emits('get-compute-resource-tree', {
50
- id: props.dataCenter.id,
51
- cb: () => {
52
- let node = model.value
53
- let hasNode = checkHasNodeRecursion(
54
- props.computeResourceTree[0].nodes,
55
- node
56
- )
57
- if (!hasNode) {
58
- node = props.computeResource
59
- hasNode = checkHasNodeRecursion(
60
- props.computeResourceTree[0].nodes,
61
- node
62
- )
63
- }
64
- if (!hasNode) {
65
- node = props.computeResourceTree[0]
66
- }
67
- loading.value = false
68
-
69
- if (!node) return
70
- onSelectNode(node)
71
- },
72
- })
73
- },
74
- { immediate: true, deep: true }
75
- )
76
- const checkHasNodeRecursion = (
77
- nodes: UI_I_TreeNode[],
78
- node: UI_I_TreeNode | null
79
- ): boolean => {
80
- if (!node) return false
81
-
82
- let has = false
83
- for (let i = 0; i < nodes.length; i++) {
84
- const item = nodes[i]
85
-
86
- if (item.id === node.id && item.type === node.type) {
87
- has = true
88
- break
89
- }
90
- if (has) break
91
-
92
- has = checkHasNodeRecursion(item.nodes, node)
93
- }
94
- return has
95
- }
96
-
97
- const onShowNodes = ({
98
- node,
99
- cb,
100
- }: {
101
- node: UI_I_TreeNode
102
- cb: () => void
103
- }): void => {
104
- emits('show-compute-resource-tree', node)
105
- cb()
106
- }
107
- const onSelectNode = (node: UI_I_TreeNode): void => {
108
- emits('select-compute-resource-tree', node)
109
-
110
- model.value = node
111
- }
112
-
113
- onUnmounted(() => {
114
- emits('clear-compute-resource-tree')
115
- })
116
- </script>
117
-
118
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <common-vm-actions-common-select-compute-resource-tree-view-new
3
+ v-if="isNewView"
4
+ :compute-resource-tree="props.computeResourceTree"
5
+ :loading="loading"
6
+ @show-nodes="onShowNodes"
7
+ @select-node="onSelectNode"
8
+ />
9
+ <common-vm-actions-common-select-compute-resource-tree-view-old
10
+ v-else
11
+ :compute-resource-tree="props.computeResourceTree"
12
+ :loading="loading"
13
+ @show-nodes="onShowNodes"
14
+ @select-node="onSelectNode"
15
+ />
16
+ </template>
17
+
18
+ <script setup lang="ts">
19
+ import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
20
+
21
+ const model = defineModel<UI_I_TreeNode>('modelValue', { required: true })
22
+
23
+ const props = defineProps<{
24
+ dataCenter: UI_I_TreeNode | null
25
+ computeResource: UI_I_TreeNode
26
+ computeResourceTree: UI_I_TreeNode[]
27
+ }>()
28
+
29
+ const emits = defineEmits<{
30
+ (
31
+ event: 'get-compute-resource-tree',
32
+ value: { id: string | number; cb: () => void }
33
+ ): void
34
+ (event: 'show-compute-resource-tree', value: UI_I_TreeNode): void
35
+ (event: 'select-compute-resource-tree', value: UI_I_TreeNode): void
36
+ (event: 'clear-compute-resource-tree'): void
37
+ }>()
38
+
39
+ const { $store }: any = useNuxtApp()
40
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
41
+
42
+ const loading = ref<boolean>(false)
43
+ watch(
44
+ () => props.dataCenter,
45
+ async () => {
46
+ if (!props.dataCenter) return
47
+
48
+ loading.value = true
49
+ emits('get-compute-resource-tree', {
50
+ id: props.dataCenter.id,
51
+ cb: () => {
52
+ let node = model.value
53
+ let hasNode = checkHasNodeRecursion(
54
+ props.computeResourceTree[0].nodes,
55
+ node
56
+ )
57
+ if (!hasNode) {
58
+ node = props.computeResource
59
+ hasNode = checkHasNodeRecursion(
60
+ props.computeResourceTree[0].nodes,
61
+ node
62
+ )
63
+ }
64
+ if (!hasNode) {
65
+ node = props.computeResourceTree[0]
66
+ }
67
+ loading.value = false
68
+
69
+ if (!node) return
70
+ onSelectNode(node)
71
+ },
72
+ })
73
+ },
74
+ { immediate: true, deep: true }
75
+ )
76
+ const checkHasNodeRecursion = (
77
+ nodes: UI_I_TreeNode[],
78
+ node: UI_I_TreeNode | null
79
+ ): boolean => {
80
+ if (!node) return false
81
+
82
+ let has = false
83
+ for (let i = 0; i < nodes.length; i++) {
84
+ const item = nodes[i]
85
+
86
+ if (item.id === node.id && item.type === node.type) {
87
+ has = true
88
+ break
89
+ }
90
+ if (has) break
91
+
92
+ has = checkHasNodeRecursion(item.nodes, node)
93
+ }
94
+ return has
95
+ }
96
+
97
+ const onShowNodes = ({
98
+ node,
99
+ cb,
100
+ }: {
101
+ node: UI_I_TreeNode
102
+ cb: () => void
103
+ }): void => {
104
+ emits('show-compute-resource-tree', node)
105
+ cb()
106
+ }
107
+ const onSelectNode = (node: UI_I_TreeNode): void => {
108
+ emits('select-compute-resource-tree', node)
109
+
110
+ model.value = node
111
+ }
112
+
113
+ onUnmounted(() => {
114
+ emits('clear-compute-resource-tree')
115
+ })
116
+ </script>
117
+
118
+ <style scoped lang="scss"></style>
@@ -1,38 +1,38 @@
1
- <template>
2
- <common-vm-actions-common-select-create-type-new
3
- v-if="isNewView"
4
- v-model="model"
5
- :items="items"
6
- :import-from-v-m-warev-sphere="props.importFromVMWarevSphere"
7
- />
8
- <common-vm-actions-common-select-create-type-old
9
- v-else
10
- v-model="model"
11
- :items="items"
12
- :import-from-v-m-warev-sphere="props.importFromVMWarevSphere"
13
- />
14
- </template>
15
-
16
- <script setup lang="ts">
17
- import type { UI_I_Localization } from '~/lib/models/interfaces'
18
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
19
- import { itemsFunc } from '~/components/common/vm/actions/common/select/createType/lib/config/items'
20
-
21
- const model = defineModel<string>()
22
-
23
- const props = defineProps<{
24
- importFromVMWarevSphere: string
25
- }>()
26
-
27
- const { $store }: any = useNuxtApp()
28
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
29
-
30
- const localization = computed<UI_I_Localization>(() => useLocal())
31
-
32
- const items = computed<UI_I_OptionItem[]>(() =>
33
- itemsFunc(localization.value, props.importFromVMWarevSphere)
34
- )
35
- </script>
36
-
37
- <style scoped lang="scss">
38
- </style>
1
+ <template>
2
+ <common-vm-actions-common-select-create-type-new
3
+ v-if="isNewView"
4
+ v-model="model"
5
+ :items="items"
6
+ :import-from-v-m-warev-sphere="props.importFromVMWarevSphere"
7
+ />
8
+ <common-vm-actions-common-select-create-type-old
9
+ v-else
10
+ v-model="model"
11
+ :items="items"
12
+ :import-from-v-m-warev-sphere="props.importFromVMWarevSphere"
13
+ />
14
+ </template>
15
+
16
+ <script setup lang="ts">
17
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
18
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
19
+ import { itemsFunc } from '~/components/common/vm/actions/common/select/createType/lib/config/items'
20
+
21
+ const model = defineModel<string>()
22
+
23
+ const props = defineProps<{
24
+ importFromVMWarevSphere: string
25
+ }>()
26
+
27
+ const { $store }: any = useNuxtApp()
28
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
29
+
30
+ const localization = computed<UI_I_Localization>(() => useLocal())
31
+
32
+ const items = computed<UI_I_OptionItem[]>(() =>
33
+ itemsFunc(localization.value, props.importFromVMWarevSphere)
34
+ )
35
+ </script>
36
+
37
+ <style scoped lang="scss">
38
+ </style>
@@ -1,84 +1,84 @@
1
- <template>
2
- <div class="select-create-type py-3">
3
- <div
4
- v-for="item in props.items"
5
- v-development="item.disabled"
6
- :key="item.value"
7
- :class="[
8
- 'select-create-type-block',
9
- { selected: item.value === model, disabled: item.disabled },
10
- ]"
11
- @click="model = item.value"
12
- >
13
- <ui-radio
14
- v-model="model"
15
- :label="item.text"
16
- :value="item.value"
17
- :test-id="item.testId"
18
- :disabled="item.disabled"
19
- size="md"
20
- />
21
-
22
- <p class="description">
23
- {{ item.description }}
24
- </p>
25
- </div>
26
- </div>
27
- </template>
28
-
29
- <script setup lang="ts">
30
- import type { UI_I_VmCreateTypeOption } from '~/components/common/vm/actions/common/select/createType/lib/models/interfaces'
31
-
32
- const model = defineModel<string>()
33
-
34
- const props = defineProps<{
35
- items: UI_I_VmCreateTypeOption[]
36
- }>()
37
- </script>
38
-
39
- <style>
40
- :root {
41
- --select-create-type-block-bg-color: #ffffff;
42
- --select-create-type-block-border-color: #e9ebed;
43
- --select-create-type-block-border-hover-color: #d3d6da;
44
- --select-create-type-block-selected-bg-color: #f0f8fd;
45
- --select-create-type-block-selected-border-color: #008fd6;
46
- }
47
- :root.dark-theme {
48
- --select-create-type-block-bg-color: transparent;
49
- --select-create-type-block-border-color: #e9ebed1f;
50
- --select-create-type-block-border-hover-color: #e9ebed3d;
51
- --select-create-type-block-selected-bg-color: #2ba2de14;
52
- --select-create-type-block-selected-border-color: #2ba2de;
53
- }
54
- </style>
55
- <style scoped lang="scss">
56
- .select-create-type-block {
57
- background-color: var(--select-create-type-block-bg-color);
58
- border: 1px solid var(--select-create-type-block-border-color);
59
- padding: 12px;
60
- border-radius: 8px;
61
-
62
- &:not(.selected):not(.disabled) {
63
- cursor: pointer;
64
- &:hover {
65
- border-color: var(--select-create-type-block-border-hover-color);
66
- }
67
- }
68
-
69
- &.selected {
70
- background-color: var(--select-create-type-block-selected-bg-color);
71
- border: 1.5px solid var(--select-create-type-block-selected-border-color);
72
- }
73
-
74
- &:not(:last-child) {
75
- margin-bottom: 12px;
76
- }
77
-
78
- .description {
79
- font-size: 13px;
80
- color: #9da6ad;
81
- margin: 8px 0 0 28px;
82
- }
83
- }
84
- </style>
1
+ <template>
2
+ <div class="select-create-type py-3">
3
+ <div
4
+ v-for="item in props.items"
5
+ v-development="item.disabled"
6
+ :key="item.value"
7
+ :class="[
8
+ 'select-create-type-block',
9
+ { selected: item.value === model, disabled: item.disabled },
10
+ ]"
11
+ @click="model = item.value"
12
+ >
13
+ <ui-radio
14
+ v-model="model"
15
+ :label="item.text"
16
+ :value="item.value"
17
+ :test-id="item.testId"
18
+ :disabled="item.disabled"
19
+ size="md"
20
+ />
21
+
22
+ <p class="description">
23
+ {{ item.description }}
24
+ </p>
25
+ </div>
26
+ </div>
27
+ </template>
28
+
29
+ <script setup lang="ts">
30
+ import type { UI_I_VmCreateTypeOption } from '~/components/common/vm/actions/common/select/createType/lib/models/interfaces'
31
+
32
+ const model = defineModel<string>()
33
+
34
+ const props = defineProps<{
35
+ items: UI_I_VmCreateTypeOption[]
36
+ }>()
37
+ </script>
38
+
39
+ <style>
40
+ :root {
41
+ --select-create-type-block-bg-color: #ffffff;
42
+ --select-create-type-block-border-color: #e9ebed;
43
+ --select-create-type-block-border-hover-color: #d3d6da;
44
+ --select-create-type-block-selected-bg-color: #f0f8fd;
45
+ --select-create-type-block-selected-border-color: #008fd6;
46
+ }
47
+ :root.dark-theme {
48
+ --select-create-type-block-bg-color: transparent;
49
+ --select-create-type-block-border-color: #e9ebed1f;
50
+ --select-create-type-block-border-hover-color: #e9ebed3d;
51
+ --select-create-type-block-selected-bg-color: #2ba2de14;
52
+ --select-create-type-block-selected-border-color: #2ba2de;
53
+ }
54
+ </style>
55
+ <style scoped lang="scss">
56
+ .select-create-type-block {
57
+ background-color: var(--select-create-type-block-bg-color);
58
+ border: 1px solid var(--select-create-type-block-border-color);
59
+ padding: 12px;
60
+ border-radius: 8px;
61
+
62
+ &:not(.selected):not(.disabled) {
63
+ cursor: pointer;
64
+ &:hover {
65
+ border-color: var(--select-create-type-block-border-hover-color);
66
+ }
67
+ }
68
+
69
+ &.selected {
70
+ background-color: var(--select-create-type-block-selected-bg-color);
71
+ border: 1.5px solid var(--select-create-type-block-selected-border-color);
72
+ }
73
+
74
+ &:not(:last-child) {
75
+ margin-bottom: 12px;
76
+ }
77
+
78
+ .description {
79
+ font-size: 13px;
80
+ color: #9da6ad;
81
+ margin: 8px 0 0 28px;
82
+ }
83
+ }
84
+ </style>
@@ -1,5 +1,5 @@
1
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
2
-
3
- export interface UI_I_VmCreateTypeOption extends UI_I_OptionItem {
4
- description: string
5
- }
1
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
2
+
3
+ export interface UI_I_VmCreateTypeOption extends UI_I_OptionItem {
4
+ description: string
5
+ }