bfg-common 1.5.709 → 1.5.710

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 (104) 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/assets/localization/local_be.json +2 -1
  7. package/assets/localization/local_en.json +2 -1
  8. package/assets/localization/local_hy.json +2 -1
  9. package/assets/localization/local_kk.json +2 -1
  10. package/assets/localization/local_ru.json +2 -1
  11. package/assets/localization/local_zh.json +2 -1
  12. package/components/atoms/TheIcon3.vue +50 -50
  13. package/components/atoms/collapse/CollapseNav.vue +170 -170
  14. package/components/atoms/perPage/PerPage.vue +58 -58
  15. package/components/atoms/table/dataGrid/DataGrid.vue +1718 -1718
  16. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  17. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  18. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  19. package/components/common/backup/storage/actions/add/lib/utils.ts +51 -51
  20. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  21. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  22. package/components/common/diagramMain/port/Port.vue +580 -580
  23. package/components/common/layout/theHeader/TheHeader.vue +191 -186
  24. package/components/common/layout/theHeader/TheHeaderNew.vue +7 -3
  25. package/components/common/layout/theHeader/TheHeaderOld.vue +7 -3
  26. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  27. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  28. package/components/common/layout/theHeader/userMenu/UserMenu.vue +113 -109
  29. package/components/common/layout/theHeader/userMenu/modals/preferences/Preferences.vue +86 -81
  30. package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesNew.vue +115 -113
  31. package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesOld.vue +4 -2
  32. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguage.vue +108 -114
  33. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/New.vue +88 -65
  34. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/Old.vue +89 -66
  35. package/components/common/layout/theHeader/userMenu/modals/preferences/lib/models/types.ts +7 -7
  36. package/components/common/layout/theHeader/userMenu/modals/preferences/view/View.vue +46 -33
  37. package/components/common/pages/backups/DetailView.vue +52 -52
  38. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  39. package/components/common/pages/backups/modals/Modals.vue +243 -243
  40. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  41. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +69 -69
  42. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  43. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  44. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  45. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  46. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  47. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  48. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  49. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  50. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  51. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  52. package/components/common/select/radio/RadioGroup.vue +137 -137
  53. package/components/common/selectLanguage/SelectLanguage.vue +200 -200
  54. package/components/common/spiceConsole/Drawer.vue +420 -420
  55. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  56. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  57. package/components/common/tools/Actions.vue +207 -207
  58. package/components/common/treeView/TreeView.vue +52 -52
  59. package/components/common/vm/actions/clone/lib/config/steps.ts +295 -295
  60. package/components/common/vm/actions/clone/new/New.vue +438 -438
  61. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  62. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +283 -283
  63. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +156 -156
  64. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  65. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  66. package/components/common/vm/actions/common/select/options/New.vue +264 -264
  67. package/components/common/vm/actions/common/select/options/Options.vue +58 -58
  68. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  69. package/components/common/vm/actions/common/select/storage/new/New.vue +311 -311
  70. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  71. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  72. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  73. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  74. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  75. package/components/common/wizards/common/steps/computeResource/New.vue +93 -93
  76. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  77. package/components/common/wizards/common/steps/name/New.vue +221 -221
  78. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  79. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  80. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  81. package/components/common/wizards/datastore/add/Add.vue +228 -228
  82. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  83. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  84. package/composables/useAppVersion.ts +21 -21
  85. package/composables/useLocal.ts +6 -6
  86. package/composables/useLocalCommon.ts +39 -39
  87. package/package.json +1 -1
  88. package/plugins/console.ts +21 -21
  89. package/plugins/mouse.ts +21 -21
  90. package/plugins/panelStates.ts +70 -70
  91. package/plugins/text.ts +59 -59
  92. package/public/spice-console/application/clientgui.js +854 -854
  93. package/public/spice-console/application/packetfactory.js +211 -211
  94. package/public/spice-console/application/virtualmouse.js +147 -147
  95. package/public/spice-console/lib/images/bitmap.js +203 -203
  96. package/public/spice-console/network/spicechannel.js +440 -440
  97. package/public/spice-console/process/cursorprocess.js +128 -128
  98. package/public/spice-console/process/inputprocess.js +227 -227
  99. package/public/spice-console/process/mainprocess.js +212 -212
  100. package/public/spice-console/run.js +210 -210
  101. package/store/main/mutations.ts +7 -7
  102. package/store/main/state.ts +7 -7
  103. package/store/tasks/mappers/recentTasks.ts +123 -123
  104. package/store/tasks/mutations.ts +82 -82
