bfg-common 1.5.757 → 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 +10 -5
  7. package/assets/localization/local_en.json +10 -5
  8. package/assets/localization/local_hy.json +10 -5
  9. package/assets/localization/local_kk.json +10 -5
  10. package/assets/localization/local_ru.json +14 -9
  11. package/assets/localization/local_zh.json +9 -4
  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/browse/blocks/lib/models/types.ts +1 -1
  21. package/components/common/browse/lib/models/interfaces.ts +5 -5
  22. package/components/common/diagramMain/network/Contents.vue +497 -497
  23. package/components/common/layout/console/Console.vue +70 -70
  24. package/components/common/layout/theHeader/New.vue +2 -0
  25. package/components/common/layout/theHeader/Old.vue +2 -0
  26. package/components/common/layout/theHeader/TheHeader.vue +2 -0
  27. package/components/common/layout/theHeader/modals/reconnect/New.vue +1 -1
  28. package/components/common/layout/theHeader/modals/reconnect/Reconnect.vue +3 -1
  29. package/components/common/layout/theHeader/userMenu/UserMenu.vue +2 -0
  30. package/components/common/layout/theHeader/userMenu/modals/preferences/New.vue +2 -0
  31. package/components/common/layout/theHeader/userMenu/modals/preferences/Old.vue +2 -0
  32. package/components/common/layout/theHeader/userMenu/modals/preferences/Preferences.vue +2 -0
  33. package/components/common/layout/theHeader/userMenu/modals/preferences/lib/models/types.ts +7 -7
  34. package/components/common/layout/theHeader/userMenu/modals/preferences/view/New.vue +64 -47
  35. package/components/common/layout/theHeader/userMenu/modals/preferences/view/Old.vue +19 -0
  36. package/components/common/layout/theHeader/userMenu/modals/preferences/view/View.vue +3 -0
  37. package/components/common/pages/backups/DetailView.vue +52 -52
  38. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  39. package/components/common/pages/backups/modals/Modals.vue +243 -243
  40. package/components/common/pages/backups/modals/createBackup/New.vue +22 -9
  41. package/components/common/pages/backups/modals/createBackup/configuration/ConfigurationNew.vue +17 -3
  42. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  43. package/components/common/pages/backups/modals/createBackup/datastores/tableView/new/lib/config/table.ts +8 -8
  44. package/components/common/pages/backups/modals/createBackup/disks/tableView/new/TableView.vue +1 -1
  45. package/components/common/pages/backups/modals/createBackup/disks/tableView/new/lib/config/table.ts +7 -7
  46. package/components/common/pages/backups/modals/createBackup/general/GeneralNew.vue +1 -1
  47. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +5 -5
  48. package/components/common/pages/backups/modals/createBackup/lib/config/steps.ts +1 -1
  49. package/components/common/pages/backups/modals/createBackup/lib/config/strategyOptions.ts +11 -2
  50. package/components/common/pages/backups/modals/createBackup/lib/validation/validations.ts +6 -6
  51. package/components/common/pages/backups/modals/lib/config/restore.ts +116 -116
  52. package/components/common/pages/backups/modals/lib/models/interfaces.ts +187 -187
  53. package/components/common/pages/backups/modals/restore/Restore.vue +302 -302
  54. package/components/common/pages/backups/modals/restore/disks/Disks.vue +50 -50
  55. package/components/common/pages/backups/modals/restore/lib/config/readyToCompleteOptions.ts +94 -94
  56. package/components/common/pages/backups/modals/restore/lib/config/steps.ts +130 -130
  57. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  58. package/components/common/pages/backups/modals/restore/types/New.vue +95 -95
  59. package/components/common/pages/backups/modals/restore/types/Old.vue +62 -62
  60. package/components/common/pages/backups/modals/restore/types/Types.vue +31 -31
  61. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  62. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  63. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  64. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  65. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  66. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  67. package/components/common/pages/tasks/Tasks.vue +125 -125
  68. package/components/common/pages/tasks/table/Table.vue +373 -373
  69. package/components/common/pages/tasks/table/lib/config/config.ts +279 -279
  70. package/components/common/pages/tasks/table/lib/models/interfaces.ts +9 -9
  71. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  72. package/components/common/select/radio/RadioGroup.vue +137 -137
  73. package/components/common/spiceConsole/Drawer.vue +420 -420
  74. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  75. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  76. package/components/common/tools/Actions.vue +207 -207
  77. package/components/common/treeView/TreeView.vue +52 -52
  78. package/components/common/vm/actions/clone/lib/config/steps.ts +295 -295
  79. package/components/common/vm/actions/clone/new/New.vue +438 -438
  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/memory/Memory.vue +283 -283
  82. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +156 -156
  83. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  84. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  85. package/components/common/vm/actions/common/select/options/New.vue +264 -264
  86. package/components/common/vm/actions/common/select/options/Options.vue +58 -58
  87. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  88. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  89. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  90. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  91. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  92. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  93. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  94. package/components/common/wizards/common/steps/name/New.vue +221 -221
  95. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  96. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  97. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  98. package/components/common/wizards/datastore/add/Add.vue +227 -227
  99. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  100. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  101. package/composables/useAppVersion.ts +21 -21
  102. package/composables/useBrowse.ts +24 -24
  103. package/composables/useLocal.ts +6 -6
  104. package/composables/useLocalCommon.ts +39 -39
  105. package/lib/models/types.ts +59 -59
  106. package/package.json +1 -1
  107. package/plugins/console.ts +21 -21
  108. package/plugins/mouse.ts +21 -21
  109. package/plugins/panelStates.ts +70 -70
  110. package/plugins/text.ts +59 -59
  111. package/plugins/time.ts +58 -58
  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>