bfg-common 1.3.81 → 1.3.83

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.
@@ -2166,7 +2166,6 @@
2166
2166
  "removeNetworkPortBindingDescSecond": "Выдаленне гэтых прывязак да партоў VMkernel таксама прывядзе да выдалення ўсіх актыўных шляхоў да мэтавым аб'ектах iSCSI. Звязаныя сховішчы дадзеных стануць недаступныя. Вы хочаце адключыць гэтыя адаптары VMkernel ад iSCSI адаптараў?",
2167
2167
  "newPasswordMustDifferentOld": "Новы пароль павінен адрознівацца ад старога",
2168
2168
  "standardPortGroup": "Стандартная група партоў",
2169
- "inherited": "Успадкаваны",
2170
2169
  "toFindObjectsYouHaveAccess": "Каб знайсці аб'екты, да якіх у вас ёсць доступ, перайдзіце да",
2171
2170
  "inventoryShortcuts": "Ярлыкі інвентара",
2172
2171
  "youHavePrivilegesViewObjectDeleted": "У вас няма прывілеяў для прагляду гэтага аб'екта, інакш ён будзе выдалены.",
@@ -2191,5 +2190,10 @@
2191
2190
  "checkVmStoragePolicyCompliance": "Праверце адпаведнасць палітыцы захоўвання віртуальнай машыны",
2192
2191
  "disable2": "Адключыць",
2193
2192
  "enable2": "Уключыць",
2194
- "refresh2": "Абнавіць"
2193
+ "refresh2": "Абнавіць",
2194
+ "inherited": "Успадкаваны",
2195
+ "migrateNetworkingForAllAdapters": "Перанясіце сетку віртуальнай машыны, выбраўшы новую сетку прызначэння для ўсіх сеткавых адаптараў віртуальнай машыны, далучаных да той жа зыходнай сеткі.",
2196
+ "migrateNetworkingForEachAdapters": "Перанясіце сетку ВМ, выбраўшы новую сетку прызначэння для кожнага сеткавага адаптара ВМ.",
2197
+ "networkIsInUseAt": "{network} выкарыстоўваецца ў:",
2198
+ "editIscsiAuthenticationDescription": "Ініцыятар выкарыстоўвае гэтыя параметры для праверкі сапраўднасці для ўсіх мэтавых аб'ектаў, калі іншае не прадугледжана канкрэтнымі мэтавымі параметрамі. Пераканайцеся, што гэтыя параметры супадаюць на баку сховішчы."
2195
2199
  }
@@ -2169,7 +2169,6 @@
2169
2169
  "removeNetworkPortBindingDescSecond": "Removing these VMkernel port bindings will also remove all active paths to the iSCSI targets. The associated datastores will become unavailable. Do you want to disassociate these VMKernel adapters from the iSCSI adapters?",
2170
2170
  "standardPortGroup": "Standard port group",
2171
2171
  "newPasswordMustDifferentOld": "The new password must be different from the old one",
2172
- "inherited": "Inherited",
2173
2172
  "toFindObjectsYouHaveAccess": "To find the objects you have access to, go to",
2174
2173
  "inventoryShortcuts": "Inventory Shortcuts",
2175
2174
  "youHavePrivilegesViewObjectDeleted": "You have no privileges to view this object or it is deleted.",
@@ -2195,5 +2194,10 @@
2195
2194
  "checkVmStoragePolicyCompliance": "Check VM Storage Policy Compliance",
2196
2195
  "disable2": "Disable",
2197
2196
  "enable2": "Enable",
2198
- "refresh2": "Refresh"
2197
+ "refresh2": "Refresh",
2198
+ "inherited": "Inherited",
2199
+ "migrateNetworkingForAllAdapters": "Migrate VM networking by selecting a new destination network for all VM network adapters attached to the same source network.",
2200
+ "migrateNetworkingForEachAdapters": "Migrate VM networking by selecting a new destination network for each VM network adapter.",
2201
+ "networkIsInUseAt": "{ network } is in use at:",
2202
+ "editIscsiAuthenticationDescription": "The initiator uses these settings for authentication for all targets unless otherwise overriden by the specific target settings. Make sure that these parameters match on the storage side."
2199
2203
  }
@@ -2170,7 +2170,6 @@
2170
2170
  "standardPortGroup": "Ստանդարտ նավահանգիստների խումբ",
