bfg-common 1.5.657 → 1.5.659

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 (99) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  4. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  5. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  6. package/components/atoms/TheIcon3.vue +50 -50
  7. package/components/atoms/collapse/CollapseNav.vue +170 -170
  8. package/components/atoms/perPage/PerPage.vue +58 -58
  9. package/components/atoms/table/dataGrid/DataGrid.vue +1718 -1718
  10. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  11. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  12. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  13. package/components/common/backup/storage/actions/add/lib/utils.ts +51 -51
  14. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  15. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  16. package/components/common/diagramMain/port/Port.vue +580 -580
  17. package/components/common/layout/theHeader/TheHeaderNew.vue +315 -315
  18. package/components/common/layout/theHeader/TheHeaderOld.vue +262 -262
  19. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  20. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  21. package/components/common/layout/theHeader/userMenu/modals/changePassword/ChangePassword.vue +99 -99
  22. package/components/common/layout/theHeader/userMenu/modals/changePassword/New.vue +193 -193
  23. package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesOld.vue +144 -144
  24. package/components/common/layout/theHeader/userMenu/modals/preferences/lib/models/types.ts +7 -7
  25. package/components/common/layout/theHeader/userMenu/modals/preferences/security/Old.vue +210 -210
  26. package/components/common/layout/theHeader/userMenu/modals/preferences/security/Security.vue +31 -31
  27. package/components/common/pages/backups/DetailView.vue +52 -52
  28. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  29. package/components/common/pages/backups/modals/Modals.vue +243 -243
  30. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  31. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +69 -69
  32. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  33. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  34. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  35. package/components/common/pages/hardwareHealth/toolsPanel/lib/config/actionsPanel.ts +34 -34
  36. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  37. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  38. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  39. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  40. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  41. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  42. package/components/common/qrcode/Qrcode.vue +56 -56
  43. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  44. package/components/common/select/radio/RadioGroup.vue +137 -137
  45. package/components/common/spiceConsole/Drawer.vue +420 -420
  46. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  47. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  48. package/components/common/tools/Actions.vue +207 -207
  49. package/components/common/treeView/TreeView.vue +52 -52
  50. package/components/common/vm/actions/clone/lib/config/steps.ts +295 -295
  51. package/components/common/vm/actions/clone/new/New.vue +438 -438
  52. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  53. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +283 -283
  54. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +156 -156
  55. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  56. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  57. package/components/common/vm/actions/common/select/options/New.vue +264 -264
  58. package/components/common/vm/actions/common/select/options/Old.vue +110 -110
  59. package/components/common/vm/actions/common/select/options/Options.vue +58 -58
  60. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  61. package/components/common/vm/actions/common/select/storage/new/New.vue +311 -311
  62. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  63. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  64. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  65. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  66. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  67. package/components/common/wizards/common/compatibility/New.vue +99 -99
  68. package/components/common/wizards/common/compatibility/Old.vue +53 -53
  69. package/components/common/wizards/common/steps/computeResource/New.vue +93 -93
  70. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  71. package/components/common/wizards/common/steps/name/New.vue +221 -221
  72. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  73. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  74. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  75. package/components/common/wizards/datastore/add/Add.vue +228 -228
  76. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  77. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  78. package/composables/useAppVersion.ts +21 -21
  79. package/composables/useLocal.ts +6 -6
  80. package/composables/useLocalCommon.ts +39 -39
  81. package/package.json +1 -1
  82. package/plugins/console.ts +21 -21
  83. package/plugins/mouse.ts +21 -21
  84. package/plugins/panelStates.ts +70 -70
  85. package/plugins/text.ts +59 -59
  86. package/public/spice-console/application/clientgui.js +854 -854
  87. package/public/spice-console/application/packetfactory.js +211 -211
  88. package/public/spice-console/application/virtualmouse.js +147 -147
  89. package/public/spice-console/lib/images/bitmap.js +203 -203
  90. package/public/spice-console/network/spicechannel.js +440 -440
  91. package/public/spice-console/process/cursorprocess.js +128 -128
  92. package/public/spice-console/process/inputprocess.js +227 -227
  93. package/public/spice-console/process/mainprocess.js +212 -212
  94. package/public/spice-console/run.js +210 -210
  95. package/store/main/mutations.ts +7 -7
  96. package/store/main/state.ts +7 -7
  97. package/store/tasks/actions.ts +165 -165
  98. package/store/tasks/mappers/recentTasks.ts +123 -123
  99. package/store/tasks/mutations.ts +82 -82
