bfg-common 1.5.244 → 1.5.245

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/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  4. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  5. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  6. package/assets/scss/common/icons/icons-1.scss +2 -2
  7. package/assets/scss/common/icons/icons-5.scss +5 -5
  8. package/assets/scss/common/icons/icons-6.scss +1 -1
  9. package/assets/scss/common/theme.scss +6 -0
  10. package/components/atoms/TheIcon3.vue +50 -50
  11. package/components/atoms/perPage/PerPage.vue +58 -58
  12. package/components/atoms/table/dataGrid/DataGrid.vue +1717 -1717
  13. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  14. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  15. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  16. package/components/common/backup/actions/deleteBackup/DeleteBackup.vue +38 -0
  17. package/components/common/backup/storage/actions/add/Add.vue +250 -247
  18. package/components/common/backup/storage/actions/add/New.vue +283 -286
  19. package/components/common/backup/storage/actions/add/Old.vue +116 -114
  20. package/components/common/backup/storage/actions/add/lib/config/steps.ts +168 -168
  21. package/components/common/backup/storage/actions/add/steps/common/tooltipInfo/TooltipInfo.vue +94 -0
  22. package/components/common/backup/storage/actions/add/steps/nameAndConfigure/NameAndConfigure.vue +41 -41
  23. package/components/common/backup/storage/actions/add/steps/nameAndConfigure/NameAndConfigureNew.vue +294 -304
  24. package/components/common/backup/storage/actions/add/steps/readyComplete/ReadyComplete.vue +45 -45
  25. package/components/common/backup/storage/actions/add/steps/readyComplete/lib/config/propertiesDetails.ts +242 -242
  26. package/components/common/backup/storage/actions/add/steps/typeMode/TypeModeNew.vue +3 -12
  27. package/components/common/backup/storage/actions/delete/Delete.vue +65 -65
  28. package/components/common/browse/BrowseNew.vue +8 -2
  29. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  30. package/components/common/context/lib/models/interfaces.ts +31 -31
  31. package/components/common/diagramMain/DiagramMain.vue +897 -897
  32. package/components/common/diagramMain/Header.vue +214 -214
  33. package/components/common/layout/theHeader/feedback/new/additionalDetails/Headline.vue +67 -8
  34. package/components/common/layout/theHeader/feedback/new/subtitle/Subtitle.vue +72 -8
  35. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  36. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  37. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  38. package/components/common/pages/home/headline/Headline.vue +45 -45
  39. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  40. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  41. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  42. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  43. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  44. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  45. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  46. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  47. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  48. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  49. package/components/common/pages/packages/Packages.vue +208 -208
  50. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  51. package/components/common/pages/tasks/table/Table.vue +7 -15
  52. package/components/common/pages/tasks/table/errorInfo/ErrorInfo.vue +128 -0
  53. package/components/common/pages/tasks/table/expandDetails/ExpandDetails.vue +9 -15
  54. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  55. package/components/common/recursionTree/RecursionTree.vue +223 -223
  56. package/components/common/select/button/ButtonDropdown.vue +108 -108
  57. package/components/common/spiceConsole/Drawer.vue +377 -377
  58. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  59. package/components/common/vm/actions/add/Add.vue +3 -0
  60. package/components/common/vm/actions/add/New.vue +4 -0
  61. package/components/common/vm/actions/add/Old.vue +4 -0
  62. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  63. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  64. package/components/common/vm/actions/add/folderTreeView/Old.vue +50 -50
  65. package/components/common/vm/actions/clone/Clone.vue +3 -0
  66. package/components/common/vm/actions/clone/lib/config/steps.ts +291 -291
  67. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +3 -0
  68. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  69. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +3 -0
  70. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +7 -2
  71. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +2 -0
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +3 -0
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +9 -7
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +321 -319
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +100 -100
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +99 -8
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +4 -0
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +78 -78
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +8 -53
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/model/ModelNew.vue +162 -34
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/SharesNew.vue +6 -1
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/TooltipNew.vue +154 -154
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +307 -307
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryNew.vue +5 -1
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/hotPlug/HotPlugNew.vue +8 -2
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +385 -382
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +6 -0
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +2 -0
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/file/FileNew.vue +8 -3
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -151
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationNew.vue +75 -73
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +85 -83
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/StorageModal.vue +3 -0
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/StorageModalNew.vue +2 -0
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/StorageModalOld.vue +2 -0
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/maximumSize/MaximumSizeNew.vue +8 -4
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/ProvisioningNew.vue +6 -1
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +6 -1
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +1 -1
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +4 -3
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +1 -0
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +94 -94
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +1 -0
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +8 -2
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/inputDevices/InputDevicesNew.vue +40 -40
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/ReservationNew.vue +5 -2
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +5 -2
  128. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  129. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +5 -1
  130. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  131. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  132. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  133. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +4 -0
  134. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +1 -0
  135. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +8 -2
  136. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +31 -31
  137. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +31 -31
  138. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  139. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  140. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +128 -128
  141. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  142. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +39 -39
  143. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  144. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsNew.vue +5 -1
  145. package/components/common/vm/actions/common/lib/utils/capabilities.ts +52 -52
  146. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  147. package/components/common/vm/actions/common/select/computeResource/treeView/New.vue +44 -44
  148. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +118 -118
  149. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  150. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  151. package/components/common/vm/actions/common/select/name/New.vue +70 -10
  152. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  153. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  154. package/components/common/vm/actions/common/select/storage/Old.vue +2 -0
  155. package/components/common/vm/actions/common/select/storage/Storage.vue +3 -0
  156. package/components/common/vm/actions/common/select/storage/new/New.vue +10 -5
  157. package/components/common/vm/actions/common/select/storage/new/lib/config/table.ts +2 -1
  158. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  159. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  160. package/components/common/vm/actions/editSettings/EditSettings.vue +3 -0
  161. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +2 -0
  162. package/components/common/vm/actions/editSettings/new/New.vue +2 -0
  163. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  164. package/components/common/wizards/datastore/add/New.vue +3 -8
  165. package/components/common/wizards/datastore/add/steps/common/tooltipInfo/TooltipInfo.vue +93 -0
  166. package/components/common/wizards/datastore/add/steps/nameAndConfigure/NameAndConfigureNew.vue +6 -17
  167. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceNew.vue +3 -9
  168. package/components/common/wizards/datastore/add/steps/typeMode/TypeModeNew.vue +3 -8
  169. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  170. package/components/common/wizards/vm/migrate/lib/config/steps.ts +157 -157
  171. package/components/common/wizards/vm/migrate/lib/validations.ts +68 -68
  172. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +135 -137
  173. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  174. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  175. package/composables/productNameLocal.ts +30 -30
  176. package/composables/useAppVersion.ts +21 -21
  177. package/lib/utils/utils.ts +14 -2
  178. package/package.json +2 -2
  179. package/plugins/cron.ts +75 -0
  180. package/plugins/date.ts +233 -233
  181. package/plugins/helpers.ts +18 -0
  182. package/plugins/number.ts +18 -0
  183. package/plugins/panelStates.ts +70 -0
  184. package/plugins/text.ts +59 -48
  185. package/plugins/time.ts +17 -0
  186. package/public/spice-console/lib/images/bitmap.js +203 -203
  187. package/public/spice-console/network/spicechannel.js +387 -387
  188. package/store/main/mutations.ts +7 -7
  189. package/store/main/state.ts +7 -7
  190. package/store/tasks/mappers/recentTasks.ts +64 -64
  191. package/components/common/tooltip/Help.vue +0 -132
  192. package/components/common/tooltip/lib/models/types.ts +0 -1
  193. /package/{components/common/split/horizontal/lib/models → lib/models/plugins/panelStates}/interfaces.ts +0 -0
