bfg-common 1.3.239 → 1.3.241

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 (163) hide show
  1. package/components/common/BadBrowser.vue +16 -12
  2. package/components/common/accordion/Accordion.vue +1 -0
  3. package/components/common/accordion/Recursion.vue +2 -0
  4. package/components/common/accordion/lib/models/interfaces.ts +1 -0
  5. package/components/common/adapterManager/AddAdapterModal.vue +11 -4
  6. package/components/common/adapterManager/AddAdapterWarningModal.vue +1 -0
  7. package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +2 -0
  8. package/components/common/adapterManager/ui/actions/MoveDownAdapterButton.vue +2 -0
  9. package/components/common/adapterManager/ui/actions/MoveUpAdapterButton.vue +2 -0
  10. package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +2 -0
  11. package/components/common/adapterManager/ui/table/Adapters.vue +14 -13
  12. package/components/common/adapterManager/ui/table/Header.vue +6 -4
  13. package/components/common/adapterManager/ui/table/Table.vue +13 -4
  14. package/components/common/browse/Browse.vue +5 -1
  15. package/components/common/browse/blocks/Container.vue +3 -0
  16. package/components/common/browse/blocks/contents/Files.vue +1 -0
  17. package/components/common/context/ContextRecursion.vue +6 -1
  18. package/components/common/details/DetailsItem.vue +3 -0
  19. package/components/common/diagramMain/Header.vue +4 -0
  20. package/components/common/diagramMain/adapter/AdapterItem.vue +2 -0
  21. package/components/common/diagramMain/adapter/Contents.vue +2 -0
  22. package/components/common/diagramMain/lib/models/interfaces.ts +10 -0
  23. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +1 -0
  24. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +13 -27
  25. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +1 -0
  26. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +3 -0
  27. package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +8 -0
  28. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +6 -0
  29. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +2 -0
  30. package/components/common/diagramMain/modals/lib/config/networkModal.ts +4 -0
  31. package/components/common/diagramMain/modals/lib/config/portModal.ts +7 -2
  32. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +36 -0
  33. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +19 -13
  34. package/components/common/diagramMain/modals/remove/RemoveModal.vue +5 -0
  35. package/components/common/diagramMain/modals/viewSettings/ViewSettings.vue +11 -7
  36. package/components/common/diagramMain/network/Contents.vue +5 -4
  37. package/components/common/diagramMain/port/Port.vue +1 -0
  38. package/components/common/feedback/Buttons.vue +2 -0
  39. package/components/common/feedback/Feedback.vue +9 -2
  40. package/components/common/feedback/Message.vue +9 -0
  41. package/components/common/feedback/VisitPortal.vue +11 -2
  42. package/components/common/help/navbar/left/Left.vue +1 -0
  43. package/components/common/help/navbar/right/Right.vue +12 -2
  44. package/components/common/help/navbar/right/lib/models/interfaces.ts +1 -0
  45. package/components/common/home/alertsTable/AlertsTable.vue +1 -0
  46. package/components/common/modals/Confirmation.vue +10 -2
  47. package/components/common/modals/Rename.vue +1 -0
  48. package/components/common/monitor/advanced/tools/Tools.vue +10 -1
  49. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/Actions.vue +7 -1
  50. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/saveOptionsModal/SaveOptionsModal.vue +6 -1
  51. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/Form.vue +14 -1
  52. package/components/common/monitor/overview/filters/Filters.vue +12 -5
  53. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +4 -0
  54. package/components/common/pages/Tasks.vue +120 -120
  55. package/components/common/perPage/PerPage.vue +1 -0
  56. package/components/common/recursionTree/RecursionTree.vue +205 -203
  57. package/components/common/recursionTree/lib/models/interfaces.ts +4 -2
  58. package/components/common/select/button/ButtonDropdown.vue +2 -0
  59. package/components/common/select/button/lib/models/interfaces.ts +1 -0
  60. package/components/common/select/input/Input.vue +1 -0
  61. package/components/common/select/radio/RadioGroup.vue +2 -0
  62. package/components/common/select/radio/lib/models/interfaces.ts +1 -0
  63. package/components/common/shortcuts/Block.vue +2 -0
  64. package/components/common/shortcuts/Category.vue +1 -0
  65. package/components/common/shortcuts/lib/models/interfaces.ts +1 -0
  66. package/components/common/spiceConsole/Drawer.vue +4 -0
  67. package/components/common/spiceConsole/keyboard/Keyboard.vue +1 -0
  68. package/components/common/spiceConsole/keyboard/lib/config/keyboardRows.ts +81 -6
  69. package/components/common/spiceConsole/keyboard/lib/models/interfaces.ts +1 -0
  70. package/components/common/split/horizontal/Horizontal.vue +1 -0
  71. package/components/common/vm/actions/add/Add.vue +576 -575
  72. package/components/common/vm/actions/clone/select/options/Options.vue +9 -3
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +5 -1
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +7 -2
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +2 -0
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CoresPerSocket.vue +1 -0
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuHotPlug.vue +1 -0
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuModel.vue +225 -220
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Hv.vue +2 -0
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Iommu.vue +1 -0
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Pc.vue +1 -0
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Sa.vue +2 -0
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +5 -1
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/Tooltip.vue +1 -0
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +2 -1
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +1 -0
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryHotPlug.vue +1 -0
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/Location.vue +6 -6
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +5 -6
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/Cache.vue +1 -0
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIops.vue +1 -0
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/Mode.vue +1 -0
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/Provisioning.vue +1 -0
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/Sharing.vue +1 -0
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/Location.vue +2 -0
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +295 -294
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterType.vue +1 -0
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +12 -4
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +5 -1
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +2 -1
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelection.vue +2 -1
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +1 -0
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/Reservation.vue +3 -1
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/Graphics.vue +6 -1
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/TotalVideoMemory.vue +2 -1
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +1 -0
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/Model.vue +1 -0
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +1 -0
  109. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Menu.vue +6 -1
  110. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Secure.vue +6 -1
  111. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +5 -1
  112. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +1 -0
  113. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +5 -1
  114. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/lib/models/interfaces.ts +1 -0
  115. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +4 -1
  116. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/CopyPaste.vue +1 -0
  117. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FileTransfer.vue +1 -0
  118. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FolderSharing.vue +1 -0
  119. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PlaybackCompression.vue +1 -0
  120. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PowerControl.vue +1 -0
  121. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/ImgCompression.vue +1 -0
  122. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/JpegCompression.vue +1 -0
  123. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +2 -1
  124. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/MouseMode.vue +6 -1
  125. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +7 -1
  126. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/SharePolicy.vue +5 -1
  127. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +1 -0
  128. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/Type.vue +1 -0
  129. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +2 -1
  130. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +1 -0
  131. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +6 -1
  132. package/components/common/vm/actions/common/select/compatibility/Compatibility.vue +31 -27
  133. package/components/common/vm/actions/common/select/name/Name.vue +7 -1
  134. package/components/common/vm/actions/common/select/os/os.vue +7 -1
  135. package/components/common/weekSelect/WeekSelect.vue +143 -112
  136. package/components/common/weekSelect/lib/models/interfaces.ts +1 -0
  137. package/components/common/wizards/datastore/add/local/createName/CreateName.vue +1 -0
  138. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +8 -7
  139. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +9 -1
  140. package/components/common/wizards/datastore/add/nfs/configuration/serversList/DeletePopover.vue +6 -3
  141. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +1 -0
  142. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/lib/config/radioOptions.ts +3 -0
  143. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +2 -0
  144. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +2 -0
  145. package/components/common/wizards/datastore/add/types/Types.vue +1 -0
  146. package/components/common/wizards/network/add/modals/SelectNetwork.vue +16 -3
  147. package/components/common/wizards/network/add/modals/SelectStandardSwitch.vue +10 -2
  148. package/components/common/wizards/network/add/modals/SelectSwitch.vue +10 -2
  149. package/components/common/wizards/network/add/steps/ConnectionSettings.vue +5 -1
  150. package/components/common/wizards/network/add/steps/IpFourSettings.vue +12 -2
  151. package/components/common/wizards/network/add/steps/PortProperties.vue +16 -3
  152. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +6 -3
  153. package/components/common/wizards/network/add/steps/SelectedTargetDevice.vue +11 -0
  154. package/components/common/wizards/vm/common/tooltip/Tooltip.vue +2 -0
  155. package/components/common/wizards/vm/migrate/select/network/Network.vue +1 -0
  156. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +1 -0
  157. package/components/common/wizards/vm/migrate/select/storage/Storage.vue +5 -1
  158. package/components/common/wizards/vm/migrate/select/storage/configure/disk/Disk.vue +1 -0
  159. package/components/common/wizards/vm/migrate/select/storage/diskFormat/DiskFormat.vue +1 -0
  160. package/components/common/wizards/vm/migrate/select/storage/policy/Policy.vue +1 -0
  161. package/components/common/wizards/vm/migrate/select/storage/selectedPerDisk/SelectedPerDisk.vue +1 -0
  162. package/components/common/wizards/vm/migrate/select/targetServer/new/New.vue +9 -1
  163. package/package.json +1 -1
