Files
srdb/webui/static/js/components/Sidebar.js
bourdon 30c3e74bd2 feat: 完善 WebUI basePath 支持并简化示例代码
主要改动:

1. WebUI basePath 逻辑完善
   - NewWebUI 支持可变参数 basePath
   - 新增 path() 辅助方法统一路径处理
   - handleTableAPI 正确处理 basePath 前缀
   - handleIndex 根据 basePath 替换占位符

2. 简化示例代码
   - 删除反向代理实现(111行)
   - 直接使用带 basePath 的 WebUI
   - 代码量减少 33%,架构更清晰

3. 前端优化
   - 新增 api.js 统一 API 服务层
   - 所有组件使用统一的 API 调用
   - 支持通过 window.API_BASE 配置 basePath

4. 修复 .gitignore
   - 使用通用模式支持 commands 目录
   - 无需为新示例项目修改配置
2025-10-14 22:23:30 +08:00

32 lines
774 B
JavaScript

import { html } from 'htm/preact';
import { TableItem } from '~/components/TableItem.js';
export function Sidebar({ tables, selectedTable, onSelectTable, loading }) {
if (loading) {
return html`
<div class="loading">
<p>加载中...</p>
</div>
`;
}
if (tables.length === 0) {
return html`
<div class="empty">
<p>暂无数据表</p>
</div>
`;
}
return html`
${tables.map(table => html`
<${TableItem}
key=${table.name}
table=${table}
isSelected=${selectedTable === table.name}
onSelect=${() => onSelectTable(table.name)}
/>
`)}
`;
}