@@ -16,7 +16,7 @@
16
16
  <ui-data-table
17
17
  :data="data"
18
18
  :options="tableOptions"
19
- :loading="loading"
19
+ :loading="props.isDatastoreLoading"
20
20
  :default-layout="false"
21
21
  :texts="tableTexts"
22
22
  test-id="select-storage-data-table"
@@ -29,6 +29,10 @@
29
29
  {{ storageCount }}
30
30
  </h3></template
31
31
  >
32
+ <template #name="{ item }">
33
+ <ui-icon name="datastores" width="18" height="18" class="mr-1" />
34
+ {{ item.text }}
35
+ </template>
32
36
  <template #state="{ item }">
33
37
  <ui-chip :color="item.data.color" rounded>
34
38
  <ui-icon :name="item.data.iconClassName" width="14" height="14" />
@@ -86,6 +90,7 @@ const selectedRow = defineModel<number | null>('selectedRow')
86
90
 
87
91
  const props = defineProps<{
88
92
  datastore: UI_I_DatastoreTableItem[]
93
+ isDatastoreLoading: boolean
89
94
  errors: string[]
90
95
  selectedStorage: UI_I_DatastoreTableItem | null
91
96
  hideCompatibility?: boolean
@@ -108,13 +113,13 @@ const storageCount = computed<string>(() =>
108
113
  data.value.body.length.toString()
109
114
  )
110
115
  )
