From 677be52162c94f1535f26d5d6da36bcbb0b82362 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Giovanni=20Borella?= Date: Mon, 31 Mar 2025 12:52:17 +0000 Subject: [PATCH 1/3] add ignorelist --- CHANGELOG.md | 11 ++++ extensions/streetView/browser/index.js | 72 ++++++++++++++++---------- 2 files changed, 57 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b64270d3..e2a89491a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,17 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [CalVer](https://calver.org/). +## [Unreleased] + +### Added + +- A new config `extensionConfig.streetView.ignorelist`. This setting will not render the buttons for selected options. possible values. (To hide `cowi` - no not set `extensionConfig.streetView.cowi`): + - streetview + - mapillary + - skraafoto + - maps + + ## [2025.3.2] - 2025-28-3 ### Added diff --git a/extensions/streetView/browser/index.js b/extensions/streetView/browser/index.js index 1d53a9625..8b5fb888d 100644 --- a/extensions/streetView/browser/index.js +++ b/extensions/streetView/browser/index.js @@ -51,6 +51,7 @@ let mapObj; let config = require('../../../config/config.js'); let cowiUrl = config?.extensionConfig?.streetView?.cowi; +let ignorelist = config?.extensionConfig?.streetView?.ignorelist || []; let mapillaryUrl = config?.extensionConfig?.streetView?.mapillary ||"https://www.mapillary.com/app/?z=17"; /** @@ -242,32 +243,51 @@ module.exports = {
- - - - - - - - - - + {ignorelist.length > 0 && !ignorelist.includes("streetview") ? + <> + + + + : null + } + {ignorelist.length > 0 && !ignorelist.includes("mapillary") ? + <> + + + + : null + } + {ignorelist.length > 0 && !ignorelist.includes("skraafoto") ? + <> + + + + : null + } + {ignorelist.length > 0 && !ignorelist.includes("maps") ? + <> + + + + : null + } + {cowiUrl !== undefined ? Date: Thu, 3 Apr 2025 06:59:13 +0000 Subject: [PATCH 2/3] fix typo. calculate defaults --- CHANGELOG.md | 2 +- extensions/streetView/browser/index.js | 46 ++++++++++++++++++-------- 2 files changed, 33 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e2a89491a..b5b4c7acf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ and this project adheres to [CalVer](https://calver.org/). ### Added - A new config `extensionConfig.streetView.ignorelist`. This setting will not render the buttons for selected options. possible values. (To hide `cowi` - no not set `extensionConfig.streetView.cowi`): - - streetview + - google - mapillary - skraafoto - maps diff --git a/extensions/streetView/browser/index.js b/extensions/streetView/browser/index.js index 8b5fb888d..e940d064b 100644 --- a/extensions/streetView/browser/index.js +++ b/extensions/streetView/browser/index.js @@ -52,6 +52,14 @@ let config = require('../../../config/config.js'); let cowiUrl = config?.extensionConfig?.streetView?.cowi; let ignorelist = config?.extensionConfig?.streetView?.ignorelist || []; + +// check if cowiUrl is set, if not, add it to the ignorelist +// This is a way to keep the old functionality of the extension, but also to allow for a new way of using the extension +if (!cowiUrl) { + ignorelist.push("cowi"); +} + +const availableServices = ["google", "mapillary", "skraafoto", "maps", "cowi"]; let mapillaryUrl = config?.extensionConfig?.streetView?.mapillary ||"https://www.mapillary.com/app/?z=17"; /** @@ -144,9 +152,19 @@ module.exports = { constructor(props) { super(props); + // Find the first available service that is not in the ignorelist, Use this as default + let defaultService = "google"; // Fallback default + for (let service of availableServices) { + if (!ignorelist.includes(service)) { + defaultService = service; + break; + } + } + + // Use config default if specified, otherwise use the computed default this.state = { active: false, - selectedOption: config?.extensionConfig?.streetView?.default || "google" + selectedOption: config?.extensionConfig?.streetView?.default || defaultService }; this.onChange = this.onChange.bind(this); @@ -243,14 +261,14 @@ module.exports = {
- {ignorelist.length > 0 && !ignorelist.includes("streetview") ? + {ignorelist.length > 0 && !ignorelist.includes("google") ? <> - + htmlFor="streetview-service-google">StreetView : null } @@ -287,17 +305,17 @@ module.exports = { : null } - - {cowiUrl !== undefined ? + {ignorelist.length > 0 && !ignorelist.includes("cowi") ? + <> : null - } - {cowiUrl !== undefined ? + name="streetview-service" + value="cowi" checked={this.state.selectedOption === 'cowi'} + onChange={this.onChange}/> : null - } + htmlFor="streetview-service-cowi">COWI Gadefoto + + : null + }
From e43d5d301431b2b8f5d0f3fef34543a2c3b55e1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Giovanni=20Borella?= Date: Tue, 8 Apr 2025 22:00:20 +0200 Subject: [PATCH 3/3] dont check for length --- extensions/streetView/browser/index.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/extensions/streetView/browser/index.js b/extensions/streetView/browser/index.js index e940d064b..03296ea52 100644 --- a/extensions/streetView/browser/index.js +++ b/extensions/streetView/browser/index.js @@ -261,7 +261,7 @@ module.exports = {
- {ignorelist.length > 0 && !ignorelist.includes("google") ? + {!ignorelist.includes("google") ? <> : null } - {ignorelist.length > 0 && !ignorelist.includes("mapillary") ? + {!ignorelist.includes("mapillary") ? <> : null } - {ignorelist.length > 0 && !ignorelist.includes("skraafoto") ? + {!ignorelist.includes("skraafoto") ? <> : null } - {ignorelist.length > 0 && !ignorelist.includes("maps") ? + {!ignorelist.includes("maps") ? <> : null } - {ignorelist.length > 0 && !ignorelist.includes("cowi") ? + {!ignorelist.includes("cowi") ? <>