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
@@ -1,112 +1,143 @@
1
- <template>
2
- <div class="flex-align-center">
3
- <common-select-input
4
- v-model="selectedOption"
5
- :data="options"
6
- class="mr-1"
7
- />
8
-
9
- <div class="btn-group">
10
- <button
11
- v-for="item in tabs"
12
- :key="item"
13
- :class="['btn btn-sm btn-secondary', { 'btn-primary': item.isActive }]"
14
- :disabled="!isCustom"
15
- @click="onSelectDay(item.value)"
16
- >
17
- {{ item.text }}
18
- </button>
19
- </div>
20
- </div>
21
- </template>
22
-
23
- <script lang="ts" setup>
24
- import type { UI_I_Localization } from '~/lib/models/interfaces'
25
- import type { UI_I_SelectInputItem } from '~/components/common/select/input/lib/models/interfaces'
26
- import type { UI_I_TabItem } from '~/components/common/weekSelect/lib/models/interfaces'
27
- import { optionsFunc } from '~/components/common/weekSelect/lib/config/options'
28
-
29
- const localization = computed<UI_I_Localization>(() => useLocal())
30
-
31
- const model = defineModel<number[]>()
32
-
33
- const selectedOption = ref<number>(0)
34
- if (model.value.length === 2 && model.value.includes(6) && model.value.includes(0)) {
35
- selectedOption.value = 1
36
- } else if (model.value.length < 7) {
37
- selectedOption.value = 2
38
- }
39
-
40
- const options = ref<UI_I_SelectInputItem[]>(optionsFunc(localization.value))
41
-
42
- const isCustom = computed<boolean>(() => selectedOption.value === 2)
43
- const onSelectDay = (value: number): void => {
44
- const index = model.value?.indexOf(value)
45
- if (index === -1) {
46
- model.value.push(value)
47
- model.value.sort((a: number, b: number) => a - b)
48
- }
49
- else if (model.value.length > 1) {
50
- model.value = model.value?.filter((_: number, key: number) => key !== index)
51
- }
52
- }
53
-
54
- const tabs = computed<UI_I_TabItem[]>(() => {
55
- return [
56
- { text: localization.value.weekM, value: 1, isActive: checkIsActiveDay(1) },
57
- { text: localization.value.weekT, value: 2, isActive: checkIsActiveDay(2) },
58
- { text: localization.value.weekW, value: 3, isActive: checkIsActiveDay(3) },
59
- {
60
- text: localization.value.weekTh,
61
- value: 4,
62
- isActive: checkIsActiveDay(4),
63
- },
64
- { text: localization.value.weekF, value: 5, isActive: checkIsActiveDay(5) },
65
- { text: localization.value.weekS, value: 6, isActive: checkIsActiveDay(6) },
66
- {
67
- text: localization.value.weekSu,
68
- value: 0,
69
- isActive: checkIsActiveDay(0),
70
- },
71
- ]
72
- })
73
- const checkIsActiveDay = (value: number): boolean => {
74
- let result = false
75
- switch (selectedOption.value) {
76
- case 0:
77
- result = true
78
- break
79
- case 1:
80
- if (value === 6 || value === 0) result = true
81
- break
82
- default:
83
- result = !!model.value?.includes(value)
84
- break
85
- }
86
-
87
- return result
88
- }
89
- watch(
90
- tabs,
91
- (newValue: UI_I_TabItem[]) => {
92
- if (selectedOption.value === 2) return
93
-
94
- model.value = newValue.filter((tab) => tab.isActive).map((tab) => tab.value)
95
- },
96
- { immediate: true }
97
- )
98
- </script>
99
-
100
- <style lang="scss" scoped>
101
- :deep(.select::after) {
102
- top: 2px;
103
- right: -16px;
104
- }
105
- .btn-group {
106
- button {
107
- width: 24px;
108
- min-width: 24px;
109
- padding: 0;
110
- }
111
- }
112
- </style>
1
+ <template>
2
+ <div class="flex-align-center">
3
+ <common-select-input
4
+ v-model="selectedOption"
5
+ :data="options"
6
+ class="mr-1"
7
+ />
8
+
9
+ <div class="btn-group">
10
+ <button
11
+ v-for="item in tabs"
12
+ :key="item"
13
+ :data-id="item.testId"
14
+ :class="['btn btn-sm btn-secondary', { 'btn-primary': item.isActive }]"
15
+ :disabled="!isCustom"
16
+ @click="onSelectDay(item.value)"
17
+ >
18
+ {{ item.text }}
19
+ </button>
20
+ </div>
21
+ </div>
22
+ </template>
23
+
24
+ <script lang="ts" setup>
25
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
26
+ import type { UI_I_SelectInputItem } from '~/components/common/select/input/lib/models/interfaces'
27
+ import type { UI_I_TabItem } from '~/components/common/weekSelect/lib/models/interfaces'
28
+ import { optionsFunc } from '~/components/common/weekSelect/lib/config/options'
29
+
30
+ const localization = computed<UI_I_Localization>(() => useLocal())
31
+
32
+ const model = defineModel<number[]>()
33
+
34
+ const selectedOption = ref<number>(0)
35
+ if (
36
+ model.value.length === 2 &&
37
+ model.value.includes(6) &&
38
+ model.value.includes(0)
39
+ ) {
40
+ selectedOption.value = 1
41
+ } else if (model.value.length < 7) {
42
+ selectedOption.value = 2
43
+ }
44
+
45
+ const options = ref<UI_I_SelectInputItem[]>(optionsFunc(localization.value))
46
+
47
+ const isCustom = computed<boolean>(() => selectedOption.value === 2)
48
+ const onSelectDay = (value: number): void => {
49
+ const index = model.value?.indexOf(value)
50
+ if (index === -1) {
51
+ model.value.push(value)
52
+ model.value.sort((a: number, b: number) => a - b)
53
+ } else if (model.value.length > 1) {
54
+ model.value = model.value?.filter((_: number, key: number) => key !== index)
55
+ }
56
+ }
57
+
58
+ const tabs = computed<UI_I_TabItem[]>(() => {
59
+ return [
60
+ {
61
+ text: localization.value.weekM,
62
+ value: 1,
63
+ isActive: checkIsActiveDay(1),
64
+ testId: 'week-m-value',
65
+ },
66
+ {
67
+ text: localization.value.weekT,
68
+ value: 2,
69
+ isActive: checkIsActiveDay(2),
70
+ testId: 'week-t-value',
71
+ },
72
+ {
73
+ text: localization.value.weekW,
74
+ value: 3,
75
+ isActive: checkIsActiveDay(3),
76
+ testId: 'week-w-value',
77
+ },
78
+ {
79
+ text: localization.value.weekTh,
80
+ value: 4,
81
+ isActive: checkIsActiveDay(4),
82
+ testId: 'week-th-value',
83
+ },
84
+ {
85
+ text: localization.value.weekF,
86
+ value: 5,
87
+ isActive: checkIsActiveDay(5),
88
+ testId: 'week-f-value',
89
+ },
90
+ {
91
+ text: localization.value.weekS,
92
+ value: 6,
93
+ isActive: checkIsActiveDay(6),
94
+ testId: 'week-s-value',
95
+ },
96
+ {
97
+ text: localization.value.weekSu,
98
+ value: 0,
99
+ isActive: checkIsActiveDay(0),
100
+ testId: 'week-su-value',
101
+ },
102
+ ]
103
+ })
104
+ const checkIsActiveDay = (value: number): boolean => {
105
+ let result = false
106
+ switch (selectedOption.value) {
107
+ case 0:
108
+ result = true
109
+ break
110
+ case 1:
111
+ if (value === 6 || value === 0) result = true
112
+ break
113
+ default:
114
+ result = !!model.value?.includes(value)
115
+ break
116
+ }
117
+
118
+ return result
119
+ }
120
+ watch(
121
+ tabs,
122
+ (newValue: UI_I_TabItem[]) => {
123
+ if (selectedOption.value === 2) return
124
+
125
+ model.value = newValue.filter((tab) => tab.isActive).map((tab) => tab.value)
126
+ },
127
+ { immediate: true }
128
+ )
129
+ </script>
130
+
131
+ <style lang="scss" scoped>
132
+ :deep(.select::after) {
133
+ top: 2px;
134
+ right: -16px;
135
+ }
136
+ .btn-group {
137
+ button {
138
+ width: 24px;
139
+ min-width: 24px;
140
+ padding: 0;
141
+ }
142
+ }
143
+ </style>
@@ -2,4 +2,5 @@ export interface UI_I_TabItem {
2
2
  text: string
3
3
  value: number
4
4
  isActive: boolean
5
+ testId?: string
5
6
  }