@@ -9,9 +9,10 @@
9
9
  </p>
10
10
  <div class="browsers-block">
11
11
  <a
12
- href="https://www.google.com/chrome/"
13
- target="_blank"
14
- class="browser-link"
12
+ href="https://www.google.com/chrome/"
13
+ target="_blank"
14
+ data-id="google-link"
15
+ class="browser-link"
15
16
  >
16
17
  <div class="browser-item">
17
18
  <atoms-the-icon2 name="chrome" class="browser-icon" />
@@ -19,9 +20,10 @@
19
20
  </div>
20
21
  </a>
21
22
  <a
22
- href="https://www.mozilla.org/en-US/"
23
- target="_blank"
24
- class="browser-link"
23
+ href="https://www.mozilla.org/en-US/"
24
+ target="_blank"
25
+ data-id="mozila-link"
26
+ class="browser-link"
25
27
  >
26
28
  <div class="browser-item">
27
29
  <atoms-the-icon2 name="firefox" class="browser-icon" />
@@ -29,9 +31,10 @@
29
31
  </div>
30
32
  </a>
31
33
  <a
32
- href="https://support.apple.com/downloads/safari"
33
- target="_blank"
34
- class="browser-link"
34
+ href="https://support.apple.com/downloads/safari"
35
+ target="_blank"
36
+ data-id="apple-link"
37
+ class="browser-link"
35
38
  >
