bfg-common 1.6.49 → 1.6.50

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 (134) hide show
  1. package/assets/localization/local_be.json +255 -9
  2. package/assets/localization/local_en.json +264 -17
  3. package/assets/localization/local_hy.json +257 -11
  4. package/assets/localization/local_kk.json +255 -9
  5. package/assets/localization/local_ru.json +264 -18
  6. package/assets/localization/local_zh.json +255 -9
  7. package/assets/scss/common/global.scss +11 -0
  8. package/assets/scss/common/theme.scss +2 -2
  9. package/components/atoms/stack/StackBlock.vue +1 -1
  10. package/components/atoms/tooltip/TooltipError.vue +3 -0
  11. package/components/common/adapterManager/addAdapterModal/AddAdapterModalNew.vue +1 -1
  12. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModalNew.vue +0 -1
  13. package/components/common/adapterManager/ui/table/adapters/AdaptersNew.vue +1 -0
  14. package/components/common/certificate/CertificateInfo.vue +7 -1
  15. package/components/common/configure/physicalAdapters/PhysicalAdapters.vue +6 -0
  16. package/components/common/configure/physicalAdapters/PhysicalAdaptersNew.vue +219 -192
  17. package/components/common/configure/physicalAdapters/PhysicalAdaptersOld.vue +6 -4
  18. package/components/common/configure/physicalAdapters/buttons/Buttons.vue +1 -0
  19. package/components/common/configure/physicalAdapters/modals/edit/Edit.vue +26 -1
  20. package/components/common/configure/physicalAdapters/modals/edit/EditNew.vue +30 -1
  21. package/components/common/configure/physicalAdapters/modals/edit/lib/models/interfaces.ts +5 -0
  22. package/components/common/configure/physicalAdapters/modals/edit/lib/validations/validations.ts +19 -0
  23. package/components/common/configure/physicalAdapters/tableView/TableViewNew.vue +12 -1
  24. package/components/common/configure/physicalAdapters/tableView/lib/config/physicalAdaptersTableConfigNew.ts +21 -21
  25. package/components/common/configure/physicalAdapters/tableView/lib/config/settings.ts +12 -5
  26. package/components/common/configure/physicalAdapters/tableView/lib/models/interfaces.ts +4 -1
  27. package/components/common/diagramMain/Diagram.vue +167 -85
  28. package/components/common/diagramMain/DiagramMain.vue +34 -10
  29. package/components/common/diagramMain/header/Header.vue +49 -0
  30. package/components/common/diagramMain/header/HeaderNew.vue +155 -0
  31. package/components/common/diagramMain/{Header.vue → header/HeaderOld.vue} +78 -67
  32. package/components/common/diagramMain/modals/Modals.vue +4 -0
  33. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +2 -2
  34. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +43 -2
  35. package/components/common/diagramMain/modals/lib/config/index.ts +2 -1
  36. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +1 -1
  37. package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +2 -2
  38. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +1 -1
  39. package/components/common/diagramMain/skeleton/Header.vue +31 -0
  40. package/components/common/diagramMain/skeleton/Switch.vue +75 -0
  41. package/components/common/layout/theHeader/ThemeSwitch.vue +1 -1
  42. package/components/common/layout/theHeader/modals/reconnect/New.vue +38 -30
  43. package/components/common/layout/theHeader/userMenu/modals/changePassword/New.vue +8 -9
  44. package/components/common/layout/theHeader/userMenu/modals/preferences/New.vue +4 -0
  45. package/components/common/layout/theHeader/userMenu/modals/preferences/Old.vue +9 -2
  46. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguage.vue +11 -7
  47. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/DefaultConsole.vue +7 -1
  48. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/lib/config/consoleOptions.ts +8 -5
  49. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/TimeFormat.vue +9 -5
  50. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/config/formatOptions.ts +1 -1
  51. package/components/common/layout/theHeader/userMenu/modals/preferences/view/Old.vue +5 -9
  52. package/components/common/layout/theHeader/userMenu/modals/preferences/view/View.vue +9 -6
  53. package/components/common/mainNavigationPanel/MainNavigationPanelNew.vue +3 -1
  54. package/components/common/monitor/advanced/tools/Tools.vue +10 -9
  55. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +16 -19
  56. package/components/common/monitor/advanced/tools/lib/config/advancedToolbar.ts +62 -9
  57. package/components/common/noDataProvided/NoDataProvidedNew.vue +1 -1
  58. package/components/common/pages/backups/modals/createBackup/datastores/tableView/new/lib/config/table.ts +4 -4
  59. package/components/common/pages/backups/modals/createBackup/datastores/tableView/old/lib/config/table.ts +4 -4
  60. package/components/common/pages/hardwareHealth/HardwareHealth.vue +4 -0
  61. package/components/common/pages/hardwareHealth/HardwareHealthNew.vue +12 -3
  62. package/components/common/pages/hardwareHealth/HardwareHealthOld.vue +3 -0
  63. package/components/common/pages/hardwareHealth/historyTestimony/Graph.vue +4 -4
  64. package/components/common/pages/hardwareHealth/historyTestimony/GraphNew.vue +4 -3
  65. package/components/common/pages/hardwareHealth/historyTestimony/GraphOld.vue +3 -2
  66. package/components/common/pages/hardwareHealth/historyTestimony/tools/Tools.vue +32 -8
  67. package/components/common/pages/hardwareHealth/historyTestimony/tools/ToolsNew.vue +11 -18
  68. package/components/common/pages/hardwareHealth/historyTestimony/tools/ToolsOld.vue +10 -19
  69. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/ChartOptionsModal.vue +19 -7
  70. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/actions/ActionsNew.vue +1 -1
  71. package/components/common/pages/hardwareHealth/historyTestimony/tools/lib/config/toolbar.ts +68 -5
  72. package/components/common/pages/scheduledTasks/table/lib/models/enums.ts +9 -0
  73. package/components/common/pages/scheduledTasks/table/new/New.vue +12 -10
  74. package/components/common/pages/tasks/Tasks.vue +4 -1
  75. package/components/common/pages/tasks/table/Table.vue +25 -23
  76. package/components/common/readyToComplete/New.vue +1 -0
  77. package/components/common/split/vertical/New.vue +42 -8
  78. package/components/common/split/vertical/Old.vue +31 -2
  79. package/components/common/split/vertical/Vertical.vue +4 -0
  80. package/components/common/vm/actions/add/New.vue +21 -6
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +14 -1
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/New.vue +5 -0
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Old.vue +1 -0
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/New.vue +1 -0
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/New.vue +2 -0
  86. package/components/common/vm/actions/common/select/storage/new/lib/config/table.ts +13 -15
  87. package/components/common/vm/actions/confirm/Confirm.vue +3 -0
  88. package/components/common/vm/snapshots/DetailView.vue +6 -6
  89. package/components/common/wizards/datastore/add/New.vue +6 -0
  90. package/components/common/wizards/datastore/add/lib/config/steps.ts +1 -1
  91. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceNew.vue +1 -1
  92. package/components/common/wizards/datastore/add/steps/nameAndDevice/advancedOptions/New.vue +1 -1
  93. package/components/common/wizards/network/add/Add.vue +13 -2
  94. package/components/common/wizards/network/add/AddNew.vue +22 -26
  95. package/components/common/wizards/network/add/lib/config/initialData.ts +6 -4
  96. package/components/common/wizards/network/add/lib/config/steps.ts +1 -1
  97. package/components/common/wizards/network/add/lib/models/interfaces.ts +1 -0
  98. package/components/common/wizards/network/add/lib/utils/utils.ts +1 -1
  99. package/components/common/wizards/network/add/steps/connectionSettings/ConnectionSettingsOld.vue +5 -1
  100. package/components/common/wizards/network/add/steps/ipFourSettings/IpFourSettingsNew.vue +2 -8
  101. package/components/common/wizards/network/add/steps/ipFourSettings/IpFourSettingsOld.vue +3 -0
  102. package/components/common/wizards/network/add/steps/portProperties/PortPropertiesNew.vue +2 -8
  103. package/components/common/wizards/network/add/steps/portProperties/PortPropertiesOld.vue +6 -2
  104. package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceNew.vue +10 -3
  105. package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceOld.vue +4 -0
  106. package/components/common/wizards/network/add/steps/selectTargetDevice/modals/new/SelectNetwork.vue +5 -1
  107. package/components/common/wizards/network/add/validations/common.ts +1 -1
  108. package/components/common/wizards/vm/migrate/New.vue +13 -3
  109. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +5 -0
  110. package/components/common/wizards/vm/migrate/lib/config/steps.ts +3 -2
  111. package/components/common/wizards/vm/migrate/steps/computeResource/New.vue +2 -1
  112. package/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/New.vue +40 -21
  113. package/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/lib/config/clusterTable.ts +340 -0
  114. package/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/lib/config/hostTable.ts +44 -14
  115. package/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/lib/models/enums.ts +4 -0
  116. package/components/common/wizards/vm/migrate/steps/priority/New.vue +7 -2
  117. package/components/common/wizards/vm/migrate/steps/selectStorage/New.vue +22 -7
  118. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/batch/New.vue +6 -0
  119. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/batch/table/new/New.vue +4 -1
  120. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/batch/table/new/lib/config/datastoreTable.ts +12 -16
  121. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/new/New.vue +10 -5
  122. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/new/lib/config/diskTable.ts +16 -11
  123. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/old/lib/config/diskTable.ts +7 -1
  124. package/components/common/wizards/vm/migrate/steps/selectStorage/selectedPerDisk/New.vue +17 -10
  125. package/components/common/wizards/vm/migrate/steps/type/TypeNew.vue +1 -0
  126. package/components/common/wizards/vm/migrate/vmOrigin/New.vue +35 -15
  127. package/lib/models/store/tasks/enums.ts +3 -0
  128. package/lib/models/store/tasks/types.ts +7 -6
  129. package/package.json +2 -2
  130. package/plugins/directives.ts +3 -5
  131. package/public/spice-console/application/agent.js +18 -17
  132. package/store/tasks/actions.ts +26 -8
  133. package/store/tasks/mappers/recentTasks.ts +1 -0
  134. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/actions/SaveOptionsModal.vue +0 -81