@@ -18,6 +18,7 @@
18
18
  <input
19
19
  id="datastore-name"
20
20
  v-model.trim="form.name.value"
21
+ data-id="datastore-name-input"
21
22
  type="text"
22
23
  class="clr-input"
23
24
  @blur="onBlurInputName"
@@ -9,7 +9,12 @@
9
9
  />
10
10
 
11
11
  <div>
12
- <atoms-tabs test-id="accessibility" v-model="activeTab" :items="tabs" size="small" />
12
+ <atoms-tabs
13
+ v-model="activeTab"
14
+ test-id="accessibility"
15
+ :items="tabs"
16
+ size="small"
17
+ />
13
18
  </div>
14
19
  <div>
15
20
  <common-wizards-datastore-add-nfs-accessibility-tables-view
@@ -28,12 +33,8 @@
28
33
 
29
34
  <script lang="ts" setup>
30
35
  import { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/models/interfaces'
31
- import {
32
- UI_I_Localization,
33
- } from '~/lib/models/interfaces'
34
- import {
35
- UI_I_Pagination,
36
- } from '~/lib/models/table/interfaces'
36
+ import { UI_I_Localization } from '~/lib/models/interfaces'
37
+ import { UI_I_Pagination } from '~/lib/models/table/interfaces'
37
38
  import { T_HostsAccessibilityTab } from '~/components/common/wizards/datastore/add/nfs/accessibility/lib/models/types'
38
39
  import { hostAccessibilityTabsFunc } from '~/components/common/wizards/datastore/add/nfs/accessibility/lib/config/tabsPannel'
39
40
  import { hostsAccessibilityTablesFunc } from '~/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/hostsTableItems'
@@ -31,6 +31,7 @@
31
31
  <input
32
32
  id="configuration-name-input"
33
33
  v-model="form.name.value"
34
+ data-id="configuration-name-input"
34
35
  type="text"
35
36
  class="clr-input"
36
37
  @blur="onBlurInputName"
@@ -58,6 +59,7 @@
58
59
  <input
59
60
  id="configuration-folder-input"
60
61
  v-model="form.folder.value"
62
+ data-id="configuration-folder-input"
61
63
  type="text"
62
64
  class="clr-input"
63
65
  @blur="onBlurInputFolder"
@@ -86,6 +88,7 @@
86
88
  <input
87
89
  id="configuration-folder-input"
88
90
  v-model="form.server.value"
91
+ data-id="configuration-folder-input"
89
92
  type="text"
90
93
  class="clr-input"
91
94
  @blur="onBlurInputServer"
@@ -126,7 +129,12 @@
126
129
  }}</label>