2171
2171
  "newPasswordMustDifferentOld": "Նոր գաղտնաբառը պետք է տարբերվի հինից",
2172
2172
  "VMKernelNetworkAdapter": "VMkernel ցանցային ադապտեր",
2173
- "inherited": "Ժառանգված",
2174
2173
  "toFindObjectsYouHaveAccess": "Օբյեկտները գտնելու համար, որոնց հասանելի եք, գնացեք",
2175
2174
  "inventoryShortcuts": "Գույքագրման դյուրանցումներ",
2176
2175
  "youHavePrivilegesViewObjectDeleted": "Դուք այս օբյեկտը դիտելու արտոնություններ չունեք, կամ այն ջնջված է:",
@@ -2195,5 +2194,10 @@
2195
2194
  "checkVmStoragePolicyCompliance": "Ստուգեք VM-ի պահպանման քաղաքականության համապատասխանությունը",
2196
2195
  "disable2": "Արգելել",
2197
2196
  "enable2": "Միացնել",
2198
- "refresh2": "Թարմացնել"
2197
+ "refresh2": "Թարմացնել",
2198
+ "inherited": "Ժառանգված",
2199
+ "migrateNetworkingForAllAdapters": "Տեղափոխեք VM ցանցը՝ ընտրելով նոր նպատակակետ ցանց բոլոր VM ցանցային ադապտերների համար, որոնք կցված են նույն աղբյուրի ցանցին:",
2200
+ "migrateNetworkingForEachAdapters": "Տեղափոխեք VM ցանցը՝ ընտրելով նոր նպատակակետ ցանց յուրաքանչյուր VM ցանցային ադապտերի համար:",
2201
+ "networkIsInUseAt": "{ network }-ն օգտագործվում է հետևյալ հասցեում՝",
2202
+ "editIscsiAuthenticationDescription": "Նախաձեռնողն օգտագործում է այս պարամետրերը ՝ բոլոր նպատակային օբյեկտների վավերականությունը ստուգելու համար, եթե այլ բան նախատեսված չէ հատուկ նպատակային պարամետրերով: Համոզվեք, որ այս ընտրանքները համընկնում են պահեստավորման կողմում:"
2199
2203
  }
@@ -2169,7 +2169,6 @@
2169
2169
  "removeNetworkPortBindingDescSecond": "Осы VMkernel порт байланыстарын жою iSCSI мақсаттарына барлық белсенді жолдарды жояды. Байланысты деректер қоймалары қолжетімсіз болады. Осы VMKernel адаптерлерін iSCSI адаптерлерінен ажыратқыңыз келе ме?",
2170
2170
  "newPasswordMustDifferentOld": "Жаңа құпия сөз ескіден өзгеше болуы керек",
2171
2171
  "standardPortGroup": "Стандартты порттар тобы",
2172
- "inherited": "Мұрагерлік",
2173
2172
  "toFindObjectsYouHaveAccess": "Қол жеткізуге болатын нысандарды табу үшін өтіңіз",
2174
2173
  "inventoryShortcuts": "Түгендеу таңбашалары",
2175
2174
  "youHavePrivilegesViewObjectDeleted": "Бұл нысанды көру құқығыңыз жоқ немесе ол жойылған.",
@@ -2194,5 +2193,10 @@
2194
2193
  "checkVmStoragePolicyCompliance": "VM сақтау саясаты сәйкестігін тексеріңіз",
2195
2194
  "disable2": "Тыйым салу",
2196
2195
  "enable2": "Қосу",
2197
- "refresh2": "Жаңарту"
2196
+ "refresh2": "Жаңарту",
2197
+ "inherited": "Мұрагерлік",
2198
+ "migrateNetworkingForAllAdapters": "Бір бастапқы желіге тіркелген барлық VM желі адаптерлері үшін жаңа тағайындалған желіні таңдау арқылы VM желісін тасымалдаңыз.",
2199
+ "migrateNetworkingForEachAdapters": "Әрбір VM желі адаптері үшін жаңа тағайындалған желіні таңдау арқылы VM желісін тасымалдаңыз.",
2200
+ "networkIsInUseAt": "{ network } мына жерде қолданылады:",
2201
+ "editIscsiAuthenticationDescription": "Бастамашы осы параметрлерді барлық мақсаттар үшін аутентификациялау үшін пайдаланады, егер нақты мақсатты параметрлермен басқаша анықталмаса. Бұл параметрлердің сақтау жағында сәйкес келетініне көз жеткізіңіз."
2198
2202
  }