@@ -0,0 +1,75 @@
1
+ <template>
2
+ <div class="diagram-skeleton">
3
+ <div class="diagram-skeleton-item-header">
4
+ <div class="diagram-skeleton-item-header-icon">
5
+ <ui-icon
6
+ class="diagram-skeleton-item-header-icon-arrow"
7
+ name="arrow"
8
+ width="20"
9
+ height="20"
10
+ />
11
+ </div>
12
+ <ui-skeleton-item width="160" height="20" />
13
+ <div class="diagram-skeleton-item-header-line"></div>
14
+ <ui-skeleton-item width="400" height="20" />
15
+ </div>
16
+ <div class="diagram-skeleton-container">
17
+ <ui-skeleton-switch width="712" />
18
+ </div>
19
+ <div class="diagram-skeleton-footer">
20
+ <ui-skeleton-item width="80" height="20" />
21
+ </div>
22
+ </div>
23
+ </template>
24
+
25
+ <script setup lang="ts"></script>
26
+
27
+ <style scoped lang="scss">
28
+ .diagram-skeleton {
29
+ margin: 0 16px 16px;
30
+ border-radius: 8px;
31
+ background: var(--diagram-container-bg);
32
+ box-shadow: 0 1px 4px 0 #00000014;
33
+ padding: 16px;
34
+ overflow-clip-margin: content-box;
35
+ overflow: clip;
36
+
37
+ &-item-header {
38
+ display: flex;
39
+ column-gap: 16px;
40
+
41
+ &-icon {
42
+ width: 20px;
43
+ height: 20px;
44
+ color: var(--select-arrow);
45
+
46
+ &-arrow {
47
+ transform: rotate(180deg);
48
+ margin-right: -4px;
49
+ }
50
+ }
51
+
52
+ &-line {
53
+ height: 20px;
54
+ border-left: 1px solid var(--horizontal-line);
55
+ }
56
+ }
57
+
58
+ &-container {
59
+ display: flex;
60
+ justify-content: center;
61
+ min-width: 759px;
62
+ padding: 48px 23.5px 24px 23.5px;
63
+
64
+ //:deep(svg) {
65
+ // padding: 22px 14.5px;
66
+ //}
67
+ }
68
+
69
+ &-footer {
70
+ padding-top: 16px;
71
+ display: flex;
72
+ justify-content: flex-end;
73
+ }
74
+ }
75
+ </style>
@@ -2,7 +2,7 @@
2
2
  <ui-tooltip
