bfg-common 1.5.773 → 1.5.774

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 (154) 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 +19 -4
  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/backup/storage/actions/add/lib/utils.ts +51 -51
  14. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  15. package/components/common/configure/advancedSystemSettings/AdvancedSystemSettings.vue +49 -0
  16. package/components/common/configure/advancedSystemSettings/modals/edit/Edit.vue +55 -0
  17. package/components/common/configure/advancedSystemSettings/modals/edit/New.vue +37 -0
  18. package/components/common/configure/advancedSystemSettings/modals/edit/Old.vue +46 -0
  19. package/components/common/configure/advancedSystemSettings/tableView/TableView.vue +30 -0
  20. package/components/common/configure/advancedSystemSettings/tableView/new/New.vue +193 -0
  21. package/components/common/configure/advancedSystemSettings/tableView/new/lib/config/hostTable.ts +308 -0
  22. package/components/common/configure/advancedSystemSettings/tableView/old/Old.vue +128 -0
  23. package/components/common/configure/advancedSystemSettings/tableView/old/lib/config/table.ts +93 -0
  24. package/components/common/configure/advancedSystemSettings/tableView/old/lib/config/tableKeys.ts +9 -0
  25. package/components/common/configure/advancedSystemSettings/tableView/old/lib/models/types.ts +5 -0
  26. package/components/common/configure/advancedSystemSettings/tools/New.vue +5 -0
  27. package/components/common/configure/advancedSystemSettings/tools/Old.vue +28 -0
  28. package/components/common/configure/advancedSystemSettings/tools/Tools.vue +28 -0
  29. package/components/common/configure/securityProfile/SecurityProfile.vue +28 -0
  30. package/components/common/configure/securityProfile/lockdownMode/LockdownMode.vue +112 -0
  31. package/components/common/configure/securityProfile/lockdownMode/lib/utils/constructData.ts +27 -0
  32. package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/LockdownModeEdit.vue +61 -0
  33. package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/New.vue +5 -0
  34. package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/Old.vue +109 -0
  35. package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/exceptionUsers/ExceptionUsers.vue +28 -0
  36. package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/exceptionUsers/New.vue +5 -0
  37. package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/exceptionUsers/old/Old.vue +180 -0
  38. package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/exceptionUsers/old/lib/config/table.ts +64 -0
  39. package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/exceptionUsers/old/lib/config/tableKeys.ts +6 -0
  40. package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/exceptionUsers/old/lib/models/types.ts +1 -0
  41. package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/lib/config/tabs.ts +19 -0
  42. package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/lockdownMode/LockdownMode.vue +22 -0
  43. package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/lockdownMode/New.vue +5 -0
  44. package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/lockdownMode/Old.vue +76 -0
  45. package/components/common/configure/securityProfile/lockdownMode/tools/New.vue +5 -0
  46. package/components/common/configure/securityProfile/lockdownMode/tools/Old.vue +30 -0
  47. package/components/common/configure/securityProfile/lockdownMode/tools/Tools.vue +29 -0
  48. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  49. package/components/common/diagramMain/port/Port.vue +580 -580
  50. package/components/common/layout/console/Console.vue +70 -70
  51. package/components/common/layout/theHeader/userMenu/modals/preferences/lib/models/types.ts +7 -7
  52. package/components/common/layout/theHeader/userMenu/modals/preferences/view/New.vue +64 -64
  53. package/components/common/pages/backups/DetailView.vue +52 -52
  54. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  55. package/components/common/pages/backups/modals/Modals.vue +243 -243
  56. package/components/common/pages/backups/modals/createBackup/configuration/backupWindow/BackupWindow.vue +29 -29
  57. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/MaxBandwidth.vue +69 -69
  58. package/components/common/pages/backups/modals/createBackup/configuration/strategy/Strategy.vue +38 -38
  59. package/components/common/pages/backups/modals/createBackup/lib/models/interfaces.ts +8 -8
  60. package/components/common/pages/backups/modals/lib/config/restore.ts +116 -116
  61. package/components/common/pages/backups/modals/lib/models/interfaces.ts +187 -187
  62. package/components/common/pages/backups/modals/restore/Restore.vue +302 -302
  63. package/components/common/pages/backups/modals/restore/disks/Disks.vue +50 -50
  64. package/components/common/pages/backups/modals/restore/lib/config/readyToCompleteOptions.ts +94 -94
  65. package/components/common/pages/backups/modals/restore/lib/config/steps.ts +130 -130
  66. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  67. package/components/common/pages/backups/modals/restore/types/New.vue +95 -95
  68. package/components/common/pages/backups/modals/restore/types/Old.vue +62 -62
  69. package/components/common/pages/backups/modals/restore/types/Types.vue +31 -31
  70. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  71. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  72. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  73. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  74. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  75. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  76. package/components/common/pages/scheduledTasks/table/Table.vue +3 -11
  77. package/components/common/pages/scheduledTasks/table/expandDetails/ExpandDetails.vue +30 -0
  78. package/components/common/pages/scheduledTasks/table/expandDetails/New.vue +61 -0
  79. package/components/common/pages/scheduledTasks/table/{detailsList/DetailsList.vue → expandDetails/Old.vue} +7 -4
  80. package/components/common/pages/scheduledTasks/table/{detailsList/Table.vue → expandDetails/historyRun/HistoryRun.vue} +9 -5
  81. package/components/common/pages/scheduledTasks/table/{detailsList → expandDetails/historyRun}/lib/config/historyRunsTable.ts +4 -2
  82. package/components/common/pages/scheduledTasks/table/{detailsList → expandDetails/historyRun}/lib/config/tableKeys.ts +1 -1
  83. package/components/common/pages/scheduledTasks/table/{detailsList/lib/config/tasksRowDetails.ts → expandDetails/lib/config/expandDetails.ts} +3 -1
  84. package/components/common/pages/scheduledTasks/table/lib/config/scheduledTasksTable.ts +3 -0
  85. package/components/common/pages/tasks/Tasks.vue +125 -125
  86. package/components/common/pages/tasks/table/Table.vue +373 -373
  87. package/components/common/pages/tasks/table/lib/config/config.ts +279 -279
  88. package/components/common/pages/tasks/table/lib/models/interfaces.ts +9 -9
  89. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  90. package/components/common/select/radio/RadioGroup.vue +137 -137
  91. package/components/common/spiceConsole/Drawer.vue +420 -420
  92. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  93. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  94. package/components/common/tools/Actions.vue +207 -207
  95. package/components/common/treeView/TreeView.vue +52 -52
  96. package/components/common/vm/actions/clone/lib/config/steps.ts +295 -295
  97. package/components/common/vm/actions/clone/new/New.vue +438 -438
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +283 -283
  100. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +156 -156
  101. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  102. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  103. package/components/common/vm/actions/common/select/options/New.vue +264 -264
  104. package/components/common/vm/actions/common/select/options/Options.vue +58 -58
  105. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  106. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  107. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  108. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  109. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  110. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  111. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  112. package/components/common/wizards/common/steps/name/New.vue +221 -221
  113. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  114. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  115. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  116. package/components/common/wizards/datastore/add/Add.vue +227 -227
  117. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  118. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  119. package/composables/useAppVersion.ts +21 -21
  120. package/composables/useBrowse.ts +24 -24
  121. package/composables/useLocal.ts +6 -6
  122. package/composables/useLocalCommon.ts +39 -39
  123. package/lib/models/types.ts +59 -59
  124. package/package.json +1 -1
  125. package/plugins/console.ts +21 -21
  126. package/plugins/mouse.ts +21 -21
  127. package/plugins/panelStates.ts +70 -70
  128. package/plugins/text.ts +59 -59
  129. package/public/spice-console/application/clientgui.js +854 -854
  130. package/public/spice-console/application/packetfactory.js +211 -211
  131. package/public/spice-console/application/virtualmouse.js +147 -147
  132. package/public/spice-console/lib/images/bitmap.js +203 -203
  133. package/public/spice-console/network/spicechannel.js +440 -440
  134. package/public/spice-console/process/cursorprocess.js +128 -128
  135. package/public/spice-console/process/inputprocess.js +227 -227
  136. package/public/spice-console/process/mainprocess.js +212 -212
  137. package/public/spice-console/run.js +210 -210
  138. package/store/inventory/modules/configure/advancedSystemSettings/actions.ts +122 -0
  139. package/store/inventory/modules/configure/advancedSystemSettings/getters.ts +9 -0
  140. package/store/inventory/modules/configure/advancedSystemSettings/lib/models/interfaces.ts +11 -0
  141. package/store/inventory/modules/configure/advancedSystemSettings/mutations.ts +12 -0
  142. package/store/inventory/modules/configure/advancedSystemSettings/state.ts +9 -0
  143. package/store/inventory/modules/configure/advancedSystemSettings/store.ts +12 -0
  144. package/store/inventory/modules/configure/securityProfile/actions.ts +58 -0
  145. package/store/inventory/modules/configure/securityProfile/getters.ts +10 -0
  146. package/store/inventory/modules/configure/securityProfile/lib/models/interfaces.ts +16 -0
  147. package/store/inventory/modules/configure/securityProfile/mutations.ts +13 -0
  148. package/store/inventory/modules/configure/securityProfile/state.ts +7 -0
  149. package/store/inventory/modules/configure/securityProfile/store.ts +12 -0
  150. package/store/main/mutations.ts +7 -7
  151. package/store/main/state.ts +7 -7
  152. package/store/tasks/mappers/recentTasks.ts +123 -123
  153. package/store/tasks/mutations.ts +82 -82
  154. /package/components/common/pages/scheduledTasks/table/{detailsList → expandDetails/historyRun}/lib/models/types.ts +0 -0
