|
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