forked from MapComplete/MapComplete
Extract and validate images using a new conversion, regenerate docs
This commit is contained in:
parent
5198f5d310
commit
b3c58ae82e
52 changed files with 8611 additions and 3408 deletions
|
@ -311,8 +311,11 @@ export default class LayerConfig extends WithContextLoader {
|
|||
if (mapRendering === undefined) {
|
||||
return undefined
|
||||
}
|
||||
const baseTags = TagUtils.changeAsProperties(this.source.osmTags.asChange({id: "node/-1"}))
|
||||
return mapRendering.GetSimpleIcon(new UIEventSource(baseTags))
|
||||
return mapRendering.GetBaseIcon(this.GetBaseTags())
|
||||
}
|
||||
|
||||
public GetBaseTags(): any{
|
||||
return TagUtils.changeAsProperties(this.source.osmTags.asChange({id: "node/-1"}))
|
||||
}
|
||||
|
||||
public GenerateDocumentation(usedInThemes: string[], layerIsNeededBy: Map<string, string[]>, dependencies: {
|
||||
|
@ -365,12 +368,6 @@ export default class LayerConfig extends WithContextLoader {
|
|||
extraProps.push(new Combine(["This layer is needed as dependency for layer", new Link(revDep, "#" + revDep)]))
|
||||
}
|
||||
|
||||
const icon = Array.from(this.mapRendering[0]?.icon?.ExtractImages(true) ?? [])[0]
|
||||
let iconImg = ""
|
||||
if (icon !== undefined) {
|
||||
iconImg = `<img src='https://mapcomplete.osm.be/${icon}' height="100px"> `
|
||||
}
|
||||
|
||||
let neededTags: TagsFilter[] = [this.source.osmTags]
|
||||
if (this.source.osmTags["and"] !== undefined) {
|
||||
neededTags = this.source.osmTags["and"]
|
||||
|
@ -402,6 +399,16 @@ export default class LayerConfig extends WithContextLoader {
|
|||
]).SetClass("flex-col flex")
|
||||
}
|
||||
|
||||
const icon = this.mapRendering
|
||||
.filter(mr => mr.location.has("point"))
|
||||
.map(mr => mr.icon.render.txt)
|
||||
.find(i => i !== undefined)
|
||||
let iconImg = ""
|
||||
if (icon !== undefined) {
|
||||
// This is for the documentation, so we have to use raw HTML
|
||||
iconImg = `<img src='https://mapcomplete.osm.be/${icon}' height="100px"> `
|
||||
}
|
||||
|
||||
return new Combine([
|
||||
new Combine([
|
||||
new Title(this.id, 1),
|
||||
|
@ -435,25 +442,6 @@ export default class LayerConfig extends WithContextLoader {
|
|||
return Utils.NoNull([...this.tagRenderings, ...this.titleIcons, this.title, this.isShown])
|
||||
}
|
||||
|
||||
public ExtractImages(): Set<string> {
|
||||
const parts: Set<string>[] = [];
|
||||
parts.push(...this.tagRenderings?.map((tr) => tr.ExtractImages(false)));
|
||||
parts.push(...this.titleIcons?.map((tr) => tr.ExtractImages(true)));
|
||||
for (const preset of this.presets) {
|
||||
parts.push(new Set<string>(preset.description?.ExtractImages(false)));
|
||||
parts.push(new Set(preset.exampleImages ?? []))
|
||||
}
|
||||
for (const pointRenderingConfig of this.mapRendering) {
|
||||
parts.push(pointRenderingConfig.ExtractImages())
|
||||
}
|
||||
const allIcons = new Set<string>();
|
||||
for (const part of parts) {
|
||||
part?.forEach(allIcons.add, allIcons);
|
||||
}
|
||||
|
||||
return allIcons;
|
||||
}
|
||||
|
||||
public isLeftRightSensitive(): boolean {
|
||||
return this.lineRendering.some(lr => lr.leftRightSensitive)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue