bfg-common 1.4.46 → 1.4.47

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 (52) hide show
  1. package/components/common/wizards/datastore/add/nfs/accessibility/lib/models/interfaces.ts +4 -0
  2. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/config/selectOptions.ts +15 -6
  3. package/components/common/wizards/datastoreNew/add/Add.vue +464 -0
  4. package/components/common/wizards/datastoreNew/add/lib/config/steps.ts +135 -0
  5. package/components/common/wizards/datastoreNew/add/lib/models/enums.ts +5 -0
  6. package/components/common/wizards/datastoreNew/add/lib/models/interfaces.ts +12 -0
  7. package/components/common/wizards/datastoreNew/add/lib/models/types.ts +7 -0
  8. package/components/common/wizards/datastoreNew/add/lib/utils.ts +31 -0
  9. package/components/common/wizards/datastoreNew/add/local/Local.vue +44 -0
  10. package/components/common/wizards/datastoreNew/add/local/createName/CreateName.vue +116 -0
  11. package/components/common/wizards/datastoreNew/add/nfs/Nfs.vue +67 -0
  12. package/components/common/wizards/datastoreNew/add/nfs/accessibility/Accessibility.vue +63 -0
  13. package/components/common/wizards/datastoreNew/add/nfs/accessibility/lib/config/tabsPannel.ts +24 -0
  14. package/components/common/wizards/datastoreNew/add/nfs/accessibility/lib/models/interfaces.ts +9 -0
  15. package/components/common/wizards/datastoreNew/add/nfs/accessibility/lib/models/types.ts +5 -0
  16. package/components/common/wizards/datastoreNew/add/nfs/accessibility/tablesView/TablesView.vue +85 -0
  17. package/components/common/wizards/datastoreNew/add/nfs/accessibility/tablesView/lib/config/compatibleTable.ts +62 -0
  18. package/components/common/wizards/datastoreNew/add/nfs/accessibility/tablesView/lib/config/incompatibleTable.ts +68 -0
  19. package/components/common/wizards/datastoreNew/add/nfs/accessibility/tablesView/lib/config/tableKeys.ts +15 -0
  20. package/components/common/wizards/datastoreNew/add/nfs/accessibility/tablesView/lib/models/interfaces.ts +11 -0
  21. package/components/common/wizards/datastoreNew/add/nfs/configuration/Configuration.vue +301 -0
  22. package/components/common/wizards/datastoreNew/add/nfs/configuration/lib/models/interfaces.ts +5 -0
  23. package/components/common/wizards/datastoreNew/add/nfs/configuration/serversList/DeletePopover.vue +100 -0
  24. package/components/common/wizards/datastoreNew/add/nfs/configuration/serversList/ServersList.vue +124 -0
  25. package/components/common/wizards/datastoreNew/add/nfs/configuration/serversList/lib/config/serversListConfig.ts +41 -0
  26. package/components/common/wizards/datastoreNew/add/nfs/configuration/serversList/lib/config/tableKeys.ts +3 -0
  27. package/components/common/wizards/datastoreNew/add/nfs/configuration/serversList/lib/models/interfaces.ts +3 -0
  28. package/components/common/wizards/datastoreNew/add/nfs/configuration/serversList/lib/models/types.ts +1 -0
  29. package/components/common/wizards/datastoreNew/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +55 -0
  30. package/components/common/wizards/datastoreNew/add/nfs/kerberosAuthentication/lib/config/radioOptions.ts +27 -0
  31. package/components/common/wizards/datastoreNew/add/nfs/version/Version.vue +26 -0
  32. package/components/common/wizards/datastoreNew/add/nfs/version/lib/config/versionOptions.ts +22 -0
  33. package/components/common/wizards/datastoreNew/add/readyComplete/ReadyComplete.vue +88 -0
  34. package/components/common/wizards/datastoreNew/add/readyComplete/lib/config/propertiesDetails.ts +192 -0
  35. package/components/common/wizards/datastoreNew/add/sharedStorm/SharedStorm.vue +83 -0
  36. package/components/common/wizards/datastoreNew/add/sharedStorm/deviceSelection/DeviceSelection.vue +262 -0
  37. package/components/common/wizards/datastoreNew/add/sharedStorm/deviceSelection/lib/config/selectOptions.ts +23 -0
  38. package/components/common/wizards/datastoreNew/add/sharedStorm/deviceSelection/lib/models/interfaces.ts +48 -0
  39. package/components/common/wizards/datastoreNew/add/sharedStorm/deviceSelection/lib/models/types.ts +8 -0
  40. package/components/common/wizards/datastoreNew/add/sharedStorm/deviceSelection/table/Table.vue +134 -0
  41. package/components/common/wizards/datastoreNew/add/sharedStorm/deviceSelection/table/lib/config/hostsTable.ts +87 -0
  42. package/components/common/wizards/datastoreNew/add/sharedStorm/deviceSelection/table/lib/config/tableKeys.ts +11 -0
  43. package/components/common/wizards/datastoreNew/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +236 -0
  44. package/components/common/wizards/datastoreNew/add/sharedStorm/partitionConfiguration/graphicTooltip/graphicTooltip.vue +64 -0
  45. package/components/common/wizards/datastoreNew/add/sharedStorm/partitionConfiguration/lib/config/selectOptions.ts +46 -0
  46. package/components/common/wizards/datastoreNew/add/sharedStorm/partitionConfiguration/sizeGraphic/sizeGraphic.vue +225 -0
  47. package/components/common/wizards/datastoreNew/add/sharedStorm/version/Version.vue +39 -0
  48. package/components/common/wizards/datastoreNew/add/sharedStorm/version/lib/config/versionOptions.ts +21 -0
  49. package/components/common/wizards/datastoreNew/add/types/Types.vue +78 -0
  50. package/components/common/wizards/datastoreNew/add/types/lib/config/typeOptions.ts +49 -0
  51. package/lib/models/interfaces.ts +1 -0
  52. package/package.json +1 -1
