chore: automated housekeeping...

This commit is contained in:
Pieter Vander Vennet 2024-12-11 02:45:44 +01:00
parent a178de3e03
commit bb6b053429
131 changed files with 7447 additions and 5143 deletions

View file

@ -17,41 +17,51 @@
let usernames = new Set(onlyShowChangesBy)
let fullHistory = UIEventSource.FromPromise(new OsmObjectDownloader().downloadHistory(id))
let partOfLayer = fullHistory.mapD(history => history.map(step => ({
step,
layer: HistoryUtils.determineLayer(step.tags)
})))
let filteredHistory = partOfLayer.mapD(history =>
history.filter(({ step }) => {
if (usernames.size == 0) {
return true
}
console.log("Checking if ", step.tags["_last_edit:contributor"],"is contained in", onlyShowChangesBy)
return usernames.has(step.tags["_last_edit:contributor"])
}).map(({ step, layer }) => {
const diff = HistoryUtils.tagHistoryDiff(step, fullHistory.data)
return { step, layer, diff }
let partOfLayer = fullHistory.mapD((history) =>
history.map((step) => ({
step,
layer: HistoryUtils.determineLayer(step.tags),
}))
)
let filteredHistory = partOfLayer.mapD((history) =>
history
.filter(({ step }) => {
if (usernames.size == 0) {
return true
}
console.log(
"Checking if ",
step.tags["_last_edit:contributor"],
"is contained in",
onlyShowChangesBy
)
return usernames.has(step.tags["_last_edit:contributor"])
})
.map(({ step, layer }) => {
const diff = HistoryUtils.tagHistoryDiff(step, fullHistory.data)
return { step, layer, diff }
})
)
let lastStep = filteredHistory.mapD(history => history.at(-1))
let allGeometry = filteredHistory.mapD(all => !all.some(x => x.diff.length > 0))
let lastStep = filteredHistory.mapD((history) => history.at(-1))
let allGeometry = filteredHistory.mapD((all) => !all.some((x) => x.diff.length > 0))
/**
* These layers are only shown if there are tag changes as well
*/
const ignoreLayersIfNoChanges: ReadonlySet<string> = new Set(["walls_and_buildings"])
const t = Translations.t.inspector.previousContributors
</script>
{#if !$allGeometry || !ignoreLayersIfNoChanges.has($lastStep?.layer?.id)}
{#if $lastStep?.layer}
<a href={"https://openstreetmap.org/" + $lastStep.step.tags.id} target="_blank">
<h3 class="flex items-center gap-x-2">
<div class="w-8 h-8 shrink-0 inline-block">
<div class="inline-block h-8 w-8 shrink-0">
<ToSvelte construct={$lastStep.layer?.defaultIcon($lastStep.step.tags)} />
</div>
<Tr t={$lastStep.layer?.title?.GetRenderValue($lastStep.step.tags)?.Subs($lastStep.step.tags)} />
<Tr
t={$lastStep.layer?.title?.GetRenderValue($lastStep.step.tags)?.Subs($lastStep.step.tags)}
/>
</h3>
</a>
{/if}
@ -61,42 +71,48 @@
{:else if $filteredHistory.length === 0}
<Tr t={t.onlyGeometry} />
{:else}
<table class="w-full m-1">
<table class="m-1 w-full">
{#each $filteredHistory as { step, layer }}
{#if step.version === 1}
<tr>
<td colspan="3">
<h3>
<Tr t={t.createdBy.Subs({contributor: step.tags["_last_edit:contributor"]})} />
<Tr t={t.createdBy.Subs({ contributor: step.tags["_last_edit:contributor"] })} />
</h3>
</td>
</tr>
{/if}
{#if HistoryUtils.tagHistoryDiff(step, $fullHistory).length === 0}
<tr>
<td class="font-bold justify-center flex w-full" colspan="3">
<td class="flex w-full justify-center font-bold" colspan="3">
<Tr t={t.onlyGeometry} />
</td>
</tr>
{:else}
{#each HistoryUtils.tagHistoryDiff(step, $fullHistory) as diff}
<tr>
<td><a href={"https://osm.org/changeset/"+step.tags["_last_edit:changeset"]}
target="_blank">{step.version}</a></td>
<td>
<a
href={"https://osm.org/changeset/" + step.tags["_last_edit:changeset"]}
target="_blank"
>
{step.version}
</a>
</td>
<td>{layer?.id ?? "Unknown layer"}</td>
{#if diff.oldValue === undefined}
<td>{diff.key}</td>
<td>{diff.value}</td>
{:else if diff.value === undefined }
{:else if diff.value === undefined}
<td>{diff.key}</td>
<td class="line-through"> {diff.value}</td>
<td class="line-through">{diff.value}</td>
{:else}
<td>{diff.key}</td>
<td><span class="line-through"> {diff.oldValue}</span>{diff.value}</td>
<td>
<span class="line-through">{diff.oldValue}</span>
{diff.value}
</td>
{/if}
</tr>
{/each}
{/if}