bfg-common 1.5.88 → 1.5.90

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.
@@ -47,7 +47,6 @@ import {
47
47
  dynamicSteps,
48
48
  } from '~/components/common/wizards/datastore/add/lib/config/steps'
49
49
  import { datastoreDefaultFormFunc } from '~/components/common/wizards/datastore/add/lib/config/createDatastore'
50
- import { constructDataReadyViewFunc } from '~/components/common/wizards/datastore/add/steps/readyComplete/lib/config/propertiesDetails'
51
50
  import * as validation from '~/components/common/wizards/datastore/add/lib/validations'
52
51
 
53
52
  const props = defineProps<{
@@ -200,16 +199,6 @@ watch(
200
199
  { immediate: true }
201
200
  )
202
201
 
203
- const dataReadyView = computed<UI_I_DetailsItem>(() =>
204
- constructDataReadyViewFunc(
205
- localization.value,
206
- form.value,
207
- props.project,
208
- props.nfsHosts
209
- )
210
- )
211
- console.log(dataReadyView)
212
-
213
202
  const onHideAlert = (stepId: number): void => {
214
203
  wizard.hideAlertMessagesByStepId(stepId)
215
204
  }
@@ -219,13 +208,6 @@ const onHideModal = (): void => {
219
208
  const onCreateDatastore = (): void => {
220
209
  emits('finish', form.value)
221
210
  }
222
- // watch(
223
- // () => props.isLoading,
224
- // (newValue) => {
225
- // wizard.setLoader(newValue)
226
- // },
227
- // { immediate: true }
228
- // )
229
211
  </script>
230
212
 
231
213
  <style scoped lang="scss">
@@ -146,7 +146,9 @@
146
146
  <template #content>
147
147
  <common-wizards-datastore-add-steps-ready-complete
148
148
  v-if="selectedStep.id === dynamicSteps.readyComplete"
149
- :data-ready-view="dataReadyView"
149
+ :form="formModelLocal"
150
+ :hosts="props.nfsHosts"
151
+ :project="props.project"
150
152
  />
151
153
  </template>
152
154
  </ui-wizard-block>
@@ -28,7 +28,7 @@
28
28
  :host-id="props.hostId"
29
29
  :is-main-filter="props.isMainFilter"
30
30
  @hide-alert="(e) => emits('hide-alert', e)"
31
- @main-filter="emits('main-filter', $event)"
31
+ @main-filter="(e) => emits('main-filter', e)"
32
32
  />
33
33
 
34
34
  <common-wizards-datastore-add-steps-name-and-configure
@@ -50,7 +50,9 @@
50
50
 
51
51
  <common-wizards-datastore-add-steps-ready-complete
52
52
  v-if="selectedStep.id === dynamicSteps.readyComplete"
53
- :data-ready-view="dataReadyView"
53
+ :form="formModelLocal"
54
+ :hosts="props.nfsHosts"
55
+ :project="props.project"
54
56
  />
55
57
 
56
58
  <common-wizards-datastore-add-shared-storm
@@ -81,7 +83,6 @@ import type { UI_T_DatastoreTypeCode } from '~/components/common/wizards/datasto
81
83
  import type { UI_I_CreateDatastoreForm } from '~/components/common/wizards/datastore/add/lib/models/interfaces'
82
84
  import type { UI_I_DetailsItem } from '~/components/common/details/lib/models/interfaces'
83
85
  import type { UI_I_CompatibleHosts } from '~/components/common/wizards/datastore/add/steps/hostAccessibility/table/lib/models/interfaces'
84
- import { constructDataReadyViewFunc } from '~/components/common/wizards/datastore/add/steps/readyComplete/lib/config/propertiesDetails'
85
86
  import { dynamicSteps } from '~/components/common/wizards/datastore/add/lib/config/steps'
86
87
 
87
88
  const formModelLocal = defineModel<UI_I_CreateDatastoreForm>({ required: true })
@@ -109,15 +110,6 @@ const datastoreType = ref<UI_T_DatastoreTypeCode>(2)
109
110
  const onChangeSteps = async (value: UI_I_WizardStep[]): Promise<void> =>
110
111
  emits('change-steps', value)
111
112
 
112
- const dataReadyView = computed<UI_I_DetailsItem>(() =>
113
- constructDataReadyViewFunc(
114
- localization.value,
115
- formModelLocal.value,
116
- props.project,
117
- props.nfsHosts
118
- )
119
- )
120
-
121
113
  const onHideAlert = (stepId: number): void => {
122
114
  emits('hide-alert', stepId)
123
115
  }
@@ -1,11 +1,14 @@
1
- import type { UI_T_NfsType } from '~/components/common/wizards/datastore/add/lib/models/types'
1
+ import type {
2
+ UI_T_NfsType,
3
+ UI_T_DatastoreTypeCode,
4
+ } from '~/components/common/wizards/datastore/add/lib/models/types'
2
5
  import type { UI_I_CreateStorageLunDiskItem } from '~/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/interfaces'
3
- import type { UI_T_DatastoreTypeCode } from '~/components/common/wizards/datastore/add/lib/models/types'
6
+
4
7
  export interface UI_I_CreateDatastoreForm {
5
8
  name: string
6
9
  lunDisk: UI_I_CreateStorageLunDiskItem[]
7
10
  nfsVersion: UI_T_NfsType
8
- type_code: 1 | 2 | 4
11
+ type_code: UI_T_DatastoreTypeCode
9
12
  readonly: boolean
10
13
  server: string
11
14
  folder: string
@@ -1,4 +1,5 @@
1
1
  <template>
2
+ <!-- TODO: если использовать этот компонент, нужно отрефакторить весь код — сейчас всё по-старому -->
2
3
  <section class="nfs-version">
3
4
  <common-select-radio-group
4
5
  v-model="selectedVersionLocal"
@@ -11,7 +12,7 @@
11
12
  import type { UI_I_Localization } from '~/lib/models/interfaces'
12
13
  import type { UI_I_RadioOption } from '~/components/common/select/radio/lib/models/interfaces'
13
14
  import type { 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
+ import { vmfsVersionFunc } from '~/components/common/wizards/datastore/add/steps/vmfsVersion/lib/config/versionOptions'
15
16
 
16
17
  const props = defineProps<{
17
18
  version: UI_T_VmfsType
@@ -1,21 +1,27 @@
1
1
  <template>
2
2
  <common-wizards-datastore-add-steps-ready-complete-new
3
3
  v-if="isNewView"
4
- :data-ready-view="props.dataReadyView"
4
+ :data-ready-view="dataReadyView"
5
5
  />
6
6
 
7
7
  <common-wizards-datastore-add-steps-ready-complete-old
8
8
  v-else
9
- :data-ready-view="props.dataReadyView"
9
+ :data-ready-view="dataReadyView"
10
10
  />
11
11
  </template>
12
12
 
13
13
  <script lang="ts" setup>
14
- import { UI_I_DetailsItem } from '~/components/common/details/lib/models/interfaces'
15
- import { UI_I_Localization } from '~/lib/models/interfaces'
14
+ import type { UI_I_CreateDatastoreForm } from '~/components/common/wizards/datastore/add/lib/models/interfaces'
15
+ import type { UI_I_DetailsItem } from '~/components/common/details/lib/models/interfaces'
16
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
17
+ import type { UI_T_Project } from '~/lib/models/types'
18
+ import type { UI_I_CompatibleHosts } from '~/components/common/wizards/datastore/add/steps/hostAccessibility/table/lib/models/interfaces'
19
+ import { constructDataReadyViewFunc } from '~/components/common/wizards/datastore/add/steps/readyComplete/lib/config/propertiesDetails'
16
20
 
17
21
  const props = defineProps<{
18
- dataReadyView: UI_I_DetailsItem[]
22
+ form: UI_I_CreateDatastoreForm
23
+ hosts: UI_I_CompatibleHosts
24
+ project: UI_T_Project
19
25
  }>()
20
26
 
21
27
  const localization = computed<UI_I_Localization>(() => useLocal())
@@ -23,6 +29,15 @@ const { $store }: any = useNuxtApp()
23
29
 
24
30
  const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
25
31
 
32
+ const dataReadyView = computed<UI_I_DetailsItem>(() =>
33
+ constructDataReadyViewFunc(
34
+ localization.value,
35
+ props.form,
36
+ props.project,
37
+ props.hosts
38
+ )
39
+ )
40
+
26
41
  const properties = computed<UI_I_DetailsItem[]>(() => props.dataReadyView)
27
42
  </script>
28
43
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bfg-common",
3
3
  "private": false,
4
- "version": "1.5.88",
4
+ "version": "1.5.90",
5
5
  "scripts": {
6
6
  "build": "nuxt build",
7
7
  "dev": "nuxt dev --port=3002",
@@ -1,236 +0,0 @@
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.common.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.common.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.common.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.common.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.common.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.common.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>
@@ -1,64 +0,0 @@
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: var(--z-popover);
63
- }
64
- </style>
@@ -1,46 +0,0 @@
1
- import type { UI_I_Localization } from '~/lib/models/interfaces'
2
- import type { 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.common.selectConfiguration, value: '', disabled: true },
9
- { text: localization.common.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.common.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.common.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.common.low,
39
- value: 'low',
40
- },
41
- {
42
- text: localization.common.none,
43
- value: 'none',
44
- },
45
- ]
46
- }
@@ -1,225 +0,0 @@
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.common
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>