@@ -0,0 +1,48 @@
1
+ import { UI_I_DataTableQuery } from '~/lib/models/table/interfaces'
2
+
3
+ export interface UI_I_LunDiskSpherePayload extends UI_I_DataTableQuery {
4
+ host: string
5
+ }
6
+
7
+ export interface UI_I_LunDisk {
8
+ name: string
9
+ capacity: string
10
+ }
11
+
12
+ export interface UI_I_SelectHostOptions {
13
+ text: string
14
+ value: string
15
+ disabled?: boolean
16
+ }
17
+
18
+ export interface UI_I_CreateStorageLunDiskItem {
19
+ name: string
20
+ identifier: string
21
+ lun: number
22
+ capacity_mb: string
23
+ hardware_acceleration: string
24
+ drive_type: string
25
+ sector_format: string
26
+ }
27
+
28
+ export interface API_UI_I_DatastoreLunDiskItem {
29
+ id: string
30
+ adapter: string
31
+ capacity_mb: string
32
+ datastore: {
33
+ name: string
34
+ type: string
35
+ }
36
+ drive_type: string
37
+ hardware_acceleration: string
38
+ identifier: string
39
+ lun: number
40
+ name: string
41
+ operational_state: string
42
+ owner: string
43
+ perennially_reserved: string
44
+ physical_location: string
45
+ sector_format: string
46
+ transport: string
47
+ type: string
48
+ }
@@ -0,0 +1,8 @@
1
+ export type UI_T_HostTableItemsKey =
2
+ | 'name'
3
+ | 'identifier'
4
+ | 'lun'
5
+ | 'capacity_mb'
6
+ | 'hardware_acceleration'
7
+ | 'drive_type'
8
+ | 'sector_format'
@@ -0,0 +1,134 @@
1
+ <template>
2
+ <div class="data-table-view">
3
+ <atoms-table-data-grid
4
+ v-model:selected-row="selectedLunDiskLocal"
5
+ v-model:column-keys="columnKeys"
6
+ v-model:page-size="pagination.pageSize"
7
+ v-model:page="pagination.page"
8
+ type="checkbox"
9
+ class="data-table"
10
+ test-id="device-selection-lun-disk-table"
11
+ :head-items="headItems"
12
+ :body-items="bodyItems"
13
+ :total-items="props.totalItems"
14
+ :total-pages="props.totalPages"
15
+ :loading="loading"
16
+ :is-main-filter="props.isMainFilter"
17
+ :main-filter-placeholder="localization.filter"
18
+ hide-page-size
19
+ @main-filter="onMainFiltering"
20
+ @sorting="sorting"
21
+ >
22
+ <template #icon="{ item }">
23
+ <span :class="['datagrid-cell-icon', item.data.iconClassName]" />
24
+ <span class="text-ellipsis">
25
+ {{ item.text }}
26
+ </span>
27
+ </template>
28
+ </atoms-table-data-grid>
29
+ </div>
30
+ </template>
31
+
32
+ <script lang="ts" setup>
33
+ import { useDebounceFn } from '@vueuse/core'
34
+ import {
35
+ UI_I_HeadItem,
36
+ UI_I_ColumnKey,
37
+ UI_I_BodyItem,
38
+ } from '~/components/atoms/table/dataGrid/lib/models/interfaces'
39
+ import { UI_I_Localization } from '~/lib/models/interfaces'
40
+ import { UI_I_Pagination } from '~/lib/models/table/interfaces'
41
+ // import { optionsDefault as itemsPerPage } from '~/node_modules/nuxt-3-uikit/components/atoms/table/dataGrid/config'
42
+ import { UI_I_CreateStorageLunDiskItem } from '~/components/common/wizards/datastoreNew/add/sharedStorm/deviceSelection/lib/models/interfaces'
43
+ import * as lunDiskTable from '~/components/common/wizards/datastoreNew/add/sharedStorm/deviceSelection/table/lib/config/hostsTable'
44
+
45
+ const props = defineProps<{
46
+ dataTable: UI_I_CreateStorageLunDiskItem[]
47
+ loading: boolean
48
+ totalItems: number
49
+ totalPages: number
50
+ pagination: UI_I_Pagination
51
+ isMainFilter?: boolean
52
+ }>()
53
+ const modelLunDisk = defineModel<UI_I_CreateStorageLunDiskItem[]>()
54
+ const emits = defineEmits<{
55
+ (event: 'pagination', value: UI_I_Pagination): void
56
+ (event: 'sort', value: string): void
57
+ (event: 'main-filter', value: string): void
58
+ }>()
59
+
60
+ const localization = computed<UI_I_Localization>(() => useLocal())
61
+
62
+ const sorting = (e: [number, boolean]): void => {
63
+ const [column, status] = e
64
+ const direction = status ? 'desc' : 'asc'
65
+
66
+ const sort = `${column}.${direction}`
67
+
68
+ emits('sort', sort)
69
+ }
70
+ const sendFilter = useDebounceFn((searchText: string) => {
71
+ emits('main-filter', searchText)
72
+ }, 1000)
73
+ const onMainFiltering = (data: string): void => {
74
+ sendFilter(data)
75
+ }
76
+
77
+ const pagination = ref<UI_I_Pagination>({
78
+ page: 1,
79
+ pageSize: 1,
80
+ })
81
+ watch(
82
+ () => props.pagination,
83
+ (newValue) => {
84
+ pagination.value = newValue
85
+ },
86
+ { immediate: true }
87
+ )
88
+ watch(
89
+ pagination,
90
+ (newValue) => {
91
+ emits('pagination', newValue)
92
+ },
93
+ { deep: true, immediate: true }
94
+ )
95
+
96
+ const columnKeys = ref<UI_I_ColumnKey[]>(
97
+ lunDiskTable.columnKeys(localization.value)
98
+ )
99
+ const headItems = computed<UI_I_HeadItem[]>(() =>
100
+ lunDiskTable.headItems(localization.value)
101
+ )
102
+ const bodyItems = computed<UI_I_BodyItem[][]>(() => {
103
+ let result: UI_I_BodyItem[][] = []
104
+ if (props.dataTable?.length) {
105
+ result = lunDiskTable.bodyItems(props.dataTable)
106
+ }
107
+
108
+ return result
109
+ })
110
+
111
+ const selectedLunDiskLocal = ref<number[]>()
112
+ watch(
113
+ selectedLunDiskLocal,
114
+ (newValue: number[]) => {
115
+ modelLunDisk.value = props.dataTable.filter((_: any, key: number) =>
116
+ newValue.includes(key)
117
+ )
118
+ },
119
+ { deep: true, immediate: true }
120
+ )
121
+ </script>
122
+
123
+ <style lang="scss" scoped>
124
+ .data-table-view {
125
+ height: inherit;
126
+ overflow: hidden;
127
+ .data-table {
128
+ height: inherit;
129
+ :deep(.datagrid-outer-wrapper) {
130
+ height: 400px;
131
+ }
132
+ }
133
+ }
134
+ </style>
@@ -0,0 +1,87 @@
1
+ import {
2
+ UI_I_HeadItem,
3
+ UI_I_ColumnKey,
4
+ UI_I_BodyItem,
5
+ } from '~/components/atoms/table/dataGrid/lib/models/interfaces'
6
+ import { UI_I_Localization } from '~/lib/models/interfaces'
7
+ import {
8
+ constructHeadItem,
9
+ constructColumnKey,
10
+ } from '~/components/atoms/table/dataGrid/lib/utils/constructDataTable'
11
+ import { UI_I_CreateStorageLunDiskItem } from '~/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/interfaces'
12
+ import { hostTableItemsKeys } from '~/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/lib/config/tableKeys'
13
+
14
+ const getItems = (
15
+ localization: UI_I_Localization
16
+ ): [string, boolean, string, string][] => {
17
+ return [
18
+ [localization.common.name, true, '180px', hostTableItemsKeys[0]],
19
+ [localization.common.identifier, false, '96px', hostTableItemsKeys[1]],
20
+ [localization.common.lun, true, '96px', hostTableItemsKeys[2]],
21
+ [localization.common.capacity, true, '96px', hostTableItemsKeys[3]],
22
+ [localization.common.hardwareAcceleration, true, '96px', hostTableItemsKeys[4]],
23
+ [localization.common.driveType, true, '96px', hostTableItemsKeys[5]],
24
+ [localization.common.sectorFormat, true, '96px', hostTableItemsKeys[6]],
25
+ ]
26
+ }
27
+ export const columnKeys = (localization: UI_I_Localization): UI_I_ColumnKey[] => {
28
+ const result: UI_I_ColumnKey[] = []
29
+ getItems(localization).forEach((item, i) => {
30
+ const col = `col${i}`
31
+ result.push(constructColumnKey(col, item[0], item[1]))
32
+ })
33
+ return result
34
+ }
35
+ export const headItems = (localization: UI_I_Localization): UI_I_HeadItem[] => {
36
+ const result: UI_I_HeadItem[] = []
37
+ getItems(localization).forEach((item, i) => {
38
+ const col = `col${i}`
39
+ result.push(constructHeadItem(col, item[0], item[3], false, item[2]))
40
+ })
41
+ return result
42
+ }
43
+
44
+ export const bodyItems = (data: UI_I_CreateStorageLunDiskItem[]): UI_I_BodyItem[][] => {
45
+ const bodyItems: UI_I_BodyItem[][] = []
46
+ const { $binary } = useNuxtApp() as any
47
+ data.forEach((host: UI_I_CreateStorageLunDiskItem, key) => {
48
+ bodyItems.push([
49
+ {
50
+ key: 'col0',
51
+ text: host[hostTableItemsKeys[0]],
52
+ id: key,
53
+ },
54
+ {
55
+ key: 'col1',
56
+ text: host[hostTableItemsKeys[1]],
57
+ id: key,
58
+ },
59
+ {
60
+ key: 'col2',
61
+ text: host[hostTableItemsKeys[2]],
62
+ id: key,
63
+ },
64
+ {
65
+ key: 'col3',
66
+ text: $binary.round(host[hostTableItemsKeys[3]]),
67
+ id: key,
68
+ },
69
+ {
70
+ key: 'col4',
71
+ text: host[hostTableItemsKeys[4]],
72
+ id: key,
73
+ },
74
+ {
75
+ key: 'col5',
76
+ text: host[hostTableItemsKeys[5]],
77
+ id: key,
78
+ },
79
+ {
80
+ key: 'col6',
81
+ text: host[hostTableItemsKeys[6]],
82
+ id: key,
83
+ },
84
+ ])
85
+ })
86
+ return bodyItems
87
+ }
@@ -0,0 +1,11 @@
1
+ import { UI_T_HostTableItemsKey } from '~/components/common/wizards/datastoreNew/add/sharedStorm/deviceSelection/lib/models/types'
2
+
3
+ export const hostTableItemsKeys: UI_T_HostTableItemsKey[] = [
4
+ 'name',
5
+ 'identifier',
6
+ 'lun',
7
+ 'capacity_mb',
8
+ 'hardware_acceleration',
9
+ 'drive_type',
10
+ 'sector_format',
11
+ ]
@@ -0,0 +1,236 @@
1
+ <template>
2
+ <div class="partition">
3
+ <div class="clr-form-control clr-row">
4
+ <label class="clr-col-md-4 clr-control-label">
5
+ {{ localization.partitionConfiguration }}
6
+ </label>
7
+
8
+ <div class="clr-col-md-8 p-0">
9
+ <div class="clr-select-wrapper">
10
+ <select
11
+ id="host-select"
12
+ v-model="selectedHost"
13
+ data-id="select-partition-configuration"
14
+ class="dropdown-toggle"
15
+ @change="onSelectHost"
16
+ >
17
+ <option
18
+ v-for="(item, index) in partitionConfiguration"
19
+ :key="index"
20
+ :value="item.value"
21
+ :disabled="item.disabled"
22
+ >
23
+ {{ item.text }}
24
+ </option>
25
+ </select>
26
+ </div>
27
+ </div>
28
+ </div>
29
+
30
+ <div class="datastore-size-container clr-flex-row clr-flex">
31
+ <label class="clr-col-md-4 clr-control-label" for="datastore-size">
32
+ {{ localization.datastoreSize }}
33
+ </label>
34
+
35
+ <div class="datastore-size-slider-container clr-col-md-8 p-0">
36
+ <div class="clr-col-xl-6 clr-col-md-8 p-0">
37
+ <div
38
+ class="partition__range-input clr-control-container clr-col-md-10 clr-col-12"
39
+ >
40
+ <div class="clr-range-wrapper">
41
+ <input
42
+ id="datastore-size-input-0"
43
+ v-model="datastoreSize"
44
+ data-id="select-storm-storage-size-range-field"
45
+ type="range"
46
+ min="0"
47
+ :max="countDatastoreSizeToGb"
48
+ step="0.01"
49
+ class="ng-valid clr-range ng-dirty ng-touched"
50
+ />
51
+ </div>
52
+ </div>
53
+ </div>
54
+
55
+ <input
56
+ id="datastore-size-input-1"
57
+ v-model="datastoreSize"
58
+ data-id="select-storm-storage-size-input-field"
59
+ type="number"
60
+ min="0"
61
+ :max="countDatastoreSizeToGb"
62
+ step="0.01"
63
+ class="show-arrow"
64
+ />
65
+ <span>{{ localization.gb }}</span>
66
+ </div>
67
+ </div>
68
+
69
+ <template v-if="props.vmfsVersion === 'vmfs-6'">
70
+ <div class="clr-form-control clr-row">
71
+ <label class="clr-col-md-4 clr-control-label">
72
+ {{ localization.blockSize }}
73
+ </label>
74
+
75
+ <div>
76
+ <div class="clr-select-wrapper">
77
+ <select
78
+ id="storm-configuration-block-size"
79
+ v-model="selectedSize"
80
+ data-id="storm-configuration-block-size"
81
+ class="dropdown-toggle"
82
+ @change="onSelectHost"
83
+ >
84
+ <option
85
+ v-for="(item, index) in blockSize"
86
+ :key="index"
87
+ :value="item.value"
88
+ :disabled="item.disabled"
89
+ >
90
+ {{ item.text }}
91
+ </option>
92
+ </select>
93
+ </div>
94
+ </div>
95
+ </div>
96
+
97
+ <div class="clr-form-control clr-row">
98
+ <label class="clr-col-md-4 clr-control-label">
99
+ {{ localization.spaceReclamationGranularity }}
100
+ </label>
101
+
102
+ <div>
103
+ <div class="clr-select-wrapper">
104
+ <select
105
+ id="granularity-select"
106
+ v-model="selectedGranularity"
107
+ data-id="storm-configuration-space-granularity"
108
+ class="dropdown-toggle"
109
+ @change="onSelectHost"
110
+ >
111
+ <option
112
+ v-for="(item, index) in spaceGranularity"
113
+ :key="index"
114
+ :value="item.value"
115
+ :disabled="item.disabled"
116
+ >
117
+ {{ item.text }}
118
+ </option>
119
+ </select>
120
+ </div>
121
+ </div>
122
+ </div>
123
+
124
+ <div class="clr-form-control clr-row">
125
+ <label class="clr-col-md-4 clr-control-label">
126
+ {{ localization.spaceReclamationPriority }}
127
+ </label>
128
+
129
+ <div>
130
+ <div class="clr-select-wrapper">
131
+ <select
132
+ id="priority-select"
133
+ v-model="selectedPriority"
134
+ data-id="storm-configuration-space-priority"
135
+ class="dropdown-toggle"
136
+ @change="onSelectHost"
137
+ >
138
+ <option
139
+ v-for="(item, index) in spacePriority"
140
+ :key="index"
141
+ :value="item.value"
142
+ :disabled="item.disabled"
143
+ >
144
+ {{ item.text }}
145
+ </option>
146
+ </select>
147
+ </div>
148
+ </div>
149
+ </div>
150
+ </template>
151
+
152
+ <common-wizards-datastore-add-shared-storm-partition-configuration-size-graphic
153
+ :selected-size="+datastoreSize"
154
+ :capacity="countDatastoreSizeToGb"
155
+ />
156
+ </div>
157
+ </template>
158
+
159
+ <script lang="ts" setup>
160
+ import { UI_I_Localization } from '~/lib/models/interfaces'
161
+ import { UI_T_VmfsType } from '~/components/common/wizards/datastore/add/lib/models/types'
162
+ import { UI_I_SelectHostOptions } from '~/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/interfaces'
163
+ import {
164
+ partitionConfigurationFunc,
165
+ spacePriorityFunc,
166
+ spaceGranularityFunc,
167
+ blockSizeFunc,
168
+ } from '~/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/lib/config/selectOptions'
169
+
170
+ const props = withDefaults(
171
+ defineProps<{
172
+ vmfsVersion: UI_T_VmfsType
173
+ selectedLunDiskSize: number
174
+ }>(),
175
+ {
176
+ selectedLunDiskSize: 0,
177
+ }
178
+ )
179
+ const localization = computed<UI_I_Localization>(() => useLocal())
180
+ const { $binary } = useNuxtApp()
181
+
182
+ const selectedHost = ref<string>('all-partitions')
183
+ const partitionConfiguration = computed<UI_I_SelectHostOptions[]>(() =>
184
+ partitionConfigurationFunc(localization.value)
185
+ )
186
+
187
+ const selectedSize = ref<string>('1')
188
+ const blockSize = computed<UI_I_SelectHostOptions[]>(() =>
189
+ blockSizeFunc(localization.value)
190
+ )
191
+
192
+ const selectedGranularity = ref<string>('1')
193
+ const spaceGranularity = computed<UI_I_SelectHostOptions[]>(() =>
194
+ spaceGranularityFunc(localization.value)
195
+ )
196
+
197
+ const selectedPriority = ref<string>('low')
198
+ const spacePriority = computed<UI_I_SelectHostOptions[]>(() =>
199
+ spacePriorityFunc(localization.value)
200
+ )
201
+
202
+ const countDatastoreSizeToGb = computed<number>(() => {
203
+ return $binary.mbToGb(props.selectedLunDiskSize)
204
+ })
205
+
206
+ const datastoreSize = ref<number | null>(null)
207
+ watch(
208
+ () => props.selectedLunDiskSize,
209
+ (_val) => {
210
+ datastoreSize.value = countDatastoreSizeToGb.value
211
+ }
212
+ )
213
+
214
+ const onSelectHost = (): void => {}
215
+ </script>
216
+
217
+ <style lang="scss" scoped>
218
+ .partition {
219
+ .datastore-size-container {
220
+ display: flex;
221
+ margin-left: -1em;
222
+ margin-top: 1.2rem;
223
+ margin-bottom: 1.2rem;
224
+ }
225
+ .clr-form-control {
226
+ display: flex;
227
+ flex-direction: row;
228
+ }
229
+ &__range-input {
230
+ margin-left: -10px;
231
+ }
232
+ }
233
+ .datastore-size-slider-container {
234
+ display: flex;
235
+ }
236
+ </style>
@@ -0,0 +1,64 @@
1
+ <template>
2
+ <g class="graphic-tooltip">
3
+ <path
4
+ fill="none"
5
+ class="highcharts-label-box highcharts-tooltip-box highcharts-shadow"
6
+ d="M 3.5 0.5 L 53.5 0.5 L 59.5 -5.5 L 65.5 0.5 L 118 0.5 C 121.5 0.5 121.5 0.5 121.5 3.5 L 121.5 27.5 C 121.5 30.5 121.5 30.5 118.5 30.5 L 3.5 30.5 C 0.5 30.5 0.5 30.5 0.5 27.5 L 0.5 3.5 C 0.5 0.5 0.5 0.5 3.5 0.5"
7
+ stroke="#000000"
8
+ stroke-opacity="0.049999999999999996"
9
+ stroke-width="5"
10
+ transform="translate(1, 1)"
11
+ ></path>
12
+ <path
13
+ fill="none"
14
+ class="highcharts-label-box highcharts-tooltip-box highcharts-shadow"
15
+ d="M 3.5 0.5 L 53.5 0.5 L 59.5 -5.5 L 65.5 0.5 L 118 0.5 C 121.5 0.5 121.5 0.5 121.5 3.5 L 121.5 27.5 C 121.5 30.5 121.5 30.5 118.5 30.5 L 3.5 30.5 C 0.5 30.5 0.5 30.5 0.5 27.5 L 0.5 3.5 C 0.5 0.5 0.5 0.5 3.5 0.5"
16
+ stroke="#000000"
17
+ stroke-opacity="0.09999999999999999"
18
+ stroke-width="3"
19
+ transform="translate(1, 1)"
20
+ ></path>
21
+ <path
22
+ fill="none"
23
+ class="highcharts-label-box highcharts-tooltip-box highcharts-shadow"
24
+ d="M 3.5 0.5 L 53.5 0.5 L 59.5 -5.5 L 65.5 0.5 L 118 0.5 C 121.5 0.5 121.5 0.5 121.5 3.5 L 121.5 27.5 C 121.5 30.5 121.5 30.5 118.5 30.5 L 3.5 30.5 C 0.5 30.5 0.5 30.5 0.5 27.5 L 0.5 3.5 C 0.5 0.5 0.5 0.5 3.5 0.5"
25
+ stroke="#000000"
26
+ stroke-opacity="0.15"
27
+ stroke-width="1"
28
+ transform="translate(1, 1)"
29
+ ></path>
30
+ <path
31
+ fill="rgba(247,247,247,0.85)"
32
+ class="highcharts-label-box highcharts-tooltip-box"
33
+ d="M 3.5 0.5 L 53.5 0.5 L 59.5 -5.5 L 65.5 0.5 L 118 0.5 C 121.5 0.5 121.5 0.5 121.5 3.5 L 121.5 27.5 C 121.5 30.5 121.5 30.5 118.5 30.5 L 3.5 30.5 C 0.5 30.5 0.5 30.5 0.5 27.5 L 0.5 3.5 C 0.5 0.5 0.5 0.5 3.5 0.5"
34
+ stroke="rgb(218, 218, 218)"
35
+ stroke-width="1"
36
+ ></path>
37
+ <text
38
+ x="9"
39
+ data-z-index="1"
40
+ y="20"
41
+ style="color: #333333; font-size: 12px; fill: #333333;"
42
+ >
43
+ {{ props.size }}
44
+ </text>
45
+ </g>
46
+ </template>
47
+
48
+ <script lang="ts" setup>
49
+ const props = defineProps<{
50
+ size: string
51
+ }>()
52
+ </script>
53
+
54
+ <style lang="scss" scoped>
55
+ .graphic-tooltip {
56
+ cursor: default;
57
+ white-space: nowrap;
58
+ pointer-events: none;
59
+ opacity: 0;
60
+ visibility: hidden;
61
+ transform: translate(331, -9999);
62
+ z-index: 8;
63
+ }
64
+ </style>
@@ -0,0 +1,46 @@
1
+ import { UI_I_Localization } from '~/lib/models/interfaces'
2
+ import { UI_I_SelectHostOptions } from '~/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/interfaces'
3
+
4
+ export const partitionConfigurationFunc = (
5
+ localization: UI_I_Localization
6
+ ): UI_I_SelectHostOptions[] => {
7
+ return [
8
+ { text: localization.selectConfiguration, value: '', disabled: true },
9
+ { text: localization.useAllAvailablePartitions, value: 'all-partitions' },
10
+ ]
11
+ }
12
+ export const blockSizeFunc = (
13
+ localization: UI_I_Localization
14
+ ): UI_I_SelectHostOptions[] => {
15
+ return [
16
+ {
17
+ text: `1 ${localization.mb}`,
18
+ value: '1',
19
+ },
20
+ ]
21
+ }
22
+
23
+ export const spaceGranularityFunc = (
24
+ localization: UI_I_Localization
25
+ ): UI_I_SelectHostOptions[] => {
26
+ return [
27
+ {
28
+ text: `1 ${localization.mb}`,
29
+ value: '1',
30
+ },
31
+ ]
32
+ }
33
+ export const spacePriorityFunc = (
34
+ localization: UI_I_Localization
35
+ ): UI_I_SelectHostOptions[] => {
36
+ return [
37
+ {
38
+ text: localization.low,
39
+ value: 'low',
40
+ },
41
+ {
42
+ text: localization.none,
43
+ value: 'none',
44
+ },
45
+ ]
46
+ }