Skip to content

Commit fc32ba2

Browse files
Copilothuangyiirene
andcommitted
Apply code review feedback: optimize performance and remove debug code
Co-authored-by: huangyiirene <7665279+huangyiirene@users.noreply.github.com>
1 parent 6c7268e commit fc32ba2

2 files changed

Lines changed: 24 additions & 39 deletions

File tree

packages/components/src/renderers/complex/kanban.tsx

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,34 +4,10 @@ import React from 'react';
44

55
ComponentRegistry.register('kanban',
66
({ schema, className, ...props }) => {
7-
const [columns, setColumns] = React.useState<KanbanColumn[]>(schema.columns || []);
8-
9-
React.useEffect(() => {
10-
if (schema.columns) {
11-
setColumns(schema.columns);
12-
}
13-
}, [schema.columns]);
14-
15-
const handleCardMove = (
16-
cardId: string,
17-
fromColumnId: string,
18-
toColumnId: string,
19-
newIndex: number
20-
) => {
21-
// This is where you would handle the card move event
22-
// For example, you could call an API or trigger an action
23-
console.log('Card moved:', { cardId, fromColumnId, toColumnId, newIndex });
24-
25-
// If there's an onCardMove callback in schema, call it
26-
if (schema.onCardMove) {
27-
schema.onCardMove({ cardId, fromColumnId, toColumnId, newIndex });
28-
}
29-
};
30-
317
return (
328
<KanbanBoard
33-
columns={columns}
34-
onCardMove={schema.onCardMove ? handleCardMove : undefined}
9+
columns={schema.columns || []}
10+
onCardMove={schema.onCardMove}
3511
className={className}
3612
{...props}
3713
/>

packages/components/src/ui/kanban.tsx

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -220,21 +220,30 @@ export function KanbanBoard({ columns, onCardMove, className }: KanbanBoardProps
220220
}
221221
}
222222

223-
const findCard = (cardId: string): KanbanCard | null => {
224-
for (const column of boardColumns) {
225-
const card = column.cards.find((c) => c.id === cardId)
226-
if (card) return card
227-
}
228-
return null
229-
}
223+
const findCard = React.useCallback(
224+
(cardId: string): KanbanCard | null => {
225+
for (const column of boardColumns) {
226+
const card = column.cards.find((c) => c.id === cardId)
227+
if (card) return card
228+
}
229+
return null
230+
},
231+
[boardColumns]
232+
)
230233

231-
const findColumnByCardId = (cardId: string): KanbanColumn | null => {
232-
return boardColumns.find((col) => col.cards.some((c) => c.id === cardId)) || null
233-
}
234+
const findColumnByCardId = React.useCallback(
235+
(cardId: string): KanbanColumn | null => {
236+
return boardColumns.find((col) => col.cards.some((c) => c.id === cardId)) || null
237+
},
238+
[boardColumns]
239+
)
234240

235-
const findColumnById = (columnId: string): KanbanColumn | null => {
236-
return boardColumns.find((col) => col.id === columnId) || null
237-
}
241+
const findColumnById = React.useCallback(
242+
(columnId: string): KanbanColumn | null => {
243+
return boardColumns.find((col) => col.id === columnId) || null
244+
},
245+
[boardColumns]
246+
)
238247

239248
return (
240249
<DndContext

0 commit comments

Comments
 (0)