mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
Warning and link to support matrix for IE11 (#66512)
* Warning and link to support matrix for IE11 * snaps * i18n feedback Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
This commit is contained in:
parent
114a0a13a5
commit
f7f7f0b0e2
2 changed files with 148 additions and 112 deletions
|
@ -97,7 +97,9 @@ describe('start', () => {
|
|||
expect(startDeps.notifications.toasts.addWarning.mock.calls).toMatchInlineSnapshot(`
|
||||
Array [
|
||||
Array [
|
||||
"Your browser does not meet the security requirements for Kibana.",
|
||||
Object {
|
||||
"title": [Function],
|
||||
},
|
||||
],
|
||||
]
|
||||
`);
|
||||
|
@ -146,18 +148,18 @@ describe('start', () => {
|
|||
service.stop();
|
||||
|
||||
await expect(promise).resolves.toMatchInlineSnapshot(`
|
||||
Array [
|
||||
Object {},
|
||||
Object {
|
||||
"logo": "big logo",
|
||||
"smallLogo": "not so big logo",
|
||||
},
|
||||
Object {
|
||||
"logo": "big logo without small logo",
|
||||
"smallLogo": undefined,
|
||||
},
|
||||
]
|
||||
`);
|
||||
Array [
|
||||
Object {},
|
||||
Object {
|
||||
"logo": "big logo",
|
||||
"smallLogo": "not so big logo",
|
||||
},
|
||||
Object {
|
||||
"logo": "big logo without small logo",
|
||||
"smallLogo": undefined,
|
||||
},
|
||||
]
|
||||
`);
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -175,13 +177,13 @@ describe('start', () => {
|
|||
service.stop();
|
||||
|
||||
await expect(promise).resolves.toMatchInlineSnapshot(`
|
||||
Array [
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
]
|
||||
`);
|
||||
Array [
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
]
|
||||
`);
|
||||
});
|
||||
|
||||
it('emits false until manually overridden when in embed mode', async () => {
|
||||
|
@ -203,13 +205,13 @@ describe('start', () => {
|
|||
service.stop();
|
||||
|
||||
await expect(promise).resolves.toMatchInlineSnapshot(`
|
||||
Array [
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
]
|
||||
`);
|
||||
Array [
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
]
|
||||
`);
|
||||
});
|
||||
|
||||
it('application-specified visibility on mount', async () => {
|
||||
|
@ -230,13 +232,13 @@ describe('start', () => {
|
|||
service.stop();
|
||||
|
||||
await expect(promise).resolves.toMatchInlineSnapshot(`
|
||||
Array [
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
]
|
||||
`);
|
||||
Array [
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
]
|
||||
`);
|
||||
});
|
||||
|
||||
it('changing visibility has no effect on chrome-hiding application', async () => {
|
||||
|
@ -253,12 +255,12 @@ describe('start', () => {
|
|||
service.stop();
|
||||
|
||||
await expect(promise).resolves.toMatchInlineSnapshot(`
|
||||
Array [
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
]
|
||||
`);
|
||||
Array [
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
]
|
||||
`);
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -280,36 +282,36 @@ describe('start', () => {
|
|||
service.stop();
|
||||
|
||||
await expect(promise).resolves.toMatchInlineSnapshot(`
|
||||
Array [
|
||||
Array [],
|
||||
Array [
|
||||
"foo",
|
||||
],
|
||||
Array [
|
||||
"foo",
|
||||
],
|
||||
Array [
|
||||
"foo",
|
||||
"bar",
|
||||
],
|
||||
Array [
|
||||
"foo",
|
||||
"bar",
|
||||
],
|
||||
Array [
|
||||
"foo",
|
||||
"bar",
|
||||
"baz",
|
||||
],
|
||||
Array [
|
||||
"foo",
|
||||
"baz",
|
||||
],
|
||||
Array [
|
||||
"baz",
|
||||
],
|
||||
]
|
||||
`);
|
||||
Array [
|
||||
Array [],
|
||||
Array [
|
||||
"foo",
|
||||
],
|
||||
Array [
|
||||
"foo",
|
||||
],
|
||||
Array [
|
||||
"foo",
|
||||
"bar",
|
||||
],
|
||||
Array [
|
||||
"foo",
|
||||
"bar",
|
||||
],
|
||||
Array [
|
||||
"foo",
|
||||
"bar",
|
||||
"baz",
|
||||
],
|
||||
Array [
|
||||
"foo",
|
||||
"baz",
|
||||
],
|
||||
Array [
|
||||
"baz",
|
||||
],
|
||||
]
|
||||
`);
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -327,19 +329,19 @@ describe('start', () => {
|
|||
service.stop();
|
||||
|
||||
await expect(promise).resolves.toMatchInlineSnapshot(`
|
||||
Array [
|
||||
undefined,
|
||||
Object {
|
||||
"text": "foo",
|
||||
"tooltip": "foo's tooltip",
|
||||
},
|
||||
Object {
|
||||
"text": "bar",
|
||||
"tooltip": "bar's tooltip",
|
||||
},
|
||||
undefined,
|
||||
]
|
||||
`);
|
||||
Array [
|
||||
undefined,
|
||||
Object {
|
||||
"text": "foo",
|
||||
"tooltip": "foo's tooltip",
|
||||
},
|
||||
Object {
|
||||
"text": "bar",
|
||||
"tooltip": "bar's tooltip",
|
||||
},
|
||||
undefined,
|
||||
]
|
||||
`);
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -358,29 +360,29 @@ describe('start', () => {
|
|||
service.stop();
|
||||
|
||||
await expect(promise).resolves.toMatchInlineSnapshot(`
|
||||
Array [
|
||||
Array [],
|
||||
Array [
|
||||
Object {
|
||||
"text": "foo",
|
||||
},
|
||||
Object {
|
||||
"text": "bar",
|
||||
},
|
||||
],
|
||||
Array [
|
||||
Object {
|
||||
"text": "foo",
|
||||
},
|
||||
],
|
||||
Array [
|
||||
Object {
|
||||
"text": "bar",
|
||||
},
|
||||
],
|
||||
Array [],
|
||||
]
|
||||
`);
|
||||
Array [
|
||||
Array [],
|
||||
Array [
|
||||
Object {
|
||||
"text": "foo",
|
||||
},
|
||||
Object {
|
||||
"text": "bar",
|
||||
},
|
||||
],
|
||||
Array [
|
||||
Object {
|
||||
"text": "foo",
|
||||
},
|
||||
],
|
||||
Array [
|
||||
Object {
|
||||
"text": "bar",
|
||||
},
|
||||
],
|
||||
Array [],
|
||||
]
|
||||
`);
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -18,11 +18,13 @@
|
|||
*/
|
||||
|
||||
import { Breadcrumb as EuiBreadcrumb, IconType } from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import React from 'react';
|
||||
import { FormattedMessage } from '@kbn/i18n/react';
|
||||
import { BehaviorSubject, combineLatest, merge, Observable, of, ReplaySubject } from 'rxjs';
|
||||
import { flatMap, map, takeUntil } from 'rxjs/operators';
|
||||
import { parse } from 'url';
|
||||
import { EuiLink } from '@elastic/eui';
|
||||
import { mountReactNode } from '../utils/mount';
|
||||
import { InternalApplicationStart } from '../application';
|
||||
import { DocLinksStart } from '../doc_links';
|
||||
import { HttpStart } from '../http';
|
||||
|
@ -165,12 +167,44 @@ export class ChromeService {
|
|||
// Can delete
|
||||
const getNavType$ = uiSettings.get$('pageNavigation').pipe(takeUntil(this.stop$));
|
||||
|
||||
const isIE = () => {
|
||||
const ua = window.navigator.userAgent;
|
||||
const msie = ua.indexOf('MSIE '); // IE 10 or older
|
||||
const trident = ua.indexOf('Trident/'); // IE 11
|
||||
|
||||
return msie > 0 || trident > 0;
|
||||
};
|
||||
|
||||
if (!this.params.browserSupportsCsp && injectedMetadata.getCspConfig().warnLegacyBrowsers) {
|
||||
notifications.toasts.addWarning(
|
||||
i18n.translate('core.chrome.legacyBrowserWarning', {
|
||||
defaultMessage: 'Your browser does not meet the security requirements for Kibana.',
|
||||
})
|
||||
);
|
||||
notifications.toasts.addWarning({
|
||||
title: mountReactNode(
|
||||
<FormattedMessage
|
||||
id="core.chrome.legacyBrowserWarning"
|
||||
defaultMessage="Your browser does not meet the security requirements for Kibana."
|
||||
/>
|
||||
),
|
||||
});
|
||||
|
||||
if (isIE()) {
|
||||
notifications.toasts.addWarning({
|
||||
title: mountReactNode(
|
||||
<FormattedMessage
|
||||
id="core.chrome.browserDeprecationWarning"
|
||||
defaultMessage="Support for Internet Explorer will be dropped in future versions of this software, please check {link}."
|
||||
values={{
|
||||
link: (
|
||||
<EuiLink target="_blank" href="https://www.elastic.co/support/matrix" external>
|
||||
<FormattedMessage
|
||||
id="core.chrome.browserDeprecationLink"
|
||||
defaultMessage="the support matrix on our website"
|
||||
/>
|
||||
</EuiLink>
|
||||
),
|
||||
}}
|
||||
/>
|
||||
),
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue