bfg-common 1.4.198 → 1.4.200

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.
@@ -2628,6 +2628,15 @@
2628
2628
  "logoutDescription": "Вы ўпэўнены, што хочаце выйсці з Zabbix Server?",
2629
2629
  "vmDisk": "Дыск ВМ",
2630
2630
  "vmMemory": "Памяць ВМ",
2631
- "vmCpu": "Працэсар ВМ"
2631
+ "vmCpu": "Працэсар ВМ",
2632
+ "createdHosts": "Створаны хасты",
2633
+ "availableZabbixServer": "Даступна на серверы Zabbix",
2634
+ "addNew": "Дадаць новы",
2635
+ "main": "Асноўны",
2636
+ "useIp": "Выкарыстоўвайце IP",
2637
+ "ip": "IP",
2638
+ "hostIp": "IP хаста",
2639
+ "groupId": "ID групы",
2640
+ "editHost": "Рэдагаваць хост"
2632
2641
  }
2633
2642
  }
@@ -2632,6 +2632,15 @@
2632
2632
  "logoutDescription": "Are you sure you want to log out from Zabbix Server?",
2633
2633
  "vmDisk": "VM Disk",
2634
2634
  "vmMemory": "VM Memory",
2635
- "vmCpu": "VM Cpu"
2635
+ "vmCpu": "VM Cpu",
2636
+ "createdHosts": "Created Hosts",
2637
+ "availableZabbixServer": "Available in Zabbix Server",
2638
+ "addNew": "Add New",
2639
+ "main": "Main",
2640
+ "useIp": "Use IP",
2641
+ "ip": "IP",
2642
+ "hostIp": "Host IP",
2643
+ "groupId": "Group ID",
2644
+ "editHost": "Edit Host"
2636
2645
  }
2637
2646
  }
@@ -2632,6 +2632,15 @@
2632
2632
  "logoutDescription": "Վստա՞հ եք, որ ցանկանում եք դուրս գալ Zabbix սերվերից:",
2633
2633
  "vmDisk": "VM սկավառակ",
2634
2634
  "vmMemory": "VM հիշողություն",
2635
- "vmCpu": "VM պրոցեսոր"
2635
+ "vmCpu": "VM պրոցեսոր",
2636
+ "createdHosts": "Ստեղծված Հոսթեր",
2637
+ "availableZabbixServer": "Հասանելի է Zabbix սերվերում",
2638
+ "addNew": "Ավելացնել նոր",
2639
+ "main": "Հիմնական",
2640
+ "useIp": "Օգտագործվող IP",
2641
+ "ip": "IP",
2642
+ "hostIp": "Հոսթի IP",
2643
+ "groupId": "Խմբի ID",
2644
+ "editHost": "Խմբագրել Հոսթ"
2636
2645
  }
2637
2646
  }
@@ -2631,6 +2631,15 @@
2631
2631
  "logoutDescription": "Zabbix серверінен шынымен шыққыңыз келе ме?",
2632
2632
  "vmDisk": "VM дискі",
2633
2633
  "vmMemory": "VM жады",
2634
- "vmCpu": "VM Cpu"
2634
+ "vmCpu": "VM Cpu",
2635
+ "createdHosts": "Жасалған хосттар",
2636
+ "availableZabbixServer": "Zabbix серверінде қол жетімді",
2637
+ "addNew": "Жаңа қосу",
2638
+ "main": "Негізгі",
2639
+ "useIp": "IP пайдаланыңыз",
2640
+ "ip": "IP",
2641
+ "hostIp": "Хост IP",
2642
+ "groupId": "Топ идентификаторы",
2643
+ "editHost": "Хостты өңдеу"
2635
2644
  }
2636
2645
  }
@@ -2634,6 +2634,15 @@
2634
2634
  "logoutDescription": "Вы уверены, что хотите выйти из Zabbix Server?",
2635
2635
  "vmDisk": "Диск ВМ",