3
3
  id="tooltip-theme-mode-toggle-button"
4
4
  test-id="tooltip-theme-mode-toggle-button"
5
- size="sm"
5
+ size="md"
6
6
  position="bottom"
7
7
  position-by-tooltip="center"
8
8
  >
@@ -1,35 +1,37 @@
1
1
  <template>
2
- <ui-modal
3
- :title="props.title"
4
- :texts="modalTexts"
5
- test-id="reconnect-modal"
6
- size="sm"
7
- width="560px"
8
- show
9
- @hide="emits('logout')"
10
- @submit="emits('reconnect')"
11
- >
12
- <template #content>
13
- <div class="reconnect-content">
14
- <div class="icon-content flex items-center gap-2">
15
- <span class="icon-sessions"></span>
16
- <span class="description-text">{{
17
- localization.common.reconnectDesc
18
- }}</span>
2
+ <div class="reconnect-modal-container">
3
+ <ui-modal
4
+ :title="props.title"
5
+ :texts="modalTexts"
6
+ test-id="reconnect-modal"
7
+ size="sm"
8
+ width="560px"
9
+ show
10
+ @hide="emits('logout')"
11
+ @submit="emits('reconnect')"
12
+ >
13
+ <template #content>
14
+ <div class="reconnect-content">
15
+ <div class="icon-content flex items-center gap-2">
16
+ <span class="icon-sessions"></span>
17
+ <span class="description-text">{{
18
+ localization.common.reconnectDesc
19
+ }}</span>
20
+ </div>
21
+ <div class="timer-block mt-4">
22
+ <common-countdown-timer
23
+ :timer="props.timer"
24
+ :total-time="props.totalTime"
25
+ is-hide-seconds-text
26
+ />
27
+ </div>
19
28
  </div>
