主要改动: 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 目录 - 无需为新示例项目修改配置
32 lines
774 B
JavaScript
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)}
|
|
/>
|
|
`)}
|
|
`;
|
|
}
|