@@ -1,186 +1,191 @@
1
- <template>
2
- <common-layout-the-header-new
3
- v-if="props.newView"
4
- v-model:security="security"
5
- v-model:new-view-local="newViewLocal"
6
- :is-show-main-menu="props.isShowMainMenu"
7
- :company-name="props.companyName"
8
- :beta-text="props.betaText"
9
- :global-refresh-loading="props.globalRefreshLoading"
10
- :hostname="props.hostname"
11
- :project-name="props.projectName"
12
- :is-preference="props.isPreference"
13
- :selected-language-type="props.selectedLanguageType"
14
- :selected-lang="props.selectedLang"
15
- :new-view="props.newView"
16
- :time-format="props.timeFormat"
17
- :project="props.project"
18
- :is-dark-theme="props.isDarkTheme"
19
- :remote-console="props.remoteConsole"
20
- :vm-cluster="props.vmCluster"
21
- :security-loader="props.securityLoader"
22
- :recovery="props.recovery"
23
- @toggle-main-menu="emits('toggle-main-menu')"
24
- @show-preference="emits('show-preference')"
25
- @reset-preference="emits('reset-preference')"
26
- @hide-preference="emits('hide-preference')"
27
- @global-refresh="emits('global-refresh')"
28
- @update-time-format="emits('update-time-format', $event)"
29
- @change-theme-mode="emits('change-theme-mode')"
30
- @update-language="emits('update-language', $event)"
31
- @update-is-browser="emits('update-is-browser', $event)"
32
- @update-remote-console="emits('update-remote-console', $event)"
33
- @update-vm-clusters="emits('update-vm-clusters', $event)"
34
- @security-confirm="emits('security-confirm', $event)"
35
- @submit-preferences="emits('submit-preferences')"
36
- />
37
- <common-layout-the-header-old
38
- v-else
39
- v-model:security="security"
40
- v-model:new-view-local="newViewLocal"
41
- :company-name="props.companyName"
42
- :beta-text="props.betaText"
43
- :global-refresh-loading="props.globalRefreshLoading"
44
- :hostname="props.hostname"
45
- :project-name="props.projectName"
46
- :is-preference="props.isPreference"
47
- :selected-language-type="props.selectedLanguageType"
48
- :selected-lang="props.selectedLang"
49
- :new-view="props.newView"
50
- :time-format="props.timeFormat"
51
- :project="props.project"
52
- :remote-console="props.remoteConsole"
53
- :vm-cluster="props.vmCluster"
54
- :security-loader="props.securityLoader"
55
- :recovery="props.recovery"
56
- @toggle-main-menu="emits('toggle-main-menu')"
57
- @show-preference="emits('show-preference')"
58
- @hide-preference="emits('hide-preference')"
59
- @global-refresh="emits('global-refresh')"
60
- @update-time-format="emits('update-time-format', $event)"
61
- @change-theme-mode="emits('change-theme-mode')"
62
- @update-language="emits('update-language', $event)"
63
- @update-is-browser="emits('update-is-browser', $event)"
64
- @update-remote-console="emits('update-remote-console', $event)"
65
- @update-vm-clusters="emits('update-vm-clusters', $event)"
66
- @security-confirm="emits('security-confirm', $event)"
67
- @submit-preferences="emits('submit-preferences')"
68
- />
69
-
70
- <common-layout-the-header-modals-reconnect />
71
- <common-layout-the-header-modals-redirect-login />
72
- </template>
73
-
74
- <script setup lang="ts">
75
- import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
76
- import type { UI_T_Project } from '~/lib/models/types'
77
- import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
78
- import type { UI_I_Recovery } from '~/components/common/layout/theHeader/userMenu/modals/preferences/security/lib/models/interfaces'
79
- import { checkIsTokenExpired } from '~/lib/utils/token'
80
-
81
- const security = defineModel<boolean>('security')
82
- const newViewLocal = defineModel<boolean>('newViewLocal')
83
-
84
- const props = withDefaults(
85
- defineProps<{
86
- isShowMainMenu: boolean
87
- companyName: string
88
- betaText: string
89
- globalRefreshLoading: boolean
90
- project: UI_T_Project
91
- projectName: string
92
- hostname: string
93
- isPreference: boolean
94
- selectedLanguageType: string
95
- selectedLang: UI_I_Dropdown
96
- remoteConsole: string
97
- vmCluster: boolean
98
- newView: boolean
99
- timeFormat: string
100
- isDarkTheme: boolean
101
- isPauseReconnect: boolean
102
- expireTimeFromState: number
103
- isShowReconnectModal: boolean
104
- isShowRedirectLoginModal: boolean
105
- securityLoader?: boolean // для Сферы
106
- recovery?: UI_I_Recovery | null // для Сферы
107
- }>(),
108
- {
109
- securityLoader: false,
110
- recovery: null,
111
- }
112
- )
113
-
114
- const emits = defineEmits<{
115
- (event: 'toggle-main-menu'): void
116
- (event: 'global-refresh'): void
117
- (event: 'show-preference'): void
118
- (event: 'reset-preference'): void
119
- (event: 'hide-preference'): void
120
- (event: 'change-theme-mode'): void
121
- (event: 'update-time-format', value: UI_T_TimeValue): void
122
- (event: 'update-language', value: UI_I_Dropdown): void
123
- (event: 'update-is-browser', value: string): void
124
- (event: 'update-remote-console', value: string): void
125
- (event: 'update-vm-clusters', value: boolean): void
126
- (event: 'security-confirm', value: boolean): void
127
- (event: 'submit-preferences'): void
128
- (event: 'show-redirect-login-modal', value: boolean): void
129
- (event: 'show-reconnect-modal', value: boolean): void
130
- }>()
131
-
132
- const inactivityTimer = ref<NodeJS.Timeout | undefined>(undefined)
133
- const inactivityTimeout = ref<number>(10 * 60 * 1000)
134
-
135
- const startInactivityTimer = (): void => {
136
- inactivityTimer.value = setTimeout(() => {
137
- // Проверяем если isPauseReconnect истина то не показываем модальное окно переподключения,
138
- // к примеру если загружаем файл и он загружается дольше чем срабатывает таймаут
139
-
140
- if (props.isPauseReconnect) {
141
- startInactivityTimer()
142
- return
143
- }
144
-
145
- const expireTime =
146
- props.expireTimeFromState || useCookie('token-expired-time').value
147
-
148
- const isExpiredToken = checkIsTokenExpired(expireTime)
149
-
150
- if (isExpiredToken) {
151
- emits('show-redirect-login-modal', true)
152
-
153
- if (props.isShowReconnectModal) {
154
- emits('show-reconnect-modal', false)
155
- }
156
- }
157
-
158
- if (!isExpiredToken && !props.isShowRedirectLoginModal) {
159
- emits('show-reconnect-modal', true)
160
- startInactivityTimer()
161
- }
162
-
163
- console.log('Пользователь бездействует!')
164
- }, inactivityTimeout.value)
165
- }
166
-
167
- const resetInactivityTimer = (): void => {
168
- // Сброс таймера бездействия при каждом действии пользователя
169
- inactivityTimer.value !== null && clearTimeout(inactivityTimer.value)
170
- startInactivityTimer()
171
- }
172
-
173
- onMounted(() => {
174
- document.addEventListener('mousemove', resetInactivityTimer)
175
-
176
- startInactivityTimer()
177
- })
178
-
179
- onBeforeUnmount(() => {
180
- document.removeEventListener('mousemove', resetInactivityTimer)
181
-
182
- inactivityTimer.value !== null && clearTimeout(inactivityTimer.value)
183
- })
184
- </script>
185
-
186
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <common-layout-the-header-new
3
+ v-if="props.newView"
4
+ v-model:security="security"
5
+ :is-show-main-menu="props.isShowMainMenu"
6
+ :company-name="props.companyName"
7
+ :beta-text="props.betaText"
8
+ :global-refresh-loading="props.globalRefreshLoading"
9
+ :hostname="props.hostname"
10
+ :project-name="props.projectName"
11
+ :is-preference="props.isPreference"
12
+ :selected-language-type="props.selectedLanguageType"
13
+ :selected-lang="props.selectedLang"
14
+ :new-view="props.newView"
15
+ :new-view-local="props.newViewLocal"
16
+ :time-format="props.timeFormat"
17
+ :project="props.project"
18
+ :is-dark-theme="props.isDarkTheme"
19
+ :remote-console="props.remoteConsole"
20
+ :vm-cluster="props.vmCluster"
21
+ :security-loader="props.securityLoader"
22
+ :recovery="props.recovery"
23
+ @toggle-main-menu="emits('toggle-main-menu')"
24
+ @show-preference="emits('show-preference')"
25
+ @reset-preference="emits('reset-preference')"
26
+ @hide-preference="emits('hide-preference')"
27
+ @global-refresh="emits('global-refresh')"
28
+ @update-time-format="emits('update-time-format', $event)"
29
+ @change-theme-mode="emits('change-theme-mode')"
30
+ @update-language="emits('update-language', $event)"
31
+ @update-is-browser="emits('update-is-browser', $event)"
32
+ @update-is-new-view="emits('update-is-new-view', $event)"
33
+ @update-remote-console="emits('update-remote-console', $event)"
34
+ @update-vm-clusters="emits('update-vm-clusters', $event)"
35
+ @security-confirm="emits('security-confirm', $event)"
36
+ @submit-preferences="emits('submit-preferences')"
37
+ />
38
+ <common-layout-the-header-old
39
+ v-else
40
+ v-model:security="security"
41
+ :company-name="props.companyName"
42
+ :beta-text="props.betaText"
43
+ :global-refresh-loading="props.globalRefreshLoading"
44
+ :hostname="props.hostname"
45
+ :project-name="props.projectName"
46
+ :is-preference="props.isPreference"
47
+ :selected-language-type="props.selectedLanguageType"
48
+ :selected-lang="props.selectedLang"
49
+ :new-view="props.newView"
50
+ :new-view-local="props.newViewLocal"
51
+ :time-format="props.timeFormat"
52
+ :project="props.project"
53
+ :remote-console="props.remoteConsole"
54
+ :vm-cluster="props.vmCluster"
55
+ :security-loader="props.securityLoader"
56
+ :recovery="props.recovery"
57
+ @toggle-main-menu="emits('toggle-main-menu')"
58
+ @show-preference="emits('show-preference')"
59
+ @hide-preference="emits('hide-preference')"
60
+ @global-refresh="emits('global-refresh')"
61
+ @update-time-format="emits('update-time-format', $event)"
62
+ @change-theme-mode="emits('change-theme-mode')"
63
+ @update-language="emits('update-language', $event)"
64
+ @update-is-browser="emits('update-is-browser', $event)"
65
+ @update-is-new-view="emits('update-is-new-view', $event)"
66
+ @update-remote-console="emits('update-remote-console', $event)"
67
+ @update-vm-clusters="emits('update-vm-clusters', $event)"
68
+ @security-confirm="emits('security-confirm', $event)"
69
+ @submit-preferences="emits('submit-preferences')"
70
+ />
71
+
72
+ <common-layout-the-header-modals-reconnect />
73
+ <common-layout-the-header-modals-redirect-login />
74
+ </template>
75
+
76
+ <script setup lang="ts">
77
+ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
78
+ import type { UI_T_Project } from '~/lib/models/types'
79
+ import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
80
+ import type {
81
+ UI_I_Recovery
82
+ } from "~/components/common/layout/theHeader/userMenu/modals/preferences/security/lib/models/interfaces";
83
+ import { checkIsTokenExpired } from '~/lib/utils/token'
84
+
85
+ const security = defineModel<boolean>('security')
86
+
87
+ const props = withDefaults(
88
+ defineProps<{
89
+ isShowMainMenu: boolean
90
+ companyName: string
91
+ betaText: string
92
+ globalRefreshLoading: boolean
93
+ project: UI_T_Project
94
+ projectName: string
95
+ hostname: string
96
+ isPreference: boolean
97
+ selectedLanguageType: string
98
+ selectedLang: UI_I_Dropdown
99
+ remoteConsole: string
100
+ vmCluster: boolean
101
+ newView: boolean
102
+ newViewLocal: boolean
103
+ timeFormat: string
104
+ isDarkTheme: boolean
105
+ isPauseReconnect: boolean
106
+ expireTimeFromState: number
107
+ isShowReconnectModal: boolean
108
+ isShowRedirectLoginModal: boolean
109
+ securityLoader?: boolean // для Сферы
110
+ recovery?: UI_I_Recovery | null // для Сферы
111
+ }>(),
112
+ {
113
+ securityLoader: false,
114
+ recovery: null
115
+ }
116
+ )
117
+
118
+ const emits = defineEmits<{
119
+ (event: 'toggle-main-menu'): void
120
+ (event: 'global-refresh'): void
121
+ (event: 'show-preference'): void
122
+ (event: 'reset-preference'): void
123
+ (event: 'hide-preference'): void
124
+ (event: 'change-theme-mode'): void
125
+ (event: 'update-time-format', value: UI_T_TimeValue): void
126
+ (event: 'update-language', value: UI_I_Dropdown): void
127
+ (event: 'update-is-browser', value: string): void
128
+ (event: 'update-is-new-view', value: boolean): void
129
+ (event: 'update-remote-console', value: string): void
130
+ (event: 'update-vm-clusters', value: boolean): void
131
+ (event: 'security-confirm', value: boolean): void
132
+ (event: 'submit-preferences'): void
133
+ (event: 'show-redirect-login-modal', value: boolean): void
134
+ (event: 'show-reconnect-modal', value: boolean): void
135
+ }>()
136
+
137
+ const inactivityTimer = ref<NodeJS.Timeout | undefined>(undefined)
138
+ const inactivityTimeout = ref<number>(10 * 60 * 1000)
139
+
140
+ const startInactivityTimer = (): void => {
141
+ inactivityTimer.value = setTimeout(() => {
142
+ // Проверяем если isPauseReconnect истина то не показываем модальное окно переподключения,
143
+ // к примеру если загружаем файл и он загружается дольше чем срабатывает таймаут
144
+
145
+ if (props.isPauseReconnect) {
146
+ startInactivityTimer()
147
+ return
148
+ }
149
+
150
+ const expireTime =
151
+ props.expireTimeFromState || useCookie('token-expired-time').value
152
+
153
+ const isExpiredToken = checkIsTokenExpired(expireTime)
154
+
155
+ if (isExpiredToken) {
156
+ emits('show-redirect-login-modal', true)
157
+
158
+ if (props.isShowReconnectModal) {
159
+ emits('show-reconnect-modal', false)
160
+ }
161
+ }
162
+
163
+ if (!isExpiredToken && !props.isShowRedirectLoginModal) {
164
+ emits('show-reconnect-modal', true)
165
+ startInactivityTimer()
166
+ }
167
+
168
+ console.log('Пользователь бездействует!')
169
+ }, inactivityTimeout.value)
170
+ }
171
+
172
+ const resetInactivityTimer = (): void => {
173
+ // Сброс таймера бездействия при каждом действии пользователя
174
+ inactivityTimer.value !== null && clearTimeout(inactivityTimer.value)
175
+ startInactivityTimer()
176
+ }
177
+
178
+ onMounted(() => {
179
+ document.addEventListener('mousemove', resetInactivityTimer)
180
+
181
+ startInactivityTimer()
182
+ })
183
+
184
+ onBeforeUnmount(() => {
185
+ document.removeEventListener('mousemove', resetInactivityTimer)
186
+
187
+ inactivityTimer.value !== null && clearTimeout(inactivityTimer.value)
188
+ })
189
+ </script>
190
+
191
+ <style scoped lang="scss"></style>
@@ -102,13 +102,13 @@
102
102
  <div class="container-content user-menu-container">
