bfg-common 1.5.446 → 1.5.448

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 (129) 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/components/atoms/TheIcon3.vue +50 -50
  7. package/components/atoms/collapse/CollapseNav.vue +170 -170
  8. package/components/atoms/perPage/PerPage.vue +58 -58
  9. package/components/atoms/table/dataGrid/DataGrid.vue +1694 -1694
  10. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  11. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  12. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  13. package/components/common/browse/blocks/Container.vue +235 -235
  14. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  15. package/components/common/context/lib/models/interfaces.ts +33 -33
  16. package/components/common/diagramMain/modals/lib/config/networkModal.ts +398 -398
  17. package/components/common/diagramMain/modals/lib/config/portModal.ts +251 -251
  18. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  19. package/components/common/diagramMain/port/Port.vue +580 -580
  20. package/components/common/feedback/Buttons.vue +2 -1
  21. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  22. package/components/common/layout/theHeader/modals/reconnect/Reconnect.vue +2 -4
  23. package/components/common/layout/theHeader/modals/reconnect/ReconnectNew.vue +1 -2
  24. package/components/common/layout/theHeader/modals/reconnect/ReconnectOld.vue +1 -2
  25. package/components/common/layout/theHeader/userMenu/UserMenu.vue +1 -1
  26. package/components/common/layout/theHeader/userMenu/modals/preferences/Preferences.vue +1 -1
  27. package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesOld.vue +1 -0
  28. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguage.vue +4 -2
  29. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguageOld.vue +5 -4
  30. package/components/common/pages/backups/Backups.vue +102 -102
  31. package/components/common/pages/backups/DetailView.vue +52 -52
  32. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  33. package/components/common/pages/backups/modals/createBackup/configuration/Configuration.vue +29 -29
  34. package/components/common/pages/backups/modals/createBackup/configuration/backupWindow/BackupWindow.vue +26 -26
  35. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/MaxBandwidth.vue +66 -66
  36. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  37. package/components/common/pages/backups/modals/createBackup/configuration/strategy/Strategy.vue +35 -35
  38. package/components/common/pages/backups/modals/createBackup/datastores/Datastores.vue +59 -59
  39. package/components/common/pages/backups/modals/createBackup/datastores/tableView/TableView.vue +95 -95
  40. package/components/common/pages/backups/modals/createBackup/disks/tableView/lib/config/table.ts +117 -117
  41. package/components/common/pages/backups/modals/createBackup/general/General.vue +135 -135
  42. package/components/common/pages/backups/modals/createBackup/lib/config/strategyOptions.ts +12 -12
  43. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  44. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  45. package/components/common/pages/backups/modals/restore/disks/Disks.vue +27 -27
  46. package/components/common/pages/backups/modals/restore/disks/tableView/TableView.vue +102 -102
  47. package/components/common/pages/backups/modals/restore/disks/tableView/lib/config/table.ts +117 -117
  48. package/components/common/pages/backups/modals/restore/name/Name.vue +160 -160
  49. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  50. package/components/common/pages/backups/modals/restore/networks/Networks.vue +67 -67
  51. package/components/common/pages/backups/modals/restore/networks/table/Table.vue +214 -214
  52. package/components/common/pages/backups/modals/restore/types/lib/config/typeOptions.ts +25 -25
  53. package/components/common/pages/backups/tools/Tools.vue +75 -75
  54. package/components/common/pages/backups/tools/lib/config/tabs.ts +36 -36
  55. package/components/common/pages/home/headline/Headline.vue +9 -4
  56. package/components/common/pages/home/headline/HeadlineNew.vue +9 -4
  57. package/components/common/pages/home/headline/HeadlineOld.vue +47 -42
  58. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  59. package/components/common/pages/home/widgets/Widgets.vue +1 -0
  60. package/components/common/pages/home/widgets/WidgetsOld.vue +7 -1
  61. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  62. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  63. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  64. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  65. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  66. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  67. package/components/common/select/radio/RadioGroup.vue +137 -137
  68. package/components/common/spiceConsole/Drawer.vue +381 -381
  69. package/components/common/spiceConsole/SpiceConsole.vue +127 -127
  70. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  71. package/components/common/split/vertical/VerticalOld.vue +6 -4
  72. package/components/common/tools/Actions.vue +207 -207
  73. package/components/common/treeView/TreeView.vue +52 -52
  74. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  75. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +78 -78
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +85 -85
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/maximumSize/MaximumSize.vue +23 -23
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +99 -99
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
  96. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  97. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  98. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  99. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  100. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapOld.vue +44 -44
  101. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  102. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  103. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  104. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  105. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +143 -143
  106. package/components/common/vm/actions/common/select/computeResource/New.vue +184 -184
  107. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +131 -131
  108. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  109. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  110. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  111. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  112. package/components/common/vm/actions/common/select/storage/new/New.vue +320 -320
  113. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  114. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  115. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  116. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  117. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  118. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  119. package/components/common/wizards/vm/migrate/select/type/lib/config/typeOptions.ts +45 -45
  120. package/composables/productNameLocal.ts +30 -30
  121. package/composables/useAppVersion.ts +21 -21
  122. package/package.json +2 -2
  123. package/plugins/date.ts +233 -233
  124. package/plugins/panelStates.ts +70 -70
  125. package/plugins/text.ts +59 -59
  126. package/public/spice-console/lib/images/bitmap.js +203 -203
  127. package/public/spice-console/network/spicechannel.js +390 -390
  128. package/store/main/mutations.ts +7 -7
  129. package/store/main/state.ts +7 -7