127
130
 
128
131
  <div class="clr-col-md-10 clr-col-12 clr-checkbox-wrapper">
129
- <input id="playback-compression" v-model="accessMode" type="checkbox" />
132
+ <input
133
+ id="playback-compression"
134
+ v-model="accessMode"
135
+ data-id="playback-compression-checkbox"
136
+ type="checkbox"
137
+ />
130
138
  <label for="playback-compression" class="clr-control-label">{{
131
139
  localization.mountNfsReadOnly
132
140
  }}</label>
@@ -1,9 +1,12 @@
1
1
  <template>
2
2
  <div class="popover">
3
3
  <slot>
4
- <span class="popover__item" @click="onClickItem">{{
5
- localization.removeMember
6
- }}</span>
4
+ <span
5
+ class="popover__item"
6
+ data-id="delete-popover-text"
7
+ @click="onClickItem"
8
+ >{{ localization.removeMember }}</span
9
+ >
7
10
  </slot>
8
11
  </div>
9
12
  </template>
@@ -13,6 +13,7 @@
13
13
  <input
14
14
  :id="item.label"
15
15
  v-model="kerberosType"
16
+ :data-id="item.testId"
16
17
  type="radio"
17
18
  :value="item.value"
18
19
  />
@@ -9,16 +9,19 @@ export const kerberosOptionsFunc = (
9
9
  label: localization.dontUseKerberosAuthentication,
10
10
  value: 'dont-use',
11
11
  disabled: false,
12
+ testId: 'dont-use-value',
12
13
  },
