|
2218 | 2218 | oAncestor = data[ oAncestor.manager ]; |
2219 | 2219 | if( oAncestor.ancestors ) |
2220 | 2220 | { |
2221 | | - |
2222 | 2221 | aAncestors = aAncestors.concat( oAncestor.ancestors ); |
2223 | 2222 | break; |
2224 | 2223 | } |
|
2236 | 2235 | const person = data[ chump ]; |
2237 | 2236 | person.name = person[ 'First name' ] + ' ' + person[ 'Last name' ]; |
2238 | 2237 | person.manager = person[ 'Reports To ID' ]; |
2239 | | - person.ancestors = getAncestors( person ); |
2240 | 2238 | person.image = getPhotoUrl( person.id ); |
2241 | 2239 | person.first = person[ 'First name' ]; |
2242 | 2240 | person.last = person[ 'Last name' ]; |
|
2265 | 2263 | person.slack = person[ 'slack' ]; |
2266 | 2264 | person.location = person.location.postcode; |
2267 | 2265 | } |
| 2266 | + for( const chump in data ) // you have to wait until all the managers have been attached before you can get ancestors |
| 2267 | + { |
| 2268 | + const person = data[ chump ]; |
| 2269 | + person.ancestors = getAncestors( person ); |
| 2270 | + } |
2268 | 2271 | } |
2269 | 2272 |
|
2270 | 2273 | function getStateCode( sStateFullName ) |
|
3527 | 3530 | let oReferencePerson = data[ sCurrentPersonId ]; |
3528 | 3531 | if( sCurrentPersonId === sDefaultPersonId ) |
3529 | 3532 | { |
3530 | | - oReferencePerson = data[ sMe ] || sDefaultPersonId; |
| 3533 | + oReferencePerson = data[ sMe ] || data[sDefaultPersonId]; |
3531 | 3534 | } |
3532 | 3535 |
|
3533 | 3536 | for( let sPersonId in oMatches ) |
|
3558 | 3561 | function findCommonAncestor( oReferencePerson, oSearchResultPerson ) |
3559 | 3562 | { |
3560 | 3563 | let sCommonAncestorId = null; |
3561 | | - |
3562 | | - let aReferencePersonAncestors = oReferencePerson.ancestors || getAncestors( oReferencePerson ); |
3563 | | - let aSearchResultPersonAncestors = oSearchResultPerson.ancestors || getAncestors( oSearchResultPerson ); |
3564 | | - let iStepsUp; |
3565 | | - let iStepsDown; |
3566 | | - for( iStepsUp = 0; iStepsUp < aReferencePersonAncestors.length; iStepsUp++ ) |
| 3564 | + let aReferencePersonAncestors = oReferencePerson.ancestors;// || getAncestors( oReferencePerson ); |
| 3565 | + let aSearchResultPersonAncestors = oSearchResultPerson.ancestors;// || getAncestors( oSearchResultPerson ); |
| 3566 | + oSearchResultPerson.lastMatchUp = 99; |
| 3567 | + oSearchResultPerson.lastMatchDown = 99; |
| 3568 | + oSearchResultPerson.lastMatchDistance = 99 ; |
| 3569 | + oSearchResultPerson.lastMatchCommonAncestor = oReferencePerson.id; |
| 3570 | + for( let iStepsUp = 0; iStepsUp < aReferencePersonAncestors.length; iStepsUp++ ) |
3567 | 3571 | { |
3568 | | - for( iStepsDown = 0; iStepsDown < aSearchResultPersonAncestors.length; iStepsDown++ ) |
| 3572 | + for( let iStepsDown = 0; iStepsDown < aSearchResultPersonAncestors.length; iStepsDown++ ) |
3569 | 3573 | { |
3570 | | - if( aReferencePersonAncestors[ iStepsUp ] === aSearchResultPersonAncestors[ iStepsDown ] && aReferencePersonAncestors[ iStepsUp ] !== sDefaultPersonId ) |
| 3574 | + if( aReferencePersonAncestors[ iStepsUp ] === aSearchResultPersonAncestors[ iStepsDown ] ) |
3571 | 3575 | { |
3572 | 3576 | sCommonAncestorId = aReferencePersonAncestors[ iStepsUp ]; |
| 3577 | + oSearchResultPerson.lastMatchUp = iStepsUp +""; |
| 3578 | + oSearchResultPerson.lastMatchDown = iStepsDown+""; |
| 3579 | + oSearchResultPerson.lastMatchDistance = iStepsDown + iStepsUp +"" ; |
| 3580 | + oSearchResultPerson.lastMatchCommonAncestor = sCommonAncestorId; |
3573 | 3581 | break; |
3574 | 3582 | } |
3575 | 3583 | } |
|
3578 | 3586 | break; |
3579 | 3587 | } |
3580 | 3588 | } |
3581 | | - |
3582 | | - oSearchResultPerson.lastMatchUp = iStepsUp; |
3583 | | - oSearchResultPerson.lastMatchDown = iStepsDown; |
3584 | | - oSearchResultPerson.lastMatchDistance = iStepsDown + iStepsUp; |
3585 | | - oSearchResultPerson.lastMatchCommonAncestor = sCommonAncestorId; |
3586 | 3589 | return sCommonAncestorId; |
3587 | 3590 | } |
3588 | 3591 | } |
|
0 commit comments