bfg-common 1.4.877 → 1.4.879

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 (194) hide show
  1. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  2. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  3. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  4. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  5. package/assets/localization/local_ru.json +1 -1
  6. package/assets/scss/common/normalize.scss +361 -361
  7. package/components/atoms/TheIcon3.vue +50 -50
  8. package/components/atoms/autocomplete/Autocomplete.vue +301 -301
  9. package/components/atoms/collapse/CollapseNav.vue +164 -164
  10. package/components/atoms/dropdown/dropdown/Dropdown.vue +168 -168
  11. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  12. package/components/atoms/stack/StackBlock.vue +185 -185
  13. package/components/atoms/table/dataGrid/DataGrid.vue +1704 -1704
  14. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  15. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  16. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  17. package/components/atoms/tabs/lib/models/interfaces.ts +1 -0
  18. package/components/common/browse/BrowseNew.vue +237 -237
  19. package/components/common/browse/BrowseOld.vue +217 -217
  20. package/components/common/browse/blocks/contents/Files.vue +37 -37
  21. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  22. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  23. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  24. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  25. package/components/common/browse/lib/models/interfaces.ts +5 -5
  26. package/components/common/context/Context.vue +111 -111
  27. package/components/common/context/lib/models/interfaces.ts +30 -30
  28. package/components/common/context/recursion/Recursion.vue +87 -87
  29. package/components/common/context/recursion/RecursionOld.vue +227 -227
  30. package/components/common/details/DetailsItem.vue +109 -109
  31. package/components/common/diagramMain/Header.vue +211 -211
  32. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  33. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  34. package/components/common/diagramMain/lib/models/interfaces.ts +1 -1
  35. package/components/common/diagramMain/lib/models/types.ts +21 -21
  36. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  37. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +330 -330
  38. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -40
  39. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +497 -497
  40. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +812 -812
  41. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
  42. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
  43. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
  44. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
  45. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
  46. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +205 -205
  47. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +23 -23
  48. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  49. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  50. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
  51. package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
  52. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  53. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
  54. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  55. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  56. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  57. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  58. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  59. package/components/common/diagramMain/port/Ports.vue +47 -47
  60. package/components/common/graph/Graph.vue +104 -104
  61. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  62. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  63. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/DefaultConsoleNew.vue +1 -0
  64. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/DefaultConsoleOld.vue +1 -0
  65. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  66. package/components/common/mainNavigationPanel/MainNavigationPanelNew.vue +335 -327
  67. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +312 -300
  68. package/components/common/mainNavigationPanel/lib/models/interfaces.ts +1 -0
  69. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  70. package/components/common/monitor/overview/OverviewNew.vue +142 -142
  71. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  72. package/components/common/monitor/overview/filters/Filters.vue +166 -166
  73. package/components/common/monitor/overview/filters/FiltersNew.vue +172 -172
  74. package/components/common/monitor/overview/filters/FiltersOld.vue +151 -151
  75. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +175 -175
  76. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModalOld.vue +161 -161
  77. package/components/common/pages/home/StatusContent.vue +49 -49
  78. package/components/common/pages/home/headline/Headline.vue +45 -45
  79. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  80. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  81. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  82. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  83. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  84. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  85. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  86. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  87. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  88. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  89. package/components/common/pages/packages/Packages.vue +208 -208
  90. package/components/common/pages/shortcuts/block/BlockNew.vue +96 -80
  91. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -55
  92. package/components/common/pages/shortcuts/lib/models/interfaces.ts +1 -0
  93. package/components/common/recursionTree/RecursionTree.vue +223 -223
  94. package/components/common/select/button/ButtonDropdown.vue +108 -108
  95. package/components/common/spiceConsole/Drawer.vue +370 -370
  96. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  97. package/components/common/split/horizontal/HorizontalNew.vue +376 -376
  98. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  99. package/components/common/split/vertical/Vertical.vue +160 -160
  100. package/components/common/vm/actions/add/Add.vue +622 -622
  101. package/components/common/vm/actions/clone/Clone.vue +639 -639
  102. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  103. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +634 -634
  104. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  105. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +275 -275
  106. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +274 -274
  107. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +177 -177
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +698 -698
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +410 -410
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +99 -99
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +164 -164
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +368 -368
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +232 -232
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +250 -250
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +286 -282
  128. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  130. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  131. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  132. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  133. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  134. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  135. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  136. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  137. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  138. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  139. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +84 -84
  140. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  141. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  142. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  143. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  144. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  145. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +81 -81
  146. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  147. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  148. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  149. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  150. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  151. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  152. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  153. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  154. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  155. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  156. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  157. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  158. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  159. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  160. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  161. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  162. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  163. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  164. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  165. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  166. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  167. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  168. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  169. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  170. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  171. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  172. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  173. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  174. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  175. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  176. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  177. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  178. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  179. package/components/common/wizards/vm/migrate/Migrate.vue +302 -302
  180. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  181. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  182. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +150 -150
  183. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  184. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +43 -43
  185. package/composables/productNameLocal.ts +30 -30
  186. package/composables/useAppVersion.ts +21 -21
  187. package/package.json +1 -1
  188. package/plugins/date.ts +233 -233
  189. package/plugins/recursion.ts +311 -311
  190. package/public/spice-console/lib/images/bitmap.js +203 -203
  191. package/public/spice-console/network/spicechannel.js +383 -383
  192. package/store/main/mutations.ts +7 -7
  193. package/store/main/state.ts +7 -7
  194. package/store/tasks/mappers/recentTasks.ts +64 -64