13
14
  {
14
15
  label: localization.useKerberosAuthenticationKrb5,
15
16
  value: 'use-only-krb5',
16
17
  disabled: false,
18
+ testId: 'use-only-krb5-value',
17
19
  },
18
20
  {
19
21
  label: localization.useKerberosAuthenticationIntegrity,
20
22
  value: 'use-integrity',
21
23
  disabled: false,
24
+ testId: 'use-integrity-value',
22
25
  },
23
26
  ]
24
27
  }
@@ -21,6 +21,7 @@
21
21
  <input
22
22
  id="device-selection-input"
23
23
  v-model="form.name.value"
24
+ data-id="device-selection-input"
24
25
  type="text"
25
26
  class="clr-input"
26
27
  @blur="initValidation"
@@ -54,6 +55,7 @@
54
55
  <select
55
56
  id="device-host-select"
56
57
  v-model="selectedHost"
58
+ data-id="device-host-select"
57
59
  class="dropdown-toggle"
58
60
  @change="onSelectHost"
59
61
  >
@@ -10,6 +10,7 @@
10
10
  <select
11
11
  id="host-select"
12
12
  v-model="selectedHost"
13
+ data-id="host-select"
13
14
  class="dropdown-toggle"
14
15
  @change="onSelectHost"
15
16
  >
@@ -40,6 +41,7 @@
40
41
  <input
41
42
  id="datastore-size-input-0"
42
43
  v-model="datastoreSize"
44
+ data-id="datastore-size-input-0"
43
45
  type="range"
44
46
  min="0"
45
47
  :max="countDatastoreSizeToGb"
@@ -6,6 +6,7 @@
6
6
  </span>
7
7
  <div id="type-select-help-icon" class="signpost-container relative">
8
8
  <atoms-the-icon
9
+ data-id="toggle-type-select-help-icon"
9
10
  fill="#0072a3"
10
11
  width="24px"
11
12
  height="24px"
@@ -23,7 +23,12 @@
23
23
  name="filter"
24
24
  />
25
25
  </button>
26
- <input v-model="filter" type="text" placeholder="Filter" />
26
+ <input
27
+ v-model="filter"
28
+ type="text"
29
+ data-id="select-network-filter-input"
30
+ placeholder="Filter"
31
+ />
27
32
  </div>
28
33
  <atoms-table-simple-table
29
34
  :head-items="headItems"
@@ -34,10 +39,18 @@
34
39
  </div>
35
40
  </template>
36
41
  <template #modalFooter>
37
- <button class="btn btn-outline" @click="onHideModal">
42
+ <button
43
+ data-id="select-network-hide-button"
44
+ class="btn btn-outline"
45
+ @click="onHideModal"
46
+ >
38
47
  {{ localization.cancel }}
