bfg-common 1.5.248 → 1.5.249

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 (35) hide show
  1. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  2. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  3. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  4. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  5. package/assets/localization/local_be.json +1 -7
  6. package/assets/localization/local_en.json +1 -7
  7. package/assets/localization/local_hy.json +1 -7
  8. package/assets/localization/local_kk.json +1 -7
  9. package/assets/localization/local_ru.json +1 -7
  10. package/assets/localization/local_zh.json +1 -7
  11. package/assets/scss/common/theme.scss +0 -16
  12. package/components/atoms/stack/StackBlock.vue +185 -185
  13. package/components/atoms/table/info/lib/models/interfaces.ts +10 -10
  14. package/components/common/backup/storage/actions/add/New.vue +9 -4
  15. package/components/common/backup/storage/actions/add/steps/nameAndConfigure/NameAndConfigureNew.vue +18 -9
  16. package/components/common/backup/storage/actions/add/steps/typeMode/TypeModeNew.vue +12 -3
  17. package/components/common/layout/theHeader/feedback/new/additionalDetails/Headline.vue +8 -67
  18. package/components/common/layout/theHeader/feedback/new/subtitle/Subtitle.vue +8 -72
  19. package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesOld.vue +9 -1
  20. package/components/common/pages/tasks/table/Table.vue +15 -7
  21. package/components/common/pages/tasks/table/expandDetails/ExpandDetails.vue +15 -9
  22. package/components/common/tooltip/Help.vue +132 -0
  23. package/components/common/tooltip/lib/models/types.ts +1 -0
  24. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +10 -99
  25. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +52 -3
  26. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/model/ModelNew.vue +32 -151
  27. package/components/common/vm/actions/common/select/name/New.vue +10 -70
  28. package/components/common/wizards/datastore/add/New.vue +8 -3
  29. package/components/common/wizards/datastore/add/steps/nameAndConfigure/NameAndConfigureNew.vue +20 -6
  30. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceNew.vue +9 -3
  31. package/components/common/wizards/datastore/add/steps/typeMode/TypeModeNew.vue +8 -3
  32. package/package.json +1 -1
  33. package/components/common/backup/storage/actions/add/steps/common/tooltipInfo/TooltipInfo.vue +0 -94
  34. package/components/common/pages/tasks/table/errorInfo/ErrorInfo.vue +0 -128
  35. package/components/common/wizards/datastore/add/steps/common/tooltipInfo/TooltipInfo.vue +0 -93
@@ -25,55 +25,23 @@
25
25
  test-id="passthrough-host-cpu"
26
26
  @change="emits('change-passthrough-host-cpu', $event)"
27
27
  />
28
- <div id="passthrough-help-icon" class="flex-align-center relative">
29
- <ui-icon
30
- width="16"
31
- height="16"
32
- name="info"
33
- data-id="show-passthrough-help-icon"
34
- :class="[
35
- 'passthrough-help-icon cursor-pointer disabled',
36
- { active: isShowPassthroughHost },
37
- ]"
38
- @click.stop="isShowPassthroughHost = !isShowPassthroughHost"
39
- />
40
- <Teleport to="body">
41
- <ui-dropdown
42
- :show="isShowPassthroughHost"
43
- :items="[]"
44
- elem-id="passthrough-help-icon"
45
- test-id=""
46
- width="480px"
47
- left
48
- @hide="isShowPassthroughHost = false"
49
- >
50
- <template #content>
51
- <div class="help-content">
52
- <div class="headline">
53
- <ui-icon name="info-2" width="16" height="16" />
54
- <h3 class="help-title">
55
- {{ localization.mainNavigation.help }}
56
- </h3>
57
- <ui-icon
58
- name="close"
59
- width="16"
60
- height="16"
61
- class="cursor-pointer"
62
- @click="isShowPassthroughHost = false"
63
- />
64
- </div>
65
28
 
