bfg-common 1.3.99 → 1.3.101

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 (36) hide show
  1. package/assets/scss/common/icons/icons-2.scss +222 -222
  2. package/components/atoms/switch/Switch.vue +107 -107
  3. package/components/atoms/table/dataGrid/DataGrid.vue +1576 -1576
  4. package/components/atoms/wizard/Wizard.vue +7 -2
  5. package/components/common/adapterManager/AdapterManager.vue +95 -0
  6. package/components/common/adapterManager/AddAdapterModal.vue +8 -10
  7. package/components/common/adapterManager/ui/table/Adapters.vue +12 -12
  8. package/components/common/adapterManager/ui/table/Table.vue +4 -18
  9. package/components/common/diagramMain/lib/models/interfaces.ts +46 -21
  10. package/components/common/diagramMain/lib/models/types.ts +6 -0
  11. package/components/common/diagramMain/port/Port.vue +8 -3
  12. package/components/common/lib/config/states.ts +13 -0
  13. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/Table.vue +137 -137
  14. package/components/common/pages/Tasks.vue +120 -120
  15. package/components/common/recursionTree/RecursionTree.vue +203 -203
  16. package/components/common/vm/actions/clone/Clone.vue +518 -518
  17. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuModel.vue +220 -220
  18. package/components/common/vm/actions/common/select/storage/lib/config/config.ts +166 -166
  19. package/components/common/wizards/network/add/Add.vue +5 -1
  20. package/components/common/wizards/network/add/modals/SelectStandardSwitch.vue +7 -7
  21. package/components/common/wizards/network/add/steps/SelectedTargetDevice.vue +7 -2
  22. package/composables/useAppVersion.ts +21 -21
  23. package/composables/useEnvLanguage.ts +20 -20
  24. package/composables/useLocal.ts +38 -38
  25. package/lib/utils/sendTask.ts +72 -72
  26. package/minify.js +146 -146
  27. package/package.json +1 -1
  28. package/public/spice-console/application/codec.js +257 -257
  29. package/public/spice-console/lib/rasterEngine.js +907 -907
  30. package/public/spice-console/network/spicechannel.js +369 -369
  31. package/store/main/lib/interfaces.ts +9 -9
  32. package/store/tasks/actions.ts +133 -133
  33. package/store/tasks/getters.ts +25 -25
  34. package/store/tasks/lib/models/interfaces.ts +18 -18
  35. package/store/tasks/mutations.ts +58 -58
  36. package/store/tasks/state.ts +16 -16
@@ -1,6 +1,9 @@
1
1
  <template>
2
2
  <div v-if="props.show" class="modal clr-wizard wizard-xl">
3
- <div class="modal-dialog modal-xl relative">
3
+ <div
4
+ class="modal-dialog modal-xl relative"
5
+ :style="{ height: props.height }"
6
+ >
4
7
  <div class="modal-content-wrapper">
5
8
  <nav class="modal-nav clr-wizard-stepnav-wrapper">
6
9
  <h1 class="clr-wizard-title">
@@ -34,7 +37,7 @@
34
37
  </div>
35
38
  <div class="modal-body" style="padding: 16px 15px 10px 10px">
36
39
  <div v-if="selectedStep.subTitle" class="content-heading">
37
- <div>
40
+ <div v-if="selectedStep.subTitle !== 'border'">
38
41
  <h2>{{ selectedStep.subTitle }}</h2>
39
42
  </div>
40
43
  </div>
@@ -114,6 +117,7 @@ const props = withDefaults(
114
117
  localization?: UI_I_Localization
115
118
  testId?: string
116
119
  wasCompleted: boolean
120
+ height: string
117
121
  }>(),
118
122
  {
119
123
  isLoading: false,
@@ -122,6 +126,7 @@ const props = withDefaults(
122
126
  isDisabledFinish: false,
123
127
  localization: () => ({}),
124
128
  testId: '',
129
+ height: '',
125
130
  }
126
131
  )
127
132
 
@@ -6,6 +6,7 @@
6
6
  'element-disabled': !props.isActive,
7
7
  'full-height': props.fullMode,
8
8
  'add-adapter-view': props.isAddModal,
9
+ 'is-dark': props.isDarkMode,
9
10
  },
10
11
  ]"
11
12
  >
@@ -102,6 +103,7 @@
102
103
  width="864px"
103
104
  height="618px"
104
105
  :is-add-modal="props.isAddModal"
106
+ :is-dark-mode="props.isDarkMode"
105
107
  :show="isShowAddAdapterModal"
106
108
  :existing-adapters-for-adding="existingAdaptersForAdding"
107
109
  :selected-add-adapter-id="selectedAddAdapterId"
