From aa47c1f986409a7f222cb3ffd66a69ff5b41be36 Mon Sep 17 00:00:00 2001 From: crisbeto Date: Sun, 22 Sep 2019 19:19:38 +0200 Subject: [PATCH] fix(material-experimental/mdc-tabs): error during server-side rendering Fixes an error that is thrown by the ink bar, because it tries to call `getBoundingClientRect` on the server. Also sets up the kitchen sink test for the MDC-based tabs. --- src/material-experimental/mdc-tabs/ink-bar.ts | 3 ++- .../kitchen-sink-mdc/kitchen-sink-mdc.html | 23 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/material-experimental/mdc-tabs/ink-bar.ts b/src/material-experimental/mdc-tabs/ink-bar.ts index 59292899cd0c..a15dd06ab213 100644 --- a/src/material-experimental/mdc-tabs/ink-bar.ts +++ b/src/material-experimental/mdc-tabs/ink-bar.ts @@ -82,7 +82,8 @@ export class MatInkBarFoundation { this._indicatorContent.style.setProperty(propName, value); }, computeContentClientRect: () => { - return this._destroyed ? { + // `getBoundingClientRect` isn't available on the server. + return this._destroyed || !this._indicatorContent.getBoundingClientRect ? { width: 0, height: 0, top: 0, left: 0, right: 0, bottom: 0 } : this._indicatorContent.getBoundingClientRect(); } diff --git a/src/universal-app/kitchen-sink-mdc/kitchen-sink-mdc.html b/src/universal-app/kitchen-sink-mdc/kitchen-sink-mdc.html index 6f978529cdca..0d1c6616196a 100644 --- a/src/universal-app/kitchen-sink-mdc/kitchen-sink-mdc.html +++ b/src/universal-app/kitchen-sink-mdc/kitchen-sink-mdc.html @@ -55,3 +55,26 @@

Slider

+ +

Tabs

+ + + + + The overview + + + + API docs + + The API docs + + + +