forked from MapComplete/MapComplete
Fix: hide some elements of the UI if they are disabled by a featureSwitch
This commit is contained in:
parent
02da68a62e
commit
17503d5bfb
6 changed files with 402 additions and 366 deletions
|
@ -338,7 +338,6 @@ export default class ThemeViewState implements SpecialVisualizationState {
|
|||
);
|
||||
|
||||
this.initActors();
|
||||
// TODO remove this.addLastClick(lastClick);
|
||||
this.drawSpecialLayers();
|
||||
this.initHotkeys();
|
||||
this.miscSetup();
|
||||
|
@ -417,52 +416,61 @@ export default class ThemeViewState implements SpecialVisualizationState {
|
|||
}
|
||||
);
|
||||
|
||||
Hotkeys.RegisterHotkey(
|
||||
{
|
||||
nomod: "b"
|
||||
},
|
||||
Translations.t.hotkeyDocumentation.openLayersPanel,
|
||||
() => {
|
||||
if (this.featureSwitches.featureSwitchFilter.data) {
|
||||
this.guistate.openFilterView();
|
||||
this.featureSwitches.featureSwitchBackgroundSelection.addCallbackAndRun(enable => {
|
||||
if(!enable){
|
||||
return
|
||||
}
|
||||
}
|
||||
);
|
||||
Hotkeys.RegisterHotkey(
|
||||
{
|
||||
nomod: "b"
|
||||
},
|
||||
Translations.t.hotkeyDocumentation.openLayersPanel,
|
||||
() => {
|
||||
if (this.featureSwitches.featureSwitchFilter.data) {
|
||||
this.guistate.openFilterView();
|
||||
}
|
||||
}
|
||||
);
|
||||
Hotkeys.RegisterHotkey(
|
||||
{ shift: "O" },
|
||||
Translations.t.hotkeyDocumentation.selectMapnik,
|
||||
() => {
|
||||
this.mapProperties.rasterLayer.setData(AvailableRasterLayers.osmCarto);
|
||||
}
|
||||
);
|
||||
const setLayerCategory = (category: EliCategory) => {
|
||||
const available = this.availableLayers.data;
|
||||
const current = this.mapProperties.rasterLayer;
|
||||
const best = RasterLayerUtils.SelectBestLayerAccordingTo(
|
||||
available,
|
||||
category,
|
||||
current.data
|
||||
);
|
||||
console.log("Best layer for category", category, "is", best.properties.id);
|
||||
current.setData(best);
|
||||
};
|
||||
|
||||
Hotkeys.RegisterHotkey(
|
||||
{ nomod: "O" },
|
||||
Translations.t.hotkeyDocumentation.selectOsmbasedmap,
|
||||
() => setLayerCategory("osmbasedmap")
|
||||
);
|
||||
|
||||
Hotkeys.RegisterHotkey({ nomod: "M" }, Translations.t.hotkeyDocumentation.selectMap, () =>
|
||||
setLayerCategory("map")
|
||||
);
|
||||
|
||||
Hotkeys.RegisterHotkey(
|
||||
{ nomod: "P" },
|
||||
Translations.t.hotkeyDocumentation.selectAerial,
|
||||
() => setLayerCategory("photo")
|
||||
);
|
||||
return true
|
||||
})
|
||||
|
||||
Hotkeys.RegisterHotkey(
|
||||
{ shift: "O" },
|
||||
Translations.t.hotkeyDocumentation.selectMapnik,
|
||||
() => {
|
||||
this.mapProperties.rasterLayer.setData(AvailableRasterLayers.osmCarto);
|
||||
}
|
||||
);
|
||||
const setLayerCategory = (category: EliCategory) => {
|
||||
const available = this.availableLayers.data;
|
||||
const current = this.mapProperties.rasterLayer;
|
||||
const best = RasterLayerUtils.SelectBestLayerAccordingTo(
|
||||
available,
|
||||
category,
|
||||
current.data
|
||||
);
|
||||
console.log("Best layer for category", category, "is", best.properties.id);
|
||||
current.setData(best);
|
||||
};
|
||||
|
||||
Hotkeys.RegisterHotkey(
|
||||
{ nomod: "O" },
|
||||
Translations.t.hotkeyDocumentation.selectOsmbasedmap,
|
||||
() => setLayerCategory("osmbasedmap")
|
||||
);
|
||||
|
||||
Hotkeys.RegisterHotkey({ nomod: "M" }, Translations.t.hotkeyDocumentation.selectMap, () =>
|
||||
setLayerCategory("map")
|
||||
);
|
||||
|
||||
Hotkeys.RegisterHotkey(
|
||||
{ nomod: "P" },
|
||||
Translations.t.hotkeyDocumentation.selectAerial,
|
||||
() => setLayerCategory("photo")
|
||||
);
|
||||
}
|
||||
|
||||
private addLastClick(last_click: LastClickFeatureSource) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue