From 2e30bbe7ce1be467672d03bedc7d716bee7b4db3 Mon Sep 17 00:00:00 2001 From: Rachel Fenichel Date: Wed, 28 Jul 2021 20:51:46 -0700 Subject: [PATCH] Update uses of mainWorkspace in core --- core/blockly.js | 4 ++-- core/dropdowndiv.js | 5 +++-- core/generator.js | 4 ++-- core/gesture.js | 2 +- core/inject.js | 7 ++++--- core/widgetdiv.js | 5 +++-- core/workspace_svg.js | 3 ++- tests/deps.js | 10 +++++----- 8 files changed, 22 insertions(+), 18 deletions(-) diff --git a/core/blockly.js b/core/blockly.js index 0b6011e07..7ad87be94 100644 --- a/core/blockly.js +++ b/core/blockly.js @@ -177,7 +177,7 @@ Blockly.svgResize = function(workspace) { // TODO (https://github.com/google/blockly/issues/1998) handle cases where there // are multiple workspaces and non-main workspaces are able to accept input. Blockly.onKeyDown = function(e) { - var mainWorkspace = Blockly.mainWorkspace; + var mainWorkspace = Blockly.common.getMainWorkspace(); if (!mainWorkspace) { return; } @@ -256,7 +256,7 @@ Blockly.hideChaff = function(opt_onlyClosePopups) { Blockly.DropDownDiv.hideWithoutAnimation(); var onlyClosePopups = !!opt_onlyClosePopups; - var workspace = Blockly.getMainWorkspace(); + var workspace = Blockly.common.getMainWorkspace(); var autoHideables = workspace.getComponentManager().getComponents( Blockly.ComponentManager.Capability.AUTOHIDEABLE, true); autoHideables.forEach(function(autoHideable) { diff --git a/core/dropdowndiv.js b/core/dropdowndiv.js index 68698371e..bf5eddb69 100644 --- a/core/dropdowndiv.js +++ b/core/dropdowndiv.js @@ -15,6 +15,7 @@ goog.provide('Blockly.DropDownDiv'); +goog.require('Blockly.common'); goog.require('Blockly.utils.dom'); goog.require('Blockly.utils.math'); goog.require('Blockly.utils.Rect'); @@ -381,7 +382,7 @@ Blockly.DropDownDiv.show = function(owner, rtl, primaryX, primaryY, div.style.direction = rtl ? 'rtl' : 'ltr'; var mainWorkspace = - /** @type {!Blockly.WorkspaceSvg} */ (Blockly.getMainWorkspace()); + /** @type {!Blockly.WorkspaceSvg} */ (Blockly.common.getMainWorkspace()); Blockly.DropDownDiv.rendererClassName_ = mainWorkspace.getRenderer().getClassName(); Blockly.DropDownDiv.themeClassName_ = mainWorkspace.getTheme().getClassName(); @@ -694,7 +695,7 @@ Blockly.DropDownDiv.hideWithoutAnimation = function() { Blockly.DropDownDiv.themeClassName_ = ''; } (/** @type {!Blockly.WorkspaceSvg} */ ( - Blockly.getMainWorkspace())).markFocused(); + Blockly.common.getMainWorkspace())).markFocused(); }; /** diff --git a/core/generator.js b/core/generator.js index 112c2f8a1..ecff99c09 100644 --- a/core/generator.js +++ b/core/generator.js @@ -16,13 +16,13 @@ goog.module.declareLegacyNamespace(); /* eslint-disable-next-line no-unused-vars */ const Block = goog.requireType('Blockly.Block'); +const common = goog.require('Blockly.common'); /* eslint-disable-next-line no-unused-vars */ const Names = goog.requireType('Blockly.Names'); /* eslint-disable-next-line no-unused-vars */ const Workspace = goog.requireType('Blockly.Workspace'); const internalConstants = goog.require('Blockly.internalConstants'); const deprecation = goog.require('Blockly.utils.deprecation'); -const {getMainWorkspace} = goog.require('Blockly'); /** @@ -98,7 +98,7 @@ Generator.prototype.workspaceToCode = function(workspace) { if (!workspace) { // Backwards compatibility from before there could be multiple workspaces. console.warn('No workspace specified in workspaceToCode call. Guessing.'); - workspace = getMainWorkspace(); + workspace = common.getMainWorkspace(); } let code = []; this.init(workspace); diff --git a/core/gesture.js b/core/gesture.js index a1ef6ca91..5d77d4e0a 100644 --- a/core/gesture.js +++ b/core/gesture.js @@ -115,7 +115,7 @@ const Gesture = function(e, creatorWorkspace) { /** * The workspace that the gesture started on. There may be multiple * workspaces on a page; this is more accurate than using - * Blockly.getMainWorkspace(). + * Blockly.common.getMainWorkspace(). * @type {WorkspaceSvg} * @protected */ diff --git a/core/inject.js b/core/inject.js index 0b7590824..6bb3e6077 100644 --- a/core/inject.js +++ b/core/inject.js @@ -14,6 +14,7 @@ goog.provide('Blockly.inject'); goog.require('Blockly.BlockDragSurfaceSvg'); goog.require('Blockly.browserEvents'); +goog.require('Blockly.common'); goog.require('Blockly.Css'); goog.require('Blockly.DropDownDiv'); goog.require('Blockly.Events'); @@ -77,12 +78,12 @@ Blockly.inject = function(container, opt_options) { Blockly.init_(workspace); // Keep focus on the first workspace so entering keyboard navigation looks correct. - Blockly.mainWorkspace = workspace; + Blockly.common.setMainWorkspace(workspace); Blockly.svgResize(workspace); subContainer.addEventListener('focusin', function() { - Blockly.mainWorkspace = workspace; + Blockly.common.setMainWorkspace(workspace); }); return workspace; @@ -439,7 +440,7 @@ Blockly.inject.bindDocumentEvents_ = function() { window, 'orientationchange', document, function() { // TODO (#397): Fix for multiple Blockly workspaces. Blockly.svgResize(/** @type {!Blockly.WorkspaceSvg} */ - (Blockly.getMainWorkspace())); + (Blockly.common.getMainWorkspace())); }); } } diff --git a/core/widgetdiv.js b/core/widgetdiv.js index 316e78b61..8b7de7dac 100644 --- a/core/widgetdiv.js +++ b/core/widgetdiv.js @@ -18,6 +18,7 @@ */ goog.provide('Blockly.WidgetDiv'); +goog.require('Blockly.common'); goog.require('Blockly.utils.dom'); goog.requireType('Blockly.utils.Rect'); @@ -85,7 +86,7 @@ Blockly.WidgetDiv.show = function(newOwner, rtl, dispose) { div.style.direction = rtl ? 'rtl' : 'ltr'; div.style.display = 'block'; var mainWorkspace = - /** @type {!Blockly.WorkspaceSvg} */ (Blockly.getMainWorkspace()); + /** @type {!Blockly.WorkspaceSvg} */ (Blockly.common.getMainWorkspace()); Blockly.WidgetDiv.rendererClassName_ = mainWorkspace.getRenderer().getClassName(); Blockly.WidgetDiv.themeClassName_ = mainWorkspace.getTheme().getClassName(); @@ -119,7 +120,7 @@ Blockly.WidgetDiv.hide = function() { Blockly.WidgetDiv.themeClassName_ = ''; } (/** @type {!Blockly.WorkspaceSvg} */ ( - Blockly.getMainWorkspace())).markFocused(); + Blockly.common.getMainWorkspace())).markFocused(); }; /** diff --git a/core/workspace_svg.js b/core/workspace_svg.js index 1c3cee44f..81536d5e6 100644 --- a/core/workspace_svg.js +++ b/core/workspace_svg.js @@ -15,6 +15,7 @@ goog.provide('Blockly.WorkspaceSvg'); goog.require('Blockly.blockRendering'); goog.require('Blockly.BlockSvg'); goog.require('Blockly.browserEvents'); +goog.require('Blockly.common'); goog.require('Blockly.ComponentManager'); goog.require('Blockly.ConnectionDB'); goog.require('Blockly.ContextMenu'); @@ -1953,7 +1954,7 @@ Blockly.WorkspaceSvg.prototype.markFocused = function() { if (this.options.parentWorkspace) { this.options.parentWorkspace.markFocused(); } else { - Blockly.mainWorkspace = this; + Blockly.common.setMainWorkspace(this); // We call e.preventDefault in many event handlers which means we // need to explicitly grab focus (e.g from a textarea) because // the browser will not do it for us. How to do this is browser dependent. diff --git a/tests/deps.js b/tests/deps.js index c83f1782a..b460273f4 100644 --- a/tests/deps.js +++ b/tests/deps.js @@ -36,7 +36,7 @@ goog.addDependency('../../core/contextmenu_registry.js', ['Blockly.ContextMenuRe goog.addDependency('../../core/css.js', ['Blockly.Css'], [], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/delete_area.js', ['Blockly.DeleteArea'], ['Blockly.BlockSvg', 'Blockly.DragTarget', 'Blockly.IDeleteArea', 'Blockly.utils.object'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/drag_target.js', ['Blockly.DragTarget'], ['Blockly.IDragTarget'], {'lang': 'es6', 'module': 'goog'}); -goog.addDependency('../../core/dropdowndiv.js', ['Blockly.DropDownDiv'], ['Blockly.utils.Rect', 'Blockly.utils.dom', 'Blockly.utils.math', 'Blockly.utils.style']); +goog.addDependency('../../core/dropdowndiv.js', ['Blockly.DropDownDiv'], ['Blockly.common', 'Blockly.utils.Rect', 'Blockly.utils.dom', 'Blockly.utils.math', 'Blockly.utils.style']); goog.addDependency('../../core/events/block_events.js', ['Blockly.Events.BlockBase', 'Blockly.Events.BlockChange', 'Blockly.Events.BlockCreate', 'Blockly.Events.BlockDelete', 'Blockly.Events.BlockMove', 'Blockly.Events.Change', 'Blockly.Events.Create', 'Blockly.Events.Delete', 'Blockly.Events.Move'], ['Blockly.Events', 'Blockly.Events.Abstract', 'Blockly.Xml', 'Blockly.connectionTypes', 'Blockly.registry', 'Blockly.utils.Coordinate', 'Blockly.utils.object', 'Blockly.utils.xml']); goog.addDependency('../../core/events/events.js', ['Blockly.Events'], ['Blockly.registry', 'Blockly.utils']); goog.addDependency('../../core/events/events_abstract.js', ['Blockly.Events.Abstract'], ['Blockly.Events']); @@ -71,11 +71,11 @@ goog.addDependency('../../core/flyout_base.js', ['Blockly.Flyout'], ['Blockly', goog.addDependency('../../core/flyout_button.js', ['Blockly.FlyoutButton'], ['Blockly.Css', 'Blockly.browserEvents', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.style'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/flyout_horizontal.js', ['Blockly.HorizontalFlyout'], ['Blockly.DropDownDiv', 'Blockly.Flyout', 'Blockly.Scrollbar', 'Blockly.WidgetDiv', 'Blockly.registry', 'Blockly.utils', 'Blockly.utils.Rect', 'Blockly.utils.object', 'Blockly.utils.toolbox'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/flyout_vertical.js', ['Blockly.VerticalFlyout'], ['Blockly.Block', 'Blockly.DropDownDiv', 'Blockly.Flyout', 'Blockly.Scrollbar', 'Blockly.WidgetDiv', 'Blockly.constants', 'Blockly.registry', 'Blockly.utils', 'Blockly.utils.Rect', 'Blockly.utils.object', 'Blockly.utils.toolbox'], {'lang': 'es6', 'module': 'goog'}); -goog.addDependency('../../core/generator.js', ['Blockly.Generator'], ['Blockly', 'Blockly.internalConstants', 'Blockly.utils.deprecation'], {'lang': 'es6', 'module': 'goog'}); +goog.addDependency('../../core/generator.js', ['Blockly.Generator'], ['Blockly.common', 'Blockly.internalConstants', 'Blockly.utils.deprecation'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/gesture.js', ['Blockly.Gesture'], ['Blockly.BlockDragger', 'Blockly.BubbleDragger', 'Blockly.Events', 'Blockly.Events.Click', 'Blockly.Tooltip', 'Blockly.Touch', 'Blockly.Workspace', 'Blockly.WorkspaceDragger', 'Blockly.blockAnimations', 'Blockly.browserEvents', 'Blockly.internalConstants', 'Blockly.registry', 'Blockly.utils', 'Blockly.utils.Coordinate'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/grid.js', ['Blockly.Grid'], ['Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.userAgent'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/icon.js', ['Blockly.Icon'], ['Blockly.browserEvents', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Size', 'Blockly.utils.Svg', 'Blockly.utils.dom'], {'lang': 'es6', 'module': 'goog'}); -goog.addDependency('../../core/inject.js', ['Blockly.inject'], ['Blockly.BlockDragSurfaceSvg', 'Blockly.Css', 'Blockly.DropDownDiv', 'Blockly.Events', 'Blockly.Grid', 'Blockly.Msg', 'Blockly.Options', 'Blockly.ScrollbarPair', 'Blockly.Tooltip', 'Blockly.WidgetDiv', 'Blockly.Workspace', 'Blockly.WorkspaceDragSurfaceSvg', 'Blockly.WorkspaceSvg', 'Blockly.browserEvents', 'Blockly.utils', 'Blockly.utils.Svg', 'Blockly.utils.aria', 'Blockly.utils.dom', 'Blockly.utils.math', 'Blockly.utils.userAgent']); +goog.addDependency('../../core/inject.js', ['Blockly.inject'], ['Blockly.BlockDragSurfaceSvg', 'Blockly.Css', 'Blockly.DropDownDiv', 'Blockly.Events', 'Blockly.Grid', 'Blockly.Msg', 'Blockly.Options', 'Blockly.ScrollbarPair', 'Blockly.Tooltip', 'Blockly.WidgetDiv', 'Blockly.Workspace', 'Blockly.WorkspaceDragSurfaceSvg', 'Blockly.WorkspaceSvg', 'Blockly.browserEvents', 'Blockly.common', 'Blockly.utils', 'Blockly.utils.Svg', 'Blockly.utils.aria', 'Blockly.utils.dom', 'Blockly.utils.math', 'Blockly.utils.userAgent']); goog.addDependency('../../core/input.js', ['Blockly.Input'], ['Blockly.Connection', 'Blockly.FieldLabel', 'Blockly.constants', 'Blockly.fieldRegistry', 'Blockly.inputTypes'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/input_types.js', ['Blockly.inputTypes'], ['Blockly.connectionTypes']); goog.addDependency('../../core/insertion_marker_manager.js', ['Blockly.InsertionMarkerManager'], ['Blockly.ComponentManager', 'Blockly.Events', 'Blockly.blockAnimations', 'Blockly.connectionTypes', 'Blockly.internalConstants'], {'lang': 'es5'}); @@ -206,14 +206,14 @@ goog.addDependency('../../core/variable_model.js', ['Blockly.VariableModel'], [' goog.addDependency('../../core/variables.js', ['Blockly.Variables'], ['Blockly.Blocks', 'Blockly.Msg', 'Blockly.VariableModel', 'Blockly.Xml', 'Blockly.internalConstants', 'Blockly.utils', 'Blockly.utils.xml']); goog.addDependency('../../core/variables_dynamic.js', ['Blockly.VariablesDynamic'], ['Blockly.Blocks', 'Blockly.Msg', 'Blockly.VariableModel', 'Blockly.Variables', 'Blockly.utils.xml']); goog.addDependency('../../core/warning.js', ['Blockly.Warning'], ['Blockly.Bubble', 'Blockly.Events', 'Blockly.Events.BubbleOpen', 'Blockly.Icon', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.object'], {'lang': 'es6', 'module': 'goog'}); -goog.addDependency('../../core/widgetdiv.js', ['Blockly.WidgetDiv'], ['Blockly.utils.dom']); +goog.addDependency('../../core/widgetdiv.js', ['Blockly.WidgetDiv'], ['Blockly.common', 'Blockly.utils.dom']); goog.addDependency('../../core/workspace.js', ['Blockly.Workspace'], ['Blockly.ConnectionChecker', 'Blockly.Events', 'Blockly.IASTNodeLocation', 'Blockly.Options', 'Blockly.VariableMap', 'Blockly.registry', 'Blockly.utils', 'Blockly.utils.math']); goog.addDependency('../../core/workspace_audio.js', ['Blockly.WorkspaceAudio'], ['Blockly.internalConstants', 'Blockly.utils.global', 'Blockly.utils.userAgent'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/workspace_comment.js', ['Blockly.WorkspaceComment'], ['Blockly.Events', 'Blockly.Events.CommentChange', 'Blockly.Events.CommentCreate', 'Blockly.Events.CommentDelete', 'Blockly.Events.CommentMove', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.xml'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/workspace_comment_svg.js', ['Blockly.WorkspaceCommentSvg'], ['Blockly', 'Blockly.ContextMenu', 'Blockly.Css', 'Blockly.Events', 'Blockly.Events.CommentCreate', 'Blockly.Events.CommentDelete', 'Blockly.Events.CommentMove', 'Blockly.Events.Selected', 'Blockly.IBoundedElement', 'Blockly.IBubble', 'Blockly.ICopyable', 'Blockly.Touch', 'Blockly.WorkspaceComment', 'Blockly.browserEvents', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Rect', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.object'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/workspace_drag_surface_svg.js', ['Blockly.WorkspaceDragSurfaceSvg'], ['Blockly.utils', 'Blockly.utils.Svg', 'Blockly.utils.dom']); goog.addDependency('../../core/workspace_dragger.js', ['Blockly.WorkspaceDragger'], ['Blockly.utils.Coordinate']); -goog.addDependency('../../core/workspace_svg.js', ['Blockly.WorkspaceSvg'], ['Blockly.BlockSvg', 'Blockly.ComponentManager', 'Blockly.ConnectionDB', 'Blockly.ContextMenu', 'Blockly.ContextMenuRegistry', 'Blockly.Events', 'Blockly.Events.BlockCreate', 'Blockly.Events.ThemeChange', 'Blockly.Events.ViewportChange', 'Blockly.Gesture', 'Blockly.Grid', 'Blockly.IASTNodeLocationSvg', 'Blockly.MarkerManager', 'Blockly.MetricsManager', 'Blockly.Msg', 'Blockly.Options', 'Blockly.ThemeManager', 'Blockly.Themes.Classic', 'Blockly.TouchGesture', 'Blockly.Workspace', 'Blockly.WorkspaceAudio', 'Blockly.WorkspaceDragSurfaceSvg', 'Blockly.Xml', 'Blockly.blockRendering', 'Blockly.browserEvents', 'Blockly.internalConstants', 'Blockly.registry', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Metrics', 'Blockly.utils.Rect', 'Blockly.utils.Size', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.object', 'Blockly.utils.toolbox'], {'lang': 'es5'}); +goog.addDependency('../../core/workspace_svg.js', ['Blockly.WorkspaceSvg'], ['Blockly.BlockSvg', 'Blockly.ComponentManager', 'Blockly.ConnectionDB', 'Blockly.ContextMenu', 'Blockly.ContextMenuRegistry', 'Blockly.Events', 'Blockly.Events.BlockCreate', 'Blockly.Events.ThemeChange', 'Blockly.Events.ViewportChange', 'Blockly.Gesture', 'Blockly.Grid', 'Blockly.IASTNodeLocationSvg', 'Blockly.MarkerManager', 'Blockly.MetricsManager', 'Blockly.Msg', 'Blockly.Options', 'Blockly.ThemeManager', 'Blockly.Themes.Classic', 'Blockly.TouchGesture', 'Blockly.Workspace', 'Blockly.WorkspaceAudio', 'Blockly.WorkspaceDragSurfaceSvg', 'Blockly.Xml', 'Blockly.blockRendering', 'Blockly.browserEvents', 'Blockly.common', 'Blockly.internalConstants', 'Blockly.registry', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Metrics', 'Blockly.utils.Rect', 'Blockly.utils.Size', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.object', 'Blockly.utils.toolbox'], {'lang': 'es5'}); goog.addDependency('../../core/xml.js', ['Blockly.Xml'], ['Blockly.Events', 'Blockly.inputTypes', 'Blockly.utils', 'Blockly.utils.Size', 'Blockly.utils.dom', 'Blockly.utils.xml']); goog.addDependency('../../core/zoom_controls.js', ['Blockly.ZoomControls'], ['Blockly.ComponentManager', 'Blockly.Css', 'Blockly.Events', 'Blockly.Events.Click', 'Blockly.IPositionable', 'Blockly.Touch', 'Blockly.browserEvents', 'Blockly.internalConstants', 'Blockly.uiPosition', 'Blockly.utils', 'Blockly.utils.Rect', 'Blockly.utils.Svg', 'Blockly.utils.dom'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('base.js', [], []);