bfg-common 1.5.723 → 1.5.724

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 (119) 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/console/Console.vue +70 -70
  18. package/components/common/layout/theHeader/{TheHeaderNew.vue → New.vue} +2 -5
  19. package/components/common/layout/theHeader/TheHeader.vue +10 -33
  20. package/components/common/layout/theHeader/ThemeSwitch.vue +8 -18
  21. package/components/common/layout/theHeader/helpMenu/HelpMenu.vue +6 -8
  22. package/components/common/layout/theHeader/helpMenu/{About.vue → about/About.vue} +69 -79
  23. package/components/common/layout/theHeader/helpMenu/{aboutNew/AboutNew.vue → about/New.vue} +4 -4
  24. package/components/common/layout/theHeader/helpMenu/about/Old.vue +78 -0
  25. package/components/common/layout/theHeader/helpMenu/{helpMenuNew/HelpMenuNew.vue → new/New.vue} +1 -1
  26. package/components/common/layout/theHeader/helpMenu/{helpMenuNew → new}/lib/config/dropMenu.ts +1 -1
  27. package/components/common/layout/theHeader/helpMenu/{helpMenuOld/HelpMenuOld.vue → old/Old.vue} +2 -2
  28. package/components/common/layout/theHeader/helpMenu/{helpMenuOld → old}/lib/config/dropMenu.ts +1 -1
  29. package/components/common/layout/theHeader/modals/reconnect/Reconnect.vue +8 -10
  30. package/components/common/layout/theHeader/userMenu/UserMenu.vue +8 -7
  31. package/components/common/layout/theHeader/userMenu/modals/preferences/{PreferencesOld.vue → Old.vue} +0 -2
  32. package/components/common/layout/theHeader/userMenu/modals/preferences/Preferences.vue +9 -21
  33. package/components/common/layout/theHeader/userMenu/modals/preferences/lib/models/types.ts +7 -7
  34. package/components/common/layout/theHeader/userMenu/{userMenuNew/UserMenuNew.vue → new/New.vue} +1 -1
  35. package/components/common/layout/theHeader/userMenu/{userMenuOld/UserMenuOld.vue → old/Old.vue} +2 -2
  36. package/components/common/layout/theHeader/userMenu/{userMenuOld → old}/lib/config/dropMenu.ts +1 -1
  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/lib/config/readyToCompleteOptions.ts +84 -84
  45. package/components/common/pages/backups/modals/restore/lib/config/steps.ts +113 -113
  46. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  47. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  48. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  49. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  50. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  51. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  52. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  53. package/components/common/pages/tasks/Tasks.vue +125 -125
  54. package/components/common/pages/tasks/table/Table.vue +373 -373
  55. package/components/common/pages/tasks/table/lib/config/config.ts +279 -279
  56. package/components/common/pages/tasks/table/lib/models/interfaces.ts +9 -9
  57. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  58. package/components/common/select/radio/RadioGroup.vue +137 -137
  59. package/components/common/spiceConsole/Drawer.vue +420 -420
  60. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  61. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  62. package/components/common/tools/Actions.vue +207 -207
  63. package/components/common/treeView/TreeView.vue +52 -52
  64. package/components/common/vm/actions/clone/lib/config/steps.ts +295 -295
  65. package/components/common/vm/actions/clone/new/New.vue +438 -438
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +283 -283
  68. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +156 -156
  69. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  70. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  71. package/components/common/vm/actions/common/select/options/New.vue +264 -264
  72. package/components/common/vm/actions/common/select/options/Options.vue +58 -58
  73. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  74. package/components/common/vm/actions/common/select/storage/new/New.vue +311 -311
  75. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  76. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  77. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  78. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  79. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  80. package/components/common/wizards/common/steps/computeResource/New.vue +93 -93
  81. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  82. package/components/common/wizards/common/steps/name/New.vue +221 -221
  83. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  84. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  85. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  86. package/components/common/wizards/datastore/add/Add.vue +228 -228
  87. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  88. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  89. package/composables/useAppVersion.ts +21 -21
  90. package/composables/useBrowse.ts +24 -24
  91. package/composables/useLocal.ts +6 -6
  92. package/composables/useLocalCommon.ts +39 -39
  93. package/lib/models/types.ts +59 -59
  94. package/package.json +1 -1
  95. package/plugins/console.ts +21 -21
  96. package/plugins/mouse.ts +21 -21
  97. package/plugins/panelStates.ts +70 -70
  98. package/plugins/text.ts +59 -59
  99. package/public/spice-console/application/clientgui.js +854 -854
  100. package/public/spice-console/application/packetfactory.js +211 -211
  101. package/public/spice-console/application/virtualmouse.js +147 -147
  102. package/public/spice-console/lib/images/bitmap.js +203 -203
  103. package/public/spice-console/network/spicechannel.js +440 -440
  104. package/public/spice-console/process/cursorprocess.js +128 -128
  105. package/public/spice-console/process/inputprocess.js +227 -227
  106. package/public/spice-console/process/mainprocess.js +212 -212
  107. package/public/spice-console/run.js +210 -210
  108. package/store/main/mutations.ts +7 -7
  109. package/store/main/state.ts +7 -7
  110. package/store/tasks/mappers/recentTasks.ts +123 -123
  111. package/store/tasks/mutations.ts +82 -82
  112. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +0 -79
  113. /package/components/common/layout/theHeader/{TheHeaderOld.vue → Old.vue} +0 -0
  114. /package/components/common/layout/theHeader/helpMenu/{helpMenuOld → old}/lib/models/types.ts +0 -0
  115. /package/components/common/layout/theHeader/modals/reconnect/{ReconnectNew.vue → New.vue} +0 -0
  116. /package/components/common/layout/theHeader/modals/reconnect/{ReconnectOld.vue → Old.vue} +0 -0
  117. /package/components/common/layout/theHeader/userMenu/modals/preferences/{PreferencesNew.vue → New.vue} +0 -0
  118. /package/components/common/layout/theHeader/userMenu/{userMenuNew → new}/lib/config/dropMenu.ts +0 -0
  119. /package/components/common/layout/theHeader/userMenu/{userMenuOld → old}/lib/models/types.ts +0 -0
