import { inventoryChart } from './inventory.js'; import { marginChart } from './margin.js'; import { twoLineChart } from './twoline.js'; import { growthChart } from './growth.js'; import { fxChart } from './fx.js'; import { assetsChart } from './ppmt_assets.js'; import { profitChart } from './ppmt_profit.js'; import { ipChart } from './ppmt_ip.js'; import { categoryChart } from './ppmt_category.js'; import { sankeyChart } from './ppmt_sankey.js'; import { regionChannelChart } from './ppmt_region_channel.js'; import { regionChannelYoyChart } from './ppmt_region_yoy.js'; import { regionChannelYoyTimeseriesChart } from './ppmt_region_channel_yoy_timeseries.js'; import { ppmtGrowthChart } from './ppmt_growth.js'; import { ppmtMarginsChart } from './ppmt_margins.js'; import { ppmtBridgeChart } from './ppmt_bridge.js'; import { ppmtCoreProfitChart } from './ppmt_core_profit.js'; import { ppmtCoreMarginChart } from './ppmt_core_margin.js'; import { ppmtIpShareChart } from './ppmt_ip_share.js'; import { ppmtIpShareHistoryChart } from './ppmt_ip_share_history.js'; import { ppmtIpExMonstersChart } from './ppmt_ip_ex_monsters.js'; import { cashConversionChart } from './ppmt_cash_conversion.js'; import { liquidityWorkingCapitalChart } from './ppmt_liquidity_working_capital.js'; import { cashflowCompositionChart } from './ppmt_cashflow_composition.js'; import { workingCapitalDaysChart } from './ppmt_working_capital_days.js'; import { expenseStructureChart } from './ppmt_expense_structure.js'; import { channelRevenueChart } from './ppmt_channel_revenue.js'; /** 图表构建函数注册表。manifest 只引用这里的 key,不直接引用 JS 函数。 */ export const chartRegistry = { 'demo-inventory': inventoryChart, 'demo-margin': marginChart, 'demo-twoline': twoLineChart, 'demo-growth': growthChart, 'demo-fx': fxChart, 'ppmt-assets': assetsChart, 'ppmt-profit': profitChart, 'ppmt-ip': ipChart, 'ppmt-category': categoryChart, 'ppmt-sankey': sankeyChart, 'ppmt-region-channel': regionChannelChart, 'ppmt-region-yoy': regionChannelYoyChart, 'ppmt-region-yoy-timeseries': regionChannelYoyTimeseriesChart, 'ppmt-growth': ppmtGrowthChart, 'ppmt-margins': ppmtMarginsChart, 'ppmt-bridge': ppmtBridgeChart, 'ppmt-core-profit': ppmtCoreProfitChart, 'ppmt-core-margin': ppmtCoreMarginChart, 'ppmt-ip-share': ppmtIpShareChart, 'ppmt-ip-share-history': ppmtIpShareHistoryChart, 'ppmt-ip-ex-monsters': ppmtIpExMonstersChart, 'ppmt-cash-conversion': cashConversionChart, 'ppmt-liquidity-working-capital': liquidityWorkingCapitalChart, 'ppmt-cashflow-composition': cashflowCompositionChart, 'ppmt-working-capital-days': workingCapitalDaysChart, 'ppmt-expense-structure': expenseStructureChart, 'ppmt-channel-revenue': channelRevenueChart, }; export function getChartBuilder(key) { return chartRegistry[key]; }