src/main/kotlin/de/uapcore/lightpit/viewmodel/Projects.kt

changeset 292
703591e739f4
parent 268
ca5501d851fa
equal deleted inserted replaced
291:bcf05cccac6f 292:703591e739f4
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */ 24 */
25 25
26 package de.uapcore.lightpit.viewmodel 26 package de.uapcore.lightpit.viewmodel
27 27
28 import de.uapcore.lightpit.OptionalPathInfo
28 import de.uapcore.lightpit.entities.* 29 import de.uapcore.lightpit.entities.*
29 30
30 class ProjectInfo( 31 class ProjectInfo(
31 val project: Project, 32 val project: Project,
32 /** 33 /**
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,

mercurial