bfg-common 1.5.552 → 1.5.553

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.
@@ -28,12 +28,17 @@ const { $store, $recursion }: any = useNuxtApp()
28
28
  const computeResourceLocal = defineModel<UI_I_TreeNode | null>({
29
29
  required: true,
30
30
  })
31
- const props = defineProps<{
32
- node: UI_I_TreeNode | null
33
- alertMessages: string[]
34
- compatibilityText: [UI_T_CompatibilityStatus, string]
35
- isLoading: boolean
36
- }>()
31
+ const props = withDefaults(
32
+ defineProps<{
33
+ node: UI_I_TreeNode | null
34
+ compatibilityText: [UI_T_CompatibilityStatus, string]
35
+ alertMessages?: string[] // используется только в старом виде
36
+ isLoading: boolean
37
+ }>(),
38
+ {
39
+ alertMessages: [],
40
+ }
41
+ )
37
42
  const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
38
43
 
39
44
  const nodesLocal = ref<UI_I_TreeNode[]>([])
@@ -21,6 +21,7 @@
21
21
  :vm-info="vmInfo"
22
22
  :networks="networks"
23
23
  :vm-origin="vmOrigin"
24
+ :data-ready-view="dataReadyView"
24
25
  @change-steps="onChangeSteps"
25
26
  @submit="onMigrateVm"
26
27
  @hide="onHideModal"
@@ -48,6 +49,7 @@
48
49
  :vm-info="vmInfo"
49
50
  :networks="props.networks"
50
51
  :vm-origin="vmOrigin"
52
+ :data-ready-view="dataReadyView"
51
53
  @change-steps="onChangeSteps"
52
54
  @hide-alert="onHideAlert"
53
55
  @submit="onMigrateVm"
@@ -166,7 +166,12 @@
166
166
  </div>
167
167
  </div>
168
168
  </template>
169
- <template #content> Content </template>
169
+ <template #content>
170
+ <common-ready-to-complete
171
+ v-if="selectedStep.id === dynamicSteps.readyComplete"
172
+ :data="props.dataReadyView"
173
+ />
174
+ </template>
170
175
  </ui-wizard-block>
171
176
  </template>
172
177
  </ui-wizard>
@@ -182,6 +187,7 @@ import type Wizard from '~/node_modules/bfg-uikit/components/ui/wizard/lib/utils
182
187
  import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
183
188
  import type { UI_I_Localization } from '~/lib/models/interfaces'
184
189
  import type { UI_T_Project } from '~/lib/models/types'
190
+ import type { UI_I_TableInfoItem } from '~/components/atoms/table/info/lib/models/interfaces'
185
191
  import type { UI_I_MigrateFormLocal } from '~/components/common/wizards/vm/migrate/lib/models/interfaces'
186
192
  import type { UI_I_VmOrigin } from '~/components/common/wizards/vm/migrate/vmOrigin/lib/models/interfaces'
187
193
  import { dynamicSteps } from '~/components/common/wizards/vm/migrate/lib/config/steps'
@@ -196,6 +202,7 @@ const props = withDefaults(
196
202
  selectedNode: UI_I_TreeNode
197
203
  title: string
198
204
  vmOrigin: UI_I_VmOrigin | undefined
205
+ dataReadyView: UI_I_TableInfoItem
199
206
  }>(),
200
207
  {}
201
208
  )
@@ -48,7 +48,7 @@
48
48
  v-show="selectedStep.id === dynamicSteps.selectComputeResource"
49
49
  v-model="formModel"
50
50
  :vm-state="props.vmState"
51
- :alert-messages="alertMessages[3]"
51
+ :alert-messages="alertMessages[dynamicSteps.selectComputeResource]"
52
52
  :get-compute-resource-data="props.getComputeResourceData"
53
53
  :compute-resource-data="props.computeResourceTableData"
54
54
  :compute-resource-tree="props.computeResourceTree"
@@ -95,7 +95,7 @@ import Wizard from '~/node_modules/bfg-uikit/components/ui/wizard/lib/utils/util
95
95
  import type { UI_I_Localization } from '~/lib/models/interfaces'
96
96
  import type { UI_T_Project } from '~/lib/models/types'
97
97
  import type { UI_I_MigrateFormLocal } from '~/components/common/wizards/vm/migrate/lib/models/interfaces'
