bfg-common 1.4.778 → 1.4.780

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 (138) hide show
  1. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  2. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  3. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  4. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  5. package/assets/localization/local_be.json +1 -1
  6. package/assets/localization/local_en.json +1 -1
  7. package/assets/localization/local_hy.json +1 -1
  8. package/assets/localization/local_kk.json +1 -1
  9. package/assets/localization/local_ru.json +2 -2
  10. package/assets/localization/local_zh.json +1 -1
  11. package/assets/scss/clarity/local_ar.json +1 -1
  12. package/assets/scss/common/normalize.scss +361 -361
  13. package/components/atoms/TheIcon3.vue +50 -50
  14. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  15. package/components/atoms/stack/StackBlock.vue +185 -185
  16. package/components/atoms/table/dataGrid/DataGrid.vue +1703 -1703
  17. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  18. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +91 -91
  19. package/components/common/browse/BrowseNew.vue +237 -237
  20. package/components/common/browse/BrowseOld.vue +217 -217
  21. package/components/common/browse/blocks/contents/Files.vue +37 -37
  22. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  23. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  24. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  25. package/components/common/context/Context.vue +111 -111
  26. package/components/common/context/lib/models/interfaces.ts +30 -30
  27. package/components/common/context/recursion/Recursion.vue +87 -87
  28. package/components/common/context/recursion/RecursionNew.vue +237 -237
  29. package/components/common/context/recursion/RecursionOld.vue +227 -227
  30. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  31. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  32. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +151 -151
  33. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +300 -300
  34. package/components/common/modals/confirmByInput/ConfirmByInput.vue +206 -206
  35. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  36. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +250 -250
  37. package/components/common/pages/home/StatusContent.vue +49 -49
  38. package/components/common/pages/home/headline/Headline.vue +44 -44
  39. package/components/common/pages/home/headline/HeadlineNew.vue +71 -71
  40. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  41. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  42. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  43. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  44. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  45. package/components/common/pages/home/widgets/hosts/HostsNew.vue +100 -100
  46. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  47. package/components/common/pages/home/widgets/services/lib/config/config.ts +108 -108
  48. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  49. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  50. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  51. package/components/common/pages/packages/Packages.vue +208 -208
  52. package/components/common/recursionTree/RecursionTree.vue +223 -223
  53. package/components/common/select/button/ButtonDropdown.vue +108 -108
  54. package/components/common/spiceConsole/Drawer.vue +370 -370
  55. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  56. package/components/common/split/horizontal/HorizontalNew.vue +376 -376
  57. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  58. package/components/common/split/vertical/Vertical.vue +160 -160
  59. package/components/common/vm/actions/add/Add.vue +621 -621
  60. package/components/common/vm/actions/clone/Clone.vue +639 -639
  61. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  62. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +271 -271
  63. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +271 -271
  64. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +174 -174
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +161 -161
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +165 -165
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +357 -357
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +281 -281
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +84 -84
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +81 -81
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  102. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  103. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  104. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  105. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  106. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  107. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  108. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  109. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  110. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  111. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  112. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  113. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  114. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  115. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  116. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  117. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  118. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  119. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  120. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  121. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  122. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  123. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  124. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  125. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  126. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  127. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  128. package/composables/productNameLocal.ts +30 -30
  129. package/composables/useAppVersion.ts +21 -21
  130. package/package.json +1 -1
  131. package/plugins/date.ts +233 -233
  132. package/plugins/recursion.ts +311 -311
  133. package/public/spice-console/lib/images/bitmap.js +203 -203
  134. package/public/spice-console/network/spicechannel.js +383 -383
  135. package/public/spice-console-minify/run.min.js +4 -4
  136. package/store/main/mutations.ts +7 -7
  137. package/store/main/state.ts +7 -7
  138. package/store/tasks/mappers/recentTasks.ts +64 -64
