bfg-common 1.5.487 → 1.5.489

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 (191) 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/assets/localization/local_be.json +7 -1
  7. package/assets/localization/local_en.json +17 -11
  8. package/assets/localization/local_hy.json +7 -1
  9. package/assets/localization/local_kk.json +7 -1
  10. package/assets/localization/local_ru.json +7 -1
  11. package/assets/localization/local_zh.json +7 -1
  12. package/components/atoms/TheIcon3.vue +50 -50
  13. package/components/atoms/collapse/CollapseNav.vue +170 -170
  14. package/components/atoms/perPage/PerPage.vue +58 -58
  15. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  16. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  17. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  18. package/components/common/adapterManager/AdapterManager.vue +189 -545
  19. package/components/common/adapterManager/AdapterManagerNew.vue +300 -0
  20. package/components/common/adapterManager/AdapterManagerOld.vue +498 -0
  21. package/components/common/adapterManager/addAdapterModal/AddAdapterModal.vue +70 -0
  22. package/components/common/adapterManager/addAdapterModal/AddAdapterModalNew.vue +77 -0
  23. package/components/common/adapterManager/{AddAdapterModal.vue → addAdapterModal/AddAdapterModalOld.vue} +16 -46
  24. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModal.vue +32 -0
  25. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModalNew.vue +38 -0
  26. package/components/common/adapterManager/{AddAdapterWarningModal.vue → addAdapterWarningModal/AddAdapterWarningModalOld.vue} +5 -14
  27. package/components/common/adapterManager/noActiveAdaptersModal/NoActiveAdaptersModal.vue +31 -0
  28. package/components/common/adapterManager/noActiveAdaptersModal/NoActiveAdaptersModalNew.vue +34 -0
  29. package/components/common/adapterManager/{NoActiveAdaptersModal.vue → noActiveAdaptersModal/NoActiveAdaptersModalOld.vue} +2 -6
  30. package/components/common/adapterManager/noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModal.vue +31 -0
  31. package/components/common/adapterManager/noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModalNew.vue +34 -0
  32. package/components/common/adapterManager/{NoConnectedActiveAdaptersModal.vue → noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModalOld.vue} +2 -6
  33. package/components/common/adapterManager/ui/actions/bar/Bar.vue +57 -0
  34. package/components/common/adapterManager/ui/actions/bar/BarNew.vue +38 -0
  35. package/components/common/adapterManager/ui/actions/moveDownAdapterButton/MoveDownAdapterButton.vue +28 -0
  36. package/components/common/adapterManager/ui/actions/moveDownAdapterButton/MoveDownAdapterButtonNew.vue +75 -0
  37. package/components/common/adapterManager/ui/actions/{MoveDownAdapterButton.vue → moveDownAdapterButton/MoveDownAdapterButtonOld.vue} +3 -9
  38. package/components/common/adapterManager/ui/actions/moveUpAdapterButton/MoveUpAdapterButton.vue +28 -0
  39. package/components/common/adapterManager/ui/actions/moveUpAdapterButton/MoveUpAdapterButtonNew.vue +76 -0
  40. package/components/common/adapterManager/ui/actions/{MoveUpAdapterButton.vue → moveUpAdapterButton/MoveUpAdapterButtonOld.vue} +3 -9
  41. package/components/common/adapterManager/ui/noSelectedAdapter/NoSelectedAdapter.vue +24 -0
  42. package/components/common/adapterManager/ui/noSelectedAdapter/NoSelectedAdapterNew.vue +13 -0
  43. package/components/common/adapterManager/ui/secondTitle/SecondTitle.vue +31 -0
  44. package/components/common/adapterManager/ui/secondTitle/SecondTitleNew.vue +36 -0
  45. package/components/common/adapterManager/ui/{SecondTitle.vue → secondTitle/SecondTitleOld.vue} +0 -1
  46. package/components/common/adapterManager/ui/table/Table.vue +59 -133
  47. package/components/common/adapterManager/ui/table/TableNew.vue +136 -0
  48. package/components/common/adapterManager/ui/table/TableOld.vue +141 -0
  49. package/components/common/adapterManager/ui/table/adapters/Adapters.vue +44 -0
  50. package/components/common/adapterManager/ui/table/adapters/AdaptersNew.vue +153 -0
  51. package/components/common/adapterManager/ui/table/{Adapters.vue → adapters/AdaptersOld.vue} +5 -10
  52. package/components/common/adapterManager/ui/table/header/Header.vue +57 -0
  53. package/components/common/adapterManager/ui/table/header/HeaderNew.vue +77 -0
  54. package/components/common/adapterManager/ui/table/{Header.vue → header/HeaderOld.vue} +3 -20
  55. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  56. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  57. package/components/common/browse/lib/models/interfaces.ts +5 -5
  58. package/components/common/context/lib/models/interfaces.ts +33 -33
  59. package/components/common/diagramMain/DiagramMain.vue +905 -900
  60. package/components/common/diagramMain/lib/models/interfaces.ts +5 -2
  61. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +6 -5
  62. package/components/common/diagramMain/modals/Modals.vue +19 -1
  63. package/components/common/diagramMain/modals/lib/config/adapterModal.ts +23 -20
  64. package/components/common/diagramMain/modals/lib/config/networkModal.ts +401 -398
  65. package/components/common/diagramMain/modals/lib/config/switchModal.ts +3 -0
  66. package/components/common/diagramMain/modals/remove/RemoveModal.vue +8 -0
  67. package/components/common/diagramMain/modals/remove/RemoveModalNew.vue +106 -95
  68. package/components/common/diagramMain/modals/remove/RemoveModalOld.vue +12 -1
  69. package/components/common/diagramMain/modals/viewSettings/info/Info.vue +0 -2
  70. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettings.vue +6 -0
  71. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettingsNew.vue +140 -71
  72. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettingsOld.vue +4 -4
  73. package/components/common/diagramMain/network/Contents.vue +497 -497
  74. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  75. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  76. package/components/common/pages/backups/DetailView.vue +52 -52
  77. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  78. package/components/common/pages/backups/modals/Modals.vue +243 -243
  79. package/components/common/pages/backups/modals/createBackup/configuration/Configuration.vue +29 -29
  80. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  81. package/components/common/pages/backups/modals/createBackup/datastores/tableView/TableView.vue +95 -95
  82. package/components/common/pages/backups/modals/createBackup/general/General.vue +141 -141
  83. package/components/common/pages/backups/modals/createBackup/lib/config/strategyOptions.ts +12 -12
  84. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  85. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  86. package/components/common/pages/backups/modals/restore/disks/Disks.vue +27 -27
  87. package/components/common/pages/backups/modals/restore/disks/tableView/lib/config/table.ts +117 -117
  88. package/components/common/pages/backups/modals/restore/name/Name.vue +166 -166
  89. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  90. package/components/common/pages/backups/modals/restore/networks/Networks.vue +67 -67
  91. package/components/common/pages/backups/modals/restore/networks/table/Table.vue +214 -214
  92. package/components/common/pages/backups/modals/restore/types/lib/config/typeOptions.ts +25 -25
  93. package/components/common/pages/backups/tools/Tools.vue +75 -75
  94. package/components/common/pages/backups/tools/lib/config/tabs.ts +36 -36
  95. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  96. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  97. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  98. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  99. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  100. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  101. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  102. package/components/common/select/radio/RadioGroup.vue +137 -137
  103. package/components/common/spiceConsole/Drawer.vue +392 -392
  104. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  105. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  106. package/components/common/tools/Actions.vue +207 -207
  107. package/components/common/treeView/TreeView.vue +52 -52
  108. package/components/common/vm/actions/add/Add.vue +877 -877
  109. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  110. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +368 -368
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +99 -99
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
  120. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  121. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  122. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  123. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  124. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  125. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  126. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  127. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +143 -143
  128. package/components/common/vm/actions/common/select/computeResource/New.vue +184 -184
  129. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +131 -131
  130. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  131. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  132. package/components/common/vm/actions/common/select/name/Name.vue +200 -200
  133. package/components/common/vm/actions/common/select/name/Old.vue +131 -131
  134. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  135. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  136. package/components/common/vm/actions/common/select/storage/new/New.vue +320 -320
  137. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  138. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  139. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  140. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  141. package/components/common/vm/actions/register/Register.vue +267 -267
  142. package/components/common/vm/actions/register/lib/config/steps.ts +86 -86
  143. package/components/common/vmt/actions/add/Add.vue +549 -549
  144. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  145. package/components/common/wizards/network/add/Add.vue +9 -3
  146. package/components/common/wizards/network/add/AddNew.vue +291 -354
  147. package/components/common/wizards/network/add/AddOld.vue +0 -3
  148. package/components/common/wizards/network/add/lib/config/config.ts +1 -0
  149. package/components/common/wizards/network/add/lib/config/initialData.ts +9 -0
  150. package/components/common/wizards/network/add/lib/config/steps.ts +35 -5
  151. package/components/common/wizards/network/add/lib/models/interfaces.ts +12 -2
  152. package/components/common/wizards/network/add/steps/connectionSettings/ConnectionSettings.vue +83 -0
  153. package/components/common/wizards/network/add/steps/connectionSettings/ConnectionSettingsNew.vue +114 -0
  154. package/components/common/wizards/network/add/steps/{ConnectionSettings.vue → connectionSettings/ConnectionSettingsOld.vue} +11 -42
  155. package/components/common/wizards/network/add/steps/createStandardSwitch/CreateStandardSwitch.vue +99 -0
  156. package/components/common/wizards/network/add/steps/createStandardSwitch/CreateStandardSwitchNew.vue +80 -0
  157. package/components/common/wizards/network/add/steps/{CreateStandardSwitch.vue → createStandardSwitch/CreateStandardSwitchOld.vue} +24 -33
  158. package/components/common/wizards/network/add/steps/ipFourSettings/IpFourSettings.vue +143 -0
  159. package/components/common/wizards/network/add/steps/ipFourSettings/IpFourSettingsNew.vue +224 -0
  160. package/components/common/wizards/network/add/steps/{IpFourSettings.vue → ipFourSettings/IpFourSettingsOld.vue} +13 -101
  161. package/components/common/wizards/network/add/steps/portProperties/PortProperties.vue +214 -0
  162. package/components/common/wizards/network/add/steps/portProperties/PortPropertiesNew.vue +289 -0
  163. package/components/common/wizards/network/add/steps/{PortProperties.vue → portProperties/PortPropertiesOld.vue} +19 -166
  164. package/components/common/wizards/network/add/steps/readyComplete/ReadyComplete.vue +22 -0
  165. package/components/common/wizards/network/add/steps/readyComplete/ReadyCompleteNew.vue +30 -0
  166. package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDevice.vue +7 -2
  167. package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceNew.vue +1 -3
  168. package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceOld.vue +0 -2
  169. package/components/common/wizards/network/add/validations/common.ts +1 -2
  170. package/components/common/wizards/network/add/validations/connectionSettings.ts +14 -7
  171. package/components/common/wizards/network/add/validations/ipFourSettings.ts +24 -10
  172. package/components/common/wizards/network/add/validations/networkValidation.ts +1 -1
  173. package/components/common/wizards/network/add/validations/portProperties.ts +52 -20
  174. package/components/common/wizards/network/add/validations/targetDevice.ts +18 -4
  175. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  176. package/composables/useAppVersion.ts +21 -21
  177. package/composables/useLocal.ts +6 -6
  178. package/composables/useLocalCommon.ts +39 -39
  179. package/package.json +2 -2
  180. package/plugins/date.ts +233 -233
  181. package/plugins/panelStates.ts +70 -70
  182. package/plugins/text.ts +59 -59
  183. package/public/spice-console/lib/images/bitmap.js +203 -203
  184. package/public/spice-console/network/spicechannel.js +440 -440
  185. package/public/spice-console/run.js +210 -210
  186. package/store/main/mutations.ts +7 -7
  187. package/store/main/state.ts +7 -7
  188. package/components/common/wizards/network/add/steps/PhysicalAdapter.vue +0 -13
  189. /package/components/common/adapterManager/ui/actions/{ActionsBar.vue → bar/BarOld.vue} +0 -0
  190. /package/components/common/adapterManager/ui/{NoSelectedAdapter.vue → noSelectedAdapter/NoSelectedAdapterOld.vue} +0 -0
  191. /package/components/common/wizards/network/add/steps/{ReadyComplete.vue → readyComplete/ReadyCompleteOld.vue} +0 -0
