bfg-common 1.5.63 → 1.5.65

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 (193) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/localization/local_be.json +7 -1
  3. package/assets/localization/local_en.json +7 -1
  4. package/assets/localization/local_hy.json +7 -1
  5. package/assets/localization/local_kk.json +7 -1
  6. package/assets/localization/local_ru.json +7 -1
  7. package/assets/localization/local_zh.json +7 -1
  8. package/assets/scss/common/normalize.scss +339 -339
  9. package/components/atoms/TheIcon3.vue +50 -50
  10. package/components/atoms/collapse/CollapseNav.vue +165 -165
  11. package/components/atoms/dropdown/dropdown/Dropdown.vue +168 -168
  12. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  13. package/components/atoms/perPage/PerPage.vue +58 -58
  14. package/components/atoms/stack/StackBlock.vue +185 -185
  15. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  16. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  17. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  18. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  19. package/components/atoms/tooltip/Signpost.vue +227 -227
  20. package/components/common/browse/BrowseNew.vue +237 -237
  21. package/components/common/browse/BrowseOld.vue +217 -217
  22. package/components/common/browse/blocks/contents/Files.vue +37 -37
  23. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  24. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  25. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  26. package/components/common/context/Context.vue +111 -111
  27. package/components/common/context/lib/models/interfaces.ts +31 -31
  28. package/components/common/context/recursion/Recursion.vue +87 -87
  29. package/components/common/context/recursion/RecursionNew.vue +238 -238
  30. package/components/common/context/recursion/RecursionOld.vue +228 -228
  31. package/components/common/details/DetailsItem.vue +109 -109
  32. package/components/common/diagramMain/DiagramMain.vue +897 -897
  33. package/components/common/diagramMain/Header.vue +214 -214
  34. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  35. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  36. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  37. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +311 -311
  38. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  39. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/lib/utils/optionsActions.ts +32 -32
  40. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +1040 -1040
  41. package/components/common/monitor/advanced/tools/lib/config/advancedToolbar.ts +146 -146
  42. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  43. package/components/common/pages/home/headline/Headline.vue +45 -45
  44. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  45. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  46. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  47. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  48. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  49. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  50. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  51. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  52. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  53. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  54. package/components/common/pages/packages/Packages.vue +208 -208
  55. package/components/common/pages/shortcuts/block/BlockNew.vue +96 -96
  56. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  57. package/components/common/portlets/customAttributes/Portlet.vue +667 -667
  58. package/components/common/portlets/tag/Portlet.vue +433 -433
  59. package/components/common/recursionTree/RecursionTree.vue +223 -223
  60. package/components/common/select/button/ButtonDropdown.vue +108 -108
  61. package/components/common/spiceConsole/Drawer.vue +370 -370
  62. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  63. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  64. package/components/common/split/vertical/Vertical.vue +160 -160
  65. package/components/common/tools/Actions.vue +202 -202
  66. package/components/common/vm/actions/add/Add.vue +785 -785
  67. package/components/common/vm/actions/add/New.vue +485 -429
  68. package/components/common/vm/actions/add/Old.vue +371 -371
  69. package/components/common/vm/actions/add/{FolderTreeView.vue → folderTreeView/FolderTreeView.vue} +72 -83
  70. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -0
  71. package/components/common/vm/actions/add/folderTreeView/Old.vue +50 -0
  72. package/components/common/vm/actions/add/lib/config/steps.ts +263 -263
  73. package/components/common/vm/actions/clone/Clone.vue +798 -798
  74. package/components/common/vm/actions/clone/lib/config/steps.ts +291 -291
  75. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +626 -626
  76. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  77. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +275 -275
  78. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +274 -274
  79. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +177 -177
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +698 -698
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +410 -410
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +99 -99
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +164 -164
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +368 -368
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +232 -232
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +250 -250
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +286 -286
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +84 -84
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +81 -81
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  127. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  128. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  129. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  130. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  131. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  132. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  133. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  134. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  135. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  136. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  137. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  138. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  139. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  140. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  141. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  142. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  143. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  144. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  145. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  146. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  147. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  148. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  149. package/components/common/vm/actions/common/lib/utils/capabilities.ts +52 -52
  150. package/components/common/vm/actions/common/select/compatibility/Compatibility.vue +100 -162
  151. package/components/common/vm/actions/common/select/compatibility/New.vue +165 -0
  152. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -0
  153. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +134 -164
  154. package/components/common/vm/actions/common/select/computeResource/New.vue +141 -0
  155. package/components/common/vm/actions/common/select/computeResource/Old.vue +99 -0
  156. package/components/common/vm/actions/common/select/computeResource/treeView/New.vue +44 -0
  157. package/components/common/vm/actions/common/select/computeResource/treeView/Old.vue +48 -0
  158. package/components/common/vm/actions/common/select/computeResource/{TreeView.vue → treeView/TreeView.vue} +118 -124
  159. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  160. package/components/common/vm/actions/common/select/createType/New.vue +84 -84
  161. package/components/common/vm/actions/common/select/createType/Old.vue +70 -70
  162. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  163. package/components/common/vm/actions/common/select/name/Name.vue +167 -167
  164. package/components/common/vm/actions/common/select/name/New.vue +246 -143
  165. package/components/common/vm/actions/common/select/name/Old.vue +119 -119
  166. package/components/common/vm/actions/common/select/storage/{StorageOld.vue → Old.vue} +129 -129
  167. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  168. package/components/common/vm/actions/common/select/storage/new/New.vue +189 -159
  169. package/components/common/vm/actions/common/select/storage/new/lib/config/table.ts +326 -173
  170. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +6 -0
  171. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -0
  172. package/components/common/vm/actions/common/select/template/Template.vue +64 -64
  173. package/components/common/vm/actions/common/select/template/TemplateTreeView.vue +88 -88
  174. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  175. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  176. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +60 -60
  177. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +92 -92
  178. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +105 -105
  179. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  180. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  181. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +150 -150
  182. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  183. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +43 -43
  184. package/composables/productNameLocal.ts +30 -30
  185. package/composables/useAppVersion.ts +21 -21
  186. package/package.json +1 -1
  187. package/plugins/date.ts +233 -233
  188. package/plugins/directives.ts +24 -24
  189. package/public/spice-console/lib/images/bitmap.js +203 -203
  190. package/public/spice-console/network/spicechannel.js +383 -383
  191. package/store/main/mutations.ts +7 -7
  192. package/store/main/state.ts +7 -7
  193. package/store/tasks/mappers/recentTasks.ts +64 -64