@@ -156,6 +158,7 @@ const props = withDefaults(
156
158
  isActive?: boolean
157
159
  fullMode?: boolean
158
160
  isAddModal?: boolean
161
+ isDarkMode: boolean
159
162
  adapters: UI_I_SwitchAdapters
160
163
  initialData?: UI_I_ModalsInitialData
161
164
  addedAdapters?: string[]
@@ -712,4 +715,96 @@ div.edit-pg-failover-order-with-details {
712
715
  max-height: 415px;
713
716
  }
714
717
  }
718
+
719
+ div.edit-pg-failover-order-with-details.is-dark {
720
+ .failover-order-master {
721
+ .secondary-title {
722
+ label {
723
+ color: #fff;
724
+ }
725
+ }
726
+ }
727
+ .k-grid-content {
728
+ background-color: var(--modal-bg-color);
729
+ }
730
+ .vui-action-bar {
731
+ background-color: var(--pannel-bg-color);
732
+ color: var(--title-color);
733
+ padding: 8px 0 3px;
734
+
735
+ .action-link-container:not(.disabled) {
736
+ &:hover {
737
+ background-color: #29414e;
738
+ border: 1px solid #c7e9ff;
739
+ }
740
+ }
741
+
742
+ svg {
743
+ fill: #fff;
744
+ }
745
+ }
746
+
747
+ .k-grid.k-widget .k-grid-content {
748
+ border-left: 1px solid #485764;
749
+ border-right: 1px solid #485764;
750
+ border-top: 1px solid #ddd;
751
+ border-bottom: 1px solid #ddd;
752
+
753
+ tbody tr {
754
+ background-color: var(--modal-bg-color);
755
+
756
+ td {
757
+ border-bottom: 1px solid #666666;
758
+ border-color: #666666;
759
+ }
760
+
761
+ &:hover {
762
+ background-color: #324f61;
763
+ color: var(--title-color);
764
+
765
+ td {
766
+ border-bottom: 1px solid #ffffff;
767
+ }
768
+ }
769
+
770
+ &.k-state-selected {
771
+ background-color: #d8e3e9;
772
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
773
+
774
+ td span {
775
+ color: #000;
776
+ }
777
+ }
778
+ }
779
+ }
780
+
781
+ .failover-order-details {
782
+ &.relative-container .absolute-container {
783
+ background-color: var(--pannel-bg-color);
784
+ color: var(--main-color-mode2);
785
+
786
+ &:has(.no-items-selected-container) {
787
+ background-color: transparent;
788
+ }
789
+ }
790
+
791
+ td span {
792
+ color: var(--main-color-mode2);
793
+ }
794
+ button span {
795
+ color: var(--main-color-mode2);
796
+
797
+ &:hover:not(.disabled) {
798
+ background-color: transparent;
799
+ }
800
+ }
801
+ button.active span {
802
+ color: #fff;
803
+ }
804
+ }
805
+ }
806
+
807
+ .select-adapter-info span {
808
+ color: var(--main-color-mode2);
809
+ }
715
810
  </style>
@@ -16,12 +16,11 @@
16
16
  <common-adapter-manager
17
17
  test-id="adapter-manager"
18
18
  :is-active="true"
19
+ :is-dark-mode="props.isDarkMode"
19
20
  :full-mode="false"
20
21
  :is-add-modal="true"
21
22
  :adapters="props.adapters"
22
- :existing-adapters-for-adding="
23
- props.existingAdaptersForAdding.map((n) => n.name)
24
- "
23
+ :existing-adapters-for-adding="props.existingAdaptersForAdding.map((n) => n.name)"
25
24
  :selected-add-adapter-id="props.selectedAddAdapterId"
26
25
  class="free-adapters"
27
26
  @select-add-adapter="onSelectAddAdapter"
