fix(web): stop board swaps from nesting the full board inside the grid
Status-change actions (detail panel buttons and drag-and-drop) targeted #kanban-board with innerHTML, but the handlers return the full _KanbanBoard partial including the #board-content wrapper and filter bar. Each action nested a new board inside the grid, duplicating the filter chips and collapsing the layout. Target #board-content with outerHTML instead, matching the filter bar and create-task form. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
@using TaskTracker.Api.Pages
|
||||
@using TaskTracker.Api.Pages
|
||||
@using TaskTracker.Core.Enums
|
||||
@model TaskTracker.Core.Entities.WorkTask
|
||||
|
||||
@@ -192,15 +192,15 @@
|
||||
{
|
||||
case WorkTaskStatus.Pending:
|
||||
<button hx-put="/board?handler=Start&id=@Model.Id"
|
||||
hx-target="#kanban-board"
|
||||
hx-swap="innerHTML"
|
||||
hx-target="#board-content"
|
||||
hx-swap="outerHTML"
|
||||
class="btn btn--primary btn--full"
|
||||
onclick="closeDetailPanel()">
|
||||
Start
|
||||
</button>
|
||||
<button hx-delete="/board?handler=Abandon&id=@Model.Id"
|
||||
hx-target="#kanban-board"
|
||||
hx-swap="innerHTML"
|
||||
hx-target="#board-content"
|
||||
hx-swap="outerHTML"
|
||||
class="btn btn--danger btn--full"
|
||||
onclick="closeDetailPanel()">
|
||||
Abandon
|
||||
@@ -209,22 +209,22 @@
|
||||
|
||||
case WorkTaskStatus.Active:
|
||||
<button hx-put="/board?handler=Pause&id=@Model.Id"
|
||||
hx-target="#kanban-board"
|
||||
hx-swap="innerHTML"
|
||||
hx-target="#board-content"
|
||||
hx-swap="outerHTML"
|
||||
class="btn btn--amber btn--full"
|
||||
onclick="closeDetailPanel()">
|
||||
Pause
|
||||
</button>
|
||||
<button hx-put="/board?handler=Complete&id=@Model.Id"
|
||||
hx-target="#kanban-board"
|
||||
hx-swap="innerHTML"
|
||||
hx-target="#board-content"
|
||||
hx-swap="outerHTML"
|
||||
class="btn btn--emerald btn--full"
|
||||
onclick="closeDetailPanel()">
|
||||
Complete
|
||||
</button>
|
||||
<button hx-delete="/board?handler=Abandon&id=@Model.Id"
|
||||
hx-target="#kanban-board"
|
||||
hx-swap="innerHTML"
|
||||
hx-target="#board-content"
|
||||
hx-swap="outerHTML"
|
||||
class="btn btn--danger btn--full"
|
||||
onclick="closeDetailPanel()">
|
||||
Abandon
|
||||
@@ -233,22 +233,22 @@
|
||||
|
||||
case WorkTaskStatus.Paused:
|
||||
<button hx-put="/board?handler=Resume&id=@Model.Id"
|
||||
hx-target="#kanban-board"
|
||||
hx-swap="innerHTML"
|
||||
hx-target="#board-content"
|
||||
hx-swap="outerHTML"
|
||||
class="btn btn--primary btn--full"
|
||||
onclick="closeDetailPanel()">
|
||||
Resume
|
||||
</button>
|
||||
<button hx-put="/board?handler=Complete&id=@Model.Id"
|
||||
hx-target="#kanban-board"
|
||||
hx-swap="innerHTML"
|
||||
hx-target="#board-content"
|
||||
hx-swap="outerHTML"
|
||||
class="btn btn--emerald btn--full"
|
||||
onclick="closeDetailPanel()">
|
||||
Complete
|
||||
</button>
|
||||
<button hx-delete="/board?handler=Abandon&id=@Model.Id"
|
||||
hx-target="#kanban-board"
|
||||
hx-swap="innerHTML"
|
||||
hx-target="#board-content"
|
||||
hx-swap="outerHTML"
|
||||
class="btn btn--danger btn--full"
|
||||
onclick="closeDetailPanel()">
|
||||
Abandon
|
||||
|
||||
@@ -47,8 +47,8 @@
|
||||
|
||||
// Fire htmx request to update the task status
|
||||
htmx.ajax('PUT', '/board?handler=' + handler + '&id=' + taskId, {
|
||||
target: '#kanban-board',
|
||||
swap: 'innerHTML'
|
||||
target: '#board-content',
|
||||
swap: 'outerHTML'
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user