66
- <p class="help-text">
67
- Lorem ipsum dolor sit amet, consectetur adipisicing elit.
68
- A cum eius expedita, fuga mollitia perferendis quod soluta
69
- vel? Dolor, illo, nam? A consequatur, consequuntur eos
70
- impedit iusto labore sunt tempora!
71
- </p>
72
- </div>
73
- </template>
74
- </ui-dropdown>
75
- </Teleport>
76
- </div>
29
+ <common-tooltip-help
30
+ class="ml-2"
31
+ test-id="passthrough-help"
32
+ help-id="passthrough-help-icon"
33
+ :dropdown-left="true"
34
+ :is-disabled="true"
35
+ dropdown-width="480px"
36
+ >
37
+ <p class="help-text">
38
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit.
39
+ A cum eius expedita, fuga mollitia perferendis quod soluta
40
+ vel? Dolor, illo, nam? A consequatur, consequuntur eos
41
+ impedit iusto labore sunt tempora!
42
+ </p>
43
+ </common-tooltip-help>
44
+
77
45
  </div>
78
46
  <div class="host-model-cpu-wrap flex-align-center">
79
47
  <ui-checkbox
@@ -83,55 +51,22 @@
83
51
  test-id="host-model-cpu"
84
52
  @change="emits('change-host-model-cpu', $event)"
85
53
  />
86
- <div id="host-model-help-icon" class="flex-align-center relative">
87
- <ui-icon
88
- width="16"
89
- height="16"
90
- name="info"
91
- data-id="show-host-model-help-icon"
92
- :class="[
93
- 'host-model-help-icon cursor-pointer disabled',
94
- { active: isShowHostModel },
95
- ]"
96
- @click.stop="isShowHostModel = !isShowHostModel"
97
- />
98
- <Teleport to="body">
99
- <ui-dropdown
100
- :show="isShowHostModel"
101
- :items="[]"
102
- elem-id="host-model-help-icon"
103
- test-id=""
104
- width="480px"
105
- left
106
- @hide="isShowHostModel = false"
107
- >
108
- <template #content>
109
- <div class="help-content">
110
- <div class="headline">
111
- <ui-icon name="info-2" width="16" height="16" />
112
- <h3 class="help-title">
113
- {{ localization.mainNavigation.help }}
114
- </h3>
115
- <ui-icon
116
- name="close"
117
- width="16"
118
- height="16"
119
- class="cursor-pointer"
120
- @click="isShowHostModel = false"
121
- />
122
- </div>
123
54
 
124
- <p class="help-text">
125
- Lorem ipsum dolor sit amet, consectetur adipisicing elit.
126
- A cum eius expedita, fuga mollitia perferendis quod soluta
127
- vel? Dolor, illo, nam? A consequatur, consequuntur eos
128
- impedit iusto labore sunt tempora!
129
- </p>
130
- </div>
131
- </template>
132
- </ui-dropdown>
133
- </Teleport>
134
- </div>
55
+ <common-tooltip-help
56
+ test-id="host-model-help"
57
+ help-id="host-model-help-icon"
58
+ :dropdown-left="true"
59
+ :is-disabled="true"
60
+ dropdown-width="480px"
61
+ >
62
+ <p class="help-text">
63
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit.
64
+ A cum eius expedita, fuga mollitia perferendis quod soluta
65
+ vel? Dolor, illo, nam? A consequatur, consequuntur eos
66
+ impedit iusto labore sunt tempora!
67
+ </p>
68
+ </common-tooltip-help>
69
+
135
70
  </div>
136
71
  </div>
137
72
  </template>
