feat: add ability to delete workspace comments (#8023)

This commit is contained in:
Beka Westberg
2024-04-11 20:22:50 +00:00
committed by GitHub
parent a0f821a239
commit d554053bd0
2 changed files with 30 additions and 2 deletions

View File

@@ -18,10 +18,16 @@ import {CommentDragStrategy} from '../dragging/comment_drag_strategy.js';
import * as browserEvents from '../browser_events.js';
import * as common from '../common.js';
import {ISelectable} from '../interfaces/i_selectable.js';
import {IDeletable} from '../interfaces/i_deletable.js';
export class RenderedWorkspaceComment
extends WorkspaceComment
implements IBoundedElement, IRenderedElement, IDraggable, ISelectable
implements
IBoundedElement,
IRenderedElement,
IDraggable,
ISelectable,
IDeletable
{
/** The class encompassing the svg elements making up the workspace comment. */
private view: CommentView;
@@ -165,6 +171,20 @@ export class RenderedWorkspaceComment
}
}
/** Returns whether this comment is deletable or not. */
isDeletable(): boolean {
return !this.workspace.options.readOnly;
}
/** Visually indicates that this comment would be deleted if dropped. */
setDeleteStyle(wouldDelete: boolean): void {
if (wouldDelete) {
dom.addClass(this.getSvgRoot(), 'blocklyDraggingDelete');
} else {
dom.removeClass(this.getSvgRoot(), 'blocklyDraggingDelete');
}
}
/** Returns whether this comment is movable or not. */
isMovable(): boolean {
return this.dragStrategy.isMovable();