Files
aurora-admin/site/sources/chartpanel/jsx.txt
T
aurora-admin c65a69c34e
Deploy to GitHub Pages / deploy (push) Failing after 16s
Regression / regression (push) Failing after 15m2s
feat(P4): precompute移植+app.js sources双向回填+回归1003/1003+验收体积/文件/data.json
2026-09-12 14:18:41 +08:00

22 lines
960 B
Plaintext

import React, { useState } from 'react';
import './ChartPanel.css';
export default function ChartPanel({ title = '图表', collapsible = true, collapsed = false, onRefresh, onExport, children }) {
const [isCollapsed, setIsCollapsed] = useState(collapsed);
return (
<div className={'aa-chartpanel' + (isCollapsed ? ' is-collapsed' : '')}>
<div className="aa-chartpanel-head">
<span className="aa-chartpanel-title">{title}</span>
<div className="aa-chartpanel-tools">
<button className="aa-chartpanel-tool" onClick={onRefresh}>刷新</button>
<button className="aa-chartpanel-tool" onClick={onExport}>导出</button>
{collapsible ? (
<button className="aa-chartpanel-tool aa-chartpanel-caret" onClick={() => setIsCollapsed(c => !c)}>▾</button>
) : null}
</div>
</div>
<div className="aa-chartpanel-body">{children || '图表区域'}</div>
</div>
);
}