@@ -2175,7 +2175,6 @@
2175
2175
  "removeNetworkPortBindingDescSecond": "Удаление этих привязок к портам VMkernel также приведет к удалению всех активных путей к целевым объектам iSCSI. Связанные хранилища данных станут недоступны. Вы хотите отключить эти адаптеры VMkernel от адаптеров iSCSI?",
2176
2176
  "newPasswordMustDifferentOld": "Новый пароль должен отличаться от старого",
2177
2177
  "standardPortGroup": "Стандартная группа портов",
2178
- "inherited": "Унаследованный",
2179
2178
  "toFindObjectsYouHaveAccess": "Чтобы найти объекты, к которым у вас есть доступ, перейдите по ссылке",
2180
2179
  "inventoryShortcuts": "Ярлыки инвентаря",
2181
2180
  "youHavePrivilegesViewObjectDeleted": "У вас нет прав на просмотр этого объекта, или он удален.",
@@ -2200,5 +2199,10 @@
2200
2199
  "checkVmStoragePolicyCompliance": "Проверьте соответствие политике хранения виртуальных машин",
2201
2200
  "disable2": "Автостарт выкл",
2202
2201
  "enable2": "Автостарт вкл",
2203
- "refresh2": "Обновить систему"
2202
+ "refresh2": "Обновить систему",
2203
+ "inherited": "Унаследованный",
2204
+ "migrateNetworkingForAllAdapters": "Перенесите сеть виртуальной машины, выбрав новую целевую сеть для всех сетевых адаптеров виртуальной машины, подключенных к той же исходной сети.",
2205
+ "migrateNetworkingForEachAdapters": "Перенесите сеть виртуальной машины, выбрав новую целевую сеть для каждого сетевого адаптера виртуальной машины.",
2206
+ "networkIsInUseAt": "{ network } используется по адресу:",
2207
+ "editIscsiAuthenticationDescription": "Инициатор использует эти параметры для проверки подлинности для всех целевых объектов, если иное не предусмотрено конкретными целевыми параметрами. Убедитесь, что эти параметры совпадают на стороне хранилища."
2204
2208
  }
@@ -2169,7 +2169,6 @@
2169
2169
  "removeNetworkPortBindingDescSecond": "删除这些VMkernel端口绑定还将删除iSCSI目标的所有活动路径。 关联的数据存储将变得不可用。 是否要取消这些VMKernel适配器与iSCSI适配器的关联?",
2170
2170
  "newPasswordMustDifferentOld": "新密码必须与旧密码不同",
2171
2171
  "standardPortGroup": "继承的",
2172
- "inherited": "继承",
2173
2172
  "toFindObjectsYouHaveAccess": "要查找您有权访问的对象,请转至",
2174
2173
  "inventoryShortcuts": "库存快捷方式",
2175
2174
  "youHavePrivilegesViewObjectDeleted": "您无权查看该对象,或者该对象已被删除。",
@@ -2194,5 +2193,10 @@
2194
2193
  "checkVmStoragePolicyCompliance": "检查虚拟机存储策略合规性",
2195
2194
  "disable2": "禁止",
2196
2195
  "enable2": "打开",
2197
- "refresh2": "刷新"
2196
+ "refresh2": "刷新",
2197
+ "inherited": "继承",
2198
+ "migrateNetworkingForAllAdapters": "通过为连接到同一源网络的所有 VM 网络适配器选择新的目标网络来迁移 VM 网络。",
2199
+ "migrateNetworkingForEachAdapters": "通过为每个 VM 网络适配器选择新的目标网络来迁移 VM 网络。",
2200
+ "networkIsInUseAt": "{ 网络 } 正在使用:",
2201
+ "editIscsiAuthenticationDescription": "启动器使用这些设置对所有目标进行身份验证,除非特定目标设置另有复盖。 确保这些参数在存储端匹配。"
2198
2202
  }
@@ -3,7 +3,7 @@
3
3
  <common-wizards-vm-migrate-select-network-table-disk
4
4
  v-model="selected"
5
5
  :type="tableType"