@@ -1,812 +1,812 @@
1
- <template>
2
- <div>
3
- <atoms-modal
4
- :width="props.width"
5
- :height="props.height"
6
- :show="props.show"
7
- :title="title"
8
- :modal-loading="props.isEditModalLoading"
9
- :class="[
10
- 'diagram-action__edit',
11
- {
12
- 'is-dark': props.isDarkMode,
13
- },
14
- ]"
15
- @hide="onHideEditSettingsModal"
16
- @submit="onSendDataRequest"
17
- >
18
- <template #modalBody>
19
- <common-diagram-main-modals-edit-settings
20
- :items="props.items"
21
- :view-name="props.viewName"
22
- :initial-data="props.initialData"
23
- :adapters="props.adapters"
24
- :flag-send-data="flagSendData"
25
- :is-dark-mode="props.isDarkMode"
26
- @send-edit-data="onSendData"
27
- @change-edit-fields-data="onChangeEditFieldsData"
28
- @check-network-label="onCheckNetworkLabel"
29
- />
30
- </template>
31
- </atoms-modal>
32
- </div>
33
- </template>
34
-
35
- <script setup lang="ts">
36
- import type {
37
- UI_I_Localization,
38
- UI_I_ItemsWithTotalCounts,
39
- } from '~/lib/models/interfaces'
40
- import type {
41
- UI_I_ModalsInitialData,
42
- UI_I_EditFieldsData,
43
- UI_I_SwitchAdapterItem,
44
- } from '~/components/common/diagramMain/lib/models/interfaces'
45
-
46
- // Props from up
47
- interface UI_I_PortViewSettingsModalProps {
48
- show: boolean
49
- viewName: string
50
- width: string
51
- height: string
52
- title?: string
53
- items: {
54
- value: string
55
- text: string
56
- }[]
57
- initialData?: UI_I_ModalsInitialData
58
- adapters?: UI_I_ItemsWithTotalCounts<UI_I_SwitchAdapterItem>
59
- isDarkMode: boolean
60
- isEditModalLoading?: boolean
61
- }
62
-
63
- const props = withDefaults(defineProps<UI_I_PortViewSettingsModalProps>(), {
64
- initialData: () => ({}),
65
- title: 'Network',
66
- adapters: () => ({
67
- total_pages: 0,
68
- total_items: 0,
69
- items: [],
70
- }),
71
- isEditModalLoading: false,
72
- })
73
-
74
- // UI_I_Localization
75
- const localization = computed<UI_I_Localization>(() => useLocal())
76
-
77
- // Title
78
- const title = computed(
79
- () => props.title + localization.value.common.networkEditSettings
80
- )
81
-
82
- // Modal hiding
83
- const emits = defineEmits<{
84
- (event: 'hide'): void
85
- (event: 'change-edit-fields-data', editFieldsData: UI_I_EditFieldsData): void
86
- (
87
- event: 'send-edit-data',
88
- type: string,
89
- hideModal: () => void,
90
- id?: string
91
- ): void
92
- (
93
- event: 'check-network-label',
94
- label: string,
95
- sendMessage: (message: string) => void
96
- ): void
97
- }>()
98
-
99
- const onCheckNetworkLabel = (
100
- label: string,
101
- sendMessage: (message: string) => void
102
- ) => {
103
- emits('check-network-label', label, sendMessage)
104
- }
105
-
106
- const onHideEditSettingsModal = (): void => {
107
- emits('hide')
108
- }
109
-
110
- const onChangeEditFieldsData = (newEditFieldsData: UI_I_EditFieldsData) => {
111
- emits('change-edit-fields-data', newEditFieldsData)
112
- }
113
-
114
- const flagSendData = ref(true)
115
-
116
- const onSendDataRequest = () => {
117
- flagSendData.value = !flagSendData.value
118
- }
119
- const onSendData = (type: string) => {
120
- emits(
121
- 'send-edit-data',
122
- type,
123
- onHideEditSettingsModal,
124
- props.initialData.id || props.title
125
- )
126
- }
127
- </script>
128
-
129
- <style scoped lang="scss">
130
- :deep(.diagram-action__edit) {
131
- .table-fixed-height {
132
- min-height: 200px;
133
- max-height: 227px;
134
- overflow-y: auto;
135
- }
136
- .modal-content {
137
- display: flex;
138
- flex-direction: column;
139
- }
140
- .modal-header {
141
- border-bottom: 1px solid #a6a6a6;
142
- padding: 0;
143
- }
144
-
145
- .wizard-tab__container {
146
- display: flex;
147
- flex: 1 1 100%;
148
- box-sizing: border-box;
149
- }
150
- .wizard-content__container {
151
- display: flex;
152
- flex-direction: column;
153
- align-items: stretch;
154
- flex: 1 1 100%;
155
- box-sizing: border-box;
156
- order: 2;
157
- overflow-y: auto;
158
- padding: 16px 15px 10px 10px;
159
- }
160
- .wizard-content {
161
- height: auto;
162
- width: inherit;
163
- margin: 0;
164
- }
165
- .flex-property-value-group {
166
- margin-left: 10px;
167
- flex: 1 0 0;
168
-
169
- input::-webkit-inner-spin-button {
170
- -webkit-appearance: inner-spin-button;
171
- }
172
- }
173
-
174
- .flex-property-value-group.overridable-dropdown {
175
- max-width: 390px;
176
- min-width: 366px;
177
- }
178
- .overridable-dropdown .flex-property-label-group {
179
- flex-basis: auto;
180
- padding-left: 0;
181
- min-height: 36px;
182
- }
183
- .flex-property-value-group .select {
184
- max-width: 300px;
185
-
186
- select {
187
- color: #565656;
188
- height: 24px;
189
- }
190
-
191
- select:disabled {
192
- opacity: 0.5;
193
- cursor: not-allowed;
194
- }
195
- }
196
- .form-block {
197
- margin: 12px 0 24px;
198
- }
199
- section.form-block {
200
- margin-bottom: 0;
201
- margin-top: 0;
202
- }
203
- .flex-property-value-group {
204
- height: 36px;
205
- }
206
- .flex-property-label-group.dummy {
207
- visibility: hidden;
208
- flex-basis: auto;
209
- }
210
- label.normal-weight {
211
- font-weight: 400;
212
- position: relative;
213
- display: inline-block;
214
- min-height: 1.2rem;
215
- padding-left: 1.1rem;
216
- cursor: pointer;
217
- line-height: 1.2rem;
218
- }
219
- .flex-property-label-group.large {
220
- flex: 0 0 180px;
221
- flex-basis: 210px;
222
- }
223
- .checkbox-inline {
224
- position: relative;
225
- display: inline-block;
226
- margin-bottom: 0;
227
- vertical-align: middle;
228
- font-weight: 400;
229
- cursor: pointer;
230
-
231
- input:focus + label::before {
232
- box-shadow: none;
233
- }
234
-
235
- label {
236
- font-size: 11.05px;
237
- margin-bottom: 5px;
238
- padding-left: 22px;
239
- line-height: 24px;
240
- }
241
- label.normal-font-size {
242
- font-size: 13px;
243
- margin-bottom: 0;
244
- }
245
- &.with-margin {
246
- min-height: 20px;
247
- margin-top: 10px;
248
- margin-bottom: 10px;
249
- }
250
- }
251
- .horizontal-flex-container {
252
- margin-bottom: 5px;
253
- min-height: 36px;
254
- display: flex;
255
- flex-direction: row;
256
- }
257
- .no-margin {
258
- margin-bottom: 0;
259
- }
260
- .port-properties-vlanid-row {
261
- padding-top: 8px;
262
- }
263
- .property-label-group {
264
- width: 140px;
265
- }
266
- .property-value-group {
267
- input::-webkit-inner-spin-button {
268
- -webkit-appearance: inner-spin-button;
269
- }
270
-
271
- margin-left: 10px;
272
-
273
- fieldset {
274
- display: flex;
275
- flex-flow: column;
276
- padding-left: 23px;
277
- }
278
-
279
- input:not([type='checkbox']) {
280
- width: 280px;
281
- }
282
- .combobox-container {
283
- width: 160px;
284
-
285
- input {
286
- width: 160px;
287
- }
288
- }
289
- }
290
- .sidenav {
291
- width: 220px;
292
- height: 100%;
293
- padding: 10px 5px 10px 6px;
294
- border: none;
295
- background: none;
296
-
297
- li {
298
- width: 189px;
299
- line-height: 20px;
300
- display: inline-block;
301
- text-decoration: none;
302
- font-weight: 700;
303
- color: #333;
304
- font-size: 13px;
305
- border-bottom: 1px solid transparent;
306
- border-radius: 5px;
307
- margin-top: 0;
308
- margin-bottom: 7px;
309
- }
310
- }
311
- // Todo will be deleted
312
- div.edit-pg-failover-order-with-details {
313
- flex: 1 1 auto;
314
- flex-direction: column;
315
- display: flex;
316
- }
317
- .flex-grow-auto {
318
- flex: 1 0 auto;
319
- }
320
- .relative-container {
321
- position: relative;
322
- }
323
- .fill-parent {
324
- overflow: visible;
325
- height: 100%;
326
- width: 100%;
327
- }
328
- .absolute-container {
329
- position: absolute;
330
- }
331
- .flex-row {
332
- display: flex;
333
- flex-direction: row;
334
- }
335
- .failover-order-master {
336
- flex: 0 0 200px;
337
- margin-right: 10px;
338
- margin-bottom: 2px;
339
- }
340
- .absolute-container {
341
- position: absolute;
342
- }
343
- .flex-column {
344
- display: flex;
345
- }
346
- .flex-column {
347
- flex-direction: column;
348
- }
349
-
350
- .k-widget {
351
- height: 100%;
352
- box-sizing: border-box;
353
- border: none;
354
- box-shadow: none;
355
- }
356
- .k-header.k-grid-toolbar {
357
- background-color: #fff;
358
- padding: 8px 0 3px;
359
- border: none;
360
- }
361
- .k-grid-toolbar:first-child {
362
- border-radius: 2px 2px 0 0;
363
- }
364
- .vui-action-bar {
365
- padding: 8px 0 3px;
366
- }
367
- .vui-action-bar ul {
368
- margin: 0;
369
- }
370
- ol,
371
- ul {
372
- list-style-position: inside;
373
- padding-left: 0;
374
- }
375
- .vui-action-bar ul li {
376
- padding-right: 4px;
377
- display: inline-block;
378
- list-style: none;
379
- vertical-align: middle;
380
- line-height: 20px;
381
- }
382
- .k-grid .k-grid-header {
383
- position: relative;
384
- border-radius: 3px 3px 0 0;
385
- overflow: hidden;
386
- background-color: #fafafa;
387
- padding-right: 18px;
388
- border: none;
389
-
390
- .k-grid-header-wrap {
391
- display: none;
392
- border-right: 0;
393
- border-color: #ccc;
394
- }
395
- }
396
- .k-grid-header table {
397
- table-layout: fixed;
398
- }
399
- .k-grid-header-wrap > table {
400
- margin-bottom: -1px;
401
-
402
- col {
403
- width: 150px;
404
- }
405
- }
406
- .k-grid table {
407
- width: 100%;
408
- margin: 0;
409
- max-width: none;
410
- border-collapse: separate;
411
- border-spacing: 0;
412
- empty-cells: show;
413
- border-width: 0;
414
- outline: 0;
415
- }
416
- .k-grid-header thead tr {
417
- height: 24px;
418
- }
419
- .k-grid-header th.k-header:first-child {
420
- border-left: 1px solid #ddd;
421
- }
422
- .k-grid-header th.k-header {
423
- color: #565656;
424
- background-color: #fafafa;
425
- font-size: 12px;
426
- font-weight: 600;
427
- border-left: #ddd 1px;
428
- height: 24px;
429
- vertical-align: middle;
430
- padding: 0 0 0 12px;
431
- border-bottom: none;
432
- }
433
- .k-grid-header th.k-header {
434
- overflow: hidden;
435
- border: solid #ccc;
436
- border-width: 0 0 2px 1px;
437
- padding: 0.5em 0.6em 0.4em;
438
- font-weight: 400;
439
- white-space: nowrap;
440
- text-overflow: ellipsis;
441
- text-align: left;
442
- }
443
- .k-header > .k-grid-filter {
444
- margin-right: 3px !important;
445
- }
446
- .k-header > .k-grid-filter,
447
- .k-header > .k-header-column-menu {
448
- float: right;
449
- margin: -0.5em -0.6em -0.4em;
450
- padding: 0.5em 0.2em 0.4em;
451
- position: relative;
452
- z-index: 1;
453
- }
454
- .k-grid-content {
455
- width: auto;
456
- overflow-y: scroll;
457
- padding-right: 3px;
458
- height: 200px;
459
- }
460
- .k-selectable {
461
- height: auto;
462
-
463
- col {
464
- width: 150px;
465
- }
466
- }
467
- ul li span.disabled {
468
- opacity: 0.4;
469
- pointer-events: none;
470
- }
471
- .k-grid.k-widget .k-grid-content,
472
- .k-grid.k-widget .k-grid-content-locked {
473
- border-left: 1px solid #ddd;
474
- border-right: 1px solid #ddd;
475
- }
476
- .k-grid-content {
477
- background: #fff;
478
- }
479
- .no-column-header .k-grid-content {
480
- border-top: 1px solid #ddd;
481
- border-bottom: 1px solid #ddd;
482
- }
483
- .k-grid-content {
484
- min-height: 35px;
485
- }
486
- .k-grid-content,
487
- .k-grid-content-locked,
488
- .k-pager-wrap {
489
- white-space: normal;
490
- }
491
- .k-grid-content {
492
- position: relative;
493
- zoom: 1;
494
- }
495
- .k-widget {
496
- line-height: normal;
497
- }
498
- .k-grid-content table,
499
- .k-grid-content-locked > table,
500
- .k-grid-footer table,
501
- .k-grid-header table {
502
- table-layout: fixed;
503
- }
504
-
505
- .k-grid-content table,
506
- .k-grid-content-locked > table,
507
- .k-grid-footer table,
508
- .k-grid-header table {
509
- table-layout: fixed;
510
- }
511
- .k-grid table {
512
- width: 100%;
513
- margin: 0;
514
- max-width: none;
515
- border-collapse: separate;
516
- border-spacing: 0;
517
- empty-cells: show;
518
- border-width: 0;
519
- outline: 0;
520
- }
521
- .vui-datagrid.k-grid.k-widget .k-grid-content tbody tr,
522
- .vui-datagrid.k-grid.k-widget .k-grid-content-locked tbody tr,
523
- .k-grid.k-widget .k-grid-content tbody tr,
524
- .k-grid.k-widget .k-grid-content-locked tbody tr {
525
- background-color: #fff;
526
- height: 24px;
527
- color: #565656;
528
- cursor: default;
529
- user-select: none;
530
-
531
- &.k-state-selected {
532
- background-color: #29414e;
533
- color: #ffffff;
534
- border-bottom: 1px solid;
535
- border-bottom-color: transparent;
536
- }
537
-
538
- &:not(.k-state-selected):hover {
539
- background-color: #e8e8e8;
540
- color: #454545;
541
-
542
- td {
543
- border-bottom: 1px solid #666666;
544
- }
545
- }
546
-
547
- span {
548
- //TODO set font size to 13px when will add font
549
- //font-family: ProximaNova;
550
- font-size: 95%;
551
- }
552
- }
553
- .k-widget.k-grid .k-grid-content tbody tr {
554
- color: #565656;
555
- }
556
- .k-grid.k-widget .k-grid-content tbody tr td,
557
- .k-grid.k-widget .k-grid-content-locked tbody tr td {
558
- border-width: 0 0 1px;
559
- border-color: #ddd;
560
- font-size: 13px;
561
- font-weight: 400;
562
- line-height: 24px;
563
- padding: 0 12px;
564
- }
565
- .k-grid tr td {
566
- border-style: solid;
567
- }
568
- .assigned-adapters-datagrid .assigned-pnic-sections {
569
- font-weight: 700;
570
- margin: 0 -9px;
571
- }
572
- .action-link-container {
573
- cursor: pointer;
574
-
575
- svg {
576
- transform: translateY(3px);
577
- }
578
- }
579
- ul li span:hover:not(.disabled) {
580
- text-decoration: none;
581
- background-color: #e9f6fd;
582
- border: 1px solid #c7e9ff;
583
- }
584
- ul li span {
585
- padding: 4px;
586
- line-height: 22px;
587
- border: 1px solid transparent;
588
- }
589
- .k-grid td * {
590
- overflow: hidden;
591
- text-overflow: ellipsis;
592
- white-space: nowrap;
593
- }
594
- .k-scrollbar-vertical {
595
- top: 0;
596
- right: 0;
597
- width: 17px;
598
- height: 100%;
599
- overflow-x: hidden;
600
- }
601
-
602
- .k-scrollbar {
603
- position: absolute;
604
- overflow: scroll;
605
- }
606
- .k-grid.k-widget .k-header.k-grid-toolbar {
607
- background-color: #fff;
608
- padding: 8px 0 3px;
609
- border: none;
610
- width: 100%;
611
- }
612
- .absolute-container {
613
- position: initial;
614
- }
615
-
616
- .failover-order-details {
617
- flex: 1 0 auto;
618
- border-left: 1px solid #ddd;
619
-
620
- & > div {
621
- margin-left: 10px;
622
- }
623
- .no-items-selected-container {
624
- display: -ms-flexbox;
625
- display: flex;
626
- -ms-flex-align: center;
627
- align-items: center;
628
- -ms-flex-pack: center;
629
- justify-content: center;
630
- width: 100%;
631
- height: 100%;
632
- }
633
- .no-items-selected-text {
634
- font-size: 16px;
635
- font-weight: 700;
636
- color: #a0a0a0;
637
- }
638
- .absolute-container {
639
- position: absolute;
640
- }
641
- }
642
- .compact {
643
- padding-top: 0;
644
- }
645
- .failover-order-with-details-title {
646
- margin: 0 !important;
647
- padding-top: 0 !important;
648
- }
649
- .element-disabled {
650
- pointer-events: none;
651
- cursor: not-allowed;
652
- opacity: 0.6;
653
- }
654
- // Todo will be deleted
655
- .danger-not-valid {
656
- border: 2px solid red;
657
- border-bottom: 1px solid #db2100;
658
- }
659
- .tooltip-field {
660
- margin-right: 12px;
661
- }
662
- .property-value-group.tooltip-field-container {
663
- width: 177.6px;
664
- }
665
- .adapter-icon-positioning {
666
- transform: translate(-2px, 5px);
667
- }
668
-
669
- .wizard-content-port {
670
- .horizontal-flex-container {
671
- min-height: 24px;
672
- margin-bottom: 0;
673
- }
674
-
675
- .radio {
676
- min-height: 39px;
677
- margin: 10px 0;
678
- }
679
-
680
- .form-block {
681
- margin: 12px 0 24px 0;
682
- padding-left: 23px;
683
-
684
- &.form-block-ipv {
685
- input[type='text'] {
686
- width: 143px;
687
- }
688
-
689
- .horizontal-flex-container > label {
690
- margin-right: 50px;
691
- }
692
- }
693
- }
694
-
695
- .edit-vmkernel-adapter-section {
696
- padding-top: 12px;
697
-
698
- label {
699
- input[type='checkbox'] {
700
- margin-right: 4px;
701
- transform: translateY(1px);
702
- }
703
- }
704
-
705
- .horizontal-flex-container {
706
- margin-bottom: 5px;
707
- }
708
- }
709
- }
710
- }
711
-
712
- :deep(.diagram-action__edit.is-dark) {
713
- .property-label-group {
714
- color: var(--main-color-mode2);
715
- }
716
- .flex-property-label-group {
717
- color: var(--main-color-mode2);
718
- }
719
- .flex-property-value-group {
720
- select {
721
- color: #fff;
722
- }
723
- }
724
- .failover-order-master {
725
- .secondary-title label {
726
- color: #fff;
727
- }
728
- }
729
- .k-grid-content {
730
- background-color: var(--modal-bg-color);
731
- }
732
- .vui-action-bar {
733
- background-color: var(--pannel-bg-color);
734
- color: var(--title-color);
735
-
736
- .action-link-container:not(.disabled) {
737
- &:hover {
738
- background-color: #29414e;
739
- border: 1px solid #c7e9ff;
740
- }
741
- }
742
-
743
- svg {
744
- fill: #fff;
745
- }
746
- }
747
-
748
- .k-grid.k-widget .k-grid-content {
749
- border-left: 1px solid #485764;
750
- border-right: 1px solid #485764;
751
- border-top: 1px solid #ddd;
752
- border-bottom: 1px solid #ddd;
753
-
754
- tbody tr {
755
- background-color: var(--modal-bg-color);
756
-
757
- td {
758
- border-bottom: 1px solid #666666;
759
- border-color: #666666;
760
- }
761
-
762
- &:hover {
763
- background-color: #324f61;
764
- color: var(--title-color);
765
-
766
- td {
767
- border-bottom: 1px solid #ffffff;
768
- }
769
- }
770
-
771
- &.k-state-selected {
772
- background-color: #d8e3e9;
773
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
774
-
775
- td span {
776
- color: #000;
777
- }
778
- }
779
- }
780
- }
781
-
782
- .failover-order-details {
783
- &.relative-container .absolute-container {
784
- background-color: var(--pannel-bg-color);
785
- color: var(--main-color-mode2);
786
-
787
- &:has(.no-items-selected-container) {
788
- background-color: transparent;
789
- }
790
- }
791
-
792
- td span {
793
- color: var(--main-color-mode2);
794
- }
795
- button span {
796
- color: var(--main-color-mode2);
797
-
798
- &:hover:not(.disabled) {
799
- background-color: transparent;
800
- border: 1px solid transparent;
801
- }
802
- }
803
- button.active span {
804
- color: #fff;
805
- }
806
- }
807
-
808
- .select-adapter-info span {
809
- color: var(--main-color-mode2);
810
- }
811
- }
812
- </style>
1
+ <template>
2
+ <div>
3
+ <atoms-modal
4
+ :width="props.width"
5
+ :height="props.height"
6
+ :show="props.show"
7
+ :title="title"
8
+ :modal-loading="props.isEditModalLoading"
9
+ :class="[
10
+ 'diagram-action__edit',
11
+ {
12
+ 'is-dark': props.isDarkMode,
13
+ },
14
+ ]"
15
+ @hide="onHideEditSettingsModal"
16
+ @submit="onSendDataRequest"
17
+ >
18
+ <template #modalBody>
19
+ <common-diagram-main-modals-edit-settings
20
+ :items="props.items"
21
+ :view-name="props.viewName"
22
+ :initial-data="props.initialData"
23
+ :adapters="props.adapters"
24
+ :flag-send-data="flagSendData"
25
+ :is-dark-mode="props.isDarkMode"
26
+ @send-edit-data="onSendData"
27
+ @change-edit-fields-data="onChangeEditFieldsData"
28
+ @check-network-label="onCheckNetworkLabel"
29
+ />
30
+ </template>
31
+ </atoms-modal>
32
+ </div>
33
+ </template>
34
+
35
+ <script setup lang="ts">
36
+ import type {
37
+ UI_I_Localization,
38
+ UI_I_ItemsWithTotalCounts,
39
+ } from '~/lib/models/interfaces'
40
+ import type {
41
+ UI_I_ModalsInitialData,
42
+ UI_I_EditFieldsData,
43
+ UI_I_SwitchAdapterItem,
44
+ } from '~/components/common/diagramMain/lib/models/interfaces'
45
+
46
+ // Props from up
47
+ interface UI_I_PortViewSettingsModalProps {
48
+ show: boolean
49
+ viewName: string
50
+ width: string
51
+ height: string
52
+ title?: string
53
+ items: {
54
+ value: string
55
+ text: string
56
+ }[]
57
+ initialData?: UI_I_ModalsInitialData
58
+ adapters?: UI_I_ItemsWithTotalCounts<UI_I_SwitchAdapterItem>
59
+ isDarkMode: boolean
60
+ isEditModalLoading?: boolean
61
+ }
62
+
63
+ const props = withDefaults(defineProps<UI_I_PortViewSettingsModalProps>(), {
64
+ initialData: () => ({}),
65
+ title: 'Network',
66
+ adapters: () => ({
67
+ total_pages: 0,
68
+ total_items: 0,
69
+ items: [],
70
+ }),
71
+ isEditModalLoading: false,
72
+ })
73
+
74
+ // UI_I_Localization
75
+ const localization = computed<UI_I_Localization>(() => useLocal())
76
+
77
+ // Title
78
+ const title = computed(
79
+ () => props.title + localization.value.common.networkEditSettings
80
+ )
81
+
82
+ // Modal hiding
83
+ const emits = defineEmits<{
84
+ (event: 'hide'): void
85
+ (event: 'change-edit-fields-data', editFieldsData: UI_I_EditFieldsData): void
86
+ (
87
+ event: 'send-edit-data',
88
+ type: string,
89
+ hideModal: () => void,
90
+ id?: string
91
+ ): void
92
+ (
93
+ event: 'check-network-label',
94
+ label: string,
95
+ sendMessage: (message: string) => void
96
+ ): void
97
+ }>()
98
+
99
+ const onCheckNetworkLabel = (
100
+ label: string,
101
+ sendMessage: (message: string) => void
102
+ ) => {
103
+ emits('check-network-label', label, sendMessage)
104
+ }
105
+
106
+ const onHideEditSettingsModal = (): void => {
107
+ emits('hide')
108
+ }
109
+
110
+ const onChangeEditFieldsData = (newEditFieldsData: UI_I_EditFieldsData) => {
111
+ emits('change-edit-fields-data', newEditFieldsData)
112
+ }
113
+
114
+ const flagSendData = ref(true)
115
+
116
+ const onSendDataRequest = () => {
117
+ flagSendData.value = !flagSendData.value
118
+ }
119
+ const onSendData = (type: string) => {
120
+ emits(
121
+ 'send-edit-data',
122
+ type,
123
+ onHideEditSettingsModal,
124
+ props.initialData.id || props.title
125
+ )
126
+ }
127
+ </script>
128
+
129
+ <style scoped lang="scss">
130
+ :deep(.diagram-action__edit) {
131
+ .table-fixed-height {
132
+ min-height: 200px;
133
+ max-height: 227px;
134
+ overflow-y: auto;
135
+ }
136
+ .modal-content {
137
+ display: flex;
138
+ flex-direction: column;
139
+ }
140
+ .modal-header {
141
+ border-bottom: 1px solid #a6a6a6;
142
+ padding: 0;
143
+ }
144
+
145
+ .wizard-tab__container {
146
+ display: flex;
147
+ flex: 1 1 100%;
148
+ box-sizing: border-box;
149
+ }
150
+ .wizard-content__container {
151
+ display: flex;
152
+ flex-direction: column;
153
+ align-items: stretch;
154
+ flex: 1 1 100%;
155
+ box-sizing: border-box;
156
+ order: 2;
157
+ overflow-y: auto;
158
+ padding: 16px 15px 10px 10px;
159
+ }
160
+ .wizard-content {
161
+ height: auto;
162
+ width: inherit;
163
+ margin: 0;
164
+ }
165
+ .flex-property-value-group {
166
+ margin-left: 10px;
167
+ flex: 1 0 0;
168
+
169
+ input::-webkit-inner-spin-button {
170
+ -webkit-appearance: inner-spin-button;
171
+ }
172
+ }
173
+
174
+ .flex-property-value-group.overridable-dropdown {
175
+ max-width: 390px;
176
+ min-width: 366px;
177
+ }
178
+ .overridable-dropdown .flex-property-label-group {
179
+ flex-basis: auto;
180
+ padding-left: 0;
181
+ min-height: 36px;
182
+ }
183
+ .flex-property-value-group .select {
184
+ max-width: 300px;
185
+
186
+ select {
187
+ color: #565656;
188
+ height: 24px;
189
+ }
190
+
191
+ select:disabled {
192
+ opacity: 0.5;
193
+ cursor: not-allowed;
194
+ }
195
+ }
196
+ .form-block {
197
+ margin: 12px 0 24px;
198
+ }
199
+ section.form-block {
200
+ margin-bottom: 0;
201
+ margin-top: 0;
202
+ }
203
+ .flex-property-value-group {
204
+ height: 36px;
205
+ }
206
+ .flex-property-label-group.dummy {
207
+ visibility: hidden;
208
+ flex-basis: auto;
209
+ }
210
+ label.normal-weight {
211
+ font-weight: 400;
212
+ position: relative;
213
+ display: inline-block;
214
+ min-height: 1.2rem;
215
+ padding-left: 1.1rem;
216
+ cursor: pointer;
217
+ line-height: 1.2rem;
218
+ }
219
+ .flex-property-label-group.large {
220
+ flex: 0 0 180px;
221
+ flex-basis: 210px;
222
+ }
223
+ .checkbox-inline {
224
+ position: relative;
225
+ display: inline-block;
226
+ margin-bottom: 0;
227
+ vertical-align: middle;
228
+ font-weight: 400;
229
+ cursor: pointer;
230
+
231
+ input:focus + label::before {
232
+ box-shadow: none;
233
+ }
234
+
235
+ label {
236
+ font-size: 11.05px;
237
+ margin-bottom: 5px;
238
+ padding-left: 22px;
239
+ line-height: 24px;
240
+ }
241
+ label.normal-font-size {
242
+ font-size: 13px;
243
+ margin-bottom: 0;
244
+ }
245
+ &.with-margin {
246
+ min-height: 20px;
247
+ margin-top: 10px;
248
+ margin-bottom: 10px;
249
+ }
250
+ }
251
+ .horizontal-flex-container {
252
+ margin-bottom: 5px;
253
+ min-height: 36px;
254
+ display: flex;
255
+ flex-direction: row;
256
+ }
257
+ .no-margin {
258
+ margin-bottom: 0;
259
+ }
260
+ .port-properties-vlanid-row {
261
+ padding-top: 8px;
262
+ }
263
+ .property-label-group {
264
+ width: 140px;
265
+ }
266
+ .property-value-group {
267
+ input::-webkit-inner-spin-button {
268
+ -webkit-appearance: inner-spin-button;
269
+ }
270
+
271
+ margin-left: 10px;
272
+
273
+ fieldset {
274
+ display: flex;
275
+ flex-flow: column;
276
+ padding-left: 23px;
277
+ }
278
+
279
+ input:not([type='checkbox']) {
280
+ width: 280px;
281
+ }
282
+ .combobox-container {
283
+ width: 160px;
284
+
285
+ input {
286
+ width: 160px;
287
+ }
288
+ }
289
+ }
290
+ .sidenav {
291
+ width: 220px;
292
+ height: 100%;
293
+ padding: 10px 5px 10px 6px;
294
+ border: none;
295
+ background: none;
296
+
297
+ li {
298
+ width: 189px;
299
+ line-height: 20px;
300
+ display: inline-block;
301
+ text-decoration: none;
302
+ font-weight: 700;
303
+ color: #333;
304
+ font-size: 13px;
305
+ border-bottom: 1px solid transparent;
306
+ border-radius: 5px;
307
+ margin-top: 0;
308
+ margin-bottom: 7px;
309
+ }
310
+ }
311
+ // Todo will be deleted
312
+ div.edit-pg-failover-order-with-details {
313
+ flex: 1 1 auto;
314
+ flex-direction: column;
315
+ display: flex;
316
+ }
317
+ .flex-grow-auto {
318
+ flex: 1 0 auto;
319
+ }
320
+ .relative-container {
321
+ position: relative;
322
+ }
323
+ .fill-parent {
324
+ overflow: visible;
325
+ height: 100%;
326
+ width: 100%;
327
+ }
328
+ .absolute-container {
329
+ position: absolute;
330
+ }
331
+ .flex-row {
332
+ display: flex;
333
+ flex-direction: row;
334
+ }
335
+ .failover-order-master {
336
+ flex: 0 0 200px;
337
+ margin-right: 10px;
338
+ margin-bottom: 2px;
339
+ }
340
+ .absolute-container {
341
+ position: absolute;
342
+ }
343
+ .flex-column {
344
+ display: flex;
345
+ }
346
+ .flex-column {
347
+ flex-direction: column;
348
+ }
349
+
350
+ .k-widget {
351
+ height: 100%;
352
+ box-sizing: border-box;
353
+ border: none;
354
+ box-shadow: none;
355
+ }
356
+ .k-header.k-grid-toolbar {
357
+ background-color: #fff;
358
+ padding: 8px 0 3px;
359
+ border: none;
360
+ }
361
+ .k-grid-toolbar:first-child {
362
+ border-radius: 2px 2px 0 0;
363
+ }
364
+ .vui-action-bar {
365
+ padding: 8px 0 3px;
366
+ }
367
+ .vui-action-bar ul {
368
+ margin: 0;
369
+ }
370
+ ol,
371
+ ul {
372
+ list-style-position: inside;
373
+ padding-left: 0;
374
+ }
375
+ .vui-action-bar ul li {
376
+ padding-right: 4px;
377
+ display: inline-block;
378
+ list-style: none;
379
+ vertical-align: middle;
380
+ line-height: 20px;
381
+ }
382
+ .k-grid .k-grid-header {
383
+ position: relative;
384
+ border-radius: 3px 3px 0 0;
385
+ overflow: hidden;
386
+ background-color: #fafafa;
387
+ padding-right: 18px;
388
+ border: none;
389
+
390
+ .k-grid-header-wrap {
391
+ display: none;
392
+ border-right: 0;
393
+ border-color: #ccc;
394
+ }
395
+ }
396
+ .k-grid-header table {
397
+ table-layout: fixed;
398
+ }
399
+ .k-grid-header-wrap > table {
400
+ margin-bottom: -1px;
401
+
402
+ col {
403
+ width: 150px;
404
+ }
405
+ }
406
+ .k-grid table {
407
+ width: 100%;
408
+ margin: 0;
409
+ max-width: none;
410
+ border-collapse: separate;
411
+ border-spacing: 0;
412
+ empty-cells: show;
413
+ border-width: 0;
414
+ outline: 0;
415
+ }
416
+ .k-grid-header thead tr {
417
+ height: 24px;
418
+ }
419
+ .k-grid-header th.k-header:first-child {
420
+ border-left: 1px solid #ddd;
421
+ }
422
+ .k-grid-header th.k-header {
423
+ color: #565656;
424
+ background-color: #fafafa;
425
+ font-size: 12px;
426
+ font-weight: 600;
427
+ border-left: #ddd 1px;
428
+ height: 24px;
429
+ vertical-align: middle;
430
+ padding: 0 0 0 12px;
431
+ border-bottom: none;
432
+ }
433
+ .k-grid-header th.k-header {
434
+ overflow: hidden;
435
+ border: solid #ccc;
436
+ border-width: 0 0 2px 1px;
437
+ padding: 0.5em 0.6em 0.4em;
438
+ font-weight: 400;
439
+ white-space: nowrap;
440
+ text-overflow: ellipsis;
441
+ text-align: left;
442
+ }
443
+ .k-header > .k-grid-filter {
444
+ margin-right: 3px !important;
445
+ }
446
+ .k-header > .k-grid-filter,
447
+ .k-header > .k-header-column-menu {
448
+ float: right;
449
+ margin: -0.5em -0.6em -0.4em;
450
+ padding: 0.5em 0.2em 0.4em;
451
+ position: relative;
452
+ z-index: 1;
453
+ }
454
+ .k-grid-content {
455
+ width: auto;
456
+ overflow-y: scroll;
457
+ padding-right: 3px;
458
+ height: 200px;
459
+ }
460
+ .k-selectable {
461
+ height: auto;
462
+
463
+ col {
464
+ width: 150px;
465
+ }
466
+ }
467
+ ul li span.disabled {
468
+ opacity: 0.4;
469
+ pointer-events: none;
470
+ }
471
+ .k-grid.k-widget .k-grid-content,
472
+ .k-grid.k-widget .k-grid-content-locked {
473
+ border-left: 1px solid #ddd;
474
+ border-right: 1px solid #ddd;
475
+ }
476
+ .k-grid-content {
477
+ background: #fff;
478
+ }
479
+ .no-column-header .k-grid-content {
480
+ border-top: 1px solid #ddd;
481
+ border-bottom: 1px solid #ddd;
482
+ }
483
+ .k-grid-content {
484
+ min-height: 35px;
485
+ }
486
+ .k-grid-content,
487
+ .k-grid-content-locked,
488
+ .k-pager-wrap {
489
+ white-space: normal;
490
+ }
491
+ .k-grid-content {
492
+ position: relative;
493
+ zoom: 1;
494
+ }
495
+ .k-widget {
496
+ line-height: normal;
497
+ }
498
+ .k-grid-content table,
499
+ .k-grid-content-locked > table,
500
+ .k-grid-footer table,
501
+ .k-grid-header table {
502
+ table-layout: fixed;
503
+ }
504
+
505
+ .k-grid-content table,
506
+ .k-grid-content-locked > table,
507
+ .k-grid-footer table,
508
+ .k-grid-header table {
509
+ table-layout: fixed;
510
+ }
511
+ .k-grid table {
512
+ width: 100%;
513
+ margin: 0;
514
+ max-width: none;
515
+ border-collapse: separate;
516
+ border-spacing: 0;
517
+ empty-cells: show;
518
+ border-width: 0;
519
+ outline: 0;
520
+ }
521
+ .vui-datagrid.k-grid.k-widget .k-grid-content tbody tr,
522
+ .vui-datagrid.k-grid.k-widget .k-grid-content-locked tbody tr,
523
+ .k-grid.k-widget .k-grid-content tbody tr,
524
+ .k-grid.k-widget .k-grid-content-locked tbody tr {
525
+ background-color: #fff;
526
+ height: 24px;
527
+ color: #565656;
528
+ cursor: default;
529
+ user-select: none;
530
+
531
+ &.k-state-selected {
532
+ background-color: #29414e;
533
+ color: #ffffff;
534
+ border-bottom: 1px solid;
535
+ border-bottom-color: transparent;
536
+ }
537
+
538
+ &:not(.k-state-selected):hover {
539
+ background-color: #e8e8e8;
540
+ color: #454545;
541
+
542
+ td {
543
+ border-bottom: 1px solid #666666;
544
+ }
545
+ }
546
+
547
+ span {
548
+ //TODO set font size to 13px when will add font
549
+ //font-family: ProximaNova;
550
+ font-size: 95%;
551
+ }
552
+ }
553
+ .k-widget.k-grid .k-grid-content tbody tr {
554
+ color: #565656;
555
+ }
556
+ .k-grid.k-widget .k-grid-content tbody tr td,
557
+ .k-grid.k-widget .k-grid-content-locked tbody tr td {
558
+ border-width: 0 0 1px;
559
+ border-color: #ddd;
560
+ font-size: 13px;
561
+ font-weight: 400;
562
+ line-height: 24px;
563
+ padding: 0 12px;
564
+ }
565
+ .k-grid tr td {
566
+ border-style: solid;
567
+ }
568
+ .assigned-adapters-datagrid .assigned-pnic-sections {
569
+ font-weight: 700;
570
+ margin: 0 -9px;
571
+ }
572
+ .action-link-container {
573
+ cursor: pointer;
574
+
575
+ svg {
576
+ transform: translateY(3px);
577
+ }
578
+ }
579
+ ul li span:hover:not(.disabled) {
580
+ text-decoration: none;
581
+ background-color: #e9f6fd;
582
+ border: 1px solid #c7e9ff;
583
+ }
584
+ ul li span {
585
+ padding: 4px;
586
+ line-height: 22px;
587
+ border: 1px solid transparent;
588
+ }
589
+ .k-grid td * {
590
+ overflow: hidden;
591
+ text-overflow: ellipsis;
592
+ white-space: nowrap;
593
+ }
594
+ .k-scrollbar-vertical {
595
+ top: 0;
596
+ right: 0;
597
+ width: 17px;
598
+ height: 100%;
599
+ overflow-x: hidden;
600
+ }
601
+
602
+ .k-scrollbar {
603
+ position: absolute;
604
+ overflow: scroll;
605
+ }
606
+ .k-grid.k-widget .k-header.k-grid-toolbar {
607
+ background-color: #fff;
608
+ padding: 8px 0 3px;
609
+ border: none;
610
+ width: 100%;
611
+ }
612
+ .absolute-container {
613
+ position: initial;
614
+ }
615
+
616
+ .failover-order-details {
617
+ flex: 1 0 auto;
618
+ border-left: 1px solid #ddd;
619
+
620
+ & > div {
621
+ margin-left: 10px;
622
+ }
623
+ .no-items-selected-container {
624
+ display: -ms-flexbox;
625
+ display: flex;
626
+ -ms-flex-align: center;
627
+ align-items: center;
628
+ -ms-flex-pack: center;
629
+ justify-content: center;
630
+ width: 100%;
631
+ height: 100%;
632
+ }
633
+ .no-items-selected-text {
634
+ font-size: 16px;
635
+ font-weight: 700;
636
+ color: #a0a0a0;
637
+ }
638
+ .absolute-container {
639
+ position: absolute;
640
+ }
641
+ }
642
+ .compact {
643
+ padding-top: 0;
644
+ }
645
+ .failover-order-with-details-title {
646
+ margin: 0 !important;
647
+ padding-top: 0 !important;
648
+ }
649
+ .element-disabled {
650
+ pointer-events: none;
651
+ cursor: not-allowed;
652
+ opacity: 0.6;
653
+ }
654
+ // Todo will be deleted
655
+ .danger-not-valid {
656
+ border: 2px solid red;
657
+ border-bottom: 1px solid #db2100;
658
+ }
659
+ .tooltip-field {
660
+ margin-right: 12px;
661
+ }
662
+ .property-value-group.tooltip-field-container {
663
+ width: 177.6px;
664
+ }
665
+ .adapter-icon-positioning {
666
+ transform: translate(-2px, 5px);
667
+ }
668
+
669
+ .wizard-content-port {
670
+ .horizontal-flex-container {
671
+ min-height: 24px;
672
+ margin-bottom: 0;
673
+ }
674
+
675
+ .radio {
676
+ min-height: 39px;
677
+ margin: 10px 0;
678
+ }
679
+
680
+ .form-block {
681
+ margin: 12px 0 24px 0;
682
+ padding-left: 23px;
683
+
684
+ &.form-block-ipv {
685
+ input[type='text'] {
686
+ width: 143px;
687
+ }
688
+
689
+ .horizontal-flex-container > label {
690
+ margin-right: 50px;
691
+ }
692
+ }
693
+ }
694
+
695
+ .edit-vmkernel-adapter-section {
696
+ padding-top: 12px;
697
+
698
+ label {
699
+ input[type='checkbox'] {
700
+ margin-right: 4px;
701
+ transform: translateY(1px);
702
+ }
703
+ }
704
+
705
+ .horizontal-flex-container {
706
+ margin-bottom: 5px;
707
+ }
708
+ }
709
+ }
710
+ }
711
+
712
+ :deep(.diagram-action__edit.is-dark) {
713
+ .property-label-group {
714
+ color: var(--main-color-mode2);
715
+ }
716
+ .flex-property-label-group {
717
+ color: var(--main-color-mode2);
718
+ }
719
+ .flex-property-value-group {
720
+ select {
721
+ color: #fff;
722
+ }
723
+ }
724
+ .failover-order-master {
725
+ .secondary-title label {
726
+ color: #fff;
727
+ }
728
+ }
729
+ .k-grid-content {
730
+ background-color: var(--modal-bg-color);
731
+ }
732
+ .vui-action-bar {
733
+ background-color: var(--pannel-bg-color);
734
+ color: var(--title-color);
735
+
736
+ .action-link-container:not(.disabled) {
737
+ &:hover {
738
+ background-color: #29414e;
739
+ border: 1px solid #c7e9ff;
740
+ }
741
+ }
742
+
743
+ svg {
744
+ fill: #fff;
745
+ }
746
+ }
747
+
748
+ .k-grid.k-widget .k-grid-content {
749
+ border-left: 1px solid #485764;
750
+ border-right: 1px solid #485764;
751
+ border-top: 1px solid #ddd;
752
+ border-bottom: 1px solid #ddd;
753
+
754
+ tbody tr {
755
+ background-color: var(--modal-bg-color);
756
+
757
+ td {
758
+ border-bottom: 1px solid #666666;
759
+ border-color: #666666;
760
+ }
761
+
762
+ &:hover {
763
+ background-color: #324f61;
764
+ color: var(--title-color);
765
+
766
+ td {
767
+ border-bottom: 1px solid #ffffff;
768
+ }
769
+ }
770
+
771
+ &.k-state-selected {
772
+ background-color: #d8e3e9;
773
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
774
+
775
+ td span {
776
+ color: #000;
777
+ }
778
+ }
779
+ }
780
+ }
781
+
782
+ .failover-order-details {
783
+ &.relative-container .absolute-container {
784
+ background-color: var(--pannel-bg-color);
785
+ color: var(--main-color-mode2);
786
+
787
+ &:has(.no-items-selected-container) {
788
+ background-color: transparent;
789
+ }
790
+ }
791
+
792
+ td span {
793
+ color: var(--main-color-mode2);
794
+ }
795
+ button span {
796
+ color: var(--main-color-mode2);
797
+
798
+ &:hover:not(.disabled) {
799
+ background-color: transparent;
800
+ border: 1px solid transparent;
801
+ }
802
+ }
803
+ button.active span {
804
+ color: #fff;
805
+ }
806
+ }
807
+
808
+ .select-adapter-info span {
809
+ color: var(--main-color-mode2);
810
+ }
811
+ }
812
+ </style>