20
- <div class="timer-block mt-4">
21
- <common-countdown-timer
22
- :timer="props.timer"
23
- :total-time="props.totalTime"
24
- is-hide-seconds-text
25
- />
26
- </div>
27
- </div>
28
- </template>
29
- <template #footerLeftContent>
30
- <span></span>
31
- </template>
32
- </ui-modal>
29
+ </template>
30
+ <template #footerLeftContent>
31
+ <span></span>
32
+ </template>
33
+ </ui-modal>
34
+ </div>
33
35
  </template>
34
36
 
35
37
  <script lang="ts" setup>
@@ -56,6 +58,12 @@ const modalTexts = ref<UI_I_ModalTexts>({
56
58
  </script>
57
59
 
58
60
  <style lang="scss" scoped>
61
+ .reconnect-modal-container {
62
+ :deep(.modal), :deep(.modal-background) {
63
+ z-index: calc(var(--z-modal) + 3);
64
+ }
65
+ }
66
+
59
67
  .reconnect-content {
60
68
  padding: 8px 32px 8px 32px;
61
69
 
@@ -107,24 +107,23 @@ const passwordErrorText = computed<string>(() => {
107
107
  const newPasswordErrorText = computed<string>(() => {
108
108
  if (!initValidationFields.value.newPassword) return ''
109
109
 
110
- const { current_password, new_password, confirm_password } = modelLocal.value
110
+ // const { current_password, new_password, confirm_password } = modelLocal.value
111
+ const { current_password, new_password } = modelLocal.value
111
112
 
112
113
  const validateText = validateField(
113
114
  localization.value,
114
115
  current_password,
115
116
  new_password
116
117
  )
117
- const mismatchError = getPasswordMismatchError(
118
- localization.value,
119
- new_password,
120
- confirm_password
121
- )
118
+ // const mismatchError = getPasswordMismatchError(
119
+ // localization.value,
120
+ // new_password,
121
+ // confirm_password
122
+ // )
122
123
  if (!new_password) {
123
124
  return localization.value.common.fieldRequired
124
125
  } else if (validateText) {
125
126
  return validateText
126
- } else if (mismatchError) {
127
- return mismatchError
128
127
  } else return ''
129
128
  })
130
129
  const confirmPasswordErrorText = computed<string>(() => {
@@ -166,7 +165,7 @@ const onHideModal = (): void => {
166
165
  color: #9da6ad;
167
166
  font-size: 12px;
168
167
  font-weight: 400;
169
- line-height: 14.52px;
168
+ line-height: 18px;
170
169
  margin-bottom: 20px;
171
170
  }
172
171
  &__alert {
@@ -15,6 +15,7 @@
15
15
  <common-layout-the-header-user-menu-modals-preferences-time-format
16
16
  v-model:time-format="timeFormat"
17
17
  :new-view="props.newView"
18
+ :project="props.project"
18
19
  />
19
20
  </ui-modal-block-form-standard>
20
21
 
@@ -23,6 +24,7 @@
23
24
  :new-view="props.newView"
24
25
  :selected-type="props.selectedLanguageType"
25
26
  :selected-language="props.selectedLanguage"
27
+ :project="props.project"
26
28
  @update-language="emits('update-language', $event)"
27
29
  @update-is-browser="emits('update-is-browser', $event)"
28
30
  />
@@ -32,6 +34,7 @@
32
34
  <common-layout-the-header-user-menu-modals-preferences-default-console
33
35
  v-model="consoleValue"
34
36
  :new-view="props.newView"
37
+ :project="props.project"
35
38
  />
36
39
  </ui-modal-block-form-standard>
37
40
 
@@ -55,6 +58,7 @@
55
58
  v-model:new-view-local="newViewLocal"
56
59
  v-model:is-show-notification="isShowNotification"
57
60
  :new-view="props.newView"
61
+ :project="props.project"
58
62
  />
59
63
  </ui-modal-block-form-standard>
60
64
  </ui-modal-block-standard>
@@ -19,6 +19,7 @@
19
19
  v-if="selectedTab === 'time-tab'"
20
20
  v-model:time-format="timeFormat"
21
21
  :new-view="props.newView"
22
+ :project="props.project"
22
23
  />
23
24
 
24
25
  <common-layout-the-header-user-menu-modals-preferences-change-language
@@ -26,6 +27,7 @@
26
27
  :new-view="props.newView"
27
28
  :selected-type="props.selectedLanguageType"
28
29
  :selected-language="props.selectedLanguage"
30
+ :project="props.project"
29
31
  @update-language="emits('update-language', $event)"
30
32
  @update-is-browser="emits('update-is-browser', $event)"
31
33
  />
@@ -40,6 +42,7 @@
40
42
  v-if="selectedTab === 'console-tab' && isSphere"
41
43
  v-model="consoleValue"
42
44
  :new-view="props.newView"
45
+ :project="props.project"
43
46
  />
44
47
 
45
48
  <common-layout-the-header-user-menu-modals-preferences-security
@@ -146,8 +149,12 @@ const isOn2FaImportant = ref<boolean>(false)
146
149
  watch(
147
150
  topNotifications,
148
151
  (newValue) => {
149
- if (newValue === UI_E_TopNotificationActionId.on2Fa || newValue === UI_E_TopNotificationActionId.on2FaImportant) {
150
- isOn2FaImportant.value = newValue === UI_E_TopNotificationActionId.on2FaImportant
152
+ if (
153
+ newValue === UI_E_TopNotificationActionId.on2Fa ||
154
+ newValue === UI_E_TopNotificationActionId.on2FaImportant
155
+ ) {
156
+ isOn2FaImportant.value =
157
+ newValue === UI_E_TopNotificationActionId.on2FaImportant
151
158
  selectedTab.value = 'security-tab'
152
159
  $store.dispatch('main/A_SET_TOP_NOTIFICATION_ACTION_ID', -1)
153
160
  }
@@ -11,7 +11,7 @@
11
11
 
12
12
  <script setup lang="ts">
13
13
  import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
14
- import type { UI_T_LangValue } from '~/lib/models/types'
14
+ import type { UI_T_LangValue, UI_T_Project } from '~/lib/models/types'
15
15
  import type { UI_T_SelectedRadio } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/types'
16
16
  import type { UI_I_Localization } from '~/lib/models/interfaces'
17
17
  import type { UI_I_RadioItemLang } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/interfaces'
@@ -24,6 +24,7 @@ import { defineBrowserLangFunc } from '~/components/common/layout/theHeader/lib/
24
24
  const props = defineProps<{
25
25
  newView: boolean
26
26
  selectedType: UI_T_LangValue
27
+ project: UI_T_Project
27
28
  selectedLanguage: UI_I_Dropdown | UI_T_LangValue
28
29
  }>()
29
30
 
@@ -41,12 +42,15 @@ const currentComponent = computed(() =>
41
42
  : defineAsyncComponent(() => import('./Old.vue'))
42
43
  )
43
44
 
44
- const description = computed<string>(() => {
45
- return localization.value.common.languageDesc.replaceAll(
46
- '{trademark}',
47
- String(config.public[`TRADEMARK_${useEnvLanguage()}`])
48
- )
49
- })
45
+ /* TODO SC-2104 */
46
+ const description = computed<string>(() =>
47
+ props.project === 'sphere'
48
+ ? localization.value.common.languageDesc1
49
+ : localization.value.common.languageDesc.replaceAll(
50
+ '{trademark}',
51
+ String(config.public[`TRADEMARK_${useEnvLanguage()}`])
52
+ )
53
+ )
50
54
 
51
55
  const radioOptions = readonly<UI_I_RadioItemLang[]>(
52
56
  radioOptionsFunc(localization.value)
@@ -8,11 +8,13 @@
8
8
 
9
9
  <script setup lang="ts">
10
10
  import type { UI_I_Localization } from '~/lib/models/interfaces'
11
+ import type { UI_T_Project } from '~/lib/models/types'
11
12
  import type { UI_I_RadioItemConsole } from '~/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/lib/models/interfaces'
12
13
  import { consoleOptionsFunc } from '~/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/lib/config/consoleOptions'
13
14
 
14
15
  const consoleValue = defineModel<string>()
15
16
  const props = defineProps<{
17
+ project: UI_T_Project
16
18
  newView: boolean
17
19
  }>()
18
20
 
@@ -24,7 +26,11 @@ const currentComponent = computed(() =>
24
26
 
25
27
  const localization = computed<UI_I_Localization>(() => useLocal())
26
28
 
29
+ /* TODO SC-2104 */
27
30
  const consoleOptions = readonly<UI_I_RadioItemConsole[]>(
28
- consoleOptionsFunc(localization.value)
31
+ consoleOptionsFunc(
32
+ localization.value,
33
+ props.newView && props.project === 'sphere'
34
+ )
29
35
  )
30
36
  </script>
@@ -2,14 +2,17 @@ import type { UI_I_Localization } from '~/lib/models/interfaces'
2
2
  import type { UI_I_RadioItemConsole } from '~/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/lib/models/interfaces'
3
3
 
4
4
  export const consoleOptionsFunc = (
5
- localization: UI_I_Localization
5
+ localization: UI_I_Localization,
6
+ isSphereNewView: boolean
6
7
  ): UI_I_RadioItemConsole[] => {
7
8
  const config = useRuntimeConfig()
8
9
 
9
- const remoteConsole = localization.common.remoteConsoleVmrc.replaceAll(
10
- '{trademark}',
11
- String(config.public[`TRADEMARK_${useEnvLanguage()}`])
12
- )
10
+ const remoteConsole = isSphereNewView
11
+ ? localization.common.remoteConsoleVmrc1
12
+ : localization.common.remoteConsoleVmrc.replaceAll(
13
+ '{trademark}',
14
+ String(config.public[`TRADEMARK_${useEnvLanguage()}`])
15
+ )
13
16
 
14
17
  return [
15
18
  {
@@ -12,12 +12,13 @@ import type { UI_I_Localization } from '~/lib/models/interfaces'
12
12
  import type { UI_I_RadioItem } from '~/components/common/layout/theHeader/userMenu/lib/models/interfaces'
13
13
  import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
14
14
  import { formatOptionsFunc } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/config/formatOptions'
15
+ import type { UI_T_Project } from '~/lib/models/types'
15
16
 
16
17
  const timeFormat = defineModel<UI_T_TimeValue>('timeFormat')
17
18
  const props = defineProps<{
19
+ project: UI_T_Project
18
20
  newView: boolean
19
21
  }>()
20
-
21
22
  const currentComponent = computed(() =>
22
23
  props.newView
23
24
  ? defineAsyncComponent(() => import('./New.vue'))
@@ -28,11 +29,14 @@ const localization = computed<UI_I_Localization>(() => useLocal())
28
29
 
29
30
  const config = useRuntimeConfig()
30
31
 
32
+ /* TODO SC-2104 */
31
33
  const description = computed<string>(() =>
32
- localization.value.common.timeFormatDesc.replaceAll(
33
- '{trademark}',
34
- String(config.public[`TRADEMARK_${useEnvLanguage()}`])
35
- )
34
+ props.project === 'sphere'
35
+ ? localization.value.common.timeFormatDesc1
36
+ : localization.value.common.timeFormatDesc.replaceAll(
37
+ '{trademark}',
38
+ String(config.public[`TRADEMARK_${useEnvLanguage()}`])
39
+ )
36
40
  )
37
41
 
38
42
  const formatOptions = readonly<UI_I_RadioItem[]>(
@@ -7,7 +7,7 @@ export const formatOptionsFunc = (
7
7
  return [
8
8
  {
9
9
  id: 1,
10
- label: localization.common.languageDefault,
10
+ label: localization.common.automatic,
11
11
  value: 'DEFAULT',
12
12
  testId: 'default-type',
13
13
  },
@@ -15,13 +15,9 @@
15
15
  />
16
16
  </div>
17
17
 
18
- <div class="description second-description">
19
- {{ localization.myPreferences.showNotificationDescription }}
20
- </div>
21
-
22
- <div class="flex-align-center">
18
+ <div class="flex-align-center second-description">
23
19
  <label for="show-notification">{{
24
- localization.myPreferences.showNotification
20
+ localization.myPreferences.showNotificationDescription
25
21
  }}</label>
26
22
  <input
27
23
  id="show-notification"
@@ -63,10 +59,10 @@ window.tools = new Proxy(
63
59
  <style lang="scss" scoped>
64
60
  .description {
65
61
  margin-bottom: 10px;
62
+ }
66
63
 
67
- &.second-description {
68
- margin-top: 20px;
69
- }
64
+ .second-description {
65
+ margin-top: 20px;
70
66
  }
71
67
 
72
68
  label {
@@ -30,10 +30,13 @@ const currentComponent = computed(() =>
30
30
 
31
31
  const localization = computed<UI_I_Localization>(() => useLocal())
32
32
 
33
- const description = computed<string>(() => {
34
- return localization.value.common.viewDesc.replaceAll(
35
- '{trademark}',
36
- String(config.public[`TRADEMARK_${useEnvLanguage()}`])
37
- )
38
- })
33
+ /* TODO SC-2104 */
34
+ const description = computed<string>(() =>
35
+ props.project === 'sphere'
36
+ ? localization.value.common.viewDesc1
37
+ : localization.value.common.viewDesc.replaceAll(
38
+ '{trademark}',
39
+ String(config.public[`TRADEMARK_${useEnvLanguage()}`])
40
+ )
41
+ )
39
42
  </script>
@@ -143,7 +143,7 @@ const localization = computed<UI_I_Localization>(() => useLocal())
143
143
  &.pinned {
144
144
  .nav-context {
145
145
  position: relative;
146
- z-index: calc(var(--z-default) + 1);
146
+ z-index: calc(var(--z-fixed) + 2);
147
147
  }
148
148
  }
149
149
  &:not(.pinned) {
@@ -177,6 +177,8 @@ const localization = computed<UI_I_Localization>(() => useLocal())
177
177
  }
178
178
  }
179
179
  &:not(.collapsed) {
180
+ min-width: 240px;
181
+
180
182
  :deep(.tooltip-container-hover) {
181
183
  display: none;
182
184
  }
@@ -114,6 +114,7 @@ import {
114
114
  getCurrentOptionsStorageFunc,
115
115
  periodFunc,
116
116
  viewFunc,
117
+ getSelectedOptionsValueFromStorageFunc,
117
118
  } from '~/components/common/monitor/advanced/tools/lib/config/advancedToolbar'
118
119
  import { getValidDateByOptionFunc } from '~/components/common/monitor/lib/config/getValidDateByOption'
119
120
  import { checkDateFunc } from '~/components/common/monitor/overview/filters/customIntervalModal/lib/config/dateChecker'
@@ -234,11 +235,10 @@ const selectedPeriod = computed<string>({
234
235
  const updateTools = (): void => {
235
236
  const periodValue = localSelectedTimespanType.value
236
237
  const viewValue = selectedView.value
237
- const prefix = props.project === 'sphere'
238
- const selectedValue = useLocalStorage(
239
- viewValue + 'ChartOptions',
240
- undefined,
241
- prefix
238
+
239
+ const selectedValue = getSelectedOptionsValueFromStorageFunc(
240
+ viewValue,
241
+ props.project
242
242
  )
243
243
 
244
244
  const fields = selectedValue
@@ -278,7 +278,8 @@ const updateTools = (): void => {
278
278
  periodType: periodValue,
279
279
  view: viewValue,
280
280
  }
281
- if (selectedValue.metric) tools.metricType = selectedValue.metric
281
+ if (selectedValue && selectedValue.metric)
282
+ tools.metricType = selectedValue.metric
282
283
 
283
284
  emits('update-timespan-type', localSelectedTimespanType.value)
284
285
  emits('update-tools', tools)
@@ -294,11 +295,11 @@ const chartTitleDate = computed<string>(() => {
294
295
 
295
296
  const onDeleteOption = (): void => {
296
297
  emits('delete-option')
297
- optionsNames.value = getCurrentOptionsStorageFunc(routeType, props.project)
298
+ optionsNames.value = getCurrentOptionsStorageFunc(props.project)
298
299
  }
299
300
 
300
301
  const onSaveOptionName = (): void => {
301
- optionsNames.value = getCurrentOptionsStorageFunc(routeType, props.project)
302
+ optionsNames.value = getCurrentOptionsStorageFunc(props.project)
302
303
  }
303
304
 
304
305
  const isShowModal = ref<boolean>()
@@ -308,7 +309,7 @@ watch(isShowModal, (newValue) => {
308
309
  })
309
310
 
310
311
  onMounted(() => {
311
- optionsNames.value = getCurrentOptionsStorageFunc(routeType, props.project)
312
+ optionsNames.value = getCurrentOptionsStorageFunc(props.project)
312
313
  updateTools()
313
314
  })
314
315
  </script>
@@ -116,11 +116,14 @@ import type { UI_I_OptionsForm } from '~/components/common/monitor/advanced/tool
116
116
  import type { UI_I_ObjectItem } from '~/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/models/interfaces'
117
117
  import type { UI_T_Project } from '~/lib/models/types'
118
118
  import { metricsFunc } from '~/components/common/monitor/advanced/tools/chartOptionsModal/metrics/lib/config/optionsMetrics'
119
- import { getCurrentOptionsStorageFunc } from '~/components/common/monitor/advanced/tools/lib/config/advancedToolbar'
119
+ import {
120
+ getCurrentOptionsStorageFunc,
121
+ removeSelectedOptionsFromStorageFunc,
122
+ getSelectedOptionsValueFromStorageFunc,
123
+ } from '~/components/common/monitor/advanced/tools/lib/config/advancedToolbar'
120
124
  import { checkDateFunc } from '~/components/common/monitor/overview/filters/customIntervalModal/lib/config/dateChecker'
121
125
  import { getValidDateByOptionFunc } from '~/components/common/monitor/lib/config/getValidDateByOption'
122
126
  import { checkIsDisabledSubmit } from '~/components/common/monitor/advanced/tools/chartOptionsModal/lib/utils/checkSubmit'
123
- import { getLocalStoragePrefix } from '~/composables/useLocalStorage'
124
127
 
125
128
  const props = withDefaults(
126
129
  defineProps<{
@@ -174,6 +177,7 @@ const { $store }: any = useNuxtApp()
174
177
  const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
175
178
 
176
179
  const routeType = '' + useRoute().params.type
180
+ const routeId = '' + useRoute().params.id
177
181
 
178
182
  const localization = computed<UI_I_Localization>(() => useLocal())
179
183
 
@@ -447,6 +451,8 @@ const onSaveOptions = (name: string): void => {
447
451
  counters,
448
452
  metric: selectedMetricLocal.value,
449
453
  objects: localSelectedObjects.value,
454
+ validShowName: name,
455
+ nodeId: routeId,
450
456
  timespan: {
451
457
  periodType: localPeriodType.value,
452
458
  units: localCustomTime.value,
@@ -455,8 +461,8 @@ const onSaveOptions = (name: string): void => {
455
461
  },
456
462
  }
457
463
  const prefix = props.project === 'sphere'
458
- useLocalStorage(`${name}ChartOptions`, saveOptionsData, prefix)
459
- optionsNames.value = getCurrentOptionsStorageFunc(routeType, props.project)
464
+ useLocalStorage(`ChartOptionsAdvanced${name}`, saveOptionsData, prefix)
465
+ optionsNames.value = getCurrentOptionsStorageFunc(props.project)
460
466
  // localSelectedChartOptionName.value = name
461
467
  emits('save-option-name')
462
468
  }
@@ -483,18 +489,9 @@ const setDefaultOptions = (): void => {
483
489
  }
484
490
 
485
491
  const setCustomOptions = (name: string): void => {
486
- let currentStorageOptionName = name + 'ChartOptions'
487
-
488
- if (props.project === 'sphere') {
489
- currentStorageOptionName =
490
- name.slice(0, name.indexOf(getLocalStoragePrefix())) +
491
- 'ChartOptions' +
492
- name.slice(name.indexOf(getLocalStoragePrefix()))
493
- }
494
- const selectedValue = useLocalStorage(
495
- currentStorageOptionName,
496
- undefined,
497
- false
492
+ const selectedValue = getSelectedOptionsValueFromStorageFunc(
493
+ name,
494
+ props.project
498
495
  )
499
496
 
500
497
  if (selectedValue.routeType !== routeType) return
@@ -540,8 +537,8 @@ watch(
540
537
  )
541
538
 
542
539
  const onDeleteChartName = (name: string): void => {
543
- window.localStorage.removeItem(name + 'ChartOptions')
544
- optionsNames.value = getCurrentOptionsStorageFunc(routeType, props.project)
540
+ removeSelectedOptionsFromStorageFunc(name, props.project)
541
+ optionsNames.value = getCurrentOptionsStorageFunc(props.project)
545
542
  setSelectOptions()
546
543
  emits('delete-option')
547
544
  }
@@ -565,7 +562,7 @@ watch(
565
562
  )
566
563
 
567
564
  onMounted(() => {
568
- optionsNames.value = getCurrentOptionsStorageFunc(routeType, props.project)
565
+ optionsNames.value = getCurrentOptionsStorageFunc(props.project)
569
566
  })
570
567
  </script>
571
568