2636
2636
  "vmMemory": "Память ВМ",
2637
- "vmCpu": "Процессор ВМ"
2637
+ "vmCpu": "Процессор ВМ",
2638
+ "createdHosts": "Созданные хосты",
2639
+ "availableZabbixServer": "Доступно на Zabbix сервере",
2640
+ "addNew": "Добавить",
2641
+ "main": "Основной",
2642
+ "useIp": "Использовать IP",
2643
+ "ip": "IP",
2644
+ "hostIp": "IP-адрес хоста",
2645
+ "groupId": "Идентификатор группы",
2646
+ "editHost": "Изменить хост"
2638
2647
  }
2639
2648
  }
@@ -2630,6 +2630,15 @@
2630
2630
  "logoutDescription": "您确定要从 Zabbix Server 注销吗?",
2631
2631
  "vmDisk": "虚拟机磁盘",
2632
2632
  "vmMemory": "虚拟机内存",
2633
- "vmCpu": "虚拟机CPU"
2633
+ "vmCpu": "虚拟机CPU",
2634
+ "createdHosts": "创建的主机",
2635
+ "availableZabbixServer": "在 Zabbix 服务器中可用",
2636
+ "addNew": "添加新内容",
2637
+ "main": "主要的",
2638
+ "useIp": "使用IP",
2639
+ "ip": "IP",
2640
+ "hostIp": "主机IP",
2641
+ "groupId": "组号",
2642
+ "editHost": "编辑主机"
2634
2643
  }
2635
2644
  }
@@ -356,6 +356,35 @@
356
356
  </g>
357
357
  </svg>
358
358
  </template>
359
+ <template v-else-if="props.name === 'adapter-error'">
360
+ <svg
361
+ xmlns="http://www.w3.org/2000/svg"
362
+ xmlns:xlink="http://www.w3.org/1999/xlink"
363
+ fill="#f84e30"
364
+ version="1.1"
365
+ class="has-solid"
366
+ preserveAspectRatio="xMidYMid meet"
367
+ focusable="false"
368
+ role="img"
369
+ viewBox="3 3 30 30"
370
+ >
371
+ <path
372
+ class="clr-i-outline clr-i-outline-path-1"
373
+ d="M18,6A12,12,0,1,0,30,18,12,12,0,0,0,18,6Zm0,22A10,10,0,1,1,28,18,10,10,0,0,1,18,28Z"
374
+ />
375
+ <path
376
+ class="clr-i-outline clr-i-outline-path-2"
377
+ d="M18,20.07a1.3,1.3,0,0,1-1.3-1.3v-6a1.3,1.3,0,1,1,2.6,0v6A1.3,1.3,0,0,1,18,20.07Z"
378
+ />
379
+ <circle
380
+ class="clr-i-outline clr-i-outline-path-3"
381
+ cx="17.95"
382
+ cy="23.02"
383
+ r="1.5"
384
+ />
385
+ </svg>
386
+ </template>
387
+ <template v-else><span></span></template>
359
388
  </template>
360
389
 
361
390
  <script setup lang="ts">
@@ -40,7 +40,7 @@
40
40
  </foreignObject>
41
41
 
42
42
  <foreignObject
43
- v-if="!props.adapter.carrier"
43
+ v-if="!props.adapter.carrier && props.adapter.status !== 'error'"
44
44
  data-title="adapter-connection-icon"
45
45
  width="18"
46
46
  height="18"
@@ -50,6 +50,17 @@
50
50
  <atoms-diagram-icon name="adapter-carrier" />
51
51
  </foreignObject>
52
52
 
53
+ <foreignObject
54
+ v-if="props.adapter.status === 'error'"
55
+ data-title="adapter-connection-icon"
56
+ width="15"
57
+ height="15"
58
+ x="447"
59
+ :y="adapterSelectionPosition"
60
+ >
61
+ <atoms-diagram-icon name="adapter-error" />
62
+ </foreignObject>
63
+
53
64
  <common-diagram-main-highlights
