bfg-common 1.4.693 → 1.4.695

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 (112) hide show
  1. package/assets/scss/common/normalize.scss +355 -355
  2. package/components/atoms/TheIcon3.vue +50 -50
  3. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  4. package/components/atoms/stack/StackBlock.vue +185 -185
  5. package/components/atoms/table/dataGrid/DataGrid.vue +1696 -1696
  6. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  7. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +91 -91
  8. package/components/common/browse/BrowseNew.vue +237 -237
  9. package/components/common/browse/BrowseOld.vue +217 -217
  10. package/components/common/browse/blocks/contents/Files.vue +37 -37
  11. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  12. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  13. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  14. package/components/common/context/lib/models/interfaces.ts +30 -30
  15. package/components/common/context/recursion/Recursion.vue +86 -86
  16. package/components/common/context/recursion/RecursionNew.vue +199 -199
  17. package/components/common/context/recursion/RecursionOld.vue +213 -213
  18. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  19. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  20. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +150 -150
  21. package/components/common/modals/confirmByInput/ConfirmByInput.vue +206 -206
  22. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  23. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/Object.vue +299 -298
  24. package/components/common/pages/home/StatusContent.vue +49 -49
  25. package/components/common/pages/home/headline/Headline.vue +44 -44
  26. package/components/common/pages/home/headline/HeadlineNew.vue +71 -71
  27. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  28. package/components/common/pages/home/widgets/hosts/HostsNew.vue +100 -100
  29. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  30. package/components/common/pages/home/widgets/services/lib/config/config.ts +108 -108
  31. package/components/common/pages/home/widgets/vms/VmsNew.vue +101 -101
  32. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  33. package/components/common/select/button/ButtonDropdown.vue +108 -108
  34. package/components/common/spiceConsole/Drawer.vue +370 -370
  35. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  36. package/components/common/split/vertical/Vertical.vue +160 -160
  37. package/components/common/vm/actions/add/Add.vue +616 -616
  38. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  39. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +267 -267
  40. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +269 -269
  41. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  42. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  43. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +161 -161
  44. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +165 -165
  45. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  46. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +55 -55
  47. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  48. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +147 -147
  49. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  50. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  51. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  52. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +281 -281
  53. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  54. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  55. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  56. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  57. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  58. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  59. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  60. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceNew.vue +85 -85
  61. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceOld.vue +91 -91
  62. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +35 -35
  63. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +48 -48
  64. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +30 -30
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelectionNew.vue +46 -46
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  75. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  76. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  77. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  78. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  79. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  80. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  81. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  82. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  83. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  84. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  85. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  86. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  87. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  88. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  89. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  90. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  91. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  92. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  93. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  94. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  95. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  96. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  97. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  98. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  99. package/components/common/vm/actions/editSettings/EditSettings.vue +232 -232
  100. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +183 -183
  101. package/components/common/vm/actions/editSettings/new/New.vue +177 -177
  102. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  103. package/composables/productNameLocal.ts +30 -30
  104. package/composables/useAppVersion.ts +21 -21
  105. package/package.json +1 -1
  106. package/plugins/date.ts +233 -233
  107. package/plugins/recursion.ts +311 -311
  108. package/public/spice-console/lib/images/bitmap.js +203 -203
  109. package/public/spice-console/network/spicechannel.js +383 -383
  110. package/store/main/mutations.ts +7 -7
  111. package/store/main/state.ts +7 -7
  112. package/store/tasks/mappers/recentTasks.ts +64 -64
