mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
FeatureToggles: Support changing feature toggles with URL parameters (#50275)
This commit is contained in:
parent
8318876b34
commit
fdf67276ea
@ -153,9 +153,29 @@ export class GrafanaBootConfig implements GrafanaConfig {
|
||||
if (this.dateFormats) {
|
||||
systemDateFormats.update(this.dateFormats);
|
||||
}
|
||||
|
||||
overrideFeatureTogglesFromUrl(this);
|
||||
}
|
||||
}
|
||||
|
||||
function overrideFeatureTogglesFromUrl(config: GrafanaBootConfig) {
|
||||
if (window.location.href.indexOf('__feature') === -1) {
|
||||
return;
|
||||
}
|
||||
|
||||
const params = new URLSearchParams(window.location.search);
|
||||
params.forEach((value, key) => {
|
||||
if (key.startsWith('__feature.')) {
|
||||
const featureName = key.substring(10);
|
||||
const toggleState = value === 'true';
|
||||
if (toggleState !== config.featureToggles[key]) {
|
||||
config.featureToggles[featureName] = toggleState;
|
||||
console.log(`Setting feature toggle ${featureName} = ${toggleState}`);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
const bootData = (window as any).grafanaBootData || {
|
||||
settings: {},
|
||||
user: {},
|
||||
|
@ -8,9 +8,7 @@ let searcher: GrafanaSearcher | undefined = undefined;
|
||||
|
||||
export function getGrafanaSearcher(): GrafanaSearcher {
|
||||
if (!searcher) {
|
||||
const useBluge =
|
||||
config.featureToggles.panelTitleSearch && // set in system configs
|
||||
window.location.search.indexOf('index=sql') < 0; // or URL override
|
||||
const useBluge = config.featureToggles.panelTitleSearch;
|
||||
searcher = useBluge ? new BlugeSearcher() : new SQLSearcher();
|
||||
}
|
||||
return searcher!;
|
||||
|
Loading…
Reference in New Issue
Block a user