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={'kole-chartpanel' + (isCollapsed ? ' is-collapsed' : '')}>
      <div className="kole-chartpanel-head">
        <span className="kole-chartpanel-title">{title}</span>
        <div className="kole-chartpanel-tools">
          <button className="kole-chartpanel-tool" onClick={onRefresh}>刷新</button>
          <button className="kole-chartpanel-tool" onClick={onExport}>导出</button>
          {collapsible ? (
            <button className="kole-chartpanel-tool kole-chartpanel-caret" onClick={() => setIsCollapsed(c => !c)}>▾</button>
          ) : null}
        </div>
      </div>
      <div className="kole-chartpanel-body">{children || '图表区域'}</div>
    </div>
  );
}
