fix(kanban): edit column name & color #130

Merged
zaelgohary merged 3 commits from development_fix_kanban_column_editing into development 2026-04-22 11:39:45 +00:00
Member

Summary

Kanban swimlanes could be added and removed but not edited — name, color, and the is_done flag were locked after creation. This PR adds a pencil button in each column header that opens an inline edit form. WIP limits are out of scope (need a schema change to Swimlane).

Partially addresses #125 — the column-editing half. WIP limits tracked separately.

Changes

  • kanban_column.rs — pencil button in header, inline edit form (name/color/is_done), Save/Cancel
  • board_view.rshandle_edit_swimlane replaces swimlane in project and persists via save_project

Test Results

  • cargo check -p hero_archipelagos_kanban: pass
  • cargo clippy -p hero_archipelagos_kanban -- -D warnings: pass
  • cargo fmt --check -p hero_archipelagos_kanban: pass
  • dx build --package hero_os_app --web --features web: pass, deployed to the shared test instance
  • Playwright: pencil opens the inline form with the current name pre-filled, color input + "Done column" checkbox visible, Cancel closes without saving

Manual verification

  • Click the pencil icon on a column → inline form replaces the header; name pre-filled
  • Change the name → Save → header shows the new name; reload the board → new name persists
  • Change the color → Save → the small dot next to the column name shows the new color
  • Toggle "Done column" → Save → reload shows the toggle persisted
  • Cancel restores the original values and closes the form
  • Edit + remove buttons don't collide — × still deletes the column via the existing ConfirmDialog flow
## Summary Kanban swimlanes could be added and removed but not edited — name, color, and the `is_done` flag were locked after creation. This PR adds a pencil button in each column header that opens an inline edit form. WIP limits are out of scope (need a schema change to `Swimlane`). ## Related Issue Partially addresses #125 — the column-editing half. WIP limits tracked separately. ## Changes - `kanban_column.rs` — pencil button in header, inline edit form (name/color/is_done), Save/Cancel - `board_view.rs` — `handle_edit_swimlane` replaces swimlane in project and persists via `save_project` ## Test Results - `cargo check -p hero_archipelagos_kanban`: pass - `cargo clippy -p hero_archipelagos_kanban -- -D warnings`: pass - `cargo fmt --check -p hero_archipelagos_kanban`: pass - `dx build --package hero_os_app --web --features web`: pass, deployed to the shared test instance - Playwright: pencil opens the inline form with the current name pre-filled, color input + "Done column" checkbox visible, Cancel closes without saving ## Manual verification - [ ] Click the pencil icon on a column → inline form replaces the header; name pre-filled - [ ] Change the name → Save → header shows the new name; reload the board → new name persists - [ ] Change the color → Save → the small dot next to the column name shows the new color - [ ] Toggle "Done column" → Save → reload shows the toggle persisted - [ ] Cancel restores the original values and closes the form - [ ] Edit + remove buttons don't collide — × still deletes the column via the existing ConfirmDialog flow
fix(kanban): edit column name, color, and done flag
All checks were successful
Build and Test / build (pull_request) Successful in 5m15s
94b6bd62ea
Swimlanes could be added and removed but not edited. Add a pencil
button in each column header that opens an inline edit form (name,
color picker, is_done checkbox, Save/Cancel). Saving replaces the
swimlane in the project and persists via save_project, matching the
existing add/remove pattern.
fix(kanban): swatch palette for column color + cascade rename to tasks
All checks were successful
Build and Test / build (pull_request) Successful in 5m24s
c7f0a15d46
- Replace the raw <input type=color> with a fixed palette of 8
  preset swatches — simpler UX, consistent with the priority colors
  used elsewhere in the island.
- Drop the "Done column" checkbox from the edit form. The is_done
  flag is a backend concept and shouldn't be user-editable through
  this flow.
- Cascade column rename to tasks: cards carry the swimlane name as
  a string, so renaming a column without migrating its tasks hides
  them. handle_edit_swimlane now collects the affected task SIDs
  before the save, then calls move_task_to_swimlane per task once
  save_project succeeds.
zaelgohary changed title from fix(kanban): edit column name, color, and done flag to fix(kanban): edit column name, color 2026-04-22 11:28:46 +00:00
zaelgohary changed title from fix(kanban): edit column name, color to fix(kanban): edit column name & color 2026-04-22 11:28:55 +00:00
simplify(kanban): popover edit, parallel task cascade, palette consts
All checks were successful
Build and Test / build (pull_request) Successful in 5m25s
3d13743c2b
- Replace the header-replacing edit form with a Notion-style popover
  anchored below a three-dot menu button. Backdrop + panel use core's
  existing .dropdown-backdrop / .dropdown-panel classes.
- Selected swatch gets a 2px box-shadow ring instead of a clipped border.
- Extract SWIMLANE_PALETTE + DEFAULT_SWIMLANE_COLOR consts in
  kanban_service so the palette lives in one place.
- Cascade rename parallelises the per-task move_task_to_swimlane calls
  with futures::future::join_all instead of running them serially.
- Save is a no-op when name and color are unchanged.
- Fix a flicker on rename: project and tasks signals now update in the
  same synchronous tick so the board never renders tasks under an old
  column name while the new column name is already visible.
- Hoist edit_color read out of the swatch for-loop (one read vs eight).
zaelgohary merged commit af03e2bcb1 into development 2026-04-22 11:39:45 +00:00
zaelgohary deleted branch development_fix_kanban_column_editing 2026-04-22 11:39:45 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_archipelagos!130
No description provided.