bfg-common 1.2.50 → 1.2.52

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 (81) hide show
  1. package/components/atoms/alert/Notification.vue +167 -167
  2. package/components/atoms/autocomplete/Autocomplete.vue +236 -236
  3. package/components/atoms/datepicker/Datepicker.vue +612 -612
  4. package/components/atoms/list/SelectList.vue +62 -62
  5. package/components/atoms/nav/NavBar.vue +116 -116
  6. package/components/atoms/nav/VerticalNavBar.vue +89 -89
  7. package/components/atoms/notificationBar/NotificationBar.vue +175 -175
  8. package/components/atoms/perPage/PerPage.vue +52 -52
  9. package/components/atoms/popup/SimplePopup.vue +90 -90
  10. package/components/atoms/step/VerticalStep.vue +104 -104
  11. package/components/atoms/switch/Switch.vue +107 -107
  12. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +206 -206
  13. package/components/atoms/table/dataGrid/DataGridPage.vue +189 -189
  14. package/components/atoms/tabs/Tabs.vue +189 -189
  15. package/components/atoms/tooltip/Signpost.vue +224 -224
  16. package/components/common/BadBrowser.vue +114 -114
  17. package/components/common/adapterManager/AddAdapterWarningModal.vue +82 -82
  18. package/components/common/adapterManager/NoActiveAdaptersModal.vue +62 -62
  19. package/components/common/adapterManager/NoConnectedActiveAdaptersModal.vue +62 -62
  20. package/components/common/browse/Browse.vue +182 -182
  21. package/components/common/browse/blocks/Title.vue +66 -66
  22. package/components/common/diagramMain/Diagram.vue +186 -186
  23. package/components/common/diagramMain/DiagramMain.vue +986 -986
  24. package/components/common/diagramMain/adapter/AdapterItem.vue +227 -227
  25. package/components/common/diagramMain/adapter/AdapterItems.vue +57 -57
  26. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +339 -339
  27. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +202 -202
  28. package/components/common/diagramMain/modals/remove/RemoveModal.vue +226 -226
  29. package/components/common/diagramMain/network/Contents.vue +238 -238
  30. package/components/common/feedback/Buttons.vue +232 -232
  31. package/components/common/feedback/Message.vue +468 -468
  32. package/components/common/feedback/VisitPortal.vue +54 -54
  33. package/components/common/help/navbar/left/Left.vue +159 -159
  34. package/components/common/help/navbar/left/utils/constructAccordion.ts +27 -27
  35. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +359 -359
  36. package/components/common/modals/Rename.vue +165 -165
  37. package/components/common/monitor/config/getValidDateByOption.ts +0 -37
  38. package/components/common/monitor/overview/Overview.vue +470 -453
  39. package/components/common/monitor/overview/filters/Filters.vue +219 -216
  40. package/components/common/monitor/overview/filters/config/filterOptions.ts +80 -72
  41. package/components/common/perPage/PerPage.vue +51 -51
  42. package/components/common/recursionTree/RecursionTree.vue +201 -201
  43. package/components/common/vm/actions/clone/Clone.vue +545 -544
  44. package/components/common/vm/actions/clone/select/options/Options.vue +65 -65
  45. package/components/common/vm/actions/clone/utils.ts +43 -43
  46. package/components/common/vm/actions/common/config/capabilities.ts +338 -338
  47. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +678 -678
  48. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CoresPerSocket.vue +109 -109
  49. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +383 -383
  50. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +234 -234
  51. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/config/options.ts +28 -28
  52. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +316 -316
  53. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/config/memoryOptions.ts +35 -35
  54. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +445 -446
  55. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  56. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/Reservation.vue +235 -235
  57. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +177 -177
  58. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +197 -197
  59. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +181 -181
  60. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/CopyPaste.vue +51 -51
  61. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +253 -253
  62. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +55 -55
  63. package/components/common/vm/actions/common/select/storage/Storage.vue +18 -1
  64. package/components/common/vm/actions/common/select/storage/config/config.ts +154 -154
  65. package/components/common/wizards/datastore/add/nfs/Nfs.vue +94 -94
  66. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +377 -377
  67. package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +123 -123
  68. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +54 -54
  69. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +131 -131
  70. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +230 -230
  71. package/composables/useLocal.ts +38 -38
  72. package/minify.js +146 -146
  73. package/models/store/interfaces.ts +37 -37
  74. package/models/store/storage/interfaces.ts +32 -32
  75. package/models/store/types.ts +32 -32
  76. package/modules/fixContentBuild/utils/methods.ts +114 -114
  77. package/package.json +2 -2
  78. package/public/spice-console/application/codec.js +257 -257
  79. package/public/spice-console/lib/rasterEngine.js +907 -907
  80. package/public/spice-console/network/spicechannel.js +369 -369
  81. package/utils/contentBuild.ts +34 -34
