bfg-common 1.5.123 → 1.5.124

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 (124) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/components/atoms/TheIcon3.vue +50 -50
  3. package/components/atoms/perPage/PerPage.vue +58 -58
  4. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  5. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  6. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  7. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  8. package/components/common/context/lib/models/interfaces.ts +31 -31
  9. package/components/common/context/recursion/Recursion.vue +87 -87
  10. package/components/common/context/recursion/RecursionNew.vue +238 -238
  11. package/components/common/diagramMain/DiagramMain.vue +897 -897
  12. package/components/common/diagramMain/Header.vue +214 -214
  13. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  14. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  15. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +1040 -1040
  16. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  17. package/components/common/pages/home/headline/Headline.vue +45 -45
  18. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  19. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  20. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  21. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  22. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  23. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  24. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  25. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  26. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  27. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  28. package/components/common/pages/packages/Packages.vue +208 -208
  29. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  30. package/components/common/readyToComplete/New.vue +66 -66
  31. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  32. package/components/common/recursionTree/RecursionTree.vue +223 -223
  33. package/components/common/select/button/ButtonDropdown.vue +108 -108
  34. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  35. package/components/common/vm/actions/add/Add.vue +785 -785
  36. package/components/common/vm/actions/add/New.vue +556 -556
  37. package/components/common/vm/actions/add/Old.vue +371 -371
  38. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  39. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  40. package/components/common/vm/actions/add/folderTreeView/Old.vue +50 -50
  41. package/components/common/vm/actions/add/lib/config/steps.ts +263 -263
  42. package/components/common/vm/actions/clone/Clone.vue +801 -798
  43. package/components/common/vm/actions/clone/lib/config/steps.ts +291 -291
  44. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +626 -626
  45. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  46. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  47. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  48. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +99 -99
  49. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  50. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  51. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  52. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  53. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  54. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  55. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  56. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  57. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  58. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +368 -368
  59. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +149 -149
  60. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationNew.vue +74 -74
  61. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +83 -83
  62. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  63. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +94 -94
  64. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  76. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  77. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  78. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  79. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  80. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  81. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  82. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  83. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  84. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  85. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  86. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  87. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  88. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +39 -39
  89. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  90. package/components/common/vm/actions/common/lib/utils/capabilities.ts +52 -52
  91. package/components/common/vm/actions/common/select/compatibility/Compatibility.vue +100 -100
  92. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  93. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +134 -134
  94. package/components/common/vm/actions/common/select/computeResource/treeView/New.vue +44 -44
  95. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +118 -118
  96. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  97. package/components/common/vm/actions/common/select/createType/New.vue +84 -84
  98. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  99. package/components/common/vm/actions/common/select/name/Name.vue +167 -167
  100. package/components/common/vm/actions/common/select/os/New.vue +122 -122
  101. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  102. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  103. package/components/common/vm/actions/common/select/storage/Storage.vue +131 -131
  104. package/components/common/vm/actions/common/select/storage/new/lib/config/table.ts +326 -326
  105. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  106. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  107. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  108. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +105 -105
  109. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  110. package/components/common/wizards/vm/migrate/lib/config/steps.ts +157 -157
  111. package/components/common/wizards/vm/migrate/lib/validations.ts +68 -68
  112. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +137 -137
  113. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  114. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  115. package/composables/productNameLocal.ts +30 -30
  116. package/composables/useAppVersion.ts +21 -21
  117. package/package.json +1 -1
  118. package/plugins/date.ts +233 -233
  119. package/plugins/directives.ts +24 -24
  120. package/public/spice-console/lib/images/bitmap.js +203 -203
  121. package/public/spice-console/network/spicechannel.js +383 -383
  122. package/store/main/mutations.ts +7 -7
  123. package/store/main/state.ts +7 -7
  124. package/store/tasks/mappers/recentTasks.ts +64 -64
