11import _ from "lodash" ;
2-
2+ import { kindToViewState , initialiseData } from "../common" ;
33
44const initData = {
55 statistic : {
@@ -30,7 +30,7 @@ function controller($q,
3030 entityStatisticStore ,
3131 personStore ) {
3232
33- const vm = Object . assign ( this , initData ) ;
33+ const vm = initialiseData ( this , initData ) ;
3434 const statId = $stateParams . statId ;
3535 const personId = $stateParams . id ;
3636
@@ -47,7 +47,16 @@ function controller($q,
4747 $q . all ( [ personPromise , definitionPromise ] )
4848 . then ( ( [ person , definitions ] ) => vm . onSelectPerson ( person ) ) ;
4949
50+
51+ function resetValueData ( ) {
52+ const clearData = initialiseData ( { } , initData ) ;
53+ vm . statistic . summary = clearData . statistic . summary ;
54+ vm . statistic . values = clearData . statistic . values ;
55+ vm . summaries = clearData . summaries ;
56+ }
57+
5058 vm . onSelectPerson = ( person ) => {
59+ resetValueData ( ) ;
5160 vm . person = person ;
5261
5362 const entityReference = {
@@ -62,9 +71,23 @@ function controller($q,
6271 } ;
6372
6473 entityStatisticStore
65- . findStatTallies ( vm . relatedDefinitions , selector )
66- . then ( summaries => vm . summaries = summaries )
67- . then ( summaries => vm . statistic . summary = _ . find ( summaries , { entityReference : { id : statId } } ) ) ;
74+ . findStatTallies ( [ statId ] , selector )
75+ . then ( summaries => vm . statistic . summary = summaries [ 0 ] )
76+ . then ( ( ) => {
77+ const related = [
78+ vm . relatedDefinitions . parent ,
79+ ...vm . relatedDefinitions . siblings ,
80+ ...vm . relatedDefinitions . children ] ;
81+
82+ const relatedIds = _ . chain ( related )
83+ . filter ( s => s != null )
84+ . map ( 'id' )
85+ . value ( ) ;
86+
87+ return entityStatisticStore . findStatTallies ( relatedIds , selector ) ;
88+ } )
89+ . then ( summaries => vm . summaries = summaries ) ;
90+
6891
6992 entityStatisticStore
7093 . findStatValuesByIdSelector ( statId , selector )
@@ -105,7 +128,4 @@ const page = {
105128} ;
106129
107130
108- export default page ;
109-
110-
111- // http://localhost:8000/#/entity-statistic/PERSON/mwpHhjMzq/34
131+ export default page ;
0 commit comments