refactor(views/board): unnecessary API to manually refresh the board

This commit is contained in:
Elian Doran 2025-07-25 14:56:50 +03:00
parent d9820d9725
commit 62de52ab17
No known key found for this signature in database
4 changed files with 13 additions and 29 deletions

View File

@ -5,18 +5,15 @@ export class ColumnDragHandler implements BaseDragHandler {
private $container: JQuery<HTMLElement>; private $container: JQuery<HTMLElement>;
private api: BoardApi; private api: BoardApi;
private context: DragContext; private context: DragContext;
private onBoardRefresh: () => Promise<void>;
constructor( constructor(
$container: JQuery<HTMLElement>, $container: JQuery<HTMLElement>,
api: BoardApi, api: BoardApi,
context: DragContext, context: DragContext,
onBoardRefresh: () => Promise<void>
) { ) {
this.$container = $container; this.$container = $container;
this.api = api; this.api = api;
this.context = context; this.context = context;
this.onBoardRefresh = onBoardRefresh;
} }
setupColumnDrag($columnEl: JQuery<HTMLElement>, columnValue: string) { setupColumnDrag($columnEl: JQuery<HTMLElement>, columnValue: string) {
@ -263,9 +260,6 @@ export class ColumnDragHandler implements BaseDragHandler {
// Update column order in API // Update column order in API
await this.api.reorderColumns(newOrder); await this.api.reorderColumns(newOrder);
// Refresh the board to reflect the changes
await this.onBoardRefresh();
} else { } else {
console.warn("No drop indicator found for column drop"); console.warn("No drop indicator found for column drop");
} }

View File

@ -7,7 +7,6 @@ export class BoardDragHandler {
private $container: JQuery<HTMLElement>; private $container: JQuery<HTMLElement>;
private api: BoardApi; private api: BoardApi;
private context: DragContext; private context: DragContext;
private onBoardRefresh: () => Promise<void>;
private noteDragHandler: NoteDragHandler; private noteDragHandler: NoteDragHandler;
private columnDragHandler: ColumnDragHandler; private columnDragHandler: ColumnDragHandler;
@ -16,16 +15,14 @@ export class BoardDragHandler {
$container: JQuery<HTMLElement>, $container: JQuery<HTMLElement>,
api: BoardApi, api: BoardApi,
context: DragContext, context: DragContext,
onBoardRefresh: () => Promise<void>
) { ) {
this.$container = $container; this.$container = $container;
this.api = api; this.api = api;
this.context = context; this.context = context;
this.onBoardRefresh = onBoardRefresh;
// Initialize specialized drag handlers // Initialize specialized drag handlers
this.noteDragHandler = new NoteDragHandler($container, api, context, onBoardRefresh); this.noteDragHandler = new NoteDragHandler($container, api, context);
this.columnDragHandler = new ColumnDragHandler($container, api, context, onBoardRefresh); this.columnDragHandler = new ColumnDragHandler($container, api, context);
} }
// Note drag methods - delegate to NoteDragHandler // Note drag methods - delegate to NoteDragHandler

View File

@ -334,8 +334,7 @@ export default class BoardView extends ViewMode<BoardData> {
this.dragHandler = new BoardDragHandler( this.dragHandler = new BoardDragHandler(
this.$container, this.$container,
this.api, this.api,
this.dragContext, this.dragContext
async () => { await this.renderList(); }
); );
this.renderer = new DifferentialBoardRenderer( this.renderer = new DifferentialBoardRenderer(

View File

@ -6,18 +6,15 @@ export class NoteDragHandler implements BaseDragHandler {
private $container: JQuery<HTMLElement>; private $container: JQuery<HTMLElement>;
private api: BoardApi; private api: BoardApi;
private context: DragContext; private context: DragContext;
private onBoardRefresh: () => Promise<void>;
constructor( constructor(
$container: JQuery<HTMLElement>, $container: JQuery<HTMLElement>,
api: BoardApi, api: BoardApi,
context: DragContext, context: DragContext,
onBoardRefresh: () => Promise<void>
) { ) {
this.$container = $container; this.$container = $container;
this.api = api; this.api = api;
this.context = context; this.context = context;
this.onBoardRefresh = onBoardRefresh;
} }
setupNoteDrag($noteEl: JQuery<HTMLElement>, note: any, branch: any) { setupNoteDrag($noteEl: JQuery<HTMLElement>, note: any, branch: any) {
@ -308,9 +305,6 @@ export class NoteDragHandler implements BaseDragHandler {
// Update the data attributes // Update the data attributes
draggedNoteElement.attr("data-current-column", column); draggedNoteElement.attr("data-current-column", column);
// Refresh the board to reflect the changes
await this.onBoardRefresh();
} catch (error) { } catch (error) {
console.error("Failed to update note position:", error); console.error("Failed to update note position:", error);
} finally { } finally {