Skip to content

Commit f9f99e6

Browse files
authored
fix: disambiguated tagname and query selectors (#2475)
moves fixed mgt tag selectors to class selectors updates tagname mathes to use disambiguated prefix fixes an issue for type checking for collection responses fixes an import for ifDefined
1 parent 3e16476 commit f9f99e6

File tree

8 files changed

+36
-15
lines changed

8 files changed

+36
-15
lines changed

packages/mgt-components/src/components/BasePersonCardSection.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* -------------------------------------------------------------------------------------------
66
*/
77

8-
import { MgtTemplatedComponent, mgtHtml } from '@microsoft/mgt-element';
8+
import { MgtTemplatedComponent, customElementHelper, mgtHtml } from '@microsoft/mgt-element';
99
import { html, TemplateResult } from 'lit';
1010
import { property } from 'lit/decorators.js';
1111

@@ -210,7 +210,7 @@ export abstract class BasePersonCardSection extends MgtTemplatedComponent implem
210210
parent = parent.parentNode;
211211

212212
const shadowRoot = parent as ShadowRoot;
213-
if (shadowRoot?.host?.tagName === 'MGT-PERSON-CARD') {
213+
if (shadowRoot?.host?.tagName === `${customElementHelper.prefix}-PERSON-CARD`.toUpperCase()) {
214214
parent = shadowRoot.host;
215215
break;
216216
}

packages/mgt-components/src/components/mgt-file-list/mgt-file-list.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -645,7 +645,7 @@ export class MgtFileList extends MgtTemplatedComponent implements CardSection {
645645
this.renderTemplate('no-data', null) ||
646646
(this.enableFileUpload === true && Providers.globalProvider !== undefined
647647
? html`
648-
<div id="file-list-wrapper" class="file-list-wrapper" dir=${this.direction}>
648+
<div class="file-list-wrapper" dir=${this.direction}>
649649
${this.renderFileUpload()}
650650
</div>`
651651
: html``)
@@ -979,7 +979,7 @@ export class MgtFileList extends MgtTemplatedComponent implements CardSection {
979979
} else {
980980
if (this.pageIterator.hasNext) {
981981
this._isLoadingMore = true;
982-
const root = this.renderRoot.querySelector('file-list-wrapper');
982+
const root = this.renderRoot.querySelector('#file-list-wrapper');
983983
if (root?.animate) {
984984
// play back
985985
root.animate(

packages/mgt-components/src/components/mgt-get/mgt-get.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ type ImageValue = { image: string };
3737
* @returns {boolean} true if the value is a collection response
3838
*/
3939
export const isCollectionResponse = (value: unknown): value is CollectionResponse<unknown> =>
40-
Array.isArray((value as CollectionResponse<unknown>).value);
40+
Array.isArray((value as CollectionResponse<unknown>)?.value);
4141

4242
/**
4343
* Enumeration to define what types of query are available

packages/mgt-components/src/components/mgt-person-card/mgt-person-card.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ import {
1414
ProviderState,
1515
TeamsHelper,
1616
mgtHtml,
17-
customElement
17+
customElement,
18+
customElementHelper
1819
} from '@microsoft/mgt-element';
1920
import { IGraph } from '@microsoft/mgt-element';
2021
import { Presence, User, Person } from '@microsoft/microsoft-graph-types';
@@ -973,7 +974,7 @@ export class MgtPersonCard extends MgtTemplatedComponent {
973974
if (!this.personDetails && this.inheritDetails) {
974975
// User person details inherited from parent tree
975976
let parent = this.parentElement;
976-
while (parent && parent.tagName !== 'MGT-PERSON') {
977+
while (parent && parent.tagName !== `${customElementHelper.prefix}-PERSON`.toUpperCase()) {
977978
parent = parent.parentElement;
978979
}
979980

packages/mgt-components/src/components/mgt-person/mgt-person.ts

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,14 @@
55
* -------------------------------------------------------------------------------------------
66
*/
77

8-
import { MgtTemplatedComponent, ProviderState, Providers, customElement, mgtHtml } from '@microsoft/mgt-element';
8+
import {
9+
MgtTemplatedComponent,
10+
ProviderState,
11+
Providers,
12+
customElement,
13+
customElementHelper,
14+
mgtHtml
15+
} from '@microsoft/mgt-element';
916
import { Contact, Presence } from '@microsoft/microsoft-graph-types';
1017
import { html, TemplateResult } from 'lit';
1118
import { property, state } from 'lit/decorators.js';
@@ -1015,6 +1022,7 @@ export class MgtPerson extends MgtTemplatedComponent {
10151022
this.renderTemplate('person-card', { person: personDetails, personImage: image }) ||
10161023
mgtHtml`
10171024
<mgt-person-card
1025+
class="mgt-person-card"
10181026
lock-tab-navigation
10191027
.personDetails=${personDetails}
10201028
.personImage=${image}
@@ -1257,7 +1265,11 @@ export class MgtPerson extends MgtTemplatedComponent {
12571265

12581266
private readonly handleMouseClick = (e: MouseEvent) => {
12591267
const element = e.target as HTMLElement;
1260-
if (this.personCardInteraction === PersonCardInteraction.click && element.tagName !== 'MGT-PERSON-CARD') {
1268+
// todo: fix for disambiguation
1269+
if (
1270+
this.personCardInteraction === PersonCardInteraction.click &&
1271+
element.tagName !== `${customElementHelper.prefix}-PERSON-CARD`.toUpperCase()
1272+
) {
12611273
this.showPersonCard();
12621274
}
12631275
};
@@ -1297,7 +1309,7 @@ export class MgtPerson extends MgtTemplatedComponent {
12971309
flyout.close();
12981310
}
12991311
const personCard =
1300-
this.querySelector<MgtPersonCard>('mgt-person-card') || this.renderRoot.querySelector('mgt-person-card');
1312+
this.querySelector<MgtPersonCard>('.mgt-person-card') || this.renderRoot.querySelector('.mgt-person-card');
13011313
if (personCard) {
13021314
personCard.isExpanded = false;
13031315
personCard.clearHistory();

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

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,7 @@ export class MgtPicker extends MgtTemplatedComponent {
260260
protected renderGet(): TemplateResult {
261261
return mgtHtml`
262262
<mgt-get
263+
class="mgt-get"
263264
resource=${this.resource}
264265
version=${this.version}
265266
.scopes=${this.scopes}
@@ -278,8 +279,14 @@ export class MgtPicker extends MgtTemplatedComponent {
278279
*/
279280
protected async loadState() {
280281
if (!this.response) {
281-
const parent = this.renderRoot.querySelector('mgt-get');
282-
parent.addEventListener('dataChange', (e: CustomEvent<DataChangedDetail>): void => this.handleDataChange(e));
282+
const parent = this.renderRoot.querySelector('.mgt-get');
283+
if (parent) {
284+
parent.addEventListener('dataChange', (e: CustomEvent<DataChangedDetail>): void => this.handleDataChange(e));
285+
} else {
286+
console.error(
287+
'🦒: mgt-picker component requires a child mgt-get component. Something has gone horribly wrong.'
288+
);
289+
}
283290
}
284291
this.isRefreshing = false;
285292
// hack to maintain method signature contract

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,8 @@ export class MgtTaxonomyPicker extends MgtTemplatedComponent {
400400
resource += '?$select=id,labels,descriptions,properties';
401401

402402
return mgtHtml`
403-
<mgt-get
403+
<mgt-get
404+
class="mgt-get"
404405
resource=${resource}
405406
version=${this.version}
406407
scopes=${['TermStore.Read.All']}
@@ -418,7 +419,7 @@ export class MgtTaxonomyPicker extends MgtTemplatedComponent {
418419
*/
419420
protected async loadState() {
420421
if (!this.terms) {
421-
const parent = this.renderRoot.querySelector('mgt-get');
422+
const parent = this.renderRoot.querySelector('.mgt-get');
422423
parent.addEventListener('dataChange', (e: CustomEvent<DataChangedDetail>): void => this.handleDataChange(e));
423424
}
424425
this.isRefreshing = false;

packages/mgt-components/src/components/mgt-todo/mgt-todo.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import { strings } from './strings';
3232
import { registerFluentComponents } from '../../utils/FluentComponents';
3333
import { fluentCheckbox, fluentRadioGroup, fluentButton } from '@fluentui/web-components';
3434
import { isElementDark } from '../../utils/isDark';
35-
import { ifDefined } from 'lit/directives/if-defined';
35+
import { ifDefined } from 'lit/directives/if-defined.js';
3636

3737
registerFluentComponents(fluentCheckbox, fluentRadioGroup, fluentButton);
3838

0 commit comments

Comments
 (0)