fix: layer panel collapsible tree + element actions (visibility toggle, delete) + RenderEngine skips invisible elements
This commit is contained in:
@@ -331,6 +331,20 @@ const CADEditor: React.FC<CADEditorProps> = ({ projectId, token, onNavigateBack
|
||||
}
|
||||
}, [layers, blocks, groups, bgConfig, syncHistory, drawingId, token, collab, activeLayerId]);
|
||||
|
||||
const handleToggleElementVisible = useCallback((id: string) => {
|
||||
setElements((prev) => prev.map((e) => {
|
||||
if (e.id === id) {
|
||||
const newEl = { ...e, properties: { ...e.properties, visible: e.properties?.visible === false ? true : false } };
|
||||
if (token) {
|
||||
setSavedStatus("Speichert…");
|
||||
updateElement(token, newEl.id, newEl).then(() => setSavedStatus("gespeichert")).catch(() => setSavedStatus("Fehler"));
|
||||
}
|
||||
return newEl;
|
||||
}
|
||||
return e;
|
||||
}));
|
||||
}, [token]);
|
||||
|
||||
const handleElementsDeleted = useCallback((ids: string[]) => {
|
||||
setElements((prev) => {
|
||||
const newElements = prev.filter((e) => !ids.includes(e.id));
|
||||
@@ -980,6 +994,8 @@ const CADEditor: React.FC<CADEditorProps> = ({ projectId, token, onNavigateBack
|
||||
onRenameLayer={handleRenameLayer}
|
||||
onDuplicateLayer={handleDuplicateLayer}
|
||||
onToggleLock={handleToggleLock}
|
||||
onElementsDeleted={handleElementsDeleted}
|
||||
onToggleElementVisible={handleToggleElementVisible}
|
||||
elements={elements}
|
||||
onRenameBlock={handleRenameBlock}
|
||||
onDuplicateBlock={handleDuplicateBlock}
|
||||
|
||||
Reference in New Issue
Block a user