chore: mitigate browser errors WTR

This commit is contained in:
Thijs Louisse 2020-07-06 19:25:15 +02:00
parent 121e1562fa
commit e571de808a
2 changed files with 13 additions and 4 deletions

View file

@ -304,9 +304,14 @@ export const FormGroupMixin = dedupeMixin(
_anyFormElementHasFeedbackFor(state) { _anyFormElementHasFeedbackFor(state) {
return Object.keys(this.formElements).some(name => { return Object.keys(this.formElements).some(name => {
if (Array.isArray(this.formElements[name])) { if (Array.isArray(this.formElements[name])) {
return this.formElements[name].some(el => !!el.hasFeedbackFor.includes(state)); return this.formElements[name].some(el => {
return Boolean(el.hasFeedbackFor && el.hasFeedbackFor.includes(state));
});
} }
return !!this.formElements[name].hasFeedbackFor.includes(state); return Boolean(
this.formElements[name].hasFeedbackFor &&
this.formElements[name].hasFeedbackFor.includes(state),
);
}); });
} }

View file

@ -290,6 +290,10 @@ export class OverlayController {
} }
} }
if (!this._renderTarget) {
return;
}
if (this.__isContentNodeProjected && this.placementMode === 'local') { if (this.__isContentNodeProjected && this.placementMode === 'local') {
// We add the contentNode in its slot, so that it will be projected by contentWrapperNode // We add the contentNode in its slot, so that it will be projected by contentWrapperNode
this._renderTarget.appendChild(this.contentNode); this._renderTarget.appendChild(this.contentNode);
@ -635,7 +639,7 @@ export class OverlayController {
this.__hasActiveBackdrop = false; this.__hasActiveBackdrop = false;
break; break;
case 'teardown': case 'teardown':
if (!this.backdropNode) { if (!this.backdropNode || !this.backdropNode.parentNode) {
return; return;
} }
this.backdropNode.parentNode.removeChild(this.backdropNode); this.backdropNode.parentNode.removeChild(this.backdropNode);
@ -685,7 +689,7 @@ export class OverlayController {
this.__hasActiveBackdrop = false; this.__hasActiveBackdrop = false;
break; break;
case 'teardown': case 'teardown':
if (!backdropNode) { if (!backdropNode || !backdropNode.parentNode) {
return; return;
} }
if (animation && this.__backDropAnimation) { if (animation && this.__backDropAnimation) {