bfg-common 1.5.759 → 1.5.760

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/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/localization/local_be.json +6 -3
  7. package/assets/localization/local_en.json +6 -3
  8. package/assets/localization/local_hy.json +6 -3
  9. package/assets/localization/local_kk.json +6 -3
  10. package/assets/localization/local_ru.json +6 -3
  11. package/assets/localization/local_zh.json +6 -3
  12. package/components/atoms/TheIcon3.vue +50 -50
  13. package/components/atoms/collapse/CollapseNav.vue +170 -170
  14. package/components/atoms/perPage/PerPage.vue +58 -58
  15. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  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/common/backup/storage/actions/add/lib/utils.ts +51 -51
  19. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  20. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  21. package/components/common/diagramMain/port/Port.vue +580 -580
  22. package/components/common/layout/console/Console.vue +70 -70
  23. package/components/common/layout/theHeader/New.vue +2 -0
  24. package/components/common/layout/theHeader/Old.vue +2 -0
  25. package/components/common/layout/theHeader/TheHeader.vue +2 -0
  26. package/components/common/layout/theHeader/modals/reconnect/New.vue +1 -1
  27. package/components/common/layout/theHeader/modals/reconnect/Reconnect.vue +3 -1
  28. package/components/common/layout/theHeader/userMenu/UserMenu.vue +2 -0
  29. package/components/common/layout/theHeader/userMenu/modals/preferences/New.vue +2 -0
  30. package/components/common/layout/theHeader/userMenu/modals/preferences/Old.vue +2 -0
  31. package/components/common/layout/theHeader/userMenu/modals/preferences/Preferences.vue +2 -0
  32. package/components/common/layout/theHeader/userMenu/modals/preferences/lib/models/types.ts +7 -7
  33. package/components/common/layout/theHeader/userMenu/modals/preferences/view/New.vue +64 -47
  34. package/components/common/layout/theHeader/userMenu/modals/preferences/view/Old.vue +19 -0
  35. package/components/common/layout/theHeader/userMenu/modals/preferences/view/View.vue +3 -0
  36. package/components/common/pages/backups/DetailView.vue +52 -52
  37. package/components/common/pages/backups/backupsNew/BackupsNew.vue +107 -19
  38. package/components/common/pages/backups/backupsNew/Skeleton.vue +136 -0
  39. package/components/common/pages/backups/backupsNew/contextMenuView/ContextMenuView.vue +16 -10
  40. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  41. package/components/common/pages/backups/modals/Modals.vue +243 -243
  42. package/components/common/pages/backups/modals/createBackup/configuration/backupWindow/BackupWindow.vue +29 -29
  43. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/MaxBandwidth.vue +69 -69
  44. package/components/common/pages/backups/modals/createBackup/configuration/strategy/Strategy.vue +38 -38
  45. package/components/common/pages/backups/modals/createBackup/datastores/tableView/new/lib/config/table.ts +1 -1
  46. package/components/common/pages/backups/modals/createBackup/lib/config/strategyOptions.ts +8 -11
  47. package/components/common/pages/backups/modals/createBackup/lib/models/interfaces.ts +8 -8
  48. package/components/common/pages/backups/modals/lib/config/restore.ts +116 -116
  49. package/components/common/pages/backups/modals/lib/models/interfaces.ts +187 -187
  50. package/components/common/pages/backups/modals/restore/Restore.vue +302 -302
  51. package/components/common/pages/backups/modals/restore/disks/Disks.vue +50 -50
  52. package/components/common/pages/backups/modals/restore/lib/config/readyToCompleteOptions.ts +94 -94
  53. package/components/common/pages/backups/modals/restore/lib/config/steps.ts +130 -130
  54. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  55. package/components/common/pages/backups/modals/restore/types/New.vue +95 -95
  56. package/components/common/pages/backups/modals/restore/types/Old.vue +62 -62
  57. package/components/common/pages/backups/modals/restore/types/Types.vue +31 -31
  58. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  59. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  60. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  61. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  62. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  63. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  64. package/components/common/pages/tasks/Tasks.vue +125 -125
  65. package/components/common/pages/tasks/table/Table.vue +373 -373
  66. package/components/common/pages/tasks/table/lib/config/config.ts +279 -279
  67. package/components/common/pages/tasks/table/lib/models/interfaces.ts +9 -9
  68. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  69. package/components/common/select/radio/RadioGroup.vue +137 -137
  70. package/components/common/spiceConsole/Drawer.vue +420 -420
  71. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  72. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  73. package/components/common/tools/Actions.vue +207 -207
  74. package/components/common/treeView/TreeView.vue +52 -52
  75. package/components/common/vm/actions/clone/lib/config/steps.ts +295 -295
  76. package/components/common/vm/actions/clone/new/New.vue +438 -438
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +283 -283
  79. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +156 -156
  80. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  81. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  82. package/components/common/vm/actions/common/select/options/New.vue +264 -264
  83. package/components/common/vm/actions/common/select/options/Options.vue +58 -58
  84. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  85. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  86. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  87. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  88. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  89. package/components/common/vm/snapshots/new/New.vue +11 -12
  90. package/components/common/vm/snapshots/new/Skeleton.vue +26 -2
  91. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  92. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  93. package/components/common/wizards/common/steps/name/New.vue +221 -221
  94. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  95. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  96. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  97. package/components/common/wizards/datastore/add/Add.vue +227 -227
  98. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  99. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  100. package/components/common/wizards/network/add/Add.vue +9 -6
  101. package/components/common/wizards/network/add/lib/config/initialData.ts +2 -1
  102. package/composables/useAppVersion.ts +21 -21
  103. package/composables/useBrowse.ts +24 -24
  104. package/composables/useLocal.ts +6 -6
  105. package/composables/useLocalCommon.ts +39 -39
  106. package/lib/models/types.ts +59 -59
  107. package/package.json +1 -1
  108. package/plugins/console.ts +21 -21
  109. package/plugins/mouse.ts +21 -21
  110. package/plugins/panelStates.ts +70 -70
  111. package/plugins/text.ts +59 -59
  112. package/public/spice-console/application/clientgui.js +854 -854
  113. package/public/spice-console/application/packetfactory.js +211 -211
  114. package/public/spice-console/application/virtualmouse.js +147 -147
  115. package/public/spice-console/lib/images/bitmap.js +203 -203
  116. package/public/spice-console/network/spicechannel.js +440 -440
  117. package/public/spice-console/process/cursorprocess.js +128 -128
  118. package/public/spice-console/process/inputprocess.js +227 -227
  119. package/public/spice-console/process/mainprocess.js +212 -212
  120. package/public/spice-console/run.js +210 -210
  121. package/store/main/mutations.ts +7 -7
  122. package/store/main/state.ts +7 -7
  123. package/store/tasks/mappers/recentTasks.ts +123 -123
  124. package/store/tasks/mutations.ts +82 -82
