bfg-common 1.5.534 → 1.5.536

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 (139) 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 +5 -1
  7. package/assets/localization/local_en.json +5 -1
  8. package/assets/localization/local_hy.json +5 -1
  9. package/assets/localization/local_kk.json +5 -1
  10. package/assets/localization/local_ru.json +5 -1
  11. package/assets/localization/local_zh.json +5 -1
  12. package/assets/scss/components/auth.scss +15 -1
  13. package/components/atoms/TheIcon3.vue +50 -50
  14. package/components/atoms/collapse/CollapseNav.vue +170 -170
  15. package/components/atoms/perPage/PerPage.vue +58 -58
  16. package/components/atoms/table/dataGrid/DataGrid.vue +1718 -1718
  17. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  18. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  19. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  20. package/components/common/backup/storage/actions/add/Add.vue +251 -251
  21. package/components/common/backup/storage/actions/add/lib/utils.ts +51 -51
  22. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  23. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  24. package/components/common/browse/lib/models/interfaces.ts +5 -5
  25. package/components/common/diagramMain/network/Contents.vue +497 -497
  26. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  27. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  28. package/components/common/pages/backups/DetailView.vue +52 -52
  29. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  30. package/components/common/pages/backups/modals/Modals.vue +243 -243
  31. package/components/common/pages/backups/modals/createBackup/CreateBackup.vue +195 -195
  32. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  33. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +69 -69
  34. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  35. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  36. package/components/common/pages/backups/modals/restore/disks/Disks.vue +27 -27
  37. package/components/common/pages/backups/modals/restore/disks/tableView/lib/config/table.ts +117 -117
  38. package/components/common/pages/backups/modals/restore/name/Name.vue +166 -166
  39. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  40. package/components/common/pages/backups/modals/restore/networks/Networks.vue +70 -67
  41. package/components/common/pages/backups/modals/restore/networks/table/Table.vue +214 -214
  42. package/components/common/pages/backups/modals/restore/types/lib/config/typeOptions.ts +25 -25
  43. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  44. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  45. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  46. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  47. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  48. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  49. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  50. package/components/common/select/radio/RadioGroup.vue +137 -137
  51. package/components/common/spiceConsole/Drawer.vue +420 -420
  52. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  53. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  54. package/components/common/tools/Actions.vue +207 -207
  55. package/components/common/treeView/TreeView.vue +52 -52
  56. package/components/common/vm/actions/add/Add.vue +945 -895
  57. package/components/common/vm/actions/add/New.vue +689 -695
  58. package/components/common/vm/actions/add/Old.vue +400 -414
  59. package/components/common/vm/actions/add/lib/config/steps.ts +347 -347
  60. package/components/common/vm/actions/clone/Clone.vue +806 -754
  61. package/components/common/vm/actions/clone/{cloneNew/CloneNew.vue → new/New.vue} +454 -434
  62. package/components/common/vm/actions/clone/{cloneOld/CloneOld.vue → old/Old.vue} +378 -382
  63. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +368 -368
  64. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +427 -427
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
  72. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  73. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  74. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  75. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  76. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  77. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  78. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  79. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  80. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  81. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  82. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  83. package/components/common/vm/actions/common/select/storage/Storage.vue +6 -3
  84. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  85. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  86. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  87. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  88. package/components/common/vm/actions/register/Register.vue +352 -285
  89. package/components/common/vm/actions/register/lib/config/steps.ts +86 -86
  90. package/components/common/wizards/common/steps/computeResource/ComputeResource.vue +85 -95
  91. package/components/common/wizards/common/steps/computeResource/New.vue +92 -88
  92. package/components/common/wizards/common/steps/computeResource/Old.vue +102 -81
  93. package/components/common/wizards/common/steps/computeResource/compatibility/Compatibility.vue +31 -0
  94. package/components/common/wizards/common/steps/computeResource/compatibility/New.vue +98 -0
  95. package/components/common/wizards/{vm/common/validation/compatibility/Compatibility.vue → common/steps/computeResource/compatibility/Old.vue} +54 -62
  96. package/components/common/wizards/common/steps/computeResource/compatibility/lib/models/enums.ts +6 -0
  97. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  98. package/components/common/wizards/common/steps/name/New.vue +221 -221
  99. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  100. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  101. package/components/common/wizards/common/steps/name/location/Location.vue +85 -85
  102. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  103. package/components/common/wizards/datastore/add/Add.vue +228 -228
  104. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  105. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  106. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +6 -6
  107. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  108. package/components/common/wizards/vm/migrate/select/storage/Storage.vue +3 -3
  109. package/composables/useAppVersion.ts +21 -21
  110. package/composables/useLocal.ts +6 -6
  111. package/composables/useLocalCommon.ts +39 -39
  112. package/package.json +1 -1
  113. package/plugins/console.ts +21 -21
  114. package/plugins/date.ts +233 -233
  115. package/plugins/mouse.ts +21 -21
  116. package/plugins/panelStates.ts +70 -70
  117. package/plugins/text.ts +59 -59
  118. package/public/spice-console/application/clientgui.js +854 -854
  119. package/public/spice-console/application/packetfactory.js +211 -211
  120. package/public/spice-console/application/virtualmouse.js +147 -147
  121. package/public/spice-console/lib/images/bitmap.js +203 -203
  122. package/public/spice-console/network/spicechannel.js +440 -440
  123. package/public/spice-console/process/cursorprocess.js +121 -121
  124. package/public/spice-console/process/inputprocess.js +227 -227
  125. package/public/spice-console/process/mainprocess.js +210 -210
  126. package/public/spice-console/run.js +210 -210
  127. package/store/main/mutations.ts +7 -7
  128. package/store/main/state.ts +7 -7
  129. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +0 -143
  130. package/components/common/vm/actions/common/select/computeResource/New.vue +0 -184
  131. package/components/common/vm/actions/common/select/computeResource/Old.vue +0 -99
  132. package/components/common/vm/actions/common/select/computeResource/lib/ComputeResource.spec.ts +0 -479
  133. package/components/common/vm/actions/common/select/computeResource/treeView/New.vue +0 -51
  134. package/components/common/vm/actions/common/select/computeResource/treeView/Old.vue +0 -51
  135. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +0 -131
  136. package/components/common/wizards/common/compatibility/Compatibility.vue +0 -13
  137. package/components/common/wizards/common/compatibility/New.vue +0 -10
  138. package/components/common/wizards/common/compatibility/Old.vue +0 -10
  139. package/components/common/wizards/vm/common/validation/lib/models/enums.ts +0 -5
@@ -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>