2025-07-04 18:53:31 +03:00
|
|
|
import type { Tabulator } from "tabulator-tables";
|
|
|
|
|
import type FNote from "../../../entities/fnote.js";
|
|
|
|
|
import branches from "../../../services/branches.js";
|
|
|
|
|
|
|
|
|
|
export function canReorderRows(parentNote: FNote) {
|
2025-07-04 20:43:16 +03:00
|
|
|
return !parentNote.hasLabel("sorted")
|
|
|
|
|
&& parentNote.type !== "search";
|
2025-07-04 18:53:31 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function configureReorderingRows(tabulator: Tabulator) {
|
|
|
|
|
tabulator.on("rowMoved", (row) => {
|
|
|
|
|
const branchIdsToMove = [ row.getData().branchId ];
|
|
|
|
|
|
|
|
|
|
const prevRow = row.getPrevRow();
|
|
|
|
|
if (prevRow) {
|
|
|
|
|
branches.moveAfterBranch(branchIdsToMove, prevRow.getData().branchId);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const nextRow = row.getNextRow();
|
|
|
|
|
if (nextRow) {
|
|
|
|
|
branches.moveBeforeBranch(branchIdsToMove, nextRow.getData().branchId);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|