MBS-10872: Show all boards - #108
Conversation
39d45f4 to
10a536e
Compare
There was a problem hiding this comment.
Pull request overview
This PR adds an “all boards” view to mod_kanban, allowing authorized users to render multiple boards (shared/personal/group) on the same page, with associated UI and JS updates to support multiple independent reactive instances.
Changes:
- Add an
allboardsURL parameter and capability gate to render multiple board containers onview.php. - Update templates/CSS to support per-board container IDs and hide the “view all boards” action when already in all-boards mode.
- Update AMD code to avoid reactive-instance name collisions and to replace inline Mustache modal markup with JS-driven modals for group/user switching.
Reviewed changes
Copilot reviewed 9 out of 17 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| view.php | Adds allboards param handling, capability check, and loops over board IDs to render multiple containers + JS inits |
| templates/container.mustache | Makes container IDs unique per board and adds an allboards CSS class hook |
| templates/actionmenuboard.mustache | Adds “View all boards” action and switches group/user change actions to JS-driven triggers |
| styles.css | Hides the “view all boards” menu item while in all-boards mode |
| lang/en/kanban.php | Adds strings for the new UI entry and informational notice |
| amd/src/selectors.js | Adds selectors for the new action menu triggers |
| amd/src/main.js | Makes reactive instance name unique per (cmId, boardId) |
| amd/src/exporter.js | Refactors group selector/users export into dedicated static helpers |
| amd/src/board.js | Implements Modal-based group/user selection (replacing inline Mustache modal HTML/JS) |
| amd/build/*.min.js, *.map | Rebuilt AMD artifacts reflecting the source changes |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
10a536e to
01d3130
Compare
01d3130 to
cc1aee0
Compare
cc1aee0 to
630df69
Compare
d264156 to
89f36b3
Compare
89f36b3 to
da70c7d
Compare
da70c7d to
d583c41
Compare
d583c41 to
ff6a9a6
Compare
| [ | ||
| 'cmid' => $cm->id, | ||
| 'id' => $bid, | ||
| 'cardid' => ($boardid == $bid ? $cardid : 0), |
There was a problem hiding this comment.
I'm losing track. In which cases does a boardId appear in the URL? In which cases a cardId?
There was a problem hiding this comment.
This handles the case that a cardid is present as a parameter - it is only passed to the board where the card belongs to.
No description provided.