77 lines
3.6 KiB
JavaScript
77 lines
3.6 KiB
JavaScript
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';
|
|
import { storesRetailChart } from './ppmt_stores_retail.js';
|
|
import { storesRobotChart } from './ppmt_stores_robot.js';
|
|
import { regionShareChart } from './ppmt_region_share.js';
|
|
import { inventoryBalanceChart } from './ppmt_inventory.js';
|
|
import { storesRetailShareChart } from './ppmt_stores_retail_share.js';
|
|
import { retailStoreRevenueChart } from './ppmt_retail_store_revenue.js';
|
|
import { robotStoreRevenueChart } from './ppmt_robot_store_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,
|
|
'ppmt-stores-retail': storesRetailChart,
|
|
'ppmt-stores-robot': storesRobotChart,
|
|
'ppmt-region-share': regionShareChart,
|
|
'ppmt-inventory': inventoryBalanceChart,
|
|
'ppmt-stores-retail-share': storesRetailShareChart,
|
|
'ppmt-retail-store-revenue': retailStoreRevenueChart,
|
|
'ppmt-robot-store-revenue': robotStoreRevenueChart,
|
|
};
|
|
|
|
export function getChartBuilder(key) {
|
|
return chartRegistry[key];
|
|
}
|