bfg-common 1.2.178 → 1.2.179

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 (71) hide show
  1. package/assets/localization/local_be.json +3 -1
  2. package/assets/localization/local_en.json +3 -1
  3. package/assets/localization/local_hy.json +3 -1
  4. package/assets/localization/local_kk.json +3 -1
  5. package/assets/localization/local_ru.json +3 -1
  6. package/assets/localization/local_zh.json +3 -1
  7. package/assets/scss/common/icons/icons-2.scss +222 -222
  8. package/components/atoms/switch/Switch.vue +107 -107
  9. package/components/atoms/table/dataGrid/DataGrid.vue +1489 -1490
  10. package/components/common/BadBrowser.vue +114 -114
  11. package/components/common/adapterManager/AddAdapterWarningModal.vue +82 -82
  12. package/components/common/adapterManager/NoActiveAdaptersModal.vue +62 -62
  13. package/components/common/adapterManager/NoConnectedActiveAdaptersModal.vue +62 -62
  14. package/components/common/browse/blocks/Title.vue +66 -66
  15. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +339 -339
  16. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +202 -202
  17. package/components/common/diagramMain/modals/remove/RemoveModal.vue +226 -226
  18. package/components/common/feedback/Feedback.vue +261 -261
  19. package/components/common/feedback/VisitPortal.vue +53 -53
  20. package/components/common/help/navbar/left/utils/constructAccordion.ts +27 -27
  21. package/components/common/recursionTree/RecursionTree.vue +201 -201
  22. package/components/common/tools/Actions.vue +167 -164
  23. package/components/common/vm/actions/clone/Clone.vue +545 -545
  24. package/components/common/vm/actions/clone/select/options/Options.vue +65 -65
  25. package/components/common/vm/actions/clone/utils.ts +43 -43
  26. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CoresPerSocket.vue +109 -109
  27. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +394 -394
  28. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +234 -234
  29. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/config/options.ts +28 -28
  30. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +316 -316
  31. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/config/memoryOptions.ts +35 -35
  32. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +447 -447
  33. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +77 -77
  34. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/Reservation.vue +235 -235
  35. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +177 -177
  36. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +197 -197
  37. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +181 -181
  38. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/CopyPaste.vue +51 -51
  39. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +253 -253
  40. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +55 -55
  41. package/components/common/vm/actions/common/select/storage/config/config.ts +154 -154
  42. package/components/common/vm/utils/powerActions.ts +55 -55
  43. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +54 -54
  44. package/components/common/wizards/vm/migrate/Migrate.vue +13 -2
  45. package/components/common/wizards/vm/migrate/config/constructDataReady.ts +1 -2
  46. package/components/common/wizards/vm/migrate/models/interfaces.ts +4 -0
  47. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +45 -8
  48. package/components/common/wizards/vm/migrate/select/computeResource/models/enums.ts +6 -0
  49. package/components/common/wizards/vm/migrate/select/computeResource/models/interfaces.ts +30 -0
  50. package/components/common/wizards/vm/migrate/select/computeResource/models/types.ts +12 -0
  51. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +78 -26
  52. package/components/common/wizards/vm/migrate/select/computeResource/tableView/config/hostTable.ts +16 -33
  53. package/components/common/wizards/vm/migrate/select/computeResource/tableView/models/interfaces.ts +29 -0
  54. package/components/common/wizards/vm/migrate/select/priority/config/typeOptions.ts +2 -2
  55. package/components/common/wizards/vm/migrate/select/priority/models/types.ts +1 -1
  56. package/components/common/wizards/vm/migrate/select/storage/Storage.vue +27 -17
  57. package/components/layout/theHeader/utils/localization.ts +32 -32
  58. package/composables/useLocal.ts +38 -38
  59. package/minify.js +146 -146
  60. package/models/composables/useMyFetch/interfaces.ts +25 -25
  61. package/models/interfaces.ts +49 -49
  62. package/models/store/interfaces.ts +37 -37
  63. package/models/store/storage/interfaces.ts +32 -32
  64. package/models/store/types.ts +43 -43
  65. package/modules/fixContentBuild/utils/methods.ts +114 -114
  66. package/package.json +1 -1
  67. package/public/spice-console/application/codec.js +257 -257
  68. package/public/spice-console/lib/rasterEngine.js +907 -907
  69. package/public/spice-console/network/spicechannel.js +369 -369
  70. package/utils/contentBuild.ts +34 -34
  71. package/utils/sendTask.ts +77 -77
