bfg-common 1.3.348 → 1.3.349

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 (48) hide show
  1. package/components/atoms/TheIcon.vue +1646 -1125
  2. package/components/atoms/TheIconOld.vue +2444 -0
  3. package/components/atoms/switch/Switch.vue +111 -111
  4. package/components/atoms/table/compact/Compact.vue +526 -526
  5. package/components/common/adapterManager/ui/table/Header.vue +93 -93
  6. package/components/common/adapterManager/ui/table/Table.vue +162 -162
  7. package/components/common/context/Context.vue +99 -99
  8. package/components/common/lib/config/states.ts +126 -126
  9. package/components/common/resource/progressBlock/ProgressBlock.vue +142 -142
  10. package/components/common/vm/actions/add/Add.vue +602 -602
  11. package/components/common/vm/actions/clone/Clone.vue +518 -518
  12. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +273 -273
  13. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +697 -697
  14. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +299 -299
  15. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +165 -165
  16. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +164 -164
  17. package/components/common/vm/actions/common/select/name/Name.vue +235 -235
  18. package/components/common/vm/actions/common/select/storage/Storage.vue +198 -198
  19. package/components/common/vm/actions/editSettings/EditSettings.vue +313 -313
  20. package/components/common/weekSelect/lib/config/options.ts +10 -10
  21. package/components/common/wizards/datastore/add/Add.vue +434 -434
  22. package/components/common/wizards/datastore/add/lib/config/stepItems.ts +191 -191
  23. package/components/common/wizards/datastore/add/lib/models/interfaces.ts +38 -38
  24. package/components/common/wizards/datastore/add/lib/utils.ts +70 -70
  25. package/components/common/wizards/datastore/add/local/createName/CreateName.vue +160 -160
  26. package/components/common/wizards/datastore/add/nfs/Nfs.vue +112 -112
  27. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +104 -104
  28. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/compatibleTable.ts +62 -62
  29. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/hostsTableItems.ts +53 -53
  30. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +86 -86
  31. package/components/common/wizards/datastore/add/readyComplete/lib/config/propertiesDetails.ts +184 -184
  32. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +452 -452
  33. package/components/common/wizards/datastore/add/types/Types.vue +80 -80
  34. package/components/common/wizards/datastore/add/types/lib/config/typeOptions.ts +49 -49
  35. package/composables/useAppVersion.ts +21 -21
  36. package/composables/useEnvLanguage.ts +20 -20
  37. package/lib/utils/sendTask.ts +72 -72
  38. package/minify.js +146 -146
  39. package/package.json +1 -1
  40. package/public/spice-console/application/codec.js +257 -257
  41. package/public/spice-console/lib/rasterEngine.js +907 -907
  42. package/public/spice-console/network/spicechannel.js +369 -369
  43. package/store/main/lib/interfaces.ts +9 -9
  44. package/store/tasks/actions.ts +133 -133
  45. package/store/tasks/getters.ts +25 -25
  46. package/store/tasks/lib/models/interfaces.ts +18 -18
  47. package/store/tasks/mutations.ts +58 -58
  48. 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>