@@ -46,6 +45,7 @@ import {
46
45
  const props = withDefaults(
47
46
  defineProps<{
48
47
  isAddModal: boolean
48
+ isDarkMode: boolean
49
49
  show: boolean
50
50
  width: string
51
51
  height: string
@@ -463,10 +463,12 @@ ul li span {
463
463
  margin: 0 7px 0 4px;
464
464
  }
465
465
 
466
- :deep(.free-adapters) {
466
+ :deep(div.edit-pg-failover-order-with-details.is-dark) {
467
467
  .failover-order-master {
468
- .secondary-title label {
469
- color: #fff;
468
+ .secondary-title {
469
+ label {
470
+ color: #fff;
471
+ }
470
472
  }
471
473
  }
472
474
  .k-grid-content {
@@ -547,9 +549,5 @@ ul li span {
547
549
  color: #fff;
548
550
  }
549
551
  }
550
-
551
- .select-adapter-info span {
552
- color: var(--main-color-mode2);
553
- }
554
552
  }
555
553
  </style>
@@ -1,22 +1,22 @@
1
1
  <template>
2
- <template v-for="adapterId in props.adapters" :key="adapterId">
3
- <tr
4
- :class="{
2
+ <template v-for="adapterId in props.adapters" :key="adapterId">
3
+ <tr
4
+ :class="{
5
5
  'k-state-selected': props.selectedAdapterId === adapterId,
6
6
  }"
7
- @click="onSelectAdapter(adapterId)"
8
- >
9
- <td>
7
+ @click="onSelectAdapter(adapterId)"
8
+ >
9
+ <td>
10
10
  <span>
11
11
  <atoms-diagram-icon
12
- name="adapter-icon"
13
- class="adapter-icon-positioning"
12
+ name="adapter-icon"
13
+ class="adapter-icon-positioning"
14
14
  />
15
15
  </span>
16
- <span>{{ adapterId }}</span>
17
- </td>
18
- </tr>
19
- </template>
16
+ <span>{{ adapterId }}</span>
17
+ </td>
18
+ </tr>
19
+ </template>
20
20
  </template>
21
21
 
22
22
  <script setup lang="ts">
@@ -1,8 +1,5 @@
1
1
  <template>
2
- <div
3
- class="k-grid-content"
4
- @click.capture="onClickEmptySpace($event)"
5
- >
2
+ <div class="k-grid-content" @click.capture="onClickEmptySpace($event)">
6
3
  <div v-if="props.isAddModal">
7
4
  <table class="k-selectable">
8
5
  <tbody>
@@ -57,7 +54,7 @@
57
54
  import {
58
55
  UI_I_Adapter,
59
56
  UI_I_AdapterStatus,
60
- UI_I_SwitchAdapterItem
57
+ UI_I_SwitchAdapterItem,
61
58
  } from '~/components/common/diagramMain/lib/models/interfaces'
62
59
 
63
60
  const props = withDefaults(
@@ -83,7 +80,7 @@ const props = withDefaults(
83
80
  isStandbyHeader: false,
84
81
  isUnusedHeader: false,
85
82
  removedAdapters: () => [],
86
- existingAdaptersForAdding: () => []
83
+ existingAdaptersForAdding: () => [],
87
84
  }
88
85
  )
89
86
 
@@ -145,12 +142,7 @@ table {
145
142
  border-width: 0;
146
143
  outline: 0;
147
144
  }
148
- //.k-grid-content {
149
- // width: auto;
150
- // overflow-y: scroll;
151
- // padding-right: 3px;
152
- // height: 200px;
153
- //}
145
+
154
146
  .k-selectable {
155
147
  height: auto;
156
148
 
@@ -158,10 +150,4 @@ table {
158
150
  width: 150px;
159
151
  }
160
152
  }
161
- //.k-grid-content {
162
- // width: auto;
163
- // overflow-y: scroll;
164
- // padding-right: 3px;
165
- // height: 273px;
166
- //}
167
153
  </style>
@@ -1,11 +1,15 @@
1
1
  import { UI_E_NetworkType } from './enums'
2
- import { UI_T_Adapters } from '~/components/common/diagramMain/lib/models/types'
2
+ import {
3
+ UI_T_Adapters,
4
+ UI_T_YNIOption,
5
+ } from '~/components/common/diagramMain/lib/models/types'
3
6
 
4
7
  export interface UI_I_Port {
5
8
  id: string
6
9
  name: string
7
10
  macAddress?: string
8
11
  adapter?: string
12
+ isActive?: boolean
9
13
  }
10
14
 
11
15
  export interface UI_I_Adapter {
@@ -286,6 +290,7 @@ export interface UI_I_AdapterStatus {
286
290
  active: string[]
287
291
  standby: string[]
288
292
  unused: string[]
293
+ connected: string[]
289
294
  }
290
295
 
291
296
  export interface UI_I_SwitchPropertiesFields {
@@ -456,9 +461,9 @@ export interface UI_I_ModalTabs {
456
461
  }
457
462
 
458
463
  export interface API_UI_I_Security {
459
- forged_transmits: string
460
- mac_change: string
461
- promiscuous_mode: string
464
+ forged_transmits: UI_T_YNIOption
465
+ mac_change: UI_T_YNIOption
466
+ promiscuous_mode: UI_T_YNIOption
462
467
  }
463
468
  export interface API_UI_I_Shaping {
464
469
  enabled: boolean
@@ -468,31 +473,51 @@ export interface API_UI_I_Shaping {
468
473
  peak_bw: number
469
474
  }
470
475
  export interface API_UI_I_State {
471
- code: number
472
- icon: string
473
- text: string
474
- }
475
- export interface API_UI_I_Status {
476
- code: number
477
- text: string
476
+ state: 0 | 1 | 2 | 3
477
+ // enum State {
478
+ // UNKNOWN = 0;
479
+ // OK = 1;
480
+ // WARNING = 2;
481
+ // ERROR = 3;
482
+ // }
483
+ errors?: string[]
478
484
  }
485
+
479
486
  export interface API_UI_I_Teaming {
480
- failback: string
481
- link_detect: string
482
- mode: string
483
- notify_switches: string
487
+ mode: 0 | 1 | 2 | 3
488
+ // enum Mode {
489
+ // TEAM_MODE_INHERIT = 0;
490
+ // TEAM_MODE_ACTIVE_BACKUP = 1;
491
+ // TEAM_MODE_SLB = 2;
492
+ // TEAM_MODE_TCP = 3;
493
+ // }
494
+ link_detection_mode: 0 | 1 | 2
495
+ // enum LinkDetectionMode {
496
+ // TEAM_LINK_DETECT_INHERIT = 0;
497
+ // TEAM_LINK_DETECT_CARIER = 1;
498
+ // TEAM_LINK_DETECT_BEAKON = 2;
499
+ // }
500
+ notify_switches: UI_T_YNIOption
501
+ failback: UI_T_YNIOption
502
+ }
503
+
504
+ interface API_UI_I_ListIndex {
505
+ idx: number
506
+ count: number
484
507
  }
508
+
485
509
  export interface API_UI_I_SwitchItem {
510
+ id: string
511
+ state: API_UI_I_State
512
+ index: API_UI_I_ListIndex
486
513
  mtu: number
487
- name: string
488
- networks: string[] | null
489
- nics: UI_I_AdapterStatus
490
- num_ports: string
491
514
  security: API_UI_I_Security
492
515
  shaping: API_UI_I_Shaping
493
- state: API_UI_I_State
494
- status: API_UI_I_Status
495
516
  teaming: API_UI_I_Teaming
517
+ nics: UI_I_AdapterStatus
518
+ networks: string[] | null
519
+
520
+ num_ports: string // TODO MAMMA MIA, WHERE IS IIIIIT?
496
521
  }
497
522
  export interface API_UI_I_SwitchItems {
498
523
  items: API_UI_I_SwitchItem[]
@@ -6,3 +6,9 @@ export type UI_T_TrafficShapingFieldName = 'average' | 'peak' | 'burstSize'
6
6
  export type UI_T_PortPropertiesFieldName = 'mtu'
7
7
 
8
8
  export type UI_T_Adapters = UI_I_Adapter & { adapterPosition: number }
9
+ export type UI_T_YNIOption = 0 | 1 | 2
10
+ // UI_T_YNIOption {
11
+ // INHERIT = 0
12
+ // YES = 1
13
+ // NO = 2
14
+ // }
@@ -67,7 +67,7 @@
67
67
  />
68
68
 
69
69
  <foreignObject
70
- v-if="isVCenter || isVMPortsGroup"
70
+ v-if="(isVCenter || isVMPortsGroup) && props.port.isActive"
71
71
  data-title="vm-play-icon"
72
72
  width="18"
73
73
  height="18"
@@ -108,10 +108,15 @@
108
108
  >
109
109
  <div>
110
110
  <atoms-diagram-icon
111
- v-if="isVMPortsGroup || isVmKernel || isVCenter"
111
+ v-if="
112
+ isVmKernel || ((isVCenter || isVMPortsGroup) && props.port.isActive)
113
+ "
112
114
  name="fill-port"
113
115
  />
114
- <!-- <atoms-diagram-icon v-if="isVMPortsGroup" name="outline-port" />-->
116
+ <atoms-diagram-icon
117
+ v-if="isVCenter || (isVMPortsGroup && !props.port.isActive)"
118
+ name="outline-port"
119
+ />
115
120
  </div>
116
121
  </foreignObject>
117
122
  </g>
@@ -80,6 +80,19 @@ export const networkIconByState = [
80
80
  'network-error',
81
81
  ]
82
82
 
83
+ export const switchLocalizationByState = [
84
+ 'unknown',
85
+ 'connected',
86
+ 'warning',
87
+ 'error',
88
+ ]
89
+
90
+ export const switchIconByState = [
91
+ 'switch-error',
92
+ 'switch',
93
+ 'switch-warning',
94
+ 'switch-error',
95
+ ]
83
96
 
84
97
  export const resourcePoolLocalizationByState = [
85
98
  'unknown',