@@ -1,75 +1,75 @@
1
- <template>
2
- <div class="backup-actions grid py-0 px-6">
3
- <button
4
- v-if="targetType === 'vm'"
5
- id="create-backup-button"
6
- v-permission="permission"
7
- :disabled="isDisabled"
8
- data-id="create-backup-button"
9
- class="btn btn-primary btn-sm"
10
- @click="onSelect('createBackup')"
11
- >
12
- {{ localization.common.createBackup }}...
13
- </button>
14
- <atoms-tabs
15
- :items="tabs"
16
- test-id="vm-backup-tabs"
17
- size="small"
18
- class="tabs w-100"
19
- @change="onSelect"
20
- />
21
- </div>
22
- </template>
23
-
24
- <script setup lang="ts">
25
- import type { UI_T_Project } from '~/lib/models/types'
26
- import type { UI_I_Localization } from '~/lib/models/interfaces'
27
- import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/models/interfaces'
28
- import type {
29
- UI_T_BackupActionType,
30
- UI_T_TargetType,
31
- } from '~/components/common/pages/backups/lib/models/types'
32
- import type { UI_I_BackupsTreeNode } from '~/components/common/pages/backups/lib/models/interfaces'
33
- import { backupsTabsFunc } from '~/components/common/pages/backups/tools/lib/config/tabs'
34
-
35
- const props = defineProps<{
36
- project: UI_T_Project
37
- backupsCount: number
38
- backupsLoading: boolean
39
- targetType: UI_T_TargetType
40
- selectedNode: UI_I_BackupsTreeNode | null
41
- }>()
42
-
43
- const emits = defineEmits<{
44
- (event: 'select', value: UI_T_BackupActionType): void
45
- }>()
46
-
47
- const localization = computed<UI_I_Localization>(() => useLocal())
48
-
49
- const permission = computed<string>(() => {
50
- return props.project === 'sphere' ? 'VirtualMachines.CreateBackup' : ''
51
- })
52
-
53
- const tabs = computed<UI_I_CollapseNavItem[]>(() =>
54
- backupsTabsFunc(
55
- localization.value,
56
- isDisabled.value,
57
- props.backupsCount,
58
- props.selectedNode,
59
- props.project
60
- )
61
- )
62
-
63
- const onSelect = (action: UI_T_BackupActionType): void => {
64
- emits('select', action)
65
- }
66
-
67
- const isDisabled = computed<boolean>(() => props.backupsLoading)
68
- </script>
69
-
70
- <style scoped lang="scss">
71
- .backup-actions {
72
- grid-template-columns: auto 1fr;
73
- align-items: baseline;
74
- }
75
- </style>
1
+ <template>
2
+ <div class="backup-actions grid py-0 px-6">
3
+ <button
4
+ v-if="targetType === 'vm'"
5
+ id="create-backup-button"
6
+ v-permission="permission"
7
+ :disabled="isDisabled"
8
+ data-id="create-backup-button"
9
+ class="btn btn-primary btn-sm"
10
+ @click="onSelect('createBackup')"
11
+ >
12
+ {{ localization.common.createBackup }}...
13
+ </button>
14
+ <atoms-tabs
15
+ :items="tabs"
16
+ test-id="vm-backup-tabs"
17
+ size="small"
18
+ class="tabs w-100"
19
+ @change="onSelect"
20
+ />
21
+ </div>
22
+ </template>
23
+
24
+ <script setup lang="ts">
25
+ import type { UI_T_Project } from '~/lib/models/types'
26
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
27
+ import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/models/interfaces'
28
+ import type {
29
+ UI_T_BackupActionType,
30
+ UI_T_TargetType,
31
+ } from '~/components/common/pages/backups/lib/models/types'
32
+ import type { UI_I_BackupsTreeNode } from '~/components/common/pages/backups/lib/models/interfaces'
33
+ import { backupsTabsFunc } from '~/components/common/pages/backups/tools/lib/config/tabs'
34
+
35
+ const props = defineProps<{
36
+ project: UI_T_Project
37
+ backupsCount: number
38
+ backupsLoading: boolean
39
+ targetType: UI_T_TargetType
40
+ selectedNode: UI_I_BackupsTreeNode | null
41
+ }>()
42
+
43
+ const emits = defineEmits<{
44
+ (event: 'select', value: UI_T_BackupActionType): void
45
+ }>()
46
+
47
+ const localization = computed<UI_I_Localization>(() => useLocal())
48
+
49
+ const permission = computed<string>(() => {
50
+ return props.project === 'sphere' ? 'VirtualMachines.CreateBackup' : ''
51
+ })
52
+
53
+ const tabs = computed<UI_I_CollapseNavItem[]>(() =>
54
+ backupsTabsFunc(
55
+ localization.value,
56
+ isDisabled.value,
57
+ props.backupsCount,
58
+ props.selectedNode,
59
+ props.project
60
+ )
61
+ )
62
+
63
+ const onSelect = (action: UI_T_BackupActionType): void => {
64
+ emits('select', action)
65
+ }
66
+
67
+ const isDisabled = computed<boolean>(() => props.backupsLoading)
68
+ </script>
69
+
70
+ <style scoped lang="scss">
71
+ .backup-actions {
72
+ grid-template-columns: auto 1fr;
73
+ align-items: baseline;
74
+ }
75
+ </style>
@@ -1,36 +1,36 @@
1
- import type { UI_I_Localization } from '~/lib/models/interfaces'
2
- import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/models/interfaces'
3
- import type { UI_I_BackupsTreeNode } from '~/components/common/pages/backups/lib/models/interfaces'
4
- import type { UI_T_Project } from '~/lib/models/types'
5
-
6
- export const backupsTabsFunc = (
7
- localization: UI_I_Localization,
8
- isDisabled: boolean,
9
- backupsCount: number,
10
- selectedNode: UI_I_BackupsTreeNode | null,
11
- project: UI_T_Project
12
- ): UI_I_CollapseNavItem[] => {
13
- return [
14
- {
15
- text: localization.common.restore.toUpperCase(),
16
- value: 'restoreBackup',
17
- disabled: isDisabled || selectedNode?.type !== 'backup',
18
- testId: 'restore-backup',
19
- permission: project === 'sphere' ? 'VirtualMachines.RestoreBackup' : '',
20
- },
21
- {
22
- text: localization.common.delete.toUpperCase(),
23
- value: 'deleteBackup',
24
- disabled: isDisabled || selectedNode?.type !== 'backup',
25
- testId: 'delete-backup',
26
- permission: project === 'sphere' ? 'VirtualMachines.DeleteBackup' : '',
27
- },
28
- {
29
- text: localization.common.deleteAll.toUpperCase(),
30
- value: 'deleteBackupAll',
31
- disabled: isDisabled || !backupsCount,
32
- testId: 'delete-all-backups',
33
- permission: project === 'sphere' ? 'VirtualMachines.DeleteBackups' : '',
34
- },
35
- ]
36
- }
1
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
2
+ import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/models/interfaces'
3
+ import type { UI_I_BackupsTreeNode } from '~/components/common/pages/backups/lib/models/interfaces'
4
+ import type { UI_T_Project } from '~/lib/models/types'
5
+
6
+ export const backupsTabsFunc = (
7
+ localization: UI_I_Localization,
8
+ isDisabled: boolean,
9
+ backupsCount: number,
10
+ selectedNode: UI_I_BackupsTreeNode | null,
11
+ project: UI_T_Project
12
+ ): UI_I_CollapseNavItem[] => {
13
+ return [
14
+ {
15
+ text: localization.common.restore.toUpperCase(),
16
+ value: 'restoreBackup',
17
+ disabled: isDisabled || selectedNode?.type !== 'backup',
18
+ testId: 'restore-backup',
19
+ permission: project === 'sphere' ? 'VirtualMachines.RestoreBackup' : '',
20
+ },
21
+ {
22
+ text: localization.common.delete.toUpperCase(),
23
+ value: 'deleteBackup',
24
+ disabled: isDisabled || selectedNode?.type !== 'backup',
25
+ testId: 'delete-backup',
26
+ permission: project === 'sphere' ? 'VirtualMachines.DeleteBackup' : '',
27
+ },
28
+ {
29
+ text: localization.common.deleteAll.toUpperCase(),
30
+ value: 'deleteBackupAll',
31
+ disabled: isDisabled || !backupsCount,
32
+ testId: 'delete-all-backups',
33
+ permission: project === 'sphere' ? 'VirtualMachines.DeleteBackups' : '',
34
+ },
35
+ ]
36
+ }
@@ -22,10 +22,15 @@ import type { UI_T_Project } from '~/lib/models/types'
22
22
 
