diff --git a/libs/event-emitter/src/project-dashboard/widgets/root-issue-subtrees.widget.service.ts b/libs/event-emitter/src/project-dashboard/widgets/root-issue-subtrees.widget.service.ts index 894879e..f7fe98c 100644 --- a/libs/event-emitter/src/project-dashboard/widgets/root-issue-subtrees.widget.service.ts +++ b/libs/event-emitter/src/project-dashboard/widgets/root-issue-subtrees.widget.service.ts @@ -59,6 +59,15 @@ export class RootIssueSubTreesWidgetService widgetParams.groups.fromIssuesIncluded, widgetParams.groups.showOthers, ); + for (let i = 0; i < stories.length; i++) { + const store = stories[i]; + const fromIssueInfo = widgetParams.groups.fromIssues.find((i) => { + return i.issueId == store.metainfo?.rootIssue?.id; + }); + if (fromIssueInfo) { + store.metainfo.title = `${fromIssueInfo.name}: ${store.metainfo.title}`; + } + } } return stories.map((s) => { return { diff --git a/libs/event-emitter/src/utils/tree-issues-store.ts b/libs/event-emitter/src/utils/tree-issues-store.ts index 8a1bc25..9f6cffe 100644 --- a/libs/event-emitter/src/utils/tree-issues-store.ts +++ b/libs/event-emitter/src/utils/tree-issues-store.ts @@ -85,6 +85,12 @@ export class TreeIssuesStore { store: othersStore, metainfo: this.createMetaInfo(this.rootIssue), }); + this.putIssuesToStore( + othersStore, + this.rootIssue, + fromIssues, + fromIssuesIncluded, + ); } return res; @@ -107,6 +113,7 @@ export class TreeIssuesStore { const issueData = this.flatStore.getIssue(childIssue.id); if (!issueData.data) continue; if (fromIssues.indexOf(issueData.data.id) < 0) { + store.push(issueData.data); this.putIssuesToStore( store, issueData.data, @@ -157,16 +164,14 @@ export class TreeIssuesStore { stories: TreeIssuesStoreNs.Models.GetFlatStories.Result, rootIssue: RedmineTypes.Issue, ): TreeIssuesStoreNs.Models.GetFlatStories.Result { - if (!stories) { - stories = [] as TreeIssuesStoreNs.Models.GetFlatStories.Result; - } - if (!rootIssue) { - rootIssue = this.rootIssue; - } if (!rootIssue.children || rootIssue.children.length <= 0) { return stories; } const store = new FlatIssuesStore(); + stories.push({ + store: store, + metainfo: this.createMetaInfo(rootIssue), + }); for (let i = 0; i < rootIssue.children.length; i++) { const child = rootIssue.children[i]; const childIssueData = this.flatStore.getIssue(child.id); @@ -174,10 +179,6 @@ export class TreeIssuesStore { store.push(childIssueData.data); this.fillFlatStoriesByParents(stories, childIssueData.data); } - stories.push({ - store: store, - metainfo: this.createMetaInfo(rootIssue), - }); return stories; } }