Delete fix

This commit is contained in:
AlacrisDevs
2026-02-08 23:59:00 +02:00
parent 4ee2c0ac07
commit 9cb047c8b6

View File

@@ -1008,39 +1008,46 @@
return; return;
} }
const layerId = payload.new?.layer_id ?? payload.old?.layer_id; let layerId = payload.new?.layer_id ?? payload.old?.layer_id;
if (!layerId) return;
if (payload.event === "INSERT") { if (payload.event === "DELETE") {
layers = layers.map((l) => if (!layerId)
l.id === layerId layerId = layers.find((l) =>
? { l.pins.some((p) => p.id === id),
...l, )?.id;
pins: [ if (!layerId) return;
...l.pins.filter((p) => p.id !== id),
payload.new,
],
}
: l,
);
} else if (payload.event === "UPDATE") {
layers = layers.map((l) =>
l.id === layerId
? {
...l,
pins: l.pins.map((p) =>
p.id === id ? payload.new : p,
),
}
: l,
);
} else if (payload.event === "DELETE") {
layers = layers.map((l) => layers = layers.map((l) =>
l.id === layerId l.id === layerId
? { ...l, pins: l.pins.filter((p) => p.id !== id) } ? { ...l, pins: l.pins.filter((p) => p.id !== id) }
: l, : l,
); );
if (selectedObjectId === id) deselectAll(); if (selectedObjectId === id) deselectAll();
} else {
if (!layerId) return;
if (payload.event === "INSERT") {
layers = layers.map((l) =>
l.id === layerId
? {
...l,
pins: [
...l.pins.filter((p) => p.id !== id),
payload.new,
],
}
: l,
);
} else if (payload.event === "UPDATE") {
layers = layers.map((l) =>
l.id === layerId
? {
...l,
pins: l.pins.map((p) =>
p.id === id ? payload.new : p,
),
}
: l,
);
}
} }
const layerIdx = layers.findIndex((l) => l.id === layerId); const layerIdx = layers.findIndex((l) => l.id === layerId);
@@ -1055,33 +1062,14 @@
return; return;
} }
const layerId = payload.new?.layer_id ?? payload.old?.layer_id; let layerId = payload.new?.layer_id ?? payload.old?.layer_id;
if (!layerId) return;
if (payload.event === "INSERT") { if (payload.event === "DELETE") {
layers = layers.map((l) => if (!layerId)
l.id === layerId layerId = layers.find((l) =>
? { (l.shapes ?? []).some((s) => s.id === id),
...l, )?.id;
shapes: [ if (!layerId) return;
...(l.shapes ?? []).filter((s) => s.id !== id),
payload.new,
],
}
: l,
);
} else if (payload.event === "UPDATE") {
layers = layers.map((l) =>
l.id === layerId
? {
...l,
shapes: (l.shapes ?? []).map((s) =>
s.id === id ? payload.new : s,
),
}
: l,
);
} else if (payload.event === "DELETE") {
layers = layers.map((l) => layers = layers.map((l) =>
l.id === layerId l.id === layerId
? { ? {
@@ -1091,6 +1079,34 @@
: l, : l,
); );
if (selectedObjectId === id) deselectAll(); if (selectedObjectId === id) deselectAll();
} else {
if (!layerId) return;
if (payload.event === "INSERT") {
layers = layers.map((l) =>
l.id === layerId
? {
...l,
shapes: [
...(l.shapes ?? []).filter(
(s) => s.id !== id,
),
payload.new,
],
}
: l,
);
} else if (payload.event === "UPDATE") {
layers = layers.map((l) =>
l.id === layerId
? {
...l,
shapes: (l.shapes ?? []).map((s) =>
s.id === id ? payload.new : s,
),
}
: l,
);
}
} }
const layerIdx = layers.findIndex((l) => l.id === layerId); const layerIdx = layers.findIndex((l) => l.id === layerId);
@@ -1439,7 +1455,7 @@
> >
<span <span
class="material-symbols-rounded" class="material-symbols-rounded"
style={icon("", 13)}>close</span style={icon("", 13)}>delete</span
> >
</button> </button>
{/if} {/if}
@@ -1510,7 +1526,7 @@
> >
<span <span
class="material-symbols-rounded" class="material-symbols-rounded"
style={icon("", 13)}>close</span style={icon("", 13)}>delete</span
> >
</button> </button>
{/if} {/if}