bfg-common 1.5.575 → 1.5.577

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 (121) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  4. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  5. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  6. package/assets/localization/local_be.json +7 -2
  7. package/assets/localization/local_en.json +7 -2
  8. package/assets/localization/local_hy.json +7 -2
  9. package/assets/localization/local_kk.json +7 -2
  10. package/assets/localization/local_ru.json +7 -2
  11. package/assets/localization/local_zh.json +7 -2
  12. package/components/atoms/TheIcon3.vue +50 -50
  13. package/components/atoms/collapse/CollapseNav.vue +170 -170
  14. package/components/atoms/perPage/PerPage.vue +58 -58
  15. package/components/atoms/table/dataGrid/DataGrid.vue +1718 -1718
  16. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  17. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  18. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  19. package/components/common/backup/storage/actions/add/Add.vue +2 -3
  20. package/components/common/backup/storage/actions/add/Old.vue +2 -3
  21. package/components/common/backup/storage/actions/add/lib/utils.ts +51 -51
  22. package/components/common/backup/storage/actions/add/steps/readyComplete/ReadyComplete.vue +45 -45
  23. package/components/common/backup/storage/actions/add/steps/readyComplete/lib/config/propertiesDetails.ts +7 -7
  24. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  25. package/components/common/diagramMain/modals/lib/config/portModal.ts +251 -251
  26. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  27. package/components/common/diagramMain/port/Port.vue +580 -580
  28. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  29. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  30. package/components/common/pages/backups/DetailView.vue +52 -52
  31. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  32. package/components/common/pages/backups/modals/Modals.vue +243 -243
  33. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  34. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +69 -69
  35. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  36. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  37. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  38. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  39. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  40. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  41. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  42. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  43. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  44. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  45. package/components/common/select/radio/RadioGroup.vue +137 -137
  46. package/components/common/spiceConsole/Drawer.vue +420 -420
  47. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  48. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  49. package/components/common/tools/Actions.vue +207 -207
  50. package/components/common/treeView/TreeView.vue +52 -52
  51. package/components/common/vm/actions/add/Add.vue +960 -951
  52. package/components/common/vm/actions/add/New.vue +2 -0
  53. package/components/common/vm/actions/add/Old.vue +2 -0
  54. package/components/common/vm/actions/add/lib/config/steps.ts +347 -347
  55. package/components/common/vm/actions/clone/Clone.vue +816 -809
  56. package/components/common/vm/actions/clone/new/New.vue +2 -0
  57. package/components/common/vm/actions/clone/old/Old.vue +2 -0
  58. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  59. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  60. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryNew.vue +158 -158
  61. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryOld.vue +155 -155
  62. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  63. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  64. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
  67. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  68. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  69. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  70. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  71. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  72. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  73. package/components/common/vm/actions/common/select/options/New.vue +258 -227
  74. package/components/common/vm/actions/common/select/options/Old.vue +103 -75
  75. package/components/common/vm/actions/common/select/options/Options.vue +54 -38
  76. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  77. package/components/common/vm/actions/common/select/storage/Storage.vue +178 -178
  78. package/components/common/vm/actions/common/select/storage/new/New.vue +311 -311
  79. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  80. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  81. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  82. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  83. package/components/common/vm/actions/register/Register.vue +352 -352
  84. package/components/common/vm/actions/register/lib/config/steps.ts +86 -86
  85. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  86. package/components/common/wizards/common/compatibility/New.vue +99 -99
  87. package/components/common/wizards/common/compatibility/Old.vue +53 -53
  88. package/components/common/wizards/common/steps/computeResource/ComputeResource.vue +86 -86
  89. package/components/common/wizards/common/steps/computeResource/New.vue +93 -93
  90. package/components/common/wizards/common/steps/computeResource/Old.vue +103 -103
  91. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  92. package/components/common/wizards/common/steps/name/New.vue +221 -221
  93. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  94. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  95. package/components/common/wizards/common/steps/name/location/Location.vue +85 -85
  96. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  97. package/components/common/wizards/datastore/add/Add.vue +228 -228
  98. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  99. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  100. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +205 -205
  101. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  102. package/composables/useAppVersion.ts +21 -21
  103. package/composables/useLocal.ts +6 -6
  104. package/composables/useLocalCommon.ts +39 -39
  105. package/package.json +1 -1
  106. package/plugins/console.ts +21 -21
  107. package/plugins/date.ts +233 -233
  108. package/plugins/mouse.ts +21 -21
  109. package/plugins/panelStates.ts +70 -70
  110. package/plugins/text.ts +59 -59
  111. package/public/spice-console/application/clientgui.js +854 -854
  112. package/public/spice-console/application/packetfactory.js +211 -211
  113. package/public/spice-console/application/virtualmouse.js +147 -147
  114. package/public/spice-console/lib/images/bitmap.js +203 -203
  115. package/public/spice-console/network/spicechannel.js +440 -440
  116. package/public/spice-console/process/cursorprocess.js +121 -121
  117. package/public/spice-console/process/inputprocess.js +227 -227
  118. package/public/spice-console/process/mainprocess.js +210 -210
  119. package/public/spice-console/run.js +210 -210
  120. package/store/main/mutations.ts +7 -7
  121. package/store/main/state.ts +7 -7