@@ -164,22 +99,12 @@ const emits = defineEmits<{
164
99
 
165
100
  const localization = computed<UI_I_Localization>(() => useLocal())
166
101
 
167
- const isShowPassthroughHost = ref<boolean>(false)
168
- const isShowHostModel = ref<boolean>(false)
169
-
170
102
  const onChangeCpuModel = (data: UI_T_SelectedValue): void => {
171
103
  emits('change-cpu-model', { target: { value: data } })
172
104
  }
173
105
  </script>
174
106
 
175
- <style>
176
- :root {
177
- --cpu-model-help-icon-color: #4d5d69;
178
- }
179
- :root.dark-theme {
180
- --cpu-model-help-icon-color: #e9eaec;
181
- }
182
- </style>
107
+
183
108
  <style scoped lang="scss">
184
109
  .limit-title {
185
110
  margin-right: 12px;
@@ -199,48 +124,4 @@ const onChangeCpuModel = (data: UI_T_SelectedValue): void => {
199
124
  }
200
125
  }
201
126
 
202
- #passthrough-help-icon,
203
- #host-model-help-icon {
204
- margin-left: 8px;
205
- }
206
-
207
- .passthrough-help-icon,
208
- .host-model-help-icon {
209
- color: #9da6ad; // for light and dark
210
-
211
- &:hover {
212
- color: var(--cpu-model-help-icon-color);
213
- }
214
- &.active {
215
- color: #008fd6;
216
- }
217
- &.disabled {
218
- color: #bdc3c7;
219
- pointer-events: none;
220
- }
221
- }
222
- .help-content {
223
- padding: 16px;
224
-
225
- .headline {
226
- display: flex;
227
- align-items: center;
228
- gap: 8px;
229
- margin-bottom: 12px;
230
-
231
- .help-title {
232
- flex: 1;
233
- font-size: 14px;
234
- font-weight: 500;
235
- line-height: 16.94px;
236
- color: #4d5d69;
237
- }
238
- }
239
-
240
- .help-text {
241
- font-size: 13px;
242
- line-height: 15.73px;
243
- color: #4d5d69;
244
- }
245
- }
246
127
  </style>
@@ -15,51 +15,18 @@
15
15
  <div class="name-field">
16
16
  <div class="flex-1 flex-align-center">
17
17
  <label for="virtual-machine-name" class="name-label">{{
18
- localization.common.name
19
- }}</label>
20
- <ui-icon
21
- id="virtual-machine-name-icon"
22
- :class="{ active: isShowHelp }"
23
- width="16"
24
- height="16"
25
- name="info"
26
- data-id="virtual-machine-name-icon"
27
- @click.stop="isShowHelp = !isShowHelp"
18
+ localization.common.name
19
+ }}</label>
20
+
21
+ <common-tooltip-help
22
+ test-id="virtual-machine-name"
23
+ help-id="virtual-machine-name-icon"
24
+ :title="localization.vmWizard.vmNameRules"
25
+ :help-text="localization.common.vmNameValidationDescription"
26
+ :dropdown-left="true"
27
+ dropdown-width="320px"
28
28
  />
29
29
  </div>
30
- <Teleport to="body">
31
- <ui-dropdown
32
- :show="isShowHelp"
33
- :items="[]"
34
- elem-id="virtual-machine-name-icon"
35
- test-id="virtual-machine-name"
36
- width="320px"
37
- left
38
- @hide="isShowHelp = false"
39
- >
40
- <template #content>
41
- <div class="vm-name-help-content">
42
- <div class="headline">
43
- <ui-icon name="info-2" width="16" height="16" />
44
- <h3 class="vm-name-help-title">
45
- {{ localization.vmWizard.vmNameRules }}
46
- </h3>
47
- <ui-icon
48
- name="close"
49
- width="16"
50
- height="16"
51
- class="hide-icon pointer"
52
- @click="isShowHelp = false"
53
- />
54
- </div>
55
-
56
- <p class="vm-name-help-text">
57
- {{ localization.common.vmNameValidationDescription }}
58
- </p>
59
- </div>
60
- </template>
61
- </ui-dropdown>
62
- </Teleport>
63
30
 
64
31
  <div class="flex-2">
65
32
  <ui-input
@@ -244,31 +211,4 @@ const onSelectNode = (node: UI_I_TreeNode) => {
244
211
  }
245
212
  }