23
23
  const selectedZone = defineModel<string>('selectedZone', { required: true })
24
24
 
25
- const props = defineProps<{
26
- zoneList: UI_I_ZoneList[]
27
- project: UI_T_Project
28
- }>()
25
+ const props = withDefaults(
26
+ defineProps<{
27
+ zoneList: UI_I_ZoneList[]
28
+ project?: UI_T_Project // TODO 700
29
+ }>(),
30
+ {
31
+ project: undefined,
32
+ }
33
+ )
29
34
 
30
35
  const { $store }: any = useNuxtApp()
31
36
 
@@ -41,10 +41,15 @@ import type { UI_T_Project } from '~/lib/models/types'
41
41
  import type { UI_I_Option } from '~/components/atoms/select/lib/models/interfaces'
42
42
 
43
43
  const selectedZoneModel = defineModel<string>({ required: true })
44
- const props = defineProps<{
45
- project: UI_T_Project
46
- data: UI_I_Option[]
47
- }>()
44
+ const props = withDefaults(
45
+ defineProps<{
46
+ data: UI_I_Option[]
47
+ project?: UI_T_Project // TODO 700
48
+ }>(),
49
+ {
50
+ project: undefined,
51
+ }
52
+ )
48
53
 
49
54
  const localization = computed<UI_I_Localization>(() => useLocal())
