bfg-common 1.5.30 → 1.5.31

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 (170) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/localization/local_ru.json +5 -5
  3. package/assets/scss/common/normalize.scss +339 -339
  4. package/components/atoms/TheIcon3.vue +50 -50
  5. package/components/atoms/collapse/CollapseNav.vue +165 -165
  6. package/components/atoms/dropdown/dropdown/Dropdown.vue +168 -168
  7. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  8. package/components/atoms/perPage/PerPage.vue +58 -58
  9. package/components/atoms/stack/StackBlock.vue +185 -185
  10. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  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/atoms/tabs/VerticalTabs.vue +105 -105
  14. package/components/atoms/tooltip/Signpost.vue +227 -227
  15. package/components/atoms/tooltip/Signpost.vue~ +229 -229
  16. package/components/common/accordion/Recursion.vue +222 -222
  17. package/components/common/browse/BrowseNew.vue +237 -237
  18. package/components/common/browse/BrowseOld.vue +217 -217
  19. package/components/common/browse/blocks/contents/Files.vue +37 -37
  20. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  21. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  22. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  23. package/components/common/context/Context.vue +111 -111
  24. package/components/common/context/lib/models/interfaces.ts +31 -31
  25. package/components/common/context/recursion/Recursion.vue +87 -87
  26. package/components/common/context/recursion/RecursionNew.vue +238 -238
  27. package/components/common/context/recursion/RecursionOld.vue +228 -228
  28. package/components/common/details/DetailsItem.vue +109 -109
  29. package/components/common/diagramMain/DiagramMain.vue +897 -897
  30. package/components/common/diagramMain/Header.vue +214 -214
  31. package/components/common/graph/Graph.vue +120 -104
  32. package/components/common/graph/Graph.vue~ +104 -0
  33. package/components/common/graph/graphNew/GraphNew.vue +194 -0
  34. package/components/common/graph/graphNew/lib/models/enums.ts +9 -0
  35. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  36. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  37. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  38. package/components/common/mainNavigationPanel/MainNavigationPanelNew.vue +336 -336
  39. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +311 -311
  40. package/components/common/modals/confirmByInput/ConfirmByInputNew.vue +1 -1
  41. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  42. package/components/common/monitor/advanced/graphView/GraphView.vue +2 -2
  43. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +1040 -1040
  44. package/components/common/monitor/overview/Overview.vue +5 -3
  45. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  46. package/components/common/pages/home/StatusContent.vue +49 -49
  47. package/components/common/pages/home/headline/Headline.vue +45 -45
  48. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  49. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  50. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  51. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  52. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  53. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  54. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  55. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  56. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  57. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  58. package/components/common/pages/packages/Packages.vue +208 -208
  59. package/components/common/pages/shortcuts/block/BlockNew.vue +96 -96
  60. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  61. package/components/common/portlets/customAttributes/Portlet.vue +667 -667
  62. package/components/common/portlets/tag/Portlet.vue +433 -433
  63. package/components/common/recursionTree/RecursionTree.vue +223 -223
  64. package/components/common/select/button/ButtonDropdown.vue +108 -108
  65. package/components/common/spiceConsole/Drawer.vue +370 -370
  66. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  67. package/components/common/split/horizontal/HorizontalNew.vue +376 -376
  68. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  69. package/components/common/split/vertical/Vertical.vue +160 -160
  70. package/components/common/tools/Actions.vue +188 -188
  71. package/components/common/vm/actions/add/Add.vue +622 -622
  72. package/components/common/vm/actions/clone/Clone.vue +639 -639
  73. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  74. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +634 -634
  75. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  76. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +275 -275
  77. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +274 -274
  78. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +177 -177
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +698 -698
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +410 -410
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +99 -99
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +164 -164
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +368 -368
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +232 -232
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +250 -250
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +286 -286
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +84 -84
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +81 -81
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  124. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  125. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  126. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  127. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  128. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  129. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  130. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  131. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  132. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  133. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  134. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  135. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  136. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  137. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  138. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  139. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  140. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  141. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  142. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  143. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  144. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  145. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  146. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  147. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  148. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  149. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  150. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +60 -60
  151. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +92 -92
  152. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +105 -105
  153. package/components/common/wizards/vm/migrate/Migrate.vue +302 -302
  154. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  155. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  156. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +150 -150
  157. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  158. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +43 -43
  159. package/composables/productNameLocal.ts +30 -30
  160. package/composables/useAppVersion.ts +21 -21
  161. package/package.json +3 -3
  162. package/package.json~ +3 -3
  163. package/plugins/date.ts +233 -233
  164. package/plugins/directives.ts +24 -24
  165. package/public/spice-console/lib/images/bitmap.js +203 -203
  166. package/public/spice-console/network/spicechannel.js +383 -383
  167. package/store/main/mutations.ts +7 -7
  168. package/store/main/state.ts +7 -7
  169. package/store/tasks/mappers/recentTasks.ts +64 -64
  170. package/components/common/graph/GraphNew.vue +0 -179
