bfg-common 1.5.585 → 1.5.586

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 (104) 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/components/atoms/TheIcon3.vue +50 -50
  7. package/components/atoms/collapse/CollapseNav.vue +170 -170
  8. package/components/atoms/perPage/PerPage.vue +58 -58
  9. package/components/atoms/table/dataGrid/DataGrid.vue +1718 -1718
  10. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  11. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  12. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  13. package/components/common/backup/storage/actions/add/lib/utils.ts +51 -51
  14. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  15. package/components/common/diagramMain/modals/lib/config/portModal.ts +251 -251
  16. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  17. package/components/common/diagramMain/port/Port.vue +580 -580
  18. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  19. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  20. package/components/common/pages/backups/DetailView.vue +52 -52
  21. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  22. package/components/common/pages/backups/modals/Modals.vue +243 -243
  23. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  24. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +69 -69
  25. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  26. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  27. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  28. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  29. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  30. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  31. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  32. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  33. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  34. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  35. package/components/common/select/radio/RadioGroup.vue +137 -137
  36. package/components/common/spiceConsole/Drawer.vue +420 -420
  37. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  38. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  39. package/components/common/tools/Actions.vue +207 -207
  40. package/components/common/treeView/TreeView.vue +52 -52
  41. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +325 -324
  42. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +1 -1
  43. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  44. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  45. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryNew.vue +158 -158
  46. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryOld.vue +155 -155
  47. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  48. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  49. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  50. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  51. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
  52. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  53. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  54. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  55. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  56. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  57. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  58. package/components/common/vm/actions/common/select/os/New.vue +1 -1
  59. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  60. package/components/common/vm/actions/common/select/storage/Storage.vue +178 -178
  61. package/components/common/vm/actions/common/select/storage/new/New.vue +311 -311
  62. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  63. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  64. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  65. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  66. package/components/common/vm/actions/register/Register.vue +352 -352
  67. package/components/common/vm/actions/register/lib/config/steps.ts +86 -86
  68. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  69. package/components/common/wizards/common/compatibility/New.vue +99 -99
  70. package/components/common/wizards/common/compatibility/Old.vue +53 -53
  71. package/components/common/wizards/common/steps/computeResource/ComputeResource.vue +86 -86
  72. package/components/common/wizards/common/steps/computeResource/New.vue +93 -93
  73. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  74. package/components/common/wizards/common/steps/name/New.vue +221 -221
  75. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  76. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  77. package/components/common/wizards/common/steps/name/location/Location.vue +85 -85
  78. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  79. package/components/common/wizards/datastore/add/Add.vue +228 -228
  80. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  81. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  82. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +205 -205
  83. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  84. package/composables/useAppVersion.ts +21 -21
  85. package/composables/useLocal.ts +6 -6
  86. package/composables/useLocalCommon.ts +39 -39
  87. package/lib/models/store/host/interfaces.ts +32 -0
  88. package/package.json +1 -1
  89. package/plugins/console.ts +21 -21
  90. package/plugins/date.ts +233 -233
  91. package/plugins/mouse.ts +21 -21
  92. package/plugins/panelStates.ts +70 -70
  93. package/plugins/text.ts +59 -59
  94. package/public/spice-console/application/clientgui.js +854 -854
  95. package/public/spice-console/application/packetfactory.js +211 -211
  96. package/public/spice-console/application/virtualmouse.js +147 -147
  97. package/public/spice-console/lib/images/bitmap.js +203 -203
  98. package/public/spice-console/network/spicechannel.js +440 -440
  99. package/public/spice-console/process/cursorprocess.js +121 -121
  100. package/public/spice-console/process/inputprocess.js +227 -227
  101. package/public/spice-console/process/mainprocess.js +210 -210
  102. package/public/spice-console/run.js +210 -210
  103. package/store/main/mutations.ts +7 -7
  104. 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>