@@ -1,154 +1,154 @@
1
- <template>
2
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-location-new
3
- v-if="isNewView"
4
- v-model:selected-location="selectedLocation"
5
- :index="props.index"
6
- :datastore="props.datastore"
7
- :is-datastore-loading="props.isDatastoreLoading"
8
- :get-datastore-table-func="props.getDatastoreTableFunc"
9
- :api-error="apiError"
10
- :location-options="locationOptions"
11
- :storage-modal-is-show="storageModalIsShow"
12
- :storage-submit="storageSubmit"
13
- @change-location="onChangeLocation"
14
- @change-storage="onChangeStorage"
15
- @hide-storage-modal="onHideStorageModal"
16
- @submit-storage-modal="onSubmitStorageModal"
17
- @remove-validation-error="onRemoveValidationError"
18
- />
19
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-location-old
20
- v-else
21
- v-model:selected-location="selectedLocation"
22
- :index="props.index"
23
- :datastore="props.datastore"
24
- :is-datastore-loading="props.isDatastoreLoading"
25
- :get-datastore-table-func="props.getDatastoreTableFunc"
26
- :api-error="apiError"
27
- :location-options="locationOptions"
28
- :storage-modal-is-show="storageModalIsShow"
29
- :storage-submit="storageSubmit"
30
- @change-location="onChangeLocation"
31
- @change-storage="onChangeStorage"
32
- @hide-storage-modal="onHideStorageModal"
33
- @submit-storage-modal="onSubmitStorageModal"
34
- @remove-validation-error="onRemoveValidationError"
35
- />
36
- </template>
37
-
38
- <script setup lang="ts">
39
- import type {
40
- UI_I_HTMLSelectElement,
41
- UI_I_Localization,
42
- } from '~/lib/models/interfaces'
43
- import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
44
- import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
45
- import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
46
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
47
-
48
- const props = defineProps<{
49
- location: UI_I_DatastoreTableItem | null
50
- index: number
51
- errorValidationFields: UI_I_ErrorValidationField[]
52
- datastore: UI_I_DatastoreTableItem[]
53
- isDatastoreLoading: boolean
54
- getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
55
- }>()
56
- const emits = defineEmits<{
57
- (event: 'change', value: UI_I_DatastoreTableItem): void
58
- (event: 'remove-error-by-title', value: string): void
59
- }>()
60
-
61
- const { $store }: any = useNuxtApp()
62
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
63
-
64
- const localization = computed<UI_I_Localization>(() => useLocal())
65
-
66
- const selectedLocation = ref<string>(props.location?.id || '')
67
-
68
- const storages = ref<UI_I_DatastoreTableItem[]>([])
69
- const addStorage = (storage: UI_I_DatastoreTableItem): void => {
70
- const hasStorage = storages.value.some((item) => item.id === storage.id)
71
- if (hasStorage) {
72
- return
73
- }
74
-
75
- storages.value.push(storage)
76
- }
77
- const locationOptions = ref<UI_I_OptionItem[]>([])
78
-
79
- watch(
80
- () => props.location,
81
- (newValue) => {
82
- if (locationOptions.value.length || !newValue) {
83
- return
84
- }
85
-
86
- locationOptions.value = [
87
- {
88
- text: localization.value.common.storeWithVirtualMachine,
89
- value: newValue.id,
90
- },
91
- { text: `${localization.value.common.browse}...`, value: -1 },
92
- ]
93
- selectedLocation.value = newValue.id
94
- storages.value.push(newValue)
95
- addStorage(newValue)
96
- },
97
- { immediate: true }
98
- )
99
-
100
- const storageSubmit = ref<null | Function>(null)
101
- const onSubmitStorageModal = (): void => {
102
- storageSubmit.value = (_isValid: boolean): void => {
103
- storageSubmit.value = null
104
- }
105
- }
106
- const storageModalIsShow = ref<boolean>(false)
107
- const onHideStorageModal = (): void => {
108
- storageModalIsShow.value = false
109
- if (selectedLocation.value === -1)
110
- selectedLocation.value = locationOptions.value[0].value
111
- }
112
- const onChangeStorage = (storage: UI_I_DatastoreTableItem): void => {
113
- locationOptions.value = [
114
- locationOptions.value[0],
115
- { text: storage.name, value: storage.id },
116
- // @ts-ignore
117
- locationOptions.value.at(-1),
118
- ]
119
-
120
- selectedLocation.value = storage.id
121
- emits('change', storage)
122
- addStorage(storage)
123
- onHideStorageModal()
124
- }
125
- const onChangeLocation = (event: UI_I_HTMLSelectElement): void => {
126
- const value = +event.target.value
127
- if (value === -1) {
128
- storageModalIsShow.value = true
129
- return
130
- }
131
-
132
- selectedLocation.value = event.target.value
133
- const storage = storages.value.find((item) => item.id === event.target.value)
134
- storage && emits('change', storage)
135
- }
136
-
137
- const typeError = computed<string>(
138
- () => `disk_devices[${props.index}].location`
139
- )
140
-
141
- const apiError = computed<string>(() => {
142
- return (
143
- props.errorValidationFields?.find(
144
- (message) => message.field === typeError.value
145
- )?.error_message || ''
146
- )
147
- })
148
-
149
- const onRemoveValidationError = (): void => {
150
- emits('remove-error-by-title', typeError.value)
151
- }
152
- </script>
153
-
154
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-location-new
3
+ v-if="isNewView"
4
+ v-model:selected-location="selectedLocation"
5
+ :index="props.index"
6
+ :datastore="props.datastore"
7
+ :is-datastore-loading="props.isDatastoreLoading"
8
+ :get-datastore-table-func="props.getDatastoreTableFunc"
9
+ :api-error="apiError"
10
+ :location-options="locationOptions"
11
+ :storage-modal-is-show="storageModalIsShow"
12
+ :storage-submit="storageSubmit"
13
+ @change-location="onChangeLocation"
14
+ @change-storage="onChangeStorage"
15
+ @hide-storage-modal="onHideStorageModal"
16
+ @submit-storage-modal="onSubmitStorageModal"
17
+ @remove-validation-error="onRemoveValidationError"
18
+ />
19
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-location-old
20
+ v-else
21
+ v-model:selected-location="selectedLocation"
22
+ :index="props.index"
23
+ :datastore="props.datastore"
24
+ :is-datastore-loading="props.isDatastoreLoading"
25
+ :get-datastore-table-func="props.getDatastoreTableFunc"
26
+ :api-error="apiError"
27
+ :location-options="locationOptions"
28
+ :storage-modal-is-show="storageModalIsShow"
29
+ :storage-submit="storageSubmit"
30
+ @change-location="onChangeLocation"
31
+ @change-storage="onChangeStorage"
32
+ @hide-storage-modal="onHideStorageModal"
33
+ @submit-storage-modal="onSubmitStorageModal"
34
+ @remove-validation-error="onRemoveValidationError"
35
+ />
36
+ </template>
37
+
38
+ <script setup lang="ts">
39
+ import type {
40
+ UI_I_HTMLSelectElement,
41
+ UI_I_Localization,
42
+ } from '~/lib/models/interfaces'
43
+ import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
44
+ import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
45
+ import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
46
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
47
+
48
+ const props = defineProps<{
49
+ location: UI_I_DatastoreTableItem | null
50
+ index: number
51
+ errorValidationFields: UI_I_ErrorValidationField[]
52
+ datastore: UI_I_DatastoreTableItem[]
53
+ isDatastoreLoading: boolean
54
+ getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
55
+ }>()
56
+ const emits = defineEmits<{
57
+ (event: 'change', value: UI_I_DatastoreTableItem): void
58
+ (event: 'remove-error-by-title', value: string): void
59
+ }>()
60
+
61
+ const { $store }: any = useNuxtApp()
62
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
63
+
64
+ const localization = computed<UI_I_Localization>(() => useLocal())
65
+
66
+ const selectedLocation = ref<string>(props.location?.id || '')
67
+
68
+ const storages = ref<UI_I_DatastoreTableItem[]>([])
69
+ const addStorage = (storage: UI_I_DatastoreTableItem): void => {
70
+ const hasStorage = storages.value.some((item) => item.id === storage.id)
71
+ if (hasStorage) {
72
+ return
73
+ }
74
+
75
+ storages.value.push(storage)
76
+ }
77
+ const locationOptions = ref<UI_I_OptionItem[]>([])
78
+
79
+ watch(
80
+ () => props.location,
81
+ (newValue) => {
82
+ if (locationOptions.value.length || !newValue) {
83
+ return
84
+ }
85
+
86
+ locationOptions.value = [
87
+ {
88
+ text: localization.value.common.storeWithVirtualMachine,
89
+ value: newValue.id,
90
+ },
91
+ { text: `${localization.value.common.browse}...`, value: -1 },
92
+ ]
93
+ selectedLocation.value = newValue.id
94
+ storages.value.push(newValue)
95
+ addStorage(newValue)
96
+ },
97
+ { immediate: true }
98
+ )
99
+
100
+ const storageSubmit = ref<null | Function>(null)
101
+ const onSubmitStorageModal = (): void => {
102
+ storageSubmit.value = (_isValid: boolean): void => {
103
+ storageSubmit.value = null
104
+ }
105
+ }
106
+ const storageModalIsShow = ref<boolean>(false)
107
+ const onHideStorageModal = (): void => {
108
+ storageModalIsShow.value = false
109
+ if (selectedLocation.value === -1)
110
+ selectedLocation.value = locationOptions.value[0].value
111
+ }
112
+ const onChangeStorage = (storage: UI_I_DatastoreTableItem): void => {
113
+ locationOptions.value = [
114
+ locationOptions.value[0],
115
+ { text: storage.name, value: storage.id },
116
+ // @ts-ignore
117
+ locationOptions.value.at(-1),
118
+ ]
119
+
120
+ selectedLocation.value = storage.id
121
+ emits('change', storage)
122
+ addStorage(storage)
123
+ onHideStorageModal()
124
+ }
125
+ const onChangeLocation = (event: UI_I_HTMLSelectElement): void => {
126
+ const value = +event.target.value
127
+ if (value === -1) {
128
+ storageModalIsShow.value = true
129
+ return
130
+ }
131
+
132
+ selectedLocation.value = event.target.value
133
+ const storage = storages.value.find((item) => item.id === event.target.value)
134
+ storage && emits('change', storage)
135
+ }
136
+
137
+ const typeError = computed<string>(
138
+ () => `disk_devices[${props.index}].location`
139
+ )
140
+
141
+ const apiError = computed<string>(() => {
142
+ return (
143
+ props.errorValidationFields?.find(
144
+ (message) => message.field === typeError.value
145
+ )?.error_message || ''
146
+ )
147
+ })
148
+
149
+ const onRemoveValidationError = (): void => {
150
+ emits('remove-error-by-title', typeError.value)
151
+ }
152
+ </script>
153
+
154
+ <style scoped lang="scss"></style>
@@ -1,119 +1,119 @@
1
- <template>
2
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-mac-address-new
3
- v-if="isNewView"
4
- v-model:mac-address="macAddress"
5
- v-model:mac-address-type="macAddressType"
6
- :index="index"
7
- :disabled="disabled"
8
- :error-text="macAddressLocalAndApiErrorsTexts"
9
- :mac-address-local-error-text="macAddressLocalErrorText"
10
- :mac-address-options="macAddressOptions"
11
- @remove-error="onRemoveValidationError"
12
- />
13
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-mac-address-old
14
- v-else
15
- v-model:mac-address="macAddress"
16
- v-model:mac-address-type="macAddressType"
17
- :index="index"
18
- :disabled="disabled"
19
- :error-text="macAddressLocalAndApiErrorsTexts"
20
- :mac-address-local-error-text="macAddressLocalErrorText"
21
- :mac-address-options="macAddressOptions"
22
- @remove-error="onRemoveValidationError"
23
- />
24
- </template>
25
-
26
- <script setup lang="ts">
27
- import type {
28
- UI_I_Localization,
29
- } from '~/lib/models/interfaces'
30
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
31
- import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
32
- import { macAddressOptionsFunc } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/lib/config/options'
33
-
34
- const macAddress = defineModel<string>('macAddress', { required: true })
35
- const macAddressType = defineModel<string>('macAddressType', {
36
- required: true,
37
- })
38
-
39
- const props = defineProps<{
40
- index: number
41
- disabled: boolean
42
- errorValidationFields: UI_I_ErrorValidationField[]
43
- }>()
44
- const emits = defineEmits<{
45
- (event: 'invalid', value: boolean): void
46
- (event: 'remove-error-by-title', value: string): void
47
- }>()
48
-
49
- const { $store }: any = useNuxtApp()
50
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
51
-
52
- const localization = computed<UI_I_Localization>(() => useLocal())
53
-
54
- const macAddressOptions = ref<UI_I_OptionItem[]>(
55
- macAddressOptionsFunc(localization.value)
56
- )
57
-
58
- watch(macAddressType, (newValue) => {
59
- macAddress.value = newValue === 'manual' ? '00:50:56:' : ''
60
- })
61
- // const onChangeMacAddressType = (): void => {
62
- // // emits('update:mac-address-type', event.target.value)
63
- //
64
- // // emits(
65
- // // 'update:mac-address',
66
- // // event.target.value === 'manual' ? '00:50:56:' : ''
67
- // // )
68
- // }
69
- // const onChangeMacAddress = (event: Event): void => {
70
- // const target = event.target as HTMLInputElement
71
- // emits('update:mac-address', target.value)
72
- // }
73
-
74
- const macAddressLocalErrorText = computed<string>(() => {
75
- /* eslint-disable no-useless-escape */
76
- const isValidMacAddress =
77
- /^[0-9a-f]{1,2}([\.:-])(?:[0-9a-f]{1,2}\1){4}[0-9a-f]{1,2}$/.test(
78
- macAddress.value
79
- )
80
-
81
- return macAddressType.value === 'manual' && !isValidMacAddress
82
- ? localization.value.common.invalidMacAddress
83
- : ''
84
- })
85
- watch(macAddressLocalErrorText, (newValue) => {
86
- emits('invalid', !!newValue.length)
87
- })
88
-
89
- const typeError = computed<string>(
90
- () => `network_devices[${props.index}].mac_address`
91
- )
92
-
93
- const apiErrorLocal = computed<string>(() => {
94
- return (
95
- props.errorValidationFields?.find(
96
- (message) => message.field === typeError.value
97
- )?.error_message || ''
98
- )
99
- })
100
-
101
- const macAddressLocalAndApiErrorsTexts = computed<string>(() => {
102
- const localError = macAddressLocalErrorText.value
103
- const apiError = apiErrorLocal.value
104
-
105
- let result = ''
106
- if (localError && !apiError) result = localError
107
- if (!localError && apiError) result = apiError
108
- if (localError && apiError) result = localError + ', ' + apiError
109
- if (!localError && apiError) result = apiError
110
-
111
- return result
112
- })
113
-
114
- const onRemoveValidationError = (): void => {
115
- emits('remove-error-by-title', typeError.value)
116
- }
117
- </script>
118
-
119
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-mac-address-new
3
+ v-if="isNewView"
4
+ v-model:mac-address="macAddress"
5
+ v-model:mac-address-type="macAddressType"
6
+ :index="index"
7
+ :disabled="disabled"
8
+ :error-text="macAddressLocalAndApiErrorsTexts"
9
+ :mac-address-local-error-text="macAddressLocalErrorText"
10
+ :mac-address-options="macAddressOptions"
11
+ @remove-error="onRemoveValidationError"
12
+ />
13
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-mac-address-old
14
+ v-else
15
+ v-model:mac-address="macAddress"
16
+ v-model:mac-address-type="macAddressType"
17
+ :index="index"
18
+ :disabled="disabled"
19
+ :error-text="macAddressLocalAndApiErrorsTexts"
20
+ :mac-address-local-error-text="macAddressLocalErrorText"
21
+ :mac-address-options="macAddressOptions"
22
+ @remove-error="onRemoveValidationError"
23
+ />
24
+ </template>
25
+
26
+ <script setup lang="ts">
27
+ import type {
28
+ UI_I_Localization,
29
+ } from '~/lib/models/interfaces'
30
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
31
+ import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
32
+ import { macAddressOptionsFunc } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/lib/config/options'
33
+
34
+ const macAddress = defineModel<string>('macAddress', { required: true })
35
+ const macAddressType = defineModel<string>('macAddressType', {
36
+ required: true,
37
+ })
38
+
39
+ const props = defineProps<{
40
+ index: number
41
+ disabled: boolean
42
+ errorValidationFields: UI_I_ErrorValidationField[]
43
+ }>()
44
+ const emits = defineEmits<{
45
+ (event: 'invalid', value: boolean): void
46
+ (event: 'remove-error-by-title', value: string): void
47
+ }>()
48
+
49
+ const { $store }: any = useNuxtApp()
50
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
51
+
52
+ const localization = computed<UI_I_Localization>(() => useLocal())
53
+
54
+ const macAddressOptions = ref<UI_I_OptionItem[]>(
55
+ macAddressOptionsFunc(localization.value)
56
+ )
57
+
58
+ watch(macAddressType, (newValue) => {
59
+ macAddress.value = newValue === 'manual' ? '00:50:56:' : ''
60
+ })
61
+ // const onChangeMacAddressType = (): void => {
62
+ // // emits('update:mac-address-type', event.target.value)
63
+ //
64
+ // // emits(
65
+ // // 'update:mac-address',
66
+ // // event.target.value === 'manual' ? '00:50:56:' : ''
67
+ // // )
68
+ // }
69
+ // const onChangeMacAddress = (event: Event): void => {
70
+ // const target = event.target as HTMLInputElement
71
+ // emits('update:mac-address', target.value)
72
+ // }
73
+
74
+ const macAddressLocalErrorText = computed<string>(() => {
75
+ /* eslint-disable no-useless-escape */
76
+ const isValidMacAddress =
77
+ /^[0-9a-f]{1,2}([\.:-])(?:[0-9a-f]{1,2}\1){4}[0-9a-f]{1,2}$/.test(
78
+ macAddress.value
79
+ )
80
+
81
+ return macAddressType.value === 'manual' && !isValidMacAddress
82
+ ? localization.value.common.invalidMacAddress
83
+ : ''
84
+ })
85
+ watch(macAddressLocalErrorText, (newValue) => {
86
+ emits('invalid', !!newValue.length)
87
+ })
88
+
89
+ const typeError = computed<string>(
90
+ () => `network_devices[${props.index}].mac_address`
91
+ )
92
+
93
+ const apiErrorLocal = computed<string>(() => {
94
+ return (
95
+ props.errorValidationFields?.find(
96
+ (message) => message.field === typeError.value
97
+ )?.error_message || ''
98
+ )
99
+ })
100
+
101
+ const macAddressLocalAndApiErrorsTexts = computed<string>(() => {
102
+ const localError = macAddressLocalErrorText.value
103
+ const apiError = apiErrorLocal.value
104
+
105
+ let result = ''
106
+ if (localError && !apiError) result = localError
107
+ if (!localError && apiError) result = apiError
108
+ if (localError && apiError) result = localError + ', ' + apiError
109
+ if (!localError && apiError) result = apiError
110
+
111
+ return result
112
+ })
113
+
114
+ const onRemoveValidationError = (): void => {
115
+ emits('remove-error-by-title', typeError.value)
116
+ }
117
+ </script>
118
+
119
+ <style scoped lang="scss"></style>
@@ -1,31 +1,31 @@
1
- <template>
2
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-dynamic-direct-path-io-new
3
- v-if="isNewView"
4
- v-model="model"
5
- :passthrough-devices="props.passthroughDevices"
6
- :pci-device-index="props.pciDeviceIndex"
7
- />
8
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-dynamic-direct-path-io-old
9
- v-else
10
- v-model="model"
11
- :passthrough-devices="props.passthroughDevices"
12
- :pci-device-index="props.pciDeviceIndex"
13
- />
14
- </template>
15
-
16
- <script lang="ts" setup>
17
- import type { UI_I_PciDevice } from '~/lib/models/store/vm/interfaces'
18
-
19
- const model = defineModel<string>({ required: true })
20
-
21
- const props = defineProps<{
22
- pciDeviceIndex: number
23
- passthroughDevices: UI_I_PciDevice[]
24
- }>()
25
-
26
- const { $store }: any = useNuxtApp()
27
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
28
-
29
- </script>
30
-
31
- <style lang="scss" scoped></style>
1
+ <template>
2
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-dynamic-direct-path-io-new
3
+ v-if="isNewView"
4
+ v-model="model"
5
+ :passthrough-devices="props.passthroughDevices"
6
+ :pci-device-index="props.pciDeviceIndex"
7
+ />
8
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device-dynamic-direct-path-io-old
9
+ v-else
10
+ v-model="model"
11
+ :passthrough-devices="props.passthroughDevices"
12
+ :pci-device-index="props.pciDeviceIndex"
13
+ />
14
+ </template>
15
+
16
+ <script lang="ts" setup>
17
+ import type { UI_I_PciDevice } from '~/lib/models/store/vm/interfaces'
18
+
19
+ const model = defineModel<string>({ required: true })
20
+
21
+ const props = defineProps<{
22
+ pciDeviceIndex: number
23
+ passthroughDevices: UI_I_PciDevice[]
24
+ }>()
25
+
26
+ const { $store }: any = useNuxtApp()
27
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
28
+
29
+ </script>
30
+
31
+ <style lang="scss" scoped></style>
@@ -1,16 +1,16 @@
1
- <template>
2
- <common-vm-actions-common-customize-hardware-virtual-hardware-other-new
3
- v-if="isNewView"
4
- />
5
- <common-vm-actions-common-customize-hardware-virtual-hardware-other-old
6
- v-else
7
- />
8
- </template>
9
-
10
- <script setup lang="ts">
11
- const { $store }: any = useNuxtApp()
12
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
13
- </script>
14
-
15
- <style scoped lang="scss">
16
- </style>
1
+ <template>
2
+ <common-vm-actions-common-customize-hardware-virtual-hardware-other-new
3
+ v-if="isNewView"
4
+ />
5
+ <common-vm-actions-common-customize-hardware-virtual-hardware-other-old
6
+ v-else
7
+ />
8
+ </template>
9
+
10
+ <script setup lang="ts">
11
+ const { $store }: any = useNuxtApp()
12
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
13
+ </script>
14
+
15
+ <style scoped lang="scss">
16
+ </style>