36
39
  <div class="browser-item">
37
40
  <atoms-the-icon2 name="safari" class="browser-icon" />
@@ -39,9 +42,10 @@
39
42
  </div>
40
43
  </a>
41
44
  <a
42
- href="https://www.microsoft.com/en-us/edge/download?form=MA13FJ"
43
- target="_blank"
44
- class="browser-link last"
45
+ href="https://www.microsoft.com/en-us/edge/download?form=MA13FJ"
46
+ target="_blank"
47
+ data-id="microsoft-link"
48
+ class="browser-link last"
45
49
  >
46
50
  <div class="browser-item">
47
51
  <atoms-the-icon2 name="edge" class="browser-icon" />
@@ -1,6 +1,7 @@
1
1
  <template>
2
2
  <div
3
3
  :class="['text-wrapper flex-align-center', { active: isActive }]"
4
+ :data-id="props.testId"
4
5
  @click="isActive = !isActive"
5
6
  >
6
7
  <template v-if="parentName">
@@ -3,6 +3,7 @@
3
3
  <nuxt-link
4
4
  class="accordion-item"
5
5
  :to="accordionLocal.path"
6
+ :data-id="accordionLocal.testId"
6
7
  active-class="active"
7
8
  @click.prevent="onSelect(accordionLocal)"
8
9
  >
@@ -22,6 +23,7 @@
22
23
  <button
23
24
  v-if="props.accordion.hasChild"
24
25
  :id="`${props.testId}-trigger-button`"
26
+ :data-id="`${accordionLocal.testId}-toggle-button`"
25
27
  class="btn-trigger max-width"
26
28
  @click="toggle"
27
29
  >
@@ -7,6 +7,7 @@ export interface UI_I_AccordionRecursion {
7
7
  iconClassName?: string
8
8
  children?: UI_I_AccordionRecursion[]
9
9
  isOpen?: boolean
10
+ testId?: string
10
11
  }
11
12
 
