Feat 272 dashboard refactor - #301
Open
mohammadsherif0 wants to merge 19 commits into
Open
Conversation
mohammadsherif0
marked this pull request as ready for review
August 16, 2026 19:55
dennis-zyska
requested changes
Sep 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a shared dashboard list-page foundation (
DashboardListPage, table defaults, row-action catalog,confirmSoftDelete) and migrates the card+table management screens onto it. Issue #272 list-page work is in this PR; remaining specialized layouts stay as they are.New Dev Features
DashboardListPage(frontend/src/basic/dashboard/ListPage.vue): card + header slot +BasicTable, default options and height fromconstants.js.DASHBOARD_BADGES, andconfirmSoftDeleteinactions.js(confirm +appDataUpdatewithdeleted: true).docs/source/for_developers/frontend/components/dashboard.rst, component reference inbasic/dashboard.rst, and the table example updated to useDashboardListPage.Improvements
DashboardListPage: Documents, Projects, Tags, Assignments, Templates, Workflows, Users, Configurations, NLP Skills.StudySessionTable,AssignmentSubmissionsTable,SavedTemplatesModal,PublicTemplatesModal.withSearch, andconfirmSoftDelete.BasicCoordinatorandConfirmModalfooters useBasicButton.filterMode: "and"so Share only shows on a private row you own.Bug Fixes
projects.defaultif the user cancels the confirm dialog. [BUG] canceling project delete still resets default project #268Known Limitations
These differ from issue #272 on purpose:
BasicTableso pagination is not forced throughDashboardListPage.DashboardListPagewrap). Catalog alignment was applied because that page still has a manage column.DashboardListPageso refs and lazyv-ifstay on the page.#headerActionsand#afterTableare the slots in use (#afterTableon Documents).#tableExtrasexists for BasicTable extra toolbar buttons and has no list-page caller yet.DASHBOARD_TABLE_HEIGHT(65vh) is in the foundation. Modal tables in the repo do not share one height, so there is no modal-height constant.templateDelete/submissionDelete, notconfirmSoftDelete, because those are dedicated backend sockets.Future Steps
Further generalization and refactors can be planned later where the same pattern is still copied (remaining dashboard layouts, other frontend shells, and similar duplication elsewhere) so the rest of the tree can align with this kind of shared foundation.