50
55
 
@@ -1,42 +1,47 @@
1
- <template>
2
- <h2 class="headline-title">
3
- {{ localization.mainNavigation.home }}
4
- </h2>
5
-
6
- <atoms-select-the-select
7
- v-if="isProjectSphere"
8
- v-model="selectedZoneModel"
9
- :options="props.data"
10
- test-id="home-zone-select"
11
- @update:model-value="emits('update')"
12
- >
13
- <span class="vsphere-icon-vcenter" />
14
- </atoms-select-the-select>
15
- </template>
16
-
17
- <script lang="ts" setup>
18
- import type { UI_T_Project } from '~/lib/models/types'
19
- import type { UI_I_Localization } from '~/lib/models/interfaces'
20
- import type { UI_I_Option } from '~/components/atoms/select/lib/models/interfaces'
21
-
22
- const selectedZoneModel = defineModel<string>({ required: true })
23
- const props = defineProps<{
24
- project: UI_T_Project
25
- data: UI_I_Option[]
26
- }>()
27
- const emits = defineEmits<{
28
- (event: 'update'): void
29
- }>()
30
-
31
- const localization = computed<UI_I_Localization>(() => useLocal())
32
-
33
- const isProjectSphere = ref<boolean>(props.project === 'sphere')
34
- </script>
35
-
36
- <style lang="scss" scoped>
37
- .headline-title {
38
- font-size: 28px;
39
- font-weight: 200;
40
- letter-spacing: normal;
41
- }
42
- </style>
1
+ <template>
2
+ <h2 class="headline-title">
3
+ {{ localization.mainNavigation.home }}
4
+ </h2>
5
+
6
+ <atoms-select-the-select
7
+ v-if="isProjectSphere"
8
+ v-model="selectedZoneModel"
9
+ :options="props.data"
10
+ test-id="home-zone-select"
11
+ @update:model-value="emits('update')"
12
+ >
13
+ <span class="vsphere-icon-vcenter" />
14
+ </atoms-select-the-select>
15
+ </template>
16
+
17
+ <script lang="ts" setup>
18
+ import type { UI_T_Project } from '~/lib/models/types'
19
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
20
+ import type { UI_I_Option } from '~/components/atoms/select/lib/models/interfaces'
21
+
22
+ const selectedZoneModel = defineModel<string>({ required: true })
23
+ const props = withDefaults(
24
+ defineProps<{
25
+ data: UI_I_Option[]
26
+ project?: UI_T_Project // TODO 700
27
+ }>(),
28
+ {
29
+ project: undefined,
30
+ }
31
+ )
32
+ const emits = defineEmits<{
33
+ (event: 'update'): void
34
+ }>()
35
+
36
+ const localization = computed<UI_I_Localization>(() => useLocal())
37
+
38
+ const isProjectSphere = ref<boolean>(props.project === 'sphere')
39
+ </script>
40
+
41
+ <style lang="scss" scoped>
42
+ .headline-title {
43
+ font-size: 28px;
44
+ font-weight: 200;
45
+ letter-spacing: normal;
46
+ }
47
+ </style>
@@ -1,48 +1,48 @@
1
- import type { UI_T_NodeType } from '~/components/common/pages/home/lib/models/types'
2
- import type { UI_I_Resources } from '~/components/common/resource/lib/models/interfaces'
3
- import type { UI_I_Option } from '~/components/atoms/select/lib/models/interfaces'
4
-
5
- export interface UI_I_ZoneList extends UI_I_Option {}
6
- export interface UI_I_Hosts {
7
- connected: number
8
- disconnected: number
9
- maintenance: number
10
- total: number
11
- }
12
-
13
- export interface UI_I_Vms {
14
- powered_on: number
15
- powered_off: number
16
- suspended: number
17
- total: number
18
- }
19
-
20
- export interface UI_I_Alert {
21
- item: string
22
- type: UI_T_NodeType
23
- id: number
24
- alerts: number
25
- warnings: number
26
- }
27
-
28
- export interface UI_I_Service {
29
- id: number
30
- item: string
31
- statusIcon: string
32
- statusText: string
33
- version: string
34
- }
35
-
36
- export interface UI_I_HomeInfo {
37
- resource_meter: UI_I_Resources[]
38
- vms: UI_I_Vms
39
- alerts: UI_I_Alert[]
40
- services: UI_I_Service[]
41
- hosts?: UI_I_Hosts
42
- }
43
-
44
- export interface UI_I_Card {
45
- text: string
46
- value: number
47
- icon?: string
48
- }
1
+ import type { UI_T_NodeType } from '~/components/common/pages/home/lib/models/types'
2
+ import type { UI_I_Resources } from '~/components/common/resource/lib/models/interfaces'
3
+ import type { UI_I_Option } from '~/components/atoms/select/lib/models/interfaces'
4
+
5
+ export interface UI_I_ZoneList extends UI_I_Option {}
6
+ export interface UI_I_Hosts {
7
+ connected: number
8
+ disconnected: number
9
+ maintenance: number
10
+ total: number
11
+ }
12
+
13
+ export interface UI_I_Vms {
14
+ powered_on: number
15
+ powered_off: number
16
+ suspended: number
17
+ total: number
18
+ }
19
+
20
+ export interface UI_I_Alert {
21
+ item: string
22
+ type: UI_T_NodeType
23
+ id: number
24
+ alerts: number
25
+ warnings: number
26
+ }
27
+
28
+ export interface UI_I_Service {
29
+ id: number
30
+ item: string
31
+ statusIcon: string
32
+ statusText: string
33
+ version: string
34
+ }
35
+
36
+ export interface UI_I_HomeInfo {
37
+ resource_meter: UI_I_Resources[]
38
+ vms: UI_I_Vms
39
+ alerts: UI_I_Alert[]
40
+ services: UI_I_Service[]
41
+ hosts?: UI_I_Hosts
42
+ }
43
+
44
+ export interface UI_I_Card {
45
+ text: string
46
+ value: number
47
+ icon?: string
48
+ }
@@ -15,6 +15,7 @@
15
15
  :hosts="hosts"