103
103
  <common-layout-the-header-user-menu
104
104
  v-model:security="security"
105
- v-model:new-view-local="newViewLocal"
106
105
  :hostname="props.hostname"
107
106
  :is-preference="isPreference"
108
107
  :time-format="props.timeFormat"
109
108
  :selected-language-type="props.selectedLanguageType"
110
109
  :selected-language="props.selectedLang"
111
110
  :new-view="props.newView"
111
+ :new-view-local="props.newViewLocal"
112
112
  :project="props.project"
113
113
  :remote-console="props.remoteConsole"
114
114
  :vm-cluster="props.vmCluster"
@@ -121,6 +121,7 @@
121
121
  @update-time-format="emits('update-time-format', $event)"
122
122
  @update-language="emits('update-language', $event)"
123
123
  @update-is-browser="emits('update-is-browser', $event)"
124
+ @update-is-new-view="emits('update-is-new-view', $event)"
124
125
  @update-remote-console="emits('update-remote-console', $event)"
125
126
  @update-vm-clusters="emits('update-vm-clusters', $event)"
126
127
  @security-confirm="emits('security-confirm', $event)"
@@ -137,10 +138,11 @@ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropd
137
138
  import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
138
139
  import type { UI_T_Project } from '~/lib/models/types'
139
140
  import type { UI_I_Localization } from '~/lib/models/interfaces'