@@ -1,262 +1,262 @@
1
- <template>
2
- <div class="main-nav">
3
- <header class="header header-7">
4
- <div class="header-nav">
5
- <div class="nav-link">
6
- <button
7
- id="inventory-menu-trigger"
8
- data-id="inventory-menu-toggle-button"
9
- class="inventory-menu-trigger"
10
- @click="emits('toggle-main-menu')"
11
- >
12
- <span class="inventory-menu-link">
13
- <span class="nav-icon">
14
- <atoms-the-icon class="menu-icon" name="menu" />
15
- </span>
16
- </span>
17
- </button>
18
- </div>
19
- </div>
20
- <div class="branding">
21
- <nuxt-link
22
- id="header-shortcuts-link"
23
- data-id="header-shortcuts-link"
24
- to="/shortcuts"
25
- >
26
- <span class="title pointer"
27
- >{{ props.companyName }}<sup><b>®</b></sup>
28
- {{ props.projectName }}</span
29
- >
30
- </nuxt-link>
31
- </div>
32
- <form>
33
- <atoms-input-search />
34
- </form>
35
-
36
- <div class="settings header-actions">
37
- <div class="divider" />
38
- <a
39
- id="global-refresh-button"
40
- data-id="global-refresh-button"
41
- class="nav-link tid-global-refresh-button"
42
- @click="emits('global-refresh')"
43
- >
44
- <span class="nav-icon">
45
- <atoms-the-icon
46
- v-show="!props.globalRefreshLoading"
47
- class="reset-icon"
48
- name="reset"
49
- />
50
- <span
51
- :class="[
52
- 'spinner spinner-inline spinner-inverse global-refresh-active',
53
- { 'spinner-paused': !props.globalRefreshLoading },
54
- ]"
55
- ></span>
56
- </span>
57
- </a>
58
- <div class="divider" />
59
-
60
- <common-layout-the-header-user-menu
61
- v-model:security="security"
62
- :hostname="props.hostname"
63
- :is-preference="props.isPreference"
64
- :time-format="props.timeFormat"
65
- :selected-language-type="props.selectedLanguageType"
66
- :selected-language="props.selectedLang.value"
67
- :new-view="props.newView"
68
- :new-view-local="props.newViewLocal"
69
- :project="props.project"
70
- :remote-console="props.remoteConsole"
71
- :vm-cluster="props.vmCluster"
72
- :security-loader="props.securityLoader"
73
- :recovery="props.recovery"
74
- @show-preference="emits('show-preference')"
75
- @hide-preference="emits('hide-preference')"
76
- @change-theme-mode="emits('change-theme-mode')"
77
- @update-time-format="emits('update-time-format', $event)"
78
- @update-language="onUpdateLanguage"
79
- @update-is-browser="emits('update-is-browser', $event)"
80
- @update-is-new-view="emits('update-is-new-view', $event)"
81
- @update-remote-console="emits('update-remote-console', $event)"
82
- @update-vm-clusters="emits('update-vm-clusters', $event)"
83
- @security-confirm="emits('security-confirm', $event)"
84
- @submit-preferences="emits('submit-preferences')"
85
- />
86
-
87
- <div class="divider" />
88
-
89
- <common-layout-the-header-feedback
90
- :is-show-feedback="isShowFeedback"
91
- @show="isShowFeedback = true"
92
- @hide="isShowFeedback = false"
93
- />
94
-
95
- <div class="divider" />
96
-
97
- <common-layout-the-header-help-menu :project-name="props.projectName" />
98
-
99
- <div class="divider" />
100
- </div>
101
- </header>
102
- </div>
103
- </template>
104
-
105
- <script setup lang="ts">
106
- import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
107
- import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
108
- import type { UI_T_Project } from '~/lib/models/types'
109
- import type {
110
- UI_I_Recovery
111
- } from "~/components/common/layout/theHeader/userMenu/modals/preferences/security/lib/models/interfaces";
112
- import { findInLocals } from '~/components/common/selectLanguage/lib/utils/utils'
113
-
114
- const security = defineModel<boolean>('security')
115
-
116
- const props = defineProps<{
117
- companyName: string
118
- betaText: string
119
- globalRefreshLoading: boolean
120
- project: UI_T_Project
121
- projectName: string
122
- hostname: string
123
- isPreference: boolean
124
- selectedLanguageType: string
125
- selectedLang: UI_I_Dropdown
126
- remoteConsole: string
127
- vmCluster: boolean
128
- newView: boolean
129
- newViewLocal: boolean
130
- timeFormat: string
131
- securityLoader: boolean // для Сферы
132
- recovery: UI_I_Recovery | null // для Сферы
133
- }>()
134
-
135
- const emits = defineEmits<{
136
- (event: 'toggle-main-menu'): void
137
- (event: 'global-refresh'): void
138
- (event: 'show-preference'): void
139
- (event: 'hide-preference'): void
140
- (event: 'change-theme-mode'): void
141
- (event: 'update-time-format', value: UI_T_TimeValue): void
142
- (event: 'update-language', value: UI_I_Dropdown): void
143
- (event: 'update-is-browser', value: string): void
144
- (event: 'update-is-new-view', value: boolean): void
145
- (event: 'update-remote-console', value: string): void
146
- (event: 'update-vm-clusters', value: boolean): void
147
- (event: 'security-confirm', value: boolean): void
148
- (event: 'submit-preferences'): void
149
- }>()
150
-
151
- const onUpdateLanguage = (language: string): void => {
152
- const languageObj = findInLocals(language)
153
- emits('update-language', languageObj)
154
- }
155
-
156
- const isShowFeedback = ref<boolean>(false)
157
- </script>
158
-
159
- <style scoped lang="scss">
160
- .main-nav {
161
- position: relative;
162
- left: 0;
163
-
164
- header {
165
- height: 62px;
166
- align-items: center;
167
- padding-left: 0;
168
-
169
- .nav-link::before,
170
- .nav-link::after {
171
- display: none !important;
172
- }
173
-
174
- .inventory-menu-trigger {
175
- padding: 0 0 0 60px;
176
- background: transparent;
177
- border: none;
178
- cursor: pointer;
179
- position: relative;
180
- outline: none;
181
-
182
- .nav-icon {
183
- padding: 0;
184
- width: auto;
185
- font-size: inherit;
186
- display: flex;
187
- align-items: center;
188
- background: transparent;
189
- border: none;
190
-
191
- .menu-icon {
192
- position: absolute;
193
- top: 50%;
194
- left: 50%;
195
- transform: translate(-50%, -50%);
196
- height: 24px;
197
- width: 24px;
198
- fill: #fafafa;
199
- display: inline-block;
200
- margin: 0;
201
- vertical-align: middle;
202
- }
203
- }
204
- }
205
-
206
- .branding {
207
- width: auto;
208
- min-width: auto;
209
- padding-left: 9px;
210
- padding-right: 20px;
211
-
212
- a {
213
- position: relative;
214
- padding-right: 4px;
215
- }
216
- }
217
-
218
- .settings {
219
- align-items: center;
220
-
221
- a.nav-link {
222
- display: flex;
223
- padding: 0;
224
- cursor: pointer;
225
-
226
- .reset-icon {
227
- width: 24px;
228
- height: 24px;
229
- position: absolute;
230
- top: 50%;
231
- left: 50%;
232
- transform: translate(-50%, -50%);
233
- fill: #fafafa;
234
- }
235
-
236
- .spinner {
237
- line-height: 24px;
238
- vertical-align: middle;
239
- height: 24px;
240
- width: 24px;
241
- min-height: 24px;
242
- min-width: 24px;
243
- z-index: var(--z-fixed);
244
-
245
- &.spinner-paused {
246
- animation-play-state: paused;
247
- display: none;
248
- }
249
- }
250
- }
251
- .divider {
252
- height: 40px;
253
- display: flex;
254
- flex: 0 0 auto;
255
- width: 1px;
256
- background: #fafafa;
257
- opacity: 0.15;
258
- }
259
- }
260
- }
261
- }
262
- </style>
1
+ <template>
2
+ <div class="main-nav">
3
+ <header class="header header-7">
4
+ <div class="header-nav">
5
+ <div class="nav-link">
6
+ <button
7
+ id="inventory-menu-trigger"
8
+ data-id="inventory-menu-toggle-button"
9
+ class="inventory-menu-trigger"
10
+ @click="emits('toggle-main-menu')"
11
+ >
12
+ <span class="inventory-menu-link">
13
+ <span class="nav-icon">
14
+ <atoms-the-icon class="menu-icon" name="menu" />
15
+ </span>
16
+ </span>
17
+ </button>
18
+ </div>
19
+ </div>
20
+ <div class="branding">
21
+ <nuxt-link
22
+ id="header-shortcuts-link"
23
+ data-id="header-shortcuts-link"
24
+ to="/shortcuts"
25
+ >
26
+ <span class="title pointer"
27
+ >{{ props.companyName }}<sup><b>®</b></sup>
28
+ {{ props.projectName }}</span
29
+ >
30
+ </nuxt-link>
31
+ </div>
32
+ <form>
33
+ <atoms-input-search />
34
+ </form>
35
+
36
+ <div class="settings header-actions">
37
+ <div class="divider" />
38
+ <a
39
+ id="global-refresh-button"
40
+ data-id="global-refresh-button"
41
+ class="nav-link tid-global-refresh-button"
42
+ @click="emits('global-refresh')"
43
+ >
44
+ <span class="nav-icon">
45
+ <atoms-the-icon
46
+ v-show="!props.globalRefreshLoading"
47
+ class="reset-icon"
48
+ name="reset"
49
+ />
50
+ <span
51
+ :class="[
52
+ 'spinner spinner-inline spinner-inverse global-refresh-active',
53
+ { 'spinner-paused': !props.globalRefreshLoading },
54
+ ]"
55
+ ></span>
56
+ </span>
57
+ </a>
58
+ <div class="divider" />
59
+
60
+ <common-layout-the-header-user-menu
61
+ v-model:security="security"
62
+ :hostname="props.hostname"
63
+ :is-preference="props.isPreference"
64
+ :time-format="props.timeFormat"
65
+ :selected-language-type="props.selectedLanguageType"
66
+ :selected-language="props.selectedLang.value"
67
+ :new-view="props.newView"
68
+ :new-view-local="props.newViewLocal"
69
+ :project="props.project"
70
+ :remote-console="props.remoteConsole"
71
+ :vm-cluster="props.vmCluster"
72
+ :security-loader="props.securityLoader"
73
+ :recovery="props.recovery"
74
+ @show-preference="emits('show-preference')"
75
+ @hide-preference="emits('hide-preference')"
76
+ @change-theme-mode="emits('change-theme-mode')"
77
+ @update-time-format="emits('update-time-format', $event)"
78
+ @update-language="onUpdateLanguage"
79
+ @update-is-browser="emits('update-is-browser', $event)"
80
+ @update-is-new-view="emits('update-is-new-view', $event)"
81
+ @update-remote-console="emits('update-remote-console', $event)"
82
+ @update-vm-clusters="emits('update-vm-clusters', $event)"
83
+ @security-confirm="emits('security-confirm', $event)"
84
+ @submit-preferences="emits('submit-preferences')"
85
+ />
86
+
87
+ <div class="divider" />
88
+
89
+ <common-layout-the-header-feedback
90
+ :is-show-feedback="isShowFeedback"
91
+ @show="isShowFeedback = true"
92
+ @hide="isShowFeedback = false"
93
+ />
94
+
95
+ <div class="divider" />
96
+
97
+ <common-layout-the-header-help-menu :project-name="props.projectName" />
98
+
99
+ <div class="divider" />
100
+ </div>
101
+ </header>
102
+ </div>
103
+ </template>
104
+
105
+ <script setup lang="ts">
106
+ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
107
+ import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
108
+ import type { UI_T_Project } from '~/lib/models/types'
109
+ import type {
110
+ UI_I_Recovery
111
+ } from "~/components/common/layout/theHeader/userMenu/modals/preferences/security/lib/models/interfaces";
112
+ import { findInLocals } from '~/components/common/selectLanguage/lib/utils/utils'
113
+
114
+ const security = defineModel<boolean>('security')
115
+
116
+ const props = defineProps<{
117
+ companyName: string
118
+ betaText: string
119
+ globalRefreshLoading: boolean
120
+ project: UI_T_Project
121
+ projectName: string
122
+ hostname: string
123
+ isPreference: boolean
124
+ selectedLanguageType: string
125
+ selectedLang: UI_I_Dropdown
126
+ remoteConsole: string
127
+ vmCluster: boolean
128
+ newView: boolean
129
+ newViewLocal: boolean
130
+ timeFormat: string
131
+ securityLoader: boolean // для Сферы
132
+ recovery: UI_I_Recovery | null // для Сферы
133
+ }>()
134
+
135
+ const emits = defineEmits<{
136
+ (event: 'toggle-main-menu'): void
137
+ (event: 'global-refresh'): void
138
+ (event: 'show-preference'): void
139
+ (event: 'hide-preference'): void
140
+ (event: 'change-theme-mode'): void
141
+ (event: 'update-time-format', value: UI_T_TimeValue): void
142
+ (event: 'update-language', value: UI_I_Dropdown): void
143
+ (event: 'update-is-browser', value: string): void
144
+ (event: 'update-is-new-view', value: boolean): void
145
+ (event: 'update-remote-console', value: string): void
146
+ (event: 'update-vm-clusters', value: boolean): void
147
+ (event: 'security-confirm', value: boolean): void
148
+ (event: 'submit-preferences'): void
149
+ }>()
150
+
151
+ const onUpdateLanguage = (language: string): void => {
152
+ const languageObj = findInLocals(language)
153
+ emits('update-language', languageObj)
154
+ }
155
+
156
+ const isShowFeedback = ref<boolean>(false)
157
+ </script>
158
+
159
+ <style scoped lang="scss">
160
+ .main-nav {
161
+ position: relative;
162
+ left: 0;
163
+
164
+ header {
165
+ height: 62px;
166
+ align-items: center;
167
+ padding-left: 0;
168
+
169
+ .nav-link::before,
170
+ .nav-link::after {
171
+ display: none !important;
172
+ }
173
+
174
+ .inventory-menu-trigger {
175
+ padding: 0 0 0 60px;
176
+ background: transparent;
177
+ border: none;
178
+ cursor: pointer;
179
+ position: relative;
180
+ outline: none;
181
+
182
+ .nav-icon {
183
+ padding: 0;
184
+ width: auto;
185
+ font-size: inherit;
186
+ display: flex;
187
+ align-items: center;
188
+ background: transparent;
189
+ border: none;
190
+
191
+ .menu-icon {
192
+ position: absolute;
193
+ top: 50%;
194
+ left: 50%;
195
+ transform: translate(-50%, -50%);
196
+ height: 24px;
197
+ width: 24px;
198
+ fill: #fafafa;
199
+ display: inline-block;
200
+ margin: 0;
201
+ vertical-align: middle;
202
+ }
203
+ }
204
+ }
205
+
206
+ .branding {
207
+ width: auto;
208
+ min-width: auto;
209
+ padding-left: 9px;
210
+ padding-right: 20px;
211
+
212
+ a {
213
+ position: relative;
214
+ padding-right: 4px;
215
+ }
216
+ }
217
+
218
+ .settings {
219
+ align-items: center;
220
+
221
+ a.nav-link {
222
+ display: flex;
223
+ padding: 0;
224
+ cursor: pointer;
225
+
226
+ .reset-icon {
227
+ width: 24px;
228
+ height: 24px;
229
+ position: absolute;
230
+ top: 50%;
231
+ left: 50%;
232
+ transform: translate(-50%, -50%);
233
+ fill: #fafafa;
234
+ }
235
+
236
+ .spinner {
237
+ line-height: 24px;
238
+ vertical-align: middle;
239
+ height: 24px;
240
+ width: 24px;
241
+ min-height: 24px;
242
+ min-width: 24px;
243
+ z-index: var(--z-fixed);
244
+
245
+ &.spinner-paused {
246
+ animation-play-state: paused;
247
+ display: none;
248
+ }
249
+ }
250
+ }
251
+ .divider {
252
+ height: 40px;
253
+ display: flex;
254
+ flex: 0 0 auto;
255
+ width: 1px;
256
+ background: #fafafa;
257
+ opacity: 0.15;
258
+ }
259
+ }
260
+ }
261
+ }
262
+ </style>