bfg-common 1.5.237 → 1.5.238

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 (146) 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/stack/StackBlock.vue +185 -185
  5. package/components/atoms/table/dataGrid/DataGrid.vue +1717 -1717
  6. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  7. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  8. package/components/atoms/table/info/lib/models/interfaces.ts +10 -10
  9. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  10. package/components/common/backup/storage/actions/add/Add.vue +247 -247
  11. package/components/common/backup/storage/actions/add/New.vue +281 -281
  12. package/components/common/backup/storage/actions/add/Old.vue +114 -114
  13. package/components/common/backup/storage/actions/add/lib/config/steps.ts +168 -168
  14. package/components/common/backup/storage/actions/add/steps/nameAndConfigure/NameAndConfigure.vue +41 -41
  15. package/components/common/backup/storage/actions/add/steps/nameAndConfigure/NameAndConfigureNew.vue +294 -294
  16. package/components/common/backup/storage/actions/add/steps/readyComplete/ReadyComplete.vue +45 -45
  17. package/components/common/backup/storage/actions/add/steps/readyComplete/lib/config/propertiesDetails.ts +242 -242
  18. package/components/common/backup/storage/actions/delete/Delete.vue +65 -65
  19. package/components/common/browse/BrowseNew.vue +1 -7
  20. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  21. package/components/common/context/lib/models/interfaces.ts +31 -31
  22. package/components/common/diagramMain/DiagramMain.vue +897 -897
  23. package/components/common/diagramMain/Header.vue +214 -214
  24. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  25. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  26. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  27. package/components/common/pages/home/headline/Headline.vue +45 -45
  28. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  29. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  30. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  31. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  32. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  33. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  34. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  35. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  36. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  37. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  38. package/components/common/pages/packages/Packages.vue +208 -208
  39. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  40. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  41. package/components/common/recursionTree/RecursionTree.vue +223 -223
  42. package/components/common/select/button/ButtonDropdown.vue +108 -108
  43. package/components/common/spiceConsole/Drawer.vue +377 -377
  44. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  45. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  46. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  47. package/components/common/vm/actions/add/folderTreeView/Old.vue +50 -50
  48. package/components/common/vm/actions/clone/lib/config/steps.ts +291 -291
  49. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  50. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +1 -1
  51. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +7 -7
  52. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  53. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  54. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +100 -100
  55. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  56. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +0 -1
  57. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  58. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  59. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +78 -78
  60. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  61. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +190 -194
  62. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/model/ModelNew.vue +237 -242
  63. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  64. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/SharesNew.vue +1 -6
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/TooltipNew.vue +154 -154
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +307 -307
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryNew.vue +154 -158
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/hotPlug/HotPlugNew.vue +2 -8
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +382 -382
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +0 -1
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/file/FileNew.vue +3 -8
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +151 -151
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationNew.vue +73 -73
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +83 -83
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/maximumSize/MaximumSizeNew.vue +4 -8
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/ProvisioningNew.vue +1 -6
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +1 -6
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +1 -1
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +94 -94
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +0 -1
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -36
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/inputDevices/InputDevicesNew.vue +40 -40
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +2 -5
  98. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  99. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +81 -85
  100. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  101. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  102. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  103. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +67 -71
  104. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +149 -150
  105. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -146
  106. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +31 -31
  107. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +31 -31
  108. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  109. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  110. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +128 -128
  111. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  112. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +39 -39
  113. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  114. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsNew.vue +1 -5
  115. package/components/common/vm/actions/common/lib/utils/capabilities.ts +52 -52
  116. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  117. package/components/common/vm/actions/common/select/computeResource/treeView/New.vue +44 -44
  118. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +118 -118
  119. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  120. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  121. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  122. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  123. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  124. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  125. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  126. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  127. package/components/common/wizards/vm/migrate/lib/config/steps.ts +157 -157
  128. package/components/common/wizards/vm/migrate/lib/validations.ts +68 -68
  129. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +137 -137
  130. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  131. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  132. package/composables/productNameLocal.ts +30 -30
  133. package/composables/useAppVersion.ts +21 -21
  134. package/package.json +2 -2
  135. package/plugins/date.ts +233 -233
  136. package/plugins/helpers.ts +18 -0
  137. package/plugins/number.ts +18 -0
  138. package/plugins/panelStates.ts +70 -0
  139. package/plugins/text.ts +59 -48
  140. package/plugins/time.ts +17 -0
  141. package/public/spice-console/lib/images/bitmap.js +203 -203
  142. package/public/spice-console/network/spicechannel.js +387 -387
  143. package/store/main/mutations.ts +7 -7
  144. package/store/main/state.ts +7 -7
  145. package/store/tasks/mappers/recentTasks.ts +64 -64
  146. /package/{components/common/split/horizontal/lib/models → lib/models/plugins/panelStates}/interfaces.ts +0 -0
