bfg-common 1.5.514 → 1.5.516

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 (52) hide show
  1. package/assets/localization/local_be.json +5 -3
  2. package/assets/localization/local_en.json +6 -4
  3. package/assets/localization/local_hy.json +5 -3
  4. package/assets/localization/local_kk.json +5 -3
  5. package/assets/localization/local_ru.json +5 -3
  6. package/assets/localization/local_zh.json +5 -3
  7. package/components/atoms/sortableView/SortableView.vue +2 -2
  8. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  9. package/components/common/browse/lib/models/interfaces.ts +5 -5
  10. package/components/common/diagramMain/modals/lib/config/portModal.ts +251 -251
  11. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  12. package/components/common/diagramMain/network/Contents.vue +497 -497
  13. package/components/common/diagramMain/port/Port.vue +580 -580
  14. package/components/common/pages/backups/modals/createBackup/CreateBackup.vue +196 -379
  15. package/components/common/pages/backups/modals/createBackup/New.vue +267 -0
  16. package/components/common/pages/backups/modals/createBackup/Old.vue +142 -0
  17. package/components/common/pages/backups/modals/createBackup/configuration/Configuration.vue +29 -29
  18. package/components/common/pages/backups/modals/createBackup/configuration/ConfigurationNew.vue +218 -0
  19. package/components/common/pages/backups/modals/createBackup/configuration/ConfigurationOld.vue +29 -0
  20. package/components/common/pages/backups/modals/createBackup/configuration/backupWindow/BackupWindow.vue +29 -29
  21. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/MaxBandwidth.vue +69 -69
  22. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  23. package/components/common/pages/backups/modals/createBackup/configuration/strategy/Strategy.vue +38 -38
  24. package/components/common/pages/backups/modals/createBackup/datastores/Datastores.vue +34 -59
  25. package/components/common/pages/backups/modals/createBackup/datastores/DatastoresNew.vue +23 -0
  26. package/components/common/pages/backups/modals/createBackup/datastores/DatastoresOld.vue +33 -0
  27. package/components/common/pages/backups/modals/createBackup/datastores/tableView/new/TableView.vue +134 -0
  28. package/components/common/pages/backups/modals/createBackup/datastores/tableView/new/lib/config/table.ts +219 -0
  29. package/components/common/pages/backups/modals/createBackup/datastores/tableView/new/lib/models/enums.ts +15 -0
  30. package/components/common/pages/backups/modals/createBackup/datastores/tableView/new/lib/models/interfaces.ts +5 -0
  31. package/components/common/pages/backups/modals/createBackup/datastores/tableView/{TableView.vue → old/TableView.vue} +95 -95
  32. package/components/common/pages/backups/modals/createBackup/datastores/tableView/{lib → old/lib}/config/keys.ts +14 -14
  33. package/components/common/pages/backups/modals/createBackup/datastores/tableView/{lib → old/lib}/config/table.ts +127 -127
  34. package/components/common/pages/backups/modals/createBackup/datastores/tableView/{lib → old/lib}/models/types.ts +10 -10
  35. package/components/common/pages/backups/modals/createBackup/disks/Disks.vue +34 -28
  36. package/components/common/pages/backups/modals/createBackup/disks/DisksNew.vue +22 -0
  37. package/components/common/pages/backups/modals/createBackup/disks/DisksOld.vue +28 -0
  38. package/components/common/pages/backups/modals/createBackup/disks/tableView/new/TableView.vue +131 -0
  39. package/components/common/pages/backups/modals/createBackup/disks/tableView/new/lib/config/table.ts +178 -0
  40. package/components/common/pages/backups/modals/createBackup/disks/tableView/{TableView.vue → old/TableView.vue} +119 -108
  41. package/components/common/pages/backups/modals/createBackup/disks/tableView/{lib → old/lib}/config/keys.ts +12 -12
  42. package/components/common/pages/backups/modals/createBackup/disks/tableView/{lib → old/lib}/config/table.ts +125 -125
  43. package/components/common/pages/backups/modals/createBackup/disks/tableView/{lib → old/lib}/models/types.ts +10 -10
  44. package/components/common/pages/backups/modals/createBackup/general/General.vue +33 -141
  45. package/components/common/pages/backups/modals/createBackup/general/GeneralNew.vue +128 -0
  46. package/components/common/pages/backups/modals/createBackup/general/GeneralOld.vue +66 -0
  47. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +59 -0
  48. package/components/common/pages/backups/modals/createBackup/lib/config/steps.ts +123 -117
  49. package/components/common/pages/backups/modals/createBackup/lib/config/strategyOptions.ts +13 -12
  50. package/components/common/pages/backups/modals/createBackup/lib/models/interfaces.ts +8 -8
  51. package/components/common/pages/backups/modals/createBackup/lib/validation/validations.ts +145 -0
  52. package/package.json +1 -1
