Skip to content

Commit dedbfa4

Browse files
authored
Merge pull request #813 from OpenKnowledgeMaps/dev
feat: edge and opera in browser filtering
2 parents 28b4569 + 1a40c82 commit dedbfa4

1 file changed

Lines changed: 27 additions & 12 deletions

File tree

vis/js/HeadstartRunner.tsx

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ class HeadstartRunner {
5555
}
5656

5757
async run() {
58-
this.checkBrowserVersion();
58+
this.checkIsSupportedBrowser();
5959
this.renderReact();
6060
this.addBackButtonListener();
6161
this.backendData = await this.fetchData();
@@ -65,16 +65,29 @@ class HeadstartRunner {
6565
this.addWindowResizeListener();
6666
}
6767

68-
checkBrowserVersion() {
68+
private checkIsSupportedBrowser() {
69+
const SUPPORTED = [
70+
"Chrome",
71+
"Firefox",
72+
"Safari",
73+
"Microsoft Edge",
74+
"Opera",
75+
] as const;
76+
6977
const browser = Bowser.getParser(window.navigator.userAgent);
70-
// TODO use proper browser filtering https://www.npmjs.com/package/bowser#filtering-browsers
71-
if (
72-
!["chrome", "firefox", "safari"].includes(browser.getBrowserName(true))
73-
) {
78+
const browserName = browser.getBrowserName(true);
79+
80+
const isSupportedBrowser = SUPPORTED.map((browserName) =>
81+
browserName.toLowerCase()
82+
).includes(browserName);
83+
84+
if (!isSupportedBrowser || !browserName) {
7485
alert(
7586
"You are using an unsupported browser. " +
7687
"This visualization was successfully tested " +
77-
"with the latest versions of Chrome, Firefox and Safari."
88+
"with the latest versions of " +
89+
"Chrome, Firefox, Safari, Edge and Opera. " +
90+
"We strongly recommend using one of these browsers."
7891
);
7992
}
8093
}
@@ -160,10 +173,7 @@ class HeadstartRunner {
160173
addWindowResizeListener() {
161174
window.addEventListener("resize", () => {
162175
const chart = getChartSize(this.config);
163-
const list = getListSize(
164-
this.config,
165-
chart.size
166-
);
176+
const list = getListSize(this.config, chart.size);
167177
this.store.dispatch(updateDimensions(chart, list));
168178
});
169179
}
@@ -195,7 +205,12 @@ class HeadstartRunner {
195205
elem?.dispatchEvent(event);
196206
}
197207

198-
rescaleMap(scaleBy: string, baseUnit: string, isContentBased: boolean, initialSort: string) {
208+
rescaleMap(
209+
scaleBy: string,
210+
baseUnit: string,
211+
isContentBased: boolean,
212+
initialSort: string
213+
) {
199214
this.config.scale_by = scaleBy;
200215
this.config.base_unit = baseUnit;
201216
this.config.content_based = isContentBased;

0 commit comments

Comments
 (0)