Skip to content

Commit 6277e44

Browse files
committed
change person photo url
1 parent 8a3481d commit 6277e44

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/services/PeopleSearchService.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,25 @@ import { cloneDeep, findIndex } from "@microsoft/sp-lodash-subset";
1313
export default class SPPeopleSearchService {
1414
private cachedPersonas: { [property: string]: IUserInfo[] };
1515
private cachedLocalUsers: { [siteUrl: string]: IUserInfo[] };
16+
private absoluteWebUrl: string;
1617

1718
/**
1819
* Service constructor
1920
*/
2021
constructor(private context: WebPartContext | ExtensionContext) {
2122
this.cachedPersonas = {};
2223
this.cachedLocalUsers = {};
23-
this.cachedLocalUsers[this.context.pageContext.web.absoluteUrl] = [];
24+
this.absoluteWebUrl = this.context.pageContext.web.absoluteUrl;
25+
this.cachedLocalUsers[this.absoluteWebUrl] = [];
2426
}
2527

2628
/**
27-
* Generate the user photo link
29+
* Generate the user photo link using SharePoint user photo endpoint.
2830
*
2931
* @param value
3032
*/
3133
public generateUserPhotoLink(value: string): string {
32-
return `https://outlook.office365.com/owa/service.svc/s/GetPersonaPhoto?email=${value}&UA=0&size=HR96x96`;
34+
return `${this.absoluteWebUrl}/_layouts/15/userphoto.aspx?accountname=${encodeURIComponent(value)}&size=M`;
3335
}
3436

3537
/**
@@ -42,7 +44,7 @@ export default class SPPeopleSearchService {
4244
* @param principalTypes
4345
*/
4446
public getSumOfPrincipalTypes(principalTypes: PrincipalType[]) {
45-
return !!principalTypes && principalTypes.length > 0 ? principalTypes.reduce((a, b) => a + b, 0) : 1;
47+
return !!principalTypes && principalTypes.length > 0 ? principalTypes.reduce((a, b) => a + b, 0) : 1;
4648
}
4749

4850
/**
@@ -228,7 +230,7 @@ export default class SPPeopleSearchService {
228230
const userResults = values.map(element => {
229231
switch (element.EntityType) {
230232
case 'User':
231-
let email : string = element.EntityData.Email !== null ? element.EntityData.Email : element.Description;
233+
let email: string = element.EntityData.Email !== null ? element.EntityData.Email : element.Description;
232234
return {
233235
id: element.Key,
234236
imageUrl: this.generateUserPhotoLink(email),
@@ -336,7 +338,7 @@ export default class SPPeopleSearchService {
336338
*/
337339
private searchPeopleFromMock(query: string): Promise<Array<IPeoplePickerUserItem>> {
338340
let mockClient: PeoplePickerMockClient = new PeoplePickerMockClient();
339-
let filterValue = { valToCompare: query };
341+
let filterValue = { valToCompare: query };
340342
return new Promise<Array<IPeoplePickerUserItem>>((resolve) => resolve(MockUsers.filter(mockClient.filterPeople, filterValue)));
341343
}
342344
}

0 commit comments

Comments
 (0)