6
- :data-table="[]"
6
+ :networks="[]"
7
7
  />
8
8
 
9
9
  <div class="vm-migrate-advanced-view-button">
@@ -11,9 +11,9 @@
11
11
  class="btn btn-sm migrate-network-advanced-btn"
12
12
  @click="isShowNetworkBasic = !isShowNetworkBasic"
13
13
  >
14
- <span v-if="isShowNetworkBasic"> &#x226A; </span>
14
+ <span v-if="!isShowNetworkBasic"> &#x226A; </span>
15
15
  {{ buttonText }}
16
- <span v-if="!isShowNetworkBasic"> &#8811; </span>
16
+ <span v-if="isShowNetworkBasic"> &#8811; </span>
17
17
  </button>
18
18
  </div>
19
19
 
@@ -30,11 +30,11 @@ import type { UI_I_Localization } from '~/lib/models/interfaces'
30
30
 
31
31
  const localization = computed<UI_I_Localization>(() => useLocal())
32
32
 
33
- const selected = ref<number[]>([])
34
- const isShowNetworkBasic = ref<boolean>(false)
33
+ const selected = ref<number | null>(null)
34
+ const isShowNetworkBasic = ref<boolean>(true)
35
35
 
36
36
  const buttonText = computed(
37
- () => localization.value[isShowNetworkBasic.value ? 'basic' : 'advanced']
37
+ () => localization.value[isShowNetworkBasic.value ? 'advanced' : 'basic']
38
38
  )
39
39
 
