bfg-common 1.4.814 → 1.4.816
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.
- package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
- package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
- package/assets/img/icons/icons-sprite-light-3.svg +227 -227
- package/assets/img/icons/icons-sprite-light-5.svg +488 -488
- package/assets/scss/common/normalize.scss +361 -361
- package/components/atoms/TheIcon3.vue +50 -50
- package/components/atoms/modal/bySteps/BySteps.vue +253 -253
- package/components/atoms/stack/StackBlock.vue +185 -185
- package/components/atoms/table/dataGrid/DataGrid.vue +1704 -1704
- package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
- package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
- package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
- package/components/common/browse/BrowseNew.vue +237 -237
- package/components/common/browse/BrowseOld.vue +217 -217
- package/components/common/browse/blocks/contents/Files.vue +37 -37
- package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
- package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
- package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
- package/components/common/browse/blocks/lib/models/types.ts +1 -1
- package/components/common/browse/lib/models/interfaces.ts +5 -5
- package/components/common/context/Context.vue +111 -111
- package/components/common/context/lib/models/interfaces.ts +30 -30
- package/components/common/context/recursion/Recursion.vue +87 -87
- package/components/common/context/recursion/RecursionNew.vue +237 -237
- package/components/common/context/recursion/RecursionOld.vue +227 -227
- package/components/common/details/DetailsItem.vue +109 -109
- package/components/common/diagramMain/Header.vue +211 -211
- package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
- package/components/common/diagramMain/lib/config/initial.ts +50 -50
- package/components/common/diagramMain/lib/models/types.ts +21 -21
- package/components/common/diagramMain/lib/utils/utils.ts +331 -331
- package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +330 -330
- package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -40
- package/components/common/diagramMain/modals/editSettings/EditSettings.vue +497 -497
- package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +812 -812
- package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
- package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
- package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
- package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
- package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
- package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +205 -205
- package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +23 -23
- package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
- package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
- package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
- package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
- package/components/common/diagramMain/port/Ports.vue +47 -47
- package/components/common/graph/Graph.vue +104 -104
- package/components/common/graph/GraphNew.vue +144 -144
- package/components/common/graph/GraphOld.vue +31 -31
- package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
- package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
- package/components/common/modals/confirmByInput/ConfirmByInput.vue +206 -206
- package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
- package/components/common/monitor/overview/Overview.vue +221 -221
- package/components/common/monitor/overview/OverviewNew.vue +142 -136
- package/components/common/monitor/overview/OverviewOld.vue +139 -137
- package/components/common/monitor/overview/filters/Filters.vue +166 -166
- package/components/common/monitor/overview/filters/FiltersNew.vue +169 -168
- package/components/common/monitor/overview/filters/FiltersOld.vue +151 -151
- package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +175 -173
- package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModalNew.vue +181 -155
- package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModalOld.vue +161 -155
- package/components/common/pages/home/StatusContent.vue +49 -49
- package/components/common/pages/home/headline/Headline.vue +45 -45
- package/components/common/pages/home/headline/HeadlineNew.vue +71 -71
- package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
- package/components/common/pages/home/lib/models/interfaces.ts +48 -48
- package/components/common/pages/home/widgets/Widgets.vue +49 -49
- package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
- package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
- package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
- package/components/common/pages/home/widgets/hosts/HostsNew.vue +100 -100
- package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
- package/components/common/pages/home/widgets/services/lib/config/config.ts +108 -108
- package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
- package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
- package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
- package/components/common/pages/packages/Packages.vue +208 -208
- package/components/common/recursionTree/RecursionTree.vue +223 -223
- package/components/common/select/button/ButtonDropdown.vue +108 -108
- package/components/common/spiceConsole/Drawer.vue +370 -370
- package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
- package/components/common/split/horizontal/HorizontalNew.vue +376 -376
- package/components/common/split/horizontal/HorizontalOld.vue +337 -337
- package/components/common/split/vertical/Vertical.vue +160 -160
- package/components/common/vm/actions/add/Add.vue +621 -621
- package/components/common/vm/actions/clone/Clone.vue +639 -639
- package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
- package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +271 -271
- package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +271 -271
- package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +174 -174
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +161 -161
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +165 -165
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +357 -357
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +281 -281
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +84 -84
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +81 -81
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
- package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
- package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
- package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
- package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
- package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
- package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
- package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
- package/components/common/wizards/vm/migrate/Migrate.vue +288 -288
- package/composables/productNameLocal.ts +30 -30
- package/composables/useAppVersion.ts +21 -21
- package/package.json +1 -1
- package/plugins/date.ts +233 -233
- package/plugins/recursion.ts +311 -311
- package/public/spice-console/lib/images/bitmap.js +203 -203
- package/public/spice-console/network/spicechannel.js +383 -383
- package/store/main/mutations.ts +7 -7
- package/store/main/state.ts +7 -7
- package/store/tasks/mappers/recentTasks.ts +64 -64
|
@@ -1,104 +1,104 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<common-graph-new v-if="isNewView" :chart-options="chartOptions" />
|
|
3
|
-
<common-graph-old v-else :chart-options="chartOptions" />
|
|
4
|
-
</template>
|
|
5
|
-
|
|
6
|
-
<script setup lang="ts">
|
|
7
|
-
import type {
|
|
8
|
-
I_LineGraph,
|
|
9
|
-
I_DiskGraph,
|
|
10
|
-
} from 'bfg-nuxt-3-graph/graph/lib/models/interfaces'
|
|
11
|
-
|
|
12
|
-
const props = defineProps<{
|
|
13
|
-
chart?: any
|
|
14
|
-
data: I_LineGraph | I_DiskGraph
|
|
15
|
-
update: number
|
|
16
|
-
exportType?: string
|
|
17
|
-
selectedRow?: number[]
|
|
18
|
-
}>()
|
|
19
|
-
|
|
20
|
-
const { $store }: any = useNuxtApp()
|
|
21
|
-
const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
|
|
22
|
-
|
|
23
|
-
let localChart: any = null
|
|
24
|
-
const exportChart = (type: string): void => {
|
|
25
|
-
if (type === 'png') {
|
|
26
|
-
localChart.exportChart({
|
|
27
|
-
type: 'image/png',
|
|
28
|
-
})
|
|
29
|
-
} else if (type === 'jpeg') {
|
|
30
|
-
localChart.exportChart({
|
|
31
|
-
type: 'image/jpeg',
|
|
32
|
-
})
|
|
33
|
-
} else if (type === 'svg') {
|
|
34
|
-
localChart.exportChart({
|
|
35
|
-
type: 'image/svg+xml',
|
|
36
|
-
})
|
|
37
|
-
} else if (type === 'csv') {
|
|
38
|
-
localChart.downloadCSV()
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
const chartOptions = ref<I_LineGraph | I_DiskGraph | null>(null)
|
|
43
|
-
const initGraph = (): void => {
|
|
44
|
-
if (!props.data) return
|
|
45
|
-
setTimeout(() => {
|
|
46
|
-
chartOptions.value = props.data
|
|
47
|
-
}, 500)
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
watch(
|
|
51
|
-
() => props.update,
|
|
52
|
-
(newValue) => {
|
|
53
|
-
newValue && initGraph()
|
|
54
|
-
},
|
|
55
|
-
{ immediate: true }
|
|
56
|
-
)
|
|
57
|
-
|
|
58
|
-
watch(
|
|
59
|
-
() => props.exportType,
|
|
60
|
-
(newValue) => {
|
|
61
|
-
if (!newValue) return
|
|
62
|
-
|
|
63
|
-
exportChart(newValue)
|
|
64
|
-
}
|
|
65
|
-
)
|
|
66
|
-
|
|
67
|
-
watch(
|
|
68
|
-
() => props.chart,
|
|
69
|
-
(newValue) => {
|
|
70
|
-
if (newValue.series) localChart = newValue
|
|
71
|
-
},
|
|
72
|
-
{ deep: true }
|
|
73
|
-
)
|
|
74
|
-
|
|
75
|
-
const updateSeriesStrokeWidth = (data: number[]): void => {
|
|
76
|
-
if (!localChart) return
|
|
77
|
-
|
|
78
|
-
const newChartOptions = chartOptions.value
|
|
79
|
-
newChartOptions.series.forEach((_: any, key: number) => {
|
|
80
|
-
newChartOptions.series[key].lineWidth = 1.5
|
|
81
|
-
|
|
82
|
-
if (data.includes(key)) newChartOptions.series[key].lineWidth = 3
|
|
83
|
-
})
|
|
84
|
-
|
|
85
|
-
chartOptions.value = newChartOptions
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
watch(
|
|
89
|
-
() => props.selectedRow,
|
|
90
|
-
(newValue) => newValue && updateSeriesStrokeWidth(newValue)
|
|
91
|
-
)
|
|
92
|
-
</script>
|
|
93
|
-
|
|
94
|
-
<style scoped lang="scss">
|
|
95
|
-
.graph-content {
|
|
96
|
-
width: 100%;
|
|
97
|
-
//height: inherit;
|
|
98
|
-
height: 100%;
|
|
99
|
-
|
|
100
|
-
.graph-block {
|
|
101
|
-
height: 100%;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<common-graph-new v-if="isNewView" :chart-options="chartOptions" />
|
|
3
|
+
<common-graph-old v-else :chart-options="chartOptions" />
|
|
4
|
+
</template>
|
|
5
|
+
|
|
6
|
+
<script setup lang="ts">
|
|
7
|
+
import type {
|
|
8
|
+
I_LineGraph,
|
|
9
|
+
I_DiskGraph,
|
|
10
|
+
} from 'bfg-nuxt-3-graph/graph/lib/models/interfaces'
|
|
11
|
+
|
|
12
|
+
const props = defineProps<{
|
|
13
|
+
chart?: any
|
|
14
|
+
data: I_LineGraph | I_DiskGraph
|
|
15
|
+
update: number
|
|
16
|
+
exportType?: string
|
|
17
|
+
selectedRow?: number[]
|
|
18
|
+
}>()
|
|
19
|
+
|
|
20
|
+
const { $store }: any = useNuxtApp()
|
|
21
|
+
const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
|
|
22
|
+
|
|
23
|
+
let localChart: any = null
|
|
24
|
+
const exportChart = (type: string): void => {
|
|
25
|
+
if (type === 'png') {
|
|
26
|
+
localChart.exportChart({
|
|
27
|
+
type: 'image/png',
|
|
28
|
+
})
|
|
29
|
+
} else if (type === 'jpeg') {
|
|
30
|
+
localChart.exportChart({
|
|
31
|
+
type: 'image/jpeg',
|
|
32
|
+
})
|
|
33
|
+
} else if (type === 'svg') {
|
|
34
|
+
localChart.exportChart({
|
|
35
|
+
type: 'image/svg+xml',
|
|
36
|
+
})
|
|
37
|
+
} else if (type === 'csv') {
|
|
38
|
+
localChart.downloadCSV()
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const chartOptions = ref<I_LineGraph | I_DiskGraph | null>(null)
|
|
43
|
+
const initGraph = (): void => {
|
|
44
|
+
if (!props.data) return
|
|
45
|
+
setTimeout(() => {
|
|
46
|
+
chartOptions.value = props.data
|
|
47
|
+
}, 500)
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
watch(
|
|
51
|
+
() => props.update,
|
|
52
|
+
(newValue) => {
|
|
53
|
+
newValue && initGraph()
|
|
54
|
+
},
|
|
55
|
+
{ immediate: true }
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
watch(
|
|
59
|
+
() => props.exportType,
|
|
60
|
+
(newValue) => {
|
|
61
|
+
if (!newValue) return
|
|
62
|
+
|
|
63
|
+
exportChart(newValue)
|
|
64
|
+
}
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
watch(
|
|
68
|
+
() => props.chart,
|
|
69
|
+
(newValue) => {
|
|
70
|
+
if (newValue.series) localChart = newValue
|
|
71
|
+
},
|
|
72
|
+
{ deep: true }
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
const updateSeriesStrokeWidth = (data: number[]): void => {
|
|
76
|
+
if (!localChart) return
|
|
77
|
+
|
|
78
|
+
const newChartOptions = chartOptions.value
|
|
79
|
+
newChartOptions.series.forEach((_: any, key: number) => {
|
|
80
|
+
newChartOptions.series[key].lineWidth = 1.5
|
|
81
|
+
|
|
82
|
+
if (data.includes(key)) newChartOptions.series[key].lineWidth = 3
|
|
83
|
+
})
|
|
84
|
+
|
|
85
|
+
chartOptions.value = newChartOptions
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
watch(
|
|
89
|
+
() => props.selectedRow,
|
|
90
|
+
(newValue) => newValue && updateSeriesStrokeWidth(newValue)
|
|
91
|
+
)
|
|
92
|
+
</script>
|
|
93
|
+
|
|
94
|
+
<style scoped lang="scss">
|
|
95
|
+
.graph-content {
|
|
96
|
+
width: 100%;
|
|
97
|
+
//height: inherit;
|
|
98
|
+
height: 100%;
|
|
99
|
+
|
|
100
|
+
.graph-block {
|
|
101
|
+
height: 100%;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
</style>
|
|
@@ -1,144 +1,144 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="graph-content">
|
|
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
|
-
</script>
|
|
20
|
-
|
|
21
|
-
<style>
|
|
22
|
-
:root {
|
|
23
|
-
--chart-background-color: #ffffff;
|
|
24
|
-
--chart-menu-line-color: #4d5d69;
|
|
25
|
-
--chart-menu-line-hover-color: #213444;
|
|
26
|
-
--chart-menu-line-active-color: #008fd6;
|
|
27
|
-
--chart-menu-background-color: #ffffff;
|
|
28
|
-
--chart-menu-box-shadow: 0px 4px 20px 0px #0000001f;
|
|
29
|
-
--chart-menu-border-color: #e9ebed;
|
|
30
|
-
--chart-menu-item-color: #4d5d69;
|
|
31
|
-
--chart-menu-item-hover-color: #182531;
|
|
32
|
-
--chart-menu-item-hover-background-color: #e9ebed;
|
|
33
|
-
|
|
34
|
-
--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");
|
|
35
|
-
--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");
|
|
36
|
-
--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");
|
|
37
|
-
--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");
|
|
38
|
-
--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");
|
|
39
|
-
--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");
|
|
40
|
-
}
|
|
41
|
-
:root.dark-theme {
|
|
42
|
-
--chart-background-color: #334453;
|
|
43
|
-
--chart-menu-line-color: #e9eaec;
|
|
44
|
-
--chart-menu-line-hover-color: #ffffff;
|
|
45
|
-
--chart-menu-line-active-color: #2ba2de;
|
|
46
|
-
--chart-menu-background-color: #334453;
|
|
47
|
-
--chart-menu-box-shadow: 0px 4px 20px 0px #0000001f,
|
|
48
|
-
0px -1px 12px 0px #00000014;
|
|
49
|
-
--chart-menu-border-color: #e9ebed1f;
|
|
50
|
-
--chart-menu-item-color: #e9eaec;
|
|
51
|
-
--chart-menu-item-hover-color: #ffffff;
|
|
52
|
-
--chart-menu-item-hover-background-color: #e9ebed0f;
|
|
53
|
-
|
|
54
|
-
--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");
|
|
55
|
-
--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");
|
|
56
|
-
--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");
|
|
57
|
-
--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");
|
|
58
|
-
--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");
|
|
59
|
-
--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");
|
|
60
|
-
}
|
|
61
|
-
</style>
|
|
62
|
-
<style scoped lang="scss">
|
|
63
|
-
.graph-content {
|
|
64
|
-
width: 100%;
|
|
65
|
-
//height: inherit;
|
|
66
|
-
height: 100%;
|
|
67
|
-
|
|
68
|
-
.graph-block {
|
|
69
|
-
height: 100%;
|
|
70
|
-
border-radius: 8px;
|
|
71
|
-
box-shadow: 0px 1px 4px 0px #00000014;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
:deep(.highcharts-background) {
|
|
76
|
-
fill: var(--chart-background-color);
|
|
77
|
-
}
|
|
78
|
-
:deep(.highcharts-button-box) {
|
|
79
|
-
fill: transparent;
|
|
80
|
-
|
|
81
|
-
&:hover + .highcharts-button-symbol {
|
|
82
|
-
stroke: var(--chart-menu-line-hover-color);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
// TODO найти решение по лучше
|
|
86
|
-
:deep(.highcharts-button-box[fill='#e6e9ff'] + .highcharts-button-symbol) {
|
|
87
|
-
stroke: var(--chart-menu-line-active-color);
|
|
88
|
-
}
|
|
89
|
-
:deep(.highcharts-button-symbol) {
|
|
90
|
-
stroke: var(--chart-menu-line-color);
|
|
91
|
-
stroke-width: 2px;
|
|
92
|
-
}
|
|
93
|
-
:deep(.highcharts-menu) {
|
|
94
|
-
display: flex;
|
|
95
|
-
flex-direction: column;
|
|
96
|
-
gap: 8px;
|
|
97
|
-
background-color: var(--chart-menu-background-color) !important;
|
|
98
|
-
box-shadow: var(--chart-menu-box-shadow) !important;
|
|
99
|
-
padding: 8px !important;
|
|
100
|
-
border-radius: 8px !important;
|
|
101
|
-
|
|
102
|
-
.highcharts-menu-item {
|
|
103
|
-
display: flex;
|
|
104
|
-
align-items: center;
|
|
105
|
-
gap: 8px;
|
|
106
|
-
font-size: 13px !important;
|
|
107
|
-
font-weight: 500 !important;
|
|
108
|
-
color: var(--chart-menu-item-color) !important;
|
|
109
|
-
padding: 8px !important;
|
|
110
|
-
|
|
111
|
-
&:hover {
|
|
112
|
-
color: var(--chart-menu-item-hover-color) !important;
|
|
113
|
-
background-color: var(--chart-menu-item-hover-background-color) !important;
|
|
114
|
-
|
|
115
|
-
&::before {
|
|
116
|
-
content: var(--chart-menu-download-icon-hover);
|
|
117
|
-
}
|
|
118
|
-
&:first-child::before {
|
|
119
|
-
content: var(--chart-menu-full-screen-icon-hover);
|
|
120
|
-
}
|
|
121
|
-
&:nth-child(2)::before {
|
|
122
|
-
content: var(--chart-menu-print-icon-hover);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
&::before {
|
|
126
|
-
content: var(--chart-menu-download-icon);
|
|
127
|
-
display: inline-block;
|
|
128
|
-
width: 16px;
|
|
129
|
-
height: 16px;
|
|
130
|
-
}
|
|
131
|
-
&:first-child::before {
|
|
132
|
-
content: var(--chart-menu-full-screen-icon);
|
|
133
|
-
}
|
|
134
|
-
&:nth-child(2)::before {
|
|
135
|
-
content: var(--chart-menu-print-icon);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
hr {
|
|
139
|
-
border-color: var(--chart-menu-border-color);
|
|
140
|
-
border-style: solid;
|
|
141
|
-
margin: 0 8px;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="graph-content">
|
|
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
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<style>
|
|
22
|
+
:root {
|
|
23
|
+
--chart-background-color: #ffffff;
|
|
24
|
+
--chart-menu-line-color: #4d5d69;
|
|
25
|
+
--chart-menu-line-hover-color: #213444;
|
|
26
|
+
--chart-menu-line-active-color: #008fd6;
|
|
27
|
+
--chart-menu-background-color: #ffffff;
|
|
28
|
+
--chart-menu-box-shadow: 0px 4px 20px 0px #0000001f;
|
|
29
|
+
--chart-menu-border-color: #e9ebed;
|
|
30
|
+
--chart-menu-item-color: #4d5d69;
|
|
31
|
+
--chart-menu-item-hover-color: #182531;
|
|
32
|
+
--chart-menu-item-hover-background-color: #e9ebed;
|
|
33
|
+
|
|
34
|
+
--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");
|
|
35
|
+
--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");
|
|
36
|
+
--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");
|
|
37
|
+
--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");
|
|
38
|
+
--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");
|
|
39
|
+
--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");
|
|
40
|
+
}
|
|
41
|
+
:root.dark-theme {
|
|
42
|
+
--chart-background-color: #334453;
|
|
43
|
+
--chart-menu-line-color: #e9eaec;
|
|
44
|
+
--chart-menu-line-hover-color: #ffffff;
|
|
45
|
+
--chart-menu-line-active-color: #2ba2de;
|
|
46
|
+
--chart-menu-background-color: #334453;
|
|
47
|
+
--chart-menu-box-shadow: 0px 4px 20px 0px #0000001f,
|
|
48
|
+
0px -1px 12px 0px #00000014;
|
|
49
|
+
--chart-menu-border-color: #e9ebed1f;
|
|
50
|
+
--chart-menu-item-color: #e9eaec;
|
|
51
|
+
--chart-menu-item-hover-color: #ffffff;
|
|
52
|
+
--chart-menu-item-hover-background-color: #e9ebed0f;
|
|
53
|
+
|
|
54
|
+
--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");
|
|
55
|
+
--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");
|
|
56
|
+
--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");
|
|
57
|
+
--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");
|
|
58
|
+
--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");
|
|
59
|
+
--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");
|
|
60
|
+
}
|
|
61
|
+
</style>
|
|
62
|
+
<style scoped lang="scss">
|
|
63
|
+
.graph-content {
|
|
64
|
+
width: 100%;
|
|
65
|
+
//height: inherit;
|
|
66
|
+
height: 100%;
|
|
67
|
+
|
|
68
|
+
.graph-block {
|
|
69
|
+
height: 100%;
|
|
70
|
+
border-radius: 8px;
|
|
71
|
+
box-shadow: 0px 1px 4px 0px #00000014;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
:deep(.highcharts-background) {
|
|
76
|
+
fill: var(--chart-background-color);
|
|
77
|
+
}
|
|
78
|
+
:deep(.highcharts-button-box) {
|
|
79
|
+
fill: transparent;
|
|
80
|
+
|
|
81
|
+
&:hover + .highcharts-button-symbol {
|
|
82
|
+
stroke: var(--chart-menu-line-hover-color);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// TODO найти решение по лучше
|
|
86
|
+
:deep(.highcharts-button-box[fill='#e6e9ff'] + .highcharts-button-symbol) {
|
|
87
|
+
stroke: var(--chart-menu-line-active-color);
|
|
88
|
+
}
|
|
89
|
+
:deep(.highcharts-button-symbol) {
|
|
90
|
+
stroke: var(--chart-menu-line-color);
|
|
91
|
+
stroke-width: 2px;
|
|
92
|
+
}
|
|
93
|
+
:deep(.highcharts-menu) {
|
|
94
|
+
display: flex;
|
|
95
|
+
flex-direction: column;
|
|
96
|
+
gap: 8px;
|
|
97
|
+
background-color: var(--chart-menu-background-color) !important;
|
|
98
|
+
box-shadow: var(--chart-menu-box-shadow) !important;
|
|
99
|
+
padding: 8px !important;
|
|
100
|
+
border-radius: 8px !important;
|
|
101
|
+
|
|
102
|
+
.highcharts-menu-item {
|
|
103
|
+
display: flex;
|
|
104
|
+
align-items: center;
|
|
105
|
+
gap: 8px;
|
|
106
|
+
font-size: 13px !important;
|
|
107
|
+
font-weight: 500 !important;
|
|
108
|
+
color: var(--chart-menu-item-color) !important;
|
|
109
|
+
padding: 8px !important;
|
|
110
|
+
|
|
111
|
+
&:hover {
|
|
112
|
+
color: var(--chart-menu-item-hover-color) !important;
|
|
113
|
+
background-color: var(--chart-menu-item-hover-background-color) !important;
|
|
114
|
+
|
|
115
|
+
&::before {
|
|
116
|
+
content: var(--chart-menu-download-icon-hover);
|
|
117
|
+
}
|
|
118
|
+
&:first-child::before {
|
|
119
|
+
content: var(--chart-menu-full-screen-icon-hover);
|
|
120
|
+
}
|
|
121
|
+
&:nth-child(2)::before {
|
|
122
|
+
content: var(--chart-menu-print-icon-hover);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
&::before {
|
|
126
|
+
content: var(--chart-menu-download-icon);
|
|
127
|
+
display: inline-block;
|
|
128
|
+
width: 16px;
|
|
129
|
+
height: 16px;
|
|
130
|
+
}
|
|
131
|
+
&:first-child::before {
|
|
132
|
+
content: var(--chart-menu-full-screen-icon);
|
|
133
|
+
}
|
|
134
|
+
&:nth-child(2)::before {
|
|
135
|
+
content: var(--chart-menu-print-icon);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
hr {
|
|
139
|
+
border-color: var(--chart-menu-border-color);
|
|
140
|
+
border-style: solid;
|
|
141
|
+
margin: 0 8px;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
</style>
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="graph-content">
|
|
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
|
-
</script>
|
|
20
|
-
|
|
21
|
-
<style scoped lang="scss">
|
|
22
|
-
.graph-content {
|
|
23
|
-
width: 100%;
|
|
24
|
-
//height: inherit;
|
|
25
|
-
height: 100%;
|
|
26
|
-
|
|
27
|
-
.graph-block {
|
|
28
|
-
height: 100%;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="graph-content">
|
|
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
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<style scoped lang="scss">
|
|
22
|
+
.graph-content {
|
|
23
|
+
width: 100%;
|
|
24
|
+
//height: inherit;
|
|
25
|
+
height: 100%;
|
|
26
|
+
|
|
27
|
+
.graph-block {
|
|
28
|
+
height: 100%;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
</style>
|