@@ -1,127 +1,127 @@
1
- import type {
2
- UI_I_HeadItem,
3
- UI_I_ColumnKey,
4
- UI_I_BodyItem,
5
- } from '~/components/atoms/table/dataGrid/lib/models/interfaces'
6
- import type { UI_I_Localization } from '~/lib/models/interfaces'
7
- import type { UI_I_BackupDatastore } from '~/components/common/pages/backups/modals/lib/models/interfaces'
8
- import {
9
- constructHeadItem,
10
- constructColumnKey,
11
- } from '~/components/atoms/table/dataGrid/lib/utils/constructDataTable'
12
- import { datastoreLocalizationByState } from '~/components/common/lib/config/states'
13
- import { tableKeys } from '~/components/common/pages/backups/modals/createBackup/datastores/tableView/lib/config/keys'
14
-
15
- const getItems = (
16
- localization: UI_I_Localization
17
- ): [string, boolean, string, string][] => {
18
- return [
19
- [localization.common.name, true, '180px', tableKeys[0]],
20
- [localization.inventorySummary.state, true, '180px', tableKeys[1]],
21
- [localization.common.capacity, true, '180px', tableKeys[2]],
22
- [localization.common.provisioned, true, '180px', tableKeys[3]],
23
- [localization.common.free, true, '180px', tableKeys[4]],
24
- [localization.common.used, true, '180px', tableKeys[5]],
25
- [localization.common.type, true, '180px', tableKeys[6]],
26
- [localization.common.location, true, '180px', tableKeys[7]],
27
- ]
28
- }
29
- export const columnKeys = (
30
- localization: UI_I_Localization
31
- ): UI_I_ColumnKey[] => {
32
- const result: UI_I_ColumnKey[] = []
33
- getItems(localization).forEach((item, i) => {
34
- result.push(
35
- constructColumnKey(`col${i}`, item[0], item[1], `show-column-${item[3]}`)
36
- )
37
- })
38
- return result
39
- }
40
- export const headItems = (localization: UI_I_Localization): UI_I_HeadItem[] => {
41
- const result: UI_I_HeadItem[] = []
42
- getItems(localization).forEach((item, i) => {
43
- result.push(
44
- constructHeadItem(
45
- `col${i}`,
46
- item[0],
47
- item[3],
48
- true,
49
- item[2],
50
- undefined,
51
- item[3]
52
- )
53
- )
54
- })
55
- return result
56
- }
57
-
58
- export const bodyItems = (
59
- data: UI_I_BackupDatastore[],
60
- localization: UI_I_Localization
61
- ): UI_I_BodyItem[][] => {
62
- const { $binary }: any = useNuxtApp()
63
- const lang = useLocalStorage('lang') === 'ru_RU' ? 'ru' : 'en'
64
-
65
- const bodyItems: UI_I_BodyItem[][] = []
66
- data.forEach((datastore: UI_I_BackupDatastore) => {
67
- // ??
68
- const state =
69
- localization.common[datastoreLocalizationByState[datastore[tableKeys[1]]]]
70
-
71
- bodyItems.push([
72
- {
73
- key: 'col0',
74
- text: datastore[tableKeys[0]],
75
- id: datastore.id,
76
- testId: `backup-datastore-table-item-${datastore.id}`,
77
- },
78
- {
79
- key: 'col1',
80
- text: state,
81
- id: datastore.id,
82
- testId: `backup-datastore-table-item-${datastore.id}`,
83
- },
84
- {
85
- key: 'col2',
86
- text: $binary.round(datastore.capacity[tableKeys[2]], false, lang),
87
- id: datastore.id,
88
- testId: `backup-datastore-table-item-${datastore.id}`,
89
- },
90
- {
91
- key: 'col3',
92
- text: $binary.round(
93
- datastore.capacity[tableKeys[3]],
94
- false,
95
- lang
96
- ),
97
- id: datastore.id,
98
- testId: `backup-datastore-table-item-${datastore.id}`,
99
- },
100
- {
101
- key: 'col4',
102
- text: $binary.round(datastore.capacity[tableKeys[4]], false, lang),
103
- id: datastore.id,
104
- testId: `backup-datastore-table-item-${datastore.id}`,
105
- },
106
- {
107
- key: 'col5',
108
- text: $binary.round(datastore.capacity[tableKeys[5]], false, lang),
109
- id: datastore.id,
110
- testId: `backup-datastore-table-item-${datastore.id}`,
111
- },
112
- {
113
- key: 'col6',
114
- text: datastore[tableKeys[6]],
115
- id: datastore.id,
116
- testId: `backup-datastore-table-item-${datastore.id}`,
117
- },
118
- {
119
- key: 'col7',
120
- text: datastore[tableKeys[7]],
121
- id: datastore.id,
122
- testId: `backup-datastore-table-item-${datastore.id}`,
123
- },
124
- ])
125
- })
126
- return bodyItems
127
- }
1
+ import type {
2
+ UI_I_HeadItem,
3
+ UI_I_ColumnKey,
4
+ UI_I_BodyItem,
5
+ } from '~/components/atoms/table/dataGrid/lib/models/interfaces'
6
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
7
+ import type { UI_I_BackupDatastore } from '~/components/common/pages/backups/modals/lib/models/interfaces'
8
+ import {
9
+ constructHeadItem,
10
+ constructColumnKey,
11
+ } from '~/components/atoms/table/dataGrid/lib/utils/constructDataTable'
12
+ import { datastoreLocalizationByState } from '~/components/common/lib/config/states'
13
+ import { tableKeys } from '~/components/common/pages/backups/modals/createBackup/datastores/tableView/old/lib/config/keys'
14
+
15
+ const getItems = (
16
+ localization: UI_I_Localization
17
+ ): [string, boolean, string, string][] => {
18
+ return [
19
+ [localization.common.name, true, '180px', tableKeys[0]],
20
+ [localization.inventorySummary.state, true, '180px', tableKeys[1]],
21
+ [localization.common.capacity, true, '180px', tableKeys[2]],
22
+ [localization.common.provisioned, true, '180px', tableKeys[3]],
23
+ [localization.common.free, true, '180px', tableKeys[4]],
24
+ [localization.common.used, true, '180px', tableKeys[5]],
25
+ [localization.common.type, true, '180px', tableKeys[6]],
26
+ [localization.common.location, true, '180px', tableKeys[7]],
27
+ ]
28
+ }
29
+ export const columnKeys = (
30
+ localization: UI_I_Localization
31
+ ): UI_I_ColumnKey[] => {
32
+ const result: UI_I_ColumnKey[] = []
33
+ getItems(localization).forEach((item, i) => {
34
+ result.push(
35
+ constructColumnKey(`col${i}`, item[0], item[1], `show-column-${item[3]}`)
36
+ )
37
+ })
38
+ return result
39
+ }
40
+ export const headItems = (localization: UI_I_Localization): UI_I_HeadItem[] => {
41
+ const result: UI_I_HeadItem[] = []
42
+ getItems(localization).forEach((item, i) => {
43
+ result.push(
44
+ constructHeadItem(
45
+ `col${i}`,
46
+ item[0],
47
+ item[3],
48
+ true,
49
+ item[2],
50
+ undefined,
51
+ item[3]
52
+ )
53
+ )
54
+ })
55
+ return result
56
+ }
57
+
58
+ export const bodyItems = (
59
+ data: UI_I_BackupDatastore[],
60
+ localization: UI_I_Localization
61
+ ): UI_I_BodyItem[][] => {
62
+ const { $binary }: any = useNuxtApp()
63
+ const lang = useLocalStorage('lang') === 'ru_RU' ? 'ru' : 'en'
64
+
65
+ const bodyItems: UI_I_BodyItem[][] = []
66
+ data.forEach((datastore: UI_I_BackupDatastore) => {
67
+ // ??
68
+ const state =
69
+ localization.common[datastoreLocalizationByState[datastore[tableKeys[1]]]]
70
+
71
+ bodyItems.push([
72
+ {
73
+ key: 'col0',
74
+ text: datastore[tableKeys[0]],
75
+ id: datastore.id,
76
+ testId: `backup-datastore-table-item-${datastore.id}`,
77
+ },
78
+ {
79
+ key: 'col1',
80
+ text: state,
81
+ id: datastore.id,
82
+ testId: `backup-datastore-table-item-${datastore.id}`,
83
+ },
84
+ {
85
+ key: 'col2',
86
+ text: $binary.round(datastore.capacity[tableKeys[2]], false, lang),
87
+ id: datastore.id,
88
+ testId: `backup-datastore-table-item-${datastore.id}`,
89
+ },
90
+ {
91
+ key: 'col3',
92
+ text: $binary.round(
93
+ datastore.capacity[tableKeys[3]],
94
+ false,
95
+ lang
96
+ ),
97
+ id: datastore.id,
98
+ testId: `backup-datastore-table-item-${datastore.id}`,
99
+ },
100
+ {
101
+ key: 'col4',
102
+ text: $binary.round(datastore.capacity[tableKeys[4]], false, lang),
103
+ id: datastore.id,
104
+ testId: `backup-datastore-table-item-${datastore.id}`,
105
+ },
106
+ {
107
+ key: 'col5',
108
+ text: $binary.round(datastore.capacity[tableKeys[5]], false, lang),
109
+ id: datastore.id,
110
+ testId: `backup-datastore-table-item-${datastore.id}`,
111
+ },
112
+ {
113
+ key: 'col6',
114
+ text: datastore[tableKeys[6]],
115
+ id: datastore.id,
116
+ testId: `backup-datastore-table-item-${datastore.id}`,
117
+ },
118
+ {
119
+ key: 'col7',
120
+ text: datastore[tableKeys[7]],
121
+ id: datastore.id,
122
+ testId: `backup-datastore-table-item-${datastore.id}`,
123
+ },
124
+ ])
125
+ })
126
+ return bodyItems
127
+ }
@@ -1,10 +1,10 @@
1
- export type UI_T_DatastoreTableKeysTuple = [
2
- 'name',
3
- 'state',
4
- 'capacity_mb',
5
- 'provisioned_mb',
6
- 'free_mb',
7
- 'used_mb',
8
- 'type_text',
9
- 'location'
10
- ]
1
+ export type UI_T_DatastoreTableKeysTuple = [
2
+ 'name',
3
+ 'state',
4
+ 'capacity_mb',
5
+ 'provisioned_mb',
6
+ 'free_mb',
7
+ 'used_mb',
8
+ 'type_text',
9
+ 'location'
10
+ ]
@@ -1,28 +1,34 @@
1
- <template>
2
- <div class="disks h-full">
3
- <common-pages-backups-modals-create-backup-disks-table-view
4
- v-model:selected="model.disk_devices"
5
- :data-table="props.disks"
6
- :loading="props.disksLoading"
7
- :total-items="props.disks.length"
8
- :total-pages="1"
9
- />
10
- </div>
11
- </template>
12
-
13
- <script lang="ts" setup>
14
- import type {
15
- UI_I_CreateBackupForm,
16
- UI_I_Pvm
17
- } from "~/components/common/pages/backups/modals/lib/models/interfaces";
18
-
19
- const model = defineModel<UI_I_CreateBackupForm>({ required: true })
20
-
21
- const props = defineProps<{
22
- disks: UI_I_Pvm['disk_devices']
23
- disksLoading: boolean
24
- }>()
25
-
26
- </script>
27
-
28
- <style lang="scss" scoped></style>
1
+ <template>
2
+ <common-pages-backups-modals-create-backup-disks-old
3
+ v-if="!isNewView"
4
+ v-model="model"
5
+ :disks="props.disks"
6
+ :disks-loading="props.disksLoading"
7
+ />
8
+ <common-pages-backups-modals-create-backup-disks-new
9
+ v-else
10
+ v-model="model"
11
+ :disks="props.disks"
12
+ :disks-loading="props.disksLoading"
13
+ />
14
+ </template>
15
+
16
+ <script lang="ts" setup>
17
+ import type {
18
+ UI_I_CreateBackupForm,
19
+ UI_I_Pvm
20
+ } from "~/components/common/pages/backups/modals/lib/models/interfaces";
21
+
22
+ const model = defineModel<UI_I_CreateBackupForm>({ required: true })
23
+
24
+ const props = defineProps<{
25
+ disks: UI_I_Pvm['disk_devices']
26
+ disksLoading: boolean
27
+ }>()
28
+
29
+ const { $store }: any = useNuxtApp()
30
+
31
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
32
+ </script>
33
+
34
+ <style lang="scss" scoped></style>
@@ -0,0 +1,22 @@
1
+ <template>
2
+ <common-pages-backups-modals-create-backup-disks-table-view-new-table-view
3
+ v-model="model.disk_devices"
4
+ :disks="props.disks"
5
+ :disks-loading="props.disksLoading"
6
+ />
7
+ </template>
8
+ <script setup lang="ts">
9
+
10
+ import type { UI_I_Pvm } from '~/lib/models/store/vm/interfaces'
11
+ import type {UI_I_CreateBackupForm} from "~/components/common/pages/backups/modals/lib/models/interfaces";
12
+
13
+ const model = defineModel<UI_I_CreateBackupForm>({ required: true })
14
+
15
+ const props = defineProps<{
16
+ disks: UI_I_Pvm['disk_devices']
17
+ disksLoading: boolean
18
+ }>()
19
+ </script>
20
+ <style scoped lang="scss">
21
+
22
+ </style>
@@ -0,0 +1,28 @@
1
+ <template>
2
+ <div class="disks h-full">
3
+ <common-pages-backups-modals-create-backup-disks-table-view-old-table-view
4
+ v-model:selected="model.disk_devices"
5
+ :data-table="props.disks"
6
+ :loading="props.disksLoading"
7
+ :total-items="props.disks.length"
8
+ :total-pages="1"
9
+ />
10
+ </div>
11
+ </template>
12
+
13
+ <script lang="ts" setup>
14
+ import type {
15
+ UI_I_CreateBackupForm,
16
+ UI_I_Pvm
17
+ } from "~/components/common/pages/backups/modals/lib/models/interfaces";
18
+
19
+ const model = defineModel<UI_I_CreateBackupForm>({ required: true })
20
+
21
+ const props = defineProps<{
22
+ disks: UI_I_Pvm['disk_devices']
23
+ disksLoading: boolean
24
+ }>()
25
+
26
+ </script>
27
+
28
+ <style lang="scss" scoped></style>
@@ -0,0 +1,131 @@
1
+ <template>
2
+ <div class="disks-table">
3
+ <ui-data-table
4
+ :data="data"
5
+ :options="options"
6
+ :loading="props.disksLoading"
7
+ :total-pages="1"
8
+ :total-items="props.disks?.length"
9
+ :texts="texts"
10
+ :default-layout="false"
11
+ :skeleton="skeletonData"
12
+ size="sm"
13
+ test-id="vm-backup-disks-table"
14
+ @select-row="onSelectRow"
15
+ >
16
+ <template #icon="{ item }">
17
+ <span :class="['icon', item.data.iconClassName]"></span>
18
+ <span
19
+ :title="item.text"
20
+ class="text-ellipsis ml-1 disks-table-text"
21
+ >
22
+ {{ item.text }}
23
+ </span>
24
+ </template>
25
+ </ui-data-table>
26
+ </div>
27
+ </template>
28
+ <script setup lang="ts">
29
+
30
+ import type { UI_I_TableTexts } from '~/node_modules/bfg-uikit/components/ui/dataTable/models/interfaces'
31
+ import type {
32
+ UI_I_DataTable,
33
+ UI_I_DataTableBody,
34
+ UI_I_DataTableHeader
35
+ } from '~/node_modules/bfg-uikit/components/ui/dataTable/models/interfaces'
36
+ import type { UI_I_DataTableSkeleton } from '~/node_modules/bfg-uikit/components/ui/dataTable/models/interfaces'
37
+ import type { UI_I_Pvm } from '~/lib/models/store/vm/interfaces'
38
+ import {
39
+ getBodyDataFunc,
40
+ getHeaderDataFunc,
41
+ options
42
+ } from '~/components/common/pages/backups/modals/createBackup/disks/tableView/new/lib/config/table'
43
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
44
+ import type {
45
+ UI_I_CreateBackupFormDiskDevice
46
+ } from '~/components/common/pages/backups/modals/lib/models/interfaces'
47
+
48
+
49
+ const model = defineModel<UI_I_CreateBackupFormDiskDevice[]>({ required: true })
50
+
51
+ const props = defineProps<{
52
+ disks: UI_I_Pvm['disk_devices']
53
+ disksLoading: boolean
54
+ }>()
55
+
56
+ const { $text }: any = useNuxtApp()
57
+
58
+ const localization = computed<UI_I_Localization>(() => useLocal())
59
+
60
+ const texts = computed<UI_I_TableTexts>(() => ({
61
+ searchHere: localization.value.common.searchHere,
62
+ rowsPerPage: localization.value.common.rowsPerPage,
63
+ of: localization.value.common.of,
64
+ selected: localization.value.common.selected,
65
+ columns: localization.value.common.columns,
66
+ previous: localization.value.common.previous,
67
+ next: localization.value.common.next,
68
+ noItemsFound: localization.value.common.noItemsFound,
69
+ exportAll: localization.value.common.exportAll,
70
+ exportSelected: localization.value.common.exportSelected,
71
+ all: localization.value.common.all,
72
+ filter: localization.value.common.filter
73
+ }))
74
+ const skeletonData = ref<UI_I_DataTableSkeleton>({
75
+ columnsCount: 5,
76
+ headColumns: [],
77
+ bodyColumns: [],
78
+ withoutPagination: true,
79
+ })
80
+
81
+ const data = computed<UI_I_DataTable>(() => ({
82
+ id: 'vm-backup-disks-table',
83
+ header: headItems.value,
84
+ body: bodyItems.value,
85
+ }))
86
+
87
+ const headItems = computed<UI_I_DataTableHeader[]>(() => {
88
+ const lang = useLocalStorage('lang')
89
+
90
+ return getHeaderDataFunc(localization.value).map(item => ({
91
+ ...item,
92
+ text: lang === 'en_US' ? $text.toCapitalizeEveryWord(item.text) : item.text
93
+ }))
94
+ })
95
+
96
+ const bodyItems = ref<UI_I_DataTableBody[]>([])
97
+ watch(
98
+ () => props.disks,
99
+ (newValue) => {
100
+ if (!newValue?.length) {
101
+ bodyItems.value = []
102
+ return
103
+ }
104
+
105
+ bodyItems.value = getBodyDataFunc(newValue, localization.value, model.value)
106
+ },
107
+ { deep: true, immediate: true }
108
+ )
109
+
110
+ const onSelectRow = (value: UI_I_DataTableBody[]): void => {
111
+ model.value = value.map(item => item.data[0]?.data?.data)
112
+ }
113
+ </script>
114
+ <style scoped lang="scss">
115
+ .disks-table {
116
+ :deep(.title-container-top-info h6.title-container-top-selected-rows) {
117
+ font-size: 12px;
118
+ }
119
+ :deep(.ui-main-no-items-found span) {
120
+ font-size: 14px;
121
+ }
122
+
123
+ :deep(.title-container) {
124
+ text-transform: lowercase;
125
+ }
126
+
127
+ &-text {
128
+ font-size: 12px;
129
+ }
130
+ }
131
+ </style>