111
- const loading = ref<boolean>(true)
116
+ // const loading = ref<boolean>(true)
112
117
  const data = ref<UI_I_DataTable>(tableDataFunc(localization.value))
113
118
 
114
119
  watch(
115
120
  () => props.datastore,
116
121
  (newValue: UI_I_DatastoreTableItem[]) => {
117
- loading.value = true
122
+ // loading.value = true
118
123
 
119
124
  // if (!newValue.length || data.value.body.length) return
120
125
 
@@ -124,14 +129,14 @@ watch(
124
129
  selectedRow.value
125
130
  )
126
131
 
127
- loading.value = false
132
+ // loading.value = false
128
133
  },
129
134
  { immediate: true, deep: true }
130
135
  // { deep: true }
131
136
  )
132
137
 
133
138
  const onSelectRow = (selectedData: UI_I_DataTable): void => {
134
- const selectedId = selectedData[0]?.data[0]?.key
139
+ const selectedId = selectedData[0]?.data[0]?.data.id
135
140
  const selectedItemIndex = props.datastore.findIndex(
136
141
  (item) => item.id === selectedId
137
142
  )
@@ -257,9 +257,10 @@ export const tableBodyFunc = (
257
257
  isSelected: key === selectedRow,
258
258
  data: [
259
259
  {
260
- key: item.id,
260
+ key: 'name',
261
261
  col: 0,
262
262
  text: item.name,
263
+ data: { id: item.id },
263
264
  },
264
265
  {
265
266
  key: 'state',
@@ -1,6 +1,6 @@
1
- export interface UI_I_StatusData {
2
- iconClassName: string
3
- color: string
4
- isState: boolean
5
- text: string
1
+ export interface UI_I_StatusData {
2
+ iconClassName: string
3
+ color: string
4
+ isState: boolean
5
+ text: string
6
6
  }
@@ -1,21 +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
+ 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
+ }
@@ -8,6 +8,7 @@
8
8
  :project="props.project"
9
9
  :loading="loadingLocal"
10
10
  :datastore="props.datastore"
11
+ :is-datastore-loading="props.isDatastoreLoading"
11
12
  :networks-table="props.networksTable"
12
13
  :selected-nav-item="selectedNavItem"
13
14
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
@@ -42,6 +43,7 @@
42
43
  :project="props.project"
43
44
  :loading="loadingLocal"
44
45
  :datastore="props.datastore"
46
+ :is-datastore-loading="props.isDatastoreLoading"
45
47
  :networks-table="props.networksTable"
46
48
  :selected-nav-item="selectedNavItem"
47
49
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
@@ -110,6 +112,7 @@ const props = defineProps<{
110
112
  vmCpuHelpTextSecond: string
111
113
  vmId: string
112
114
  datastore: UI_I_DatastoreTableItem[]
115
+ isDatastoreLoading: boolean
113
116
  validateSendDataFunc: UI_T_EditVmFinishFunc
114
117
  getDatastoreTableFunc?: (payload: UI_I_TablePayload) => Promise<void>
115
118
  state?: string | number
@@ -50,6 +50,7 @@
50
50
  :state="props.state"
51
51
  :get-datastore-table-func="props.getDatastoreTableFunc"
52
52
  :datastore="props.datastore"
53
+ :is-datastore-loading="props.isDatastoreLoading"
53
54
  :customize-hardware-submit="props.customizeHardwareSubmit"
54
55
  is-edit
55
56
  @get-storage="emits('get-storage', $event)"
@@ -103,6 +104,7 @@ const props = defineProps<{
103
104
  project: UI_T_Project
104
105
  loading: boolean
105
106
  datastore: UI_I_DatastoreTableItem[]
107
+ isDatastoreLoading: boolean
106
108
  networksTable: UI_I_NetworkTableItem[]
107
109
  selectedNavItem: UI_T_SelectedNavItem
108
110
  vmCpuHelpTextSecond: string
@@ -53,6 +53,7 @@
53
53
  :state="props.state"
54
54
  :get-datastore-table-func="props.getDatastoreTableFunc"
55
55
  :datastore="props.datastore"
56
+ :is-datastore-loading="props.isDatastoreLoading"
56
57
  :customize-hardware-submit="props.customizeHardwareSubmit"
57
58
  is-edit
58
59
  @get-storage="emits('get-storage', $event)"
@@ -110,6 +111,7 @@ const props = defineProps<{
110
111
  project: UI_T_Project
111
112
  loading: boolean
112
113
  datastore: UI_I_DatastoreTableItem[]
114
+ isDatastoreLoading: boolean
113
115
  networksTable: UI_I_NetworkTableItem[]
114
116
  selectedNavItem: UI_T_SelectedNavItem
115
117
  vmCpuHelpTextSecond: string
@@ -1,88 +1,88 @@
1
- <template>
2
- <div class="skeleton-wrap">
3
- <div class="tabs">
4
- <ui-skeleton-item width="64px" height="16px" />
5
- <ui-skeleton-item width="64px" height="16px" />
6
- </div>
7
- <div class="actions">
8
- <ui-skeleton-item width="80px" height="16px" />
9
- <ui-skeleton-item width="152px" height="32px" border-radius="6px" />
10
- </div>
11
- <div class="stack-block-wrap">
12
- <div class="stack-block">
13
- <div class="stack-label flex-1">
14
- <ui-skeleton-item width="16px" height="16px" border-radius="50%" />
15
- <ui-skeleton-item height="16px" />
16
- </div>
17
- <div class="stack-value flex-1">
18
- <ui-skeleton-item width="102px" height="32px" border-radius="8px" />
19
- </div>
20
- </div>
21
-
22
- <div v-for="item in 2" :key="item" class="stack-block">
23
- <div class="stack-label flex-1">
24
- <ui-skeleton-item width="16px" height="16px" border-radius="50%" />
25
- <ui-skeleton-item height="16px" />
26
- </div>
27
- <div class="stack-value flex-1">
28
- <ui-skeleton-item width="102px" height="32px" border-radius="8px" />
29
- <ui-skeleton-item width="80px" height="32px" border-radius="8px" />
30
- </div>
31
- </div>
32
-
33
- <div v-for="item in 5" :key="item" class="stack-block">
34
- <div class="stack-label flex-1">
35
- <ui-skeleton-item width="16px" height="16px" border-radius="50%" />
36
- <ui-skeleton-item height="16px" />
37
- </div>
38
- <div class="stack-value flex-1">
39
- <ui-skeleton-item width="196px" height="32px" border-radius="8px" />
40
- </div>
41
- </div>
42
- </div>
43
- </div>
44
- </template>
45
-
46
- <script setup lang="ts"></script>
47
-
48
- <style scoped lang="scss">
49
- .skeleton-wrap {
50
- padding: 0 32px;
51
-
52
- .tabs {
53
- display: flex;
54
- align-items: center;
55
- gap: 32px;
56
- padding: 8px 0 12px;
57
- border-bottom: 1px solid var(--divider-color);
58
- }
59
-
60
- .actions {
61
- display: flex;
62
- align-items: center;
63
- justify-content: space-between;
64
- margin: 12px 0;
65
- }
66
-
67
- .stack-block-wrap {
68
- display: grid;
69
- grid-gap: 12px;
70
-
71
- .stack-block {
72
- display: flex;
73
- align-items: center;
74
- gap: 12px;
75
- padding: 8px 12px;
76
- background: var(--stack-block-bg-color);
77
- border-radius: 6px;
78
-
79
- .stack-label,
80
- .stack-value {
81
- display: flex;
82
- align-items: center;
83
- gap: 8px;
84
- }
85
- }
86
- }
87
- }
88
- </style>
1
+ <template>
2
+ <div class="skeleton-wrap">
3
+ <div class="tabs">
4
+ <ui-skeleton-item width="64px" height="16px" />
5
+ <ui-skeleton-item width="64px" height="16px" />
6
+ </div>
7
+ <div class="actions">
8
+ <ui-skeleton-item width="80px" height="16px" />
9
+ <ui-skeleton-item width="152px" height="32px" border-radius="6px" />
10
+ </div>
11
+ <div class="stack-block-wrap">
12
+ <div class="stack-block">
13
+ <div class="stack-label flex-1">
14
+ <ui-skeleton-item width="16px" height="16px" border-radius="50%" />
15
+ <ui-skeleton-item height="16px" />
16
+ </div>
17
+ <div class="stack-value flex-1">
18
+ <ui-skeleton-item width="102px" height="32px" border-radius="8px" />
19
+ </div>
20
+ </div>
21
+
22
+ <div v-for="item in 2" :key="item" class="stack-block">
23
+ <div class="stack-label flex-1">
24
+ <ui-skeleton-item width="16px" height="16px" border-radius="50%" />
25
+ <ui-skeleton-item height="16px" />
26
+ </div>
27
+ <div class="stack-value flex-1">
28
+ <ui-skeleton-item width="102px" height="32px" border-radius="8px" />
29
+ <ui-skeleton-item width="80px" height="32px" border-radius="8px" />
30
+ </div>
31
+ </div>
32
+
33
+ <div v-for="item in 5" :key="item" class="stack-block">
34
+ <div class="stack-label flex-1">
35
+ <ui-skeleton-item width="16px" height="16px" border-radius="50%" />
36
+ <ui-skeleton-item height="16px" />
37
+ </div>
38
+ <div class="stack-value flex-1">
39
+ <ui-skeleton-item width="196px" height="32px" border-radius="8px" />
40
+ </div>
41
+ </div>
42
+ </div>
43
+ </div>
44
+ </template>
45
+
46
+ <script setup lang="ts"></script>
47
+
48
+ <style scoped lang="scss">
49
+ .skeleton-wrap {
50
+ padding: 0 32px;
51
+
52
+ .tabs {
53
+ display: flex;
54
+ align-items: center;
55
+ gap: 32px;
56
+ padding: 8px 0 12px;
57
+ border-bottom: 1px solid var(--divider-color);
58
+ }
59
+
60
+ .actions {
61
+ display: flex;
62
+ align-items: center;
63
+ justify-content: space-between;
64
+ margin: 12px 0;
65
+ }
66
+
67
+ .stack-block-wrap {
68
+ display: grid;
69
+ grid-gap: 12px;
70
+
71
+ .stack-block {
72
+ display: flex;
73
+ align-items: center;
74
+ gap: 12px;
75
+ padding: 8px 12px;
76
+ background: var(--stack-block-bg-color);
77
+ border-radius: 6px;
78
+
79
+ .stack-label,
80
+ .stack-value {
81
+ display: flex;
82
+ align-items: center;
83
+ gap: 8px;
84
+ }
85
+ }
86
+ }
87
+ }
88
+ </style>
@@ -21,14 +21,9 @@
21
21
  <div class="subtitle-block flex-row">
22
22
  <ui-wizard-subtitle :sub-title="selectedStep.subTitle" />
23
23
 
24
- <common-tooltip-help
25
- test-id="datastore-type-subtitle"
26
- help-id="datastore-type-subtitle-icon"
27
- :help-text="localization.common.datastoreTypeHelpDesc"
28
- :title="localization.common.information"
29
- dropdown-width="272px"
30
- dropdown-left
31
- dropdown-top
24
+ <common-wizards-datastore-add-steps-common-tooltip-info
25
+ id="datastore-type-subtitle-tooltip"
26
+ :description="localization.common.datastoreTypeHelpDesc"
32
27
  />
33
28
  </div>
34
29
  </div>
@@ -0,0 +1,93 @@
1
+ <template>
2
+ <div class="tooltip-info">
3
+ <ui-icon
4
+ :id="`${props.id}-info-trigger`"
5
+ name="info"
6
+ width="16"
7
+ height="16"
8
+ :class="['tooltip-info__icon pointer', { active: isShowInfo }]"
9
+ @click.stop="isShowInfo = !isShowInfo"
10
+ />
11
+ <ui-popup-window
12
+ v-model="isShowInfo"
13
+ top
14
+ left
15
+ width="272px"
16
+ :elem-id="`${props.id}-info-trigger`"
17
+ >
18
+ <div class="common-widget-info">
19
+ <div class="flex justify-between">
20
+ <div class="flex">
21
+ <ui-icon name="info-2" width="16px" height="16px" />
22
+ <span class="title"> {{ localization.common.information }}</span>
23
+ </div>
24
+ <ui-icon
25
+ name="close"
26
+ class="pointer hide-icon"
27
+ width="16px"
28
+ height="16px"
29
+ @click.stop="isShowInfo = false"
30
+ />
31
+ </div>
32
+
33
+ <div class="common-widget-info-description">
34
+ {{ props.description }}
35
+ </div>
36
+ </div>
37
+ </ui-popup-window>
38
+ </div>
39
+ </template>
40
+
41
+ <script lang="ts" setup>
42
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
43
+
44
+ const props = defineProps<{
45
+ id: string
46
+ description: string
47
+ }>()
48
+
49
+ const localization = computed<UI_I_Localization>(() => useLocal())
50
+
51
+ const isShowInfo = ref<boolean>(false)
52
+ </script>
53
+
54
+ <style lang="scss" scoped>
55
+ @import 'assets/scss/common/mixins.scss';
56
+ .tooltip-info {
57
+ @include flex($align: center);
58
+ &__icon {
59
+ color: var(--form-icon-color);
60
+ &:hover {
61
+ color: var(--close-icon);
62
+ }
63
+ &.active {
64
+ color: var(--btn-primary-fill-bg-color);
65
+ }
66
+ }
67
+
68
+ .common-widget-info {
69
+ padding: 16px;
70
+
71
+ .title {
72
+ font-size: 14px;
73
+ font-weight: 500;
74
+ line-height: 16px;
75
+ color: var(--zabbix-text-color);
76
+ margin-left: 8px;
77
+ }
78
+
79
+ .common-widget-info-description {
80
+ font-size: 13px;
81
+ line-height: 15.73px;
82
+ color: var(--zabbix-text-color);
83
+ margin-top: 12px;
84
+ white-space: pre-line;
85
+ }
86
+
87
+ svg {
88
+ color: var(--alert-icon);
89
+ min-width: 16px;
90
+ }
91
+ }
92
+ }
93
+ </style>
@@ -26,15 +26,9 @@
26
26
  <span class="basics-step-row-title-text">
27
27
  {{ localization.common.folder }}
28
28
  </span>
29
-
30
- <common-tooltip-help
31
- test-id="configuration-folder-help"
32
- help-id="configuration-folder-help-icon"
33
- :title="localization.common.information"
34
- :help-text="'Specify the folder path - for example, /vols/vol0/datastore-001'"
35
- dropdown-width="272px"
36
- dropdown-left
37
- dropdown-top
29
+ <common-wizards-datastore-add-steps-common-tooltip-info
30
+ :id="'option.testId'"
31
+ :description="'Specify the folder path - for example, /vols/vol0/datastore-001'"
38
32
  />
39
33
  </div>
40
34
  <div class="basics-step-row-content">
@@ -57,14 +51,9 @@
57
51
  <span class="basics-step-row-title-text">
58
52
  {{ localization.common.server }}
59
53
  </span>
60
- <common-tooltip-help
61
- test-id="configuration-server-help"
62
- help-id="configuration-server-help-icon"
63
- :title="localization.common.information"
64
- :help-text="'Specify the server address - for example, nas, nas.it.com or 192.168.0.1.'"
65
- dropdown-width="272px"
66
- dropdown-left
67
- dropdown-top
54
+ <common-wizards-datastore-add-steps-common-tooltip-info
55
+ :id="'option.testIdserver'"
56
+ :description="'Specify the server address - for example, nas, nas.it.com or 192.168.0.1.'"
68
57
  />
69
58
  </div>
70
59
  <div class="basics-step-row-content">
@@ -32,15 +32,9 @@
32
32
  <span class="row__title-text">
33
33
  {{ localization.common.selectHost }}
34
34
  </span>
35
-
36
- <common-tooltip-help
37
- test-id="device-select-host-tooltip"
38
- help-id="device-select-host-tooltip"
39
- :title="localization.common.information"
40
- :help-text="localization.common.selectHostToViewAccessible"
41
- dropdown-width="272px"
42
- dropdown-left
43
- dropdown-top
35
+ <common-wizards-datastore-add-steps-common-tooltip-info
36
+ id="device-select-host-tooltip"
37
+ :description="localization.common.selectHostToViewAccessible"
44
38
  />
45
39
  </div>
46
40
  <div v-if="props.isShowSelectHost" class="row__content">
@@ -17,14 +17,9 @@
17
17
  </template>
18
18
 
19
19
  <template #tooltip>
20
- <common-tooltip-help
21
- :test-id="`${option.testId}-${key}`"
22
- :help-id="`${option.testId}-${key}`"
23
- :help-text="option.tooltipContent"
24
- :title="localization.common.information"
25
- dropdown-width="272px"
26
- dropdown-left
27
- dropdown-top
20
+ <common-wizards-datastore-add-steps-common-tooltip-info
21
+ :id="option.testId"
22
+ :description="option.tooltipContent"
28
23
  />
29
24
  </template>
30
25
  </ui-radio>