54
65
  data-title="adapter-item-line"
55
66
  type="line-orange"
@@ -76,6 +87,7 @@
76
87
  </foreignObject>
77
88
 
78
89
  <foreignObject
90
+ v-if="props.adapter.status !== 'error'"
79
91
  data-title="adapter-action-icon"
80
92
  width="18"
81
93
  height="18"
@@ -97,7 +109,7 @@
97
109
  </foreignObject>
98
110
 
99
111
  <foreignObject
100
- v-if="props.adapter.carrier"
112
+ v-if="props.adapter.carrier && props.adapter.status !== 'error'"
101
113
  data-title="adapter-second-connected-icon"
102
114
  width="18"
103
115
  height="18"
@@ -110,7 +122,7 @@
110
122
  </foreignObject>
111
123
 
112
124
  <foreignObject
113
- v-else
125
+ v-if="!props.adapter.carrier && props.adapter.status !== 'error'"
114
126
  data-title="adapter-second-not-connected-icon"
115
127
  width="18"
116
128
  height="18"
@@ -127,6 +139,7 @@
127
139
  <script setup lang="ts">
128
140
  import {
129
141
  UI_I_Adapter,
142
+ UI_I_AdapterWithError,
130
143
  UI_I_ModalsInitialData,
131
144
  UI_I_SelectedAdapter,
132
145
  UI_I_SelectedPort,
@@ -137,7 +150,7 @@ import { adapterPopupFieldsFunc } from '~/components/common/diagramMain/modals/l
137
150
  import { dataForSelectedAdapterFunc } from '~/components/common/diagramMain/lib/config'
138
151
 
139
152
  const props = defineProps<{
140
- adapter: UI_I_Adapter & { adapterPosition: number }
153
+ adapter: (UI_I_Adapter | UI_I_AdapterWithError) & { adapterPosition: number }
141
154
  selectedPort: UI_I_SelectedPort
142
155
  selectedAdapter: UI_I_SelectedAdapter
143
156
  networksWithPositions: UI_I_NetworksWithPositions[]
@@ -41,7 +41,7 @@ export interface UI_I_Adapter {
41
41
 
42
42
  export interface UI_I_PhysicalAdapters {
43
43
  toggle: boolean
44
- adapters: UI_I_Adapter[]
44
+ adapters: (UI_I_Adapter | UI_I_AdapterWithError)[]
45
45
  }
46
46
  export interface UI_I_MainRectHeights {
47
47
  networksHeight: number
@@ -341,6 +341,11 @@ export interface UI_I_AdapterStatus {
341
341
  inherit?: boolean
342
342
  }
343
343
 
344
+ export interface UI_I_AdapterNameWithStatus {
345
+ adapterName: string
346
+ status: string
347
+ }
348
+
344
349
  export interface UI_I_SwitchPropertiesFields {
345
350
  mtu: number
346
351
  num_ports: string
@@ -445,6 +450,18 @@ export interface UI_I_ModalsInitialData<T = string | number | boolean> {
445
450
  tcpIp?: string
446
451
  }
447
452
 
453
+ export interface UI_I_AdapterWithError {
454
+ name: string
455
+ id: string
456
+ testId: string
457
+ fullName: string
458
+ state: UI_I_State
459
+ carrier: boolean
460
+ networks: string[]
461
+ switch: string
462
+ status: string
463
+ }
464
+
448
465
  export interface UI_I_SwitchAdapterItem {
449
466
  name: string
450
467
  id: string
@@ -466,6 +483,12 @@ export interface UI_I_SwitchAdapterItem {
466
483
  mac: string
467
484
  }
468
485
 
486
+ export interface UI_I_AvailableAdapters {
487
+ activeAdapters: string[]
488
+ standbyAdapters: string[]
489
+ unusedAdapters: string[]
490
+ }
491
+
469
492
  export interface API_UI_I_SwitchAdapterItem {
470
493
  id: string
471
494
  state: UI_I_State
@@ -1,4 +1,7 @@
1
- import type { UI_I_Adapter } from '~/components/common/diagramMain/lib/models/interfaces'
1
+ import type {
2
+ UI_I_Adapter,
3
+ UI_I_AdapterWithError,
4
+ } from '~/components/common/diagramMain/lib/models/interfaces'
2
5
 
3
6
  export type UI_T_AdapterStatusNames = 'active' | 'standby' | 'unused'
4
7
  export type UI_T_PropertiesFieldName = 'vlanId' | 'networkLabel'
@@ -13,4 +16,6 @@ export type UI_T_LoadBalancingMode =
13
16
  export type UI_T_IYN = 'inherit' | 'yes' | 'no'
14
17
  export type UI_T_Carier = 'inherit' | 'carier' | 'beakon'
15
18
 
16
- export type UI_T_Adapters = UI_I_Adapter & { adapterPosition: number }
19
+ export type UI_T_Adapters = (UI_I_Adapter | UI_I_AdapterWithError) & {
20
+ adapterPosition: number
21
+ }
@@ -1,3 +1,4 @@
1
+ import type { UI_I_ItemsWithTotalCounts } from '~/lib/models/interfaces'
1
2
  import type {
2
3
  UI_I_Network,
3
4
  UI_I_SelectedPort,
@@ -10,6 +11,9 @@ import type {
10
11
  UI_I_AdaptersPositions,
11
12
  UI_I_AdapterStatus,
12
13
  API_UI_I_SwitchItem,
14
+ UI_I_AvailableAdapters,
15
+ UI_I_SwitchAdapterItem,
16
+ UI_I_AdapterWithError,
13
17
  } from '~/components/common/diagramMain/lib/models/interfaces'
14
18
  import type { UI_T_Adapters } from '~/components/common/diagramMain/lib/models/types'
15
19
  import {
@@ -276,3 +280,52 @@ export const makeSwitchSendData = (
276
280
  },
277
281
  }
278
282
  }
283
+
284
+ export const getAvailableAdapters = (
285
+ nics: UI_I_ItemsWithTotalCounts<UI_I_SwitchAdapterItem>,
286
+ networkOrSwitchNics: UI_I_AdapterStatus
287
+ ): UI_I_AvailableAdapters => {
288
+ const availableAdapters: UI_I_AvailableAdapters = {
289
+ activeAdapters: [],
290
+ standbyAdapters: [],
291
+ unusedAdapters: [],
292
+ }
293
+
294
+ if (nics?.items) {
295
+ networkOrSwitchNics?.active?.forEach(
296
+ (nic) =>
297
+ nics?.items.find(
298
+ (a: UI_I_SwitchAdapterItem): boolean => a.id === nic
299
+ ) && availableAdapters.activeAdapters.push(nic)
300
+ )
301
+ networkOrSwitchNics?.standby?.forEach(
302
+ (nic) =>
303
+ nics?.items.find(
304
+ (a: UI_I_SwitchAdapterItem): boolean => a.id === nic
305
+ ) && availableAdapters.standbyAdapters.push(nic)
306
+ )
307
+ networkOrSwitchNics?.unused?.forEach(
308
+ (nic) =>
309
+ nics?.items.find(
310
+ (a: UI_I_SwitchAdapterItem): boolean => a.id === nic
311
+ ) && availableAdapters.unusedAdapters.push(nic)
312
+ )
313
+ }
314
+
315
+ return availableAdapters
316
+ }
317
+
318
+ export const createAdapterWithError = (
319
+ nic: string,
320
+ switchId: string
321
+ ): UI_I_AdapterWithError => ({
322
+ fullName: nic,
323
+ id: nic,
324
+ name: nic,
325
+ networks: [],
326
+ state: { state: 1, errors: [] },
327
+ switch: switchId,
328
+ testId: `adapter-${nic}`,
329
+ carrier: false,
330
+ status: 'error',
331
+ })
@@ -93,7 +93,7 @@ import type {
93
93
  } from '~/components/common/diagramMain/lib/models/interfaces'
94
94
  import type { UI_T_PropertiesFieldName } from '~/components/common/diagramMain/lib/models/types'
95
95
  import { validationMessagesArrayFunc } from '~/components/common/diagramMain/modals/lib/utils'
96
- import { vlanIdSelectData } from '~/components/common/wizards/network/add/lib/config'
96
+ import { vlanIdSelectData } from '~/components/common/wizards/network/add/lib/config/config'
97
97
 
98
98
  // Props from up
99
99
  const props = withDefaults(
@@ -94,7 +94,7 @@ import type {
94
94
  } from '~/lib/models/interfaces'
95
95
  import type { UI_I_ConnectionSettings } from '~/components/common/wizards/network/add/lib/models/interfaces'
96
96
  import type { UI_I_ErrorFields } from '~/components/atoms/wizard/lib/models/interfaces'
97
- import { vlanIdSelectData } from '~/components/common/wizards/network/add/lib/config'
97
+ import { vlanIdSelectData } from '~/components/common/wizards/network/add/lib/config/config'
98
98
  import type Wizard from '~/components/atoms/wizard/lib/utils/utils'
99
99
  import {
100
100
  validateNetworkConnectionSettingsLocal,
@@ -128,14 +128,16 @@ import {
128
128
  UI_I_SwitchAdapterItem,
129
129
  UI_I_DiagramData,
130
130
  API_UI_I_SwitchItem,
131
+ UI_I_AvailableAdapters,
131
132
  } from '~/components/common/diagramMain/lib/models/interfaces'
133
+ import { getAvailableAdapters } from '~/components/common/diagramMain/lib/utils/utils'
132
134
  import {
133
135
  UI_I_ValidationReturn,
134
136
  UI_I_WizardStep,
135
137
  UI_I_WizardStepNavigation,
136
138
  } from '~/components/atoms/wizard/lib/models/interfaces'
137
139
  import { UI_E_ValidationFields } from '~/components/common/wizards/network/add/lib/models/enums'
138
- import { getVlanId } from '~/components/common/wizards/network/add/lib/utils'
140
+ import { getVlanId } from '~/components/common/wizards/network/add/lib/utils/utils'
139
141
  import Wizard from '~/components/atoms/wizard/lib/utils/utils'
140
142
  import {
141
143
  createZeroSchemeReadyCompleteFunc,
@@ -152,7 +154,7 @@ import {
152
154
  addNetworkingZeroOrFirstSchemeDataFunc,
153
155
  addNetworkingSecondOrThirdSchemeDataFunc,
154
156
  addNetworkingFourthOrFifthSchemeDataFunc,
155
- } from '~/components/common/wizards/network/add/lib/config'
157
+ } from '~/components/common/wizards/network/add/lib/config/config'
156
158
  import {
157
159
  checkTargetDeviceSync,
158
160
  checkAdaptersSync,
@@ -310,7 +312,10 @@ let flagSwitch = ''
310
312
  // Choosing Scheme
311
313
  watch(
312
314
  [connectionTypeLocal, targetDevice],
313
- (newValues, oldValues) => {
315
+ (
316
+ newValues: [string, UI_I_TargetDevice],
317
+ oldValues: [string, UI_I_TargetDevice]
318
+ ) => {
314
319
  const newCT = newValues[0] // -> newConnectionType
315
320
  const oldCT = oldValues[0] // -> oldConnectionType
316
321
  const newTD = newValues[1] // -> newTargetDevice
@@ -366,14 +371,20 @@ watch(
366
371
  onGetTcpStacks()
367
372
  }
368
373
  if (newSelectedStep === 6 && flagSwitch !== targetDevice.value.switch) {
369
- const nics = props.standardSwitchesInitial.find(
374
+ const nics: UI_I_AdapterStatus = props.standardSwitchesInitial.find(
370
375
  (currentSwitch: UI_I_Switch) =>
371
376
  currentSwitch.id === targetDevice.value.switch
372
377
  ).nics
378
+
379
+ const availableAdapters: UI_I_AvailableAdapters = getAvailableAdapters(
380
+ props.adapters,
381
+ nics
382
+ )
383
+
373
384
  adapterStatus.value = {
374
- active: nics.active || [],
375
- standby: nics.standby || [],
376
- unused: nics.unused || [],
385
+ active: availableAdapters.activeAdapters || [],
386
+ standby: availableAdapters.standbyAdapters || [],
387
+ unused: availableAdapters.unusedAdapters || [],
377
388
  }
378
389
  coreAdapters.value = [
379
390
  ...adapterStatus.value.active,
@@ -67,7 +67,7 @@ import type {
67
67
  UI_I_NetworkForAdding,
68
68
  UI_I_SelectedNetwork,
69
69
  } from '~/components/common/wizards/network/add/lib/models/interfaces'
70
- import { selectStandardSwitchTableHeadFunc } from '~/components/common/wizards/network/add/lib/config'
70
+ import { selectStandardSwitchTableHeadFunc } from '~/components/common/wizards/network/add/lib/config/config'
71
71
 
72
72
  const props = withDefaults(
73
73
  defineProps<{
@@ -51,7 +51,7 @@ import type {
51
51
  UI_I_SelectedSwitch,
52
52
  UI_I_BodyItems,
53
53
  } from '~/components/common/wizards/network/add/lib/models/interfaces'
54
- import { selectStandardSwitchTableHeadFunc } from '~/components/common/wizards/network/add/lib/config'
54
+ import { selectStandardSwitchTableHeadFunc } from '~/components/common/wizards/network/add/lib/config/config'
55
55
 
56
56
  interface I_SelectSwitchModalProps {
57
57
  show: boolean
@@ -51,7 +51,7 @@ import type {
51
51
  UI_I_SelectedSwitch,
52
52
  UI_I_BodyItems,
53
53
  } from '~/components/common/wizards/network/add/lib/models/interfaces'
54
- import { selectSwitchTableHeadFunc } from '~/components/common/wizards/network/add/lib/config'
54
+ import { selectSwitchTableHeadFunc } from '~/components/common/wizards/network/add/lib/config/config'
55
55
 
56
56
  interface I_SelectSwitchModalProps {
57
57
  show: boolean
@@ -93,7 +93,7 @@ import type {
93
93
  UI_I_Localization,
94
94
  } from '~/lib/models/interfaces'
95
95
  import type { UI_I_ConnectionSettings } from '~/components/common/wizards/network/add/lib/models/interfaces'
96
- import { vlanIdSelectData } from '~/components/common/wizards/network/add/lib/config'
96
+ import { vlanIdSelectData } from '~/components/common/wizards/network/add/lib/config/config'
97
97
  import type { UI_I_ErrorFields } from '~/components/atoms/wizard/lib/models/interfaces'
98
98
  import type Wizard from '~/components/atoms/wizard/lib/utils/utils'
99
99
  import {
@@ -226,7 +226,7 @@ import {
226
226
  servicesInitial,
227
227
  vlanIdSelectData,
228
228
  portPropertiesEnabledServicesFunc,
229
- } from '~/components/common/wizards/network/add/lib/config'
229
+ } from '~/components/common/wizards/network/add/lib/config/config'
230
230
  import type {
231
231
  UI_I_PortProperties,
232
232
  UI_I_TCPStack,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bfg-common",
3
3
  "private": false,
4
- "version": "1.4.198",
4
+ "version": "1.4.200",
5
5
  "scripts": {
6
6
  "build": "nuxt build",
7
7
  "dev": "nuxt dev --port=3002",