39
48
  </button>
40
- <button class="btn btn-primary" @click="onSelectNetwork">
49
+ <button
50
+ data-id="select-network-submit-button"
51
+ class="btn btn-primary"
52
+ @click="onSelectNetwork"
53
+ >
41
54
  {{ localization.ok }}
42
55
  </button>
43
56
  </template>
@@ -24,10 +24,18 @@
24
24
  </div>
25
25
  </template>
26
26
  <template #modalFooter>
27
- <button class="btn btn-outline" @click="onHideModal">
27
+ <button
28
+ data-id="select-standard-switch-hide-button"
29
+ class="btn btn-outline"
30
+ @click="onHideModal"
31
+ >
28
32
  {{ localization.cancel }}
29
33
  </button>
30
- <button class="btn btn-primary" @click="onSelectSwitch">
34
+ <button
35
+ data-id="select-standard-switch-submit-button"
36
+ class="btn btn-primary"
37
+ @click="onSelectSwitch"
38
+ >
31
39
  {{ localization.ok }}
32
40
  </button>
33
41
  </template>
@@ -24,10 +24,18 @@
24
24
  </div>
25
25
  </template>
26
26
  <template #modalFooter>
27
- <button class="btn btn-outline" @click="onHideModal">
27
+ <button
28
+ data-id="select-switch-hide-button"
29
+ class="btn btn-outline"
30
+ @click="onHideModal"
31
+ >
28
32
  {{ localization.cancel }}
29
33
  </button>
30
- <button class="btn btn-primary" @click="onSelectSwitch">
34
+ <button
35
+ data-id="select-submit-hide-button"
36
+ class="btn btn-primary"
37
+ @click="onSelectSwitch"
38
+ >
31
39
  {{ localization.ok }}
32
40
  </button>
33
41
  </template>
@@ -22,6 +22,7 @@
22
22
  <input
23
23
  id="network-label"
24
24
  v-model="fields.networkLabel"
25
+ data-id="network-input"
25
26
  name="network-label"
26
27
  type="text"
27
28
  :class="[
@@ -85,7 +86,10 @@
85
86
  </template>
86
87
 
87
88
  <script setup lang="ts">
88
- import { UI_I_ArbitraryObject, UI_I_Localization } from '~/lib/models/interfaces'
89
+ import {
90
+ UI_I_ArbitraryObject,
91
+ UI_I_Localization,
92
+ } from '~/lib/models/interfaces'
89
93
  import { UI_I_ConnectionSettings } from '~/components/common/wizards/network/add/lib/models/interfaces'
90
94
  import { vlanIdSelectData } from '~/components/common/wizards/network/add/lib/config'
91
95
  import { UI_I_ErrorFields } from '~/components/atoms/wizard/lib/models/interfaces'
@@ -12,6 +12,7 @@
12
12
  <input
13
13
  id="Obtain"
14
14
  v-model="fields.ipSettings"
15
+ data-id="obtain-input"
15
16
  type="radio"
16
17
  value="0"
17
18
  name="IPv4-settings"
@@ -24,6 +25,7 @@
24
25
  <input
25
26
  id="static"
26
27
  v-model="fields.ipSettings"
28
+ data-id="static-input"
27
29
  type="radio"
28
30
  value="1"
29
31
  name="IPv4-settings"
@@ -45,11 +47,14 @@
45
47
  <div class="property-value-group">
46
48
  <fieldset>
47
49
  <atoms-tooltip-error
48
- :has-error="!!props.messagesFields['ipv4_settings.ipv4'].field"
50
+ :has-error="
51
+ !!props.messagesFields['ipv4_settings.ipv4'].field
52
+ "
49
53
  >
50
54
  <template #elem>
51
55
  <input
52
56
  v-model="fields.static.ipFourAddress"
57
+ data-id="ip-four-address-input"
53
58
  type="text"
54
59
  placeholder="e.g. 192.168.1.1"