98
- import type { UI_T_VmMigrateType } from '~/components/common/wizards/vm/migrate/select/type/lib/models/types'
98
+ import type { UI_T_VmMigrateType } from '~/components/common/wizards/vm/migrate/steps/type/lib/models/types'
99
99
  import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
100
100
  import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
101
101
  import type { UI_I_VmSettings } from '~/lib/models/store/vm/interfaces'
@@ -105,7 +105,6 @@ import type { UI_I_TableInfoItem } from '~/components/atoms/table/info/lib/model
105
105
  import type { UI_I_ScheduleNewTasksForm } from '~/components/common/pages/scheduledTasks/modals/lib/models/interfaces'
106
106
  import type { UI_I_VmOrigin } from '~/components/common/wizards/vm/migrate/vmOrigin/lib/models/interfaces'
107
107
  import { dynamicSteps } from '~/components/common/wizards/vm/migrate/lib/config/steps'
108
- import { constructDataReadyViewFunc } from '~/components/common/wizards/vm/migrate/lib/config/constructDataReady'
109
108
 
110
109
  const formModel = defineModel<UI_I_MigrateFormLocal>({ required: true })
111
110
  const modelSchedulerTask = defineModel<UI_I_ScheduleNewTasksForm>(
@@ -121,6 +120,7 @@ const props = withDefaults(
121
120
  title: string
122
121
  isScheduledTasks: boolean
123
122
  vmOrigin: UI_I_VmOrigin | undefined
123
+ dataReadyView: UI_I_TableInfoItem
124
124
  vmSettings: UI_I_VmSettings | null
125
125
  vmName: string
126
126
  getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
@@ -198,10 +198,6 @@ watch(
198
198
  const connectedStorageIdOnVm = computed<string>(
199
199
  () => props.vmSettings?.storage.id || ''
200
200
  )
201
-
202
- const dataReadyView = computed<UI_I_TableInfoItem>(() =>
203
- constructDataReadyViewFunc(props.vmName, form.value)
204
- )
205
201
  const onHideModal = (): void => emits('hide')
206
202
  const onMigrateVm = (): void => emits('submit')
207
203
  </script>
@@ -1,11 +1,11 @@
1
1
  import type { UI_I_TableInfoItem } from '~/components/atoms/table/info/lib/models/interfaces'
2
2
  import type { UI_T_VmMigrateSelectStorageTab } from '~/components/common/wizards/vm/migrate/select/storage/lib/models/types'
3
- import type { UI_T_VmMigrateType } from '~/components/common/wizards/vm/migrate/select/type/lib/models/types'
3
+ import type { UI_T_VmMigrateType } from '~/components/common/wizards/vm/migrate/steps/type/lib/models/types'
4
4
  import type { UI_I_StorageConfigurePerDiskItem } from '~/components/common/wizards/vm/migrate/select/storage/configure/disk/table/lib/models/interfaces'
5
- import type { UI_T_SelectVMotionPriority } from '~/components/common/wizards/vm/migrate/select/priority/lib/models/types'
5
+ import type { UI_T_SelectVMotionPriority } from '~/components/common/wizards/vm/migrate/steps/priority/lib/models/types'
6
6
  import type { UI_I_ConnectEsxiServerForm } from '~/components/common/wizards/vm/migrate/select/targetServer/new/lib/models/interfaces'
7
7
  import type { UI_I_SelectNetworksFormLocal } from '~/components/common/wizards/vm/migrate/select/network/lib/models/interfaces'
8
- import type { UI_I_ComputeResourceFormLocal } from '~/components/common/wizards/vm/migrate/select/computeResource/lib/models/interfaces'
8
+ import type { UI_I_ComputeResourceFormLocal } from '~/components/common/wizards/vm/migrate/steps/computeResource/lib/models/interfaces'
9
9
 
10
10
  export interface UI_I_MigrateFormLocal {
11
11
  migrate_type: UI_T_VmMigrateType
@@ -4,7 +4,7 @@ import type {
4
4
  } from '~/node_modules/bfg-uikit/components/ui/wizard/lib/models/interfaces'
5
5
  import type Wizard from '~/node_modules/bfg-uikit/components/ui/wizard/lib/utils/utils'
6
6
  import type { UI_I_Localization } from '~/lib/models/interfaces'
7
- import type { UI_I_ComputeResourceFormLocal } from '~/components/common/wizards/vm/migrate/select/computeResource/lib/models/interfaces'
7
+ import type { UI_I_ComputeResourceFormLocal } from '~/components/common/wizards/vm/migrate/steps/computeResource/lib/models/interfaces'
8
8
  import { dynamicSteps } from '~/components/common/wizards/vm/migrate/lib/config/steps'
9
9
 
10
10
  export const checkSelectedDatastoreSync = (
@@ -47,7 +47,7 @@ export const checkSelectedResourceSync = (
47
47
  dynamicSteps.selectComputeResource,
48
48
  'resource',
49
49
  {
50
- fieldMessage: '',
50
+ fieldMessage: localization.common.selectValidDestinationComputeResource,
51
51
  alertMessage: localization.common.selectValidDestinationComputeResource,
52
52
  }
53
53
  )
@@ -12,6 +12,8 @@
12
12
  :get-compute-resource-data="props.getComputeResourceData"
13
13
  :compute-resource-data="props.computeResourceData"
14
14
  :select-storage-tabs="selectStorageTabs"
15
+ :alert-messages="props.alertMessages"
16
+ @hide-alert="emits('hide-alert', $event)"
15
17
  />
16
18
  </template>
17
19
 
@@ -30,13 +32,14 @@ import { vmMigrateComputeResourceTabsFunc } from '~/components/common/wizards/vm
30
32
  const model = defineModel<UI_I_MigrateFormLocal>({ required: true })
31
33
  const props = withDefaults(
32
34
  defineProps<{
33
- alertMessages: string[]
34
35
  getComputeResourceData: (payload: UI_I_TablePayload) => Promise<void>
35
36
  computeResourceData: any
36
37
  computeResourceTree: UI_I_TreeNode | null
38
+ alertMessages?: string[] // используется только в старом виде
37
39
  vmState?: number
38
40
  }>(),
39
41
  {
42
+ alertMessages: undefined,
40
43
  vmState: undefined,
41
44
  }
42
45
  )
@@ -1,22 +1,13 @@
1
1
  <template>
2
2
  <div class="compute-resource">
3
- <atoms-alert
4
- v-show="props.alertMessages?.length"
5
- :items="props.alertMessages"
6
- test-id="compute-resource-alert"
7
- status="alert-danger"
8
- @remove="onHideAlert"
9
- />
10
-
11
3
  <div
12
4
  v-if="model.migrate_type === 'resource-storage'"
13
5
  class="tree-view-wrap mt-1"
14
6
  >
15
- <common-wizards-vm-common-compute-resource-tree-view
7
+ <common-wizards-common-steps-compute-resource
16
8
  v-model="model.resource.selectedNode"
17
- :compute-resource-tree="nodes"
18
- @show-compute-resource-tree="onShowComputeResourceTree"
19
- @select-compute-resource-tree="onSelectComputeResourceTree"
9
+ :node="props.computeResourceNode"
10
+ :compatibility-text="compatibilityText"
20
11
  />
21
12
  </div>
22
13
 
@@ -37,13 +28,12 @@
37
28
  :total-pages="props.computeResourceData?.total_pages || 1"
38
29
  :get-compute-resource-data="props.getComputeResourceData"
39
30
  />
31
+ <common-wizards-common-compatibility
32
+ :loading="!model.resource.selectedNode"
33
+ :status="compatibilityText[0]"
34
+ :text="compatibilityText[1]"
35
+ />
40
36
  </template>
41
-
42
- <common-wizards-common-compatibility
43
- :loading="!model.resource.selectedNode"
44
- :status="compatibilityText[0]"
45
- :text="compatibilityText[1]"
46
- />
47
37
  </div>
48
38
  </template>
49
39
 
@@ -61,10 +51,9 @@ import { vmMigrateComputeResourceTabsFunc } from '~/components/common/wizards/vm
61
51
 
62
52
  const props = withDefaults(
63
53
  defineProps<{
64
- alertMessages: string[]
65
54
  getComputeResourceData: (payload: UI_I_TablePayload) => Promise<void>
66
55
  computeResourceData: any
67
- computeResourceTree: UI_I_TreeNode | null
56
+ computeResourceNode: UI_I_TreeNode | null
68
57
  vmState?: number
69
58
  }>(),
70
59
  {
@@ -73,12 +62,10 @@ const props = withDefaults(
73
62
  )
74
63
  const model = defineModel<UI_I_MigrateFormLocal>({ required: true })
75
64
  const emits = defineEmits<{
76
- (event: 'hide-alert', value: number): void
77
- (event: 'next-step', value: any): void
65
+ (event: 'next-step', value: any): void // TODO удалить
78
66
  }>()
79
67
 
80
68
  const localization = computed<UI_I_Localization>(() => useLocal())
81
- const { $recursion }: any = useNuxtApp()
82
69
 
83
70
  const activeTab = ref<UI_T_SelectComputeResourceTabType>('host')
84
71
  const selectStorageTabs = computed<UI_I_CollapseNavItem[]>(() =>
@@ -107,41 +94,6 @@ watch(
107
94
  },
108
95
  { immediate: true, deep: true }
109
96
  )
110
-
111
- const nodes = ref<UI_I_TreeNode[]>([])
112
- watch(
113
- props.computeResourceTree,
114
- (newValue) => {
115
- if (nodes.value.length) return
116
-
117
- nodes.value = useDeepCopy([newValue])
118
- },
119
- { immediate: true, deep: true }
120
- )
121
-
122
- const onShowComputeResourceTree = ({
123
- node,
124
- cb,
125
- }: {
126
- node: UI_I_TreeNode
127
- cb: () => void
128
- }): void => {
129
- $recursion.findAndShow(
130
- nodes.value,
131
- [node.id, node.type],
132
- ['id', 'type'],
133
- 'nodes'
134
- )
135
- cb()
136
- }
137
- const onSelectComputeResourceTree = (node: UI_I_TreeNode): void => {
138
- $recursion.findAndActivate(
139
- nodes.value,
140
- [node.type, node.id],
141
- ['type', 'id'],
142
- 'nodes'
143
- )
144
- }
145
97
  const compatibilityText = computed<[UI_T_CompatibilityStatus, string]>(() => {
146
98
  const { selectedNode } = model.value.resource
147
99
 
@@ -177,9 +129,6 @@ const compatibilityText = computed<[UI_T_CompatibilityStatus, string]>(() => {
177
129
 
178
130
  return res
179
131
  })
180
- const onHideAlert = (): void => {
181
- emits('hide-alert', 3)
182
- }
183
132
  </script>
184
133
 
185
134
  <style lang="scss" scoped>
@@ -1,26 +1,26 @@
1
1
  <template>
2
2
  <div class="compute-resource">
3
- <atoms-alert
4
- v-show="props.alertMessages?.length"
5
- :items="props.alertMessages"
6
- test-id="compute-resource-alert"
7
- status="alert-danger"
8
- @remove="onHideAlert"
9
- />
10
-
11
3
  <div
12
4
  v-if="model.migrate_type === 'resource-storage'"
13
5
  class="tree-view-wrap mt-1"
14
6
  >
15
- <common-wizards-vm-common-compute-resource-tree-view
7
+ <common-wizards-common-steps-compute-resource
16
8
  v-model="model.resource.selectedNode"
17
- :compute-resource-tree="nodes"
18
- @show-compute-resource-tree="onShowComputeResourceTree"
19
- @select-compute-resource-tree="onSelectComputeResourceTree"
9
+ :node="props.computeResourceNode"
10
+ :compatibility-text="compatibilityText"
11
+ :alert-messages="props.alertMessages"
20
12
  />
21
13
  </div>
22
14
 
23
15
  <template v-else>
16
+ <atoms-alert
17
+ v-show="props.alertMessages?.length"
18
+ :items="props.alertMessages"
19
+ test-id="compute-resource-alert"
20
+ status="alert-danger"
21
+ @remove="onHideAlert"
22
+ />
23
+
24
24
  <atoms-tabs
25
25
  v-model="activeTabLocal"
26
26
  :items="selectStorageTabs"
@@ -37,13 +37,13 @@
37
37
  :total-pages="props.computeResourceData?.total_pages || 1"
38
38
  :get-compute-resource-data="props.getComputeResourceData"
39
39
  />
40
- </template>
41
40
 
42
- <common-wizards-common-compatibility
43
- :loading="!model.resource.selectedNode"
44
- :status="compatibilityText[0]"
45
- :text="compatibilityText[1]"
46
- />
41
+ <common-wizards-common-compatibility
42
+ :loading="!model.resource.selectedNode"
43
+ :status="compatibilityText[0]"
44
+ :text="compatibilityText[1]"
45
+ />
46
+ </template>
47
47
  </div>
48
48
  </template>
49
49
 
@@ -58,15 +58,19 @@ import type { UI_I_SelectedTableDataKeys } from '~/components/common/wizards/vm/
58
58
  import type { UI_T_CompatibilityStatus } from '~/components/common/wizards/common/compatibility/lib/models/types'
59
59
  import { UI_E_ComputeResourceTabKamelKeys } from '~/components/common/wizards/vm/migrate/steps/computeResource/lib/models/enums'
60
60
  import { vmMigrateComputeResourceTabsFunc } from '~/components/common/wizards/vm/migrate/steps/computeResource/lib/config/tabsPannel'
61
+ import { dynamicSteps } from '~/components/common/wizards/vm/migrate/lib/config/steps'
61
62
 
62
63
  const model = defineModel<UI_I_MigrateFormLocal>({ required: true })
63
- const activeTabLocal = defineModel<UI_T_SelectComputeResourceTabType>('activeTab',{ required: true })
64
+ const activeTabLocal = defineModel<UI_T_SelectComputeResourceTabType>(
65
+ 'activeTab',
66
+ { required: true }
67
+ )
64
68
  const props = withDefaults(
65
69
  defineProps<{
66
70
  alertMessages: string[]
67
71
  getComputeResourceData: (payload: UI_I_TablePayload) => Promise<void>
68
72
  computeResourceData: any
69
- computeResourceTree: UI_I_TreeNode | null
73
+ computeResourceNode: UI_I_TreeNode | null
70
74
  vmState?: number
71
75
  }>(),
72
76
  {
@@ -78,7 +82,6 @@ const emits = defineEmits<{
78
82
  }>()
79
83
 
80
84
  const localization = computed<UI_I_Localization>(() => useLocal())
81
- const { $recursion }: any = useNuxtApp()
82
85
 
83
86
  const selectStorageTabs = computed<UI_I_CollapseNavItem[]>(() =>
84
87
  vmMigrateComputeResourceTabsFunc(localization.value, props.vmState || -1)
@@ -107,40 +110,6 @@ watch(
107
110
  { immediate: true, deep: true }
108
111
  )
109
112
 
110
- const nodes = ref<UI_I_TreeNode[]>([])
111
- watch(
112
- props.computeResourceTree,
113
- (newValue) => {
114
- if (nodes.value.length) return
115
-
116
- nodes.value = useDeepCopy([newValue])
117
- },
118
- { immediate: true, deep: true }
119
- )
120
-
121
- const onShowComputeResourceTree = ({
122
- node,
123
- cb,
124
- }: {
125
- node: UI_I_TreeNode
126
- cb: () => void
127
- }): void => {
128
- $recursion.findAndShow(
129
- nodes.value,
130
- [node.id, node.type],
131
- ['id', 'type'],
132
- 'nodes'
133
- )
134
- cb()
135
- }
136
- const onSelectComputeResourceTree = (node: UI_I_TreeNode): void => {
137
- $recursion.findAndActivate(
138
- nodes.value,
139
- [node.type, node.id],
140
- ['type', 'id'],
141
- 'nodes'
142
- )
143
- }
144
113
  const compatibilityText = computed<[UI_T_CompatibilityStatus, string]>(() => {
145
114
  const { selectedNode } = model.value.resource
146
115
 
@@ -177,7 +146,7 @@ const compatibilityText = computed<[UI_T_CompatibilityStatus, string]>(() => {
177
146
  return res
178
147
  })
179
148
  const onHideAlert = (): void => {
180
- emits('hide-alert', 3)
149
+ emits('hide-alert', dynamicSteps.selectComputeResource)
181
150
  }
182
151
  </script>
183
152
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bfg-common",
3
3
  "private": false,
4
- "version": "1.5.552",
4
+ "version": "1.5.553",
5
5
  "scripts": {
6
6
  "build": "nuxt build",
7
7
  "dev": "nuxt dev --port=3002",
File without changes