From 00159378ce16aa7bea29e152e3be23fe19d51ad9 Mon Sep 17 00:00:00 2001 From: Ocgineer Date: Thu, 15 Sep 2022 01:17:05 +0200 Subject: [PATCH] Configure Animation Module (#1504) * Configure Animation Module Configure the Animation Module of Angular to disable animation on older iOS devices (<14) where it causes animate not defined errors. * Simplified disableAnimations Removed the regex iOS version check as it seemed to return false on iOS 12.5.5 meaning that the `!('animate' in document.documentElement)` did the job already. This also allows users to enable the experimental feature Web Animations on iOS 12.5.5 to have them enabled again. as note; navigator.userAgent returned the following on an iPad iOS 12.5.5 `Mozilla/5.0 (iPad; CPU OS 12_5_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.2 Mobile/15E148 Safari/604.1` * added console output on disabled Added console.error if Web Animations have been disabled due to the browser not supporting this. --- UI/Web/src/app/app.module.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/UI/Web/src/app/app.module.ts b/UI/Web/src/app/app.module.ts index 858f83b64..968380027 100644 --- a/UI/Web/src/app/app.module.ts +++ b/UI/Web/src/app/app.module.ts @@ -14,7 +14,9 @@ import { SidenavModule } from './sidenav/sidenav.module'; import { NavModule } from './nav/nav.module'; - +// Disable Web Animations if the user's browser (such as iOS 12.5.5) does not support this. +const disableAnimations = !('animate' in document.documentElement); +if (disableAnimations) console.error("Web Animations have been disabled as your current browser does not support this."); @NgModule({ declarations: [ @@ -24,7 +26,7 @@ import { NavModule } from './nav/nav.module'; HttpClientModule, BrowserModule, AppRoutingModule, - BrowserAnimationsModule, + BrowserAnimationsModule.withConfig({ disableAnimations }), SidenavModule, NavModule, ToastrModule.forRoot({