Skip to content

Commit d933bde

Browse files
feat: Hide element while deleting element from breakpoints other than desktop
1 parent d3783fd commit d933bde

File tree

3 files changed

+10
-9
lines changed

3 files changed

+10
-9
lines changed

frontend/src/components/BlockContextMenu.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ const contextMenuOptions: ContextMenuOption[] = [
230230
{
231231
label: "Delete",
232232
action: () => {
233-
block.value.getParentBlock()?.removeChild(block.value);
233+
store.activeCanvas?.removeBlock(block.value);
234234
},
235235
condition: () => {
236236
return (

frontend/src/utils/block.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -643,8 +643,8 @@ class Block implements BlockOptions {
643643
setInnerHTML(innerHTML: string) {
644644
this.innerHTML = innerHTML;
645645
}
646-
toggleVisibility() {
647-
if (this.getStyle("display") === "none") {
646+
toggleVisibility(show: boolean | null = null) {
647+
if (this.getStyle("display") === "none" || show === false) {
648648
this.setStyle("display", this.getStyle("__last_display") || "flex");
649649
this.setStyle("__last_display", null);
650650
} else {

frontend/src/utils/useCanvasUtils.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -228,25 +228,26 @@ export function useCanvasUtils(
228228
return null;
229229
}
230230

231-
function removeBlock(block: Block) {
231+
function removeBlock(block: Block, force: boolean = false) {
232232
if (block.blockId === "root") {
233233
toast.warning("Warning", {
234234
description: "Cannot delete root block",
235235
});
236236
return;
237237
}
238238
if (block.isChildOfComponentBlock()) {
239-
toast.warning("Warning", {
240-
description: "Cannot delete block inside component",
241-
});
242-
return;
239+
block.toggleVisibility(false);
243240
}
244241
const parentBlock = block.parentBlock;
245242
if (!parentBlock) {
246243
return;
247244
}
248245
const index = parentBlock.children.indexOf(block);
249-
parentBlock.removeChild(block);
246+
if (store.activeBreakpoint === "desktop" || force) {
247+
parentBlock.removeChild(block);
248+
} else {
249+
block.toggleVisibility(false);
250+
}
250251
nextTick(() => {
251252
if (parentBlock.children.length) {
252253
const nextSibling = parentBlock.children[index] || parentBlock.children[index - 1];

0 commit comments

Comments
 (0)