246
213
 
247
- .vm-name-help-content {
248
- padding: 16px;
249
-
250
- .headline {
251
- display: flex;
252
- align-items: center;
253
- gap: 8px;
254
- margin-bottom: 12px;
255
-
256
- .vm-name-help-title {
257
- flex: 1;
258
- font-size: 14px;
259
- font-weight: 500;
260
- line-height: 16.94px;
261
- color: var(--select-name-text-color);
262
- }
263
- .hide-icon {
264
- color: var(--select-name-help-hide-icon-color);
265
- }
266
- }
267
-
268
- .vm-name-help-text {
269
- font-size: 13px;
270
- line-height: 15.73px;
271
- color: var(--select-name-text-color);
272
- }
273
- }
274
214
  </style>
@@ -21,9 +21,14 @@
21
21
  <div class="subtitle-block flex-row">
22
22
  <ui-wizard-subtitle :sub-title="selectedStep.subTitle" />
23
23
 
24
- <common-wizards-datastore-add-steps-common-tooltip-info
25
- id="datastore-type-subtitle-tooltip"
26
- :description="localization.common.datastoreTypeHelpDesc"
24
+ <common-tooltip-help
25
+ test-id="datastore-type-subtitle"
26
+ help-id="datastore-type-subtitle-icon"
27
+ :help-text="localization.common.datastoreTypeHelpDesc"
28
+ :title="localization.common.information"
29
+ dropdown-width="272px"
30
+ dropdown-left
31
+ dropdown-top
27
32
  />
28
33
  </div>
29
34
  </div>
@@ -26,9 +26,15 @@
26
26
  <span class="basics-step-row-title-text">
27
27
  {{ localization.common.folder }}
28
28
  </span>
29
- <common-wizards-datastore-add-steps-common-tooltip-info
30
- :id="'option.testId'"
31
- :description="'Specify the folder path - for example, /vols/vol0/datastore-001'"
29
+
30
+ <common-tooltip-help
31
+ test-id="configuration-folder-help"
32
+ help-id="configuration-folder-help-icon"
33
+ :title="localization.common.information"
34
+ :help-text="localization.backup.specifyFolderPathExample"
35
+ dropdown-width="272px"
36
+ dropdown-left
37
+ dropdown-top
32
38
  />
33
39
  </div>
34
40
  <div class="basics-step-row-content">
@@ -51,9 +57,14 @@
51
57
  <span class="basics-step-row-title-text">
52
58
  {{ localization.common.server }}
53
59
  </span>
54
- <common-wizards-datastore-add-steps-common-tooltip-info
55
- :id="'option.testIdserver'"
56
- :description="'Specify the server address - for example, nas, nas.it.com or 192.168.0.1.'"
60
+ <common-tooltip-help
61
+ test-id="configuration-server-help"
62
+ help-id="configuration-server-help-icon"
63
+ :title="localization.common.information"
64
+ :help-text="localization.backup.specifyServerAddressExample"
65
+ dropdown-width="272px"
66
+ dropdown-left
67
+ dropdown-top
57
68
  />
58
69
  </div>
59
70
  <div class="basics-step-row-content">
@@ -75,6 +86,9 @@
75
86
  import type { UI_I_Localization } from '~/lib/models/interfaces'
76
87
  import type { UI_I_WizardStep } from '~/components/atoms/wizard/lib/models/interfaces'
77
88
  import type { UI_I_CreateDatastoreForm } from '~/components/common/wizards/datastore/add/lib/models/interfaces'
89
+ import type {
90
+ UI_I_InitialValidationFields
91
+ } from "~/components/common/wizards/vm/migrate/select/targetServer/new/lib/models/interfaces";
78
92
 
79
93
  const formModelLocal = defineModel<UI_I_CreateDatastoreForm>({ required: true })
80
94
  // const isShowAlertInfo = defineModel<boolean>('alertInfo', { required: true })
@@ -32,9 +32,15 @@
32
32
  <span class="row__title-text">
