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,178 +1,178 @@
1
- <template>
2
- <common-wizards-common-steps-name-new
3
- v-if="isNewView"
4
- v-model:name="name"
5
- v-model:location="location"
6
- :has-location="props.hasLocation"
7
- :errors="errors"
8
- :location-nodes="props.locationNodes"
9
- :test-ids="props.testIds"
10
- @remove-validation-errors="onRemoveValidationErrors"
11
- />
12
- <common-wizards-common-steps-name-old
13
- v-else
14
- v-model:name="name"
15
- v-model:location="location"
16
- :has-location="props.hasLocation"
17
- :errors="errors"
18
- :location-nodes="props.locationNodes"
19
- :location-description="props.locationDescription"
20
- :test-ids="props.testIds"
21
- @remove-validation-errors="onRemoveValidationErrors"
22
- />
23
- </template>
24
-
25
- <script setup lang="ts">
26
- import type { API_UI_I_Error } from '~/lib/models/store/interfaces'
27
- import type { UI_I_Localization } from '~/lib/models/interfaces'
28
- import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
29
- import type { UI_I_NameTestIds } from '~/components/common/wizards/common/steps/name/lib/models/interfaces'
30
-
31
- const name = defineModel<string>('name', { required: true })
32
- const location = defineModel<UI_I_TreeNode | null>('location') // для сферы
33
-
34
- const props = withDefaults(
35
- defineProps<{
36
- show: boolean
37
- nameFormSubmit: null | Function
38
- nameRequestUrl: string
39
- nameExistValidationDescription: string
40
- testIds: UI_I_NameTestIds
41
- validationDescription?: string
42
- hasLocation?: boolean
43
- validateEmptyName?: boolean
44
- locationNodes?: UI_I_TreeNode[]
45
- locationDescription?: string
46
- allowedLocationKinds?: number[]
47
- }>(),
48
- {
49
- hasLocation: false,
50
- validateEmptyName: false,
51
- locationDescription: '',
52
- locationNodes: () => [],
53
- allowedLocationKinds: () => [],
54
- }
55
- )
56
- const emits = defineEmits<{
57
- (event: 'submit', value: [string, UI_I_TreeNode | null]): void
58
- (event: 'has-errors', value: boolean): 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
- watch(
67
- () => props.nameFormSubmit,
68
- (newValue) => {
69
- newValue && submit(newValue)
70
- }
71
- )
72
-
73
- // TODO defineExpose({
74
- // submit,
75
- // })
76
- const submit = async (cb: Function): Promise<void> => {
77
- if (props.validateEmptyName && name.value === '') {
78
- showValidationErrors([
79
- localization.value.common.emptyNameValidationDescription,
80
- ])
81
- cb(false)
82
- return
83
- }
84
- if (name.value !== '') {
85
- const isNameValid = await checkNameIsValid(name.value)
86
- if (!isNameValid) {
87
- cb(false)
88
- return
89
- }
90
- }
91
-
92
- if (props.hasLocation) {
93
- if (
94
- !location.value ||
95
- (location.value &&
96
- !props.allowedLocationKinds.includes(location.value.kind))
97
- ) {
98
- showValidationErrors([
99
- props.validationDescription,
100
- ])
101
- cb(false)
102
- return
103
- }
104
- }
105
-
106
- onRemoveValidationErrors()
107
- emits('submit', [name.value, location.value])
108
- cb(true)
109
- }
110
- const checkNameIsValid = async (nameLocal: string): Promise<boolean> => {
111
- const nameRequestUrlLocal = props.nameRequestUrl.replace('{name}', nameLocal)
112
- const { error } = await useMyFetch<null, API_UI_I_Error>(
113
- nameRequestUrlLocal,
114
- {
115
- method: 'GET',
116
- }
117
- )
118
- const status = error.value?.statusCode || 200
119
- switch (status) {
120
- case 400: // Empty name
121
- showValidationErrors([
122
- localization.value.common.emptyNameValidationDescription,
123
- ])
124
- return false
125
- case 405: // Invalid kind
126
- showValidationErrors([
127
- localization.value.common.kindValidationDescription,
128
- ])
129
- return false
130
- case 406: // Invalid name
131
- showValidationErrors([
132
- localization.value.common.nameValidationDescription,
133
- ])
134
- return false
135
- case 409: // Name exist
136
- showValidationErrors([
137
- props.nameExistValidationDescription,
138
- ])
139
- return false
140
- }
141
-
142
- return true
143
- }
144
-
145
- const errors = ref<string[]>([])
146
- const showValidationErrors = (data: string[]): void => {
147
- errors.value = data
148
- }
149
- const onRemoveValidationErrors = (): void => {
150
- errors.value = []
151
- }
152
- watch(
153
- errors,
154
- (newValue) => {
155
- emits('has-errors', !newValue.length)
156
- },
157
- { immediate: true, deep: true }
158
- )
159
-
160
- // TODO defineExpose({
161
- // focusNameInput,
162
- // })
163
- watch(
164
- () => props.show,
165
- (newValue) => {
166
- if (!newValue) return
167
-
168
- const input = document.getElementById('virtual-machine-name')
169
- if (!input) return
170
-
171
- setTimeout(() => {
172
- input.focus()
173
- }, 0)
174
- }
175
- )
176
- </script>
177
-
178
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <common-wizards-common-steps-name-new
3
+ v-if="isNewView"
4
+ v-model:name="name"
5
+ v-model:location="location"
6
+ :has-location="props.hasLocation"
7
+ :errors="errors"
8
+ :location-nodes="props.locationNodes"
9
+ :test-ids="props.testIds"
10
+ @remove-validation-errors="onRemoveValidationErrors"
11
+ />
12
+ <common-wizards-common-steps-name-old
13
+ v-else
14
+ v-model:name="name"
15
+ v-model:location="location"
16
+ :has-location="props.hasLocation"
17
+ :errors="errors"
18
+ :location-nodes="props.locationNodes"
19
+ :location-description="props.locationDescription"
20
+ :test-ids="props.testIds"
21
+ @remove-validation-errors="onRemoveValidationErrors"
22
+ />
23
+ </template>
24
+
25
+ <script setup lang="ts">
26
+ import type { API_UI_I_Error } from '~/lib/models/store/interfaces'
27
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
28
+ import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
29
+ import type { UI_I_NameTestIds } from '~/components/common/wizards/common/steps/name/lib/models/interfaces'
30
+
31
+ const name = defineModel<string>('name', { required: true })
32
+ const location = defineModel<UI_I_TreeNode | null>('location') // для сферы
33
+
34
+ const props = withDefaults(
35
+ defineProps<{
36
+ show: boolean
37
+ nameFormSubmit: null | Function
38
+ nameRequestUrl: string
39
+ nameExistValidationDescription: string
40
+ testIds: UI_I_NameTestIds
41
+ validationDescription?: string
42
+ hasLocation?: boolean
43
+ validateEmptyName?: boolean
44
+ locationNodes?: UI_I_TreeNode[]
45
+ locationDescription?: string
46
+ allowedLocationKinds?: number[]
47
+ }>(),
48
+ {
49
+ hasLocation: false,
50
+ validateEmptyName: false,
51
+ locationDescription: '',
52
+ locationNodes: () => [],
53
+ allowedLocationKinds: () => [],
54
+ }
55
+ )
56
+ const emits = defineEmits<{
57
+ (event: 'submit', value: [string, UI_I_TreeNode | null]): void
58
+ (event: 'has-errors', value: boolean): 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
+ watch(
67
+ () => props.nameFormSubmit,
68
+ (newValue) => {
69
+ newValue && submit(newValue)
70
+ }
71
+ )
72
+
73
+ // TODO defineExpose({
74
+ // submit,
75
+ // })
76
+ const submit = async (cb: Function): Promise<void> => {
77
+ if (props.validateEmptyName && name.value === '') {
78
+ showValidationErrors([
79
+ localization.value.common.emptyNameValidationDescription,
80
+ ])
81
+ cb(false)
82
+ return
83
+ }
84
+ if (name.value !== '') {
85
+ const isNameValid = await checkNameIsValid(name.value)
86
+ if (!isNameValid) {
87
+ cb(false)
88
+ return
89
+ }
90
+ }
91
+
92
+ if (props.hasLocation) {
93
+ if (
94
+ !location.value ||
95
+ (location.value &&
96
+ !props.allowedLocationKinds.includes(location.value.kind))
97
+ ) {
98
+ showValidationErrors([
99
+ props.validationDescription,
100
+ ])
101
+ cb(false)
102
+ return
103
+ }
104
+ }
105
+
106
+ onRemoveValidationErrors()
107
+ emits('submit', [name.value, location.value])
108
+ cb(true)
109
+ }
110
+ const checkNameIsValid = async (nameLocal: string): Promise<boolean> => {
111
+ const nameRequestUrlLocal = props.nameRequestUrl.replace('{name}', nameLocal)
112
+ const { error } = await useMyFetch<null, API_UI_I_Error>(
113
+ nameRequestUrlLocal,
114
+ {
115
+ method: 'GET',
116
+ }
117
+ )
118
+ const status = error.value?.statusCode || 200
119
+ switch (status) {
120
+ case 400: // Empty name
121
+ showValidationErrors([
122
+ localization.value.common.emptyNameValidationDescription,
123
+ ])
124
+ return false
125
+ case 405: // Invalid kind
126
+ showValidationErrors([
127
+ localization.value.common.kindValidationDescription,
128
+ ])
129
+ return false
130
+ case 406: // Invalid name
131
+ showValidationErrors([
132
+ localization.value.common.nameValidationDescription,
133
+ ])
134
+ return false
135
+ case 409: // Name exist
136
+ showValidationErrors([
137
+ props.nameExistValidationDescription,
138
+ ])
139
+ return false
140
+ }
141
+
142
+ return true
143
+ }
144
+
145
+ const errors = ref<string[]>([])
146
+ const showValidationErrors = (data: string[]): void => {
147
+ errors.value = data
148
+ }
149
+ const onRemoveValidationErrors = (): void => {
150
+ errors.value = []
151
+ }
152
+ watch(
153
+ errors,
154
+ (newValue) => {
155
+ emits('has-errors', !newValue.length)
156
+ },
157
+ { immediate: true, deep: true }
158
+ )
159
+
160
+ // TODO defineExpose({
161
+ // focusNameInput,
162
+ // })
163
+ watch(
164
+ () => props.show,
165
+ (newValue) => {
166
+ if (!newValue) return
167
+
168
+ const input = document.getElementById('virtual-machine-name')
169
+ if (!input) return
170
+
171
+ setTimeout(() => {
172
+ input.focus()
173
+ }, 0)
174
+ }
175
+ )
176
+ </script>
177
+
178
+ <style scoped lang="scss"></style>