Small tweaks

This commit is contained in:
Pieter Vander Vennet 2021-07-28 15:14:13 +02:00
parent 1d2d098167
commit 0ab0d159cc
6 changed files with 52 additions and 21 deletions

View file

@ -27,7 +27,9 @@ export class Changes {
private readonly previouslyCreated : OsmObject[] = [] private readonly previouslyCreated : OsmObject[] = []
constructor() { constructor() {
this.isUploading.addCallbackAndRun(uploading => {
console.trace("Is uploading changed:", uploading)
})
} }
private static createChangesetFor(csId: string, private static createChangesetFor(csId: string,
@ -255,6 +257,9 @@ export class Changes {
console.log("Needed ids", neededIds) console.log("Needed ids", neededIds)
OsmObject.DownloadAll(neededIds, true).addCallbackAndRunD(osmObjects => { OsmObject.DownloadAll(neededIds, true).addCallbackAndRunD(osmObjects => {
console.log("Got the fresh objects!", osmObjects, "pending: ", pending) console.log("Got the fresh objects!", osmObjects, "pending: ", pending)
try{
const changes: { const changes: {
newObjects: OsmObject[], newObjects: OsmObject[],
modifiedObjects: OsmObject[] modifiedObjects: OsmObject[]
@ -283,6 +288,11 @@ export class Changes {
return self.isUploading.setData(false); return self.isUploading.setData(false);
} // Failed - mark to try again } // Failed - mark to try again
) )
}catch(e){
console.error("Could not handle changes - probably an old, pending changeset in localstorage with an invalid format; erasing those", e)
self.pendingChanges.setData([])
self.isUploading.setData(false)
}
return true; return true;
}); });

View file

@ -437,6 +437,9 @@ export class OsmWay extends OsmObject {
for (const nodeId of element.nodes) { for (const nodeId of element.nodes) {
const node = nodeDict.get(nodeId) const node = nodeDict.get(nodeId)
if(node === undefined){
console.error("Error: node ", nodeId, "not found in ", nodeDict)
}
const cp = node.centerpoint(); const cp = node.centerpoint();
this.coordinates.push(cp); this.coordinates.push(cp);
latSum = cp[0] latSum = cp[0]

View file

@ -305,7 +305,7 @@ export default class SimpleMetaTagger {
} else if (_otherParkingMode.matchesProperties(properties)) { } else if (_otherParkingMode.matchesProperties(properties)) {
parallelParkingCount = 0; parallelParkingCount = 0;
} else { } else {
console.log("No parking data for ", properties.name, properties.id, properties) console.log("No parking data for ", properties.name, properties.id)
} }

View file

@ -29,6 +29,7 @@ export default class ExportPDF {
private readonly scaling = 2 private readonly scaling = 2
private readonly freeDivId: string; private readonly freeDivId: string;
private readonly _layout: UIEventSource<LayoutConfig>; private readonly _layout: UIEventSource<LayoutConfig>;
private _screenhotTaken = false;
constructor( constructor(
options: { options: {
@ -48,21 +49,24 @@ export default class ExportPDF {
const l = options.location.data; const l = options.location.data;
const loc = { const loc = {
lat : l.lat, lat: l.lat,
lon: l.lon, lon: l.lon,
zoom: l.zoom + 1 zoom: l.zoom + 1
} }
const minimap = new Minimap({ const minimap = new Minimap({
location: new UIEventSource<Loc>(loc), // We remove the link between the old and the new UI-event source as moving the map while the export is running fucks up the screenshot location: new UIEventSource<Loc>(loc), // We remove the link between the old and the new UI-event source as moving the map while the export is running fucks up the screenshot
background: options.background, background: options.background,
allowMoving: false, allowMoving: false,
onFullyLoaded: leaflet => window.setTimeout(() => { onFullyLoaded: leaflet => window.setTimeout(() => {
try{ if (self._screenhotTaken) {
self.CreatePdf(leaflet) return;
.then(() => self.cleanup()) }
.catch(() => self.cleanup()) try {
}catch(e){ self.CreatePdf(leaflet)
.then(() => self.cleanup())
.catch(() => self.cleanup())
} catch (e) {
console.error(e) console.error(e)
self.cleanup() self.cleanup()
} }
@ -94,9 +98,10 @@ export default class ExportPDF {
) )
} }
private cleanup(){ private cleanup() {
new FixedUiElement("Screenshot taken!").AttachTo(this.freeDivId) new FixedUiElement("Screenshot taken!").AttachTo(this.freeDivId)
this._screenhotTaken = true;
} }
private async CreatePdf(leaflet: L.Map) { private async CreatePdf(leaflet: L.Map) {
@ -122,7 +127,8 @@ export default class ExportPDF {
doc.roundedRect(12, 5, 125, 30, 5, 5, 'FD') doc.roundedRect(12, 5, 125, 30, 5, 5, 'FD')
doc.setFontSize(20) doc.setFontSize(20)
doc.text(layout.title.txt, 40, 20, { maxWidth: 100 doc.text(layout.title.txt, 40, 20, {
maxWidth: 100
}) })
doc.setFontSize(10) doc.setFontSize(10)
doc.text(t.attr.txt, 40, 25, { doc.text(t.attr.txt, 40, 25, {
@ -141,6 +147,6 @@ export default class ExportPDF {
doc.save("MapComplete_export.pdf"); doc.save("MapComplete_export.pdf");
} }
} }

View file

@ -63,13 +63,15 @@ export default class FeatureInfoBox extends ScrollableFullScreen {
} }
return new EditableTagRendering(tags, tr, layerConfig.units); return new EditableTagRendering(tags, tr, layerConfig.units);
}); });
let editElements : BaseUIElement[] = []
if (!questionBoxIsUsed) { if (!questionBoxIsUsed) {
renderings.push(questionBox); editElements.push(questionBox);
} }
if (layerConfig.deletion) { if (layerConfig.deletion) {
renderings.push( editElements.push(
new VariableUiElement(tags.map(tags => tags.id).map(id => new VariableUiElement(tags.map(tags => tags.id).map(id =>
new DeleteWizard( new DeleteWizard(
id, id,
@ -79,7 +81,7 @@ export default class FeatureInfoBox extends ScrollableFullScreen {
} }
if (layerConfig.allowSplit) { if (layerConfig.allowSplit) {
renderings.push( editElements.push(
new VariableUiElement(tags.map(tags => tags.id).map(id => new VariableUiElement(tags.map(tags => tags.id).map(id =>
new SplitRoadWizard(id)) new SplitRoadWizard(id))
)) ))
@ -91,7 +93,7 @@ export default class FeatureInfoBox extends ScrollableFullScreen {
renderings.push(new TagRenderingAnswer(tags, SharedTagRenderings.SharedTagRendering.get("minimap"))) renderings.push(new TagRenderingAnswer(tags, SharedTagRenderings.SharedTagRendering.get("minimap")))
} }
renderings.push( editElements.push(
new VariableUiElement( new VariableUiElement(
State.state.osmConnection.userDetails State.state.osmConnection.userDetails
.map(ud => ud.csCount) .map(ud => ud.csCount)
@ -109,7 +111,7 @@ export default class FeatureInfoBox extends ScrollableFullScreen {
) )
renderings.push( editElements.push(
new VariableUiElement( new VariableUiElement(
State.state.featureSwitchIsDebugging.map(isDebugging => { State.state.featureSwitchIsDebugging.map(isDebugging => {
if (isDebugging) { if (isDebugging) {
@ -119,6 +121,16 @@ export default class FeatureInfoBox extends ScrollableFullScreen {
}) })
) )
) )
const editors = new VariableUiElement(State.state.featureSwitchUserbadge.map(
userbadge => {
if(!userbadge){
return undefined
}
return new Combine(editElements)
}
))
renderings.push(editors)
return new Combine(renderings).SetClass("block") return new Combine(renderings).SetClass("block")

View file

@ -23,7 +23,7 @@
"startLat": 51, "startLat": 51,
"startLon": 3.75, "startLon": 3.75,
"startZoom": 11, "startZoom": 11,
"widenFactor": 0.05, "widenFactor": 0.0,
"socialImage": "./assets/themes/cycle_infra/cycle-infra.svg", "socialImage": "./assets/themes/cycle_infra/cycle-infra.svg",
"enableDownload": true, "enableDownload": true,
"layers": [ "layers": [
@ -33,7 +33,7 @@
"en": "Cycleways", "en": "Cycleways",
"nl": "Fietspaden" "nl": "Fietspaden"
}, },
"minzoom": 14, "minzoom": 16,
"source": { "source": {
"osmTags": { "osmTags": {
"or": [ "or": [
@ -1151,7 +1151,7 @@
"calculatedTags": [ "calculatedTags": [
"_comfort_score=feat.score('https://raw.githubusercontent.com/pietervdvn/AspectedRouting/master/Examples/bicycle/aspects/bicycle.comfort.json')" "_comfort_score=feat.score('https://raw.githubusercontent.com/pietervdvn/AspectedRouting/master/Examples/bicycle/aspects/bicycle.comfort.json')"
], ],
"minzoom": 14, "minzoom": 16,
"wayHandling": 0, "wayHandling": 0,
"title": { "title": {
"render": { "render": {