@@ -1,134 +1,134 @@
1
- <template>
2
- <common-vm-actions-common-select-compute-resource-new
3
- v-if="isNewView"
4
- v-model="selectedNode"
5
- :data-center="props.dataCenter"
6
- :compute-resource="props.computeResource"
7
- :compute-resource-tree="props.computeResourceTree"
8
- :errors="errors"
9
- :compatibility-text="compatibilityText"
10
- @get-compute-resource-tree="emits('get-compute-resource-tree', $event)"
11
- @show-compute-resource-tree="emits('show-compute-resource-tree', $event)"
12
- @select-compute-resource-tree="
13
- emits('select-compute-resource-tree', $event)
14
- "
15
- @clear-compute-resource-tree="emits('clear-compute-resource-tree')"
16
- @remove-validation-errors="onRemoveValidationErrors"
17
- />
18
- <common-vm-actions-common-select-compute-resource-old
19
- v-else
20
- v-model="selectedNode"
21
- :data-center="props.dataCenter"
22
- :compute-resource="props.computeResource"
23
- :compute-resource-tree="props.computeResourceTree"
24
- :errors="errors"
25
- :compatibility-text="compatibilityText"
26
- @get-compute-resource-tree="emits('get-compute-resource-tree', $event)"
27
- @show-compute-resource-tree="emits('show-compute-resource-tree', $event)"
28
- @select-compute-resource-tree="
29
- emits('select-compute-resource-tree', $event)
30
- "
31
- @clear-compute-resource-tree="emits('clear-compute-resource-tree')"
32
- @remove-validation-errors="onRemoveValidationErrors"
33
- />
34
- </template>
35
-
36
- <script setup lang="ts">
37
- import type { UI_I_Localization } from '~/lib/models/interfaces'
38
- import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
39
-
40
- const props = defineProps<{
41
- computeResourceSubmit: null | Function
42
- dataCenter: UI_I_TreeNode | null
43
- computeResource: UI_I_TreeNode
44
- computeResourceTree: UI_I_TreeNode[]
45
- }>()
46
-
47
- const emits = defineEmits<{
48
- (event: 'submit', value: UI_I_TreeNode): void
49
- (
50
- event: 'get-compute-resource-tree',
51
- value: { id: string | number; cb: () => void }
52
- ): void
53
- (event: 'show-compute-resource-tree', value: UI_I_TreeNode): void
54
- (event: 'select-compute-resource-tree', value: UI_I_TreeNode): void
55
- (event: 'clear-compute-resource-tree'): void
56
- }>()
57
-
58
- const { $store }: any = useNuxtApp()
59
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
60
-
61
- const localization = computed<UI_I_Localization>(() => useLocal())
62
-
63
- watch(
64
- () => props.computeResourceSubmit,
65
- (newValue: null | Function) => {
66
- newValue && submit(newValue)
67
- }
68
- )
69
- const submit = (cb: Function): void => {
70
- if (
71
- !selectedNode.value ||
72
- // !compatibilityText.value[1] ||
73
- !compatibilityText.value[0] ||
74
- selectedNode.value.type === 'datacenter' ||
75
- selectedNode.value.type === 'folder' ||
76
- (selectedNode.value.type === 'cluster' && !selectedNode.value.nodes.length)
77
- ) {
78
- showValidationErrors(
79
- localization.value.common.specifyValidClusterOrHostDestination
80
- )
81
- cb(false)
82
- return
83
- }
84
-
85
- onRemoveValidationErrors()
86
- emits('submit', selectedNode.value)
87
- cb(true)
88
- }
89
-
90
- const errors = ref<string[]>([])
91
- const showValidationErrors = (text: string): void => {
92
- errors.value = [text]
93
- }
94
- const onRemoveValidationErrors = (): void => {
95
- errors.value = []
96
- }
97
-
98
- const selectedNode = defineModel<UI_I_TreeNode | null>('modelValue')
99
-
100
- const compatibilityText = computed<[boolean, string]>(() => {
101
- let res: [boolean, string] = [
102
- true,
103
- localization.value.common.compatibilityChecksSucceeded,
104
- ]
105
-
106
- if (!selectedNode.value) res = [true, '']
107
-
108
- if (
109
- !['cluster', 'host', 'resource_pool'].includes(selectedNode.value?.type)
110
- ) {
111
- res = [false, localization.value.common.selectValidClusterOrHostDestination]
112
- }
113
- if (selectedNode.value?.type === 'cluster') {
114
- const hasHost = !!selectedNode.value.nodes.length
115
- if (!hasHost) {
116
- res = [false, localization.value.common.clusterNotContainAnyHosts]
117
- }
118
- }
119
-
120
- if (selectedNode.value?.type === 'host') {
121
- if (selectedNode.value.state === 'Error') {
122
- // TODO check Maintenance Mode
123
- res = [
124
- false,
125
- localization.value.common.selectedHostDisconnectedMaintenanceMode,
126
- ]
127
- }
128
- }
129
-
130
- return res
131
- })
132
- </script>
133
-
134
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <common-vm-actions-common-select-compute-resource-new
3
+ v-if="isNewView"
4
+ v-model="selectedNode"
5
+ :data-center="props.dataCenter"
6
+ :compute-resource="props.computeResource"
7
+ :compute-resource-tree="props.computeResourceTree"
8
+ :errors="errors"
9
+ :compatibility-text="compatibilityText"
10
+ @get-compute-resource-tree="emits('get-compute-resource-tree', $event)"
11
+ @show-compute-resource-tree="emits('show-compute-resource-tree', $event)"
12
+ @select-compute-resource-tree="
13
+ emits('select-compute-resource-tree', $event)
14
+ "
15
+ @clear-compute-resource-tree="emits('clear-compute-resource-tree')"
16
+ @remove-validation-errors="onRemoveValidationErrors"
17
+ />
18
+ <common-vm-actions-common-select-compute-resource-old
19
+ v-else
20
+ v-model="selectedNode"
21
+ :data-center="props.dataCenter"
22
+ :compute-resource="props.computeResource"
23
+ :compute-resource-tree="props.computeResourceTree"
24
+ :errors="errors"
25
+ :compatibility-text="compatibilityText"
26
+ @get-compute-resource-tree="emits('get-compute-resource-tree', $event)"
27
+ @show-compute-resource-tree="emits('show-compute-resource-tree', $event)"
28
+ @select-compute-resource-tree="
29
+ emits('select-compute-resource-tree', $event)
30
+ "
31
+ @clear-compute-resource-tree="emits('clear-compute-resource-tree')"
32
+ @remove-validation-errors="onRemoveValidationErrors"
33
+ />
34
+ </template>
35
+
36
+ <script setup lang="ts">
37
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
38
+ import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
39
+
40
+ const props = defineProps<{
41
+ computeResourceSubmit: null | Function
42
+ dataCenter: UI_I_TreeNode | null
43
+ computeResource: UI_I_TreeNode
44
+ computeResourceTree: UI_I_TreeNode[]
45
+ }>()
46
+
47
+ const emits = defineEmits<{
48
+ (event: 'submit', value: UI_I_TreeNode): void
49
+ (
50
+ event: 'get-compute-resource-tree',
51
+ value: { id: string | number; cb: () => void }
52
+ ): void
53
+ (event: 'show-compute-resource-tree', value: UI_I_TreeNode): void
54
+ (event: 'select-compute-resource-tree', value: UI_I_TreeNode): void
55
+ (event: 'clear-compute-resource-tree'): void
56
+ }>()
57
+
58
+ const { $store }: any = useNuxtApp()
59
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
60
+
61
+ const localization = computed<UI_I_Localization>(() => useLocal())
62
+
63
+ watch(
64
+ () => props.computeResourceSubmit,
65
+ (newValue: null | Function) => {
66
+ newValue && submit(newValue)
67
+ }
68
+ )
69
+ const submit = (cb: Function): void => {
70
+ if (
71
+ !selectedNode.value ||
72
+ // !compatibilityText.value[1] ||
73
+ !compatibilityText.value[0] ||
74
+ selectedNode.value.type === 'datacenter' ||
75
+ selectedNode.value.type === 'folder' ||
76
+ (selectedNode.value.type === 'cluster' && !selectedNode.value.nodes.length)
77
+ ) {
78
+ showValidationErrors(
79
+ localization.value.common.specifyValidClusterOrHostDestination
80
+ )
81
+ cb(false)
82
+ return
83
+ }
84
+
85
+ onRemoveValidationErrors()
86
+ emits('submit', selectedNode.value)
87
+ cb(true)
88
+ }
89
+
90
+ const errors = ref<string[]>([])
91
+ const showValidationErrors = (text: string): void => {
92
+ errors.value = [text]
93
+ }
94
+ const onRemoveValidationErrors = (): void => {
95
+ errors.value = []
96
+ }
97
+
98
+ const selectedNode = defineModel<UI_I_TreeNode | null>('modelValue')
99
+
100
+ const compatibilityText = computed<[boolean, string]>(() => {
101
+ let res: [boolean, string] = [
102
+ true,
103
+ localization.value.common.compatibilityChecksSucceeded,
104
+ ]
105
+
106
+ if (!selectedNode.value) res = [true, '']
107
+
108
+ if (
109
+ !['cluster', 'host', 'resource_pool'].includes(selectedNode.value?.type)
110
+ ) {
111
+ res = [false, localization.value.common.selectValidClusterOrHostDestination]
112
+ }
113
+ if (selectedNode.value?.type === 'cluster') {
114
+ const hasHost = !!selectedNode.value.nodes.length
115
+ if (!hasHost) {
116
+ res = [false, localization.value.common.clusterNotContainAnyHosts]
117
+ }
118
+ }
119
+
120
+ if (selectedNode.value?.type === 'host') {
121
+ if (selectedNode.value.state === 'Error') {
122
+ // TODO check Maintenance Mode
123
+ res = [
124
+ false,
125
+ localization.value.common.selectedHostDisconnectedMaintenanceMode,
126
+ ]
127
+ }
128
+ }
129
+
130
+ return res
131
+ })
132
+ </script>
133
+
134
+ <style scoped lang="scss"></style>
@@ -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>