Add File
This commit is contained in:
32
frontend/src/views/chat/component/index.ts
Normal file
32
frontend/src/views/chat/component/index.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import { BaseChart } from '@/views/chat/component/BaseChart.ts'
|
||||
import { Bar } from '@/views/chat/component/charts/Bar.ts'
|
||||
import { Column } from '@/views/chat/component/charts/Column.ts'
|
||||
import { Line } from '@/views/chat/component/charts/Line.ts'
|
||||
import { Table } from '@/views/chat/component/charts/Table.ts'
|
||||
import { Pie } from '@/views/chat/component/charts/Pie.ts'
|
||||
|
||||
const CHART_TYPE_MAP: { [key: string]: any } = {
|
||||
table: Table,
|
||||
column: Column,
|
||||
bar: Bar,
|
||||
line: Line,
|
||||
pie: Pie,
|
||||
}
|
||||
|
||||
const isParent = (type: any, parentType: any) => {
|
||||
let _type = type
|
||||
while (_type) {
|
||||
if (_type === parentType) {
|
||||
return true
|
||||
}
|
||||
_type = _type.__proto__
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
export function getChartInstance(type: string, id: string): BaseChart | undefined {
|
||||
if (isParent(CHART_TYPE_MAP[type], BaseChart)) {
|
||||
return new CHART_TYPE_MAP[type](id) as BaseChart
|
||||
}
|
||||
return undefined
|
||||
}
|
||||
Reference in New Issue
Block a user