@@ -0,0 +1,37 @@
1
+ <template>
2
+ <atoms-modal
3
+ :title="localization.common.edit"
4
+ :second-title="props.host"
5
+ test-id="advanced-system-settings-edit"
6
+ class="advanced-system-settings"
7
+ show
8
+ @hide="onHide"
9
+ >
10
+ <template #modalBody>
11
+ <common-configure-advanced-system-settings-table-view :data="props.settings" />
12
+ </template>
13
+ </atoms-modal>
14
+ </template>
15
+
16
+ <script lang="ts" setup>
17
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
18
+
19
+ const props = defineProps<{
20
+ host: string
21
+ settings: any
22
+ }>()
23
+
24
+ const emits = defineEmits<{
25
+ (event: 'hide'): void
26
+ // (event: 'submit'): void
27
+ }>()
28
+
29
+ const localization = computed<UI_I_Localization>(() => useLocal())
30
+
31
+ const onHide = (): void => {
32
+ emits('hide')
33
+ }
34
+ </script>
35
+
36
+ <style lang="scss" scoped>
37
+ </style>
@@ -0,0 +1,46 @@
1
+ <template>
2
+ <atoms-modal
3
+ :title="localization.common.edit"
4
+ :second-title="props.host"
5
+ test-id="advanced-system-settings-edit"
6
+ class="advanced-system-settings"
7
+ width="863px"
8
+ show
9
+ @hide="onHide"
10
+ @submit="onSubmit"
11
+ >
12
+ <template #modalBody>
13
+ <common-configure-advanced-system-settings-table-view
14
+ v-model:settings="model"
15
+ :data="props.settings"
16
+ is-edit
17
+ />
18
+ </template>
19
+ </atoms-modal>
20
+ </template>
21
+
22
+ <script lang="ts" setup>
23
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
24
+
25
+ const model = defineModel<any>({required: true})
26
+ const props = defineProps<{
27
+ host: string
28
+ settings: any
29
+ }>()
30
+
31
+ const emits = defineEmits<{
32
+ (event: 'hide'): void
33
+ (event: 'submit'): void
34
+ }>()
35
+
36
+ const localization = computed<UI_I_Localization>(() => useLocal())
37
+
38
+ const onHide = (): void => {
39
+ emits('hide')
40
+ }
41
+ const onSubmit = (): void => {
42
+ emits('submit')
43
+ }
44
+ </script>
45
+
46
+ <style lang="scss" scoped></style>
@@ -0,0 +1,30 @@
1
+ <template>
2
+ <component
3
+ :is="currentComponent"
4
+ v-model:settings="settings"
5
+ :data-table="props.data?.items || []"
6
+ :total-items="props.data?.total_items || 0"
7
+ :total-pages="props.data?.total_pages || 1"
8
+ :is-edit="props.isEdit"
9
+ />
10
+ </template>
11
+
12
+ <script lang="ts" setup>
13
+ const settings = defineModel<any>('settings', {required: true})
14
+ const props = withDefaults(
15
+ defineProps<{
16
+ data: any
17
+ isEdit?: boolean
18
+ }>(),
19
+ { isEdit: false }
20
+ )
21
+
22
+ const { $store }: any = useNuxtApp()
23
+
24
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
25
+ const currentComponent = computed(() =>
26
+ isNewView.value
27
+ ? defineAsyncComponent(() => import('./new/New.vue'))
28
+ : defineAsyncComponent(() => import('./old/Old.vue'))
29
+ )
30
+ </script>
@@ -0,0 +1,193 @@
1
+ <template>
2
+ <div class="device-table-container">
3
+ <ui-data-table
4
+ :data="data"
5
+ :options="options"
6
+ :total-pages="props.totalPages"
7
+ :total-items="props.totalItems"
8
+ :texts="texts"
9
+ :default-layout="false"
10
+ :skeleton="tableSkeleton"
11
+ test-id="compute-resource-table"
12
+ class="device-table"
13
+ size="sm"
14
+ @select-row="onSelectRow"
15
+ >
16
+ <template #icon="{ item }">
17
+ <span :class="['device-table__icon', item.data.iconClassName]" />
18
+ <span class="device-table__text text-ellipsis">
19
+ {{ item.text }}
20
+ </span>
21
+ </template>
22
+
23
+ <template #progress="{ item }">
24
+ <div class="progress flex items-center justify-between w-full">
25
+ <div class="progress-line">
26
+ <div
27
+ v-if="item.data"
28
+ :style="`width: ${item.data}%`"
29
+ class="progress-line-fill"
30
+ ></div>
31
+ </div>
32
+ <div
33
+ :class="[
34
+ 'progress-text',
35
+ {
36
+ 'progress-full': item.data === 100,
37
+ },
38
+ ]"
39
+ >
40
+ {{ item.text }}
41
+ </div>
42
+ </div>
43
+ </template>
44
+
45
+ <template #status="{ item }">
46
+ <ui-chip
47
+ :test-id="item.data.testId"
48
+ :color="item.data.chipColor"
49
+ size="sm"
50
+ rounded
51
+ >
52
+ <ui-icon
53
+ :name="item.data.icon"
54
+ width="14px"
55
+ height="14px"
56
+ class="chip-icon"
57
+ ></ui-icon>
58
+ {{ item.text }}
59
+ </ui-chip>
60
+ </template>
61
+
62
+ <template #skeleton-header>
63
+ <div class="flex justify-between items-center">
64
+ <ui-skeleton-item width="80" height="20" />
65
+ <ui-skeleton-item width="88" height="28" border-radius="6" />
66
+ </div>
67
+ </template>
68
+ </ui-data-table>
69
+ </div>
70
+ </template>
71
+
72
+ <script lang="ts" setup>
73
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
74
+ import type {
75
+ UI_I_DataTable,
76
+ UI_I_DataTableHeader,
77
+ UI_I_DataTableBody,
78
+ UI_I_TableTexts,
79
+ } from '~/node_modules/bfg-uikit/components/ui/dataTable/models/interfaces'
80
+ import type { UI_I_DataTableSkeleton } from '~/node_modules/bfg-uikit/components/ui/dataTable/models/interfaces'
81
+ import {
82
+ options,
83
+ getHeaderDataFunc,
84
+ getBodyDataFunc,
85
+ } from '~/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/lib/config/hostTable'
86
+
87
+ const selectedDataLocal = defineModel<number | null>({ required: true })
88
+ const props = defineProps<{
89
+ dataTable: any[]
90
+ totalItems: number
91
+ totalPages: number
92
+ isEdit: boolean
93
+ }>()
94
+
95
+ const localization = computed<UI_I_Localization>(() => useLocal())
96
+
97
+ const texts = computed<UI_I_TableTexts>(() => ({
98
+ searchHere: localization.value.common.searchHere,
99
+ rowsPerPage: localization.value.common.rowsPerPage,
100
+ of: localization.value.common.of,
101
+ selected: localization.value.common.selected2,
102
+ columns: localization.value.common.columns,
103
+ previous: localization.value.common.previous,
104
+ next: localization.value.common.next,
105
+ noItemsFound: localization.value.common.noItemsFound,
106
+ exportAll: localization.value.common.exportAll,
107
+ exportSelected: localization.value.common.exportSelected,
108
+ all: localization.value.common.all,
109
+ filter: localization.value.common.filter,
110
+ }))
111
+
112
+ const tableSkeleton = ref<UI_I_DataTableSkeleton>({
113
+ columnsCount: 4,
114
+ headColumns: [],
115
+ bodyColumns: [],
116
+ withoutPagination: true,
117
+ })
118
+
119
+ const data = computed<UI_I_DataTable>(() => ({
120
+ id: 'compute-resource-host-table',
121
+ title: `${localization.value.common.hosts} (${props.totalItems})`,
122
+ header: deviceHeadItems.value,
123
+ body: deviceBodyItems.value,
124
+ }))
125
+
126
+ const deviceHeadItems = computed<UI_I_DataTableHeader[]>(() =>
127
+ getHeaderDataFunc(localization.value)
128
+ )
129
+
130
+ const deviceBodyItems = ref<UI_I_DataTableBody[]>([])
131
+ watch(
132
+ () => props.dataTable,
133
+ (newValue: UI_T_ComputeResourceTableItem[]) => {
134
+ if (!newValue?.length) {
135
+ deviceBodyItems.value = []
136
+ return
137
+ }
138
+
139
+ deviceBodyItems.value = getBodyDataFunc(newValue, localization.value)
140
+ },
141
+ { deep: true, immediate: true }
142
+ )
143
+
144
+ const onSelectRow = (value: UI_I_DataTableBody[]): void => {
145
+ selectedDataLocal.value = value?.[0].row
146
+ }
147
+ </script>
148
+
149
+ <style lang="scss" scoped>
150
+ .device-table-container {
151
+ margin: 20px 0 24px;
152
+ :deep(.column-manager-button.sm span) {
153
+ font-weight: 500;
154
+ }
155
+ :deep(.table-title .title-container h6) {
156
+ font-size: 12px;
157
+ }
158
+ .device-table {
159
+ &__icon {
160
+ margin-right: 4px;
161
+ }
162
+ &__text {
163
+ font-size: 12px;
164
+ }
165
+ }
166
+ .progress {
167
+ &-line {
168
+ height: 12px;
169
+ width: 100%;
170
+ background: #e9ebed8f;
171
+ border-radius: 6px;
172
+
173
+ &-fill {
174
+ height: 12px;
175
+ min-width: 12px;
176
+ background: #008fd6;
177
+ border-radius: 6px;
178
+ }
179
+ }
180
+
181
+ &-text {
182
+ width: 53px;
183
+ min-width: 53px;
184
+ margin-left: 8px;
185
+ text-align: right;
186
+
187
+ &.progress-full {
188
+ color: #ea3223;
189
+ }
190
+ }
191
+ }
192
+ }
193
+ </style>
@@ -0,0 +1,308 @@
1
+ import type {
2
+ UI_I_DataTableBody,
3
+ UI_I_DataTableOptions,
4
+ UI_I_DataTableHeader,
5
+ } from '~/node_modules/bfg-uikit/components/ui/dataTable/models/interfaces'
6
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
7
+ import type { UI_I_HostTableItem } from '~/components/common/wizards/vm/migrate/steps/computeResource/tableView/lib/models/interfaces'
8
+ import {
9
+ UI_E_DeviceStatus,
10
+ UI_E_DeviceStatusChipColor,
11
+ UI_E_DeviceStatusIcon,
12
+ } from '~/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/lib/models/enums'
13
+ import {
14
+ hostIconByState,
15
+ hostLocalizationByState,
16
+ } from '~/components/common/lib/config/states'
17
+
18
+ // Маппинг для статусов
19
+ const STATUS_MAPPING = {
20
+ [UI_E_DeviceStatus.Unknown]: {
21
+ icon: UI_E_DeviceStatusIcon.HelpIcon,
22
+ chipColor: UI_E_DeviceStatusChipColor.Primary,
23
+ },
24
+ [UI_E_DeviceStatus.Supported]: {
25
+ icon: UI_E_DeviceStatusIcon.StatusCheck,
26
+ chipColor: UI_E_DeviceStatusChipColor.Green,
27
+ },
28
+ [UI_E_DeviceStatus.NotSupported]: {
29
+ icon: UI_E_DeviceStatusIcon.Close,
30
+ chipColor: UI_E_DeviceStatusChipColor.Red,
31
+ },
32
+ }
33
+
34
+ export const getHeaderDataFunc = (
35
+ localization: UI_I_Localization
36
+ ): UI_I_DataTableHeader[] => [
37
+ {
38
+ col: 'col0',
39
+ colName: 'name',
40
+ text: localization.common.name,
41
+ isSortable: true,
42
+ sort: 'asc',
43
+ width: '180px',
44
+ show: true,
45
+ filter: false,
46
+ },
47
+ {
48
+ col: 'col1',
49
+ colName: 'state',
50
+ text: localization.inventorySummary.state,
51
+ isSortable: true,
52
+ sort: 'asc',
53
+ width: '96px',
54
+ show: true,
55
+ filter: false,
56
+ },
57
+ {
58
+ col: 'col2',
59
+ colName: 'cluster',
60
+ text: localization.common.cluster,
61
+ isSortable: true,
62
+ sort: 'asc',
63
+ width: '96px',
64
+ show: true,
65
+ filter: false,
66
+ },
67
+ {
68
+ col: 'col3',
69
+ colName: 'fault_domain',
70
+ text: localization.common.faultDomain,
71
+ isSortable: true,
72
+ sort: 'asc',
73
+ width: '96px',
74
+ show: true,
75
+ filter: false,
76
+ },
77
+ {
78
+ col: 'col4',
79
+ colName: 'consumed_cpu',
80
+ text: `${localization.common.consumedCpu} %`,
81
+ isSortable: true,
82
+ sort: 'asc',
83
+ width: '96px',
84
+ show: true,
85
+ filter: false,
86
+ },
87
+ {
88
+ col: 'col5',
89
+ colName: 'consumed_mem',
90
+ text: `${localization.common.consumedMemory} %`,
91
+ isSortable: true,
92
+ sort: 'asc',
93
+ width: '96px',
94
+ show: true,
95
+ filter: false,
96
+ },
97
+ {
98
+ col: 'col6',
99
+ colName: 'ha_state',
100
+ text: localization.common.haState,
101
+ isSortable: true,
102
+ sort: 'asc',
103
+ width: '96px',
104
+ show: true,
105
+ filter: false,
106
+ },
107
+ {
108
+ col: 'col7',
109
+ colName: 'uptime',
110
+ text: localization.inventorySummary.uptime,
111
+ isSortable: true,
112
+ sort: 'asc',
113
+ width: '96px',
114
+ show: true,
115
+ filter: false,
116
+ },
117
+ {
118
+ col: 'col8',
119
+ colName: 'cert_valid_to',
120
+ text: localization.common.certificateValidTo,
121
+ isSortable: true,
122
+ sort: 'asc',
123
+ width: '96px',
124
+ show: true,
125
+ filter: false,
126
+ },
127
+ {
128
+ col: 'col9',
129
+ colName: 'mem_size',
130
+ text: `${localization.common.memorySize} (${localization.common.mb})`,
131
+ isSortable: true,
132
+ sort: 'asc',
133
+ width: '96px',
134
+ show: true,
135
+ filter: false,
136
+ },
137
+ {
138
+ col: 'col10',
139
+ colName: 'cpus',
140
+ text: localization.common.cpus,
141
+ isSortable: true,
142
+ sort: 'asc',
143
+ width: '96px',
144
+ show: true,
145
+ filter: false,
146
+ },
147
+ {
148
+ col: 'col11',
149
+ colName: 'nics',
150
+ text: localization.inventorySummary.nics,
151
+ isSortable: true,
152
+ sort: 'asc',
153
+ width: '96px',
154
+ show: true,
155
+ filter: false,
156
+ },
157
+ {
158
+ col: 'col12',
159
+ colName: 'version',
160
+ text: localization.common.version,
161
+ isSortable: true,
162
+ sort: 'asc',
163
+ width: '96px',
164
+ show: true,
165
+ filter: false,
166
+ },
167
+ {
168
+ col: 'col13',
169
+ colName: 'alarm_action',
170
+ text: localization.common.alarmActions,
171
+ isSortable: true,
172
+ sort: 'asc',
173
+ width: '96px',
174
+ show: true,
175
+ filter: false,
176
+ },
177
+ ]
178
+ export const options: UI_I_DataTableOptions = {
179
+ perPageOptions: [{ text: '10', value: 100, default: true }],
180
+ isSelectable: true,
181
+ selectType: 'radio',
182
+ showPagination: false,
183
+ showPageInfo: false,
184
+ isSortable: true,
185
+ server: true,
186
+ isResizable: true,
187
+ showSelectedRows: false,
188
+ showColumnManager: true,
189
+ inModal: true,
190
+ inBlock: false,
191
+ // isFocusable: false,
192
+ // showPaginationOnTop: false,
193
+ // showSearch: false,
194
+ // withActions: false,
195
+ // showExport: false,
196
+ // withCollapse: false,
197
+ }
198
+
199
+ export const getBodyDataFunc = (
200
+ bodyData: UI_I_HostTableItem[],
201
+ localization: UI_I_Localization
202
+ ): UI_I_DataTableBody[] => {
203
+ const { $number } = useNuxtApp() as any
204
+
205
+ return bodyData.map((host, index: number) => {
206
+ const statusKey = host.state
207
+ ? UI_E_DeviceStatus.Unknown
208
+ : UI_E_DeviceStatus.Supported
209
+ const statusData = {
210
+ ...STATUS_MAPPING[statusKey],
211
+ testId: `${host.name}-${index}-status`,
212
+ }
213
+
214
+ return {
215
+ row: index,
216
+ collapse: false,
217
+ isHiddenCollapse: false,
218
+ collapseToggle: false,
219
+
220
+ data: [
221
+ {
222
+ key: 'icon',
223
+ col: 'col0',
224
+ text: host.name,
225
+ data: `vsphere-icon-${hostIconByState[host.state]}`,
226
+ testId: `migrate-host-table-item-${index}`,
227
+ },
228
+
229
+ {
230
+ key: 'status',
231
+ col: 'col1',
232
+ text: localization.common[hostLocalizationByState[host.state]],
233
+ testId: `migrate-host-table-item-${index}`,
234
+ data: statusData,
235
+ },
236
+ {
237
+ col: 'col2',
238
+ text: host.cluster,
239
+ testId: `migrate-host-table-item-${index}`,
240
+ },
241
+ {
242
+ col: 'col3',
243
+ text: host.fault_domain,
244
+ testId: `migrate-host-table-item-${index}`,
245
+ },
246
+ {
247
+ key: 'progress',
248
+ col: 'col4',
249
+ text: `${host.consumed_cpu.toFixed(2)}%`,
250
+ data: host.consumed_cpu,
251
+ testId: `migrate-host-table-item-${index}`,
252
+ },
253
+ {
254
+ key: 'progress',
255
+ col: 'col5',
256
+ text: `${host.consumed_mem.toFixed(2)}%`,
257
+ data: host.consumed_mem,
258
+ testId: `migrate-host-table-item-${index}`,
259
+ },
260
+ {
261
+ col: 'col6',
262
+ text: host.ha_state,
263
+ testId: `migrate-host-table-item-${index}`,
264
+ },
265
+ {
266
+ col: 'col7',
267
+ text: host.uptime + '',
268
+ testId: `migrate-host-table-item-${index}`,
269
+ },
270
+ {
271
+ col: 'col8',
272
+ text: host.cert_valid_to,
273
+ testId: `migrate-host-table-item-${index}`,
274
+ },
275
+
276
+ {
277
+ col: 'col9',
278
+ text: `${$number.format(host.mem_size, 'en')} ${
279
+ localization.common.mb
280
+ }`,
281
+ testId: `migrate-host-table-item-${index}`,
282
+ },
283
+ {
284
+ col: 'col10',
285
+ text: host.cpus + '',
286
+ testId: `migrate-host-table-item-${index}`,
287
+ },
288
+ {
289
+ col: 'col11',
290
+ text: host.nics + '',
291
+ testId: `migrate-host-table-item-${index}`,
292
+ },
293
+ {
294
+ col: 'col12',
295
+ text: host.version,
296
+ testId: `migrate-host-table-item-${index}`,
297
+ },
298
+ {
299
+ key: 'status',
300
+ col: 'col13',
301
+ text: host.alarm_action,
302
+ data: statusData,
303
+ testId: `migrate-host-table-item-${index}`,
304
+ },
305
+ ],
306
+ }
307
+ })
308
+ }