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,225 @@
1
+ <template>
2
+ <div class="graphic-size">
3
+ <svg
4
+ class="graphic-size__svg"
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="100%"
7
+ height="100"
8
+ viewBox="0 0 782 100"
9
+ >
10
+ <defs aria-hidden="true">
11
+ <clipPath id="highcharts-zdne8nn-42-">
12
+ <rect x="0" y="0" width="802" height="80" fill="none"></rect>
13
+ </clipPath>
14
+ </defs>
15
+ <rect
16
+ fill="#ffffff"
17
+ class="highcharts-background"
18
+ x="0"
19
+ y="0"
20
+ width="782"
21
+ height="100"
22
+ rx="0"
23
+ ry="0"
24
+ aria-hidden="true"
25
+ ></rect>
26
+ <rect
27
+ fill="none"
28
+ class="highcharts-plot-background"
29
+ x="-10"
30
+ y="10"
31
+ width="802"
32
+ height="80"
33
+ aria-hidden="true"
34
+ ></rect>
35
+ <rect
36
+ fill="none"
37
+ class="highcharts-plot-border"
38
+ data-z-index="1"
39
+ x="-10"
40
+ y="10"
41
+ width="802"
42
+ height="80"
43
+ aria-hidden="true"
44
+ ></rect>
45
+ <g class="highcharts-series-group" data-z-index="3" aria-hidden="false">
46
+ <g
47
+ class="highcharts-series highcharts-series-0 highcharts-area-series"
48
+ data-z-index="0.1"
49
+ opacity="1"
50
+ transform="translate(-10,10) scale(1 1)"
51
+ clip-path="url(#highcharts-zdne8nn-42-)"
52
+ aria-hidden="false"
53
+ >
54
+ <path
55
+ fill="rgb(218,218,218)"
56
+ d="M 7.8627450980392 80 L 7.8627450980392 0 L 401 0 L 794.13725490196 0 L 794.13725490196 80 L 794.13725490196 80 L 794.13725490196 80 L 401 80 L 7.8627450980392 80 L 7.8627450980392 80 Z"
57
+ class="highcharts-area"
58
+ data-z-index="0"
59
+ aria-hidden="true"
60
+ ></path>
61
+ <path
62
+ fill="none"
63
+ d="M 7.8627450980392 80 L 7.8627450980392 0 L 401 0 L 794.13725490196 0 L 794.13725490196 80"
64
+ class="highcharts-graph"
65
+ data-z-index="1"
66
+ stroke-linejoin="round"
67
+ stroke-linecap="round"
68
+ aria-hidden="false"
69
+ role="region"
70
+ tabindex="-1"
71
+ aria-label="Empty, series 1 of 1 with 5 data points."
72
+ style="outline: 0"
73
+ ></path>
74
+ <path
75
+ fill="none"
76
+ d="M 7.8627450980392 80 L 7.8627450980392 0 L 401 0 L 794.13725490196 0 L 794.13725490196 80"
77
+ visibility="visible"
78
+ data-z-index="2"
79
+ class="highcharts-tracker-line"
80
+ stroke-linecap="round"
81
+ stroke-linejoin="round"
82
+ stroke="rgba(192,192,192,0.0001)"
83
+ stroke-width="20"
84
+ aria-hidden="true"
85
+ ></path>
86
+ </g>
87
+ <g
88
+ class="highcharts-markers highcharts-series-0 highcharts-area-series highcharts-tracker"
89
+ data-z-index="0.1"
90
+ opacity="1"
91
+ transform="translate(-10,10) scale(1 1)"
92
+ clip-path="none"
93
+ aria-hidden="true"
94
+ ></g>
95
+ </g>
96
+ <rect
97
+ x="0"
98
+ y="10"
99
+ width="782"
100
+ height="80"
101
+ fill="rgba(255,255,255,0)"
102
+ stroke="rgb(15,172,201)"
103
+ stroke-width="6"
104
+ data-z-index="3"
105
+ class="storage-partition-layout-selection-mask"
106
+ ></rect>
107
+ <rect
108
+ x="0"
109
+ y="10"
110
+ :width="setProgress"
111
+ height="80"
112
+ fill="rgba(15,172,201, 0.6)"
113
+ data-z-index="3"
114
+ class="storage-partition-layout-selection-mask"
115
+ ></rect>
116
+ <text
117
+ x="391"
118
+ text-anchor="middle"
119
+ class="highcharts-title"
120
+ data-z-index="4"
121
+ style="color: #333333; font-size: 18px; fill: #333333"
122
+ y="14"
123
+ aria-hidden="true"
124
+ ></text>
125
+ <text
126
+ x="391"
127
+ text-anchor="middle"
128
+ class="highcharts-subtitle"
129
+ data-z-index="4"
130
+ style="color: #666666; fill: #666666"
131
+ y="14"
132
+ aria-hidden="true"
133
+ ></text>
134
+ <text
135
+ x="0"
136
+ text-anchor="start"
137
+ class="highcharts-caption"
138
+ data-z-index="4"
139
+ style="color: #666666; fill: #666666"
140
+ y="112"
141
+ aria-hidden="true"
142
+ ></text>
143
+ <g
144
+ class="highcharts-data-labels highcharts-series-0 highcharts-area-series highcharts-tracker"
145
+ data-z-index="6"
146
+ opacity="1"
147
+ transform="translate(-10,10) scale(1 1)"
148
+ aria-hidden="true"
149
+ >
150
+ <g
151
+ class="highcharts-label highcharts-data-label highcharts-data-label-color-undefined"
152
+ data-z-index="1"
153
+ style="cursor: default; pointer-events: none; white-space: nowrap"
154
+ transform="translate(354,26)"
155
+ >
156
+ <text
157
+ x="5"
158
+ data-z-index="1"
159
+ y="17"
160
+ style="
161
+ color: #333;
162
+ font-family: 'ProximaNova', 'Avenir Next', 'Helvetica Neue', Arial,
163
+ sans-serif, 'Avenir Next', 'Helvetica Neue', Arial, sans-serif;
164
+ font-size: 12px;
165
+ font-weight: bold;
166
+ fill: #333;
167
+ "
168
+ >
169
+ <tspan
170
+ class="highcharts-text-outline"
171
+ fill="#FFFFFF"
172
+ stroke="#FFFFFF"
173
+ stroke-width="2px"
174
+ stroke-linejoin="round"
175
+ style=""
176
+ >
177
+ {{ emptySizeText }}
178
+ </tspan>
179
+ <tspan x="5" y="17">{{ emptySizeText }}</tspan>
180
+ </text>
181
+ </g>
182
+ </g>
183
+
184
+ <common-wizards-datastore-add-shared-storm-partition-configuration-graphic-tooltip
185
+ :size="emptySizeText"
186
+ />
187
+ </svg>
188
+ </div>
189
+ </template>
190
+
191
+ <script lang="ts" setup>
192
+ import { UI_I_Localization } from '~/lib/models/interfaces'
193
+
194
+ const props = defineProps<{
195
+ selectedSize: number | null
196
+ capacity: number
197
+ }>()
198
+ const localization = computed<UI_I_Localization>(() => useLocal())
199
+
200
+ const width = ref<number>(782)
201
+
202
+ const setProgress = computed<number>(() => {
203
+ if (!props.selectedSize) return 0
204
+ return (width.value * props.selectedSize) / props.capacity
205
+ })
206
+
207
+ const emptySizeText = computed<string>(() => {
208
+ const { empty, gb } = localization.value
209
+
210
+ return `${empty}: ${props.capacity} ${gb}`
211
+ })
212
+ </script>
213
+
214
+ <style lang="scss" scoped>
215
+ .graphic-size {
216
+ margin-top: 24px;
217
+ &:hover {
218
+ .graphic-tooltip {
219
+ visibility: visible;
220
+ opacity: 1;
221
+ transform: translate(331px, 25px);
222
+ }
223
+ }
224
+ }
225
+ </style>
@@ -0,0 +1,39 @@
1
+ <template>
2
+ <section class="nfs-version">
3
+ <common-select-radio-group
4
+ v-model="selectedVersion"
5
+ :options="vmfsVersion"
6
+ />
7
+ </section>
8
+ </template>
9
+
10
+ <script lang="ts" setup>
11
+ import { UI_I_Localization } from '~/lib/models/interfaces'
12
+ import { UI_I_RadioOption } from '~/components/common/select/radio/lib/models/interfaces'
13
+ import { UI_T_VmfsType } from '~/components/common/wizards/datastore/add/lib/models/types'
14
+ import { vmfsVersionFunc } from '~/components/common/wizards/datastore/add/sharedStorm/version/lib/config/versionOptions'
15
+
16
+ const props = defineProps<{
17
+ version: UI_T_VmfsType
18
+ }>()
19
+ const localization = computed<UI_I_Localization>(() => useLocal())
20
+ const emits = defineEmits<{
21
+ (event: 'update:version', value: UI_T_VmfsType): void
22
+ }>()
23
+
24
+ const vmfsVersion = ref<UI_I_RadioOption[]>(vmfsVersionFunc(localization.value))
25
+
26
+ const selectedVersion = computed<UI_T_VmfsType>({
27
+ get() {
28
+ return props.version
29
+ },
30
+ set(newValue) {
31
+ emits('update:version', newValue)
32
+ },
33
+ })
34
+ </script>
35
+
36
+ <style lang="scss" scoped>
37
+ .nfs-version {
38
+ }
39
+ </style>
@@ -0,0 +1,21 @@
1
+ import { UI_I_Localization } from '~/lib/models/interfaces'
2
+ import { UI_I_RadioOption } from '~/components/common/select/radio/lib/models/interfaces'
3
+
4
+ export const vmfsVersionFunc = (
5
+ localization: UI_I_Localization
6
+ ): UI_I_RadioOption[] => {
7
+ return [
8
+ {
9
+ label: 'VMFS 6',
10
+ value: 'vmfs-6',
11
+ disabled: false,
12
+ description: localization.vmfsVersionDesc1,
13
+ },
14
+ {
15
+ label: 'VMFS 5',
16
+ value: 'vmfs-5',
17
+ disabled: false,
18
+ description: localization.vmfsVersionDesc2,
19
+ },
20
+ ]
21
+ }
@@ -0,0 +1,78 @@
1
+ <template>
2
+ <section class="datastore-types">
3
+ <div class="header-row">
4
+ <span class="datastore-types__subtitle">
5
+ {{ localization.specifyDatastoreType }}
6
+ </span>
7
+ <div id="type-select-help-icon" class="signpost-container relative">
8
+ <atoms-the-icon
9
+ data-id="toggle-type-select-help-icon"
10
+ fill="#0072a3"
11
+ width="24px"
12
+ height="24px"
13
+ name="info-circle"
14
+ @click="isShowTypeHelp = !isShowTypeHelp"
15
+ />
16
+ <atoms-tooltip-signpost
17
+ v-if="isShowTypeHelp"
18
+ elem-id="type-select-help-icon"
19
+ test-id="select-datastore-type"
20
+ @hide="isShowTypeHelp = false"
21
+ >
22
+ <p class="help-desc">{{ localization.datastoreTypeHelpDesc }}</p>
23
+ </atoms-tooltip-signpost>
24
+ </div>
25
+ </div>
26
+
27
+ <common-select-radio-group
28
+ v-model="selectedDatastoreTypeLocal"
29
+ :options="datastoreTypes"
30
+ @change="onChangeType"
31
+ />
32
+ </section>
33
+ </template>
34
+
35
+ <script lang="ts" setup>
36
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
37
+ import type { UI_T_Project } from '~/lib/models/types'
38
+ import type { UI_I_RadioOption } from '~/components/common/select/radio/lib/models/interfaces'
39
+ import type { UI_T_DatastoreType } from '~/components/common/wizards/datastore/add/lib/models/types'
40
+ import { E_DatastoreTypeKode } from '~/components/common/wizards/datastoreNew/add/lib/models/enums'
41
+ import { datastoreTypesFunc } from '~/components/common/wizards/datastore/add/types/lib/config/typeOptions'
42
+
43
+ const props = defineProps<{
44
+ project: UI_T_Project
45
+ }>()
46
+ const selectedDatastoreTypeLocal =
47
+ defineModel<UI_T_DatastoreType>('datastoreType')
48
+ const typeCodeLocal = defineModel()
49
+
50
+ const localization = computed<UI_I_Localization>(() => useLocal())
51
+
52
+ const datastoreTypes = ref<UI_I_RadioOption[]>(
53
+ datastoreTypesFunc(localization.value, props.project)
54
+ )
55
+ const onChangeType = (): void => {
56
+ typeCodeLocal.value = E_DatastoreTypeKode[selectedDatastoreTypeLocal.value]
57
+ }
58
+
59
+ const isShowTypeHelp = ref<boolean>(false)
60
+ </script>
61
+
62
+ <style lang="scss" scoped>
63
+ .datastore-types {
64
+ .signpost-container {
65
+ display: flex;
66
+ cursor: pointer;
67
+
68
+ .help-desc-container {
69
+ max-width: 350px;
70
+ }
71
+ }
72
+ .header-row {
73
+ display: flex;
74
+ align-items: center;
75
+ gap: 10px;
76
+ }
77
+ }
78
+ </style>
@@ -0,0 +1,49 @@
1
+ import { UI_I_Localization } from '~/lib/models/interfaces'
2
+ import { UI_T_Project } from '~/lib/models/types'
3
+ import { UI_I_RadioOption } from '~/components/common/select/radio/lib/models/interfaces'
4
+
5
+ export const datastoreTypesFunc = (
6
+ localization: UI_I_Localization,
7
+ project: UI_T_Project
8
+ ): UI_I_RadioOption[] => {
9
+ const types = [
10
+ {
11
+ label: localization.stormSharedStorage,
12
+ value: 'shared-storm',
13
+ disabled: false,
14
+ description: localization.sharedStormDesc,
15
+ isTooltip: false,
16
+ tooltipContent: localization.stormSharedStorageHelpDesc,
17
+ testId: 'datastore-type-shared-storm',
18
+ },
19
+ {
20
+ label: localization.nfs,
21
+ value: 'nfs',
22
+ disabled: false,
23
+ description: localization.nfsDesc,
24
+ isTooltip: false,
25
+ tooltipContent: localization.nfsHelpDesc,
26
+ testId: 'datastore-type-nfs',
27
+ },
28
+ // {
29
+ // label: localization.vVol,
30
+ // value: 'vVol',
31
+ // disabled: true,
32
+ // desc: localization.vVolDesc,
33
+ // },
34
+ ]
35
+
36
+ if (project === 'procurator') {
37
+ types.unshift({
38
+ label: localization.localStorage,
39
+ value: 'local',
40
+ disabled: false,
41
+ description: localization.localDesc,
42
+ isTooltip: false,
43
+ tooltipContent: localization.localStorageHelpDesc,
44
+ testId: 'datastore-type-local',
45
+ })
46
+ }
47
+
48
+ return types
49
+ }
@@ -32,6 +32,7 @@ export interface UI_I_Localization {
32
32
  snapshots: UI_I_ArbitraryObject<string>
33
33
  importVms: UI_I_ArbitraryObject<string>
34
34
  storageDevice: UI_I_ArbitraryObject<string>
35
+ scheduledTasks: UI_I_ArbitraryObject<string>
35
36
  }
36
37
  export interface UI_I_SendTaskParams {
37
38
  method: string
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bfg-common",
3
3
  "private": false,
4
- "version": "1.4.46",
4
+ "version": "1.4.47",
5
5
  "scripts": {
6
6
  "build": "nuxt build",
7
7
  "dev": "nuxt dev --port=3002",