@@ -52,17 +52,18 @@
52
52
  import { UI_I_Pagination } from '~/models/interfaces'
53
53
  import { UI_I_TablePayload } from '~/models/store/interfaces'
54
54
  import { UI_I_DatastoreTableItem } from '~/models/store/storage/interfaces'
55
- import * as table from '~/components/common/vm/actions/common/select/storage/config/config'
56
55
  import { UI_I_Localization } from '~/models/interfaces'
57
56
  import {
58
57
  UI_I_ColumnKey,
59
58
  UI_I_HeadItem,
60
59
  UI_I_BodyItem,
61
60
  } from '~/components/atoms/table/dataGrid/models/interfaces'
61
+ import * as table from '~/components/common/vm/actions/common/select/storage/config/config'
62
62
 
63
63
  const props = defineProps<{
64
64
  storageSubmit: number
65
65
  datastore: UI_I_DatastoreTableItem[]
66
+ storage: UI_I_DatastoreTableItem
66
67
  hideCompatibility?: boolean
67
68
  getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
68
69
  }>()
@@ -106,6 +107,7 @@ const getStorage = async (): Promise<void> => {
106
107
 
107
108
  props.getDatastoreTableFunc(payload).then(() => {
108
109
  selectedRow.value = null
110
+ setStorageFromProps()
109
111
  })
110
112
  }
111
113
  getStorage()
@@ -115,7 +117,22 @@ const selectedRow = ref<number | null>(null)
115
117
  const changeStorage = (index: number): void => {
116
118
  if (!props.datastore) return
117
119
  selectedStorage.value = props.datastore[index]
120
+ selectedRow.value = index
121
+ }
122
+
123
+ const setStorageFromProps = (): void => {
124
+ if (!props.storage) return
125
+ props.datastore.forEach((item, index) => {
126
+ if (item.id === props.storage.id) changeStorage(index)
127
+ })
118
128
  }
129
+ watch(
130
+ () => props.storage,
131
+ () => {
132
+ setStorageFromProps()
133
+ },
134
+ { immediate: true }
135
+ )
119
136
 