@@ -1,70 +1,70 @@
1
- <template>
2
- <atoms-window
3
- v-if="consoleInWindow?.isShow"
4
- :top="consoleInWindow.top"
5
- :left="consoleInWindow.left"
6
- :width="consoleInWindow.width"
7
- :height="consoleInWindow.height"
8
- :title="consoleInWindow.name"
9
- :loading="consoleInWindow.isLoading"
10
- @hide="onHide"
11
- >
12
- <template #header>
13
- <div class="flex-align-center gap-2 overflow-hidden">
14
- <ui-icon name="monitor" width="16" height="16" class="monitor-icon" />
15
- <span class="text-ellipsis">{{ consoleInWindow.name }}</span>
16
- </div>
17
- </template>
18
- <embed
19
- id="embed"
20
- type="text/html"
21
- width="100%"
22
- height="100%"
23
- :src="consoleInWindow.url"
24
- @load="onLoad"
25
- />
26
- </atoms-window>
27
- </template>
28
-
29
- <script setup lang="ts">
30
- import type { UI_I_ConsoleInWindow } from '~/components/common/layout/console/lib/models/interfaces'
31
-
32
- const { $store }: any = useNuxtApp()
33
-
34
- const onLoad = (): void => {
35
- $store.dispatch('main/A_CHANGE_CONSOLE_IN_WINDOW_LOADING', false)
36
- }
37
-
38
- const consoleInWindow = computed<UI_I_ConsoleInWindow | null>(() => {
39
- return $store.getters['main/getConsoleInWindow']
40
- })
41
- watch(
42
- consoleInWindow,
43
- (newValue, oldValue) => {
44
- if (newValue?.url === oldValue?.url) {
45
- $store.dispatch('main/A_CHANGE_CONSOLE_IN_WINDOW_LOADING', false)
46
- }
47
- },
48
- { deep: true }
49
- )
50
-
51
- const onHide = (): void => {
52
- $store.dispatch('main/A_SHOW_CONSOLE_IN_WINDOW', {
53
- width: -1,
54
- height: -1,
55
- top: -1,
56
- left: -1,
57
- name: '',
58
- isShow: false,
59
- isLoading: false,
60
- url: '',
61
- })
62
- }
63
- </script>
64
-
65
- <style scoped lang="scss">
66
- .monitor-icon {
67
- min-width: 16px;
68
- min-height: 16px;
69
- }
70
- </style>
1
+ <template>
2
+ <atoms-window
3
+ v-if="consoleInWindow?.isShow"
4
+ :top="consoleInWindow.top"
5
+ :left="consoleInWindow.left"
6
+ :width="consoleInWindow.width"
7
+ :height="consoleInWindow.height"
8
+ :title="consoleInWindow.name"
9
+ :loading="consoleInWindow.isLoading"
10
+ @hide="onHide"
11
+ >
12
+ <template #header>
13
+ <div class="flex-align-center gap-2 overflow-hidden">
14
+ <ui-icon name="monitor" width="16" height="16" class="monitor-icon" />
15
+ <span class="text-ellipsis">{{ consoleInWindow.name }}</span>
16
+ </div>
17
+ </template>
18
+ <embed
19
+ id="embed"
20
+ type="text/html"
21
+ width="100%"
22
+ height="100%"
23
+ :src="consoleInWindow.url"
24
+ @load="onLoad"
25
+ />
26
+ </atoms-window>
27
+ </template>
28
+
29
+ <script setup lang="ts">
30
+ import type { UI_I_ConsoleInWindow } from '~/components/common/layout/console/lib/models/interfaces'
31
+
32
+ const { $store }: any = useNuxtApp()
33
+
34
+ const onLoad = (): void => {
35
+ $store.dispatch('main/A_CHANGE_CONSOLE_IN_WINDOW_LOADING', false)
36
+ }
37
+
38
+ const consoleInWindow = computed<UI_I_ConsoleInWindow | null>(() => {
39
+ return $store.getters['main/getConsoleInWindow']
40
+ })
41
+ watch(
42
+ consoleInWindow,
43
+ (newValue, oldValue) => {
44
+ if (newValue?.url === oldValue?.url) {
45
+ $store.dispatch('main/A_CHANGE_CONSOLE_IN_WINDOW_LOADING', false)
46
+ }
47
+ },
48
+ { deep: true }
49
+ )
50
+
51
+ const onHide = (): void => {
52
+ $store.dispatch('main/A_SHOW_CONSOLE_IN_WINDOW', {
53
+ width: -1,
54
+ height: -1,
55
+ top: -1,
56
+ left: -1,
57
+ name: '',
58
+ isShow: false,
59
+ isLoading: false,
60
+ url: '',
61
+ })
62
+ }
63
+ </script>
64
+
65
+ <style scoped lang="scss">
66
+ .monitor-icon {
67
+ min-width: 16px;
68
+ min-height: 16px;
69
+ }
70
+ </style>
@@ -87,10 +87,7 @@
87
87
  </ui-tooltip>