12
13
  export interface UI_I_HeadingClass {
@@ -20,7 +20,7 @@
20
20
  :full-mode="false"
21
21
  :is-add-modal="true"
22
22
  :adapters="props.adapters"
23
- :existing-adapters-for-adding="props.existingAdaptersForAdding.map((n) => n.name)"
23
+ :existing-adapters-for-adding="existingAdaptersAsText"
24
24
  :selected-add-adapter-id="props.selectedAddAdapterId"
25
25
  class="free-adapters"
26
26
  @select-add-adapter="onSelectAddAdapter"
@@ -34,10 +34,13 @@
34
34
  </template>
35
35
 
36
36
  <script setup lang="ts">
37
- import { UI_I_Localization, UI_I_ItemsWithTotalCounts } from '~/lib/models/interfaces'
37
+ import {
38
+ UI_I_Localization,
39
+ UI_I_ItemsWithTotalCounts,
40
+ } from '~/lib/models/interfaces'
38
41
  import {
39
42
  UI_I_Adapter,
40
- UI_I_SwitchAdapterItem
43
+ UI_I_SwitchAdapterItem,
41
44
  } from '~/components/common/diagramMain/lib/models/interfaces'
42
45
 
43
46
  // Props from up
@@ -74,7 +77,11 @@ const emits = defineEmits<{
74
77
  (event: 'select-add-adapter', adapterId: string): void
75
78
  }>()
76
79
 
77
-
80
+ const existingAdaptersAsText = computed<string[]>(() =>
81
+ props.existingAdaptersForAdding.map(
82
+ (adapter: UI_I_SwitchAdapterItem) => adapter.name
83
+ )
84
+ )
78
85
 
79
86
  // Selected adapter for adding
80
87
  const onSelectAddAdapter = (adapterId: string): void => {
@@ -23,6 +23,7 @@
23
23
  <span>
24
24
  <button
25
25
  :id="`${props.testId}-modal-close-button`"
26
+ :data-id="`${props.testId}-close-button`"
26
27
  type="button"
27
28
  class="btn btn-primary"
28
29
  @click="onHideModal"
@@ -3,6 +3,7 @@
3
3
  <span
4
4
  class="action-link-container"
5
5
  :title="localization.addAdapters"
6
+ :data-id="props.testId"
6
7
  @click="onShowAddAdapterModal"
7
8
  >
8
9
  <atoms-diagram-icon name="add-adapter" />
@@ -15,6 +16,7 @@ import { UI_I_Localization } from '~/lib/models/interfaces'
15
16
 
16
17
  const props = defineProps<{
17
18
  fullMode: boolean
19
+ testId?: string
18
20
  }>()
19
21
 
20
22
  // UI_I_Localization
@@ -8,6 +8,7 @@
8
8
  },
9
9
  ]"
10
10
  :title="localization.moveDown"
11
+ :data-id="props.testId"
11
12
  @click="onMoveDown"
12
13
  >
13
14
  <atoms-diagram-icon name="arrow-down" />
@@ -20,6 +21,7 @@ import { UI_I_Localization } from '~/lib/models/interfaces'
20
21
 
21
22
  const props = defineProps<{
22
23
  isDisabledMoveDown: boolean
24
+ testId?: string
23
25
  }>()
24
26
 
25
27
  // UI_I_Localization
@@ -8,6 +8,7 @@
8
8
  },
9
9
  ]"
10
10
  :title="localization.moveUp"
11
+ :data-id="props.testId"
11
12
  @click="onMoveUp"
12
13
  >
13
14
  <atoms-diagram-icon name="arrow-up" />
@@ -20,6 +21,7 @@ import { UI_I_Localization } from '~/lib/models/interfaces'
20
21
 
21
22
  const props = defineProps<{
22
23
  isDisabledMoveUp: boolean
24
+ testId?: string
23
25
  }>()
24
26
 
25
27
  // UI_I_Localization
@@ -8,6 +8,7 @@
8
8
  },
9
9
  ]"
10
10
  :title="localization.removeSelected"
11
+ :data-id="props.testId"
11
12
  @click="onRemove"
12
13
  >
13
14
  <atoms-diagram-icon name="remove-adapter" />
@@ -22,6 +23,7 @@ const props = defineProps<{
22
23
  fullMode: boolean
23
24
  selectedIsHeader: boolean
24
25
  isDisabledRemove: boolean
26
+ testId?: string
25
27
  }>()
26
28
 
27
29
  // UI_I_Localization
