stable

Clone or download

Read-only

fix: planning-v2 refresh project sidebar

Planning v2 is a SPA, no refresh of the page is made when a milestone is created or edited. This causes issue in the sidebar since it cannot reflects what the user is currently doing: a new current milestone is created but does not appear in the sidebar unless the page is refreshed. In order to fix that, the proposal is the following: once a milestone has been added or edited, a REST call is made by pv2 to retrieve the (new) project sidebar config and pv2 asks to the sidebar to reflect the new config. The issue is that is that reactivity of the sidebar config has been broken by the bump vue: 3.2.37 -> 3.3.4[0] This commit fixes this reactivity issue by making sure that the injection type of the config matches what is returned by `unserializeConfiguration` (`Configuration | undefined`). This means that even if they are not loaded, inner components have to deal that the config might be `undefined`. To test, go to backlog of a ALM/Scrum project: * create a past release => nothing changes * create a future release => nothing changes * create a current release => the milestone appears in the sidebar * The same with sprint sub milestones. [0]: git #tuleap/stable/2380a33b21e3d2415a512fdb08e2fa2e23312d1c Change-Id: I5942f08a817cb5206f1721a9406828bb636182ec

Modified Files

Name
M lib/frontend/project-sidebar-internal/package.json +1 −1 Go to diff View file
M lib/frontend/project-sidebar-internal/src/Header/LinkedProjects.test.ts +19 −16 Go to diff View file
M lib/frontend/project-sidebar-internal/src/Header/LinkedProjects.vue +6 −5 Go to diff View file
M lib/frontend/project-sidebar-internal/src/Header/PrivacyBadge.test.ts +2 −1 Go to diff View file
M lib/frontend/project-sidebar-internal/src/Header/PrivacyBadge.vue +6 −4 Go to diff View file
M lib/frontend/project-sidebar-internal/src/Header/ProjectAnnouncement.vue +1 −1 Go to diff View file
M lib/frontend/project-sidebar-internal/src/Header/ProjectFlags.vue +2 −2 Go to diff View file
M lib/frontend/project-sidebar-internal/src/Header/SidebarHeader.test.ts +3 −2 Go to diff View file
M lib/frontend/project-sidebar-internal/src/Header/SidebarHeader.vue +4 −2 Go to diff View file
M lib/frontend/project-sidebar-internal/src/ProjectSidebar.vue +3 −3 Go to diff View file
M lib/frontend/project-sidebar-internal/src/SidebarCollapseButton.vue +1 −1 Go to diff View file
M lib/frontend/project-sidebar-internal/src/SidebarFooter.vue +2 −1 Go to diff View file
M lib/frontend/project-sidebar-internal/src/SidebarLogo.test.ts +4 −3 Go to diff View file
M lib/frontend/project-sidebar-internal/src/SidebarLogo.vue +10 −6 Go to diff View file
M lib/frontend/project-sidebar-internal/src/Tools/ToolList.test.ts +2 −1 Go to diff View file
M lib/frontend/project-sidebar-internal/src/Tools/ToolList.vue +7 −3 Go to diff View file
M lib/frontend/project-sidebar-internal/src/injection-symbols.ts +5 −3 Go to diff View file
M lib/frontend/project-sidebar/CHANGELOG.md +4 −0 Go to diff View file
M lib/frontend/project-sidebar/package.json +1 −1 Go to diff View file
M plugins/agiledashboard/scripts/planning-v2/package.json +1 −0 Go to diff View file
M plugins/agiledashboard/scripts/planning-v2/pnpm-lock.yaml +7 −0 Go to diff View file
M plugins/agiledashboard/scripts/planning-v2/src/app/planner-view/planner-view-component.js +6 −0 Go to diff View file
M plugins/agiledashboard/scripts/planning-v2/src/app/planner-view/planner-view-component.test.js +6 −0 Go to diff View file
A plugins/agiledashboard/scripts/planning-v2/src/app/planner-view/refresh-project-sidebar.ts +43 −0 Go to diff View file