88
88
  <div class="divider right-divider-global-refresh" />
89
89
  <div class="container-content">
90
- <common-layout-the-header-theme-switch
91
- :is-dark-theme="props.isDarkTheme"
92
- @change-theme-mode="emits('change-theme-mode')"
93
- />
90
+ <common-layout-the-header-theme-switch v-model="isDarkTheme" />
94
91
  </div>
95
92
  <div class="divider" />
96
93
  <div class="container-content">
@@ -141,6 +138,7 @@ const newViewLocal = defineModel<boolean>('newViewLocal')
141
138
  const timeFormat = defineModel<UI_T_TimeValue>('timeFormat')
142
139
  const consoleValue = defineModel<string>('consoleValue')
143
140
  const vmInHostsClusters = defineModel<boolean>('vmInHostsClusters')
141
+ const isDarkTheme = defineModel<boolean>('isDarkTheme')
144
142
 
145
143
  const props = defineProps<{
146
144
  isShowMainMenu: boolean
@@ -154,7 +152,6 @@ const props = defineProps<{
154
152
  selectedLanguageType: string
155
153
  selectedLang: UI_I_Dropdown
156
154
  newView: boolean
157
- isDarkTheme: boolean
158
155
  securityLoader: boolean // для Сферы
159
156
  recovery: UI_I_Recovery | null // для Сферы
160
157
  }>()
@@ -1,11 +1,12 @@
1
1
  <template>
2
- <common-layout-the-header-new
3
- v-if="props.newView"
2
+ <component
3
+ :is="currentComponent"
4
4
  v-model:security="security"
5
5
  v-model:new-view-local="newViewLocal"
6
6
  v-model:time-format="timeFormat"
7
7
  v-model:console-value="consoleValue"
8
8
  v-model:vm-in-hosts-clusters="vmInHostsClusters"
9
+ v-model:is-dark-theme="isDarkTheme"
9
10
  :is-show-main-menu="props.isShowMainMenu"
10
11
  :company-name="props.companyName"
11
12
  :beta-text="props.betaText"
@@ -17,7 +18,6 @@
17
18
  :selected-lang="props.selectedLang"
18
19
  :new-view="props.newView"
19
20
  :project="props.project"
20
- :is-dark-theme="props.isDarkTheme"
21
21
  :security-loader="props.securityLoader"
22
22
  :recovery="props.recovery"
23
23
  @toggle-main-menu="emits('toggle-main-menu')"
@@ -31,35 +31,6 @@
31
31
  @security-confirm="emits('security-confirm', $event)"
32
32
  @submit-preferences="emits('submit-preferences')"
33
33
  />
34
- <common-layout-the-header-old
35
- v-else
36
- v-model:security="security"
37
- v-model:new-view-local="newViewLocal"
38
- v-model:time-format="timeFormat"
39
- v-model:console-value="consoleValue"
40
- v-model:vm-in-hosts-clusters="vmInHostsClusters"
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
- :project="props.project"
51
- :security-loader="props.securityLoader"
52
- :recovery="props.recovery"
53
- @toggle-main-menu="emits('toggle-main-menu')"
54
- @show-preference="emits('show-preference')"
55
- @hide-preference="emits('hide-preference')"
56
- @global-refresh="emits('global-refresh')"
57
- @change-theme-mode="emits('change-theme-mode')"
58
- @update-language="emits('update-language', $event)"
59
- @update-is-browser="emits('update-is-browser', $event)"
60
- @security-confirm="emits('security-confirm', $event)"
61
- @submit-preferences="emits('submit-preferences')"
62
- />
63
34
 
64
35
  <common-layout-the-header-modals-reconnect />
65
36
  <common-layout-the-header-modals-redirect-login />
@@ -77,6 +48,7 @@ const newViewLocal = defineModel<boolean>('newViewLocal')
77
48
  const timeFormat = defineModel<UI_T_TimeValue>('timeFormat')
78
49
  const consoleValue = defineModel<string>('consoleValue')
79
50
  const vmInHostsClusters = defineModel<boolean>('vmInHostsClusters')
51
+ const isDarkTheme = defineModel<boolean>('isDarkTheme')
80
52
 
81
53
  const props = withDefaults(
82
54
  defineProps<{
@@ -91,7 +63,6 @@ const props = withDefaults(
91
63
  selectedLanguageType: string
92
64
  selectedLang: UI_I_Dropdown
93
65
  newView: boolean
94
- isDarkTheme: boolean
95
66
  isPauseReconnect: boolean
96
67
  expireTimeFromState: number
97
68
  isShowReconnectModal: boolean
@@ -120,6 +91,12 @@ const emits = defineEmits<{
120
91
  (event: 'show-reconnect-modal', value: boolean): void
121
92
  }>()
122
93
 
94
+ const currentComponent = computed(() =>
95
+ props.newView
96
+ ? defineAsyncComponent(() => import('./New.vue'))
97
+ : defineAsyncComponent(() => import('./Old.vue'))
98
+ )
99
+
123
100
  const inactivityTimer = ref<NodeJS.Timeout | undefined>(undefined)
124
101
  const inactivityTimeout = ref<number>(10 * 60 * 1000)
125
102
 
@@ -11,7 +11,12 @@
11
11
  id="tooltip-theme-mode-toggle-button"
12
12
  class="popped tooltip inline-block"
13
13
  >
14
- <ui-switch v-model="model" test-id="switch-theme-mode" size="md" dark>
14
+ <ui-switch
15
+ v-model="isDarkTheme"
16
+ test-id="switch-theme-mode"
17
+ size="md"
18
+ dark
19
+ >
15
20
  <template #rightIcon>
16
21
  <ui-icon name="light-theme" width="14" height="14" />
17
22
  </template>
@@ -32,27 +37,12 @@
32
37
  <script setup lang="ts">
33
38
  import type { UI_I_Localization } from '~/lib/models/interfaces'
34
39
 
35
- const props = defineProps<{
36
- isDarkTheme: boolean
37
- }>()
38
-
39
- const emits = defineEmits<{
40
- (event: 'change-theme-mode'): void
41
- }>()
40
+ const isDarkTheme = defineModel<boolean>()
42
41
 
43
42
  const localization = computed<UI_I_Localization>(() => useLocal())
44
43
 
45
- const model = computed<boolean>({
46
- get() {
47
- return props.isDarkTheme
48
- },
49
- set() {
50
- emits('change-theme-mode')
51
- },
52
- })
53
-
54
44
  const tooltipText = computed<string>(() =>
55
- model.value
45
+ isDarkTheme.value
56
46
  ? localization.value.layout.darkMode
57
47
  : localization.value.layout.lightMode
58
48
  )
@@ -1,12 +1,5 @@
1
1
  <template>
2
- <common-layout-the-header-help-menu-help-menu-new
3
- v-if="isNewView"
4
- @select-dropdown="onSelectDropdown"
5
- />
6
- <common-layout-the-header-help-menu-help-menu-old
7
- v-else
8
- @select-dropdown="onSelectDropdown"
9
- />
2
+ <component :is="currentComponent" @select-dropdown="onSelectDropdown" />
10
3
 
11
4
  <common-layout-the-header-help-menu-about
12
5
  v-if="isShowAbout"
@@ -25,6 +18,11 @@ const { $store }: any = useNuxtApp()
25
18
  const { version } = useAppVersion()
26
19
 
27
20
  const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
21
+ const currentComponent = computed(() =>
22
+ isNewView.value
23
+ ? defineAsyncComponent(() => import('./new/New.vue'))
24
+ : defineAsyncComponent(() => import('./old/Old.vue'))
25
+ )
28
26
 
29
27
  const isShowAbout = ref<boolean>(false)
30
28
 
@@ -1,79 +1,69 @@
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
+ <component
4
+ :is="currentComponent"
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
+ </Teleport>
15
+ </template>
16
+
17
+ <script lang="ts" setup>
18
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
19
+
20
+ const props = defineProps<{
21
+ version: string
22
+ projectName: string
23
+ }>()
24
+ const emits = defineEmits<{
25
+ (event: 'hide'): void
26
+ }>()
27
+
28
+ const localization = computed<UI_I_Localization>(() => useLocal())
29
+ const { $store }: any = useNuxtApp()
30
+ const config = useRuntimeConfig()
31
+
32
+ const companyName = computed<string>(
33
+ () => config.public[`COMPANY_NAME_${useEnvLanguage()}`]
34
+ )
35
+ const brandName = computed<string>(
36
+ () => config.public[`TRADEMARK_${useEnvLanguage()}`]
37
+ )
38
+
39
+ const companyWebSitePath = ref<string>(config.public.SUPPORT_SITE)
40
+
41
+ const title = computed<string>(() => `${brandName.value}® ${props.projectName}`)
42
+ const subtitle = computed<string>(() =>
43
+ localization.value.layout.aboutWebClientVersion
44
+ .replace('{0}', props.projectName)
45
+ .replace('{1}', props.version)
46
+ )
47
+
48
+ const aboutHeadingText = computed<string>(() =>
49
+ localization.value.layout.aboutHeading
50
+ .replace('{companyName}', companyName.value)
51
+ .replace('{year}', new Date().getFullYear() + '')
52
+ )
53
+
54
+ const aboutDesc = computed<string[]>(() =>
55
+ localization.value.layout.aboutDesc
56
+ .replaceAll('{companyName}', companyName.value)
57
+ .replaceAll('{trademark}', brandName.value)
58
+ .split('{url}')
59
+ )
60
+ const aboutDesc1 = computed<string>(() => aboutDesc.value[0])
61
+ const aboutDesc2 = computed<string>(() => aboutDesc.value[1])
62
+
63
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
64
+ const currentComponent = computed(() =>
65
+ isNewView.value
66
+ ? defineAsyncComponent(() => import('./New.vue'))
67
+ : defineAsyncComponent(() => import('./Old.vue'))
68
+ )
69
+ </script>
@@ -17,15 +17,16 @@
17
17
  </div>
18
18
 
19
19
  <div class="about-modal__description">
20
- {{ props.aboutDescOne }}<a
20
+ {{ props.aboutDescOne
21
+ }}<a
21
22
  id="about-description-link"
22
23
  :href="url"
23
24
  data-id="about-description-link"
24
25
  target="_blank"
25
26
  class="about-modal__description-link"
26
27
  >
27
- {{ props.url }}
28
- </a>{{ props.aboutDescSecond }}
28
+ {{ props.url }} </a
29
+ >{{ props.aboutDescSecond }}
29
30
  </div>
30
31
  </ui-modal-block-standard>
31
32
  </template>
@@ -42,7 +43,6 @@ const props = defineProps<{
42
43
  aboutHeadingText: string
43
44
  aboutDescOne: string
44
45
  aboutDescSecond: string
45
- projectName: string
46
46
  url: string
47
47
  }>()
48
48
  const emits = defineEmits<{
@@ -0,0 +1,78 @@
1
+ <template>
2
+ <atoms-modal :title="props.title" show width="864px" test-id="about-modal">
3
+ <template #modalHeader>
4
+ <div class="flex-align-center">
5
+ <h3 class="modal-title">{{ brandName }}® {{ props.projectName }}</h3>
6
+ <span class="separator" />
7
+ <h4 class="secondary-title">
8
+ {{ props.subtitle }}
9
+ </h4>
10
+ </div>
11
+ <button id="about-modal-button-close" class="close">
12
+ <atoms-the-icon
13
+ data-id="about-modal-button-close-icon"
14
+ class="close-icon"
15
+ name="close"
16
+ @click="() => emits('hide')"
17
+ />
18
+ </button>
19
+ </template>
20
+
21
+ <template #modalBody>
22
+ <div class="about-vsphere-dialog-legal-section">
23
+ <p>{{ props.aboutHeadingText }}</p>
24
+ <p>{{ localization.layout.aboutSubtitle }}</p>
25
+ </div>
26
+
27
+ <div class="about-vsphere-dialog-legal-section description">
28
+ {{ props.aboutDescOne
29
+ }}<a
30
+ id="about-description-link"
31
+ :href="url"
32
+ data-id="about-description-link"
33
+ target="_blank"
34
+ >{{ props.url }}</a
35
+ >{{ props.aboutDescSecond }}
36
+ </div>
37
+ </template>
38
+
39
+ <template #modalFooter>
40
+ <span></span>
41
+ </template>
42
+ </atoms-modal>
43
+ </template>
44
+
45
+ <script lang="ts" setup>
46
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
47
+
48
+ const props = defineProps<{
49
+ title: string
50
+ subtitle: string
51
+ aboutHeadingText: string
52
+ aboutDescOne: string
53
+ aboutDescSecond: string
54
+ projectName: string
55
+ url: string
56
+ }>()
57
+ const emits = defineEmits<{
58
+ (event: 'hide'): void
59
+ }>()
60
+
61
+ const localization = computed<UI_I_Localization>(() => useLocal())
62
+ const config = useRuntimeConfig()
63
+
64
+ const brandName = computed<string>(
65
+ () => config.public[`TRADEMARK_${useEnvLanguage()}`]
66
+ )
67
+ </script>
68
+
69
+ <style lang="scss" scoped>
70
+ .modal-title {
71
+ color: var(--main-color-mode);
72
+ }
73
+ .description {
74
+ padding-top: 10px;
75
+ font-size: 13px;
76
+ line-height: 19px;
77
+ }
78
+ </style>
@@ -83,7 +83,7 @@
83
83
  <script setup lang="ts">
84
84
  import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
85
85
  import type { UI_I_Localization } from '~/lib/models/interfaces'
86
- import { helpMenuFunc } from '~/components/common/layout/theHeader/helpMenu/helpMenuNew/lib/config/dropMenu'
86
+ import { helpMenuFunc } from '~/components/common/layout/theHeader/helpMenu/new/lib/config/dropMenu'
87
87
 
88
88
  const emits = defineEmits<{
89
89
  (event: 'select-dropdown', value: string): void
@@ -1,5 +1,5 @@
1
- import type { UI_I_Localization } from '~/lib/models/interfaces'
2
1
  import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
2
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
3
3
 
4
4
  export const helpMenuFunc = (
5
5
  localization: UI_I_Localization
@@ -15,8 +15,8 @@
15
15
  <script setup lang="ts">
16
16
  import type { UI_I_DropMenu } from '~/components/atoms/dropdown/dropdown/lib/models/interfaces'
17
17
  import type { UI_I_Localization } from '~/lib/models/interfaces'
18
- import type { UI_T_ActionTypeHelpMenu } from '~/components/common/layout/theHeader/helpMenu/helpMenuOld/lib/models/types'
19
- import { helpMenuFunc } from '~/components/common/layout/theHeader/helpMenu/helpMenuOld/lib/config/dropMenu'
18
+ import type { UI_T_ActionTypeHelpMenu } from '~/components/common/layout/theHeader/helpMenu/old/lib/models/types'
19
+ import { helpMenuFunc } from '~/components/common/layout/theHeader/helpMenu/old/lib/config/dropMenu'
20
20
 
21
21
  const emits = defineEmits<{
22
22
  (event: 'select-dropdown', value: string): void
@@ -1,6 +1,6 @@
1
1
  import type { UI_I_DropMenu } from '~/components/atoms/dropdown/dropdown/lib/models/interfaces'
2
2
  import type { UI_I_Localization } from '~/lib/models/interfaces'
3
- import type { UI_T_ActionTypeHelpMenu } from '~/components/common/layout/theHeader/helpMenu/helpMenuOld/lib/models/types'
3
+ import type { UI_T_ActionTypeHelpMenu } from '~/components/common/layout/theHeader/helpMenu/old/lib/models/types'
4
4
 
5
5
  export const helpMenuFunc = (
6
6
  localization: UI_I_Localization
@@ -1,14 +1,7 @@
1
1
  <template>
2
- <common-layout-the-header-modals-reconnect-new
3
- v-if="isNewView && isShow"
4
- :title="title"
5
- :timer="timer"
6
- :total-time="totalTime"
7
- @logout="onLogout"
8
- @reconnect="onReconnect"
9
- />
10
- <common-layout-the-header-modals-reconnect-old
11
- v-else-if="!isNewView && isShow"
2
+ <component
3
+ v-if="isShow"
4
+ :is="currentComponent"
12
5
  :title="title"
13
6
  :timer="timer"
14
7
  :total-time="totalTime"
@@ -25,6 +18,11 @@ const { $store }: any = useNuxtApp()
25
18
  const localization = computed<UI_I_Localization>(() => useLocal())
26
19
 
27
20
  const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
21
+ const currentComponent = computed(() =>
22
+ isNewView.value
23
+ ? defineAsyncComponent(() => import('./New.vue'))
24
+ : defineAsyncComponent(() => import('./Old.vue'))
25
+ )
28
26
 
29
27
  const isShow = computed<boolean>(
30
28
  () => $store.getters['main/isShowReconnectModal']