@@ -1,173 +1,326 @@
1
- import type { UI_I_DataTable } from '~/node_modules/bfg-uikit/components/ui/dataTable/models/interfaces'
2
- import type { UI_I_DataTableOptions } from '~/node_modules/bfg-uikit/components/ui/dataTable/models/interfaces'
3
- import type { UI_I_Localization } from '~/lib/models/interfaces'
4
-
5
- export const tableDataFunc = (
6
- localization: UI_I_Localization
7
- ): UI_I_DataTable => ({
8
- id: 'select-storage',
9
- header: [
10
- {
11
- col: 0,
12
- colName: localization.common.name,
13
- text: localization.common.name,
14
- isSortable: true,
15
- sort: 'asc',
16
- sortColumn: true,
17
- width: '150px',
18
- show: true,
19
- filter: true,
20
- },
21
- {
22
- col: 1,
23
- colName: localization.inventorySummary.state,
24
- text: localization.inventorySummary.state,
25
- isSortable: false,
26
- sort: 'asc',
27
- sortColumn: true,
28
- width: '150px',
29
- show: true,
30
- filter: true,
31
- },
32
- {
33
- col: 2,
34
- colName: localization.common.capacity,
35
- text: localization.common.capacity,
36
- isSortable: false,
37
- sort: 'asc',
38
- sortColumn: true,
39
- width: '150px',
40
- show: true,
41
- filter: true,
42
- },
43
- {
44
- col: 3,
45
- colName: localization.common.provisioned,
46
- text: localization.common.provisioned,
47
- isSortable: false,
48
- sort: 'asc',
49
- sortColumn: true,
50
- width: '150px',
51
- show: true,
52
- filter: true,
53
- },
54
- {
55
- col: 4,
56
- colName: localization.common.free,
57
- text: localization.common.free,
58
- isSortable: false,
59
- sort: 'asc',
60
- sortColumn: true,
61
- width: '150px',
62
- show: true,
63
- filter: true,
64
- },
65
- {
66
- col: 5,
67
- colName: localization.common.used,
68
- text: localization.common.used,
69
- isSortable: false,
70
- sort: 'asc',
71
- sortColumn: true,
72
- width: '150px',
73
- show: true,
74
- filter: true,
75
- },
76
- {
77
- col: 6,
78
- colName: localization.common.type,
79
- text: localization.common.type,
80
- isSortable: false,
81
- sort: 'asc',
82
- sortColumn: true,
83
- width: '150px',
84
- show: true,
85
- filter: true,
86
- },
87
- {
88
- col: 7,
89
- colName: localization.common.thinProvisioning,
90
- text: localization.common.thinProvisioning,
91
- isSortable: false,
92
- sort: 'asc',
93
- sortColumn: true,
94
- width: '150px',
95
- show: true,
96
- filter: true,
97
- },
98
- {
99
- col: 8,
100
- colName: localization.common.access,
101
- text: localization.common.access,
102
- isSortable: false,
103
- sort: 'asc',
104
- sortColumn: true,
105
- width: '150px',
106
- show: true,
107
- filter: true,
108
- },
109
- {
110
- col: 9,
111
- colName: localization.common.hardwareAcceleration,
112
- text: localization.common.hardwareAcceleration,
113
- isSortable: false,
114
- sort: 'asc',
115
- sortColumn: true,
116
- width: '150px',
117
- show: true,
118
- filter: true,
119
- },
120
- {
121
- col: 10,
122
- colName: localization.common.driverType,
123
- text: localization.common.driverType,
124
- isSortable: false,
125
- sort: 'asc',
126
- sortColumn: true,
127
- width: '150px',
128
- show: true,
129
- filter: true,
130
- },
131
- {
132
- col: 11,
133
- colName: localization.common.device,
134
- text: localization.common.device,
135
- isSortable: false,
136
- sort: 'asc',
137
- sortColumn: true,
138
- width: '150px',
139
- show: true,
140
- filter: true,
141
- },
142
- {
143
- col: 12,
144
- colName: localization.common.storageIoControl,
145
- text: localization.common.storageIoControl,
146
- isSortable: false,
147
- sort: 'asc',
148
- sortColumn: true,
149
- width: '150px',
150
- show: true,
151
- filter: true,
152
- },
153
- {
154
- col: 13,
155
- colName: 'default-actions',
156
- text: '',
157
- show: true,
158
- },
159
- ],
160
-
161
- body: [],
162
- })
163
-
164
- export const tableOptions: UI_I_DataTableOptions = {
165
- isSelectable: true,
166
- selectType: 'radio',
167
- showPagination: true,
168
- showPageInfo: false,
169
- isSortable: true,
170
- server: false,
171
- isResizable: true,
172
- showColumnManager: true,
173
- }
1
+ import type {
2
+ UI_I_DataTable,
3
+ UI_I_DataTableOptions,
4
+ UI_I_DataTableBody,
5
+ } from '~/node_modules/bfg-uikit/components/ui/dataTable/models/interfaces'
6
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
7
+ import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
8
+ import type { UI_I_StatusData } from '~/components/common/vm/actions/common/select/storage/new/lib/models/interfaces'
9
+ import { datastoreLocalizationByState } from '~/components/common/lib/config/states'
10
+ import { getStatus } from '~/components/common/vm/actions/common/select/storage/new/lib/utils/utils'
11
+
12
+ export const tableDataFunc = (
13
+ localization: UI_I_Localization
14
+ ): UI_I_DataTable => ({
15
+ id: 'select-storage',
16
+ header: [
17
+ {
18
+ col: 0,
19
+ colName: localization.common.name,
20
+ text: localization.common.name,
21
+ isSortable: true,
22
+ sort: 'asc',
23
+ sortColumn: true,
24
+ width: '150px',
25
+ show: true,
26
+ filter: true,
27
+ },
28
+ {
29
+ col: 1,
30
+ colName: localization.inventorySummary.state,
31
+ text: localization.inventorySummary.state,
32
+ isSortable: false,
33
+ sort: 'asc',
34
+ sortColumn: true,
35
+ width: '150px',
36
+ show: true,
37
+ filter: true,
38
+ },
39
+ {
40
+ col: 2,
41
+ colName: localization.common.capacity,
42
+ text: localization.common.capacity,
43
+ isSortable: false,
44
+ sort: 'asc',
45
+ sortColumn: true,
46
+ width: '150px',
47
+ show: true,
48
+ filter: true,
49
+ },
50
+ {
51
+ col: 3,
52
+ colName: localization.common.provisioned,
53
+ text: localization.common.provisioned,
54
+ isSortable: false,
55
+ sort: 'asc',
56
+ sortColumn: true,
57
+ width: '150px',
58
+ show: true,
59
+ filter: true,
60
+ },
61
+ {
62
+ col: 4,
63
+ colName: localization.common.free,
64
+ text: localization.common.free,
65
+ isSortable: false,
66
+ sort: 'asc',
67
+ sortColumn: true,
68
+ width: '150px',
69
+ show: true,
70
+ filter: true,
71
+ },
72
+ {
73
+ col: 5,
74
+ colName: localization.common.used,
75
+ text: localization.common.used,
76
+ isSortable: false,
77
+ sort: 'asc',
78
+ sortColumn: true,
79
+ width: '150px',
80
+ show: true,
81
+ filter: true,
82
+ },
83
+ {
84
+ col: 6,
85
+ colName: localization.common.type,
86
+ text: localization.common.type,
87
+ isSortable: false,
88
+ sort: 'asc',
89
+ sortColumn: true,
90
+ width: '150px',
91
+ show: true,
92
+ filter: true,
93
+ },
94
+ {
95
+ col: 7,
96
+ colName: localization.common.thinProvisioning,
97
+ text: localization.common.thinProvisioning,
98
+ isSortable: false,
99
+ sort: 'asc',
100
+ sortColumn: true,
101
+ width: '150px',
102
+ show: true,
103
+ filter: true,
104
+ },
105
+ {
106
+ col: 8,
107
+ colName: localization.common.access,
108
+ text: localization.common.access,
109
+ isSortable: false,
110
+ sort: 'asc',
111
+ sortColumn: true,
112
+ width: '150px',
113
+ show: true,
114
+ filter: true,
115
+ },
116
+ {
117
+ col: 9,
118
+ colName: localization.common.hardwareAcceleration,
119
+ text: localization.common.hardwareAcceleration,
120
+ isSortable: false,
121
+ sort: 'asc',
122
+ sortColumn: true,
123
+ width: '150px',
124
+ show: true,
125
+ filter: true,
126
+ },
127
+ {
128
+ col: 10,
129
+ colName: localization.common.driverType,
130
+ text: localization.common.driverType,
131
+ isSortable: false,
132
+ sort: 'asc',
133
+ sortColumn: true,
134
+ width: '150px',
135
+ show: true,
136
+ filter: true,
137
+ },
138
+ {
139
+ col: 11,
140
+ colName: localization.common.device,
141
+ text: localization.common.device,
142
+ isSortable: false,
143
+ sort: 'asc',
144
+ sortColumn: true,
145
+ width: '150px',
146
+ show: true,
147
+ filter: true,
148
+ },
149
+ {
150
+ col: 12,
151
+ colName: localization.common.storageIoControl,
152
+ text: localization.common.storageIoControl,
153
+ isSortable: false,
154
+ sort: 'asc',
155
+ sortColumn: true,
156
+ width: '150px',
157
+ show: true,
158
+ filter: true,
159
+ },
160
+ {
161
+ col: 13,
162
+ colName: 'default-actions',
163
+ text: '',
164
+ show: true,
165
+ },
166
+ ],
167
+
168
+ body: [],
169
+ })
170
+
171
+ export const tableBodyFunc = (
172
+ data: UI_I_DatastoreTableItem[],
173
+ localization: UI_I_Localization,
174
+ selectedRow: any
175
+ ): any => {
176
+ const result: UI_I_DataTableBody[] = []
177
+ const { $binary } = useNuxtApp()
178
+
179
+ data.forEach((item, key) => {
180
+ const stateData = {
181
+ iconClassName: '',
182
+ color: '',
183
+ isState: true,
184
+ text: localization.inventorySummary[
185
+ datastoreLocalizationByState[item.state]
186
+ ],
187
+ }
188
+
189
+ let thinProvisioningData: UI_I_StatusData | {} = {}
190
+ let hardwareAccelerationData: UI_I_StatusData | {} = {}
191
+ let storage_io_control: UI_I_StatusData | {} = {}
192
+ switch (item.state) {
193
+ case 0:
194
+ stateData.iconClassName = 'icon-help'
195
+ stateData.color = 'primary'
196
+ break
197
+ case 1:
198
+ stateData.iconClassName = 'status-check'
199
+ stateData.color = 'green'
200
+ break
201
+ case 2:
202
+ stateData.iconClassName = 'warning-outline'
203
+ stateData.color = 'yellow'
204
+ break
205
+ case 3:
206
+ stateData.iconClassName = 'error-outline'
207
+ stateData.color = 'red'
208
+ break
209
+ case 4:
210
+ stateData.iconClassName = 'maintenance'
211
+ stateData.color = 'yellow'
212
+ break
213
+ case 5:
214
+ stateData.iconClassName = 'close'
215
+ stateData.color = 'red'
216
+ break
217
+ case 6:
218
+ stateData.iconClassName = 'close'
219
+ stateData.color = 'red'
220
+ break
221
+ default:
222
+ stateData.iconClassName = ''
223
+ stateData.color = 'default'
224
+ }
225
+
226
+ hardwareAccelerationData =
227
+ item.hardware_acceleration === 'Unknown'
228
+ ? {
229
+ iconClassName: 'icon-help',
230
+ color: 'primary',
231
+ isState: true,
232
+ text: localization.common.unknown,
233
+ }
234
+ : {
235
+ iconClassName: 'status-check',
236
+ color: 'green',
237
+ isState: true,
238
+ text: localization.common.supported,
239
+ }
240
+
241
+ thinProvisioningData = getStatus(item.thin_provisioning)
242
+ storage_io_control = getStatus(item.storage_io_control)
243
+
244
+ result.push({
245
+ row: key,
246
+ collapse: false,
247
+ isHiddenCollapse: false,
248
+ collapseToggle: false,
249
+ isSelected: key === selectedRow,
250
+ data: [
251
+ {
252
+ key: item.id,
253
+ col: 0,
254
+ text: item.name,
255
+ },
256
+ {
257
+ key: 'state',
258
+ col: 1,
259
+ text: stateData.text,
260
+ data: stateData
261
+ },
262
+ { col: 2, text: $binary.round(item.capacity.capacity_mb) },
263
+ {
264
+ col: 3,
265
+ text: $binary.round(item.capacity.provisioned_mb.toString()),
266
+ },
267
+ {
268
+ col: 4,
269
+ text: $binary.round(item.capacity.free_mb.toString()),
270
+ },
271
+ {
272
+ col: 5,
273
+ text: $binary.round(item.capacity.used_mb.toString()),
274
+ },
275
+ {
276
+ col: 6,
277
+ text: item.type_text,
278
+ },
279
+ {
280
+ key: 'state',
281
+ col: 7,
282
+ text: item.thin_provisioning
283
+ ? localization.common.yes
284
+ : localization.common.no,
285
+ data: thinProvisioningData
286
+ },
287
+ {
288
+ col: 8,
289
+ text: item.access_mode,
290
+ },
291
+ {
292
+ key: 'state',
293
+ col: 9,
294
+ text: item.hardware_acceleration,
295
+ data: hardwareAccelerationData
296
+ },
297
+ {
298
+ col: 10,
299
+ text: item.drive_type,
300
+ },
301
+ {
302
+ col: 11,
303
+ text: item.device,
304
+ },
305
+ {
306
+ key: 'state',
307
+ col: 12,
308
+ text: item.storage_io_control,
309
+ data: storage_io_control
310
+ },
311
+ ],
312
+ })
313
+ })
314
+ return result
315
+ }
316
+
317
+ export const tableOptions: UI_I_DataTableOptions = {
318
+ isSelectable: true,
319
+ selectType: 'radio',
320
+ showPagination: false,
321
+ showPageInfo: false,
322
+ isSortable: true,
323
+ server: false,
324
+ isResizable: true,
325
+ showColumnManager: true,
326
+ }
@@ -0,0 +1,6 @@
1
+ export interface UI_I_StatusData {
2
+ iconClassName: string
3
+ color: string
4
+ isState: boolean
5
+ text: string
6
+ }
@@ -0,0 +1,21 @@
1
+ import type { UI_I_StatusData } from '~/components/common/vm/actions/common/select/storage/new/lib/models/interfaces'
2
+
3
+ export const getStatus = (
4
+ status: boolean,
5
+ text1?: string,
6
+ text2?: string
7
+ ): UI_I_StatusData => {
8
+ return status
9
+ ? {
10
+ iconClassName: 'status-check',
11
+ color: 'green',
12
+ isState: true,
13
+ text: text1 || 'True',
14
+ }
15
+ : {
16
+ iconClassName: 'close',
17
+ color: 'red',
18
+ isState: true,
19
+ text: text2 || 'False',
20
+ }
21
+ }
@@ -1,64 +1,64 @@
1
- <template>
2
- <div class="select-template">
3
- <atoms-alert
4
- v-show="errors.length"
5
- status="alert-danger"
6
- :items="errors"
7
- test-id="template-alert"
8
- @remove="onRemoveValidationErrors"
9
- />
10
-
11
- <div class="tree-view-wrap">
12
- <common-vm-actions-common-select-template-tree-view
13
- :templates-tree="props.templatesTree"
14
- @select-node="onSelectNode"
15
- />
16
- </div>
17
- </div>
18
- </template>
19
-
20
- <script setup lang="ts">
21
- import type { UI_I_Localization } from '~/lib/models/interfaces'
22
- import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
23
-
24
- const props = defineProps<{
25
- templateSubmit: null | Function
26
- templatesTree: UI_I_TreeNode[]
27
- }>()
28
- const emits = defineEmits<{
29
- (event: 'submit', value: UI_I_TreeNode): void
30
- }>()
31
-
32
- const localization = computed<UI_I_Localization>(() => useLocal())
33
-
34
- const selectedNode = ref<UI_I_TreeNode | null>(null)
35
- const onSelectNode = (node: UI_I_TreeNode): void => {
36
- selectedNode.value = node
37
- }
38
-
39
- watch(
40
- () => props.templateSubmit,
41
- (newValue) => {
42
- newValue && submit(newValue)
43
- }
44
- )
45
-
46
- const submit = async (cb: Function): Promise<void> => {
47
- if (!selectedNode.value || selectedNode.value.type !== 'vmt') {
48
- errors.value = [localization.value.vmWizard.selectValidTemplate]
49
- cb(false)
50
- return
51
- }
52
-
53
- onRemoveValidationErrors()
54
- emits('submit', selectedNode.value)
55
- cb(true)
56
- }
57
-
58
- const errors = ref<string[]>([])
59
- const onRemoveValidationErrors = (): void => {
60
- errors.value = []
61
- }
62
- </script>
63
-
64
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <div class="select-template">
3
+ <atoms-alert
4
+ v-show="errors.length"
5
+ status="alert-danger"
6
+ :items="errors"
7
+ test-id="template-alert"
8
+ @remove="onRemoveValidationErrors"
9
+ />
10
+
11
+ <div class="tree-view-wrap">
12
+ <common-vm-actions-common-select-template-tree-view
13
+ :templates-tree="props.templatesTree"
14
+ @select-node="onSelectNode"
15
+ />
16
+ </div>
17
+ </div>
18
+ </template>
19
+
20
+ <script setup lang="ts">
21
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
22
+ import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
23
+
24
+ const props = defineProps<{
25
+ templateSubmit: null | Function
26
+ templatesTree: UI_I_TreeNode[]
27
+ }>()
28
+ const emits = defineEmits<{
29
+ (event: 'submit', value: UI_I_TreeNode): void
30
+ }>()
31
+
32
+ const localization = computed<UI_I_Localization>(() => useLocal())
33
+
34
+ const selectedNode = ref<UI_I_TreeNode | null>(null)
35
+ const onSelectNode = (node: UI_I_TreeNode): void => {
36
+ selectedNode.value = node
37
+ }
38
+
39
+ watch(
40
+ () => props.templateSubmit,
41
+ (newValue) => {
42
+ newValue && submit(newValue)
43
+ }
44
+ )
45
+
46
+ const submit = async (cb: Function): Promise<void> => {
47
+ if (!selectedNode.value || selectedNode.value.type !== 'vmt') {
48
+ errors.value = [localization.value.vmWizard.selectValidTemplate]
49
+ cb(false)
50
+ return
51
+ }
52
+
53
+ onRemoveValidationErrors()
54
+ emits('submit', selectedNode.value)
55
+ cb(true)
56
+ }
57
+
58
+ const errors = ref<string[]>([])
59
+ const onRemoveValidationErrors = (): void => {
60
+ errors.value = []
61
+ }
62
+ </script>
63
+
64
+ <style scoped lang="scss"></style>