Fix: fix broken delete button
This commit is contained in:
parent
ad1470ecbc
commit
b2a937f4d8
2 changed files with 8 additions and 5 deletions
src
|
@ -29,6 +29,9 @@ export class And extends TagsFilter {
|
|||
and: ReadonlyArray<FlatTag | (Or & OptimizedTag)>
|
||||
): TagsFilterClosed & OptimizedTag
|
||||
public static construct(and: ReadonlyArray<TagsFilter>): TagsFilter {
|
||||
if (and === undefined) {
|
||||
return undefined
|
||||
}
|
||||
if (and.length === 1) {
|
||||
return and[0]
|
||||
}
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
import { UIEventSource } from "../../../Logic/UIEventSource"
|
||||
import LayerConfig from "../../../Models/ThemeConfig/LayerConfig"
|
||||
import { TagUtils } from "../../../Logic/Tags/TagUtils"
|
||||
import type { UploadableTag } from "../../../Logic/Tags/TagUtils"
|
||||
import OsmChangeAction from "../../../Logic/Osm/Actions/OsmChangeAction"
|
||||
import DeleteAction from "../../../Logic/Osm/Actions/DeleteAction"
|
||||
import ChangeTagAction from "../../../Logic/Osm/Actions/ChangeTagAction"
|
||||
|
@ -22,6 +21,7 @@
|
|||
import Trash from "@babeard/svelte-heroicons/mini/Trash"
|
||||
import Invalid from "../../../assets/svg/Invalid.svelte"
|
||||
import { And } from "../../../Logic/Tags/And"
|
||||
import type { UploadableTag } from "../../../Logic/Tags/TagTypes"
|
||||
|
||||
export let state: SpecialVisualizationState
|
||||
export let deleteConfig: DeleteConfig
|
||||
|
@ -46,9 +46,9 @@
|
|||
|
||||
const t = Translations.t.delete
|
||||
|
||||
let selectedTags: UploadableTag
|
||||
let selectedTags: UploadableTag[]
|
||||
let changedProperties = undefined
|
||||
$: changedProperties = TagUtils.changeAsProperties(selectedTags?.asChange(tags?.data ?? {}) ?? [])
|
||||
$: changedProperties = TagUtils.changeAsProperties(And.construct(selectedTags)?.asChange(tags?.data ?? {}) ?? [])
|
||||
let isHardDelete = undefined
|
||||
$: isHardDelete = changedProperties[DeleteConfig.deleteReasonKey] !== undefined
|
||||
|
||||
|
@ -58,7 +58,7 @@
|
|||
}
|
||||
currentState = "applying"
|
||||
let actionToTake: OsmChangeAction
|
||||
const changedProperties = TagUtils.changeAsProperties(selectedTags.asChange(tags?.data ?? {}))
|
||||
const changedProperties = TagUtils.changeAsProperties(And.construct(selectedTags)?.asChange(tags?.data ?? {}))
|
||||
const deleteReason = changedProperties[DeleteConfig.deleteReasonKey]
|
||||
if (deleteReason) {
|
||||
let softDeletionTags: UploadableTag
|
||||
|
@ -81,7 +81,7 @@
|
|||
)
|
||||
} else {
|
||||
// no _delete_reason is given, which implies that this is _not_ a deletion but merely a retagging via a nonDeleteMapping
|
||||
actionToTake = new ChangeTagAction(featureId, selectedTags, tags.data, {
|
||||
actionToTake = new ChangeTagAction(featureId, new And(selectedTags), tags.data, {
|
||||
theme: state?.theme?.id ?? "unkown",
|
||||
changeType: "special-delete",
|
||||
})
|
||||
|
|
Loading…
Add table
Reference in a new issue