@@ -7,6 +7,7 @@ SReactiveVar = require('meteor/simply:strict-reactive-var').default
77
88currentSelectedImage = new SReactiveVar Number , 0
99currentSelectedCourseInfo = new SReactiveVar Number , 0
10+ currentSelectedName = new SReactiveVar Number , 0
1011
1112weekdays = new SReactiveVar [Object ]
1213
@@ -54,10 +55,21 @@ courseInfos = ->
5455 .value ()
5556
5657names = ->
57- for service in externalServices .get ()
58- val = service .profileData ()? .nameInfo
59- return val if val?
60- undefined
58+ current = currentSelectedName .get ()
59+
60+ _ (externalServices .get ())
61+ .map (s) -> s .profileData ()? .nameInfo
62+ .reject _ .isEmpty
63+ .uniq (info) -> " #{ info .firstName } #{ info .lastName } "
64+ .map (c, i) ->
65+ isSelected : ->
66+ if current is i
67+ ' selected'
68+ else
69+ ' '
70+ value : c
71+ index : i
72+ .value ()
6173
6274addProgress = (item , cb ) ->
6375 ga ' send' , ' event' , ' setup' , ' progress' , item
@@ -97,11 +109,9 @@ class @Setup
97109 onDone : (cb ) ->
98110 schoolQuery = $ (' #setup #schoolInput' ).val ()
99111
100- $firstNameInput = $ ' #setup #firstNameInput'
101- $lastNameInput = $ ' #setup #lastNameInput'
102112 any = no
103- any = yes if empty ($firstNameInput, ' #firstNameGroup ' , ' Voornaam is leeg ' )
104- any = yes if empty ($lastNameInput, ' #lastNameGroup ' , ' Achternaam is leeg ' )
113+
114+ name = names ()[ currentSelectedName . get ()] ? . value
105115
106116 courseInfo = courseInfos ()[currentSelectedCourseInfo .get ()]? .value
107117 unless courseInfo?
@@ -138,8 +148,8 @@ class @Setup
138148 fetchedBy : val .fetchedBy
139149 )
140150 ' profile.courseInfo' : courseInfo
141- ' profile.firstName' : Helpers . nameCap $firstNameInput . val ()
142- ' profile.lastName' : Helpers . nameCap $lastNameInput . val ()
151+ ' profile.firstName' : name . firstName
152+ ' profile.lastName' : name . lastName
143153 ' profile.birthDate' :
144154 # Picks the date from the first externalService that has one.
145155 # REVIEW: Maybe we should ask the user too?
@@ -326,12 +336,13 @@ Template.setupFooter.helpers
326336Template .setupFooter .events
327337 ' click button ' : -> setup .finishStep ()
328338
339+ # === step template stuff
340+
329341Template[' setup-extractInfo' ].helpers
330342 pictures : pictures
331343 hasSchool : -> schoolId?
332344 courseInfos : courseInfos
333- firstName : -> names ()? .firstName
334- lastName : -> names ()? .lastName
345+ names : names
335346
336347Template[' setup-extractInfo' ].events
337348 ' click #pictureSelector > img ' : (event ) ->
@@ -340,6 +351,9 @@ Template['setup-extractInfo'].events
340351 ' click #courseInfoSelector > div ' : (event ) ->
341352 currentSelectedCourseInfo .set @index
342353
354+ ' click #nameSelector > div ' : (event ) ->
355+ currentSelectedName .set @index
356+
343357Template[' setup-extractInfo' ].onRendered ->
344358 unless schoolId?
345359 engine = new Bloodhound
0 commit comments