@@ -10,21 +10,21 @@ import { customElement, html, property, TemplateResult } from 'lit-element';
1010import { classMap } from 'lit-html/directives/class-map' ;
1111import { findPeople , getEmailFromGraphEntity } from '../../graph/graph.people' ;
1212import { getPersonImage } from '../../graph/graph.photos' ;
13+ import { getUserPresence } from '../../graph/graph.presence' ;
1314import { getUserWithPhoto } from '../../graph/graph.user' ;
15+ import { getSvg , SvgIcon } from '../../utils/SvgHelper' ;
1416import { IDynamicPerson } from '../../graph/types' ;
1517import { Providers , ProviderState , MgtTemplatedComponent } from '@microsoft/mgt-element' ;
18+ import { Presence } from '@microsoft/microsoft-graph-types-beta' ;
1619import { TeamsHelper } from '../../utils/TeamsHelper' ;
17- import { MgtPerson } from '../mgt-person/mgt-person' ;
20+ import { MgtPerson , PersonViewType } from '../mgt-person/mgt-person' ;
1821import { styles } from './mgt-person-card-css' ;
1922import { BasePersonCardSection } from './sections/BasePersonCardSection' ;
2023import { MgtPersonCardContact } from './sections/mgt-person-card-contact/mgt-person-card-contact' ;
2124import { MgtPersonCardFiles } from './sections/mgt-person-card-files/mgt-person-card-files' ;
2225import { MgtPersonCardMessages } from './sections/mgt-person-card-messages/mgt-person-card-messages' ;
2326import { MgtPersonCardOrganization } from './sections/mgt-person-card-organization/mgt-person-card-organization' ;
2427import { MgtPersonCardProfile } from './sections/mgt-person-card-profile/mgt-person-card-profile' ;
25- import { Presence } from '@microsoft/microsoft-graph-types-beta' ;
26- import { getUserPresence } from '../../graph/graph.presence' ;
27- import { getSvg , SvgIcon } from '../../utils/SvgHelper' ;
2828
2929/**
3030 * Web Component used to show detailed data for a person in the Microsoft Graph
@@ -198,16 +198,6 @@ export class MgtPersonCard extends MgtTemplatedComponent {
198198 ] ;
199199 }
200200
201- /**
202- * Invoked each time the custom element is appended into a document-connected element
203- *
204- * @memberof MgtPersonCard
205- */
206- public connectedCallback ( ) {
207- super . connectedCallback ( ) ;
208- this . addEventListener ( 'click' , e => e . stopPropagation ( ) ) ;
209- }
210-
211201 /**
212202 * Synchronizes property values when attributes change.
213203 *
@@ -223,10 +213,6 @@ export class MgtPersonCard extends MgtTemplatedComponent {
223213 return ;
224214 }
225215
226- if ( name === 'is-expanded' ) {
227- this . isExpanded = false ;
228- }
229-
230216 switch ( name ) {
231217 case 'person-query' :
232218 case 'user-id' :
@@ -309,19 +295,11 @@ export class MgtPersonCard extends MgtTemplatedComponent {
309295 personImage : image
310296 } ) ;
311297 if ( ! personDetailsTemplate ) {
312- const personImageTemplate = this . renderPersonImage ( image , presence , showPresence ) ;
313- const personNameTemplate = this . renderPersonName ( person ) ;
314- const personTitleTemplate = this . renderPersonTitle ( person ) ;
315- const personSubtitleTemplate = this . renderPersonSubtitle ( person ) ;
298+ const personTemplate = this . renderPerson ( ) ;
316299 const contactIconsTemplate = this . renderContactIcons ( person ) ;
317300
318301 personDetailsTemplate = html `
319- < div class ="image ">
320- ${ personImageTemplate }
321- </ div >
322- < div class ="details ">
323- ${ personNameTemplate } ${ personTitleTemplate } ${ personSubtitleTemplate }
324- </ div >
302+ ${ personTemplate }
325303 < div class ="base-icons ">
326304 ${ contactIconsTemplate }
327305 </ div >
@@ -361,56 +339,23 @@ export class MgtPersonCard extends MgtTemplatedComponent {
361339 * @param {* } image
362340 * @memberof MgtPersonCard
363341 */
364- protected renderPersonImage ( imageSrc ?: string , presence ?: Presence , showPresence ?: boolean ) : TemplateResult {
365- imageSrc = imageSrc || this . getImage ( ) ;
366- presence = presence || this . personPresence ;
367- showPresence = showPresence || this . showPresence ;
342+ protected renderPerson ( ) : TemplateResult {
368343 const avatarSize = 'large' ;
369344 return html `
370345 < mgt-person
371346 class ="person-image "
372347 .personDetails =${ this . personDetails }
373- .personImage =${ imageSrc }
374- .personPresence=${ presence }
375- .showPresence=${ showPresence }
348+ .personImage =${ this . getImage ( ) }
349+ .personPresence=${ this . personPresence }
350+ .showPresence=${ this . showPresence }
376351 .avatarSize=${ avatarSize }
352+ .view=${ PersonViewType . threelines }
353+ .line2Property=${ 'jobTitle' }
354+ .line3Property=${ 'officeLocation' }
377355 > </ mgt-person >
378356 ` ;
379357 }
380358
381- /**
382- * Render the display name and persona details (e.g. department, job title) for a person.
383- *
384- * @protected
385- * @param {IDynamicPerson } [person]
386- * @returns {TemplateResult }
387- * @memberof MgtPersonCard
388- */
389- protected renderPersonName ( person ?: IDynamicPerson ) : TemplateResult {
390- person = person || this . personDetails ;
391- return html `
392- < div class ="display-name " title ="${ person . displayName } "> ${ person . displayName } </ div >
393- ` ;
394- }
395-
396- /**
397- * Render person title.
398- *
399- * @protected
400- * @param {IDynamicPerson } person
401- * @returns {TemplateResult }
402- * @memberof MgtPersonCard
403- */
404- protected renderPersonTitle ( person ?: IDynamicPerson ) : TemplateResult {
405- person = person || this . personDetails ;
406- if ( ! person . jobTitle ) {
407- return ;
408- }
409- return html `
410- < div class ="job-title "> ${ person . jobTitle } </ div >
411- ` ;
412- }
413-
414359 /**
415360 * Render person subtitle.
416361 *
@@ -437,10 +382,6 @@ export class MgtPersonCard extends MgtTemplatedComponent {
437382 * @memberof MgtPersonCard
438383 */
439384 protected renderContactIcons ( person ?: IDynamicPerson ) : TemplateResult {
440- if ( this . isExpanded ) {
441- return html `` ;
442- }
443-
444385 person = person || this . personDetails ;
445386 const userPerson = person as MicrosoftGraph . User ;
446387
0 commit comments