@@ -1,95 +1,95 @@
1
- <template>
2
- <section class="datastore-type">
3
- <div class="datastore-type__radio-container flex flex-col gap-3">
4
- <ui-radio
5
- v-for="(option, key) in props.backupTypes"
6
- :key="key"
7
- v-model="model.restore_code"
8
- :label="option.text"
9
- :test-id="option.testId"
10
- :value="option.value"
11
- size="md"
12
- >
13
- <template #description>
14
- <span class="datastore-type__radio-description">
15
- {{ optionsDescription[option.value - 1] }}
16
- </span>
17
- </template>
18
- </ui-radio>
19
- </div>
20
- </section>
21
- </template>
22
-
23
- <script lang="ts" setup>
24
- import type { UI_I_Localization } from '~/lib/models/interfaces'
25
- import type { UI_I_RestoreForm } from '~/components/common/pages/backups/modals/lib/models/interfaces'
26
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
27
-
28
- const model = defineModel<UI_I_RestoreForm>({ required: true })
29
-
30
- const props = defineProps<{
31
- backupTypes: UI_I_OptionItem[]
32
- }>()
33
-
34
- const localization = computed<UI_I_Localization>(() => useLocal())
35
-
36
- const optionsDescription = ref<string[]>([
37
- localization.value.common.restoreDiskOnlyDescription,
38
- localization.value.common.restoreExistingDescription,
39
- localization.value.common.restoreAsNewDescription,
40
- localization.value.common.restoreAsNewAndCopyDescription,
41
- ])
42
- </script>
43
-
44
- <style lang="scss" scoped>
45
- @import 'assets/scss/common/mixins.scss';
46
-
47
- .datastore-type {
48
- container-type: inline-size;
49
- margin-top: 16px;
50
-
51
- &__radio {
52
- &-description {
53
- color: #9da6ad;
54
- line-height: 18px;
55
- }
56
-
57
- &-container {
58
- :deep(.radio-label__text) {
59
- padding-top: 1px;
60
- }
61
- }
62
- }
63
-
64
- :deep(input[type='radio']) {
65
- & ~ .radio-label {
66
- width: 100%;
67
- height: 100%;
68
- background-color: var(--select-bg);
69
- border-radius: 8px;
70
- padding: 12px;
71
- box-shadow: inset 0 0 0 1px var(--line-color);
72
- transition: box-shadow 0.1s ease-in-out;
73
- }
74
-
75
- &:not(:checked) {
76
- & ~ .radio-label:hover {
77
- box-shadow: inset 0 0 0 1px var(--select-border);
78
- }
79
- }
80
-
81
- &:checked {
82
- & ~ .radio-label {
83
- background-color: var(--radio-btn-active-label-bg-color);
84
- box-shadow: inset 0 0 0 1.5px var(--radio-btn-active-label-border-color);
85
- }
86
- }
87
- }
88
- }
89
-
90
- @container (max-width:600px) {
91
- .datastore-type__radio-container {
92
- grid-template-columns: 1fr;
93
- }
94
- }
95
- </style>
1
+ <template>
2
+ <section class="datastore-type">
3
+ <div class="datastore-type__radio-container flex flex-col gap-3">
4
+ <ui-radio
5
+ v-for="(option, key) in props.backupTypes"
6
+ :key="key"
7
+ v-model="model.restore_code"
8
+ :label="option.text"
9
+ :test-id="option.testId"
10
+ :value="option.value"
11
+ size="md"
12
+ >
13
+ <template #description>
14
+ <span class="datastore-type__radio-description">
15
+ {{ optionsDescription[option.value - 1] }}
16
+ </span>
17
+ </template>
18
+ </ui-radio>
19
+ </div>
20
+ </section>
21
+ </template>
22
+
23
+ <script lang="ts" setup>
24
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
25
+ import type { UI_I_RestoreForm } from '~/components/common/pages/backups/modals/lib/models/interfaces'
26
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
27
+
28
+ const model = defineModel<UI_I_RestoreForm>({ required: true })
29
+
30
+ const props = defineProps<{
31
+ backupTypes: UI_I_OptionItem[]
32
+ }>()
33
+
34
+ const localization = computed<UI_I_Localization>(() => useLocal())
35
+
36
+ const optionsDescription = ref<string[]>([
37
+ localization.value.common.restoreDiskOnlyDescription,
38
+ localization.value.common.restoreExistingDescription,
39
+ localization.value.common.restoreAsNewDescription,
40
+ localization.value.common.restoreAsNewAndCopyDescription,
41
+ ])
42
+ </script>
43
+
44
+ <style lang="scss" scoped>
45
+ @import 'assets/scss/common/mixins.scss';
46
+
47
+ .datastore-type {
48
+ container-type: inline-size;
49
+ margin-top: 16px;
50
+
51
+ &__radio {
52
+ &-description {
53
+ color: #9da6ad;
54
+ line-height: 18px;
55
+ }
56
+
57
+ &-container {
58
+ :deep(.radio-label__text) {
59
+ padding-top: 1px;
60
+ }
61
+ }
62
+ }
63
+
64
+ :deep(input[type='radio']) {
65
+ & ~ .radio-label {
66
+ width: 100%;
67
+ height: 100%;
68
+ background-color: var(--select-bg);
69
+ border-radius: 8px;
70
+ padding: 12px;
71
+ box-shadow: inset 0 0 0 1px var(--line-color);
72
+ transition: box-shadow 0.1s ease-in-out;
73
+ }
74
+
75
+ &:not(:checked) {
76
+ & ~ .radio-label:hover {
77
+ box-shadow: inset 0 0 0 1px var(--select-border);
78
+ }
79
+ }
80
+
81
+ &:checked {
82
+ & ~ .radio-label {
83
+ background-color: var(--radio-btn-active-label-bg-color);
84
+ box-shadow: inset 0 0 0 1.5px var(--radio-btn-active-label-border-color);
85
+ }
86
+ }
87
+ }
88
+ }
89
+
90
+ @container (max-width:600px) {
91
+ .datastore-type__radio-container {
92
+ grid-template-columns: 1fr;
93
+ }
94
+ }
95
+ </style>
@@ -1,62 +1,62 @@
1
- <template>
2
- <div class="select-restore-type flex">
3
- <atoms-list-select-list
4
- v-model="model.restore_code"
5
- :items="props.backupTypes"
6
- class="select"
7
- />
8
- <p class="description">
9
- {{ description }}
10
- </p>
11
- </div>
12
- </template>
13
-
14
- <script lang="ts" setup>
15
- import type { UI_I_RestoreForm } from '~/components/common/pages/backups/modals/lib/models/interfaces'
16
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
17
- import type { UI_I_Localization } from '~/lib/models/interfaces'
18
- import { descriptionsFunc } from '~/components/common/pages/backups/modals/restore/types/lib/config/descriptions'
19
-
20
- const model = defineModel<UI_I_RestoreForm>({ required: true })
21
-
22
- const props = defineProps<{
23
- backupTypes: UI_I_OptionItem[]
24
- }>()
25
-
26
- const localization = computed<UI_I_Localization>(() => useLocal())
27
-
28
- const description = computed<string>(
29
- () => descriptionsFunc(localization.value)[model.value.restore_code - 1]
30
- )
31
- </script>
32
-
33
- <style>
34
- :root {
35
- --type-list-border-color: #ccc;
36
- }
37
-
38
- :root.dark-theme {
39
- --type-list-border-color: #000;
40
- }
41
- </style>
42
- <style scoped lang="scss">
43
- .select-restore-type {
44
- padding-top: 12px;
45
-
46
- .description {
47
- color: #333333;
48
- font-size: 13px;
49
- }
50
-
51
- .description,
52
- .select {
53
- flex: 1 1 100%;
54
- margin-right: 5px;
55
- }
56
-
57
- :deep(select) {
58
- background-color: transparent;
59
- border-color: var(--type-list-border-color);
60
- }
61
- }
62
- </style>
1
+ <template>
2
+ <div class="select-restore-type flex">
3
+ <atoms-list-select-list
4
+ v-model="model.restore_code"
5
+ :items="props.backupTypes"
6
+ class="select"
7
+ />
8
+ <p class="description">
9
+ {{ description }}
10
+ </p>
11
+ </div>
12
+ </template>
13
+
14
+ <script lang="ts" setup>
15
+ import type { UI_I_RestoreForm } from '~/components/common/pages/backups/modals/lib/models/interfaces'
16
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
17
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
18
+ import { descriptionsFunc } from '~/components/common/pages/backups/modals/restore/types/lib/config/descriptions'
19
+
20
+ const model = defineModel<UI_I_RestoreForm>({ required: true })
21
+
22
+ const props = defineProps<{
23
+ backupTypes: UI_I_OptionItem[]
24
+ }>()
25
+
26
+ const localization = computed<UI_I_Localization>(() => useLocal())
27
+
28
+ const description = computed<string>(
29
+ () => descriptionsFunc(localization.value)[model.value.restore_code - 1]
30
+ )
31
+ </script>
32
+
33
+ <style>
34
+ :root {
35
+ --type-list-border-color: #ccc;
36
+ }
37
+
38
+ :root.dark-theme {
39
+ --type-list-border-color: #000;
40
+ }
41
+ </style>
42
+ <style scoped lang="scss">
43
+ .select-restore-type {
44
+ padding-top: 12px;
45
+
46
+ .description {
47
+ color: #333333;
48
+ font-size: 13px;
49
+ }
50
+
51
+ .description,
52
+ .select {
53
+ flex: 1 1 100%;
54
+ margin-right: 5px;
55
+ }
56
+
57
+ :deep(select) {
58
+ background-color: transparent;
59
+ border-color: var(--type-list-border-color);
60
+ }
61
+ }
62
+ </style>
@@ -1,31 +1,31 @@
1
- <template>
2
- <component
3
- :is="currentComponent"
4
- v-model="model"
5
- :backup-types="backupTypes"
6
- />
7
- </template>
8
-
9
- <script lang="ts" setup>
10
- import type { UI_I_RestoreForm } from '~/components/common/pages/backups/modals/lib/models/interfaces'
11
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
12
- import type { UI_I_Localization } from '~/lib/models/interfaces'
13
- import { backupsTypesFunc } from '~/components/common/pages/backups/modals/restore/types/lib/config/typeOptions'
14
-
15
- const model = defineModel<UI_I_RestoreForm>({ required: true })
16
-
17
- const { $store }: any = useNuxtApp()
18
-
19
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
20
- const currentComponent = computed(() =>
21
- isNewView.value
22
- ? defineAsyncComponent(() => import('./New.vue'))
23
- : defineAsyncComponent(() => import('./Old.vue'))
24
- )
25
-
26
- const localization = computed<UI_I_Localization>(() => useLocal())
27
-
28
- const backupTypes = ref<UI_I_OptionItem[]>(backupsTypesFunc(localization.value))
29
- </script>
30
-
31
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <component
3
+ :is="currentComponent"
4
+ v-model="model"
5
+ :backup-types="backupTypes"
6
+ />
7
+ </template>
8
+
9
+ <script lang="ts" setup>
10
+ import type { UI_I_RestoreForm } from '~/components/common/pages/backups/modals/lib/models/interfaces'
11
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
12
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
13
+ import { backupsTypesFunc } from '~/components/common/pages/backups/modals/restore/types/lib/config/typeOptions'
14
+
15
+ const model = defineModel<UI_I_RestoreForm>({ required: true })
16
+
17
+ const { $store }: any = useNuxtApp()
18
+
19
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
20
+ const currentComponent = computed(() =>
21
+ isNewView.value
22
+ ? defineAsyncComponent(() => import('./New.vue'))
23
+ : defineAsyncComponent(() => import('./Old.vue'))
24
+ )
25
+
26
+ const localization = computed<UI_I_Localization>(() => useLocal())
27
+
28
+ const backupTypes = ref<UI_I_OptionItem[]>(backupsTypesFunc(localization.value))
29
+ </script>
30
+
31
+ <style scoped lang="scss"></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
+ }
@@ -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>