mirror of
https://github.com/grafana/grafana.git
synced 2025-02-12 00:25:46 -06:00
a77c342764
* Show shortcut * add icon to search bar, make same changes in search modal * rename to modKey Co-authored-by: joshhunt <josh@trtr.co>
44 lines
1.4 KiB
TypeScript
44 lines
1.4 KiB
TypeScript
/**
|
|
* Check to see if browser is not supported by Grafana
|
|
* This function is copied to index-template.html but is here so we can write tests
|
|
* */
|
|
export function checkBrowserCompatibility() {
|
|
const isIE = navigator.userAgent.indexOf('MSIE') > -1;
|
|
const isEdge = navigator.userAgent.indexOf('Edge/') > -1 || navigator.userAgent.indexOf('Edg/') > -1;
|
|
const isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
|
|
const isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
|
|
|
|
/* Check for
|
|
<= IE11 (Trident 7)
|
|
Edge <= 16
|
|
Firefox <= 64
|
|
Chrome <= 54
|
|
*/
|
|
const isEdgeVersion = /Edge\/([0-9.]+)/.exec(navigator.userAgent);
|
|
|
|
if (isIE && parseFloat(/Trident\/([0-9.]+)/.exec(navigator.userAgent)![1]) <= 7) {
|
|
return false;
|
|
} else if (
|
|
isEdge &&
|
|
((isEdgeVersion && parseFloat(isEdgeVersion[1]) <= 16) ||
|
|
parseFloat(/Edg\/([0-9.]+)/.exec(navigator.userAgent)![1]) <= 16)
|
|
) {
|
|
return false;
|
|
} else if (isFirefox && parseFloat(/Firefox\/([0-9.]+)/.exec(navigator.userAgent)![1]) <= 64) {
|
|
return false;
|
|
} else if (isChrome && parseFloat(/Chrome\/([0-9.]+)/.exec(navigator.userAgent)![1]) <= 54) {
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
export function userAgentIsApple() {
|
|
const appleRe = /(iPhone|iPad|Mac)/;
|
|
return appleRe.test(navigator.platform);
|
|
}
|
|
|
|
export function getModKey() {
|
|
return userAgentIsApple() ? 'cmd' : 'ctrl';
|
|
}
|