bfg-common 1.3.239 → 1.3.240
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.
- package/components/atoms/switch/Switch.vue +111 -111
- package/components/atoms/table/compact/Compact.vue +526 -526
- package/components/common/BadBrowser.vue +16 -12
- package/components/common/accordion/Accordion.vue +1 -0
- package/components/common/accordion/Recursion.vue +2 -0
- package/components/common/accordion/lib/models/interfaces.ts +1 -0
- package/components/common/adapterManager/AddAdapterModal.vue +8 -5
- package/components/common/adapterManager/AddAdapterWarningModal.vue +1 -0
- package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +2 -0
- package/components/common/adapterManager/ui/actions/MoveDownAdapterButton.vue +2 -0
- package/components/common/adapterManager/ui/actions/MoveUpAdapterButton.vue +2 -0
- package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +2 -0
- package/components/common/adapterManager/ui/table/Adapters.vue +14 -13
- package/components/common/adapterManager/ui/table/Header.vue +6 -4
- package/components/common/adapterManager/ui/table/Table.vue +13 -4
- package/components/common/browse/Browse.vue +5 -1
- package/components/common/browse/blocks/Container.vue +3 -0
- package/components/common/browse/blocks/contents/Files.vue +1 -0
- package/components/common/context/ContextRecursion.vue +6 -1
- package/components/common/details/DetailsItem.vue +3 -0
- package/components/common/diagramMain/Header.vue +4 -0
- package/components/common/diagramMain/adapter/AdapterItem.vue +2 -0
- package/components/common/diagramMain/adapter/Contents.vue +2 -0
- package/components/common/diagramMain/lib/models/interfaces.ts +1 -0
- package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +1 -0
- package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +13 -27
- package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +1 -0
- package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +3 -0
- package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +8 -0
- package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +6 -0
- package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +2 -0
- package/components/common/diagramMain/modals/lib/config/networkModal.ts +4 -0
- package/components/common/diagramMain/modals/lib/config/portModal.ts +7 -2
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +19 -13
- package/components/common/diagramMain/modals/remove/RemoveModal.vue +5 -0
- package/components/common/diagramMain/modals/viewSettings/ViewSettings.vue +11 -7
- package/components/common/diagramMain/network/Contents.vue +5 -4
- package/components/common/diagramMain/port/Port.vue +1 -0
- package/components/common/feedback/Buttons.vue +2 -0
- package/components/common/feedback/Feedback.vue +9 -2
- package/components/common/feedback/Message.vue +9 -0
- package/components/common/feedback/VisitPortal.vue +11 -2
- package/components/common/help/navbar/left/Left.vue +1 -0
- package/components/common/help/navbar/right/Right.vue +12 -2
- package/components/common/help/navbar/right/lib/models/interfaces.ts +1 -0
- package/components/common/home/alertsTable/AlertsTable.vue +1 -0
- package/components/common/modals/Confirmation.vue +10 -2
- package/components/common/modals/Rename.vue +1 -0
- package/components/common/monitor/advanced/tools/Tools.vue +10 -1
- package/components/common/monitor/advanced/tools/chartOptionsModal/actions/Actions.vue +7 -1
- package/components/common/monitor/advanced/tools/chartOptionsModal/actions/saveOptionsModal/SaveOptionsModal.vue +6 -1
- package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/Form.vue +14 -1
- package/components/common/monitor/overview/filters/Filters.vue +12 -5
- package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +4 -0
- package/components/common/pages/Tasks.vue +120 -120
- package/components/common/perPage/PerPage.vue +1 -0
- package/components/common/recursionTree/RecursionTree.vue +205 -203
- package/components/common/recursionTree/lib/models/interfaces.ts +4 -2
- package/components/common/select/button/ButtonDropdown.vue +2 -0
- package/components/common/select/button/lib/models/interfaces.ts +1 -0
- package/components/common/select/input/Input.vue +1 -0
- package/components/common/select/radio/RadioGroup.vue +2 -0
- package/components/common/select/radio/lib/models/interfaces.ts +1 -0
- package/components/common/shortcuts/Block.vue +2 -0
- package/components/common/shortcuts/Category.vue +1 -0
- package/components/common/shortcuts/lib/models/interfaces.ts +1 -0
- package/components/common/spiceConsole/Drawer.vue +4 -0
- package/components/common/spiceConsole/keyboard/Keyboard.vue +1 -0
- package/components/common/spiceConsole/keyboard/lib/config/keyboardRows.ts +81 -6
- package/components/common/spiceConsole/keyboard/lib/models/interfaces.ts +1 -0
- package/components/common/split/horizontal/Horizontal.vue +1 -0
- package/components/common/vm/actions/add/Add.vue +576 -575
- package/components/common/vm/actions/clone/Clone.vue +518 -518
- package/components/common/vm/actions/clone/select/options/Options.vue +9 -3
- package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +269 -269
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +693 -693
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +5 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +7 -2
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +2 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CoresPerSocket.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuHotPlug.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuModel.vue +225 -220
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Hv.vue +2 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Iommu.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Pc.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Sa.vue +2 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +5 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/Tooltip.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +59 -59
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +2 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryHotPlug.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/Location.vue +6 -6
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +5 -6
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/Cache.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIops.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/Mode.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/Provisioning.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/Sharing.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/Location.vue +2 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +295 -294
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterType.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +12 -4
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +165 -165
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +5 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +2 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelection.vue +2 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/Reservation.vue +3 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/Graphics.vue +6 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/TotalVideoMemory.vue +2 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/Model.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Menu.vue +6 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Secure.vue +6 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +5 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +5 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/lib/models/interfaces.ts +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +4 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/CopyPaste.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FileTransfer.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FolderSharing.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PlaybackCompression.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PowerControl.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/ImgCompression.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/JpegCompression.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +2 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/MouseMode.vue +6 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +7 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/SharePolicy.vue +5 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/Type.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +2 -1
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +1 -0
- package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +6 -1
- package/components/common/vm/actions/common/select/compatibility/Compatibility.vue +31 -27
- package/components/common/vm/actions/common/select/name/Name.vue +7 -1
- package/components/common/vm/actions/common/select/os/os.vue +7 -1
- package/components/common/vm/actions/common/select/storage/lib/config/config.ts +166 -166
- package/components/common/vm/actions/editSettings/EditSettings.vue +313 -313
- package/components/common/weekSelect/WeekSelect.vue +143 -112
- package/components/common/weekSelect/lib/config/options.ts +10 -10
- package/components/common/weekSelect/lib/models/interfaces.ts +1 -0
- package/components/common/wizards/datastore/add/local/createName/CreateName.vue +1 -0
- package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +8 -7
- package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +9 -1
- package/components/common/wizards/datastore/add/nfs/configuration/serversList/DeletePopover.vue +6 -3
- package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +1 -0
- package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/lib/config/radioOptions.ts +3 -0
- package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +2 -0
- package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +2 -0
- package/components/common/wizards/datastore/add/types/Types.vue +1 -0
- package/components/common/wizards/network/add/modals/SelectNetwork.vue +16 -3
- package/components/common/wizards/network/add/modals/SelectStandardSwitch.vue +10 -2
- package/components/common/wizards/network/add/modals/SelectSwitch.vue +10 -2
- package/components/common/wizards/network/add/steps/ConnectionSettings.vue +5 -1
- package/components/common/wizards/network/add/steps/IpFourSettings.vue +12 -2
- package/components/common/wizards/network/add/steps/PortProperties.vue +16 -3
- package/components/common/wizards/network/add/steps/SelectConnectionType.vue +6 -3
- package/components/common/wizards/network/add/steps/SelectedTargetDevice.vue +11 -0
- package/components/common/wizards/vm/common/tooltip/Tooltip.vue +2 -0
- package/components/common/wizards/vm/migrate/select/network/Network.vue +1 -0
- package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +1 -0
- package/components/common/wizards/vm/migrate/select/storage/Storage.vue +5 -1
- package/components/common/wizards/vm/migrate/select/storage/configure/disk/Disk.vue +1 -0
- package/components/common/wizards/vm/migrate/select/storage/diskFormat/DiskFormat.vue +1 -0
- package/components/common/wizards/vm/migrate/select/storage/policy/Policy.vue +1 -0
- package/components/common/wizards/vm/migrate/select/storage/selectedPerDisk/SelectedPerDisk.vue +1 -0
- package/components/common/wizards/vm/migrate/select/targetServer/new/New.vue +9 -1
- package/composables/useAppVersion.ts +21 -21
- package/composables/useEnvLanguage.ts +20 -20
- package/lib/utils/sendTask.ts +72 -72
- package/minify.js +146 -146
- package/package.json +1 -1
- package/public/spice-console/application/codec.js +257 -257
- package/public/spice-console/lib/rasterEngine.js +907 -907
- package/public/spice-console/network/spicechannel.js +369 -369
- package/store/main/lib/interfaces.ts +9 -9
- package/store/tasks/actions.ts +133 -133
- package/store/tasks/getters.ts +25 -25
- package/store/tasks/lib/models/interfaces.ts +18 -18
- package/store/tasks/mutations.ts +58 -58
- package/store/tasks/state.ts +16 -16
|
@@ -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
|
|
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
|
|
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 }}
|
|
@@ -5,10 +5,11 @@
|
|
|
5
5
|
<div class="radio">
|
|
6
6
|
<input
|
|
7
7
|
id="vmkernel-adapter"
|
|
8
|
+
v-model="connectionTypeLocal"
|
|
9
|
+
data-id="vmkernel-adapter-radio"
|
|
8
10
|
type="radio"
|
|
9
11
|
value="0"
|
|
10
12
|
name="connection-type"
|
|
11
|
-
v-model="connectionTypeLocal"
|
|
12
13
|
/>
|
|
13
14
|
<label for="vmkernel-adapter">
|
|
14
15
|
{{ localization.vmKernelNetworkAdapter }}
|
|
@@ -20,10 +21,11 @@
|
|
|
20
21
|
<div class="radio">
|
|
21
22
|
<input
|
|
22
23
|
id="virtual"
|
|
24
|
+
v-model="connectionTypeLocal"
|
|
25
|
+
data-id="virtual-radio"
|
|
23
26
|
type="radio"
|
|
24
27
|
value="1"
|
|
25
28
|
name="connection-type"
|
|
26
|
-
v-model="connectionTypeLocal"
|
|
27
29
|
/>
|
|
28
30
|
<label for="virtual">
|
|
29
31
|
{{ localization.virtualMachinePortGroupStandardSwitch }}
|
|
@@ -35,10 +37,11 @@
|
|
|
35
37
|
<div class="radio">
|
|
36
38
|
<input
|
|
37
39
|
id="physical-adapter"
|
|
40
|
+
v-model="connectionTypeLocal"
|
|
41
|
+
data-id="physical-adapter-radio"
|
|
38
42
|
type="radio"
|
|
39
43
|
value="2"
|
|
40
44
|
name="connection-type"
|
|
41
|
-
v-model="connectionTypeLocal"
|
|
42
45
|
/>
|
|
43
46
|
<label for="physical-adapter">
|
|
44
47
|
{{ localization.physicalNetworkAdapter }}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
<input
|
|
14
14
|
id="existing-network"
|
|
15
15
|
v-model="fields.selected"
|
|
16
|
+
data-id="existing-network-radio"
|
|
16
17
|
type="radio"
|
|
17
18
|
value="0"
|
|
18
19
|
name="target-device"
|
|
@@ -38,6 +39,7 @@
|
|
|
38
39
|
<div>
|
|
39
40
|
<input
|
|
40
41
|
v-model="fields.network"
|
|
42
|
+
data-id="network-input"
|
|
41
43
|
type="text"
|
|
42
44
|
disabled
|
|
43
45
|
:class="[
|
|
@@ -52,6 +54,7 @@
|
|
|
52
54
|
<button
|
|
53
55
|
type="button"
|
|
54
56
|
class="btn btn-link"
|
|
57
|
+
data-id="show-select-network-modal-button"
|
|
55
58
|
@click="onShowModal('select-network')"
|
|
56
59
|
>
|
|
57
60
|
{{ localization.browseDoted }}
|
|
@@ -72,6 +75,7 @@
|
|
|
72
75
|
<input
|
|
73
76
|
id="existing-standard-switch"
|
|
74
77
|
v-model="fields.selected"
|
|
78
|
+
data-id="existing-standard-switch-radio"
|
|
75
79
|
type="radio"
|
|
76
80
|
value="1"
|
|
77
81
|
name="target-device"
|
|
@@ -98,6 +102,7 @@
|
|
|
98
102
|
<div>
|
|
99
103
|
<input
|
|
100
104
|
v-model="fields.standardSwitch"
|
|
105
|
+
data-id="standard-switch-input"
|
|
101
106
|
type="text"
|
|
102
107
|
disabled
|
|
103
108
|
:class="[
|
|
@@ -112,6 +117,7 @@
|
|
|
112
117
|
<button
|
|
113
118
|
type="button"
|
|
114
119
|
class="btn btn-link"
|
|
120
|
+
data-id="show-select-standard-switch-button"
|
|
115
121
|
@click="onShowModal('select-standard-switch')"
|
|
116
122
|
>
|
|
117
123
|
{{ localization.browseDoted }}
|
|
@@ -132,6 +138,7 @@
|
|
|
132
138
|
<input
|
|
133
139
|
id="existing-switch"
|
|
134
140
|
v-model="fields.selected"
|
|
141
|
+
data-id="existing-switch-radio"
|
|
135
142
|
type="radio"
|
|
136
143
|
value="2"
|
|
137
144
|
name="target-device"
|
|
@@ -158,6 +165,7 @@
|
|
|
158
165
|
<div>
|
|
159
166
|
<input
|
|
160
167
|
v-model="fields.switch"
|
|
168
|
+
data-id="switch-input"
|
|
161
169
|
type="text"
|
|
162
170
|
disabled
|
|
163
171
|
:class="[
|
|
@@ -171,6 +179,7 @@
|
|
|
171
179
|
/>
|
|
172
180
|
<button
|
|
173
181
|
type="button"
|
|
182
|
+
data-id="show-select-switch-modal-button"
|
|
174
183
|
class="btn btn-link"
|
|
175
184
|
@click="onShowModal('select-switch')"
|
|
176
185
|
>
|
|
@@ -199,6 +208,7 @@
|
|
|
199
208
|
<input
|
|
200
209
|
id="standard-switch"
|
|
201
210
|
v-model="fields.selected"
|
|
211
|
+
data-id="standard-switch-radio"
|
|
202
212
|
type="radio"
|
|
203
213
|
value="3"
|
|
204
214
|
name="target-device"
|
|
@@ -229,6 +239,7 @@
|
|
|
229
239
|
<input
|
|
230
240
|
id="mtu"
|
|
231
241
|
v-model="fields.mtu"
|
|
242
|
+
data-id="mtu-input"
|
|
232
243
|
type="number"
|
|
233
244
|
name="mtu"
|
|
234
245
|
:class="[
|
|
@@ -3,11 +3,13 @@
|
|
|
3
3
|
<a
|
|
4
4
|
v-if="props.isShowElement"
|
|
5
5
|
href="javascript:void(0)"
|
|
6
|
+
data-id="show-find-help-button"
|
|
6
7
|
@click.stop="isShowFindHelp = !isShowFindHelp"
|
|
7
8
|
>{{ localization.vmOrigin }}
|
|
8
9
|
</a>
|
|
9
10
|
<atoms-the-icon
|
|
10
11
|
id="help-tooltip-icon"
|
|
12
|
+
data-id="show-help-tooltip-icon"
|
|
11
13
|
class="info-icon"
|
|
12
14
|
name="info-circle"
|
|
13
15
|
@click.stop="isShowFindHelp = !isShowFindHelp"
|
|
@@ -36,7 +36,11 @@
|
|
|
36
36
|
@update-selected-datastore="selectStorageDataLocal.storage = $event"
|
|
37
37
|
>
|
|
38
38
|
<template v-if="isShowSelectedPerDisks" #buttonConfirm>
|
|
39
|
-
<button
|
|
39
|
+
<button
|
|
40
|
+
class="btn btn-sm btn-primary"
|
|
41
|
+
data-id="apply-selected-per-disks-button"
|
|
42
|
+
@click="onApplyChanges"
|
|
43
|
+
>
|
|
40
44
|
{{ localization.confirm }}
|
|
41
45
|
</button>
|
|
42
46
|
</template>
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
<input
|
|
15
15
|
id="configuration-name-input"
|
|
16
16
|
v-model="form.name.value"
|
|
17
|
+
data-id="configuration-name-input"
|
|
17
18
|
type="text"
|
|
18
19
|
class="clr-input"
|
|
19
20
|
@blur="onBlurInputName"
|
|
@@ -41,6 +42,7 @@
|
|
|
41
42
|
<input
|
|
42
43
|
id="configuration-folder-input"
|
|
43
44
|
v-model="form.folder.value"
|
|
45
|
+
data-id="configuration-folder-input"
|
|
44
46
|
type="text"
|
|
45
47
|
class="clr-input"
|
|
46
48
|
@blur="onBlurInputFolder"
|
|
@@ -69,6 +71,7 @@
|
|
|
69
71
|
<input
|
|
70
72
|
id="configuration-folder-input"
|
|
71
73
|
v-model="form.server.value"
|
|
74
|
+
data-id="configuration-folder-input"
|
|
72
75
|
type="text"
|
|
73
76
|
class="clr-input"
|
|
74
77
|
@blur="onBlurInputServer"
|
|
@@ -89,12 +92,17 @@
|
|
|
89
92
|
{{ localization.saveVCenterServerAddress }}
|
|
90
93
|
</label>
|
|
91
94
|
|
|
92
|
-
<input
|
|
95
|
+
<input
|
|
96
|
+
v-model="accessMode"
|
|
97
|
+
data-id="access-mode-checkbox"
|
|
98
|
+
type="checkbox"
|
|
99
|
+
/>
|
|
93
100
|
</div>
|
|
94
101
|
|
|
95
102
|
<button
|
|
96
103
|
class="btn btn-primary btn-sm mt-2 clr-col-md-2"
|
|
97
104
|
:disabled="true"
|
|
105
|
+
data-id="sign-in-button"
|
|
98
106
|
@click="onSignIn"
|
|
99
107
|
>
|
|
100
108
|
{{ localization.login }}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import type { UI_I_UseAppVersionReturnType } from '~/lib/models/composables/useAppVersion/interfaces'
|
|
2
|
-
|
|
3
|
-
export function useAppVersion(): UI_I_UseAppVersionReturnType {
|
|
4
|
-
const config = useRuntimeConfig()
|
|
5
|
-
const version = config.public.APP_VERSION
|
|
6
|
-
|
|
7
|
-
const regexHasDot = /\./
|
|
8
|
-
const regexHasDotAndB = /\..*b/
|
|
9
|
-
const regexHasDotAndD = /\..*d/
|
|
10
|
-
|
|
11
|
-
const isBeta = regexHasDotAndB.test(version)
|
|
12
|
-
const isDev =
|
|
13
|
-
regexHasDotAndD.test(version) ||
|
|
14
|
-
(!regexHasDot.test(version) && version.length < 8)
|
|
15
|
-
|
|
16
|
-
return {
|
|
17
|
-
version,
|
|
18
|
-
isBeta,
|
|
19
|
-
isDev,
|
|
20
|
-
}
|
|
21
|
-
}
|
|
1
|
+
import type { UI_I_UseAppVersionReturnType } from '~/lib/models/composables/useAppVersion/interfaces'
|
|
2
|
+
|
|
3
|
+
export function useAppVersion(): UI_I_UseAppVersionReturnType {
|
|
4
|
+
const config = useRuntimeConfig()
|
|
5
|
+
const version = config.public.APP_VERSION
|
|
6
|
+
|
|
7
|
+
const regexHasDot = /\./
|
|
8
|
+
const regexHasDotAndB = /\..*b/
|
|
9
|
+
const regexHasDotAndD = /\..*d/
|
|
10
|
+
|
|
11
|
+
const isBeta = regexHasDotAndB.test(version)
|
|
12
|
+
const isDev =
|
|
13
|
+
regexHasDotAndD.test(version) ||
|
|
14
|
+
(!regexHasDot.test(version) && version.length < 8)
|
|
15
|
+
|
|
16
|
+
return {
|
|
17
|
+
version,
|
|
18
|
+
isBeta,
|
|
19
|
+
isDev,
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
export function useEnvLanguage(): string {
|
|
2
|
-
const { $store }: any = useNuxtApp()
|
|
3
|
-
|
|
4
|
-
let localizationCode = 'en_US'
|
|
5
|
-
const langFromLocalStorage =
|
|
6
|
-
useLocalStorage('lang') || $store.getters['main/getInterfaceLang'] // Из $store для Сферы, но думаю нужно сделать одинаково из localStorage
|
|
7
|
-
if (langFromLocalStorage) {
|
|
8
|
-
if (
|
|
9
|
-
langFromLocalStorage === 'en_US' ||
|
|
10
|
-
langFromLocalStorage === 'ru_RU' ||
|
|
11
|
-
langFromLocalStorage === 'hy_AM'
|
|
12
|
-
) {
|
|
13
|
-
localizationCode = langFromLocalStorage
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
localizationCode = localizationCode.slice(0, 2).toUpperCase()
|
|
18
|
-
|
|
19
|
-
return localizationCode
|
|
20
|
-
}
|
|
1
|
+
export function useEnvLanguage(): string {
|
|
2
|
+
const { $store }: any = useNuxtApp()
|
|
3
|
+
|
|
4
|
+
let localizationCode = 'en_US'
|
|
5
|
+
const langFromLocalStorage =
|
|
6
|
+
useLocalStorage('lang') || $store.getters['main/getInterfaceLang'] // Из $store для Сферы, но думаю нужно сделать одинаково из localStorage
|
|
7
|
+
if (langFromLocalStorage) {
|
|
8
|
+
if (
|
|
9
|
+
langFromLocalStorage === 'en_US' ||
|
|
10
|
+
langFromLocalStorage === 'ru_RU' ||
|
|
11
|
+
langFromLocalStorage === 'hy_AM'
|
|
12
|
+
) {
|
|
13
|
+
localizationCode = langFromLocalStorage
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
localizationCode = localizationCode.slice(0, 2).toUpperCase()
|
|
18
|
+
|
|
19
|
+
return localizationCode
|
|
20
|
+
}
|
package/lib/utils/sendTask.ts
CHANGED
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
2
|
-
import type {
|
|
3
|
-
API_UI_I_Error,
|
|
4
|
-
UI_I_RequestBody,
|
|
5
|
-
} from '~/lib/models/store/interfaces'
|
|
6
|
-
import type {
|
|
7
|
-
UI_I_NotifyBodyMessage,
|
|
8
|
-
UI_I_SendTaskParams,
|
|
9
|
-
} from '~/lib/models/interfaces'
|
|
10
|
-
import { base64 } from './base64'
|
|
11
|
-
|
|
12
|
-
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
13
|
-
|
|
14
|
-
const showNotification = (message: UI_I_NotifyBodyMessage): void => {
|
|
15
|
-
const { title, desc, status } = message
|
|
16
|
-
const { $store } = useNuxtApp()
|
|
17
|
-
|
|
18
|
-
// @ts-ignore
|
|
19
|
-
$store.dispatch('main/A_SHOW_NOTIFICATION', {
|
|
20
|
-
status,
|
|
21
|
-
messages: [
|
|
22
|
-
{
|
|
23
|
-
title,
|
|
24
|
-
descriptions: [desc],
|
|
25
|
-
},
|
|
26
|
-
],
|
|
27
|
-
headline: '',
|
|
28
|
-
timeout: status === 'success' ? 3000 : '',
|
|
29
|
-
})
|
|
30
|
-
}
|
|
31
|
-
const msgError: UI_I_NotifyBodyMessage = {
|
|
32
|
-
status: 'error',
|
|
33
|
-
title: localization.value.error,
|
|
34
|
-
desc: '',
|
|
35
|
-
}
|
|
36
|
-
const handleErrors = (error: Ref<API_UI_I_Error>): void => {
|
|
37
|
-
if (error.value.data?.error_message) {
|
|
38
|
-
msgError.desc = error.value.data?.error_message
|
|
39
|
-
showNotification(msgError)
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export const handleRequest = async (
|
|
44
|
-
url: string,
|
|
45
|
-
body: UI_I_RequestBody
|
|
46
|
-
): Promise<void> => {
|
|
47
|
-
// @ts-ignore
|
|
48
|
-
const { error } = await useMyFetch<never, API_UI_I_Error>(url, {
|
|
49
|
-
body,
|
|
50
|
-
method: 'POST',
|
|
51
|
-
key: Date.now().toString(),
|
|
52
|
-
})
|
|
53
|
-
|
|
54
|
-
if (error.value && error.value.data.error_code !== 0) {
|
|
55
|
-
handleErrors(error)
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export async function sendTask({
|
|
60
|
-
method,
|
|
61
|
-
target,
|
|
62
|
-
args,
|
|
63
|
-
}: UI_I_SendTaskParams): Promise<void> {
|
|
64
|
-
const argsToBase64 = args ? base64.encode(args) : ''
|
|
65
|
-
await handleRequest('/ui/tasks', {
|
|
66
|
-
method,
|
|
67
|
-
params: {
|
|
68
|
-
target,
|
|
69
|
-
args: argsToBase64,
|
|
70
|
-
},
|
|
71
|
-
})
|
|
72
|
-
}
|
|
1
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
2
|
+
import type {
|
|
3
|
+
API_UI_I_Error,
|
|
4
|
+
UI_I_RequestBody,
|
|
5
|
+
} from '~/lib/models/store/interfaces'
|
|
6
|
+
import type {
|
|
7
|
+
UI_I_NotifyBodyMessage,
|
|
8
|
+
UI_I_SendTaskParams,
|
|
9
|
+
} from '~/lib/models/interfaces'
|
|
10
|
+
import { base64 } from './base64'
|
|
11
|
+
|
|
12
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
13
|
+
|
|
14
|
+
const showNotification = (message: UI_I_NotifyBodyMessage): void => {
|
|
15
|
+
const { title, desc, status } = message
|
|
16
|
+
const { $store } = useNuxtApp()
|
|
17
|
+
|
|
18
|
+
// @ts-ignore
|
|
19
|
+
$store.dispatch('main/A_SHOW_NOTIFICATION', {
|
|
20
|
+
status,
|
|
21
|
+
messages: [
|
|
22
|
+
{
|
|
23
|
+
title,
|
|
24
|
+
descriptions: [desc],
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
headline: '',
|
|
28
|
+
timeout: status === 'success' ? 3000 : '',
|
|
29
|
+
})
|
|
30
|
+
}
|
|
31
|
+
const msgError: UI_I_NotifyBodyMessage = {
|
|
32
|
+
status: 'error',
|
|
33
|
+
title: localization.value.error,
|
|
34
|
+
desc: '',
|
|
35
|
+
}
|
|
36
|
+
const handleErrors = (error: Ref<API_UI_I_Error>): void => {
|
|
37
|
+
if (error.value.data?.error_message) {
|
|
38
|
+
msgError.desc = error.value.data?.error_message
|
|
39
|
+
showNotification(msgError)
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export const handleRequest = async (
|
|
44
|
+
url: string,
|
|
45
|
+
body: UI_I_RequestBody
|
|
46
|
+
): Promise<void> => {
|
|
47
|
+
// @ts-ignore
|
|
48
|
+
const { error } = await useMyFetch<never, API_UI_I_Error>(url, {
|
|
49
|
+
body,
|
|
50
|
+
method: 'POST',
|
|
51
|
+
key: Date.now().toString(),
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
if (error.value && error.value.data.error_code !== 0) {
|
|
55
|
+
handleErrors(error)
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export async function sendTask({
|
|
60
|
+
method,
|
|
61
|
+
target,
|
|
62
|
+
args,
|
|
63
|
+
}: UI_I_SendTaskParams): Promise<void> {
|
|
64
|
+
const argsToBase64 = args ? base64.encode(args) : ''
|
|
65
|
+
await handleRequest('/ui/tasks', {
|
|
66
|
+
method,
|
|
67
|
+
params: {
|
|
68
|
+
target,
|
|
69
|
+
args: argsToBase64,
|
|
70
|
+
},
|
|
71
|
+
})
|
|
72
|
+
}
|