@@ -1,103 +1,103 @@
1
- <template>
2
- <ui-modal
3
- test-id="about-modal"
4
- width="720px"
5
- :title="props.title"
6
- :subtitle="props.subtitle"
7
- class="about-modal"
8
- @hide="onHideModal"
9
- >
10
- <template #content>
11
- <ui-modal-block-standard>
12
- <div class="about-modal__text">
13
- <p>{{ aboutHeadingText }}</p>
14
-
15
- <p>{{ localization.layout.aboutSubtitle }}</p>
16
- </div>
17
-
18
- <div class="about-modal__description">
19
- {{ props.aboutDescOne }}
20
-
21
- (<a
22
- id="about-description-link"
23
- data-id="about-description-link"
24
- :href="url"
25
- target="_blank"
26
- class="about-modal__description-link"
27
- >
28
- {{ props.url }} </a
29
- >)
30
-
31
- {{ props.aboutDescSecond }}
32
- </div>
33
- </ui-modal-block-standard>
34
- </template>
35
- <template #footerContent><span /></template>
36
- <template #footerLeftContent><span /></template>
37
- </ui-modal>
38
- </template>
39
-
40
- <script lang="ts" setup>
41
- import type { UI_I_Localization } from '~/lib/models/interfaces'
42
-
43
- const props = defineProps<{
44
- title: string
45
- subtitle: string
46
- aboutHeadingText: string
47
- aboutDescOne: string
48
- aboutDescSecond: string
49
- projectName: string
50
- url: string
51
- }>()
52
- const emits = defineEmits<{
53
- (event: 'hide'): void
54
- }>()
55
-
56
- const localization = computed<UI_I_Localization>(() => useLocal())
57
-
58
- const onHideModal = (): void => {
59
- emits('hide')
60
- }
61
- </script>
62
-
63
- <style>
64
- :root {
65
- --about-text-color: #4d5d69;
66
- --about-text-link-hover-color: #0081c1;
67
- }
68
- :root.dark-theme {
69
- --about-text-color: #9da6ad;
70
- --about-text-link-hover-color: #008fd6;
71
- }
72
- </style>
73
-
74
- <style lang="scss" scoped>
75
- .about-modal {
76
- &__text {
77
- color: var(--about-text-color);
78
- font-size: 13px;
79
- font-weight: 400;
80
- line-height: 15.73px;
81
-
82
- p:last-child {
83
- margin: 16px 0;
84
- }
85
- }
86
- &__description {
87
- color: var(--about-text-color);
88
- font-size: 13px;
89
- font-weight: 400;
90
- line-height: 15.73px;
91
-
92
- &-link {
93
- color: #0786d2;
94
- &:hover {
95
- color: var(--about-text-link-hover-color);
96
- }
97
- }
98
- }
99
- }
100
- :deep(.title-wrapper__subtitle) {
101
- max-width: 400px;
102
- }
103
- </style>
1
+ <template>
2
+ <ui-modal
3
+ test-id="about-modal"
4
+ width="720px"
5
+ :title="props.title"
6
+ :subtitle="props.subtitle"
7
+ class="about-modal"
8
+ @hide="onHideModal"
9
+ >
10
+ <template #content>
11
+ <ui-modal-block-standard>
12
+ <div class="about-modal__text">
13
+ <p>{{ aboutHeadingText }}</p>
14
+
15
+ <p>{{ localization.layout.aboutSubtitle }}</p>
16
+ </div>
17
+
18
+ <div class="about-modal__description">
19
+ {{ props.aboutDescOne }}
20
+
21
+ (<a
22
+ id="about-description-link"
23
+ data-id="about-description-link"
24
+ :href="url"
25
+ target="_blank"
26
+ class="about-modal__description-link"
27
+ >
28
+ {{ props.url }} </a
29
+ >)
30
+
31
+ {{ props.aboutDescSecond }}
32
+ </div>
33
+ </ui-modal-block-standard>
34
+ </template>
35
+ <template #footerContent><span /></template>
36
+ <template #footerLeftContent><span /></template>
37
+ </ui-modal>
38
+ </template>
39
+
40
+ <script lang="ts" setup>
41
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
42
+
43
+ const props = defineProps<{
44
+ title: string
45
+ subtitle: string
46
+ aboutHeadingText: string
47
+ aboutDescOne: string
48
+ aboutDescSecond: string
49
+ projectName: string
50
+ url: string
51
+ }>()
52
+ const emits = defineEmits<{
53
+ (event: 'hide'): void
54
+ }>()
55
+
56
+ const localization = computed<UI_I_Localization>(() => useLocal())
57
+
58
+ const onHideModal = (): void => {
59
+ emits('hide')
60
+ }
61
+ </script>
62
+
63
+ <style>
64
+ :root {
65
+ --about-text-color: #4d5d69;
66
+ --about-text-link-hover-color: #0081c1;
67
+ }
68
+ :root.dark-theme {
69
+ --about-text-color: #9da6ad;
70
+ --about-text-link-hover-color: #008fd6;
71
+ }
72
+ </style>
73
+
74
+ <style lang="scss" scoped>
75
+ .about-modal {
76
+ &__text {
77
+ color: var(--about-text-color);
78
+ font-size: 13px;
79
+ font-weight: 400;
80
+ line-height: 15.73px;
81
+
82
+ p:last-child {
83
+ margin: 16px 0;
84
+ }
85
+ }
86
+ &__description {
87
+ color: var(--about-text-color);
88
+ font-size: 13px;
89
+ font-weight: 400;
90
+ line-height: 15.73px;
91
+
92
+ &-link {
93
+ color: #0786d2;
94
+ &:hover {
95
+ color: var(--about-text-link-hover-color);
96
+ }
97
+ }
98
+ }
99
+ }
100
+ :deep(.title-wrapper__subtitle) {
101
+ max-width: 400px;
102
+ }
103
+ </style>
@@ -1,151 +1,151 @@
1
- <template>
2
- <common-main-navigation-panel-new
3
- v-if="props.isNewView"
4
- v-model:main-menu-hovered="mainMenuHovered"
5
- v-model:menu-pined="menuPined"
6
- :navigation-items="props.navigationItems"
7
- :disabled-pin="props.disabledPin"
8
- :menu-collapsed="menuCollapsed"
9
- :show-menu="showMenu"
10
- @collapse-menu="collapseMenu"
11
- @change-menu-pin="changeMenuPin"
12
- @hide-main-menu="hideMainMenu"
13
- />
14
- <common-main-navigation-panel-old
15
- v-else
16
- v-model:main-menu-hovered="mainMenuHovered"
17
- v-model:menu-pined="menuPined"
18
- :navigation-items="props.navigationItems"
19
- :disabled-pin="props.disabledPin"
20
- :menu-collapsed="menuCollapsed"
21
- :show-menu="showMenu"
22
- @collapse-menu="collapseMenu"
23
- @change-menu-pin="changeMenuPin"
24
- @hide-main-menu="hideMainMenu"
25
- />
26
- </template>
27
-
28
- <script setup lang="ts">
29
- import type { UI_I_NavigationItem } from '~/components/common/mainNavigationPanel/lib/models/interfaces'
30
- import type { UI_T_ParentStatus } from '~/components/common/mainNavigationPanel/lib/models/types'
31
-
32
- const props = withDefaults(
33
- defineProps<{
34
- mainMenuStatus: boolean
35
- navigationItems: UI_I_NavigationItem[][]
36
- parentStatus: UI_T_ParentStatus
37
- disabledPin: boolean
38
- isNewView?: boolean
39
- }>(),
40
- {
41
- isNewView: false,
42
- }
43
- )
44
-
45
- const emits = defineEmits<{
46
- (event: 'toggle', value: boolean): void
47
- }>()
48
-
49
- const { $store }: any = useNuxtApp()
50
-
51
- const route = useRoute()
52
-
53
- const showMenu = computed<boolean>(
54
- () => props.mainMenuStatus || menuPined.value
55
- )
56
-
57
- const menuPined = ref<boolean>(false)
58
- const changeMenuPin = (): void => {
59
- useLocalStorage('menuPined', menuPined.value)
60
- }
61
- const setMenuPined = (): void => {
62
- menuPined.value = props.disabledPin ? false : !!useLocalStorage('menuPined')
63
- }
64
- watch(
65
- () => props.disabledPin,
66
- () => {
67
- setMenuPined()
68
- },
69
- { immediate: true }
70
- )
71
-
72
- const menuCollapsed = ref<boolean>(false)
73
- const collapseMenu = (): void => {
74
- menuCollapsed.value = !menuCollapsed.value
75
- useLocalStorage('menuCollapsed', menuCollapsed.value)
76
- }
77
-
78
- const mainMenuHovered = ref<boolean>(false)
79
-
80
- const clickWindow = (event: Event): void => {
81
- const target = event.target as any
82
- if (
83
- menuPined.value ||
84
- mainMenuHovered.value ||
85
- target.className.baseVal?.includes('menu-icon') ||
86
- target.className.baseVal?.includes('clr-i-outline') ||
87
- target.className?.includes('inventory-menu-trigger')
88
- ) {
89
- return
90
- }
91
-
92
- emits('toggle', false)
93
- }
94
-
95
- const mountedReady = ref<boolean>(false)
96
- onMounted(() => {
97
- mountedReady.value = true
98
- window.addEventListener('click', clickWindow)
99
- })
100
-
101
- onUnmounted(() => {
102
- window.removeEventListener('click', clickWindow)
103
- })
104
-
105
- const setSidebarOptions = (): void => {
106
- setMenuPined()
107
- menuCollapsed.value = !!useLocalStorage('menuCollapsed')
108
- // SC-594
109
- if (!showMenu.value) {
110
- menuCollapsed.value = false
111
- }
112
-
113
- if (menuPined.value) {
114
- emits('toggle', true)
115
- }
116
- }
117
-
118
- watch(
119
- [mountedReady, (): any => route.fullPath, (): any => props.parentStatus],
120
- ([newValue1, newValue2, newValue3]: [
121
- boolean,
122
- any,
123
- UI_T_ParentStatus
124
- ]): void => {
125
- if (newValue3 === 1) return
126
-
127
- const name = location.pathname.split('/')[1]
128
-
129
- if (!newValue1 || name === 'auth') return
130
-
131
- setSidebarOptions()
132
- useLocalStorage('navigationHistoryRoute', newValue2)
133
- },
134
- { immediate: true, deep: true }
135
- )
136
-
137
- const hideMainMenu = (): void => {
138
- if (menuPined.value) return
139
- emits('toggle', false)
140
- }
141
-
142
- watch(
143
- menuPined,
144
- (newValue) => {
145
- $store.dispatch('main/A_MENU_PINED', newValue)
146
- },
147
- { immediate: true }
148
- )
149
- </script>
150
-
151
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <common-main-navigation-panel-new
3
+ v-if="props.isNewView"
4
+ v-model:main-menu-hovered="mainMenuHovered"
5
+ v-model:menu-pined="menuPined"
6
+ :navigation-items="props.navigationItems"
7
+ :disabled-pin="props.disabledPin"
8
+ :menu-collapsed="menuCollapsed"
9
+ :show-menu="showMenu"
10
+ @collapse-menu="collapseMenu"
11
+ @change-menu-pin="changeMenuPin"
12
+ @hide-main-menu="hideMainMenu"
13
+ />
14
+ <common-main-navigation-panel-old
15
+ v-else
16
+ v-model:main-menu-hovered="mainMenuHovered"
17
+ v-model:menu-pined="menuPined"
18
+ :navigation-items="props.navigationItems"
19
+ :disabled-pin="props.disabledPin"
20
+ :menu-collapsed="menuCollapsed"
21
+ :show-menu="showMenu"
22
+ @collapse-menu="collapseMenu"
23
+ @change-menu-pin="changeMenuPin"
24
+ @hide-main-menu="hideMainMenu"
25
+ />
26
+ </template>
27
+
28
+ <script setup lang="ts">
29
+ import type { UI_I_NavigationItem } from '~/components/common/mainNavigationPanel/lib/models/interfaces'
30
+ import type { UI_T_ParentStatus } from '~/components/common/mainNavigationPanel/lib/models/types'
31
+
32
+ const props = withDefaults(
33
+ defineProps<{
34
+ mainMenuStatus: boolean
35
+ navigationItems: UI_I_NavigationItem[][]
36
+ parentStatus: UI_T_ParentStatus
37
+ disabledPin: boolean
38
+ isNewView?: boolean
39
+ }>(),
40
+ {
41
+ isNewView: false,
42
+ }
43
+ )
44
+
45
+ const emits = defineEmits<{
46
+ (event: 'toggle', value: boolean): void
47
+ }>()
48
+
49
+ const { $store }: any = useNuxtApp()
50
+
51
+ const route = useRoute()
52
+
53
+ const showMenu = computed<boolean>(
54
+ () => props.mainMenuStatus || menuPined.value
55
+ )
56
+
57
+ const menuPined = ref<boolean>(false)
58
+ const changeMenuPin = (): void => {
59
+ useLocalStorage('menuPined', menuPined.value)
60
+ }
61
+ const setMenuPined = (): void => {
62
+ menuPined.value = props.disabledPin ? false : !!useLocalStorage('menuPined')
63
+ }
64
+ watch(
65
+ () => props.disabledPin,
66
+ () => {
67
+ setMenuPined()
68
+ },
69
+ { immediate: true }
70
+ )
71
+
72
+ const menuCollapsed = ref<boolean>(false)
73
+ const collapseMenu = (): void => {
74
+ menuCollapsed.value = !menuCollapsed.value
75
+ useLocalStorage('menuCollapsed', menuCollapsed.value)
76
+ }
77
+
78
+ const mainMenuHovered = ref<boolean>(false)
79
+
80
+ const clickWindow = (event: Event): void => {
81
+ const target = event.target as any
82
+ if (
83
+ menuPined.value ||
84
+ mainMenuHovered.value ||
85
+ target.className.baseVal?.includes('menu-icon') ||
86
+ target.className.baseVal?.includes('clr-i-outline') ||
87
+ target.className?.includes('inventory-menu-trigger')
88
+ ) {
89
+ return
90
+ }
91
+
92
+ emits('toggle', false)
93
+ }
94
+
95
+ const mountedReady = ref<boolean>(false)
96
+ onMounted(() => {
97
+ mountedReady.value = true
98
+ window.addEventListener('click', clickWindow)
99
+ })
100
+
101
+ onUnmounted(() => {
102
+ window.removeEventListener('click', clickWindow)
103
+ })
104
+
105
+ const setSidebarOptions = (): void => {
106
+ setMenuPined()
107
+ menuCollapsed.value = !!useLocalStorage('menuCollapsed')
108
+ // SC-594
109
+ if (!showMenu.value) {
110
+ menuCollapsed.value = false
111
+ }
112
+
113
+ if (menuPined.value) {
114
+ emits('toggle', true)
115
+ }
116
+ }
117
+
118
+ watch(
119
+ [mountedReady, (): any => route.fullPath, (): any => props.parentStatus],
120
+ ([newValue1, newValue2, newValue3]: [
121
+ boolean,
122
+ any,
123
+ UI_T_ParentStatus
124
+ ]): void => {
125
+ if (newValue3 === 1) return
126
+
127
+ const name = location.pathname.split('/')[1]
128
+
129
+ if (!newValue1 || name === 'auth') return
130
+
131
+ setSidebarOptions()
132
+ useLocalStorage('navigationHistoryRoute', newValue2)
133
+ },
134
+ { immediate: true, deep: true }
135
+ )
136
+
137
+ const hideMainMenu = (): void => {
138
+ if (menuPined.value) return
139
+ emits('toggle', false)
140
+ }
141
+
142
+ watch(
143
+ menuPined,
144
+ (newValue) => {
145
+ $store.dispatch('main/A_MENU_PINED', newValue)
146
+ },
147
+ { immediate: true }
148
+ )
149
+ </script>
150
+
151
+ <style scoped lang="scss"></style>