Formatting

This commit is contained in:
Pieter Vander Vennet 2022-11-08 14:37:48 +01:00
parent 99ba26e3a2
commit b251fd7b69
8 changed files with 69 additions and 62 deletions

View file

@ -27,7 +27,7 @@ class MetatagUpdater {
const self = this
this.params = {
getFeatureById(id) {
return <any> state.allElements.ContainingFeatures.get(id)
return <any>state.allElements.ContainingFeatures.get(id)
},
getFeaturesWithin(layerId, bbox) {
// We keep track of the BBOX that this source needs

View file

@ -1,17 +1,17 @@
import {OsmNode, OsmObject, OsmRelation, OsmWay} from "./OsmObject"
import {UIEventSource} from "../UIEventSource"
import { OsmNode, OsmObject, OsmRelation, OsmWay } from "./OsmObject"
import { UIEventSource } from "../UIEventSource"
import Constants from "../../Models/Constants"
import OsmChangeAction from "./Actions/OsmChangeAction"
import {ChangeDescription, ChangeDescriptionTools} from "./Actions/ChangeDescription"
import {Utils} from "../../Utils"
import {LocalStorageSource} from "../Web/LocalStorageSource"
import { ChangeDescription, ChangeDescriptionTools } from "./Actions/ChangeDescription"
import { Utils } from "../../Utils"
import { LocalStorageSource } from "../Web/LocalStorageSource"
import SimpleMetaTagger from "../SimpleMetaTagger"
import FeatureSource from "../FeatureSource/FeatureSource"
import {ElementStorage} from "../ElementStorage"
import {GeoLocationPointProperties} from "../Actors/GeoLocationHandler"
import {GeoOperations} from "../GeoOperations"
import {ChangesetHandler, ChangesetTag} from "./ChangesetHandler"
import {OsmConnection} from "./OsmConnection"
import { ElementStorage } from "../ElementStorage"
import { GeoLocationPointProperties } from "../Actors/GeoLocationHandler"
import { GeoOperations } from "../GeoOperations"
import { ChangesetHandler, ChangesetTag } from "./ChangesetHandler"
import { OsmConnection } from "./OsmConnection"
/**
* Handles all changes made to OSM.

View file

@ -22,8 +22,8 @@ import { TiledStaticFeatureSource } from "../FeatureSource/Sources/StaticFeature
import { Translation, TypedTranslation } from "../../UI/i18n/Translation"
import { Tag } from "../Tags/Tag"
import { OsmConnection } from "../Osm/OsmConnection"
import {Feature, GeoJSON, LineString} from "geojson";
import {OsmTags} from "../../Models/OsmFeature";
import { Feature, GeoJSON, LineString } from "geojson"
import { OsmTags } from "../../Models/OsmFeature"
export interface GlobalFilter {
filter: FilterState
@ -322,7 +322,7 @@ export default class MapState extends UserRelatedState {
return []
}
const feature : Feature<LineString, OsmTags> = {
const feature: Feature<LineString, OsmTags> = {
type: "Feature",
properties: {
id: "location_track",

View file

@ -4,7 +4,7 @@ import { TagsFilter } from "./TagsFilter"
export class Tag extends TagsFilter {
public key: string
public value: string
public static newlyCreated = new Tag("_newly_created","yes") ;
public static newlyCreated = new Tag("_newly_created", "yes")
constructor(key: string, value: string) {
super()
this.key = key

View file

@ -27,7 +27,7 @@ import Loading from "../Base/Loading"
import Hash from "../../Logic/Web/Hash"
import { GlobalFilter } from "../../Logic/State/MapState"
import { WayId } from "../../Models/OsmFeature"
import {Tag} from "../../Logic/Tags/Tag";
import { Tag } from "../../Logic/Tags/Tag"
/*
* The SimpleAddUI is a single panel, which can have multiple states:
@ -111,7 +111,9 @@ export default class SimpleAddUI extends Toggle {
await state.changes.applyAction(newElementAction)
selectedPreset.setData(undefined)
isShown.setData(false)
const selectedFeature = state.allElements.ContainingFeatures.get(newElementAction.newElementId)
const selectedFeature = state.allElements.ContainingFeatures.get(
newElementAction.newElementId
)
state.selectedElement.setData(selectedFeature)
Hash.hash.setData(newElementAction.newElementId)
}

View file

@ -1,24 +1,24 @@
import {UIEventSource} from "../../Logic/UIEventSource"
import {OsmConnection} from "../../Logic/Osm/OsmConnection"
import { UIEventSource } from "../../Logic/UIEventSource"
import { OsmConnection } from "../../Logic/Osm/OsmConnection"
import FeaturePipeline from "../../Logic/FeatureSource/FeaturePipeline"
import BaseUIElement from "../BaseUIElement"
import LocationInput from "../Input/LocationInput"
import AvailableBaseLayers from "../../Logic/Actors/AvailableBaseLayers"
import {BBox} from "../../Logic/BBox"
import {TagUtils} from "../../Logic/Tags/TagUtils"
import {SubtleButton} from "../Base/SubtleButton"
import { BBox } from "../../Logic/BBox"
import { TagUtils } from "../../Logic/Tags/TagUtils"
import { SubtleButton } from "../Base/SubtleButton"
import Combine from "../Base/Combine"
import Translations from "../i18n/Translations"
import Svg from "../../Svg"
import Toggle from "../Input/Toggle"
import SimpleAddUI, {PresetInfo} from "../BigComponents/SimpleAddUI"
import SimpleAddUI, { PresetInfo } from "../BigComponents/SimpleAddUI"
import BaseLayer from "../../Models/BaseLayer"
import Img from "../Base/Img"
import Title from "../Base/Title"
import {GlobalFilter} from "../../Logic/State/MapState"
import {VariableUiElement} from "../Base/VariableUIElement"
import {Tag} from "../../Logic/Tags/Tag"
import {WayId} from "../../Models/OsmFeature"
import { GlobalFilter } from "../../Logic/State/MapState"
import { VariableUiElement } from "../Base/VariableUIElement"
import { Tag } from "../../Logic/Tags/Tag"
import { WayId } from "../../Models/OsmFeature"
export default class ConfirmLocationOfPoint extends Combine {
constructor(
@ -46,7 +46,7 @@ export default class ConfirmLocationOfPoint extends Combine {
// Create location input
// We uncouple the event source
const zloc = {...loc, zoom: 19}
const zloc = { ...loc, zoom: 19 }
const locationSrc = new UIEventSource(zloc)
let backgroundLayer = new UIEventSource(
@ -105,7 +105,7 @@ export default class ConfirmLocationOfPoint extends Combine {
state.featurePipeline
.GetFeaturesWithin(layerId, bbox)
?.forEach((feats) =>
allFeatures.push(...feats.map((f) => ({feature: f})))
allFeatures.push(...feats.map((f) => ({ feature: f })))
)
})
console.log("Snapping to", allFeatures)
@ -116,9 +116,7 @@ export default class ConfirmLocationOfPoint extends Combine {
let confirmButton: BaseUIElement = new SubtleButton(
preset.icon(),
new Combine([
confirmText,
]).SetClass("flex flex-col")
new Combine([confirmText]).SetClass("flex flex-col")
)
.SetClass("font-bold break-words")
.onClick(() => {
@ -138,7 +136,9 @@ export default class ConfirmLocationOfPoint extends Combine {
)
})
const warn = Translations.t.general.add.warnVisibleForEveryone.Clone().SetClass("alert w-full block");
const warn = Translations.t.general.add.warnVisibleForEveryone
.Clone()
.SetClass("alert w-full block")
if (preciseInput !== undefined) {
confirmButton = new Combine([preciseInput, warn, confirmButton])
} else {
@ -149,7 +149,7 @@ export default class ConfirmLocationOfPoint extends Combine {
Svg.layers_ui(),
new Combine([
Translations.t.general.add.layerNotEnabled
.Subs({layer: preset.layerToAddTo.layerDef.name})
.Subs({ layer: preset.layerToAddTo.layerDef.name })
.SetClass("alert"),
Translations.t.general.add.openLayerControl,
])
@ -185,7 +185,7 @@ export default class ConfirmLocationOfPoint extends Combine {
const filterConfirmPanel = new VariableUiElement(
state.globalFilters.map((gfs) => {
const gf = gfs[i]
const confirm = gf.onNewPoint?.confirmAddNew?.Subs({preset: preset.title})
const confirm = gf.onNewPoint?.confirmAddNew?.Subs({ preset: preset.title })
return new Combine([
gf.onNewPoint?.safetyCheck,
new SubtleButton(Svg.confirm_svg(), confirm).onClick(() =>

View file

@ -1,4 +1,4 @@
import {UIEventSource} from "../../Logic/UIEventSource"
import { UIEventSource } from "../../Logic/UIEventSource"
import EditableTagRendering from "./EditableTagRendering"
import QuestionBox from "./QuestionBox"
import Combine from "../Base/Combine"
@ -7,19 +7,19 @@ import ScrollableFullScreen from "../Base/ScrollableFullScreen"
import Constants from "../../Models/Constants"
import SharedTagRenderings from "../../Customizations/SharedTagRenderings"
import BaseUIElement from "../BaseUIElement"
import {VariableUiElement} from "../Base/VariableUIElement"
import { VariableUiElement } from "../Base/VariableUIElement"
import DeleteWizard from "./DeleteWizard"
import SplitRoadWizard from "./SplitRoadWizard"
import TagRenderingConfig from "../../Models/ThemeConfig/TagRenderingConfig"
import LayerConfig from "../../Models/ThemeConfig/LayerConfig"
import {Utils} from "../../Utils"
import { Utils } from "../../Utils"
import MoveWizard from "./MoveWizard"
import Toggle from "../Input/Toggle"
import Lazy from "../Base/Lazy"
import FeaturePipelineState from "../../Logic/State/FeaturePipelineState"
import {Tag} from "../../Logic/Tags/Tag";
import Svg from "../../Svg";
import Translations from "../i18n/Translations";
import { Tag } from "../../Logic/Tags/Tag"
import Svg from "../../Svg"
import Translations from "../i18n/Translations"
export default class FeatureInfoBox extends ScrollableFullScreen {
public constructor(
@ -101,28 +101,33 @@ export default class FeatureInfoBox extends ScrollableFullScreen {
}
}
const withQuestion = layerConfig.tagRenderings.filter(tr => tr.question !== undefined).length
const withQuestion = layerConfig.tagRenderings.filter(
(tr) => tr.question !== undefined
).length
const allRenderings: BaseUIElement[] = [
new VariableUiElement(
tags.map(data => data[Tag.newlyCreated.key]).map(isCreated => {
if (isCreated !== Tag.newlyCreated.value) {
return undefined
}
const els = []
const thanks =
new Combine([
Svg.party_svg().SetClass("w-12 h-12 shrink-0 p-1 m-1 bg-white rounded-full block"),
t.newlyCreated
tags
.map((data) => data[Tag.newlyCreated.key])
.map((isCreated) => {
if (isCreated !== Tag.newlyCreated.value) {
return undefined
}
const els = []
const thanks = new Combine([
Svg.party_svg().SetClass(
"w-12 h-12 shrink-0 p-1 m-1 bg-white rounded-full block"
),
t.newlyCreated,
]).SetClass("flex w-full thanks content-center")
els.push(thanks)
if (withQuestion > 0) {
els.push(t.feelFreeToSkip)
}
els.push(thanks)
if (withQuestion > 0) {
els.push(t.feelFreeToSkip)
}
return new Combine(els).SetClass("pb-4 mb-4 border-b block border-black")
})
)
return new Combine(els).SetClass("pb-4 mb-4 border-b block border-black")
})
),
]
for (let i = 0; i < allGroupNames.length; i++) {
const groupName = allGroupNames[i]
@ -275,15 +280,15 @@ export default class FeatureInfoBox extends ScrollableFullScreen {
editElements.push(
Toggle.If(state.featureSwitchIsDebugging, () => {
const config_all_tags: TagRenderingConfig = new TagRenderingConfig(
{render: "{all_tags()}"},
{ render: "{all_tags()}" },
""
)
const config_download: TagRenderingConfig = new TagRenderingConfig(
{render: "{export_as_geojson()}"},
{ render: "{export_as_geojson()}" },
""
)
const config_id: TagRenderingConfig = new TagRenderingConfig(
{render: "{open_in_iD()}"},
{ render: "{open_in_iD()}" },
""
)

View file

@ -121,7 +121,7 @@ export default class SplitRoadWizard extends Toggle {
}
// Get nearest point on the road
const pointOnRoad = GeoOperations.nearestPoint(<any> roadElement, coordinates) // pointOnRoad is a geojson
const pointOnRoad = GeoOperations.nearestPoint(<any>roadElement, coordinates) // pointOnRoad is a geojson
// Update point properties to let it match the layer
pointOnRoad.properties["_split_point"] = "yes"