140
- import type { UI_I_Recovery } from '~/components/common/layout/theHeader/userMenu/modals/preferences/security/lib/models/interfaces'
141
+ import type {
142
+ UI_I_Recovery
143
+ } from "~/components/common/layout/theHeader/userMenu/modals/preferences/security/lib/models/interfaces";
141
144
 
142
145
  const security = defineModel<boolean>('security')
143
- const newViewLocal = defineModel<boolean>('newViewLocal')
144
146
 
145
147
  const props = defineProps<{
146
148
  isShowMainMenu: boolean
@@ -156,6 +158,7 @@ const props = defineProps<{
156
158
  remoteConsole: string
157
159
  vmCluster: boolean
158
160
  newView: boolean
161
+ newViewLocal: boolean
159
162
  timeFormat: string
160
163
  isDarkTheme: boolean
161
164
  securityLoader: boolean // для Сферы
@@ -172,6 +175,7 @@ const emits = defineEmits<{
172
175
  (event: 'update-time-format', value: UI_T_TimeValue): void
173
176
  (event: 'update-language', value: UI_I_Dropdown): void
174
177
  (event: 'update-is-browser', value: string): void
178
+ (event: 'update-is-new-view', value: boolean): void
175
179
  (event: 'update-remote-console', value: string): void
176
180
  (event: 'update-vm-clusters', value: boolean): void
177
181
  (event: 'security-confirm', value: boolean): void
@@ -59,13 +59,13 @@
59
59
 
60
60
  <common-layout-the-header-user-menu
61
61
  v-model:security="security"
62
- v-model:new-view-local="newViewLocal"
63
62
  :hostname="props.hostname"
64
63
  :is-preference="props.isPreference"
65
64
  :time-format="props.timeFormat"
66
65
  :selected-language-type="props.selectedLanguageType"
67
66
  :selected-language="props.selectedLang.value"
68
67
  :new-view="props.newView"
68
+ :new-view-local="props.newViewLocal"
69
69
  :project="props.project"
70
70
  :remote-console="props.remoteConsole"
71
71
  :vm-cluster="props.vmCluster"
@@ -77,6 +77,7 @@
77
77
  @update-time-format="emits('update-time-format', $event)"
78
78
  @update-language="onUpdateLanguage"
79
79
  @update-is-browser="emits('update-is-browser', $event)"
80
+ @update-is-new-view="emits('update-is-new-view', $event)"
80
81
  @update-remote-console="emits('update-remote-console', $event)"
81
82
  @update-vm-clusters="emits('update-vm-clusters', $event)"
82
83
  @security-confirm="emits('security-confirm', $event)"
@@ -105,11 +106,12 @@
105
106
  import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
106
107
  import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
107
108
  import type { UI_T_Project } from '~/lib/models/types'
108
- import type { UI_I_Recovery } from '~/components/common/layout/theHeader/userMenu/modals/preferences/security/lib/models/interfaces'
109
+ import type {
110
+ UI_I_Recovery
111
+ } from "~/components/common/layout/theHeader/userMenu/modals/preferences/security/lib/models/interfaces";
109
112
  import { findInLocals } from '~/components/common/selectLanguage/lib/utils/utils'
110
113
 
111
114
  const security = defineModel<boolean>('security')
112
- const newViewLocal = defineModel<boolean>('newViewLocal')
113
115
 
114
116
  const props = defineProps<{
115
117
  companyName: string
@@ -124,6 +126,7 @@ const props = defineProps<{
124
126
  remoteConsole: string
125
127
  vmCluster: boolean
126
128
  newView: boolean
129
+ newViewLocal: boolean
127
130
  timeFormat: string
128
131
  securityLoader: boolean // для Сферы
129
132
  recovery: UI_I_Recovery | null // для Сферы
@@ -138,6 +141,7 @@ const emits = defineEmits<{
138
141
  (event: 'update-time-format', value: UI_T_TimeValue): void
139
142
  (event: 'update-language', value: UI_I_Dropdown): void
140
143
  (event: 'update-is-browser', value: string): void
144
+ (event: 'update-is-new-view', value: boolean): void
141
145
  (event: 'update-remote-console', value: string): void
142
146
  (event: 'update-vm-clusters', value: boolean): void
143
147
  (event: 'security-confirm', value: boolean): void
@@ -1,79 +1,79 @@
1
- <template>
2
- <Teleport to="body">
3
- <common-layout-the-header-help-menu-about-new
4
- v-if="isNewView"
5
- :title="title"
6
- :subtitle="subtitle"
7
- :about-heading-text="aboutHeadingText"
8
- :about-desc-one="aboutDesc1"
9
- :about-desc-second="aboutDesc2"
10
- :project-name="props.projectName"
11
- :url="companyWebSitePath"
12
- @hide="emits('hide')"
13
- />
14
-
15
- <common-layout-the-header-help-menu-about-old
16
- v-else
17
- :title="title"
18
- :subtitle="subtitle"
19
- :about-heading-text="aboutHeadingText"
20
- :about-desc-one="aboutDesc1"
21
- :about-desc-second="aboutDesc2"
22
- :project-name="props.projectName"
23
- :url="companyWebSitePath"
24
- @hide="emits('hide')"
25
- />
26
- </Teleport>
27
- </template>
28
-
29
- <script lang="ts" setup>
30
- import type { UI_I_Localization } from '~/lib/models/interfaces'
31
-
32
- const props = defineProps<{
33
- version: string
34
- projectName: string
35
- }>()
36
- const emits = defineEmits<{
37
- (event: 'hide'): void
38
- }>()
39
-
40
- const localization = computed<UI_I_Localization>(() => useLocal())
41
- const { $store }: any = useNuxtApp()
42
- const config = useRuntimeConfig()
43
-
44
- const companyName = computed<string>(
45
- () => config.public[`COMPANY_NAME_${useEnvLanguage()}`]
46
- )
47
- const brandName = computed<string>(
48
- () => config.public[`TRADEMARK_${useEnvLanguage()}`]
49
- )
50
-
51
- const companyWebSitePath = ref<string>(config.public.SUPPORT_SITE)
52
-
53
- const title = computed<string>(() => `${brandName.value}® ${props.projectName}`)
54
- const subtitle = computed<string>(() =>
55
- localization.value.layout.aboutWebClientVersion
56
- .replace('{0}', props.projectName)
57
- .replace('{1}', props.version)
58
- )
59
-
60
- const aboutHeadingText = computed<string>(() =>
61
- localization.value.layout.aboutHeading.replace(
62
- '{companyName}',
63
- companyName.value
64
- ).replace(
65
- '{year}',
66
- new Date().getFullYear() + ''
67
- )
68
- )
69
-
70
- const aboutDesc = computed<string[]>(() =>
71
- localization.value.layout.aboutDesc
72
- .replaceAll('{companyName}', companyName.value)
73
- .replaceAll('{trademark}', brandName.value).split('{url}')
74
- )
75
- const aboutDesc1 = computed<string>(() => aboutDesc.value[0])
76
- const aboutDesc2 = computed<string>(() => aboutDesc.value[1])
77
-
78
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
79
- </script>
1
+ <template>
2
+ <Teleport to="body">
3
+ <common-layout-the-header-help-menu-about-new
4
+ v-if="isNewView"
5
+ :title="title"
6
+ :subtitle="subtitle"
7
+ :about-heading-text="aboutHeadingText"
8
+ :about-desc-one="aboutDesc1"
9
+ :about-desc-second="aboutDesc2"
10
+ :project-name="props.projectName"
11
+ :url="companyWebSitePath"
12
+ @hide="emits('hide')"
13
+ />
14
+
15
+ <common-layout-the-header-help-menu-about-old
16
+ v-else
17
+ :title="title"
18
+ :subtitle="subtitle"
19
+ :about-heading-text="aboutHeadingText"
20
+ :about-desc-one="aboutDesc1"
21
+ :about-desc-second="aboutDesc2"
22
+ :project-name="props.projectName"
23
+ :url="companyWebSitePath"
24
+ @hide="emits('hide')"
25
+ />
26
+ </Teleport>
27
+ </template>
28
+
29
+ <script lang="ts" setup>
30
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
31
+
32
+ const props = defineProps<{
33
+ version: string
34
+ projectName: string
35
+ }>()
36
+ const emits = defineEmits<{
37
+ (event: 'hide'): void
38
+ }>()
39
+
40
+ const localization = computed<UI_I_Localization>(() => useLocal())
41
+ const { $store }: any = useNuxtApp()
42
+ const config = useRuntimeConfig()
43
+
44
+ const companyName = computed<string>(
45
+ () => config.public[`COMPANY_NAME_${useEnvLanguage()}`]
46
+ )
47
+ const brandName = computed<string>(
48
+ () => config.public[`TRADEMARK_${useEnvLanguage()}`]
49
+ )
50
+
51
+ const companyWebSitePath = ref<string>(config.public.SUPPORT_SITE)
52
+
53
+ const title = computed<string>(() => `${brandName.value}® ${props.projectName}`)
54
+ const subtitle = computed<string>(() =>
55
+ localization.value.layout.aboutWebClientVersion
56
+ .replace('{0}', props.projectName)
57
+ .replace('{1}', props.version)
58
+ )
59
+
60
+ const aboutHeadingText = computed<string>(() =>
61
+ localization.value.layout.aboutHeading.replace(
62
+ '{companyName}',
63
+ companyName.value
64
+ ).replace(
65
+ '{year}',
66
+ new Date().getFullYear() + ''
67
+ )
68
+ )
69
+
70
+ const aboutDesc = computed<string[]>(() =>
71
+ localization.value.layout.aboutDesc
72
+ .replaceAll('{companyName}', companyName.value)
73
+ .replaceAll('{trademark}', brandName.value).split('{url}')
74
+ )
75
+ const aboutDesc1 = computed<string>(() => aboutDesc.value[0])
76
+ const aboutDesc2 = computed<string>(() => aboutDesc.value[1])
77
+
78
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
79
+ </script>