@@ -1,164 +1,167 @@
1
- <template>
2
- <div
3
- :id="id"
4
- class="btn-group"
5
- :style="{ 'padding-right': rightSpace + 'px' }"
6
- >
7
- <div v-for="(button, key) in props.actions" :key="button.type">
8
- <label v-if="button.uploaded">
9
- <span :class="[`btn btn-link ${props.size}`]">
10
- {{ button.text }}
11
- </span>
12
- <input
13
- :id="`select-file-button-${key}`"
14
- type="file"
15
- :disabled="button.disabled"
16
- :multiple="false"
17
- class="btn-group__file"
18
- @change="(event) => onSelectFiles(event, button.type)"
19
- />
20
- </label>
21
-
22
- <button
23
- v-else
24
- :id="`actions-button-${key}`"
25
- :class="[`btn btn-link ${props.size}`]"
26
- :disabled="button.disabled"
27
- @click="onClickButton(button.type)"
28
- >
29
- {{ button.text }}
30
- </button>
31
- </div>
32
- <atoms-collapse-nav
33
- v-show="collapsedItems.length"
34
- :test-id="`${props.testId}-item`"
35
- :items="collapsedItems"
36
- close-after-click
37
- @change="onClickButton"
38
- @select-file="onSelectFiles"
39
- />
40
- </div>
41
- </template>
42
-
43
- <script lang="ts" setup>
44
- import type { UI_I_Button } from '~/components/common/tools/models/interfaces'
45
- import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/models/interfaces'
46
-
47
- const props = withDefaults(
48
- defineProps<{
49
- actions: UI_I_Button[]
50
- testId: string
51
- size?: 'btn-sm' | ''
52
- }>(),
53
- {
54
- size: 'btn-sm',
55
- }
56
- )
57
- const emits = defineEmits<{
58
- (event: 'click', value1: string, value2?: Event | null): void
59
- }>()
60
-
61
- const onClickButton = (type: string): void => {
62
- emits('click', type)
63
- }
64
-
65
- const onSelectFiles = (event: Event, type: string): void => {
66
- emits('click', type, event)
67
- }
68
-
69
- const visibleCount = ref<number>(props.actions.length)
70
- const collapsedItems = computed<UI_I_CollapseNavItem[]>(() => {
71
- return props.actions
72
- .filter((_, index) => {
73
- return index >= visibleCount.value
74
- })
75
- .map((item) => {
76
- return {
77
- text: item.text,
78
- value: item.type,
79
- disabled: item.disabled,
80
- uploaded: item.uploaded,
81
- }
82
- })
83
- })
84
-
85
- const rightSpace = ref<number>(0)
86
- watch(
87
- collapsedItems,
88
- (newValue) => {
89
- let space = 0
90
- const element: any = document.getElementById(id.value)
91
- if (!element || !newValue.length) space = 0
92
- else if (element.lastChild?.className?.includes('tabs-overflow')) {
93
- space =
94
- element.getBoundingClientRect().right -
95
- element.lastChild.getBoundingClientRect().left
96
- }
97
-
98
- rightSpace.value = space
99
- },
100
- { deep: true }
101
- )
102
-
103
- const outputSize = (): void => {
104
- const el = document.getElementById(id.value)
105
- if (!el) return
106
-
107
- const elWidth = el.clientWidth
108
- const elItems = el.children
109
- const elItemsMarginLeft = parseInt(getComputedStyle(elItems[0]).marginLeft)
110
- const elItemsMarginRight = parseInt(getComputedStyle(elItems[0]).marginRight)
111
- const childrenMarginY = elItemsMarginLeft + elItemsMarginRight
112
-
113
- let childrenWidth = 0
114
- let count = 0
115
- for (let i = 0; i < elItems.length; i++) {
116
- childrenWidth += elItems[i].clientWidth + childrenMarginY
117
- const isWrap = elWidth - rightSpace.value < childrenWidth
118
-
119
- if (isWrap) break
120
- count++
121
- }
122
-
123
- visibleCount.value = count
124
- }
125
-
126
- const setResizeObserve = (): void => {
127
- const el = document.getElementById(id.value)
128
-
129
- if (!el) {
130
- setTimeout(setResizeObserve, 0)
131
- return
132
- }
133
-
134
- new ResizeObserver(outputSize).observe(el)
135
- }
136
- const id = ref<string>('')
137
- onMounted(() => {
138
- id.value = `tool-actions-${useUniqueId()}`
139
- setResizeObserve()
140
- })
141
- </script>
142
-
143
- <style lang="scss" scoped>
144
- .btn {
145
- &:disabled {
146
- color: var(--btn-link-disabled);
147
- }
148
- &-group {
149
- margin-top: 10px;
150
- box-shadow: none;
151
- position: relative;
152
- overflow: hidden;
153
- display: flex;
154
- flex-wrap: wrap;
155
- min-height: 25px;
156
- height: 25px;
157
- box-sizing: content-box;
158
-
159
- &__file {
160
- display: none;
161
- }
162
- }
163
- }
164
- </style>
1
+ <template>
2
+ <div
3
+ :id="id"
4
+ class="btn-group"
5
+ :style="{ 'padding-right': rightSpace + 'px' }"
6
+ >
7
+ <div v-for="(button, key) in props.actions" :key="button.type">
8
+ <label v-if="button.uploaded">
9
+ <span :class="[`btn btn-link ${props.size}`]">
10
+ <slot name="icon" :data="button" />
11
+ {{ button.text }}
12
+ </span>
13
+ <input
14
+ :id="`select-file-button-${key}`"
15
+ type="file"
16
+ :disabled="button.disabled"
17
+ :multiple="false"
18
+ class="btn-group__file"
19
+ @change="(event) => onSelectFiles(event, button.type)"
20
+ />
21
+ </label>
22
+
23
+ <button
24
+ v-else
25
+ :id="`actions-button-${key}`"
26
+ :class="[`btn btn-link ${props.size}`]"
27
+ :disabled="button.disabled"
28
+ @click="onClickButton(button.type)"
29
+ >
30
+ <slot name="icon" :data="button" />
31
+ {{ button.text }}
32
+ </button>
33
+ </div>
34
+ <atoms-collapse-nav
35
+ v-show="collapsedItems.length"
36
+ :test-id="`${props.testId}-item`"
37
+ :items="collapsedItems"
38
+ close-after-click
39
+ @change="onClickButton"
40
+ @select-file="onSelectFiles"
41
+ />
42
+ </div>
43
+ </template>
44
+
45
+ <script lang="ts" setup>
46
+ import type { UI_I_Button } from '~/components/common/tools/models/interfaces'
47
+ import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/models/interfaces'
48
+
49
+ const props = withDefaults(
50
+ defineProps<{
51
+ actions: UI_I_Button[]
52
+ testId: string
53
+ size?: 'btn-sm' | ''
54
+ }>(),
55
+ {
56
+ size: 'btn-sm',
57
+ }
58
+ )
59
+ const emits = defineEmits<{
60
+ (event: 'click', value1: string, value2?: Event | null): void
61
+ }>()
62
+
63
+ const onClickButton = (type: string): void => {
64
+ emits('click', type)
65
+ }
66
+
67
+ const onSelectFiles = (event: Event, type: string): void => {
68
+ emits('click', type, event)
69
+ }
70
+
71
+ const visibleCount = ref<number>(props.actions.length)
72
+ const collapsedItems = computed<UI_I_CollapseNavItem[]>(() => {
73
+ return props.actions
74
+ .filter((_, index) => {
75
+ return index >= visibleCount.value
76
+ })
77
+ .map((item) => {
78
+ return {
79
+ text: item.text,
80
+ value: item.type,
81
+ disabled: item.disabled,
82
+ uploaded: item.uploaded,
83
+ }
84
+ })
85
+ })
86
+
87
+ const rightSpace = ref<number>(0)
88
+ watch(
89
+ collapsedItems,
90
+ (newValue) => {
91
+ let space = 0
92
+ const element: any = document.getElementById(id.value)
93
+ if (!element || !newValue.length) space = 0
94
+ else if (element.lastChild?.className?.includes('tabs-overflow')) {
95
+ space =
96
+ element.getBoundingClientRect().right -
97
+ element.lastChild.getBoundingClientRect().left
98
+ }
99
+
100
+ rightSpace.value = space
101
+ },
102
+ { deep: true }
103
+ )
104
+
105
+ const outputSize = (): void => {
106
+ const el = document.getElementById(id.value)
107
+ if (!el) return
108
+
109
+ const elWidth = el.clientWidth
110
+ const elItems = el.children
111
+ const elItemsMarginLeft = parseInt(getComputedStyle(elItems[0]).marginLeft)
112
+ const elItemsMarginRight = parseInt(getComputedStyle(elItems[0]).marginRight)
113
+ const childrenMarginY = elItemsMarginLeft + elItemsMarginRight
114
+
115
+ let childrenWidth = 0
116
+ let count = 0
117
+ for (let i = 0; i < elItems.length; i++) {
118
+ childrenWidth += elItems[i].clientWidth + childrenMarginY
119
+ const isWrap = elWidth - rightSpace.value < childrenWidth
120
+
121
+ if (isWrap) break
122
+ count++
123
+ }
124
+
125
+ visibleCount.value = count
126
+ }
127
+
128
+ const setResizeObserve = (): void => {
129
+ const el = document.getElementById(id.value)
130
+
131
+ if (!el) {
132
+ setTimeout(setResizeObserve, 0)
133
+ return
134
+ }
135
+
136
+ new ResizeObserver(outputSize).observe(el)
137
+ }
138
+ const id = ref<string>('')
139
+ onMounted(() => {
140
+ id.value = `tool-actions-${useUniqueId()}`
141
+ setResizeObserve()
142
+ })
143
+
144
+ </script>
145
+
146
+ <style lang="scss" scoped>
147
+ .btn {
148
+ &:disabled {
149
+ color: var(--btn-link-disabled);
150
+ }
151
+ &-group {
152
+ margin-top: 10px;
153
+ box-shadow: none;
154
+ position: relative;
155
+ overflow: hidden;
156
+ display: flex;
157
+ flex-wrap: wrap;
158
+ min-height: 25px;
159
+ height: 25px;
160
+ box-sizing: content-box;
161
+
162
+ &__file {
163
+ display: none;
164
+ }
165
+ }
166
+ }
167
+ </style>