16
16
  :alerts="alerts || []"
17
17
  :services="services || []"
18
+ :loading="props.loading"
18
19
  :project="props.project"
19
20
  />
20
21
  </template>
@@ -1,10 +1,15 @@
1
1
  <template>
2
2
  <div class="clr-row">
3
- <common-pages-home-widgets-vms :vms="props.vms" :project="props.project" />
3
+ <common-pages-home-widgets-vms
4
+ :vms="props.vms"
5
+ :project="props.project"
6
+ :loading="props.loading"
7
+ />
4
8
 
5
9
  <common-pages-home-widgets-hosts
6
10
  v-if="props.project === 'sphere'"
7
11
  :hosts="props.hosts"
12
+ :loading="props.loading"
8
13
  />
9
14
 
10
15
  <!-- TODO 700-->
@@ -27,6 +32,7 @@ const props = withDefaults(
27
32
  defineProps<{
28
33
  vms: UI_I_Vms
29
34
  hosts: UI_I_Hosts
35
+ loading: boolean
30
36
  // TODO 700
31
37
  // alerts: UI_I_Alert[]
32
38
  // services: UI_I_Service[]
@@ -1,27 +1,27 @@
1
- <template>
2
- <common-pages-home-widgets-hosts-new
3
- v-if="isNewView"
4
- :hosts="props.hosts"
5
- :loading="props.loading"
6
- />
7
-
8
- <common-pages-home-widgets-hosts-old
9
- v-else
10
- :hosts="props.hosts"
11
- />
12
- </template>
13
-
14
- <script lang="ts" setup>
15
- import type { UI_I_Hosts } from '~/components/common/pages/home/lib/models/interfaces'
16
-
17
- const props = defineProps<{
18
- hosts: UI_I_Hosts
19
- loading: boolean
20
- }>()
21
-
22
- const { $store }: any = useNuxtApp()
23
-
24
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
25
- </script>
26
-
27
- <style lang="scss" scoped></style>
1
+ <template>
2
+ <common-pages-home-widgets-hosts-new
3
+ v-if="isNewView"
4
+ :hosts="props.hosts"
5
+ :loading="props.loading"
6
+ />
7
+
8
+ <common-pages-home-widgets-hosts-old
9
+ v-else
10
+ :hosts="props.hosts"
11
+ />
12
+ </template>
13
+
14
+ <script lang="ts" setup>
15
+ import type { UI_I_Hosts } from '~/components/common/pages/home/lib/models/interfaces'
16
+
17
+ const props = defineProps<{
18
+ hosts: UI_I_Hosts
19
+ loading: boolean
20
+ }>()
21
+
22
+ const { $store }: any = useNuxtApp()
23
+
24
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
25
+ </script>
26
+
27
+ <style lang="scss" scoped></style>
@@ -1,23 +1,23 @@
1
- import type {
2
- UI_I_Card,
3
- UI_I_Hosts,
4
- } from '~/components/common/pages/home/lib/models/interfaces'
5
-
6
- export const itemsFunc = (hosts: UI_I_Hosts): UI_I_Card[] => [
7
- {
8
- value: hosts.connected,
9
- text: 'connected',
10
- icon: 'vsphere-icon-Host_Connect',
11
- },
12
- {
13
- value: hosts.disconnected,
14
- text: 'disconnected',
15
- icon: 'vsphere-icon-Host_Disconnect',
16
- },
17
-
18
- {
19
- value: hosts.maintenance,
20
- text: 'maintenance',
21
- icon: 'vsphere-icon-host-maintenance',
22
- },
23
- ]
1
+ import type {
2
+ UI_I_Card,
3
+ UI_I_Hosts,
4
+ } from '~/components/common/pages/home/lib/models/interfaces'
5
+
6
+ export const itemsFunc = (hosts: UI_I_Hosts): UI_I_Card[] => [
7
+ {
8
+ value: hosts.connected,
9
+ text: 'connected',
10
+ icon: 'vsphere-icon-Host_Connect',
11
+ },
12
+ {
13
+ value: hosts.disconnected,
14
+ text: 'disconnected',
15
+ icon: 'vsphere-icon-Host_Disconnect',
16
+ },
17
+
18
+ {
19
+ value: hosts.maintenance,
20
+ text: 'maintenance',
21
+ icon: 'vsphere-icon-host-maintenance',
22
+ },
23
+ ]
@@ -1,35 +1,35 @@
1
- <template>
2
- <div :class="classes">
3
- <div class="entity-status">
4
- <common-pages-home-card
5
- :title="localization.common.vms"
6
- :count="props.vms.total"
7
- icon-name="vsphere-icon-vm"
8
- >
9
- <common-pages-home-status-content :items="props.vms" />
10
- </common-pages-home-card>
11
- </div>
12
- </div>
13
- </template>
14
-
15
- <script lang="ts" setup>
16
- import type { UI_I_Localization } from '~/lib/models/interfaces'
17
- import type { UI_I_Vms } from '~/components/common/pages/home/lib/models/interfaces'
18
- import type { UI_T_Project } from '~/lib/models/types'
19
- const props = defineProps<{
20
- vms: UI_I_Vms
21
- project?: UI_T_Project
22
- }>()
23
-
24
- const localization = computed<UI_I_Localization>(() => useLocal())
25
-
26
- const classes = computed<string>(() => {
27
- let classes = 'clr-col-md-6 clr-col-sm-12'
28
- if (props.project === 'procurator') {
29
- classes = 'clr-col-md-12 clr-col-sm-12'
30
- }
31
- return classes
32
- })
33
- </script>
34
-
35
- <style lang="scss" scoped></style>
1
+ <template>
2
+ <div :class="classes">
3
+ <div class="entity-status">
4
+ <common-pages-home-card
5
+ :title="localization.common.vms"
6
+ :count="props.vms.total"
7
+ icon-name="vsphere-icon-vm"
8
+ >
9
+ <common-pages-home-status-content :items="props.vms" />
10
+ </common-pages-home-card>
11
+ </div>
12
+ </div>
13
+ </template>
14
+
15
+ <script lang="ts" setup>
16
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
17
+ import type { UI_I_Vms } from '~/components/common/pages/home/lib/models/interfaces'
18
+ import type { UI_T_Project } from '~/lib/models/types'
19
+ const props = defineProps<{
20
+ vms: UI_I_Vms
21
+ project?: UI_T_Project
22
+ }>()
23
+
24
+ const localization = computed<UI_I_Localization>(() => useLocal())
25
+
26
+ const classes = computed<string>(() => {
27
+ let classes = 'clr-col-md-6 clr-col-sm-12'
28
+ if (props.project === 'procurator') {
29
+ classes = 'clr-col-md-12 clr-col-sm-12'
30
+ }
31
+ return classes
32
+ })
33
+ </script>
34
+
35
+ <style lang="scss" scoped></style>