Delete fix
This commit is contained in:
@@ -1008,9 +1008,22 @@
|
||||
return;
|
||||
}
|
||||
|
||||
const layerId = payload.new?.layer_id ?? payload.old?.layer_id;
|
||||
if (!layerId) return;
|
||||
let layerId = payload.new?.layer_id ?? payload.old?.layer_id;
|
||||
|
||||
if (payload.event === "DELETE") {
|
||||
if (!layerId)
|
||||
layerId = layers.find((l) =>
|
||||
l.pins.some((p) => p.id === id),
|
||||
)?.id;
|
||||
if (!layerId) return;
|
||||
layers = layers.map((l) =>
|
||||
l.id === layerId
|
||||
? { ...l, pins: l.pins.filter((p) => p.id !== id) }
|
||||
: l,
|
||||
);
|
||||
if (selectedObjectId === id) deselectAll();
|
||||
} else {
|
||||
if (!layerId) return;
|
||||
if (payload.event === "INSERT") {
|
||||
layers = layers.map((l) =>
|
||||
l.id === layerId
|
||||
@@ -1034,13 +1047,7 @@
|
||||
}
|
||||
: l,
|
||||
);
|
||||
} else if (payload.event === "DELETE") {
|
||||
layers = layers.map((l) =>
|
||||
l.id === layerId
|
||||
? { ...l, pins: l.pins.filter((p) => p.id !== id) }
|
||||
: l,
|
||||
);
|
||||
if (selectedObjectId === id) deselectAll();
|
||||
}
|
||||
}
|
||||
|
||||
const layerIdx = layers.findIndex((l) => l.id === layerId);
|
||||
@@ -1055,16 +1062,34 @@
|
||||
return;
|
||||
}
|
||||
|
||||
const layerId = payload.new?.layer_id ?? payload.old?.layer_id;
|
||||
if (!layerId) return;
|
||||
let layerId = payload.new?.layer_id ?? payload.old?.layer_id;
|
||||
|
||||
if (payload.event === "DELETE") {
|
||||
if (!layerId)
|
||||
layerId = layers.find((l) =>
|
||||
(l.shapes ?? []).some((s) => s.id === id),
|
||||
)?.id;
|
||||
if (!layerId) return;
|
||||
layers = layers.map((l) =>
|
||||
l.id === layerId
|
||||
? {
|
||||
...l,
|
||||
shapes: (l.shapes ?? []).filter((s) => s.id !== id),
|
||||
}
|
||||
: l,
|
||||
);
|
||||
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),
|
||||
...(l.shapes ?? []).filter(
|
||||
(s) => s.id !== id,
|
||||
),
|
||||
payload.new,
|
||||
],
|
||||
}
|
||||
@@ -1081,16 +1106,7 @@
|
||||
}
|
||||
: l,
|
||||
);
|
||||
} else if (payload.event === "DELETE") {
|
||||
layers = layers.map((l) =>
|
||||
l.id === layerId
|
||||
? {
|
||||
...l,
|
||||
shapes: (l.shapes ?? []).filter((s) => s.id !== id),
|
||||
}
|
||||
: l,
|
||||
);
|
||||
if (selectedObjectId === id) deselectAll();
|
||||
}
|
||||
|
||||
const layerIdx = layers.findIndex((l) => l.id === layerId);
|
||||
@@ -1439,7 +1455,7 @@
|
||||
>
|
||||
<span
|
||||
class="material-symbols-rounded"
|
||||
style={icon("", 13)}>close</span
|
||||
style={icon("", 13)}>delete</span
|
||||
>
|
||||
</button>
|
||||
{/if}
|
||||
@@ -1510,7 +1526,7 @@
|
||||
>
|
||||
<span
|
||||
class="material-symbols-rounded"
|
||||
style={icon("", 13)}>close</span
|
||||
style={icon("", 13)}>delete</span
|
||||
>
|
||||
</button>
|
||||
{/if}
|
||||
|
||||
Reference in New Issue
Block a user