fix(context-menu): fix context menu bugs

This commit is contained in:
liujuping 2024-01-08 18:46:30 +08:00 committed by 林熠
parent 6ded1a6384
commit 8f0291fc3e
4 changed files with 11 additions and 11 deletions

View File

@ -17,6 +17,8 @@ export interface IContextMenuActions {
adjustMenuLayout: IPublicApiMaterial['adjustContextMenuLayout'];
}
let destroyFn: Function | undefined;
export class ContextMenuActions implements IContextMenuActions {
actions: IPublicTypeContextMenuAction[] = [];
@ -55,7 +57,7 @@ export class ContextMenuActions implements IContextMenuActions {
const { bounds } = designer.project.simulator?.viewport || { bounds: { left: 0, top: 0 } };
const { left: simulatorLeft, top: simulatorTop } = bounds;
let destroyFn: Function | undefined;
destroyFn?.();
const destroy = () => {
destroyFn?.();

View File

@ -87,6 +87,9 @@ export const defaultContextMenu = (ctx: IPublicModelPluginContext) => {
material.addContextMenuOption({
name: 'copy',
title: intl('Copy.1'),
condition(nodes) {
return nodes.length > 0;
},
action(nodes) {
if (!nodes || nodes.length < 1) {
return;
@ -159,6 +162,9 @@ export const defaultContextMenu = (ctx: IPublicModelPluginContext) => {
material.addContextMenuOption({
name: 'delete',
title: intl('Delete'),
condition(nodes) {
return nodes.length > 0;
},
action(nodes) {
nodes.forEach((node) => {
node.remove();

View File

@ -1,6 +1,6 @@
.context-menu-tree-wrap {
position: relative;
padding: 4px 10px 4px 24px;
padding: 4px 10px 4px 32px;
}
.context-menu-tree-children {

View File

@ -22,16 +22,8 @@ const Tree = (props: {
const { node } = props;
if (!node) {
return null;
}
if (!node.parent) {
return (
<div className="context-menu-tree-wrap">
<div className="context-menu-tree-children">
{props.children}
</div>
</div>
<div className="context-menu-tree-wrap">{ props.children }</div>
);
}