@@ -1,45 +1,45 @@
1
- <template>
2
- <common-backup-storage-actions-add-steps-ready-complete-new
3
- v-if="isNewView"
4
- :data-ready-view="dataReadyView"
5
- />
6
-
7
- <common-backup-storage-actions-add-steps-ready-complete-old
8
- v-else
9
- :data-ready-view="dataReadyView"
10
- />
11
- </template>
12
-
13
- <script lang="ts" setup>
14
- import type { UI_T_Project } from '~/lib/models/types'
15
- import type { UI_I_Localization } from '~/lib/models/interfaces'
16
- import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
17
- import type { UI_I_DetailsItem } from '~/components/common/details/lib/models/interfaces'
18
- import type { UI_I_CreateDatastoreForm } from '~/components/common/backup/storage/actions/add/lib/models/interfaces'
19
- import type { UI_I_CompatibleHosts } from '~/components/common/backup/storage/actions/add/steps/hostAccessibility/table/lib/models/interfaces'
20
- import { constructDataReadyViewFunc } from '~/components/common/backup/storage/actions/add/steps/readyComplete/lib/config/propertiesDetails'
21
-
22
- const props = defineProps<{
23
- project: UI_T_Project
24
- form: UI_I_CreateDatastoreForm
25
- hosts: UI_I_CompatibleHosts
26
- datastore: UI_I_DatastoreTableItem[]
27
- }>()
28
-
29
- const localization = computed<UI_I_Localization>(() => useLocal())
30
- const { $store }: any = useNuxtApp()
31
-
32
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
33
-
34
- const dataReadyView = computed<UI_I_DetailsItem>(() =>
35
- constructDataReadyViewFunc(
36
- localization.value,
37
- props.form,
38
- props.project,
39
- props.hosts,
40
- props.datastore
41
- )
42
- )
43
- </script>
44
-
45
- <style lang="scss" scoped></style>
1
+ <template>
2
+ <common-backup-storage-actions-add-steps-ready-complete-new
3
+ v-if="isNewView"
4
+ :data-ready-view="dataReadyView"
5
+ />
6
+
7
+ <common-backup-storage-actions-add-steps-ready-complete-old
8
+ v-else
9
+ :data-ready-view="dataReadyView"
10
+ />
11
+ </template>
12
+
13
+ <script lang="ts" setup>
14
+ import type { UI_T_Project } from '~/lib/models/types'
15
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
16
+ import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
17
+ import type { UI_I_DetailsItem } from '~/components/common/details/lib/models/interfaces'
18
+ import type { UI_I_CreateDatastoreForm } from '~/components/common/backup/storage/actions/add/lib/models/interfaces'
19
+ import type { UI_I_CompatibleHosts } from '~/components/common/backup/storage/actions/add/steps/hostAccessibility/table/lib/models/interfaces'
20
+ import { constructDataReadyViewFunc } from '~/components/common/backup/storage/actions/add/steps/readyComplete/lib/config/propertiesDetails'
21
+
22
+ const props = defineProps<{
23
+ project: UI_T_Project
24
+ form: UI_I_CreateDatastoreForm
25
+ hosts: UI_I_CompatibleHosts
26
+ datastore: UI_I_DatastoreTableItem[]
27
+ }>()
28
+
29
+ const localization = computed<UI_I_Localization>(() => useLocal())
30
+ const { $store }: any = useNuxtApp()
31
+
32
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
33
+
34
+ const dataReadyView = computed<UI_I_DetailsItem>(() =>
35
+ constructDataReadyViewFunc(
36
+ localization.value,
37
+ props.form,
38
+ props.project,
39
+ props.hosts,
40
+ props.datastore
41
+ )
42
+ )
43
+ </script>
44
+
45
+ <style lang="scss" scoped></style>
@@ -1,242 +1,242 @@
1
- import type { UI_I_Localization } from '~/lib/models/interfaces'
2
- import type { UI_I_DetailsItem } from '~/components/common/details/lib/models/interfaces'
3
- import type { UI_T_Project } from '~/lib/models/types'
4
- import type { UI_I_CreateDatastoreForm } from '~/components/common/backup/storage/actions/add/lib/models/interfaces'
5
- import type { UI_I_CompatibleHosts } from '~/components/common/backup/storage/actions/add/steps/hostAccessibility/table/lib/models/interfaces'
6
-
7
- const getSelectedHosts = (
8
- allHosts: UI_I_CompatibleHosts,
9
- selectedHosts: string[],
10
- localization: UI_I_Localization
11
- ) => {
12
- const hostsData = selectedHosts
13
- ? allHosts.items
14
- .filter((host) => selectedHosts.includes(host.id))
15
- .map((host) => ({
16
- label: host.name,
17
- iconClassName: 'vsphere-icon-host',
18
- }))
19
- : []
20
-
21
- return {
22
- label: localization.common.hostsAccessibility,
23
- value: '',
24
- items: [
25
- {
26
- label: localization.common.hosts,
27
- value: hostsData as any,
28
- items: [],
29
- testId: 'view-hosts-name-in-complete',
30
- iconClassName: 'vsphere-icon-host',
31
- },
32
- ],
33
- actions: [],
34
- }
35
- }
36
-
37
- const localDetailsFunc = (
38
- localization: UI_I_Localization,
39
- data: UI_I_CreateDatastoreForm,
40
- project: UI_T_Project,
41
- allHosts: UI_I_CompatibleHosts
42
- ): UI_I_DetailsItem[] => {
43
- const { name, hosts } = data
44
-
45
- const details: UI_I_DetailsItem[] = [
46
- {
47
- label: localization.common.name,
48
- value: '',
49
- items: [
50
- {
51
- label: localization.common.datastoreName,
52
- value: name,
53
- items: [],
54
- testId: 'view-selected-name-in-complete',
55
- },
56
- ],
57
- actions: [],
58
- testId: 'view-selected-name',
59
- },
60
- ]
61
-
62
- if (project === 'sphere') {
63
- details.push(getSelectedHosts(allHosts, hosts, localization))
64
- }
65
-
66
- return details
67
- }
68
- const nfsDetailsFunc = (
69
- localization: UI_I_Localization,
70
- data: UI_I_CreateDatastoreForm,
71
- project: UI_T_Project,
72
- allHosts: UI_I_CompatibleHosts
73
- ): UI_I_DetailsItem[] => {
74
- const { name, server, folder, version, hosts } = data
75
- // const accessMode = readonly ? 'Read-only' : 'Read-write'
76
-
77
- const details: UI_I_DetailsItem[] = [
78
- {
79
- label: localization.common.nfsVersion,
80
- value: '',
81
- items: [
82
- {
83
- label: localization.common.version,
84
- value: version + '',
85
- items: [],
86
- testId: 'view-selected-nfs-version-in-complete',
87
- },
88
- ],
89
- actions: [],
90
- testId: 'view-selected-nfs-version',
91
- },
92
- {
93
- label: localization.common.nameAndConfiguration,
94
- value: '',
95
- items: [
96
- {
97
- label: localization.common.datastoreName,
98
- value: name,
99
- items: [],
100
- testId: 'view-storage-name-in-complete',
101
- iconClassName: 'vsphere-icon-datastore',
102
- },
103
- {
104
- label: localization.common.server,
105
- value: server,
106
- items: [],
107
- testId: 'view-server-name-in-complete',
108
- iconClassName: 'icon-server',
109
- },
110
- {
111
- label: localization.common.folder,
112
- value: folder,
113
- items: [],
114
- testId: 'view-folder-name-in-complete',
115
- iconClassName: 'vsphere-icon-folder',
116
- }
117
- ],
118
- actions: [],
119
- testId: 'view-selected-name-configuration',
120
- },
121
- ]
122
-
123
- if (project === 'sphere') {
124
- details.push(getSelectedHosts(allHosts, hosts, localization))
125
- }
126
-
127
- return details
128
- }
129
- const sambaDetailsFunc = (
130
- localization: UI_I_Localization,
131
- data: UI_I_CreateDatastoreForm,
132
- project: UI_T_Project,
133
- allHosts: UI_I_CompatibleHosts
134
- ): UI_I_DetailsItem[] => {
135
- const { name, server, folder, hosts } = data
136
-
137
- const details: UI_I_DetailsItem[] = [
138
- {
139
- label: localization.common.nameAndConfiguration,
140
- value: '',
141
- items: [
142
- {
143
- label: localization.common.datastoreName,
144
- value: name,
145
- items: [],
146
- testId: 'view-storage-name-in-complete',
147
- iconClassName: 'vsphere-icon-datastore',
148
- },
149
- {
150
- label: localization.common.server,
151
- value: server,
152
- items: [],
153
- testId: 'view-server-name-in-complete',
154
- iconClassName: 'icon-server',
155
- },
156
- {
157
- label: localization.common.folder,
158
- value: folder,
159
- items: [],
160
- testId: 'view-folder-name-in-complete',
161
- iconClassName: 'vsphere-icon-folder',
162
- }
163
- ],
164
- actions: [],
165
- testId: 'view-selected-name-configuration',
166
- },
167
- ]
168
-
169
- if (project === 'sphere') {
170
- details.push(getSelectedHosts(allHosts, hosts, localization))
171
- }
172
-
173
- return details
174
- }
175
- const sharedStormDetailsFunc = (
176
- localization: UI_I_Localization,
177
- data: UI_I_CreateDatastoreForm,
178
- project: UI_T_Project,
179
- allHosts: UI_I_CompatibleHosts,
180
- allDatastore: any
181
- ): UI_I_DetailsItem[] => {
182
- const { name, hosts, storm_id } = data
183
- const datastore = allDatastore.find(storage => storage.id === storm_id)
184
- const details: UI_I_DetailsItem[] = [
185
- {
186
- label: localization.common.name,
187
- value: '',
188
- items: [
189
- {
190
- label: localization.common.datastoreName,
191
- value: name,
192
- items: [],
193
- testId: 'view-storage-name-in-complete',
194
- iconClassName: 'vsphere-icon-datastore',
195
- },
196
- ],
197
- actions: [],
198
- },
199
- {
200
- label: localization.common.datastore,
201
- value: '',
202
- items: [
203
- {
204
- label: localization.common.datastoreName,
205
- value: datastore.name,
206
- items: [],
207
- testId: 'view-storage-name-in-complete',
208
- iconClassName: 'vsphere-icon-datastore',
209
- },
210
- ],
211
- actions: [],
212
- },
213
- ]
214
- if (project === 'sphere') {
215
- details.push(getSelectedHosts(allHosts, hosts, localization))
216
- }
217
-
218
- return details
219
- }
220
-
221
- export const constructDataReadyViewFunc = (
222
- localization: UI_I_Localization,
223
- data: UI_I_CreateDatastoreForm,
224
- project: UI_T_Project,
225
- allHosts: UI_I_CompatibleHosts,
226
- allDatastore: any
227
- ): UI_I_DetailsItem[] => {
228
- const details = {
229
- 1: localDetailsFunc,
230
- 2: nfsDetailsFunc,
231
- 3: sambaDetailsFunc,
232
- 4: sharedStormDetailsFunc,
233
- }
234
-
235
- return details[data.type_code as 1 | 2 | 3 | 4](
236
- localization,
237
- data,
238
- project,
239
- allHosts,
240
- allDatastore
241
- )
242
- }
1
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
2
+ import type { UI_I_DetailsItem } from '~/components/common/details/lib/models/interfaces'
3
+ import type { UI_T_Project } from '~/lib/models/types'
4
+ import type { UI_I_CreateDatastoreForm } from '~/components/common/backup/storage/actions/add/lib/models/interfaces'
5
+ import type { UI_I_CompatibleHosts } from '~/components/common/backup/storage/actions/add/steps/hostAccessibility/table/lib/models/interfaces'
6
+
7
+ const getSelectedHosts = (
8
+ allHosts: UI_I_CompatibleHosts,
9
+ selectedHosts: string[],
10
+ localization: UI_I_Localization
11
+ ) => {
12
+ const hostsData = selectedHosts
13
+ ? allHosts.items
14
+ .filter((host) => selectedHosts.includes(host.id))
15
+ .map((host) => ({
16
+ label: host.name,
17
+ iconClassName: 'vsphere-icon-host',
18
+ }))
19
+ : []
20
+
21
+ return {
22
+ label: localization.common.hostsAccessibility,
23
+ value: '',
24
+ items: [
25
+ {
26
+ label: localization.common.hosts,
27
+ value: hostsData as any,
28
+ items: [],
29
+ testId: 'view-hosts-name-in-complete',
30
+ iconClassName: 'vsphere-icon-host',
31
+ },
32
+ ],
33
+ actions: [],
34
+ }
35
+ }
36
+
37
+ const localDetailsFunc = (
38
+ localization: UI_I_Localization,
39
+ data: UI_I_CreateDatastoreForm,
40
+ project: UI_T_Project,
41
+ allHosts: UI_I_CompatibleHosts
42
+ ): UI_I_DetailsItem[] => {
43
+ const { name, hosts } = data
44
+
45
+ const details: UI_I_DetailsItem[] = [
46
+ {
47
+ label: localization.common.name,
48
+ value: '',
49
+ items: [
50
+ {
51
+ label: localization.common.datastoreName,
52
+ value: name,
53
+ items: [],
54
+ testId: 'view-selected-name-in-complete',
55
+ },
56
+ ],
57
+ actions: [],
58
+ testId: 'view-selected-name',
59
+ },
60
+ ]
61
+
62
+ if (project === 'sphere') {
63
+ details.push(getSelectedHosts(allHosts, hosts, localization))
64
+ }
65
+
66
+ return details
67
+ }
68
+ const nfsDetailsFunc = (
69
+ localization: UI_I_Localization,
70
+ data: UI_I_CreateDatastoreForm,
71
+ project: UI_T_Project,
72
+ allHosts: UI_I_CompatibleHosts
73
+ ): UI_I_DetailsItem[] => {
74
+ const { name, server, folder, version, hosts } = data
75
+ // const accessMode = readonly ? 'Read-only' : 'Read-write'
76
+
77
+ const details: UI_I_DetailsItem[] = [
78
+ {
79
+ label: localization.common.nfsVersion,
80
+ value: '',
81
+ items: [
82
+ {
83
+ label: localization.common.version,
84
+ value: version + '',
85
+ items: [],
86
+ testId: 'view-selected-nfs-version-in-complete',
87
+ },
88
+ ],
89
+ actions: [],
90
+ testId: 'view-selected-nfs-version',
91
+ },
92
+ {
93
+ label: localization.common.nameAndConfiguration,
94
+ value: '',
95
+ items: [
96
+ {
97
+ label: localization.common.datastoreName,
98
+ value: name,
99
+ items: [],
100
+ testId: 'view-storage-name-in-complete',
101
+ iconClassName: 'vsphere-icon-datastore',
102
+ },
103
+ {
104
+ label: localization.common.server,
105
+ value: server,
106
+ items: [],
107
+ testId: 'view-server-name-in-complete',
108
+ iconClassName: 'icon-server',
109
+ },
110
+ {
111
+ label: localization.common.folder,
112
+ value: folder,
113
+ items: [],
114
+ testId: 'view-folder-name-in-complete',
115
+ iconClassName: 'vsphere-icon-folder',
116
+ }
117
+ ],
118
+ actions: [],
119
+ testId: 'view-selected-name-configuration',
120
+ },
121
+ ]
122
+
123
+ if (project === 'sphere') {
124
+ details.push(getSelectedHosts(allHosts, hosts, localization))
125
+ }
126
+
127
+ return details
128
+ }
129
+ const sambaDetailsFunc = (
130
+ localization: UI_I_Localization,
131
+ data: UI_I_CreateDatastoreForm,
132
+ project: UI_T_Project,
133
+ allHosts: UI_I_CompatibleHosts
134
+ ): UI_I_DetailsItem[] => {
135
+ const { name, server, folder, hosts } = data
136
+
137
+ const details: UI_I_DetailsItem[] = [
138
+ {
139
+ label: localization.common.nameAndConfiguration,
140
+ value: '',
141
+ items: [
142
+ {
143
+ label: localization.common.datastoreName,
144
+ value: name,
145
+ items: [],
146
+ testId: 'view-storage-name-in-complete',
147
+ iconClassName: 'vsphere-icon-datastore',
148
+ },
149
+ {
150
+ label: localization.common.server,
151
+ value: server,
152
+ items: [],
153
+ testId: 'view-server-name-in-complete',
154
+ iconClassName: 'icon-server',
155
+ },
156
+ {
157
+ label: localization.common.folder,
158
+ value: folder,
159
+ items: [],
160
+ testId: 'view-folder-name-in-complete',
161
+ iconClassName: 'vsphere-icon-folder',
162
+ }
163
+ ],
164
+ actions: [],
165
+ testId: 'view-selected-name-configuration',
166
+ },
167
+ ]
168
+
169
+ if (project === 'sphere') {
170
+ details.push(getSelectedHosts(allHosts, hosts, localization))
171
+ }
172
+
173
+ return details
174
+ }
175
+ const sharedStormDetailsFunc = (
176
+ localization: UI_I_Localization,
177
+ data: UI_I_CreateDatastoreForm,
178
+ project: UI_T_Project,
179
+ allHosts: UI_I_CompatibleHosts,
180
+ allDatastore: any
181
+ ): UI_I_DetailsItem[] => {
182
+ const { name, hosts, storm_id } = data
183
+ const datastore = allDatastore.find(storage => storage.id === storm_id)
184
+ const details: UI_I_DetailsItem[] = [
185
+ {
186
+ label: localization.common.name,
187
+ value: '',
188
+ items: [
189
+ {
190
+ label: localization.common.datastoreName,
191
+ value: name,
192
+ items: [],
193
+ testId: 'view-storage-name-in-complete',
194
+ iconClassName: 'vsphere-icon-datastore',
195
+ },
196
+ ],
197
+ actions: [],
198
+ },
199
+ {
200
+ label: localization.common.datastore,
201
+ value: '',
202
+ items: [
203
+ {
204
+ label: localization.common.datastoreName,
205
+ value: datastore.name,
206
+ items: [],
207
+ testId: 'view-storage-name-in-complete',
208
+ iconClassName: 'vsphere-icon-datastore',
209
+ },
210
+ ],
211
+ actions: [],
212
+ },
213
+ ]
214
+ if (project === 'sphere') {
215
+ details.push(getSelectedHosts(allHosts, hosts, localization))
216
+ }
217
+
218
+ return details
219
+ }
220
+
221
+ export const constructDataReadyViewFunc = (
222
+ localization: UI_I_Localization,
223
+ data: UI_I_CreateDatastoreForm,
224
+ project: UI_T_Project,
225
+ allHosts: UI_I_CompatibleHosts,
226
+ allDatastore: any
227
+ ): UI_I_DetailsItem[] => {
228
+ const details = {
229
+ 1: localDetailsFunc,
230
+ 2: nfsDetailsFunc,
231
+ 3: sambaDetailsFunc,
232
+ 4: sharedStormDetailsFunc,
233
+ }
234
+
235
+ return details[data.type_code as 1 | 2 | 3 | 4](
236
+ localization,
237
+ data,
238
+ project,
239
+ allHosts,
240
+ allDatastore
241
+ )
242
+ }