bfg-common 1.3.355 → 1.3.357

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 (49) hide show
  1. package/components/atoms/TheIcon2.vue +173 -0
  2. package/components/atoms/collapse/CollapseNavItem.vue +8 -3
  3. package/components/atoms/collapse/lib/models/interfaces.ts +1 -0
  4. package/components/atoms/switch/Switch.vue +111 -111
  5. package/components/atoms/table/compact/Compact.vue +526 -526
  6. package/components/common/adapterManager/ui/table/Header.vue +93 -93
  7. package/components/common/adapterManager/ui/table/Table.vue +162 -162
  8. package/components/common/context/Context.vue +99 -99
  9. package/components/common/lib/config/states.ts +126 -126
  10. package/components/common/resource/progressBlock/ProgressBlock.vue +142 -142
  11. package/components/common/vm/actions/add/Add.vue +602 -602
  12. package/components/common/vm/actions/clone/Clone.vue +518 -518
  13. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +273 -273
  14. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +697 -697
  15. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +299 -299
  16. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +165 -165
  17. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +164 -164
  18. package/components/common/vm/actions/common/select/name/Name.vue +235 -235
  19. package/components/common/vm/actions/common/select/storage/Storage.vue +198 -198
  20. package/components/common/vm/actions/editSettings/EditSettings.vue +313 -313
  21. package/components/common/weekSelect/lib/config/options.ts +10 -10
  22. package/components/common/wizards/datastore/add/Add.vue +436 -436
  23. package/components/common/wizards/datastore/add/lib/config/stepItems.ts +191 -191
  24. package/components/common/wizards/datastore/add/lib/models/interfaces.ts +38 -38
  25. package/components/common/wizards/datastore/add/lib/utils.ts +70 -70
  26. package/components/common/wizards/datastore/add/local/createName/CreateName.vue +160 -160
  27. package/components/common/wizards/datastore/add/nfs/Nfs.vue +112 -112
  28. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +104 -104
  29. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/compatibleTable.ts +62 -62
  30. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/hostsTableItems.ts +53 -53
  31. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +86 -86
  32. package/components/common/wizards/datastore/add/readyComplete/lib/config/propertiesDetails.ts +184 -184
  33. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +459 -459
  34. package/components/common/wizards/datastore/add/types/Types.vue +80 -80
  35. package/components/common/wizards/datastore/add/types/lib/config/typeOptions.ts +49 -49
  36. package/composables/useAppVersion.ts +21 -21
  37. package/composables/useEnvLanguage.ts +20 -20
  38. package/lib/utils/sendTask.ts +72 -72
  39. package/minify.js +146 -146
  40. package/package.json +1 -1
  41. package/public/spice-console/application/codec.js +257 -257
  42. package/public/spice-console/lib/rasterEngine.js +907 -907
  43. package/public/spice-console/network/spicechannel.js +369 -369
  44. package/store/main/lib/interfaces.ts +9 -9
  45. package/store/tasks/actions.ts +133 -133
  46. package/store/tasks/getters.ts +25 -25
  47. package/store/tasks/lib/models/interfaces.ts +18 -18
  48. package/store/tasks/mutations.ts +58 -58
  49. package/store/tasks/state.ts +16 -16
