From e571de808a5811fe08492d273445ac179fdbb6e7 Mon Sep 17 00:00:00 2001 From: Thijs Louisse Date: Mon, 6 Jul 2020 19:25:15 +0200 Subject: [PATCH] chore: mitigate browser errors WTR --- packages/form-core/src/form-group/FormGroupMixin.js | 9 +++++++-- packages/overlays/src/OverlayController.js | 8 ++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/packages/form-core/src/form-group/FormGroupMixin.js b/packages/form-core/src/form-group/FormGroupMixin.js index 4e2cfc103..1439f6766 100644 --- a/packages/form-core/src/form-group/FormGroupMixin.js +++ b/packages/form-core/src/form-group/FormGroupMixin.js @@ -304,9 +304,14 @@ export const FormGroupMixin = dedupeMixin( _anyFormElementHasFeedbackFor(state) { return Object.keys(this.formElements).some(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), + ); }); } diff --git a/packages/overlays/src/OverlayController.js b/packages/overlays/src/OverlayController.js index 6dd8e612a..a15d0e2cc 100644 --- a/packages/overlays/src/OverlayController.js +++ b/packages/overlays/src/OverlayController.js @@ -290,6 +290,10 @@ export class OverlayController { } } + if (!this._renderTarget) { + return; + } + if (this.__isContentNodeProjected && this.placementMode === 'local') { // We add the contentNode in its slot, so that it will be projected by contentWrapperNode this._renderTarget.appendChild(this.contentNode); @@ -635,7 +639,7 @@ export class OverlayController { this.__hasActiveBackdrop = false; break; case 'teardown': - if (!this.backdropNode) { + if (!this.backdropNode || !this.backdropNode.parentNode) { return; } this.backdropNode.parentNode.removeChild(this.backdropNode); @@ -685,7 +689,7 @@ export class OverlayController { this.__hasActiveBackdrop = false; break; case 'teardown': - if (!backdropNode) { + if (!backdropNode || !backdropNode.parentNode) { return; } if (animation && this.__backDropAnimation) {