120
137
  watch(
121
138
  () => props.storageSubmit,
@@ -1,154 +1,154 @@
1
- import { UI_I_DatastoreTableItem } from '~/models/store/storage/interfaces'
2
- import type {
3
- UI_I_ColumnKey,
4
- UI_I_HeadItem,
5
- UI_I_BodyItem,
6
- } from '~/components/atoms/table/dataGrid/models/interfaces'
7
- import type { UI_I_Localization } from '~/models/interfaces'
8
- import { UI_T_StorageColumnKeys } from '~/components/common/vm/actions/common/select/storage/models/types'
9
- import {
10
- constructColumnKey,
11
- constructHeadItem,
12
- } from '~/components/atoms/table/dataGrid/utils/constructDataTable'
13
- import {
14
- datastoreIconByState,
15
- datastoreLocalizationByState,
16
- } from '~/components/common/config/states'
17
-
18
- export const storageTableKeys: UI_T_StorageColumnKeys = [
19
- 'name',
20
- 'state',
21
- 'capacity_mb',
22
- 'provisioned_mb',
23
- 'free_mb',
24
- 'used_mb',
25
- 'type_text',
26
- 'thin_provisioning',
27
- 'access_mode',
28
- 'hardware_acceleration',
29
- 'drive_type',
30
- 'device',
31
- 'storage_io_control',
32
- ]
33
-
34
- const getItems = (
35
- localization: UI_I_Localization
36
- ): [string, boolean, string, string][] => {
37
- return [
38
- [localization.name, true, '96px', storageTableKeys[0]],
39
- [localization.state, true, '138px', storageTableKeys[1]],
40
- [localization.capacity, true, '110px', storageTableKeys[2]],
41
- [localization.provisioned, true, '128px', storageTableKeys[3]],
42
- [localization.free, true, '110px', storageTableKeys[4]],
43
- [localization.used, true, '110px', storageTableKeys[5]],
44
- [localization.type, true, '110px', storageTableKeys[6]],
45
- [localization.thinProvisioning, true, '132px', storageTableKeys[7]],
46
- [localization.access, true, '110px', storageTableKeys[8]],
47
- [localization.hardwareAcceleration, true, '134px', storageTableKeys[9]],
48
- [localization.driverType, true, '110px', storageTableKeys[10]],
49
- [localization.device, true, '110px', storageTableKeys[11]],
50
- [localization.storageIoControl, true, '110px', storageTableKeys[12]],
51
- ]
52
- }
53
-
54
- export const columnKeys = (
55
- localization: UI_I_Localization
56
- ): UI_I_ColumnKey[] => {
57
- const result: UI_I_ColumnKey[] = []
58
- getItems(localization).forEach((item, i) => {
59
- const col = i === 0 ? 'icon' : `col${i}`
60
- result.push(constructColumnKey(col, item[0], item[1]))
61
- })
62
- return result
63
- }
64
-
65
- export const headItems = (localization: UI_I_Localization): UI_I_HeadItem[] => {
66
- const result: UI_I_HeadItem[] = []
67
- getItems(localization).forEach((item, i) => {
68
- const col = i === 0 ? 'icon' : `col${i}`
69
- result.push(constructHeadItem(col, item[0], item[3], true, item[2]))
70
- })
71
- return result
72
- }
73
-
74
- export const bodyItems = (
75
- data: UI_I_DatastoreTableItem[],
76
- localization: UI_I_Localization
77
- ): UI_I_BodyItem[][] => {
78
- const bodyItems: UI_I_BodyItem[][] = []
79
- const { $binary } = useNuxtApp()
80
-
81
- data.forEach((storage: UI_I_DatastoreTableItem, key: number) => {
82
- const state =
83
- localization[datastoreLocalizationByState[storage[storageTableKeys[1]]]]
84
- bodyItems.push([
85
- {
86
- key: 'icon',
87
- text: storage[storageTableKeys[0]].toString(),
88
- data: `vsphere-icon-${datastoreIconByState[storage.state]}`,
89
- id: key,
90
- },
91
- {
92
- key: 'col1',
93
- text: state,
94
- id: key,
95
- },
96
- {
97
- key: 'col2',
98
- text: $binary.round(storage.capacity[storageTableKeys[2]]),
99
- id: key,
100
- },
101
- {
102
- key: 'col3',
103
- text: $binary.round(storage.capacity[storageTableKeys[3]].toString()),
104
- id: key,
105
- },
106
- {
107
- key: 'col4',
108
- text: $binary.round(storage.capacity[storageTableKeys[4]].toString()),
109
- id: key,
110
- },
111
- {
112
- key: 'col5',
113
- text: $binary.round(storage.capacity[storageTableKeys[5]].toString()),
114
- id: key,
115
- },
116
- {
117
- key: 'col6',
118
- text: storage[storageTableKeys[6]].toString(),
119
- id: key,
120
- },
121
- {
122
- key: 'col7',
123
- text: storage[storageTableKeys[7]] ? localization.yes : localization.no,
124
- id: key,
125
- },
126
- {
127
- key: 'col8',
128
- text: storage[storageTableKeys[8]].toString(),
129
- id: key,
130
- },
131
- {
132
- key: 'col9',
133
- text: storage[storageTableKeys[9]].toString(),
134
- id: key,
135
- },
136
- {
137
- key: 'col10',
138
- text: storage[storageTableKeys[10]].toString(),
139
- id: key,
140
- },
141
- {
142
- key: 'col11',
143
- text: storage[storageTableKeys[11]].toString(),
144
- id: key,
145
- },
146
- {
147
- key: 'col12',
148
- text: storage[storageTableKeys[12]].toString(),
149
- id: key,
150
- },
151
- ])
152
- })
153
- return bodyItems
154
- }
1
+ import { UI_I_DatastoreTableItem } from '~/models/store/storage/interfaces'
2
+ import type {
3
+ UI_I_ColumnKey,
4
+ UI_I_HeadItem,
5
+ UI_I_BodyItem,
6
+ } from '~/components/atoms/table/dataGrid/models/interfaces'
7
+ import type { UI_I_Localization } from '~/models/interfaces'
8
+ import { UI_T_StorageColumnKeys } from '~/components/common/vm/actions/common/select/storage/models/types'
9
+ import {
10
+ constructColumnKey,
11
+ constructHeadItem,
12
+ } from '~/components/atoms/table/dataGrid/utils/constructDataTable'
13
+ import {
14
+ datastoreIconByState,
15
+ datastoreLocalizationByState,
16
+ } from '~/components/common/config/states'
17
+
18
+ export const storageTableKeys: UI_T_StorageColumnKeys = [
19
+ 'name',
20
+ 'state',
21
+ 'capacity_mb',
22
+ 'provisioned_mb',
23
+ 'free_mb',
24
+ 'used_mb',
25
+ 'type_text',
26
+ 'thin_provisioning',
27
+ 'access_mode',
28
+ 'hardware_acceleration',
29
+ 'drive_type',
30
+ 'device',
31
+ 'storage_io_control',
32
+ ]
33
+
34
+ const getItems = (
35
+ localization: UI_I_Localization
36
+ ): [string, boolean, string, string][] => {
37
+ return [
38
+ [localization.name, true, '96px', storageTableKeys[0]],
39
+ [localization.state, true, '138px', storageTableKeys[1]],
40
+ [localization.capacity, true, '110px', storageTableKeys[2]],
41
+ [localization.provisioned, true, '128px', storageTableKeys[3]],
42
+ [localization.free, true, '110px', storageTableKeys[4]],
43
+ [localization.used, true, '110px', storageTableKeys[5]],
44
+ [localization.type, true, '110px', storageTableKeys[6]],
45
+ [localization.thinProvisioning, true, '132px', storageTableKeys[7]],
46
+ [localization.access, true, '110px', storageTableKeys[8]],
47
+ [localization.hardwareAcceleration, true, '134px', storageTableKeys[9]],
48
+ [localization.driverType, true, '110px', storageTableKeys[10]],
49
+ [localization.device, true, '110px', storageTableKeys[11]],
50
+ [localization.storageIoControl, true, '110px', storageTableKeys[12]],
51
+ ]
52
+ }
53
+
54
+ export const columnKeys = (
55
+ localization: UI_I_Localization
56
+ ): UI_I_ColumnKey[] => {
57
+ const result: UI_I_ColumnKey[] = []
58
+ getItems(localization).forEach((item, i) => {
59
+ const col = i === 0 ? 'icon' : `col${i}`
60
+ result.push(constructColumnKey(col, item[0], item[1]))
61
+ })
62
+ return result
63
+ }
64
+
65
+ export const headItems = (localization: UI_I_Localization): UI_I_HeadItem[] => {
66
+ const result: UI_I_HeadItem[] = []
67
+ getItems(localization).forEach((item, i) => {
68
+ const col = i === 0 ? 'icon' : `col${i}`
69
+ result.push(constructHeadItem(col, item[0], item[3], true, item[2]))
70
+ })
71
+ return result
72
+ }
73
+
74
+ export const bodyItems = (
75
+ data: UI_I_DatastoreTableItem[],
76
+ localization: UI_I_Localization
77
+ ): UI_I_BodyItem[][] => {
78
+ const bodyItems: UI_I_BodyItem[][] = []
79
+ const { $binary } = useNuxtApp()
80
+
81
+ data.forEach((storage: UI_I_DatastoreTableItem, key: number) => {
82
+ const state =
83
+ localization[datastoreLocalizationByState[storage[storageTableKeys[1]]]]
84
+ bodyItems.push([
85
+ {
86
+ key: 'icon',
87
+ text: storage[storageTableKeys[0]].toString(),
88
+ data: `vsphere-icon-${datastoreIconByState[storage.state]}`,
89
+ id: key,
90
+ },
91
+ {
92
+ key: 'col1',
93
+ text: state,
94
+ id: key,
95
+ },
96
+ {
97
+ key: 'col2',
98
+ text: $binary.round(storage.capacity[storageTableKeys[2]]),
99
+ id: key,
100
+ },
101
+ {
102
+ key: 'col3',
103
+ text: $binary.round(storage.capacity[storageTableKeys[3]].toString()),
104
+ id: key,
105
+ },
106
+ {
107
+ key: 'col4',
108
+ text: $binary.round(storage.capacity[storageTableKeys[4]].toString()),
109
+ id: key,
110
+ },
111
+ {
112
+ key: 'col5',
113
+ text: $binary.round(storage.capacity[storageTableKeys[5]].toString()),
114
+ id: key,
115
+ },
116
+ {
117
+ key: 'col6',
118
+ text: storage[storageTableKeys[6]].toString(),
119
+ id: key,
120
+ },
121
+ {
122
+ key: 'col7',
123
+ text: storage[storageTableKeys[7]] ? localization.yes : localization.no,
124
+ id: key,
125
+ },
126
+ {
127
+ key: 'col8',
128
+ text: storage[storageTableKeys[8]].toString(),
129
+ id: key,
130
+ },
131
+ {
132
+ key: 'col9',
133
+ text: storage[storageTableKeys[9]].toString(),
134
+ id: key,
135
+ },
136
+ {
137
+ key: 'col10',
138
+ text: storage[storageTableKeys[10]].toString(),
139
+ id: key,
140
+ },
141
+ {
142
+ key: 'col11',
143
+ text: storage[storageTableKeys[11]].toString(),
144
+ id: key,
145
+ },
146
+ {
147
+ key: 'col12',
148
+ text: storage[storageTableKeys[12]].toString(),
149
+ id: key,
150
+ },
151
+ ])
152
+ })
153
+ return bodyItems
154
+ }
@@ -1,94 +1,94 @@
1
- <template>
2
- <div class="nfs-container">
3
- <span class="nfs-container__desc">{{ stepSubTitle }}</span>
4
-
5
- <common-wizards-datastore-add-nfs-version
6
- v-show="props.stepPosition === 1"
7
- v-model:version="nfsVersion"
8
- />
9
-
10
- <common-wizards-datastore-add-nfs-configuration
11
- v-show="props.stepPosition === 2"
12
- :mode="props.mode"
13
- :nfs-version="nfsVersion"
14
- :nfs-configuration-submit="nfsConfigurationSubmit"
15
- @loading="(e) => emits('loading', e)"
16
- @next="applyChangesAndNext"
17
- />
18
-
19
- <!-- <templates-home-datastore-actions-add-nfs-kerberos-authentication-->
20
- <!-- v-show="nfsVersion === 'nfs-4.1' && props.stepPosition === 3"-->
21
- <!-- :nfs-version="nfsVersion"-->
22
- <!-- />--><!-- TODO Он будет когда будем делать групповое -->
23
-
24
- <!-- <templates-home-datastore-actions-add-nfs-accessibility-->
25
- <!-- v-if="showHostAccessibility"-->
26
- <!-- :host-accessibility-submit="hostAccessibilitySubmit"-->
27
- <!-- @next="applyChangesAndNext"-->
28
- <!-- />-->
29
- <!-- TODO Он будет когда будем делать групповое -->
30
- </div>
31
- </template>
32
-
33
- <script lang="ts" setup>
34
- import { UI_I_Localization } from '~/models/interfaces'
35
- import {
36
- UI_T_DatastoreType,
37
- UI_T_NfsType,
38
- UI_T_WizardDatastoreMode,
39
- } from '~/components/common/wizards/datastore/add/models/types'
40
- import { UI_I_ConfigurationSendDataNfs } from '~/components/common/wizards/datastore/add/nfs/configuration/models/interfaces'
41
- import { subTitleFunc } from '~/components/common/wizards/datastore/add/config/stepItems'
42
-
43
- const props = defineProps<{
44
- mode: UI_T_WizardDatastoreMode
45
- stepPosition: number
46
- datastoreType: UI_T_DatastoreType
47
- nfsConfigurationSubmit: number
48
- hostAccessibilitySubmit: number
49
- }>()
50
- const emits = defineEmits<{
51
- (event: 'loading', value: boolean): void
52
- (event: 'submit', value: UI_I_ConfigurationSendDataNfs): void
53
- (event: 'change-nfs-version', value: UI_T_NfsType): void
54
- }>()
55
-
56
- const localization = computed<UI_I_Localization>(() => useLocal())
57
-
58
- const nfsVersion = ref<UI_T_NfsType>('nfs-3')
59
-
60
- const stepSubTitle = computed<string>(() => {
61
- const { datastoreType, stepPosition } = props
62
- return subTitleFunc(
63
- localization.value,
64
- datastoreType,
65
- stepPosition,
66
- nfsVersion.value
67
- )
68
- })
69
-
70
- // const showHostAccessibility = computed<boolean>(() => {
71
- // return (
72
- // (props.stepPosition === 4 && nfsVersion.value === 'nfs-4.1') ||
73
- // (props.stepPosition === 3 && nfsVersion.value === 'nfs-3')
74
- // )
75
- // })
76
-
77
- watch(nfsVersion, (val: UI_T_NfsType) => {
78
- emits('change-nfs-version', val)
79
- })
80
-
81
- const applyChangesAndNext = (event: UI_I_ConfigurationSendDataNfs): void => {
82
- emits('submit', event)
83
- }
84
- </script>
85
-
86
- <style lang="scss" scoped>
87
- @import '~/assets/scss/common/mixins.scss';
88
- .nfs-container {
89
- @include flex($dir: column);
90
- height: 100%;
91
- &__desc {
92
- }
93
- }
94
- </style>
1
+ <template>
2
+ <div class="nfs-container">
3
+ <span class="nfs-container__desc">{{ stepSubTitle }}</span>
4
+
5
+ <common-wizards-datastore-add-nfs-version
6
+ v-show="props.stepPosition === 1"
7
+ v-model:version="nfsVersion"
8
+ />
9
+
10
+ <common-wizards-datastore-add-nfs-configuration
11
+ v-show="props.stepPosition === 2"
12
+ :mode="props.mode"
13
+ :nfs-version="nfsVersion"
14
+ :nfs-configuration-submit="nfsConfigurationSubmit"
15
+ @loading="(e) => emits('loading', e)"
16
+ @next="applyChangesAndNext"
17
+ />
18
+
19
+ <!-- <templates-home-datastore-actions-add-nfs-kerberos-authentication-->
20
+ <!-- v-show="nfsVersion === 'nfs-4.1' && props.stepPosition === 3"-->
21
+ <!-- :nfs-version="nfsVersion"-->
22
+ <!-- />--><!-- TODO Он будет когда будем делать групповое -->
23
+
24
+ <!-- <templates-home-datastore-actions-add-nfs-accessibility-->
25
+ <!-- v-if="showHostAccessibility"-->
26
+ <!-- :host-accessibility-submit="hostAccessibilitySubmit"-->
27
+ <!-- @next="applyChangesAndNext"-->
28
+ <!-- />-->
29
+ <!-- TODO Он будет когда будем делать групповое -->
30
+ </div>
31
+ </template>
32
+
33
+ <script lang="ts" setup>
34
+ import { UI_I_Localization } from '~/models/interfaces'
35
+ import {
36
+ UI_T_DatastoreType,
37
+ UI_T_NfsType,
38
+ UI_T_WizardDatastoreMode,
39
+ } from '~/components/common/wizards/datastore/add/models/types'
40
+ import { UI_I_ConfigurationSendDataNfs } from '~/components/common/wizards/datastore/add/nfs/configuration/models/interfaces'
41
+ import { subTitleFunc } from '~/components/common/wizards/datastore/add/config/stepItems'
42
+
43
+ const props = defineProps<{
44
+ mode: UI_T_WizardDatastoreMode
45
+ stepPosition: number
46
+ datastoreType: UI_T_DatastoreType
47
+ nfsConfigurationSubmit: number
48
+ hostAccessibilitySubmit: number
49
+ }>()
50
+ const emits = defineEmits<{
51
+ (event: 'loading', value: boolean): void
52
+ (event: 'submit', value: UI_I_ConfigurationSendDataNfs): void
53
+ (event: 'change-nfs-version', value: UI_T_NfsType): void
54
+ }>()
55
+
56
+ const localization = computed<UI_I_Localization>(() => useLocal())
57
+
58
+ const nfsVersion = ref<UI_T_NfsType>('nfs-3')
59
+
60
+ const stepSubTitle = computed<string>(() => {
61
+ const { datastoreType, stepPosition } = props
62
+ return subTitleFunc(
63
+ localization.value,
64
+ datastoreType,
65
+ stepPosition,
66
+ nfsVersion.value
67
+ )
68
+ })
69
+
70
+ // const showHostAccessibility = computed<boolean>(() => {
71
+ // return (
72
+ // (props.stepPosition === 4 && nfsVersion.value === 'nfs-4.1') ||
73
+ // (props.stepPosition === 3 && nfsVersion.value === 'nfs-3')
74
+ // )
75
+ // })
76
+
77
+ watch(nfsVersion, (val: UI_T_NfsType) => {
78
+ emits('change-nfs-version', val)
79
+ })
80
+
81
+ const applyChangesAndNext = (event: UI_I_ConfigurationSendDataNfs): void => {
82
+ emits('submit', event)
83
+ }
84
+ </script>
85
+
86
+ <style lang="scss" scoped>
87
+ @import '~/assets/scss/common/mixins.scss';
88
+ .nfs-container {
89
+ @include flex($dir: column);
90
+ height: 100%;
91
+ &__desc {
92
+ }
93
+ }
94
+ </style>