43 class ProjectsView( |
44 class ProjectsView( |
44 val projects: List<ProjectInfo> |
45 val projects: List<ProjectInfo> |
45 ) : View() |
46 ) : View() |
46 |
47 |
47 class ProjectDetails( |
48 class ProjectDetails( |
48 val projectInfo: ProjectInfo, |
49 val pathInfos: PathInfos, |
49 val issues: List<Issue>, |
50 val issues: List<Issue>, |
50 val filter: IssueFilter, |
51 val filter: IssueFilter, |
51 val version: Version? = null, |
|
52 val component: Component? = null |
|
53 ) : View() { |
52 ) : View() { |
|
53 val projectInfo = pathInfos.projectInfo |
54 val issueSummary = IssueSummary() |
54 val issueSummary = IssueSummary() |
55 val versionInfo: VersionInfo? |
55 val versionInfo: VersionInfo? |
|
56 val componentDetails: Component? |
56 |
57 |
57 init { |
58 init { |
58 issues.forEach(issueSummary::add) |
59 issues.forEach(issueSummary::add) |
59 versionInfo = version?.let { VersionInfo(it, issues) } |
60 versionInfo = when (val vinfo = pathInfos.versionInfo){ |
|
61 is OptionalPathInfo.Specific -> VersionInfo(vinfo.elem, issues) |
|
62 else -> null |
|
63 } |
|
64 componentDetails = when (val cinfo = pathInfos.componentInfo){ |
|
65 is OptionalPathInfo.Specific -> cinfo.elem |
|
66 else -> null |
|
67 } |
60 } |
68 } |
61 } |
69 } |
62 |
70 |
63 class ProjectEditView( |
71 class ProjectEditView( |
64 val project: Project, |
72 val project: Project, |