@@ -1,198 +1,198 @@
1
- <template>
2
- <div class="select-storage">
3
- <atoms-alert
4
- v-show="errors.length"
5
- status="alert-danger"
6
- test-id="storage-alert"
7
- :items="errors"
8
- @remove="onRemoveValidationErrors"
9
- />
10
- <div class="table-wrap">
11
- <atoms-table-data-grid
12
- v-model:selected-row="selectedRow"
13
- v-model:column-keys="columnKeys"
14
- v-model:page-size="pagination.pageSize"
15
- v-model:page="pagination.page"
16
- type="radio"
17
- test-id="storage-table"
18
- :head-items="headItems"
19
- :body-items="bodyItems"
20
- :total-items="bodyItems.length"
21
- :total-pages="1"
22
- server-off
23
- hide-page-size
24
- @change="changeStorage"
25
- >
26
- <template #icon="{ item }">
27
- <span :class="['datagrid-cell-icon', item.data]" />
28
- <span class="text-ellipsis">
29
- {{ item.text }}
30
- </span>
31
- </template>
32
- </atoms-table-data-grid>
33
- </div>
34
-
35
- <div v-if="!hideCompatibility" class="compatibility-wrap">
36
- <p class="compatibility">
37
- {{ localization.compatibility }}
38
- </p>
39
- <div class="compatibility-message flex-align-center">
40
- <template v-if="selectedStorage">
41
- <div class="icon-status-ok" />
42
- <span>{{ localization.compatibilityChecksSucceeded }}</span>
43
- </template>
44
- <div v-else>
45
- <br />
46
- </div>
47
- </div>
48
- </div>
49
- </div>
50
- </template>
51
-
52
- <script setup lang="ts">
53
- import {
54
- UI_I_Pagination,
55
- UI_I_TablePayload,
56
- } from '~/lib/models/table/interfaces'
57
- import { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
58
- import { UI_I_Localization } from '~/lib/models/interfaces'
59
- import {
60
- UI_I_ColumnKey,
61
- UI_I_HeadItem,
62
- UI_I_BodyItem,
63
- } from '~/components/atoms/table/dataGrid/lib/models/interfaces'
64
- import * as table from '~/components/common/vm/actions/common/select/storage/lib/config/config'
65
-
66
- const props = defineProps<{
67
- storageSubmit: null | Function
68
- datastore: UI_I_DatastoreTableItem[]
69
- storage: UI_I_DatastoreTableItem
70
- hideCompatibility?: boolean
71
- getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
72
- }>()
73
- const emits = defineEmits<{
74
- (event: 'submit', value: UI_I_DatastoreTableItem): void
75
- }>()
76
-
77
- const localization = computed<UI_I_Localization>(() => useLocal())
78
-
79
- const headItems = ref<UI_I_HeadItem[]>(table.headItems(localization.value))
80
- const columnKeys = ref<UI_I_ColumnKey[]>(table.columnKeys(localization.value))
81
- watch(localization, () => {
82
- columnKeys.value = table.columnKeys(localization.value)
83
- })
84
-
85
- const bodyItems = computed<UI_I_BodyItem[][]>(() => {
86
- return table.bodyItems(props.datastore || [], localization.value)
87
- })
88
-
89
- const pagination = ref<UI_I_Pagination>({
90
- page: 1,
91
- pageSize: 100,
92
- })
93
-
94
- const getStorage = async (): Promise<void> => {
95
- const payload: UI_I_TablePayload = {
96
- pagination: pagination.value,
97
- sortBy: null,
98
- type: 'datastore',
99
- schema: 'full',
100
- }
101
-
102
- props.getDatastoreTableFunc(payload).then(() => {
103
- selectedRow.value = null
104
- setStorageFromProps()
105
- })
106
- }
107
- getStorage()
108
-
109
- const selectedStorage = ref<UI_I_DatastoreTableItem | null>(null)
110
- const selectedRow = ref<number | null>(null)
111
- const changeStorage = (index: number): void => {
112
- if (!props.datastore) return
113
- selectedStorage.value = props.datastore[index]
114
- selectedRow.value = index
115
- }
116
-
117
- const setStorageFromProps = (): void => {
118
- if (!props.storage) return
119
- props.datastore.forEach((item, index) => {
120
- if (item.id === props.storage.id) changeStorage(index)
121
- })
122
- }
123
- watch(
124
- () => props.storage,
125
- () => {
126
- setStorageFromProps()
127
- },
128
- { immediate: true }
129
- )
130
- watch(
131
- () => props.datastore,
132
- () => {
133
- selectedRow.value = null
134
- selectedStorage.value = null
135
- },
136
- { immediate: true }
137
- )
138
-
139
- watch(
140
- () => props.storageSubmit,
141
- (newValue) => {
142
- newValue && submit(newValue)
143
- }
144
- )
145
- const submit = (cb: Function): void => {
146
- if (!selectedStorage.value) {
147
- showValidationErrors([localization.value.selectValidDestinationStorage])
148
- cb(false)
149
- return
150
- }
151
-
152
- emits('submit', selectedStorage.value)
153
- cb(true)
154
- }
155
-
156
- const errors = ref<string[]>([])
157
- const showValidationErrors = (arr: string[]): void => {
158
- errors.value = arr
159
- }
160
- const onRemoveValidationErrors = (): void => {
161
- errors.value = []
162
- }
163
- </script>
164
-
165
- <style scoped lang="scss">
166
- .select-storage {
167
- flex: 1;
168
- display: flex;
169
- flex-direction: column;
170
-
171
- .table-wrap {
172
- flex: 1;
173
-
174
- .datagrid-cell-icon {
175
- margin-right: 6px;
176
- }
177
-
178
- :deep(.relative) {
179
- height: 100%;
180
-
181
- .datagrid-outer-wrapper {
182
- height: 100%;
183
- }
184
- }
185
- }
186
-
187
- .compatibility-wrap {
188
- padding-top: 10px;
189
-
190
- .compatibility-message {
191
- border: 1px solid #000;
192
- padding-top: 5px;
193
- padding-left: 5px;
194
- overflow: auto;
195
- }
196
- }
197
- }
198
- </style>
1
+ <template>
2
+ <div class="select-storage">
3
+ <atoms-alert
4
+ v-show="errors.length"
5
+ status="alert-danger"
6
+ test-id="storage-alert"
7
+ :items="errors"
8
+ @remove="onRemoveValidationErrors"
9
+ />
10
+ <div class="table-wrap">
11
+ <atoms-table-data-grid
12
+ v-model:selected-row="selectedRow"
13
+ v-model:column-keys="columnKeys"
14
+ v-model:page-size="pagination.pageSize"
15
+ v-model:page="pagination.page"
16
+ type="radio"
17
+ test-id="storage-table"
18
+ :head-items="headItems"
19
+ :body-items="bodyItems"
20
+ :total-items="bodyItems.length"
21
+ :total-pages="1"
22
+ server-off
23
+ hide-page-size
24
+ @change="changeStorage"
25
+ >
26
+ <template #icon="{ item }">
27
+ <span :class="['datagrid-cell-icon', item.data]" />
28
+ <span class="text-ellipsis">
29
+ {{ item.text }}
30
+ </span>
31
+ </template>
32
+ </atoms-table-data-grid>
33
+ </div>
34
+
35
+ <div v-if="!hideCompatibility" class="compatibility-wrap">
36
+ <p class="compatibility">
37
+ {{ localization.compatibility }}
38
+ </p>
39
+ <div class="compatibility-message flex-align-center">
40
+ <template v-if="selectedStorage">
41
+ <div class="icon-status-ok" />
42
+ <span>{{ localization.compatibilityChecksSucceeded }}</span>
43
+ </template>
44
+ <div v-else>
45
+ <br />
46
+ </div>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ </template>
51
+
52
+ <script setup lang="ts">
53
+ import {
54
+ UI_I_Pagination,
55
+ UI_I_TablePayload,
56
+ } from '~/lib/models/table/interfaces'
57
+ import { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
58
+ import { UI_I_Localization } from '~/lib/models/interfaces'
59
+ import {
60
+ UI_I_ColumnKey,
61
+ UI_I_HeadItem,
62
+ UI_I_BodyItem,
63
+ } from '~/components/atoms/table/dataGrid/lib/models/interfaces'
64
+ import * as table from '~/components/common/vm/actions/common/select/storage/lib/config/config'
65
+
66
+ const props = defineProps<{
67
+ storageSubmit: null | Function
68
+ datastore: UI_I_DatastoreTableItem[]
69
+ storage: UI_I_DatastoreTableItem
70
+ hideCompatibility?: boolean
71
+ getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
72
+ }>()
73
+ const emits = defineEmits<{
74
+ (event: 'submit', value: UI_I_DatastoreTableItem): void
75
+ }>()
76
+
77
+ const localization = computed<UI_I_Localization>(() => useLocal())
78
+
79
+ const headItems = ref<UI_I_HeadItem[]>(table.headItems(localization.value))
80
+ const columnKeys = ref<UI_I_ColumnKey[]>(table.columnKeys(localization.value))
81
+ watch(localization, () => {
82
+ columnKeys.value = table.columnKeys(localization.value)
83
+ })
84
+
85
+ const bodyItems = computed<UI_I_BodyItem[][]>(() => {
86
+ return table.bodyItems(props.datastore || [], localization.value)
87
+ })
88
+
89
+ const pagination = ref<UI_I_Pagination>({
90
+ page: 1,
91
+ pageSize: 100,
92
+ })
93
+
94
+ const getStorage = async (): Promise<void> => {
95
+ const payload: UI_I_TablePayload = {
96
+ pagination: pagination.value,
97
+ sortBy: null,
98
+ type: 'datastore',
99
+ schema: 'full',
100
+ }
101
+
102
+ props.getDatastoreTableFunc(payload).then(() => {
103
+ selectedRow.value = null
104
+ setStorageFromProps()
105
+ })
106
+ }
107
+ getStorage()
108
+
109
+ const selectedStorage = ref<UI_I_DatastoreTableItem | null>(null)
110
+ const selectedRow = ref<number | null>(null)
111
+ const changeStorage = (index: number): void => {
112
+ if (!props.datastore) return
113
+ selectedStorage.value = props.datastore[index]
114
+ selectedRow.value = index
115
+ }
116
+
117
+ const setStorageFromProps = (): void => {
118
+ if (!props.storage) return
119
+ props.datastore.forEach((item, index) => {
120
+ if (item.id === props.storage.id) changeStorage(index)
121
+ })
122
+ }
123
+ watch(
124
+ () => props.storage,
125
+ () => {
126
+ setStorageFromProps()
127
+ },
128
+ { immediate: true }
129
+ )
130
+ watch(
131
+ () => props.datastore,
132
+ () => {
133
+ selectedRow.value = null
134
+ selectedStorage.value = null
135
+ },
136
+ { immediate: true }
137
+ )
138
+
139
+ watch(
140
+ () => props.storageSubmit,
141
+ (newValue) => {
142
+ newValue && submit(newValue)
143
+ }
144
+ )
145
+ const submit = (cb: Function): void => {
146
+ if (!selectedStorage.value) {
147
+ showValidationErrors([localization.value.selectValidDestinationStorage])
148
+ cb(false)
149
+ return
150
+ }
151
+
152
+ emits('submit', selectedStorage.value)
153
+ cb(true)
154
+ }
155
+
156
+ const errors = ref<string[]>([])
157
+ const showValidationErrors = (arr: string[]): void => {
158
+ errors.value = arr
159
+ }
160
+ const onRemoveValidationErrors = (): void => {
161
+ errors.value = []
162
+ }
163
+ </script>
164
+
165
+ <style scoped lang="scss">
166
+ .select-storage {
167
+ flex: 1;
168
+ display: flex;
169
+ flex-direction: column;
170
+
171
+ .table-wrap {
172
+ flex: 1;
173
+
174
+ .datagrid-cell-icon {
175
+ margin-right: 6px;
176
+ }
177
+
178
+ :deep(.relative) {
179
+ height: 100%;
180
+
181
+ .datagrid-outer-wrapper {
182
+ height: 100%;
183
+ }
184
+ }
185
+ }
186
+
187
+ .compatibility-wrap {
188
+ padding-top: 10px;
189
+
190
+ .compatibility-message {
191
+ border: 1px solid #000;
192
+ padding-top: 5px;
193
+ padding-left: 5px;
194
+ overflow: auto;
195
+ }
196
+ }
197
+ }
198
+ </style>