55
60
  :class="[
@@ -84,6 +89,7 @@
84
89
  <template #elem>
85
90
  <input
86
91
  v-model="fields.static.subnetMask"
92
+ data-id="subnet-mask-input"
87
93
  type="text"
88
94
  placeholder="e.g. 255.255.255.0"
89
95
  :class="[
@@ -115,6 +121,7 @@
115
121
  <input
116
122
  id="default-gateway"
117
123
  v-model="fields.static.defaultGateway.override"
124
+ data-id="default-gateway-override-input"
118
125
  type="checkbox"
119
126
  />
120
127
  <label
@@ -134,6 +141,7 @@
134
141
  <template #elem>
135
142
  <input
136
143
  v-model="fields.static.defaultGateway.value"
144
+ data-id="default-gateway-input"
137
145
  type="text"
138
146
  :disabled="!fields.static.defaultGateway.override"
139
147
  placeholder="10.10.101.1"
@@ -148,7 +156,9 @@
148
156
  />
149
157
  </template>
150
158
  <template #content>
151
- {{ props.messagesFields['ipv4_settings.gateway'].field }}
159
+ {{
160
+ props.messagesFields['ipv4_settings.gateway'].field
161
+ }}
152
162
  </template>
153
163
  </atoms-tooltip-error>
154
164
  </fieldset>
@@ -26,6 +26,7 @@
26
26
  <input
27
27
  id="network-label"
28
28
  v-model="fields.networkLabel"
29
+ data-id="network-label-input"
29
30
  name="network-label"
30
31
  type="text"
31
32
  :class="[
@@ -94,7 +95,12 @@
94
95
  class="property-value-group port-properties-mtu-container tooltip-field-container"
95
96
  >
96
97
  <div class="select port-properties-mtu-selector">
97
- <select id="mtu" v-model="fields.mtu.option" name="mtu-option">
98
+ <select
99
+ id="mtu"
100
+ v-model="fields.mtu.option"
101
+ data-id="mtu-select"
102
+ name="mtu-option"
103
+ >
98
104
  <option value="0">{{ localization.getMtuFromSwitch }}</option>
99
105
  <option value="1">{{ localization.custom }}</option>
100
106
  </select>
@@ -106,6 +112,7 @@
106
112
  <input
107
113
  id="mtu"
108
114
  v-model="fields.mtu.size"
115
+ data-id="mtu-input"
109
116
  type="number"
110
117
  name="mtu"
111
118
  :class="[
@@ -132,7 +139,7 @@
132
139
  <div class="margin-left-property-value-group">
133
140
  <div class="property-value-group">
134
141
  <div class="select">
135
- <select id="tsp" v-model="fields.tcp">
142
+ <select id="tsp" v-model="fields.tcp" data-id="tsp-select">
136
143
  <template v-for="tcp in props.tcpStacks" :key="tcp.id">
137
144
  <option :value="tcp.id">{{ localization[tcp.id] }}</option>
138
145
  </template>
@@ -161,12 +168,17 @@
161
168
  ]"
162
169
  >
163
170
  <label v-if="isSphereProject">
164
- <input v-model="fields.services.vMotion" type="checkbox" />
171
+ <input
172
+ v-model="fields.services.vMotion"
173
+ data-id="services-v-motion-checkbox"
174
+ type="checkbox"
175
+ />
165
176
  {{ localization.vMotion }}
166
177
  </label>
167
178
  <label v-else>
168
179
  <input
169
180
  v-model="fields.services.provisioning"
181
+ data-id="services-provisioning-checkbox"
170
182
  type="checkbox"
171
183
  />
172
184
  {{ localization.provisioning }}
@@ -186,6 +198,7 @@
186
198
  <label>
187
199
  <input
188
200
  v-model="fields.services[enabledService.modelValue]"
201
+ data-id="services-enabled-service-checkbox"
189
202
  type="checkbox"
190
203
  />
191
204
  {{ enabledService.label }}