@@ -1,7 +1,7 @@
1
- import type { UI_I_MainState } from '~/store/main/lib/interfaces'
2
-
3
- export default {
4
- M_MENU_PINED(state: UI_I_MainState, payload: boolean): void {
5
- state.isMenuPined = payload
6
- },
7
- }
1
+ import type { UI_I_MainState } from '~/store/main/lib/interfaces'
2
+
3
+ export default {
4
+ M_MENU_PINED(state: UI_I_MainState, payload: boolean): void {
5
+ state.isMenuPined = payload
6
+ },
7
+ }
@@ -1,7 +1,7 @@
1
- import type {UI_I_MainState} from "~/store/main/lib/interfaces";
2
-
3
- const state: UI_I_MainState = {
4
- isMenuPined: false,
5
- }
6
-
7
- export default state
1
+ import type {UI_I_MainState} from "~/store/main/lib/interfaces";
2
+
3
+ const state: UI_I_MainState = {
4
+ isMenuPined: false,
5
+ }
6
+
7
+ export default state
@@ -1,64 +1,64 @@
1
- import {
2
- UI_E_RecentTaskStatus,
3
- UI_E_IconNameByRecentTaskStatus,
4
- } from '~/lib/models/store/tasks/enums'
5
- import type {
6
- API_UI_I_RecentTask,
7
- UI_I_RecentTask,
8
- } from '~/lib/models/store/tasks/interfaces'
9
- import { base64 } from '~/lib/utils/base64'
10
-
11
- export const recentTasks = (
12
- data: API_UI_I_RecentTask<string>
13
- ): UI_I_RecentTask<string> => {
14
- const items =
15
- data.items
16
- ?.sort((a, b) => {
17
- return b.start_time - a.start_time
18
- })
19
- .map((task) => {
20
- let args: any = {}
21
- try {
22
- args = base64.decode(task.args)
23
- } catch (error) {
24
- args = {}
25
- }
26
-
27
- let completion: string = task.completion + '' || '--'
28
- let execution: string | number = Math.abs(task.start_time - task.completion)
29
- let queuedFor: number = task.start_time - task.creation_time
30
- let startTime: string = task.start_time + '' || '--'
31
- // Обрабатываем данные когда задачка в ожидании
32
- if (task.status === 0) {
33
- completion = '--'
34
- execution = '--'
35
- queuedFor = 0
36
- startTime = (Date.now() / 1000) + ''
37
- }
38
-
39
- return {
40
- args,
41
- completion,
42
- execution,
43
- queuedFor,
44
- startTime,
45
- details: task.details,
46
- error: task.error,
47
- initiator: task.initiator,
48
- server: task.server,
49
- statusIcon: UI_E_IconNameByRecentTaskStatus[task.status],
50
- statusText: task.error || UI_E_RecentTaskStatus[task.status],
51
- status: task.status,
52
- target: task.target,
53
- targetType: task.target_type,
54
- taskName: task.task_name,
55
- id: task.id,
56
- zone: task.zone,
57
- extra: task.extra,
58
- }
59
- }) || []
60
- return {
61
- items,
62
- last: data.last,
63
- }
64
- }
1
+ import {
2
+ UI_E_RecentTaskStatus,
3
+ UI_E_IconNameByRecentTaskStatus,
4
+ } from '~/lib/models/store/tasks/enums'
5
+ import type {
6
+ API_UI_I_RecentTask,
7
+ UI_I_RecentTask,
8
+ } from '~/lib/models/store/tasks/interfaces'
9
+ import { base64 } from '~/lib/utils/base64'
10
+
11
+ export const recentTasks = (
12
+ data: API_UI_I_RecentTask<string>
13
+ ): UI_I_RecentTask<string> => {
14
+ const items =
15
+ data.items
16
+ ?.sort((a, b) => {
17
+ return b.start_time - a.start_time
18
+ })
19
+ .map((task) => {
20
+ let args: any = {}
21
+ try {
22
+ args = base64.decode(task.args)
23
+ } catch (error) {
24
+ args = {}
25
+ }
26
+
27
+ let completion: string = task.completion + '' || '--'
28
+ let execution: string | number = Math.abs(task.start_time - task.completion)
29
+ let queuedFor: number = task.start_time - task.creation_time
30
+ let startTime: string = task.start_time + '' || '--'
31
+ // Обрабатываем данные когда задачка в ожидании
32
+ if (task.status === 0) {
33
+ completion = '--'
34
+ execution = '--'
35
+ queuedFor = 0
36
+ startTime = (Date.now() / 1000) + ''
37
+ }
38
+
39
+ return {
40
+ args,
41
+ completion,
42
+ execution,
43
+ queuedFor,
44
+ startTime,
45
+ details: task.details,
46
+ error: task.error,
47
+ initiator: task.initiator,
48
+ server: task.server,
49
+ statusIcon: UI_E_IconNameByRecentTaskStatus[task.status],
50
+ statusText: task.error || UI_E_RecentTaskStatus[task.status],
51
+ status: task.status,
52
+ target: task.target,
53
+ targetType: task.target_type,
54
+ taskName: task.task_name,
55
+ id: task.id,
56
+ zone: task.zone,
57
+ extra: task.extra,
58
+ }
59
+ }) || []
60
+ return {
61
+ items,
62
+ last: data.last,
63
+ }
64
+ }
@@ -1,179 +0,0 @@
1
- <template>
2
- <div :class="['graph-content', ...hiddenButtons]">
3
- <template v-if="props.chartOptions">
4
- <client-only>
5
- <highchart
6
- :options="props.chartOptions"
7
- :modules="['exporting', 'export-data']"
8
- class="graph-block"
9
- />
10
- </client-only>
11
- </template>
12
- </div>
13
- </template>
14
-
15
- <script setup lang="ts">
16
- const props = defineProps<{
17
- chartOptions: any
18
- }>()
19
-
20
- const hiddenButtons = computed<string[]>(() => {
21
- const result = []
22
- const chartOptions = props.chartOptions
23
- if (chartOptions) {
24
- const { openNewWindow } = chartOptions.exporting.menuItemDefinitions || {}
25
-
26
- if (openNewWindow.isHide) result.push('hide-new-window')
27
- }
28
-
29
- return result
30
- })
31
- </script>
32
-
33
- <style>
34
- :root {
35
- --chart-background-color: #ffffff;
36
- --chart-menu-line-color: #4d5d69;
37
- --chart-menu-line-hover-color: #213444;
38
- --chart-menu-line-active-color: #008fd6;
39
- --chart-menu-background-color: #ffffff;
40
- --chart-menu-box-shadow: 0px 4px 20px 0px #0000001f;
41
- --chart-menu-border-color: #e9ebed;
42
- --chart-menu-item-color: #4d5d69;
43
- --chart-menu-item-hover-color: #182531;
44
- --chart-menu-item-hover-background-color: rgba(233, 235, 237, 0.4);
45
-
46
- --chart-menu-download-icon: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14 10V12.6667C14 13.0203 13.8595 13.3594 13.6095 13.6095C13.3594 13.8595 13.0203 14 12.6667 14H3.33333C2.97971 14 2.64057 13.8595 2.39052 13.6095C2.14048 13.3594 2 13.0203 2 12.6667V10' stroke='%234D5D69' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.66602 6.66675L7.99935 10.0001L11.3327 6.66675' stroke='%234D5D69' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8 9.33333V2' stroke='%234D5D69' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
47
- --chart-menu-download-icon-hover: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14 10V12.6667C14 13.0203 13.8595 13.3594 13.6095 13.6095C13.3594 13.8595 13.0203 14 12.6667 14H3.33333C2.97971 14 2.64057 13.8595 2.39052 13.6095C2.14048 13.3594 2 13.0203 2 12.6667V10' stroke='%23182531' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.66602 6.66675L7.99935 10.0001L11.3327 6.66675' stroke='%23182531' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8 9.33333V2' stroke='%23182531' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
48
- --chart-menu-print-icon: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_8044_4828)'%3E%3Cpath d='M4 5.33342V2.33341C4 1.96522 4.29848 1.66675 4.66667 1.66675H11.3333C11.7015 1.66675 12 1.96522 12 2.33341V5.33342' stroke='%234D5D69' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.00065 11.6668H2.66732C1.93094 11.6668 1.33398 11.0699 1.33398 10.3335V6.66683C1.33398 5.93045 1.93094 5.3335 2.66732 5.3335H13.334C14.0704 5.3335 14.6673 5.93045 14.6673 6.66683V10.3335C14.6673 11.0699 14.0704 11.6668 13.334 11.6668H12.0007' stroke='%234D5D69' stroke-width='1.4'/%3E%3Cpath d='M11.3333 9H4.66667C4.29848 9 4 9.29848 4 9.66667V13.6667C4 14.0349 4.29848 14.3333 4.66667 14.3333H11.3333C11.7015 14.3333 12 14.0349 12 13.6667V9.66667C12 9.29848 11.7015 9 11.3333 9Z' stroke='%234D5D69' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_8044_4828'%3E%3Crect width='16' height='16' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
49
- --chart-menu-print-icon-hover: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_8044_4828)'%3E%3Cpath d='M4 5.33342V2.33341C4 1.96522 4.29848 1.66675 4.66667 1.66675H11.3333C11.7015 1.66675 12 1.96522 12 2.33341V5.33342' stroke='%23182531' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.00065 11.6668H2.66732C1.93094 11.6668 1.33398 11.0699 1.33398 10.3335V6.66683C1.33398 5.93045 1.93094 5.3335 2.66732 5.3335H13.334C14.0704 5.3335 14.6673 5.93045 14.6673 6.66683V10.3335C14.6673 11.0699 14.0704 11.6668 13.334 11.6668H12.0007' stroke='%23182531' stroke-width='1.4'/%3E%3Cpath d='M11.3333 9H4.66667C4.29848 9 4 9.29848 4 9.66667V13.6667C4 14.0349 4.29848 14.3333 4.66667 14.3333H11.3333C11.7015 14.3333 12 14.0349 12 13.6667V9.66667C12 9.29848 11.7015 9 11.3333 9Z' stroke='%23182531' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_8044_4828'%3E%3Crect width='16' height='16' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
50
- --chart-menu-full-screen-icon: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_8044_4891)'%3E%3Cpath d='M5.03769 1.33325H2.81547C2.42255 1.33325 2.04573 1.48934 1.7679 1.76717C1.49007 2.045 1.33398 2.42182 1.33398 2.81473V5.03696M14.6673 5.03696V2.81473C14.6673 2.42182 14.5112 2.045 14.2334 1.76717C13.9556 1.48934 13.5788 1.33325 13.1858 1.33325H10.9636M10.9636 14.6666H13.1858C13.5788 14.6666 13.9556 14.5105 14.2334 14.2327C14.5112 13.9548 14.6673 13.578 14.6673 13.1851V10.9629M1.33398 10.9629V13.1851C1.33398 13.578 1.49007 13.9548 1.7679 14.2327C2.04573 14.5105 2.42255 14.6666 2.81547 14.6666H5.03769' stroke='%234D5D69' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_8044_4891'%3E%3Crect width='16' height='16' fill='red'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
51
- --chart-menu-full-screen-icon-hover: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_8044_4891)'%3E%3Cpath d='M5.03769 1.33325H2.81547C2.42255 1.33325 2.04573 1.48934 1.7679 1.76717C1.49007 2.045 1.33398 2.42182 1.33398 2.81473V5.03696M14.6673 5.03696V2.81473C14.6673 2.42182 14.5112 2.045 14.2334 1.76717C13.9556 1.48934 13.5788 1.33325 13.1858 1.33325H10.9636M10.9636 14.6666H13.1858C13.5788 14.6666 13.9556 14.5105 14.2334 14.2327C14.5112 13.9548 14.6673 13.578 14.6673 13.1851V10.9629M1.33398 10.9629V13.1851C1.33398 13.578 1.49007 13.9548 1.7679 14.2327C2.04573 14.5105 2.42255 14.6666 2.81547 14.6666H5.03769' stroke='%23182531' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_8044_4891'%3E%3Crect width='16' height='16' fill='red'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
52
- --chart-menu-new-tab-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M10 2H14V6' stroke='%234D5D69' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.66699 9.33333L14.0003 2' stroke='%234D5D69' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7.33333 4H3.33333C2.59695 4 2 4.59695 2 5.33333V12.6667C2 13.403 2.59695 14 3.33333 14H10.6667C11.403 14 12 13.403 12 12.6667V8.66667' stroke='%234D5D69' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");
53
- --chart-menu-new-tab-icon-hover: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M10 2H14V6' stroke='%23182531' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.66699 9.33333L14.0003 2' stroke='%23182531' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7.33333 4H3.33333C2.59695 4 2 4.59695 2 5.33333V12.6667C2 13.403 2.59695 14 3.33333 14H10.6667C11.403 14 12 13.403 12 12.6667V8.66667' stroke='%23182531' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");
54
- }
55
- :root.dark-theme {
56
- --chart-background-color: #334453;
57
- --chart-menu-line-color: #e9eaec;
58
- --chart-menu-line-hover-color: #ffffff;
59
- --chart-menu-line-active-color: #2ba2de;
60
- --chart-menu-background-color: #334453;
61
- --chart-menu-box-shadow: 0px 4px 20px 0px #0000001f,
62
- 0px -1px 12px 0px #00000014;
63
- --chart-menu-border-color: #e9ebed1f;
64
- --chart-menu-item-color: #e9eaec;
65
- --chart-menu-item-hover-color: #ffffff;
66
- --chart-menu-item-hover-background-color: #e9ebed0f;
67
-
68
- --chart-menu-download-icon: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14 10V12.6667C14 13.0203 13.8595 13.3594 13.6095 13.6095C13.3594 13.8595 13.0203 14 12.6667 14H3.33333C2.97971 14 2.64057 13.8595 2.39052 13.6095C2.14048 13.3594 2 13.0203 2 12.6667V10' stroke='%23E9EAEC' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.66602 6.66675L7.99935 10.0001L11.3327 6.66675' stroke='%23E9EAEC' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8 9.33333V2' stroke='%23E9EAEC' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
69
- --chart-menu-download-icon-hover: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14 10V12.6667C14 13.0203 13.8595 13.3594 13.6095 13.6095C13.3594 13.8595 13.0203 14 12.6667 14H3.33333C2.97971 14 2.64057 13.8595 2.39052 13.6095C2.14048 13.3594 2 13.0203 2 12.6667V10' stroke='%23FFFFFF' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.66602 6.66675L7.99935 10.0001L11.3327 6.66675' stroke='%23FFFFFF' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8 9.33333V2' stroke='%23FFFFFF' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
70
- --chart-menu-print-icon: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_8044_4828)'%3E%3Cpath d='M4 5.33342V2.33341C4 1.96522 4.29848 1.66675 4.66667 1.66675H11.3333C11.7015 1.66675 12 1.96522 12 2.33341V5.33342' stroke='%23E9EAEC' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.00065 11.6668H2.66732C1.93094 11.6668 1.33398 11.0699 1.33398 10.3335V6.66683C1.33398 5.93045 1.93094 5.3335 2.66732 5.3335H13.334C14.0704 5.3335 14.6673 5.93045 14.6673 6.66683V10.3335C14.6673 11.0699 14.0704 11.6668 13.334 11.6668H12.0007' stroke='%23E9EAEC' stroke-width='1.4'/%3E%3Cpath d='M11.3333 9H4.66667C4.29848 9 4 9.29848 4 9.66667V13.6667C4 14.0349 4.29848 14.3333 4.66667 14.3333H11.3333C11.7015 14.3333 12 14.0349 12 13.6667V9.66667C12 9.29848 11.7015 9 11.3333 9Z' stroke='%23E9EAEC' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_8044_4828'%3E%3Crect width='16' height='16' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
71
- --chart-menu-print-icon-hover: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_8044_4828)'%3E%3Cpath d='M4 5.33342V2.33341C4 1.96522 4.29848 1.66675 4.66667 1.66675H11.3333C11.7015 1.66675 12 1.96522 12 2.33341V5.33342' stroke='%23FFFFFF' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.00065 11.6668H2.66732C1.93094 11.6668 1.33398 11.0699 1.33398 10.3335V6.66683C1.33398 5.93045 1.93094 5.3335 2.66732 5.3335H13.334C14.0704 5.3335 14.6673 5.93045 14.6673 6.66683V10.3335C14.6673 11.0699 14.0704 11.6668 13.334 11.6668H12.0007' stroke='%23FFFFFF' stroke-width='1.4'/%3E%3Cpath d='M11.3333 9H4.66667C4.29848 9 4 9.29848 4 9.66667V13.6667C4 14.0349 4.29848 14.3333 4.66667 14.3333H11.3333C11.7015 14.3333 12 14.0349 12 13.6667V9.66667C12 9.29848 11.7015 9 11.3333 9Z' stroke='%23FFFFFF' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_8044_4828'%3E%3Crect width='16' height='16' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
72
- --chart-menu-full-screen-icon: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_8044_4891)'%3E%3Cpath d='M5.03769 1.33325H2.81547C2.42255 1.33325 2.04573 1.48934 1.7679 1.76717C1.49007 2.045 1.33398 2.42182 1.33398 2.81473V5.03696M14.6673 5.03696V2.81473C14.6673 2.42182 14.5112 2.045 14.2334 1.76717C13.9556 1.48934 13.5788 1.33325 13.1858 1.33325H10.9636M10.9636 14.6666H13.1858C13.5788 14.6666 13.9556 14.5105 14.2334 14.2327C14.5112 13.9548 14.6673 13.578 14.6673 13.1851V10.9629M1.33398 10.9629V13.1851C1.33398 13.578 1.49007 13.9548 1.7679 14.2327C2.04573 14.5105 2.42255 14.6666 2.81547 14.6666H5.03769' stroke='%23E9EAEC' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_8044_4891'%3E%3Crect width='16' height='16' fill='red'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
73
- --chart-menu-full-screen-icon-hover: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_8044_4891)'%3E%3Cpath d='M5.03769 1.33325H2.81547C2.42255 1.33325 2.04573 1.48934 1.7679 1.76717C1.49007 2.045 1.33398 2.42182 1.33398 2.81473V5.03696M14.6673 5.03696V2.81473C14.6673 2.42182 14.5112 2.045 14.2334 1.76717C13.9556 1.48934 13.5788 1.33325 13.1858 1.33325H10.9636M10.9636 14.6666H13.1858C13.5788 14.6666 13.9556 14.5105 14.2334 14.2327C14.5112 13.9548 14.6673 13.578 14.6673 13.1851V10.9629M1.33398 10.9629V13.1851C1.33398 13.578 1.49007 13.9548 1.7679 14.2327C2.04573 14.5105 2.42255 14.6666 2.81547 14.6666H5.03769' stroke='%23FFFFFF' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_8044_4891'%3E%3Crect width='16' height='16' fill='red'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
74
- --chart-menu-new-tab-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M10 2H14V6' stroke='%23E9EAEC' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.66699 9.33333L14.0003 2' stroke='%23E9EAEC' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7.33333 4H3.33333C2.59695 4 2 4.59695 2 5.33333V12.6667C2 13.403 2.59695 14 3.33333 14H10.6667C11.403 14 12 13.403 12 12.6667V8.66667' stroke='%23E9EAEC' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");
75
- --chart-menu-new-tab-icon-hover: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M10 2H14V6' stroke='%23ffffff' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.66699 9.33333L14.0003 2' stroke='%23ffffff' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7.33333 4H3.33333C2.59695 4 2 4.59695 2 5.33333V12.6667C2 13.403 2.59695 14 3.33333 14H10.6667C11.403 14 12 13.403 12 12.6667V8.66667' stroke='%23ffffff' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");
76
- }
77
- </style>
78
- <style scoped lang="scss">
79
- .graph-content {
80
- width: 100%;
81
- //height: inherit;
82
- height: 100%;
83
-
84
- &.hide-new-window {
85
- :deep(.highcharts-menu) {
86
- .highcharts-menu-item:first-child {
87
- display: none;
88
- }
89
- }
90
- }
91
-
92
- .graph-block {
93
- height: 100%;
94
- border-radius: 8px;
95
- box-shadow: 0 1px 4px 0 #00000014;
96
- overflow: hidden;
97
- }
98
- }
99
-
100
- :deep(.highcharts-background) {
101
- fill: var(--chart-background-color);
102
- }
103
- :deep(.highcharts-button-box) {
104
- fill: transparent;
105
-
106
- &:hover + .highcharts-button-symbol {
107
- stroke: var(--chart-menu-line-hover-color);
108
- }
109
- }
110
- // TODO найти решение по лучше
111
- :deep(.highcharts-button-box[fill='#e6e9ff'] + .highcharts-button-symbol) {
112
- stroke: var(--chart-menu-line-active-color);
113
- }
114
- :deep(.highcharts-button-symbol) {
115
- stroke: var(--chart-menu-line-color);
116
- stroke-width: 2px;
117
- }
118
- :deep(.highcharts-menu) {
119
- display: flex;
120
- flex-direction: column;
121
- gap: 8px;
122
- background-color: var(--chart-menu-background-color) !important;
123
- box-shadow: var(--chart-menu-box-shadow) !important;
124
- padding: 8px !important;
125
- border-radius: 8px !important;
126
-
127
- .highcharts-menu-item {
128
- display: flex;
129
- align-items: center;
130
- gap: 8px;
131
- font-size: 13px !important;
132
- font-weight: 500 !important;
133
- color: var(--chart-menu-item-color) !important;
134
- padding: 8px !important;
135
-
136
- &:hover {
137
- color: var(--chart-menu-item-hover-color) !important;
138
- background-color: var(
139
- --chart-menu-item-hover-background-color
140
- ) !important;
141
-
142
- &::before {
143
- content: var(--chart-menu-download-icon-hover);
144
- }
145
- &:first-child::before {
146
- content: var(--chart-menu-new-tab-icon-hover);
147
- }
148
- &:nth-child(2)::before {
149
- content: var(--chart-menu-full-screen-icon-hover);
150
- }
151
- &:nth-child(3)::before {
152
- content: var(--chart-menu-print-icon-hover);
153
- }
154
- }
155
- &::before {
156
- content: var(--chart-menu-download-icon);
157
- display: inline-block;
158
- width: 16px;
159
- height: 16px;
160
- }
161
- &:first-child::before {
162
- content: var(--chart-menu-new-tab-icon);
163
- }
164
- &:nth-child(2)::before {
165
- content: var(--chart-menu-full-screen-icon);
166
- }
167
- &:nth-child(3)::before {
168
- content: var(--chart-menu-print-icon);
169
- }
170
- }
171
- hr {
172
- margin: 0 8px;
173
- border: unset;
174
- width: calc(100% - 16px);
175
- height: 1px;
176
- background-color: var(--chart-menu-border-color);
177
- }
178
- }
179
- </style>