@@ -1,29 +1,30 @@
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
+ :data-id="adapterId.testId"
8
+ @click="onSelectAdapter(adapterId)"
9
+ >
10
+ <td>
10
11
  <span>
11
12
  <atoms-diagram-icon
12
- name="adapter-icon"
13
- class="adapter-icon-positioning"
13
+ name="adapter-icon"
14
+ class="adapter-icon-positioning"
14
15
  />
15
16
  </span>
16
- <span>{{ adapterId }}</span>
17
- </td>
18
- </tr>
19
- </template>
17
+ <span>{{ adapterId }}</span>
18
+ </td>
19
+ </tr>
20
+ </template>
20
21
  </template>
21
22
 
22
23
  <script setup lang="ts">
23
24
  const props = withDefaults(
24
25
  defineProps<{
25
26
  selectedAdapterId: string
26
- adapters: string[]
27
+ adapters: string[] // Создать интерфейс для testId { ..., testId: '' }
27
28
  }>(),
28
29
  {
29
30
  adapters: () => [],
@@ -3,6 +3,7 @@
3
3
  :class="{
4
4
  'k-state-selected': props.isSelected,
5
5
  }"
6
+ :data-id="props.testId"
6
7
  @click="onSelectAdapter"
7
8
  >
8
9
  <td>
@@ -18,7 +19,8 @@ import { UI_I_Localization } from '~/lib/models/interfaces'
18
19
 
19
20
  const props = defineProps<{
20
21
  isSelected: boolean
21
- id: string
22
+ title: string
23
+ testId: string
22
24
  }>()
23
25
 
24
26
  // UI_I_Localization
@@ -26,9 +28,9 @@ const localization = computed<UI_I_Localization>(() => useLocal())
26
28
 
27
29
  const title = computed(
28
30
  () =>
29
- (props.id === 'header-active' && localization.value.activeAdapters) ||
30
- (props.id === 'header-stand-by' && localization.value.standbyAdapters) ||
31
- (props.id === 'header-unused' && localization.value.unusedAdapters)
31
+ (props.title === 'header-active' && localization.value.activeAdapters) ||
32
+ (props.title === 'header-stand-by' && localization.value.standbyAdapters) ||
33
+ (props.title === 'header-unused' && localization.value.unusedAdapters)
32
34
  )
33
35
 
34
36
  const emits = defineEmits<{
@@ -1,5 +1,9 @@
1
1
  <template>
2
- <div class="k-grid-content" @click.capture="onClickEmptySpace($event)">
2
+ <div
3
+ :data-id="props.testId"
4
+ class="k-grid-content"
5
+ @click.capture="onClickEmptySpace($event)"
6
+ >
3
7
  <div v-if="props.isAddModal">
4
8
  <table class="k-selectable">
5
9
  <tbody>
@@ -15,7 +19,8 @@
15
19
  <table class="k-selectable">
16
20
  <tbody>
17
21
  <common-adapter-manager-ui-table-header
18
- id="header-active"
22
+ title="header-active"
23
+ test-id="header-active"
19
24
  :is-selected="props.isActiveHeader"
20
25
  @select-header="onSelectAdapter"
21
26
  />
@@ -25,7 +30,8 @@
25
30
  @select-adapter="onSelectAdapter"
26
31
  />
27
32
  <common-adapter-manager-ui-table-header
28
- id="header-stand-by"
33
+ title="header-stand-by"
34
+ test-id="header-stand-by"
29
35
  :is-selected="props.isStandbyHeader"
30
36
  @select-header="onSelectAdapter"
31
37
  />
@@ -35,7 +41,8 @@
35
41
  @select-adapter="onSelectAdapter"
36
42
  />
37
43
  <common-adapter-manager-ui-table-header
38
- id="header-unused"
44
+ title="header-unused"
45
+ test-id="header-unused"
39
46
  :is-selected="props.isUnusedHeader"
40
47
  @select-header="onSelectAdapter"
41
48
  />
@@ -68,6 +75,7 @@ const props = withDefaults(
68
75
  isStandbyHeader: boolean
69
76
  isUnusedHeader: boolean
70
77
  existingAdaptersForAdding?: (UI_I_Adapter | UI_I_SwitchAdapterItem)[]
78
+ testId?: string
71
79
  }>(),
72
80
  {
73
81
  isAddModal: false,
@@ -81,6 +89,7 @@ const props = withDefaults(
81
89
  isUnusedHeader: false,
82
90
  removedAdapters: () => [],
83
91
  existingAdaptersForAdding: () => [],
92
+ testId: '',
84
93
  }
85
94
  )
86
95
 
@@ -77,7 +77,10 @@
77
77
  </common-browse-blocks-container>
78
78
  <div v-if="props.fileTypes" class="ptm">
79
79
  <b>{{ localization.fileType }}:</b>
80
- <select v-model="selectedFileTypeLocal">
80
+ <select
81
+ v-model="selectedFileTypeLocal"
82
+ :data-id="`${props.testId}-select`"
83
+ >
81
84
  <option
82
85
  v-for="item in props.fileTypes"
83
86
  :key="item.value"
@@ -105,6 +108,7 @@ const props = defineProps<{
105
108
  selectedFile: any | null
106
109
  fileTypes?: UI_I_OptionItem[]
107
110
  selectedFileType?: any
111
+ testId?: string
108
112
  }>()
109
113
  const emits = defineEmits<{
110
114
  (
@@ -3,12 +3,14 @@
3
3
  <slot name="firstBlock"></slot>
4
4
  <div
5
5
  class="move-separator"
6
+ :data-id="`${props.testId}-first`"
6
7
  :style="leftPosition"
7
8
  @mousedown="onMouseDown($event, 'first')"
8
9
  ></div>
9
10
  <slot name="secondBlock"></slot>
10
11
  <div
11
12
  class="move-separator"
13
+ :data-id="`${props.testId}-second`"
12
14
  :style="rightPosition"
13
15
  @mousedown="onMouseDown($event, 'second')"
14
16
  ></div>
@@ -22,6 +24,7 @@ import { UI_T_BlocksWidth } from '~/components/common/browse/blocks/lib/models/t
22
24
  const props = defineProps<{
23
25
  type: 'horizontal' | 'vertical'
24
26
  blocksWidth: UI_T_BlocksWidth
27
+ testId?: string
25
28
  }>()
26
29
 
27
30
  const sectionSelected = ref<boolean>(false)
@@ -2,6 +2,7 @@
2
2
  <ul class="file-view__container">
3
3
  <template v-for="file in props.selectedFolderFiles" :key="file.name">
4
4
  <li
5
+ :data-id="file.testId"
5
6
  :class="[
6
7
  'file-view',
7
8
  { selected: file.name === props.selectedFile?.name },
@@ -19,7 +19,11 @@
19
19
  @mouseenter="toggleItems(item, true, $event)"
20
20
  @mouseleave="toggleItems(item, false, $event)"
21
21
  >
22
- <span class="context-link" @mousedown="selectItem(item)">
22
+ <span
23
+ class="context-link"
24
+ :data-id="`${props.testId}-context-link`"
25
+ @mousedown="selectItem(item)"
26
+ >
23
27
  <span :class="['context-icon', item.iconClassName]" />
24
28
  <span class="menu-item-text">{{ item.name }}</span>
25
29
  <span v-if="item.items.length" class="arrow-icon" />
@@ -45,6 +49,7 @@ import { UI_I_ContextMenuItem } from '~/components/common/context/lib/models/int
45
49
  const props = defineProps<{
46
50
  items: UI_I_ContextMenuItem[]
47
51
  actionLoading: string | null
52
+ testId?: string
48
53
  }>()
49
54
  const emits = defineEmits<{
50
55
  (event: 'select-item', value: UI_I_ContextMenuItem): void
@@ -7,6 +7,7 @@
7
7
  >
8
8
  <div class="stack-block__label">
9
9
  <atoms-the-icon
10
+ :data-id="`${props.testId}-toggle-icon`"
10
11
  name="angle"
11
12
  class="stack-block__icon"
12
13
  @click="onToggle"
@@ -33,9 +34,11 @@ const props = withDefaults(
33
34
  defineProps<{
34
35
  openByDefault?: boolean
35
36
  hasChildren: boolean
37
+ testId?: string
36
38
  }>(),
37
39
  {
38
40
  openByDefault: false,
41
+ testId: '',
39
42
  }
40
43
  )
41
44
  const emits = defineEmits<{
@@ -10,6 +10,7 @@
10
10
  open: props.isShowDiagram,
11
11
  },
12
12
  ]"
13
+ data-id="diagram-header-toggle-icon"
13
14
  @click="onToggleDiagram"
14
15
  />
15
16
  <a>
@@ -23,6 +24,7 @@
23
24
  <span class="vertical-separator"></span>
24
25
  <button
25
26
  id="add-networking-button"
27
+ data-id="add-networking-button"
26
28
  type="button"
27
29
  @click="onShowModal('add-networking', props.diagramName)"
28
30
  >
@@ -30,6 +32,7 @@
30
32
  </button>
31
33
  <button
32
34
  id="switch-edit-button"
35
+ data-id="switch-edit-button"
33
36
  type="button"
34
37
  @click="onShowModal('switch-edit')"
35
38
  >
@@ -37,6 +40,7 @@
37
40
  </button>
38
41
  <button
39
42
  id="switch-manage-physical-adapters-button"
43
+ data-id="switch-manage-physical-adapters-button"
40
44
  type="button"
41
45
  @click="onShowModal('switch-manage-physical-adapters')"
42
46
  >
@@ -22,6 +22,7 @@
22
22
 
23
23
  <a
24
24
  :id="`adapter-${props.adapter.id}`"
25
+ :data-id="`${props.testId}-select`"
25
26
  data-title="adapter-name"
26
27
  cursor="pointer"
27
28
  class="adapter-name"
@@ -141,6 +142,7 @@ const props = defineProps<{
141
142
  selectedAdapter: UI_I_SelectedAdapter
142
143
  networksCount: number
143
144
  isDarkMode: boolean
145
+ testId?: string
144
146
  }>()
145
147
 
146
148
  const emits = defineEmits<{
@@ -2,6 +2,7 @@
2
2
  <g data-title="adapter-block-contents">
3
3
  <foreignObject
4
4
  v-if="hasAdapters"
5
+ :data-id="`${props.testId}-toggle`"
5
6
  data-title="adapter-toggle"
6
7
  width="18"
7
8
  height="18"
@@ -55,6 +56,7 @@ import { UI_I_Localization } from '~/lib/models/interfaces'
55
56
 
56
57
  const props = defineProps<{
57
58
  adaptersWithPositions: UI_I_AdaptersWithPositions
59
+ testId?: string
58
60
  }>()
59
61
  const emits = defineEmits<{
60
62
  (event: 'toggle-adapters', networkId: string, portId: string): void
@@ -462,6 +462,7 @@ export interface API_UI_I_SwitchAdapterItem {
462
462
 
463
463
  export interface UI_I_TeamingAndFailoverTemplate {
464
464
  key: string
465
+ testId?: string
465
466
  options: {
466
467
  value: string | number
467
468
  text: string
@@ -615,6 +616,15 @@ export interface UI_I_PortEditSendData {
615
616
  }
616
617
  }
617
618
 
619
+ export interface UI_I_SwitchEditSendData {
620
+ id: string
621
+ mtu: number
622
+ nics: UI_I_AdapterStatus
623
+ security: API_UI_I_Security
624
+ shaping: API_UI_I_Shaping
625
+ teaming: API_UI_I_Teaming
626
+ }
627
+
618
628
  export interface UI_I_MigrateVmkernelAdapterEmits {
619
629
  (
620
630
  event: 'check-network-label',
@@ -22,6 +22,7 @@
22
22
  <input
23
23
  id="network-label"
24
24
  v-model="fieldsValues.networkLabel"
25
+ data-id="network-label-input"
25
26
  name="network-label"
26
27
  type="text"
27
28
  :class="[
@@ -18,6 +18,7 @@
18
18
  <input
19
19
  id="promiscuous-mode"
20
20
  v-model="fieldsValues.promiscuousMode.checked"
21
+ data-id="promiscuous-mode-input"
21
22
  type="checkbox"
22
23
  />
23
24
  <label for="promiscuous-mode" class="normal-weight">
@@ -30,18 +31,13 @@
30
31
  id="promiscuous-mode-select"
31
32
  v-model="fieldsValues.promiscuousMode.selected"
32
33
  :disabled="!fieldsValues.promiscuousMode.checked"
34
+ data-id="promiscuous-mode-select"
33
35
  name="selectName"
34
36
  >
35
- <option
36
- :value="2"
37
- :label="localization.reject"
38
- >
37
+ <option :value="2" :label="localization.reject">
39
38
  {{ localization.reject }}
40
39
  </option>
41
- <option
42
- :value="1"
43
- :label="localization.accept"
44
- >
40
+ <option :value="1" :label="localization.accept">
45
41
  {{ localization.accept }}
46
42
  </option>
47
43
  </select>
@@ -68,6 +64,7 @@
68
64
  <input
69
65
  id="mac-address-changes"
70
66
  v-model="fieldsValues.macAddressChanges.checked"
67
+ data-id="mac-address-changes"
71
68
  type="checkbox"
72
69
  />
73
70
  <label for="mac-address-changes" class="normal-weight">
@@ -80,18 +77,13 @@
80
77
  id="mac-address-select"
81
78
  v-model="fieldsValues.macAddressChanges.selected"
82
79
  :disabled="!fieldsValues.macAddressChanges.checked"
80
+ data-id="mac-address-select"
83
81
  name="selectName"
84
82
  >
85
- <option
86
- :value="2"
87
- :label="localization.reject"
88
- >
83
+ <option :value="2" :label="localization.reject">
89
84
  {{ localization.reject }}
90
85
  </option>
91
- <option
92
- :value="1"
93
- :label="localization.accept"
94
- >
86
+ <option :value="1" :label="localization.accept">
95
87
  {{ localization.accept }}
96
88
  </option>
97
89
  </select>
@@ -118,6 +110,7 @@
118
110
  <input
119
111
  id="forged-transmits"
120
112
  v-model="fieldsValues.forgedTransmits.checked"
113
+ data-id="forged-transmits-input"
121
114
  type="checkbox"
122
115
  />
123
116
  <label for="forged-transmits" class="normal-weight">
@@ -130,18 +123,13 @@
130
123
  id="forged-transmits"
131
124
  v-model="fieldsValues.forgedTransmits.selected"
132
125
  :disabled="!fieldsValues.forgedTransmits.checked"
126
+ data-id="forged-transmits-select"
133
127
  name="selectName"
134
128
  >
135
- <option
136
- :value="2"
137
- :label="localization.reject"
138
- >
129
+ <option :value="2" :label="localization.reject">
139
130
  {{ localization.reject }}
140
131
  </option>
141
- <option
142
- :value="1"
143
- :label="localization.accept"
144
- >
132
+ <option :value="1" :label="localization.accept">
145
133
  {{ localization.accept }}
146
134
  </option>
147
135
  </select>
@@ -163,9 +151,7 @@ import {
163
151
  UI_I_ModalsInitialData,
164
152
  UI_I_SecurityFields,
165
153
  } from '~/components/common/diagramMain/lib/models/interfaces'
166
- import {
167
- securityFieldsInitialFunc
168
- } from '~/components/common/diagramMain/modals/lib/config'
154
+ import { securityFieldsInitialFunc } from '~/components/common/diagramMain/modals/lib/config'
169
155
 
170
156
  // Props from up
171
157
  const props = withDefaults(
@@ -32,6 +32,7 @@
32
32
  <input
33
33
  id="mtu"
34
34
  v-model="fieldsValues.mtu"
35
+ data-id="mtu-input"
35
36
  type="number"
36
37
  name="mtu"
37
38
  :class="[
@@ -23,6 +23,7 @@
23
23
  <input
24
24
  :id="`teaming-failover-input-${item.key}`"
25
25
  v-model="fieldsValues[item.key].checked"
26
+ :data-id="`${item.testId}-teaming-failover-input`"
26
27
  type="checkbox"
27
28
  />
28
29
  <label
@@ -37,6 +38,7 @@
37
38
  <select
38
39
  :id="`teaming-failover-select-${key}`"
39
40
  v-model="fieldsValues[item.key].selected"
41
+ :data-id="`${item.testId}-teaming-failover-select`"
40
42
  :disabled="!fieldsValues[item.key].checked"
41
43
  name="selectName"
42
44
  >
@@ -67,6 +69,7 @@
67
69
  <input
68
70
  id="failover-order"
69
71
  v-model="fieldsValues.failoverOrder.checked"
72
+ data-id="failover-order-input"
70
73
  type="checkbox"
71
74
  />
72
75
  <label for="failover-order" class="normal-weight">