Skip to content

Commit e9920ef

Browse files
NathZ1Mnickiisebastienlevert
authored
MGT PeoplePicker - Add optional disableImages prop to allow disable retrieving user photos (#1561)
Co-authored-by: Nickii Miaro <[email protected]> Co-authored-by: Sébastien Levert <[email protected]>
1 parent e3c5cee commit e9920ef

File tree

3 files changed

+25
-4
lines changed

3 files changed

+25
-4
lines changed

packages/mgt-components/src/components/mgt-people-picker/mgt-people-picker.ts

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,19 @@ export class MgtPeoplePicker extends MgtTemplatedComponent {
250250
})
251251
public showMax: number;
252252

253+
/**
254+
* Sets whether the person image should be fetched
255+
* from the Microsoft Graph
256+
*
257+
* @type {boolean}
258+
* @memberof MgtPerson
259+
*/
260+
@property({
261+
attribute: 'disable-images',
262+
type: Boolean
263+
})
264+
public disableImages: boolean;
265+
253266
/**
254267
* array of user picked people.
255268
* @type {IDynamicPerson[]}
@@ -421,6 +434,7 @@ export class MgtPeoplePicker extends MgtTemplatedComponent {
421434
this.clearState();
422435
this._showLoading = true;
423436
this.showMax = 6;
437+
this.disableImages = false;
424438

425439
this.disabled = false;
426440
this.allowAnyEmail = false;
@@ -846,7 +860,7 @@ export class MgtPeoplePicker extends MgtTemplatedComponent {
846860
return (
847861
this.renderTemplate('person', { person }, person.id) ||
848862
html`
849-
<mgt-person .personDetails=${person} .fetchImage=${true}></mgt-person>
863+
<mgt-person .personDetails=${person} .fetchImage=${!this.disableImages}></mgt-person>
850864
<div class="people-person-text-area" id="${person.displayName}">
851865
${this.renderHighlightText(person)}
852866
<span class="${classMap(classes)}">${subTitle}</span>
@@ -869,7 +883,7 @@ export class MgtPeoplePicker extends MgtTemplatedComponent {
869883
tabindex="-1"
870884
class="selected-list__person-wrapper__person"
871885
.personDetails=${person}
872-
.fetchImage=${true}
886+
.fetchImage=${!this.disableImages}
873887
.view=${ViewType.oneline}
874888
.personCardInteraction=${PersonCardInteraction.click}
875889
></mgt-person>

packages/mgt-react/src/generated/react.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ export type PeoplePickerProps = {
108108
selectionMode?: string;
109109
userIds?: string[];
110110
showMax?: number;
111+
disableImages?: boolean;
111112
disabled?: boolean;
112113
allowAnyEmail?: boolean;
113114
templateContext?: TemplateContext;

stories/components/peoplePicker/peoplePicker.properties.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,12 @@ export const pickerDisabled = () => html`
153153
</mgt-people-picker>
154154
`;
155155

156+
export const pickerDisableImages = () => html`
157+
<mgt-people-picker
158+
default-selected-user-ids="e3d0513b-449e-4198-ba6f-bd97ae7cae85, 40079818-3808-4585-903b-02605f061225" disable-images>
159+
</mgt-people-picker>
160+
`;
161+
156162
export const pickerDefaultSelectedUserIds = () => html`
157163
<mgt-people-picker
158164
default-selected-user-ids="e3d0513b-449e-4198-ba6f-bd97ae7cae85, 40079818-3808-4585-903b-02605f061225">
@@ -182,8 +188,8 @@ export const pickerAllowAnyEmail = () => html`
182188
</script>
183189
`;
184190

185-
export const pickerUserIds = ()=> html`
191+
export const pickerUserIds = () => html`
186192
<mgt-people-picker
187193
user-ids="2804bc07-1e1f-4938-9085-ce6d756a32d2 ,e8a02cc7-df4d-4778-956d-784cc9506e5a,c8913c86-ceea-4d39-b1ea-f63a5b675166">
188194
</mgt-people-picker>
189-
`
195+
`;

0 commit comments

Comments
 (0)