33
33
  {{ localization.common.selectHost }}
34
34
  </span>
35
- <common-wizards-datastore-add-steps-common-tooltip-info
36
- id="device-select-host-tooltip"
37
- :description="localization.common.selectHostToViewAccessible"
35
+
36
+ <common-tooltip-help
37
+ test-id="device-select-host-tooltip"
38
+ help-id="device-select-host-tooltip"
39
+ :title="localization.common.information"
40
+ :help-text="localization.common.selectHostToViewAccessible"
41
+ dropdown-width="272px"
42
+ dropdown-left
43
+ dropdown-top
38
44
  />
39
45
  </div>
40
46
  <div v-if="props.isShowSelectHost" class="row__content">
@@ -17,9 +17,14 @@
17
17
  </template>
18
18
 
19
19
  <template #tooltip>
20
- <common-wizards-datastore-add-steps-common-tooltip-info
21
- :id="option.testId"
22
- :description="option.tooltipContent"
20
+ <common-tooltip-help
21
+ :test-id="`${option.testId}-${key}`"
22
+ :help-id="`${option.testId}-${key}`"
23
+ :help-text="option.tooltipContent"
24
+ :title="localization.common.information"
25
+ dropdown-width="272px"
26
+ dropdown-left
27
+ dropdown-top
23
28
  />
24
29
  </template>
25
30
  </ui-radio>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bfg-common",
3
3
  "private": false,
