Refactoring: remove selectedLayer from titleHandler

This commit is contained in:
Pieter Vander Vennet 2024-01-29 18:09:25 +01:00
parent 790399f8a5
commit b0d394797b
2 changed files with 7 additions and 6 deletions

View file

@ -12,20 +12,21 @@ import { SpecialVisualizationState } from "../../UI/SpecialVisualization"
export default class TitleHandler { export default class TitleHandler {
constructor( constructor(
selectedElement: Store<Feature>, selectedElement: Store<Feature>,
selectedLayer: Store<LayerConfig>,
allElements: FeaturePropertiesStore, allElements: FeaturePropertiesStore,
state: SpecialVisualizationState state: SpecialVisualizationState
) { ) {
const currentTitle: Store<string> = selectedElement.map( const currentTitle: Store<string> = selectedElement.map(
(selected) => { (selected) => {
const defaultTitle = state.layout?.title?.txt ?? "MapComplete" const defaultTitle = state.layout?.title?.txt ?? "MapComplete"
if (selected === undefined) {
if (selected === undefined || selectedLayer.data === undefined) { return defaultTitle
}
const layer = state.layout.getMatchingLayer(selected.properties)
if (layer === undefined) {
return defaultTitle return defaultTitle
} }
const tags = selected.properties const tags = selected.properties
const layer = selectedLayer.data
if (layer.title === undefined) { if (layer.title === undefined) {
return defaultTitle return defaultTitle
} }
@ -43,7 +44,7 @@ export default class TitleHandler {
defaultTitle defaultTitle
) )
}, },
[Locale.language, selectedLayer] [Locale.language]
) )
currentTitle.addCallbackAndRunD((title) => { currentTitle.addCallbackAndRunD((title) => {

View file

@ -790,7 +790,7 @@ export default class ThemeViewState implements SpecialVisualizationState {
}) })
new ThemeViewStateHashActor(this) new ThemeViewStateHashActor(this)
new MetaTagging(this) new MetaTagging(this)
new TitleHandler(this.selectedElement, this.selectedLayer, this.featureProperties, this) new TitleHandler(this.selectedElement, this.featureProperties, this)
new ChangeToElementsActor(this.changes, this.featureProperties) new ChangeToElementsActor(this.changes, this.featureProperties)
new PendingChangesUploader(this.changes, this.selectedElement) new PendingChangesUploader(this.changes, this.selectedElement)
new SelectedElementTagsUpdater(this) new SelectedElementTagsUpdater(this)