- quick-add-loading: fire-and-forget with loading placeholders, auto-open feed, SSE events, QuickAddInput redesign - database-table-pane: TablePane + DatabaseTableView, countNodes(), event_date sort - ui-polish-fixes: focus tab order, dim name editing, tab title sync, cost chip removal, custom sort drag-reorder, refresh button, dimension filter removal (~2,200 lines) - node-creation-quality: description service prompt rewrite, title sanitization, extraction tool AI prompt rewrites - feed-pane-ux: stripped kanban/grid/saved views, sort dropdown, AND dimension filtering, description preview Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
40 lines
913 B
TypeScript
40 lines
913 B
TypeScript
"use client";
|
|
|
|
import PaneHeader from './PaneHeader';
|
|
import DatabaseTableView from '../views/DatabaseTableView';
|
|
import type { BasePaneProps } from './types';
|
|
|
|
export interface TablePaneProps extends BasePaneProps {
|
|
onNodeClick: (nodeId: number) => void;
|
|
refreshToken?: number;
|
|
}
|
|
|
|
export default function TablePane({
|
|
slot,
|
|
isActive,
|
|
onPaneAction,
|
|
onCollapse,
|
|
onSwapPanes,
|
|
tabBar,
|
|
onNodeClick,
|
|
refreshToken
|
|
}: TablePaneProps) {
|
|
return (
|
|
<div style={{
|
|
display: 'flex',
|
|
flexDirection: 'column',
|
|
height: '100%',
|
|
background: 'transparent',
|
|
overflow: 'hidden'
|
|
}}>
|
|
<PaneHeader slot={slot} onCollapse={onCollapse} onSwapPanes={onSwapPanes} tabBar={tabBar} />
|
|
<div style={{ flex: 1, overflow: 'hidden' }}>
|
|
<DatabaseTableView
|
|
onNodeClick={onNodeClick}
|
|
refreshToken={refreshToken}
|
|
/>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|