mirror of
https://github.com/google/blockly.git
synced 2026-01-16 05:17:09 +01:00
feat: make block and workspace implement IContextMenu (#8876)
This commit is contained in:
@@ -16,7 +16,6 @@ import './events/events_selected.js';
|
||||
|
||||
import {Block} from './block.js';
|
||||
import * as blockAnimations from './block_animations.js';
|
||||
import {IDeletable} from './blockly.js';
|
||||
import * as browserEvents from './browser_events.js';
|
||||
import {BlockCopyData, BlockPaster} from './clipboard/block_paster.js';
|
||||
import * as common from './common.js';
|
||||
@@ -41,7 +40,9 @@ import {WarningIcon} from './icons/warning_icon.js';
|
||||
import type {Input} from './inputs/input.js';
|
||||
import type {IASTNodeLocationSvg} from './interfaces/i_ast_node_location_svg.js';
|
||||
import type {IBoundedElement} from './interfaces/i_bounded_element.js';
|
||||
import {IContextMenu} from './interfaces/i_contextmenu.js';
|
||||
import type {ICopyable} from './interfaces/i_copyable.js';
|
||||
import {IDeletable} from './interfaces/i_deletable.js';
|
||||
import type {IDragStrategy, IDraggable} from './interfaces/i_draggable.js';
|
||||
import {IIcon} from './interfaces/i_icon.js';
|
||||
import * as internalConstants from './internal_constants.js';
|
||||
@@ -72,6 +73,7 @@ export class BlockSvg
|
||||
implements
|
||||
IASTNodeLocationSvg,
|
||||
IBoundedElement,
|
||||
IContextMenu,
|
||||
ICopyable<BlockCopyData>,
|
||||
IDraggable,
|
||||
IDeletable
|
||||
|
||||
@@ -41,6 +41,7 @@ import {Gesture} from './gesture.js';
|
||||
import {Grid} from './grid.js';
|
||||
import type {IASTNodeLocationSvg} from './interfaces/i_ast_node_location_svg.js';
|
||||
import type {IBoundedElement} from './interfaces/i_bounded_element.js';
|
||||
import {IContextMenu} from './interfaces/i_contextmenu.js';
|
||||
import type {IDragTarget} from './interfaces/i_drag_target.js';
|
||||
import type {IFlyout} from './interfaces/i_flyout.js';
|
||||
import type {IMetricsManager} from './interfaces/i_metrics_manager.js';
|
||||
@@ -90,7 +91,10 @@ const ZOOM_TO_FIT_MARGIN = 20;
|
||||
* Class for a workspace. This is an onscreen area with optional trashcan,
|
||||
* scrollbars, bubbles, and dragging.
|
||||
*/
|
||||
export class WorkspaceSvg extends Workspace implements IASTNodeLocationSvg {
|
||||
export class WorkspaceSvg
|
||||
extends Workspace
|
||||
implements IASTNodeLocationSvg, IContextMenu
|
||||
{
|
||||
/**
|
||||
* A wrapper function called when a resize event occurs.
|
||||
* You can pass the result to `eventHandling.unbind`.
|
||||
|
||||
Reference in New Issue
Block a user