feat(FN-2958): merge fusion/fn-2958
- test(FN-2958): complete Step 2 — cover merging pinning sort behavior Fusion-Task-Id: FN-2958
This commit is contained in:
@@ -53,8 +53,16 @@ interface BoardProps {
|
||||
lastFetchTimeMs?: number;
|
||||
}
|
||||
|
||||
function sortTasksForColumn(tasks: Task[]): Task[] {
|
||||
function sortTasksForColumn(tasks: Task[], column: ColumnType): Task[] {
|
||||
return [...tasks].sort((a, b) => {
|
||||
if (column === "in-review") {
|
||||
const aIsMerging = a.status === "merging" || a.status === "merging-pr";
|
||||
const bIsMerging = b.status === "merging" || b.status === "merging-pr";
|
||||
if (aIsMerging !== bIsMerging) {
|
||||
return aIsMerging ? -1 : 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (a.columnMovedAt && b.columnMovedAt) {
|
||||
return b.columnMovedAt.localeCompare(a.columnMovedAt);
|
||||
}
|
||||
@@ -124,7 +132,7 @@ export function Board({ tasks, projectId, maxConcurrent, onMoveTask, onPauseTask
|
||||
const stableGrouped = {} as Record<ColumnType, Task[]>;
|
||||
|
||||
for (const column of COLUMNS) {
|
||||
const sortedTasks = sortTasksForColumn(nextGrouped[column]);
|
||||
const sortedTasks = sortTasksForColumn(nextGrouped[column], column);
|
||||
stableGrouped[column] = areTaskArraysEqual(previousGrouped[column], sortedTasks)
|
||||
? previousGrouped[column]
|
||||
: sortedTasks;
|
||||
|
||||
Reference in New Issue
Block a user