This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
cyber-narrator-cn-ui/src/views/charts2/Chart.vue

79 lines
2.5 KiB
Vue
Raw Normal View History

2022-07-06 21:08:12 +08:00
<template>
<div class="cn-chart" style="height: 100%; width: 100%;">
2022-07-06 21:08:12 +08:00
<loading :loading="loading"></loading>
<chart-no-data v-if="isNoData"></chart-no-data>
<network-overview-line
2022-07-08 09:34:09 +08:00
v-if="chart.type === typeMapping.networkOverview.line"
:chart="chart"
2022-07-06 21:08:12 +08:00
></network-overview-line>
2022-07-08 09:34:09 +08:00
<network-overview-ddos-detection
v-else-if="chart.type === typeMapping.networkOverview.ddosDetection"
:chart="chart"
></network-overview-ddos-detection>
<network-overview-performance-event
v-else-if="chart.type === typeMapping.networkOverview.performanceEvent"
:chart="chart"
></network-overview-performance-event>
<network-overview-tabs
v-else-if="chart.type === typeMapping.networkOverview.table"
></network-overview-tabs>
2022-07-19 10:16:44 +08:00
<network-overview-apps
v-else-if="chart.type === typeMapping.networkOverview.appList"
:chart="chart"
>
</network-overview-apps>
2022-07-18 15:04:32 +08:00
<npm-tabs
v-else-if="chart.type === typeMapping.npm.npmTabs"
@tabChange="npmTabChange"
2022-07-18 15:04:32 +08:00
></npm-tabs>
<npm-network-quantity
v-else-if="chart.type === typeMapping.npm.npmNetworkQuantity"
:chart="chart"
></npm-network-quantity>
2022-07-06 21:08:12 +08:00
</div>
</template>
<script>
import Loading from '@/components/common/Loading'
import ChartNoData from '@/views/charts/charts/ChartNoData'
import { typeMapping } from '@/views/charts2/chart-tools'
2022-07-08 09:34:09 +08:00
import NetworkOverviewLine from '@/views/charts2/charts/NetworkOverviewLine'
import NetworkOverviewDdosDetection from '@/views/charts2/charts/NetworkOverviewDdosDetection'
import NetworkOverviewPerformanceEvent from '@/views/charts2/charts/NetworkOverviewPerformanceEvent'
import NetworkOverviewTabs from '@/views/charts2/charts/NetworkOverviewTabs'
2022-07-19 10:16:44 +08:00
import NetworkOverviewApps from '@/views/charts2/charts/NetworkOverviewApps'
2022-07-18 15:04:32 +08:00
import NpmTabs from '@/views/charts2/charts/NpmTabs'
import NpmNetworkQuantity from '@/views/charts2/charts/NpmNetworkQuantity'
2022-07-06 21:08:12 +08:00
export default {
name: 'Chart',
components: {
Loading,
ChartNoData,
2022-07-08 09:34:09 +08:00
NetworkOverviewLine,
NetworkOverviewDdosDetection,
NetworkOverviewPerformanceEvent,
2022-07-18 15:04:32 +08:00
NetworkOverviewTabs,
2022-07-19 10:16:44 +08:00
NetworkOverviewApps,
2022-07-18 15:04:32 +08:00
NpmTabs,
NpmNetworkQuantity
2022-07-06 21:08:12 +08:00
},
props: {
2022-07-22 18:09:18 +08:00
chart: Object,
timeFilter: Object,
extraParams: Object
2022-07-06 21:08:12 +08:00
},
data () {
return {
typeMapping,
loading: false,
isNoData: false
}
},
methods: {
npmTabChange (index) {
this.$emit('npmTabChange', index)
}
2022-07-06 21:08:12 +08:00
}
}
</script>