40
40
  const tableType = computed<string>(() =>
@@ -1,20 +1,35 @@
1
1
  <template>
2
2
  <div class="table-wrap">
3
3
  <atoms-table-data-grid
4
- v-model:selected-row="selectedRow"
4
+ v-model:selected-row="selectedNetworkLocal"
5
5
  v-model:column-keys="columnKeys"
6
6
  v-model:page-size="pagination.pageSize"
7
7
  v-model:page="pagination.page"
8
- type="checkbox"
9
8
  :head-items="headItems"
10
9
  :body-items="bodyItems"
11
10
  :total-items="bodyItems.length"
12
11
  :total-pages="1"
12
+ class="select-network"
13
13
  server-off
14
14
  hide-footer
15
15
  hide-page-size
16
- @sorting="sorting"
17
16
  >
17
+ <template #select="{ item }">
18
+ <span class="select select-network__select">
19
+ <select
20
+ :id="item.data.id"
21
+ v-model="item.data.value"
22
+ :disabled="item.data.disabled"
23
+ >
24
+ <option
25
+ v-for="option in item.data.option"
26
+ :key="option"
27
+ :value="option"
28
+ :label="option"
29
+ />
30
+ </select>
31
+ </span>
32
+ </template>
18
33
  </atoms-table-data-grid>
19
34
  </div>
20
35
  </template>
@@ -27,20 +42,26 @@ import type {
27
42
  UI_I_HeadItem,
28
43
  UI_I_BodyItem,
29
44
  } from '~/components/atoms/table/dataGrid/lib/models/interfaces'
45
+ import type { UI_T_MigrateSelectNetwork } from '~/components/common/wizards/vm/migrate/select/network/table/disk/lib/models/types'
30
46
  import * as basicTable from '~/components/common/wizards/vm/migrate/select/network/table/disk/lib/config/basicTable'
31
47
  import * as advancedTable from '~/components/common/wizards/vm/migrate/select/network/table/disk/lib/config/advancedTable'
32
48
 
33
49
  const props = defineProps<{
34
- modelValue: number[]
35
- dataTable: any[]
50
+ modelValue: number | null
51
+ networks: UI_T_MigrateSelectNetwork[]
36
52
  type: 'basic' | 'advanced'
37
53
  }>()
38
54
  const emits = defineEmits<{
39
- (event: 'update:model-value', value: number[] | null): void
55
+ (event: 'update:model-value', value: number | null): void
40
56
  }>()
41
57
 
42
58
  const localization = computed<UI_I_Localization>(() => useLocal())
43
59
 
60
+ const pagination = ref<UI_I_Pagination>({
61
+ page: 1,
62
+ pageSize: 100,
63
+ })
64
+
44
65
  const table: any = {
45
66
  basic: basicTable,
46
67
  advanced: advancedTable,
@@ -57,29 +78,28 @@ watch(localization, () => {
57
78
  })
58
79
 
59
80
  const bodyItems = computed<UI_I_BodyItem[][]>(() => {
60
- return table[props.type].bodyItems(props.dataTable)
81
+ return table[props.type].bodyItems(props.networks)
61
82
  })
62
83
 
63
- const sort = ref<string | null>(null)
64
- const pagination = ref<UI_I_Pagination>({
65
- page: 1,
66
- pageSize: 100,
67
- })
68
-
69
- const sorting = (data: [string, boolean]): void => {
70
- const [column, status] = data
71
- const direction = status ? 'asc' : 'desc'
72
- sort.value = `${column}.${direction}`
73
- }
74
-
75
- const selectedRow = computed<number[]>({
84
+ const selectedNetworkLocal = computed<number | null>({
76
85
  get() {
77
86
  return props.modelValue
78
87
  },
79
- set(newValue: number[]) {
88
+ set(newValue: number | null) {
80
89
  emits('update:model-value', newValue)
81
90
  },
82
91
  })
83
92
  </script>
84
93
 
85
- <style lang="scss" scoped></style>
94
+ <style lang="scss" scoped>
95
+ .select-network {
96
+ &__select {
97
+ width: 100%;
98
+ height: 24px;
99
+ min-width: 107px;
100
+ & > select {
101
+ height: 100%;
102
+ }
103
+ }
104
+ }
105
+ </style>
@@ -1,13 +1,10 @@
1
1
  import type {
2
- UI_I_ColumnKey,
3
2
  UI_I_HeadItem,
4
3
  UI_I_BodyItem,
5
4
  } from '~/components/atoms/table/dataGrid/lib/models/interfaces'
6
5
  import type { UI_I_Localization } from '~/lib/models/interfaces'
7
- import {
8
- constructColumnKey,
9
- constructHeadItem,
10
- } from '~/components/atoms/table/dataGrid/lib/utils/constructDataTable'
6
+ import { constructHeadItem } from '~/components/atoms/table/dataGrid/lib/utils/constructDataTable'
7
+ import type { UI_I_MigrateSelectNetworkAdvancedItem } from '~/components/common/wizards/vm/migrate/select/network/table/disk/lib/models/interfaces'
11
8
  import { networkAdvancedTableItemKeys } from '~/components/common/wizards/vm/migrate/select/network/table/disk/lib/config/tableKeys'
12
9
 
13
10
  const getItems = (
@@ -26,52 +23,53 @@ const getItems = (
26
23
  ]
27
24
  }
28
25
 
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
- const col = `col${i}`
35
- result.push(constructColumnKey(col, item[0], item[1]))
36
- })
37
- return result
38
- }
39
-
40
26
  export const headItems = (localization: UI_I_Localization): UI_I_HeadItem[] => {
41
27
  const result: UI_I_HeadItem[] = []
42
28
  getItems(localization).forEach((item, i) => {
43
- const col = `col${i}`
44
- result.push(constructHeadItem(col, item[0], item[3], true, item[2]))
29
+ const col = i === 3 ? 'select' : `col${i}`
30
+ result.push(constructHeadItem(col, item[0], item[3], false, item[2]))
45
31
  })
46
32
  return result
47
33
  }
48
34
 
49
- export const bodyItems = (data: any[]): UI_I_BodyItem[][] => {
35
+ export const bodyItems = (
36
+ data: UI_I_MigrateSelectNetworkAdvancedItem[]
37
+ ): UI_I_BodyItem[][] => {
50
38
  const bodyItems: UI_I_BodyItem[][] = []
51
39
 
52
- data.forEach((storage: any, key: number) => {
53
- bodyItems.push([
54
- {
55
- key: 'col0',
56
- text: storage[networkAdvancedTableItemKeys[0]],
57
- id: key,
58
- },
59
- {
60
- key: 'col1',
61
- text: storage[networkAdvancedTableItemKeys[1]],
62
- id: key,
63
- },
64
- {
65
- key: 'col2',
66
- text: storage[networkAdvancedTableItemKeys[2]],
67
- id: key,
68
- },
69
- {
70
- key: 'col3',
71
- text: storage[networkAdvancedTableItemKeys[3]],
72
- id: key,
73
- },
74
- ])
75
- })
40
+ data.forEach(
41
+ (network: UI_I_MigrateSelectNetworkAdvancedItem, key: number) => {
42
+ const data = {
43
+ id: `${network.vm_name}-select`,
44
+ disabled: false,
45
+ value: network.destination_network[0],
46
+ option: network.destination_network,
47
+ }
48
+
49
+ bodyItems.push([
50
+ {
51
+ key: 'col0',
52
+ text: network[networkAdvancedTableItemKeys[0]],
53
+ id: key,
54
+ },
55
+ {
56
+ key: 'col1',
57
+ text: network[networkAdvancedTableItemKeys[1]],
58
+ id: key,
59
+ },
60
+ {
61
+ key: 'col2',
62
+ text: network[networkAdvancedTableItemKeys[2]],
63
+ id: key,
64
+ },
65
+ {
66
+ key: 'select',
67
+ text: network[networkAdvancedTableItemKeys[3]],
68
+ data,
69
+ id: key,
70
+ },
71
+ ])
72
+ }
73
+ )
76
74
  return bodyItems
77
75
  }
@@ -1,13 +1,10 @@
1
1
  import type {
2
- UI_I_ColumnKey,
3
2
  UI_I_HeadItem,
4
3
  UI_I_BodyItem,
5
4
  } from '~/components/atoms/table/dataGrid/lib/models/interfaces'
6
5
  import type { UI_I_Localization } from '~/lib/models/interfaces'
7
- import {
8
- constructColumnKey,
9
- constructHeadItem,
10
- } from '~/components/atoms/table/dataGrid/lib/utils/constructDataTable'
6
+ import { constructHeadItem } from '~/components/atoms/table/dataGrid/lib/utils/constructDataTable'
7
+ import type { UI_I_MigrateSelectNetworkBasicItem } from '~/components/common/wizards/vm/migrate/select/network/table/disk/lib/models/interfaces'
11
8
  import { networkBasicsTableItemKeys } from '~/components/common/wizards/vm/migrate/select/network/table/disk/lib/config/tableKeys'
12
9
 
13
10
  const getItems = (
@@ -25,44 +22,43 @@ const getItems = (
25
22
  ]
26
23
  }
27
24
 
28
- export const columnKeys = (
29
- localization: UI_I_Localization
30
- ): UI_I_ColumnKey[] => {
31
- const result: UI_I_ColumnKey[] = []
32
- getItems(localization).forEach((item, i) => {
33
- const col = `col${i}`
34
- result.push(constructColumnKey(col, item[0], item[1]))
35
- })
36
- return result
37
- }
38
-
39
25
  export const headItems = (localization: UI_I_Localization): UI_I_HeadItem[] => {
40
26
  const result: UI_I_HeadItem[] = []
41
27
  getItems(localization).forEach((item, i) => {
42
- const col = `col${i}`
43
- result.push(constructHeadItem(col, item[0], item[3], true, item[2]))
28
+ const col = i === 2 ? 'select' : `col${i}`
29
+ result.push(constructHeadItem(col, item[0], item[3], false, item[2]))
44
30
  })
45
31
  return result
46
32
  }
47
33
 
48
- export const bodyItems = (data: any[]): UI_I_BodyItem[][] => {
34
+ export const bodyItems = (
35
+ data: UI_I_MigrateSelectNetworkBasicItem[]
36
+ ): UI_I_BodyItem[][] => {
49
37
  const bodyItems: UI_I_BodyItem[][] = []
50
38
 
51
- data.forEach((storage: any, key: number) => {
39
+ data.forEach((network: UI_I_MigrateSelectNetworkBasicItem, key: number) => {
40
+ const data = {
41
+ id: `${network.source_network}-select`,
42
+ disabled: false,
43
+ value: network.destination_network[0],
44
+ option: network.destination_network,
45
+ }
46
+
52
47
  bodyItems.push([
53
48
  {
54
49
  key: 'col0',
55
- text: storage[networkBasicsTableItemKeys[0]],
50
+ text: network[networkBasicsTableItemKeys[0]],
56
51
  id: key,
57
52
  },
58
53
  {
59
54
  key: 'col1',
60
- text: storage[networkBasicsTableItemKeys[1]],
55
+ text: network[networkBasicsTableItemKeys[1]],
61
56
  id: key,
62
57
  },
63
58
  {
64
- key: 'col2',
65
- text: storage[networkBasicsTableItemKeys[2]],
59
+ key: 'select',
60
+ text: network[networkBasicsTableItemKeys[2]],
61
+ data,
66
62
  id: key,
67
63
  },
68
64
  ])
@@ -1,10 +1,13 @@
1
1
  import type {
2
- UI_T_NetworkBasicsTableTableKeysTuple,
2
+ UI_T_NetworkBasicsTableKeysTuple,
3
3
  UI_T_NetworkAdvancedTableKeysTuple,
4
4
  } from '~/components/common/wizards/vm/migrate/select/network/table/disk/lib/models/types'
5
5
 
6
- export const networkBasicsTableItemKeys: UI_T_NetworkBasicsTableTableKeysTuple =
7
- ['source_network', 'used_by', 'destination_network']
6
+ export const networkBasicsTableItemKeys: UI_T_NetworkBasicsTableKeysTuple = [
7
+ 'source_network',
8
+ 'used_by',
9
+ 'destination_network',
10
+ ]
8
11
 
9
12
  export const networkAdvancedTableItemKeys: UI_T_NetworkAdvancedTableKeysTuple =
10
13
  ['vm_name', 'network_adapter', 'source_network', 'destination_network']
@@ -1 +1,12 @@
1
+ export interface UI_I_MigrateSelectNetworkBasicItem {
2
+ source_network: string
3
+ used_by: string
4
+ destination_network: string
5
+ }
1
6
 
7
+ export interface UI_I_MigrateSelectNetworkAdvancedItem {
8
+ vm_name: string
9
+ network_adapter: string
10
+ source_network: string
11
+ destination_network: string
12
+ }
@@ -1,3 +1,8 @@
1
+ import type {
2
+ UI_I_MigrateSelectNetworkBasicItem,
3
+ UI_I_MigrateSelectNetworkAdvancedItem,
4
+ } from '~/components/common/wizards/vm/migrate/select/network/table/disk/lib/models/interfaces'
5
+
1
6
  export type UI_T_NetworkAdvancedTableKeysTuple = [
2
7
  'vm_name',
3
8
  'network_adapter',
@@ -5,8 +10,12 @@ export type UI_T_NetworkAdvancedTableKeysTuple = [
5
10
  'destination_network'
6
11
  ]
7
12
 
8
- export type UI_T_NetworkBasicsTableTableKeysTuple = [
13
+ export type UI_T_NetworkBasicsTableKeysTuple = [
9
14
  'source_network',
10
15
  'used_by',
11
16
  'destination_network'
12
17
  ]
18
+
19
+ export type UI_T_MigrateSelectNetwork =
20
+ | UI_I_MigrateSelectNetworkBasicItem
21
+ | UI_I_MigrateSelectNetworkAdvancedItem
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bfg-common",
3
3
  "private": false,
4
- "version": "1.3.81",
4
+ "version": "1.3.83",
5
5
  "scripts": {
6
6
  "build": "nuxt build",
7
7
  "dev": "nuxt dev --port=3002",
@@ -28,6 +28,27 @@ export default defineNuxtPlugin(() => {
28
28
  }
29
29
  return result
30
30
  }
31
+ self.findParentNodeByType = function (
32
+ node: any,
33
+ types: string[],
34
+ valueProp: string,
35
+ parentProp: string
36
+ ) {
37
+ if (!node[parentProp] || types.includes(node[valueProp])) {
38
+ return node
39
+ }
40
+
41
+ if (types.includes(node[parentProp][valueProp])) {
42
+ return node[parentProp]
43
+ }
44
+
45
+ return self.findParentNodeByType(
46
+ node[parentProp],
47
+ types,
48
+ valueProp,
49
+ parentProp
50
+ )
51
+ }
31
52
 
32
53
  self.findAndShow = function (
33
54
  arr: any[],
@@ -214,7 +235,8 @@ export default defineNuxtPlugin(() => {
214
235
 
215
236
  if (node[valueProp] === value) return node
216
237
  const parent = node[parentProp]
217
- if (parent) return self.findParentByValue(parent, value, valueProp, parentProp)
238
+ if (parent)
239
+ return self.findParentByValue(parent, value, valueProp, parentProp)
218
240
 
219
241
  return null
220
242
  }