mirror of
https://github.com/grafana/grafana.git
synced 2025-08-06 14:39:30 +08:00
Web compat: polyfill MediaQueryList.addEventListener() for Safari < 14 (#36274)
This commit is contained in:
@ -4,6 +4,7 @@ import 'regenerator-runtime/runtime';
|
|||||||
|
|
||||||
import 'whatwg-fetch'; // fetch polyfill needed for PhantomJs rendering
|
import 'whatwg-fetch'; // fetch polyfill needed for PhantomJs rendering
|
||||||
import 'abortcontroller-polyfill/dist/polyfill-patch-fetch'; // fetch polyfill needed for PhantomJs rendering
|
import 'abortcontroller-polyfill/dist/polyfill-patch-fetch'; // fetch polyfill needed for PhantomJs rendering
|
||||||
|
import './polyfills/old-mediaquerylist'; // Safari < 14 does not have mql.addEventListener()
|
||||||
import 'file-saver';
|
import 'file-saver';
|
||||||
import 'jquery';
|
import 'jquery';
|
||||||
|
|
||||||
|
20
public/app/polyfills/old-mediaquerylist.ts
Normal file
20
public/app/polyfills/old-mediaquerylist.ts
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
// Safari < 14 does not have mql.addEventListener(), but uses the old spec mql.addListener()
|
||||||
|
|
||||||
|
let oMatchMedia = window.matchMedia;
|
||||||
|
|
||||||
|
type MqlListener = (this: MediaQueryList, ev: MediaQueryListEvent) => any;
|
||||||
|
|
||||||
|
window.matchMedia = (mediaQueryString) => {
|
||||||
|
let mql = oMatchMedia(mediaQueryString);
|
||||||
|
|
||||||
|
if (!mql.addEventListener) {
|
||||||
|
mql.addEventListener = (type: string, listener: MqlListener) => {
|
||||||
|
mql.addListener(listener);
|
||||||
|
};
|
||||||
|
mql.removeEventListener = (type: string, listener: MqlListener) => {
|
||||||
|
mql.removeListener(listener);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
return mql;
|
||||||
|
};
|
Reference in New Issue
Block a user