4
- "version": "1.5.248",
4
+ "version": "1.5.249",
5
5
  "scripts": {
6
6
  "build": "nuxt build",
7
7
  "dev": "nuxt dev --port=3002",
@@ -1,94 +0,0 @@
1
- <template>
2
- <div class="tooltip-info">
3
- <ui-icon
4
- :id="`${props.id}-info-trigger`"
5
- name="info"
6
- width="16"
7
- height="16"
8
- :class="['tooltip-info__icon pointer', { active: isShowInfo }]"
9
- @click.stop="isShowInfo = !isShowInfo"
10
- />
11
- <ui-popup-window
12
- v-model="isShowInfo"
13
- top
14
- left
15
- width="272px"
16
- :elem-id="`${props.id}-info-trigger`"
17
- >
18
- <div class="common-widget-info">
19
- <div class="flex justify-between">
20
- <div class="flex">
21
- <ui-icon name="info-2" width="16px" height="16px" />
22
- <span class="title"> {{ localization.common.information }}</span>
23
- </div>
24
- <ui-icon
25
- name="close"
26
- class="pointer hide-icon"
27
- width="16px"
28
- height="16px"
29
- @click.stop="isShowInfo = false"
30
- />
31
- </div>
32
-
33
- <div class="common-widget-info-description">
34
- {{ props.description }}
35
- </div>
36
- </div>
37
- </ui-popup-window>
38
- </div>
39
- </template>
40
-
41
- <script lang="ts" setup>
42
- // TODO move to global
43
- import type { UI_I_Localization } from '~/lib/models/interfaces'
44
-
45
- const props = defineProps<{
46
- id: string
47
- description: string
48
- }>()
49
-
50
- const localization = computed<UI_I_Localization>(() => useLocal())
51
-
52
- const isShowInfo = ref<boolean>(false)
53
- </script>
54
-
55
- <style lang="scss" scoped>
56
- @import 'assets/scss/common/mixins.scss';
57
- .tooltip-info {
58
- @include flex($align: center);
59
- &__icon {
60
- color: var(--form-icon-color);
61
- &:hover {
62
- color: var(--close-icon);
63
- }
64
- &.active {
65
- color: var(--btn-primary-fill-bg-color);
66
- }
67
- }
68
-
69
- .common-widget-info {
70
- padding: 16px;
71
-
72
- .title {
73
- font-size: 14px;
74
- font-weight: 500;
75
- line-height: 16px;
76
- color: var(--zabbix-text-color);
77
- margin-left: 8px;
78
- }
79
-
80
- .common-widget-info-description {
81
- font-size: 13px;
82
- line-height: 15.73px;
83
- color: var(--zabbix-text-color);
84
- margin-top: 12px;
85
- white-space: pre-line;
86
- }
87
-
88
- svg {
89
- color: var(--alert-icon);
90
- min-width: 16px;
91
- }
92
- }
93
- }
94
- </style>
@@ -1,128 +0,0 @@
1
- <template>
2
- <div :class="['error-info', { 'error-info-small': props.isSmall }]">
3
- <ui-icon
4
- :id="`task-error-info-icon-${props.id}`"
5
- name="info"
6
- width="16px"
7
- height="16px"
8
- :class="[
9
- 'info-icon pointer',
10
- { show: isShowInfo, 'in-collapse-content': props.inCollapseContent },
11
- ]"
12
- @click.stop="emits('toggle-error', props.id)"
13
- />
14
- <ui-popup-window
15
- v-model="isShowInfo"
16
- top
17
- left
18
- :elem-id="`task-error-info-icon-${props.id}`"
19
- >
20
- <div class="common-widget-info">
21
- <div class="headline justify-between flex-align-center">
22
- <div class="flex-align-center">
23
- <ui-icon name="error" width="16px" height="16px" />
24
- <span class="title">{{ localization.common.failureReason }}</span>
25
- </div>
26
- <ui-icon
27
- name="close"
28
- class="pointer hide-icon"
29
- width="16px"
30
- height="16px"
31
- @click.stop="emits('toggle-error', '')"
32
- />
33
- </div>
34
-
35
- <div class="common-widget-info-description">
36
- {{ props.error }}
37
- </div>
38
- </div>
39
- </ui-popup-window>
40
- </div>
41
- </template>
42
-
43
- <script lang="ts" setup>
44
- import type { UI_I_Localization } from '~/lib/models/interfaces'
45
-
46
- const props = withDefaults(
47
- defineProps<{
48
- id: string
49
- error: string
50
- openedError: string
51
- inCollapseContent?: boolean
52
- isSmall?: boolean
53
- }>(),
54
- {
55
- inCollapseContent: false,
56
- isSmall: false,
57
- }
58
- )
59
-
60
- const localization = computed<UI_I_Localization>(() => useLocal())
61
-
62
- const emits = defineEmits<{
63
- (event: 'toggle-error', value: string): void
64
- }>()
65
-
66
- const isShowInfo = computed<boolean>({
67
- get() {
68
- return props.openedError === props.id
69
- },
70
- set() {
71
- emits('toggle-error', '')
72
- },
73
- })
74
- </script>
75
-
76
- <style lang="scss" scoped>
77
- .error-info {
78
- display: flex;
79
- justify-content: space-between;
80
- margin-left: 8px;
81
-
82
- &.error-info-small {
83
- margin-left: 6px;
84
- }
85
-
86
- .info-icon {
87
- color: var(--form-icon-color);
88
-
89
- &:hover {
90
- color: var(--close-icon);
91
- }
92
- &.show {
93
- color: var(--btn-primary-fill-bg-color);
94
- }
95
- }
96
-
97
- .common-widget-info {
98
- width: 232px;
99
- padding: 16px;
100
-
101
- .title {
102
- font-size: 14px;
103
- font-weight: 500;
104
- line-height: 16px;
105
- color: var(--zabbix-text-color);
106
- margin-left: 8px;
107
- }
108
-
109
- .hide-icon {
110
- color: var(--alert-icon);
111
- }
112
-
113
- .common-widget-info-description {
114
- font-size: 13px;
115
- line-height: 15.73px;
116
- color: var(--zabbix-text-color);
117
- margin-top: 12px;
118
- }
119
- }
120
- }
121
-
122
- :deep(.in-collapse-content) {
123
- path,
124
- circle {
125
- stroke-width: 1.4 !important;
126
- }
127
- }
128
- </style>