@@ -1,177 +1,177 @@
1
- <template>
2
- <div class="edit-vm">
3
- <ui-modal
4
- show
5
- test-id="edit-vm-wizard"
6
- size="sm"
7
- width="720px"
8
- :title="localization.common.editSettings"
9
- :subtitle="props.vmNameOld"
10
- :texts="modalTextsLocal"
11
- :is-disabled-accept="props.loading"
12
- @submit="emits('validate')"
13
- @hide="emits('hide')"
14
- >
15
- <template #content>
16
- <common-vm-actions-edit-settings-new-skeleton
17
- v-if="!vmSettings || props.loading"
18
- />
19
-
20
- <div v-else class="vm-context">
21
- <common-vm-actions-common-customize-hardware
22
- v-model:vm-name="vmName"
23
- v-model:guest-machine-type="vmSettings.guestMachineType"
24
- v-model:guest-os-family="vmSettings.guestOsFamily"
25
- v-model:guest-os-version="vmSettings.guestOsVersion"
26
- :project="props.project"
27
- :storage="vmSettings.storage"
28
- :hard-disks-for-boot-options="props.virtualHardwareHardDisks"
29
- :cd-dvd-drives-for-boot-options="props.virtualHardwareCdDvdDrives"
30
- :networks-for-boot-options="props.virtualHardwareNetworks"
31
- :cd-dvd-drives="vmSettings.cdDvdDrives"
32
- :hard-disks="vmSettings.hardDisks"
33
- :networks="vmSettings.networks"
34
- :max-cpus="vmSettings.maxCpus"
35
- :max-memory="vmSettings.maxMemory"
36
- :cpu-models="vmSettings.cpuModels"
37
- :cpu="vmSettings.cpu"
38
- :memory="vmSettings.memory"
39
- :video-card="vmSettings.videoCard"
40
- :usb-controller="vmSettings.usbController"
41
- :pci-devices="vmSettings.pciDevices"
42
- :selected-nav-item="props.selectedNavItem"
43
- :hard-disks-for-edit="vmSettings.hardDisks"
44
- :options="vmSettings.options"
45
- :nodes="props.nodes"
46
- :files="props.files"
47
- :networks-table="props.networksTable"
48
- :error-validation-fields="props.errorValidationFields"
49
- :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
50
- :passthrough-devices="props.passthroughDevices"
51
- :state="props.state"
52
- :get-datastore-table-func="props.getDatastoreTableFunc"
53
- :datastore="props.datastore"
54
- :customize-hardware-submit="props.customizeHardwareSubmit"
55
- is-edit
56
- @get-storage="emits('get-storage', $event)"
57
- @get-folders-or-files="emits('get-folders-or-files', $event)"
58
- @get-active-device-child="emits('get-active-device-child', $event)"
59
- @show-datastore-child="emits('show-datastore-child', $event)"
60
- @get-networks-table="emits('get-networks-table', $event)"
61
- @get-pci-devices="emits('get-pci-devices')"
62
- @change-boot-order="emits('change-boot-order', $event)"
63
- @send-data="emits('change-customize-hardware', $event)"
64
- />
65
- </div>
66
- </template>
67
-
68
- <template #footerLeftContent><span></span></template>
69
- </ui-modal>
70
- </div>
71
- </template>
72
-
73
- <script setup lang="ts">
74
- import type { UI_I_ModalTexts } from '~/node_modules/bfg-uikit/components/ui/modal/models/interfaces'
75
- import type { UI_T_Project } from '~/lib/models/types'
76
- import type { UI_I_FileTreeNode } from '~/components/lib/models/interfaces'
77
- import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
78
- import type {
79
- UI_I_PciDevice,
80
- UI_I_VmSettings,
81
- } from '~/lib/models/store/vm/interfaces'
82
- import type { UI_I_Localization } from '~/lib/models/interfaces'
83
- import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
84
- import type {
85
- UI_I_SendDataNewCdDvdDrive,
86
- UI_I_SendDataNewHardDisk,
87
- UI_I_SendDataNewNetwork,
88
- } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
89
- import type { UI_T_SelectedNavItem } from '~/components/common/vm/actions/common/lib/models/types'
90
- import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
91
- import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
92
- import type {
93
- UI_I_DatastoreTableItem,
94
- UI_I_FolderOrFileTreePayload,
95
- } from '~/lib/models/store/storage/interfaces'
96
- import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
97
- import { modalTexts } from '~/components/common/vm/actions/editSettings/lib/config/modal'
98
-
99
- const vmName = defineModel<string>('vmName', { required: true })
100
-
101
- const vmSettings = defineModel<UI_I_VmSettings | null>('vmSettings', {
102
- required: true,
103
- })
104
-
105
- const props = defineProps<{
106
- nodes: UI_I_FileTreeNode[]
107
- files: UI_I_FileTreeNode[]
108
- project: UI_T_Project
109
- loading: boolean
110
- datastore: UI_I_DatastoreTableItem[]
111
- networksTable: UI_I_NetworkTableItem[]
112
- selectedNavItem: UI_T_SelectedNavItem
113
- vmCpuHelpTextSecond: string
114
- errorValidationFields: UI_I_ErrorValidationField<string>[]
115
- virtualHardwareNetworks: UI_I_SendDataNewNetwork[] | null
116
- virtualHardwareHardDisks: UI_I_SendDataNewHardDisk[] | null
117
- virtualHardwareCdDvdDrives: UI_I_SendDataNewCdDvdDrive[] | null
118
- state?: string | number
119
- vmNameOld?: string
120
- passthroughDevices?: UI_I_PciDevice[]
121
- getDatastoreTableFunc?: (payload: UI_I_TablePayload) => Promise<void>
122
- customizeHardwareSubmit?: null | Function
123
- }>()
124
-
125
- const emits = defineEmits<{
126
- (event: 'hide'): void
127
- (event: 'validate'): void
128
- (event: 'update-vm'): void
129
- (event: 'get-storage', value: UI_I_TablePayload): void
130
- (event: 'get-pci-devices'): void
131
- (event: 'change-boot-order', value: UI_T_ChangeBootOrder): void
132
- (event: 'get-networks-table', value: UI_I_TablePayload): void
133
- (event: 'get-folders-or-files', value: UI_I_FolderOrFileTreePayload): void
134
- (event: 'show-datastore-child', value: UI_I_FileTreeNode): void
135
- (event: 'get-active-device-child', value: UI_I_FileTreeNode): void
136
- (
137
- event: 'change-customize-hardware',
138
- value: UI_I_SendDataCustomizeHardware
139
- ): void
140
- }>()
141
-
142
- const localization = computed<UI_I_Localization>(() => useLocal())
143
-
144
- const modalTextsLocal = computed<UI_I_ModalTexts>(() =>
145
- modalTexts(localization.value)
146
- )
147
- </script>
148
-
149
- <style>
150
- :root {
151
- --vm-wizard-sub-title: #4d5d69;
152
- --vm-wizard-title-circle: #9da6ad;
153
- }
154
- :root.dark-theme {
155
- --vm-wizard-sub-title: #9da6ad;
156
- --vm-wizard-title-circle: #4d5d69;
157
- }
158
- </style>
159
- <style scoped lang="scss">
160
- :deep(.modal-header h3) {
161
- display: flex;
162
- align-items: center;
163
- gap: 12px;
164
- }
165
- .circle {
166
- width: 4px;
167
- height: 4px;
168
- background-color: var(--vm-wizard-title-circle);
169
- border-radius: 50px;
170
- }
171
- .sub-title {
172
- font-size: 14px;
173
- font-weight: 500;
174
- line-height: 16.94px;
175
- color: var(--vm-wizard-sub-title);
176
- }
177
- </style>
1
+ <template>
2
+ <div class="edit-vm">
3
+ <ui-modal
4
+ show
5
+ test-id="edit-vm-wizard"
6
+ size="sm"
7
+ width="720px"
8
+ :title="localization.common.editSettings"
9
+ :subtitle="props.vmNameOld"
10
+ :texts="modalTextsLocal"
11
+ :is-disabled-accept="props.loading"
12
+ @submit="emits('validate')"
13
+ @hide="emits('hide')"
14
+ >
15
+ <template #content>
16
+ <common-vm-actions-edit-settings-new-skeleton
17
+ v-if="!vmSettings || props.loading"
18
+ />
19
+
20
+ <div v-else class="vm-context">
21
+ <common-vm-actions-common-customize-hardware
22
+ v-model:vm-name="vmName"
23
+ v-model:guest-machine-type="vmSettings.guestMachineType"
24
+ v-model:guest-os-family="vmSettings.guestOsFamily"
25
+ v-model:guest-os-version="vmSettings.guestOsVersion"
26
+ :project="props.project"
27
+ :storage="vmSettings.storage"
28
+ :hard-disks-for-boot-options="props.virtualHardwareHardDisks"
29
+ :cd-dvd-drives-for-boot-options="props.virtualHardwareCdDvdDrives"
30
+ :networks-for-boot-options="props.virtualHardwareNetworks"
31
+ :cd-dvd-drives="vmSettings.cdDvdDrives"
32
+ :hard-disks="vmSettings.hardDisks"
33
+ :networks="vmSettings.networks"
34
+ :max-cpus="vmSettings.maxCpus"
35
+ :max-memory="vmSettings.maxMemory"
36
+ :cpu-models="vmSettings.cpuModels"
37
+ :cpu="vmSettings.cpu"
38
+ :memory="vmSettings.memory"
39
+ :video-card="vmSettings.videoCard"
40
+ :usb-controller="vmSettings.usbController"
41
+ :pci-devices="vmSettings.pciDevices"
42
+ :selected-nav-item="props.selectedNavItem"
43
+ :hard-disks-for-edit="vmSettings.hardDisks"
44
+ :options="vmSettings.options"
45
+ :nodes="props.nodes"
46
+ :files="props.files"
47
+ :networks-table="props.networksTable"
48
+ :error-validation-fields="props.errorValidationFields"
49
+ :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
50
+ :passthrough-devices="props.passthroughDevices"
51
+ :state="props.state"
52
+ :get-datastore-table-func="props.getDatastoreTableFunc"
53
+ :datastore="props.datastore"
54
+ :customize-hardware-submit="props.customizeHardwareSubmit"
55
+ is-edit
56
+ @get-storage="emits('get-storage', $event)"
57
+ @get-folders-or-files="emits('get-folders-or-files', $event)"
58
+ @get-active-device-child="emits('get-active-device-child', $event)"
59
+ @show-datastore-child="emits('show-datastore-child', $event)"
60
+ @get-networks-table="emits('get-networks-table', $event)"
61
+ @get-pci-devices="emits('get-pci-devices')"
62
+ @change-boot-order="emits('change-boot-order', $event)"
63
+ @send-data="emits('change-customize-hardware', $event)"
64
+ />
65
+ </div>
66
+ </template>
67
+
68
+ <template #footerLeftContent><span></span></template>
69
+ </ui-modal>
70
+ </div>
71
+ </template>
72
+
73
+ <script setup lang="ts">
74
+ import type { UI_I_ModalTexts } from '~/node_modules/bfg-uikit/components/ui/modal/models/interfaces'
75
+ import type { UI_T_Project } from '~/lib/models/types'
76
+ import type { UI_I_FileTreeNode } from '~/components/lib/models/interfaces'
77
+ import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
78
+ import type {
79
+ UI_I_PciDevice,
80
+ UI_I_VmSettings,
81
+ } from '~/lib/models/store/vm/interfaces'
82
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
83
+ import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
84
+ import type {
85
+ UI_I_SendDataNewCdDvdDrive,
86
+ UI_I_SendDataNewHardDisk,
87
+ UI_I_SendDataNewNetwork,
88
+ } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
89
+ import type { UI_T_SelectedNavItem } from '~/components/common/vm/actions/common/lib/models/types'
90
+ import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
91
+ import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
92
+ import type {
93
+ UI_I_DatastoreTableItem,
94
+ UI_I_FolderOrFileTreePayload,
95
+ } from '~/lib/models/store/storage/interfaces'
96
+ import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
97
+ import { modalTexts } from '~/components/common/vm/actions/editSettings/lib/config/modal'
98
+
99
+ const vmName = defineModel<string>('vmName', { required: true })
100
+
101
+ const vmSettings = defineModel<UI_I_VmSettings | null>('vmSettings', {
102
+ required: true,
103
+ })
104
+
105
+ const props = defineProps<{
106
+ nodes: UI_I_FileTreeNode[]
107
+ files: UI_I_FileTreeNode[]
108
+ project: UI_T_Project
109
+ loading: boolean
110
+ datastore: UI_I_DatastoreTableItem[]
111
+ networksTable: UI_I_NetworkTableItem[]
112
+ selectedNavItem: UI_T_SelectedNavItem
113
+ vmCpuHelpTextSecond: string
114
+ errorValidationFields: UI_I_ErrorValidationField<string>[]
115
+ virtualHardwareNetworks: UI_I_SendDataNewNetwork[] | null
116
+ virtualHardwareHardDisks: UI_I_SendDataNewHardDisk[] | null
117
+ virtualHardwareCdDvdDrives: UI_I_SendDataNewCdDvdDrive[] | null
118
+ state?: string | number
119
+ vmNameOld?: string
120
+ passthroughDevices?: UI_I_PciDevice[]
121
+ getDatastoreTableFunc?: (payload: UI_I_TablePayload) => Promise<void>
122
+ customizeHardwareSubmit?: null | Function
123
+ }>()
124
+
125
+ const emits = defineEmits<{
126
+ (event: 'hide'): void
127
+ (event: 'validate'): void
128
+ (event: 'update-vm'): void
129
+ (event: 'get-storage', value: UI_I_TablePayload): void
130
+ (event: 'get-pci-devices'): void
131
+ (event: 'change-boot-order', value: UI_T_ChangeBootOrder): void
132
+ (event: 'get-networks-table', value: UI_I_TablePayload): void
133
+ (event: 'get-folders-or-files', value: UI_I_FolderOrFileTreePayload): void
134
+ (event: 'show-datastore-child', value: UI_I_FileTreeNode): void
135
+ (event: 'get-active-device-child', value: UI_I_FileTreeNode): void
136
+ (
137
+ event: 'change-customize-hardware',
138
+ value: UI_I_SendDataCustomizeHardware
139
+ ): void
140
+ }>()
141
+
142
+ const localization = computed<UI_I_Localization>(() => useLocal())
143
+
144
+ const modalTextsLocal = computed<UI_I_ModalTexts>(() =>
145
+ modalTexts(localization.value)
146
+ )
147
+ </script>
148
+
149
+ <style>
150
+ :root {
151
+ --vm-wizard-sub-title: #4d5d69;
152
+ --vm-wizard-title-circle: #9da6ad;
153
+ }
154
+ :root.dark-theme {
155
+ --vm-wizard-sub-title: #9da6ad;
156
+ --vm-wizard-title-circle: #4d5d69;
157
+ }
158
+ </style>
159
+ <style scoped lang="scss">
160
+ :deep(.modal-header h3) {
161
+ display: flex;
162
+ align-items: center;
163
+ gap: 12px;
164
+ }
165
+ .circle {
166
+ width: 4px;
167
+ height: 4px;
168
+ background-color: var(--vm-wizard-title-circle);
169
+ border-radius: 50px;
170
+ }
171
+ .sub-title {
172
+ font-size: 14px;
173
+ font-weight: 500;
174
+ line-height: 16.94px;
175
+ color: var(--vm-wizard-sub-title);
176
+ }
177
+ </style>
@@ -1,88 +1,88 @@
1
- <template>
2
- <div class="skeleton-wrap">
3
- <div class="tabs">
4
- <ui-skeleton-item width="64px" height="16px" />
5
- <ui-skeleton-item width="64px" height="16px" />
6
- </div>
7
- <div class="actions">
8
- <ui-skeleton-item width="80px" height="16px" />
9
- <ui-skeleton-item width="152px" height="32px" border-radius="6px" />
10
- </div>
11
- <div class="stack-block-wrap">
12
- <div class="stack-block">
13
- <div class="stack-label flex-1">
14
- <ui-skeleton-item width="16px" height="16px" border-radius="50%" />
15
- <ui-skeleton-item height="16px" />
16
- </div>
17
- <div class="stack-value flex-1">
18
- <ui-skeleton-item width="102px" height="32px" border-radius="8px" />
19
- </div>
20
- </div>
21
-
22
- <div v-for="item in 2" :key="item" class="stack-block">
23
- <div class="stack-label flex-1">
24
- <ui-skeleton-item width="16px" height="16px" border-radius="50%" />
25
- <ui-skeleton-item height="16px" />
26
- </div>
27
- <div class="stack-value flex-1">
28
- <ui-skeleton-item width="102px" height="32px" border-radius="8px" />
29
- <ui-skeleton-item width="80px" height="32px" border-radius="8px" />
30
- </div>
31
- </div>
32
-
33
- <div v-for="item in 5" :key="item" class="stack-block">
34
- <div class="stack-label flex-1">
35
- <ui-skeleton-item width="16px" height="16px" border-radius="50%" />
36
- <ui-skeleton-item height="16px" />
37
- </div>
38
- <div class="stack-value flex-1">
39
- <ui-skeleton-item width="196px" height="32px" border-radius="8px" />
40
- </div>
41
- </div>
42
- </div>
43
- </div>
44
- </template>
45
-
46
- <script setup lang="ts"></script>
47
-
48
- <style scoped lang="scss">
49
- .skeleton-wrap {
50
- padding: 0 32px;
51
-
52
- .tabs {
53
- display: flex;
54
- align-items: center;
55
- gap: 56px;
56
- padding-bottom: 12px;
57
- border-bottom: 1px solid var(--divider-color);
58
- }
59
-
60
- .actions {
61
- display: flex;
62
- align-items: center;
63
- justify-content: space-between;
64
- margin: 12px 0;
65
- }
66
-
67
- .stack-block-wrap {
68
- display: grid;
69
- grid-gap: 12px;
70
-
71
- .stack-block {
72
- display: flex;
73
- align-items: center;
74
- gap: 8px;
75
- padding: 8px 12px;
76
- background: var(--stack-block-bg-color);
77
- border-radius: 6px;
78
-
79
- .stack-label,
80
- .stack-value {
81
- display: flex;
82
- align-items: center;
83
- gap: 8px;
84
- }
85
- }
86
- }
87
- }
88
- </style>
1
+ <template>
2
+ <div class="skeleton-wrap">
3
+ <div class="tabs">
4
+ <ui-skeleton-item width="64px" height="16px" />
5
+ <ui-skeleton-item width="64px" height="16px" />
6
+ </div>
7
+ <div class="actions">
8
+ <ui-skeleton-item width="80px" height="16px" />
9
+ <ui-skeleton-item width="152px" height="32px" border-radius="6px" />
10
+ </div>
11
+ <div class="stack-block-wrap">
12
+ <div class="stack-block">
13
+ <div class="stack-label flex-1">
14
+ <ui-skeleton-item width="16px" height="16px" border-radius="50%" />
15
+ <ui-skeleton-item height="16px" />
16
+ </div>
17
+ <div class="stack-value flex-1">
18
+ <ui-skeleton-item width="102px" height="32px" border-radius="8px" />
19
+ </div>
20
+ </div>
21
+
22
+ <div v-for="item in 2" :key="item" class="stack-block">
23
+ <div class="stack-label flex-1">
24
+ <ui-skeleton-item width="16px" height="16px" border-radius="50%" />
25
+ <ui-skeleton-item height="16px" />
26
+ </div>
27
+ <div class="stack-value flex-1">
28
+ <ui-skeleton-item width="102px" height="32px" border-radius="8px" />
29
+ <ui-skeleton-item width="80px" height="32px" border-radius="8px" />
30
+ </div>
31
+ </div>
32
+
33
+ <div v-for="item in 5" :key="item" class="stack-block">
34
+ <div class="stack-label flex-1">
35
+ <ui-skeleton-item width="16px" height="16px" border-radius="50%" />
36
+ <ui-skeleton-item height="16px" />
37
+ </div>
38
+ <div class="stack-value flex-1">
39
+ <ui-skeleton-item width="196px" height="32px" border-radius="8px" />
40
+ </div>
41
+ </div>
42
+ </div>
43
+ </div>
44
+ </template>
45
+
46
+ <script setup lang="ts"></script>
47
+
48
+ <style scoped lang="scss">
49
+ .skeleton-wrap {
50
+ padding: 0 32px;
51
+
52
+ .tabs {
53
+ display: flex;
54
+ align-items: center;
55
+ gap: 56px;
56
+ padding-bottom: 12px;
57
+ border-bottom: 1px solid var(--divider-color);
58
+ }
59
+
60
+ .actions {
61
+ display: flex;
62
+ align-items: center;
63
+ justify-content: space-between;
64
+ margin: 12px 0;
65
+ }
66
+
67
+ .stack-block-wrap {
68
+ display: grid;
69
+ grid-gap: 12px;
70
+
71
+ .stack-block {
72
+ display: flex;
73
+ align-items: center;
74
+ gap: 8px;
75
+ padding: 8px 12px;
76
+ background: var(--stack-block-bg-color);
77
+ border-radius: 6px;
78
+
79
+ .stack-label,
80
+ .stack-value {
81
+ display: flex;
82
+ align-items: center;
83
+ gap: 8px;
84
+ }
85
+ }
86
+ }
87
+ }
88
+ </style>
@@ -1,30 +1,30 @@
1
- import type { UI_I_Localization } from '~/lib/models/interfaces'
2
- import type { UI_T_LanguageKey } from '~/lib/models/types'
3
-
4
- export function productNameLocal(
5
- localization: UI_I_Localization
6
- ): UI_I_Localization {
7
- const config = useRuntimeConfig()
8
-
9
- const productName =
10
- config.public.LOCALIZATION_CODE === 'ru'
11
- ? config.public.PRODUCT_NAME_RU
12
- : config.public.PRODUCT_NAME_EN
13
-
14
- return replaceProductNameRecursion(localization, productName)
15
- }
16
-
17
- const replaceProductNameRecursion = (
18
- localization: UI_I_Localization,
19
- productName: any
20
- ): UI_I_Localization => {
21
- for (const key of Object.keys(localization)) {
22
- let item = localization[key as UI_T_LanguageKey]
23
-
24
- for (const key2 of Object.keys(item)) {
25
- item[key2] = item[key2].replaceAll('{productName}', productName)
26
- }
27
- }
28
-
29
- return localization
30
- }
1
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
2
+ import type { UI_T_LanguageKey } from '~/lib/models/types'
3
+
4
+ export function productNameLocal(
5
+ localization: UI_I_Localization
6
+ ): UI_I_Localization {
7
+ const config = useRuntimeConfig()
8
+
9
+ const productName =
10
+ config.public.LOCALIZATION_CODE === 'ru'
11
+ ? config.public.PRODUCT_NAME_RU
12
+ : config.public.PRODUCT_NAME_EN
13
+
14
+ return replaceProductNameRecursion(localization, productName)
15
+ }
16
+
17
+ const replaceProductNameRecursion = (
18
+ localization: UI_I_Localization,
19
+ productName: any
20
+ ): UI_I_Localization => {
21
+ for (const key of Object.keys(localization)) {
22
+ let item = localization[key as UI_T_LanguageKey]
23
+
24
+ for (const key2 of Object.keys(item)) {
25
+ item[key2] = item[key2].replaceAll('{productName}', productName)
26
+ }
27
+ }
28
+
29
+ return localization
30
+ }
@@ -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 as string
6
-
7
- // const regexHasDot = /\./
8
- // const regexHasDotAndB = /\.\d*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 as string
6
+
7
+ // const regexHasDot = /\./
8
+ // const regexHasDotAndB = /\.\d*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
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bfg-common",
3
3
  "private": false,
4
- "version": "1.4.693",
4
+ "version": "1.4.695",
5
5
  "scripts": {
6
6
  "build": "nuxt build",
7
7
  "dev": "nuxt dev --port=3002",