@@ -0,0 +1,498 @@
1
+ <template>
2
+ <div
3
+ :class="[
4
+ 'edit-pg-failover-order-with-details',
5
+ {
6
+ 'element-disabled': !props.isActive,
7
+ 'full-height': props.fullMode,
8
+ 'add-adapter-view': props.isAddModal,
9
+ 'is-dark': props.isDarkMode,
10
+ },
11
+ ]"
12
+ >
13
+ <div class="failover-order-with-details flex-grow-auto relative-container">
14
+ <div class="absolute-container fill-parent">
15
+ <div class="flex-row fill-parent">
16
+ <div class="failover-order-master relative-container">
17
+ <div class="absolute-container fill-parent">
18
+ <div class="flex-column fill-parent">
19
+ <common-adapter-manager-ui-second-title
20
+ :is-add-modal="props.isAddModal"
21
+ />
22
+ <div class="flex-grow-auto relative-container">
23
+ <div class="absolute-container fill-parent">
24
+ <div class="fill-parent">
25
+ <div
26
+ class="fill-parent no-column-header assigned-adapters-datagrid failover-order"
27
+ >
28
+ <div class="k-grid k-widget" style="height: 100%">
29
+ <common-adapter-manager-ui-actions-bar
30
+ :full-mode="props.fullMode"
31
+ :is-add-modal="props.isAddModal"
32
+ :selected-is-header="props.selectedIsHeader"
33
+ :is-disabled-move-up="props.isDisabledMoveUp"
34
+ :is-disabled-move-down="props.isDisabledMoveDown"
35
+ :is-disabled-remove="props.isDisabledRemove"
36
+ @show-add-adapter-modal="onShowAddAdapterModal"
37
+ @remove-adapter="onRemove"
38
+ @move-up-adapter="onMoveUp"
39
+ @move-down-adapter="onMoveDown"
40
+ />
41
+ <common-adapter-manager-ui-table
42
+ :is-add-modal="props.isAddModal"
43
+ :selected-add-adapter-id="
44
+ props.selectedAddAdapterId
45
+ "
46
+ :selected-adapter-id="props.selectedAdapterId"
47
+ :removed-adapters="props.removedAdapters"
48
+ :existing-adapters-for-adding="
49
+ props.existingAdaptersForAdding
50
+ "
51
+ :adapter-status="props.adapterStatus"
52
+ :is-active-header="props.isActiveHeader"
53
+ :is-standby-header="props.isStandbyHeader"
54
+ :is-unused-header="props.isUnusedHeader"
55
+ @select-add-adapter="onSelectAddAdapter"
56
+ @select-adapter="onSelectAdapter"
57
+ @click-empty-space="onClickEmptySpace"
58
+ />
59
+ </div>
60
+ </div>
61
+ </div>
62
+ </div>
63
+ </div>
64
+ </div>
65
+ </div>
66
+ </div>
67
+ <div class="failover-order-details relative-container">
68
+ <div class="absolute-container fill-parent">
69
+ <div
70
+ :class="[
71
+ 'fill-parent',
72
+ {
73
+ 'full-width-adapter-info': props.fullMode,
74
+ },
75
+ ]"
76
+ >
77
+ <div v-if="props.hasSelectedAdapter">
78
+ <common-diagram-main-modals-view-settings-info
79
+ modal-name="network-settings-modal"
80
+ :show="true"
81
+ :view-name="localization.common.onPhysicalNetworkAdapter"
82
+ :modal-tabs="props.adapterViewSettingsModalTabs"
83
+ :view-settings-fields="props.viewSettingsFields"
84
+ />
85
+ </div>
86
+ <common-adapter-manager-ui-no-selected-adapter
87
+ v-else
88
+ :is-add-modal="props.isAddModal"
89
+ />
90
+ </div>
91
+ </div>
92
+ </div>
93
+ </div>
94
+ </div>
95
+ </div>
96
+ </div>
97
+ </template>
98
+
99
+ <script setup lang="ts">
100
+ import type {
101
+ UI_I_Localization,
102
+ UI_I_ItemsWithTotalCounts,
103
+ } from '~/lib/models/interfaces'
104
+ import type {
105
+ UI_I_Adapter,
106
+ UI_I_AdapterStatus,
107
+ UI_I_SwitchAdapterItem,
108
+ UI_I_ViewSettingsFields,
109
+ UI_I_NavigationItem,
110
+ } from '~/components/common/diagramMain/lib/models/interfaces'
111
+
112
+ const props = defineProps<{
113
+ isActive: boolean
114
+ fullMode: boolean
115
+ isAddModal: boolean
116
+ isDarkMode: boolean
117
+ adapters: UI_I_ItemsWithTotalCounts<UI_I_SwitchAdapterItem>
118
+ adapterStatus: UI_I_AdapterStatus
119
+ existingAdaptersForAdding: (UI_I_Adapter | UI_I_SwitchAdapterItem)[]
120
+ selectedAddAdapterId: string
121
+ selectedIsHeader: boolean
122
+ isDisabledMoveUp: boolean
123
+ isDisabledMoveDown: boolean
124
+ isDisabledRemove: boolean
125
+ selectedAdapterId: string
126
+ viewSettingsFields: UI_I_ViewSettingsFields[]
127
+ isActiveHeader: boolean
128
+ isUnusedHeader: boolean
129
+ isStandbyHeader: boolean
130
+ hasSelectedAdapter: boolean
131
+ removedAdapters: string[]
132
+ adapterViewSettingsModalTabs: UI_I_NavigationItem
133
+ }>()
134
+
135
+ const emits = defineEmits<{
136
+ (event: 'get-free-adapters', cb: () => void): void
137
+ (event: 'select-add-adapter', value: string): void
138
+ (event: 'remove-adapter'): void
139
+ (event: 'select-adapter', value: string): void
140
+ (event: 'move-down'): void
141
+ (event: 'move-up'): void
142
+ (event: 'click-empty-space', value: Event): void
143
+ }>()
144
+
145
+ const localization = computed<UI_I_Localization>(() => useLocal())
146
+
147
+ const onSelectAdapter = (adapterId: string): void => {
148
+ emits('select-adapter', adapterId)
149
+ }
150
+
151
+ const onSelectAddAdapter = (adapterId: string): void => {
152
+ emits('select-add-adapter', adapterId)
153
+ }
154
+
155
+ const onMoveDown = () => {
156
+ emits('move-down')
157
+ }
158
+
159
+ const onMoveUp = () => {
160
+ emits('move-up')
161
+ }
162
+
163
+ const onRemove = () => {
164
+ emits('remove-adapter')
165
+ }
166
+
167
+ const onClickEmptySpace = (event: Event): void => {
168
+ emits('click-empty-space', event)
169
+ }
170
+
171
+ const onShowAddAdapterModal = (): void => {
172
+ emits('get-free-adapters')
173
+ }
174
+ </script>
175
+
176
+ <style scoped lang="scss">
177
+ div.edit-pg-failover-order-with-details {
178
+ flex: 1 1 auto;
179
+ flex-direction: column;
180
+ display: flex;
181
+ }
182
+ .flex-grow-auto {
183
+ flex: 1 0 auto;
184
+ }
185
+ .relative-container {
186
+ position: relative;
187
+ }
188
+ .fill-parent {
189
+ display: initial;
190
+ overflow: visible;
191
+ height: 100%;
192
+ width: 100%;
193
+ }
194
+ .absolute-container {
195
+ position: absolute;
196
+ }
197
+ .flex-row {
198
+ display: flex;
199
+ flex-direction: row;
200
+ }
201
+ .failover-order-master {
202
+ flex: 0 0 200px;
203
+ margin-right: 10px;
204
+ margin-bottom: 2px;
205
+ }
206
+ .absolute-container {
207
+ position: absolute;
208
+ }
209
+ .full-width-adapter-info {
210
+ display: block;
211
+ }
212
+ .flex-column {
213
+ display: flex;
214
+ }
215
+ .flex-column {
216
+ flex-direction: column;
217
+ }
218
+
219
+ .k-widget {
220
+ height: 100%;
221
+ box-sizing: border-box;
222
+ border: none;
223
+ box-shadow: none;
224
+ }
225
+
226
+ .k-grid .k-grid-header {
227
+ position: relative;
228
+ border-radius: 3px 3px 0 0;
229
+ overflow: hidden;
230
+ background-color: #fafafa;
231
+ padding-right: 18px;
232
+ border: none;
233
+
234
+ .k-grid-header-wrap {
235
+ display: none;
236
+ border-right: 0;
237
+ border-color: #ccc;
238
+ }
239
+ }
240
+ .k-grid-header table {
241
+ table-layout: fixed;
242
+ }
243
+ .k-grid-header-wrap > table {
244
+ margin-bottom: -1px;
245
+
246
+ col {
247
+ width: 150px;
248
+ }
249
+ }
250
+ .k-grid table {
251
+ width: 100%;
252
+ margin: 0;
253
+ max-width: none;
254
+ border-collapse: separate;
255
+ border-spacing: 0;
256
+ empty-cells: show;
257
+ border-width: 0;
258
+ outline: 0;
259
+ }
260
+
261
+ .k-grid-content {
262
+ width: auto;
263
+ overflow-y: scroll;
264
+ padding-right: 3px;
265
+ height: 200px;
266
+ }
267
+ .full-height {
268
+ .k-grid-content {
269
+ width: auto;
270
+ overflow-y: scroll;
271
+ padding-right: 3px;
272
+ height: 273px;
273
+ }
274
+ }
275
+ .add-adapter-view {
276
+ .k-grid-content {
277
+ width: auto;
278
+ overflow-y: scroll;
279
+ padding-right: 3px;
280
+ height: 430px;
281
+ }
282
+ }
283
+ .k-selectable {
284
+ height: auto;
285
+
286
+ col {
287
+ width: 150px;
288
+ }
289
+ }
290
+
291
+ .k-grid.k-widget .k-grid-content,
292
+ .k-grid.k-widget .k-grid-content-locked {
293
+ border-left: 1px solid #ddd;
294
+ border-right: 1px solid #ddd;
295
+ }
296
+ .k-grid-content {
297
+ background: #fff;
298
+ }
299
+ .no-column-header .k-grid-content {
300
+ border-top: 1px solid #ddd;
301
+ border-bottom: 1px solid #ddd;
302
+ }
303
+ .k-grid-content {
304
+ min-height: 35px;
305
+ }
306
+ .k-grid-content,
307
+ .k-grid-content-locked,
308
+ .k-pager-wrap {
309
+ white-space: normal;
310
+ }
311
+ .k-grid-content {
312
+ position: relative;
313
+ zoom: 1;
314
+ }
315
+ .k-widget {
316
+ line-height: normal;
317
+ }
318
+ .k-grid-content table,
319
+ .k-grid-content-locked > table,
320
+ .k-grid-footer table,
321
+ .k-grid-header table {
322
+ table-layout: fixed;
323
+ }
324
+
325
+ .k-grid-content table,
326
+ .k-grid-content-locked > table,
327
+ .k-grid-footer table,
328
+ .k-grid-header table {
329
+ table-layout: fixed;
330
+ }
331
+ .k-grid table {
332
+ width: 100%;
333
+ margin: 0;
334
+ max-width: none;
335
+ border-collapse: separate;
336
+ border-spacing: 0;
337
+ empty-cells: show;
338
+ border-width: 0;
339
+ outline: 0;
340
+ }
341
+
342
+ .assigned-pnic-sections {
343
+ font-weight: 700;
344
+ margin: 0 -9px;
345
+ }
346
+
347
+ .k-scrollbar-vertical {
348
+ top: 0;
349
+ right: 0;
350
+ width: 17px;
351
+ height: 100%;
352
+ overflow-x: hidden;
353
+ }
354
+
355
+ .k-scrollbar {
356
+ position: absolute;
357
+ overflow: scroll;
358
+ }
359
+
360
+ .absolute-container {
361
+ position: initial;
362
+ }
363
+
364
+ .failover-order-details {
365
+ flex: 1 0 auto;
366
+ border-left: 1px solid #ddd;
367
+
368
+ & > div {
369
+ padding-left: 10px;
370
+ }
371
+
372
+ .absolute-container {
373
+ position: absolute;
374
+ }
375
+ }
376
+ .compact {
377
+ padding-top: 0;
378
+ }
379
+ .failover-order-with-details-title {
380
+ margin: 0 !important;
381
+ padding-top: 0 !important;
382
+ }
383
+ .element-disabled {
384
+ pointer-events: none;
385
+ cursor: not-allowed;
386
+ opacity: 0.6;
387
+ }
388
+ .add-adapter-view {
389
+ :deep(.table-fixed-full-height) {
390
+ height: 430px;
391
+ }
392
+ :deep(.table-fixed-height) {
393
+ height: 430px;
394
+ max-height: 415px;
395
+ }
396
+ }
397
+
398
+ div.edit-pg-failover-order-with-details.is-dark {
399
+ .property-label-group {
400
+ color: var(--main-color-mode2);
401
+ }
402
+ .flex-property-label-group {
403
+ color: var(--main-color-mode2);
404
+ }
405
+ .flex-property-value-group {
406
+ select {
407
+ color: #fff;
408
+ }
409
+ }
410
+ .failover-order-master {
411
+ .secondary-title label {
412
+ color: #fff;
413
+ }
414
+ }
415
+ .k-grid-content {
416
+ background-color: var(--modal-bg-color);
417
+ }
418
+ .vui-action-bar {
419
+ background-color: var(--pannel-bg-color);
420
+ color: var(--title-color);
421
+
422
+ .action-link-container:not(.disabled) {
423
+ &:hover {
424
+ background-color: #29414e;
425
+ border: 1px solid #c7e9ff;
426
+ }
427
+ }
428
+
429
+ svg {
430
+ fill: #fff;
431
+ }
432
+ }
433
+
434
+ .k-grid.k-widget .k-grid-content {
435
+ border-left: 1px solid #485764;
436
+ border-right: 1px solid #485764;
437
+ border-top: 1px solid #ddd;
438
+ border-bottom: 1px solid #ddd;
439
+
440
+ tbody tr {
441
+ background-color: var(--modal-bg-color);
442
+
443
+ td {
444
+ border-bottom: 1px solid #666666;
445
+ border-color: #666666;
446
+ }
447
+
448
+ &:hover {
449
+ background-color: #324f61;
450
+ color: var(--title-color);
451
+
452
+ td {
453
+ border-bottom: 1px solid #ffffff;
454
+ }
455
+ }
456
+
457
+ &.k-state-selected {
458
+ background-color: #d8e3e9;
459
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
460
+
461
+ td span {
462
+ color: #000;
463
+ }
464
+ }
465
+ }
466
+ }
467
+
468
+ .failover-order-details {
469
+ &.relative-container .absolute-container {
470
+ background-color: var(--pannel-bg-color);
471
+ color: var(--main-color-mode2);
472
+
473
+ &:has(.no-items-selected-container) {
474
+ background-color: transparent;
475
+ }
476
+ }
477
+
478
+ td span {
479
+ color: var(--main-color-mode2);
480
+ }
481
+ button span {
482
+ color: var(--main-color-mode2);
483
+
484
+ &:hover:not(.disabled) {
485
+ background-color: transparent;
486
+ border: 1px solid transparent;
487
+ }
488
+ }
489
+ button.active span {
490
+ color: #fff;
491
+ }
492
+ }
493
+
494
+ .select-adapter-info span {
495
+ color: var(--main-color-mode2);
496
+ }
497
+ }
498
+ </style>
@@ -0,0 +1,70 @@
1
+ <template>
2
+ <common-adapter-manager-add-adapter-modal-new
3
+ v-if="isNewView"
4
+ :is-dark-mode="props.isDarkMode"
5
+ :show="props.show"
6
+ :existing-adapters-as-text="existingAdaptersAsText"
7
+ :selected-add-adapter-id="props.selectedAddAdapterId"
8
+ :adapters="props.adapters"
9
+ @hide="onHideAddAdapterModal"
10
+ @add-adapter="onAddSelectedAdapters"
11
+ @select-add-adapter="onSelectAddAdapter"
12
+ />
13
+ <common-adapter-manager-add-adapter-modal-old
14
+ v-else
15
+ :is-dark-mode="props.isDarkMode"
16
+ :show="props.show"
17
+ :existing-adapters-as-text="existingAdaptersAsText"
18
+ :selected-add-adapter-id="props.selectedAddAdapterId"
19
+ :adapters="props.adapters"
20
+ @hide="onHideAddAdapterModal"
21
+ @add-adapter="onAddSelectedAdapters"
22
+ @select-add-adapter="onSelectAddAdapter"
23
+ />
24
+ </template>
25
+
26
+ <script setup lang="ts">
27
+ import type { UI_I_ItemsWithTotalCounts } from '~/lib/models/interfaces'
28
+ import type {
29
+ UI_I_Adapter,
30
+ UI_I_SwitchAdapterItem,
31
+ } from '~/components/common/diagramMain/lib/models/interfaces'
32
+
33
+ const props = defineProps<{
34
+ isDarkMode: boolean
35
+ show: boolean
36
+ existingAdaptersForAdding: (UI_I_Adapter | UI_I_SwitchAdapterItem)[]
37
+ selectedAddAdapterId: string
38
+ adapters: UI_I_ItemsWithTotalCounts<UI_I_SwitchAdapterItem>
39
+ }>()
40
+
41
+ const { $store }: any = useNuxtApp()
42
+
43
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
44
+
45
+ const emits = defineEmits<{
46
+ (event: 'hide'): void
47
+ (event: 'add-adapter', adapterId: string): void
48
+ (event: 'select-add-adapter', adapterId: string): void
49
+ }>()
50
+
51
+ const existingAdaptersAsText = computed<string[]>(() =>
52
+ props.existingAdaptersForAdding.map(
53
+ (adapter: UI_I_SwitchAdapterItem) => adapter.name
54
+ )
55
+ )
56
+
57
+ const onSelectAddAdapter = (adapterId: string): void => {
58
+ emits('select-add-adapter', adapterId)
59
+ }
60
+ const onHideAddAdapterModal = (): void => {
61
+ emits('hide')
62
+ emits('select-add-adapter', '')
63
+ }
64
+ const onAddSelectedAdapters = (): void => {
65
+ props.selectedAddAdapterId && emits('add-adapter', props.selectedAddAdapterId)
66
+ emits('select-add-adapter', '')
67
+ }
68
+ </script>
69
+
70
+ <style scoped lang="scss"></style>
@@ -0,0 +1,77 @@
1
+ <template>
2
+ <ui-modal
3
+ v-if="props.show"
4
+ show
5
+ :title="localization.common.addPhysicalAdaptersToSwitch"
6
+ :texts="modalTextsLocal"
7
+ test-id="add-adapter"
8
+ size="md"
9
+ width="880px"
10
+ @hide="onHideAddAdapterModal"
11
+ @submit="onAddSelectedAdapters"
12
+ >
13
+ <template #content>
14
+ <div class="add-adapter-modal-content">
15
+ <common-adapter-manager
16
+ :is-active="true"
17
+ :is-dark-mode="props.isDarkMode"
18
+ :full-mode="false"
19
+ :is-add-modal="true"
20
+ :adapters="props.adapters"
21
+ :existing-adapters-for-adding="props.existingAdaptersAsText"
22
+ :selected-add-adapter-id="props.selectedAddAdapterId"
23
+ test-id="adapter-manager"
24
+ class="free-adapters"
25
+ @select-add-adapter="onSelectAddAdapter"
26
+ />
27
+ </div>
28
+ </template>
29
+ <template #footerLeftContent><span></span></template>
30
+ </ui-modal>
31
+ </template>
32
+
33
+ <script setup lang="ts">
34
+ import type {
35
+ UI_I_Localization,
36
+ UI_I_ItemsWithTotalCounts,
37
+ } from '~/lib/models/interfaces'
38
+ import type { UI_I_SwitchAdapterItem } from '~/components/common/diagramMain/lib/models/interfaces'
39
+
40
+ const props = defineProps<{
41
+ isDarkMode: boolean
42
+ show: boolean
43
+ existingAdaptersAsText: string[]
44
+ selectedAddAdapterId: string
45
+ adapters: UI_I_ItemsWithTotalCounts<UI_I_SwitchAdapterItem>
46
+ }>()
47
+
48
+ const localization = computed<UI_I_Localization>(() => useLocal())
49
+
50
+ const modalTextsLocal = computed<UI_I_ModalTexts>(() => ({
51
+ button1: localization.value.common.cancel,
52
+ button2: localization.value.common.confirm,
53
+ }))
54
+
55
+ const emits = defineEmits<{
56
+ (event: 'hide'): void
57
+ (event: 'add-adapter'): void
58
+ (event: 'select-add-adapter', adapterId: string): void
59
+ }>()
60
+
61
+ const onSelectAddAdapter = (adapterId: string): void => {
62
+ emits('select-add-adapter', adapterId)
63
+ }
64
+ const onHideAddAdapterModal = (): void => {
65
+ emits('hide')
66
+ }
67
+ const onAddSelectedAdapters = (): void => {
68
+ emits('add-adapter')
69
+ }
70
+ </script>
71
+
72
+ <style scoped lang="scss">
73
+ .add-adapter-modal-content {
74
+ padding: 8px 0 8px 32px;
75
+ height: 520px;
76
+ }
77
+ </style>