From 084c421597977501df1f6b7e178391715dd17a7d Mon Sep 17 00:00:00 2001 From: Rachel Fenichel Date: Fri, 30 Jul 2021 13:44:21 -0700 Subject: [PATCH 1/5] Remove some unused functions and add deprecation warnings --- core/blockly.js | 84 +++---------------------------------------------- core/inject.js | 2 -- 2 files changed, 5 insertions(+), 81 deletions(-) diff --git a/core/blockly.js b/core/blockly.js index 7ad87be94..4d14aac1e 100644 --- a/core/blockly.js +++ b/core/blockly.js @@ -76,9 +76,14 @@ Blockly.VERSION = 'uncompiled'; // Add a getter and setter pair for Blockly.mainWorkspace, for legacy reasons. Object.defineProperty(Blockly, 'mainWorkspace', { set: function(x) { + Blockly.utils.deprecation.warn( + 'Blockly.mainWorkspace', 'September 2021', 'September 2022'); Blockly.common.setMainWorkspace(x); }, get: function() { + Blockly.utils.deprecation.warn( + 'Blockly.mainWorkspace', 'September 2021', 'September 2022', + 'Blockly.getMainWorkspace()'); return Blockly.common.getMainWorkspace(); } }); @@ -96,13 +101,6 @@ Blockly.selected = null; */ Blockly.draggingConnections = []; -/** - * Cached value for whether 3D is supported. - * @type {?boolean} - * @private - */ -Blockly.cache3dSupported_ = null; - /** * Container element to render the WidgetDiv, DropDownDiv and Tooltip. * @type {?Element} @@ -372,78 +370,6 @@ Blockly.hueToHex = function(hue) { Blockly.internalConstants.HSV_VALUE * 255); }; -/** - * Checks old colour constants are not overwritten by the host application. - * If a constant is overwritten, it prints a console warning directing the - * developer to use the equivalent Msg constant. - * @package - */ -Blockly.checkBlockColourConstants = function() { - Blockly.checkBlockColourConstant_( - 'LOGIC_HUE', ['Blocks', 'logic', 'HUE'], undefined); - Blockly.checkBlockColourConstant_( - 'LOGIC_HUE', ['Constants', 'Logic', 'HUE'], 210); - Blockly.checkBlockColourConstant_( - 'LOOPS_HUE', ['Blocks', 'loops', 'HUE'], undefined); - Blockly.checkBlockColourConstant_( - 'LOOPS_HUE', ['Constants', 'Loops', 'HUE'], 120); - Blockly.checkBlockColourConstant_( - 'MATH_HUE', ['Blocks', 'math', 'HUE'], undefined); - Blockly.checkBlockColourConstant_( - 'MATH_HUE', ['Constants', 'Math', 'HUE'], 230); - Blockly.checkBlockColourConstant_( - 'TEXTS_HUE', ['Blocks', 'texts', 'HUE'], undefined); - Blockly.checkBlockColourConstant_( - 'TEXTS_HUE', ['Constants', 'Text', 'HUE'], 160); - Blockly.checkBlockColourConstant_( - 'LISTS_HUE', ['Blocks', 'lists', 'HUE'], undefined); - Blockly.checkBlockColourConstant_( - 'LISTS_HUE', ['Constants', 'Lists', 'HUE'], 260); - Blockly.checkBlockColourConstant_( - 'COLOUR_HUE', ['Blocks', 'colour', 'HUE'], undefined); - Blockly.checkBlockColourConstant_( - 'COLOUR_HUE', ['Constants', 'Colour', 'HUE'], 20); - Blockly.checkBlockColourConstant_( - 'VARIABLES_HUE', ['Blocks', 'variables', 'HUE'], undefined); - Blockly.checkBlockColourConstant_( - 'VARIABLES_HUE', ['Constants', 'Variables', 'HUE'], 330); - // Blockly.Blocks.variables_dynamic.HUE never existed. - Blockly.checkBlockColourConstant_( - 'VARIABLES_DYNAMIC_HUE', ['Constants', 'VariablesDynamic', 'HUE'], 310); - Blockly.checkBlockColourConstant_( - 'PROCEDURES_HUE', ['Blocks', 'procedures', 'HUE'], undefined); - // Blockly.Constants.Procedures.HUE never existed. -}; - -/** - * Checks for a constant in the Blockly namespace, verifying it is undefined or - * has the old/original value. Prints a warning if this is not true. - * @param {string} msgName The Msg constant identifier. - * @param {!Array} blocklyNamePath The name parts of the tested - * constant. - * @param {number|undefined} expectedValue The expected value of the constant. - * @private - */ -Blockly.checkBlockColourConstant_ = function( - msgName, blocklyNamePath, expectedValue) { - var namePath = 'Blockly'; - var value = Blockly; - for (var i = 0; i < blocklyNamePath.length; ++i) { - namePath += '.' + blocklyNamePath[i]; - if (value) { - value = value[blocklyNamePath[i]]; - } - } - - if (value && value !== expectedValue) { - var warningPattern = (expectedValue === undefined) ? - '%1 has been removed. Use Blockly.Msg["%2"].' : - '%1 is deprecated and unused. Override Blockly.Msg["%2"].'; - var warning = warningPattern.replace('%1', namePath).replace('%2', msgName); - console.warn(warning); - } -}; - /** * Set the parent container. This is the container element that the WidgetDiv, * DropDownDiv, and Tooltip are rendered into the first time `Blockly.inject` diff --git a/core/inject.js b/core/inject.js index 6bb3e6077..3b3715b0f 100644 --- a/core/inject.js +++ b/core/inject.js @@ -45,8 +45,6 @@ goog.requireType('Blockly.BlockSvg'); * @return {!Blockly.WorkspaceSvg} Newly created main workspace. */ Blockly.inject = function(container, opt_options) { - Blockly.checkBlockColourConstants(); - if (typeof container == 'string') { container = document.getElementById(container) || document.querySelector(container); From 1eabe91fa68f4e69fc470580b5873b5f5ba867cf Mon Sep 17 00:00:00 2001 From: Rachel Fenichel Date: Fri, 30 Jul 2021 13:55:17 -0700 Subject: [PATCH 2/5] Move set/getParentContainer into common --- core/blockly.js | 11 +---------- core/common.js | 28 ++++++++++++++++++++++++++++ core/dropdowndiv.js | 2 +- core/tooltip.js | 3 ++- core/widgetdiv.js | 2 +- tests/deps.js | 5 +++++ 6 files changed, 38 insertions(+), 13 deletions(-) diff --git a/core/blockly.js b/core/blockly.js index 4d14aac1e..f8dc17d3d 100644 --- a/core/blockly.js +++ b/core/blockly.js @@ -101,13 +101,6 @@ Blockly.selected = null; */ Blockly.draggingConnections = []; -/** - * Container element to render the WidgetDiv, DropDownDiv and Tooltip. - * @type {?Element} - * @package - */ -Blockly.parentContainer = null; - /** * Returns the dimensions of the specified SVG image. * @param {!SVGElement} svg SVG image. @@ -377,9 +370,7 @@ Blockly.hueToHex = function(hue) { * This method is a NOP if called after the first ``Blockly.inject``. * @param {!Element} container The container element. */ -Blockly.setParentContainer = function(container) { - Blockly.parentContainer = container; -}; +Blockly.setParentContainer = Blockly.common.setParentContainer; /** Aliases. */ diff --git a/core/common.js b/core/common.js index d9a6b9638..711cf3571 100644 --- a/core/common.js +++ b/core/common.js @@ -44,3 +44,31 @@ const setMainWorkspace = function(workspace) { mainWorkspace = workspace; }; exports.setMainWorkspace = setMainWorkspace; + +/** + * Container element in which to render the WidgetDiv, DropDownDiv and Tooltip. + * @type {?Element} + */ +let parentContainer; + +/** + * Get the container element in which to render the WidgetDiv, DropDownDiv and\ + * Tooltip. + * @return {?Element} + */ +const getParentContainer = function() { + return parentContainer; +}; +exports.getParentContainer = getParentContainer; + +/** + * Set the parent container. This is the container element that the WidgetDiv, + * DropDownDiv, and Tooltip are rendered into the first time `Blockly.inject` + * is called. + * This method is a NOP if called after the first ``Blockly.inject``. + * @param {!Element} newParent The container element. + */ +const setParentContainer = function(newParent) { + parentContainer = newParent; +}; +exports.setParentContainer = setParentContainer; diff --git a/core/dropdowndiv.js b/core/dropdowndiv.js index bf5eddb69..5ebb22a5e 100644 --- a/core/dropdowndiv.js +++ b/core/dropdowndiv.js @@ -163,7 +163,7 @@ Blockly.DropDownDiv.createDom = function() { } var div = document.createElement('div'); div.className = 'blocklyDropDownDiv'; - var container = Blockly.parentContainer || document.body; + var container = Blockly.common.getParentContainer() || document.body; container.appendChild(div); /** * The div element. diff --git a/core/tooltip.js b/core/tooltip.js index 12819e13f..d93825815 100644 --- a/core/tooltip.js +++ b/core/tooltip.js @@ -22,6 +22,7 @@ goog.provide('Blockly.Tooltip'); goog.require('Blockly.browserEvents'); +goog.require('Blockly.common'); goog.require('Blockly.utils.string'); @@ -170,7 +171,7 @@ Blockly.Tooltip.createDom = function() { // Create an HTML container for popup overlays (e.g. editor widgets). Blockly.Tooltip.DIV = document.createElement('div'); Blockly.Tooltip.DIV.className = 'blocklyTooltipDiv'; - var container = Blockly.parentContainer || document.body; + var container = Blockly.common.getParentContainer() || document.body; container.appendChild(Blockly.Tooltip.DIV); }; diff --git a/core/widgetdiv.js b/core/widgetdiv.js index 8b7de7dac..106dce645 100644 --- a/core/widgetdiv.js +++ b/core/widgetdiv.js @@ -67,7 +67,7 @@ Blockly.WidgetDiv.createDom = function() { */ Blockly.WidgetDiv.DIV = document.createElement('div'); Blockly.WidgetDiv.DIV.className = 'blocklyWidgetDiv'; - var container = Blockly.parentContainer || document.body; + var container = Blockly.common.getParentContainer() || document.body; container.appendChild(Blockly.WidgetDiv.DIV); }; diff --git a/tests/deps.js b/tests/deps.js index 14ae08221..784fc398a 100644 --- a/tests/deps.js +++ b/tests/deps.js @@ -172,8 +172,13 @@ goog.addDependency('../../core/toolbox/category.js', ['Blockly.ToolboxCategory'] goog.addDependency('../../core/toolbox/collapsible_category.js', ['Blockly.CollapsibleToolboxCategory'], ['Blockly.ICollapsibleToolboxItem', 'Blockly.ToolboxCategory', 'Blockly.ToolboxSeparator', 'Blockly.registry', 'Blockly.utils.aria', 'Blockly.utils.dom', 'Blockly.utils.object', 'Blockly.utils.toolbox'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/toolbox/separator.js', ['Blockly.ToolboxSeparator'], ['Blockly.Css', 'Blockly.ToolboxItem', 'Blockly.registry', 'Blockly.utils.dom', 'Blockly.utils.object'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/toolbox/toolbox.js', ['Blockly.Toolbox'], ['Blockly.BlockSvg', 'Blockly.CollapsibleToolboxCategory', 'Blockly.ComponentManager', 'Blockly.Css', 'Blockly.DeleteArea', 'Blockly.Events', 'Blockly.Events.ToolboxItemSelect', 'Blockly.IAutoHideable', 'Blockly.IKeyboardAccessible', 'Blockly.IStyleable', 'Blockly.IToolbox', 'Blockly.Options', 'Blockly.Touch', 'Blockly.browserEvents', 'Blockly.constants', 'Blockly.registry', 'Blockly.utils', 'Blockly.utils.Rect', 'Blockly.utils.aria', 'Blockly.utils.dom', 'Blockly.utils.toolbox'], {'lang': 'es5'}); +<<<<<<< HEAD goog.addDependency('../../core/toolbox/toolbox_item.js', ['Blockly.ToolboxItem'], ['Blockly.IToolboxItem', 'Blockly.utils.IdGenerator'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/tooltip.js', ['Blockly.Tooltip'], ['Blockly.browserEvents', 'Blockly.utils.string']); +======= +goog.addDependency('../../core/toolbox/toolbox_item.js', ['Blockly.ToolboxItem'], ['Blockly.IToolboxItem']); +goog.addDependency('../../core/tooltip.js', ['Blockly.Tooltip'], ['Blockly.browserEvents', 'Blockly.common', 'Blockly.utils.string']); +>>>>>>> c62fba04 (Move set/getParentContainer into common) goog.addDependency('../../core/touch.js', ['Blockly.Touch'], ['Blockly.internalConstants', 'Blockly.utils', 'Blockly.utils.global', 'Blockly.utils.string']); goog.addDependency('../../core/touch_gesture.js', ['Blockly.TouchGesture'], ['Blockly.Gesture', 'Blockly.browserEvents', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.object']); goog.addDependency('../../core/trashcan.js', ['Blockly.Trashcan'], ['Blockly.ComponentManager', 'Blockly.DeleteArea', 'Blockly.Events', 'Blockly.Events.TrashcanOpen', 'Blockly.IAutoHideable', 'Blockly.IPositionable', 'Blockly.Options', 'Blockly.Xml', 'Blockly.browserEvents', 'Blockly.internalConstants', 'Blockly.registry', 'Blockly.uiPosition', 'Blockly.utils', 'Blockly.utils.Rect', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.toolbox'], {'lang': 'es6', 'module': 'goog'}); From d5a6d7d3db2d929ad174fb59e3bddfc52eea3c3c Mon Sep 17 00:00:00 2001 From: Rachel Fenichel Date: Fri, 30 Jul 2021 14:13:39 -0700 Subject: [PATCH 3/5] Move draggingConnections to common --- core/block_dragger.js | 3 ++- core/block_svg.js | 8 +++++--- core/blockly.js | 8 -------- core/common.js | 31 ++++++++++++++++++++++++++++++- core/connection_checker.js | 5 +++-- tests/deps.js | 6 +++--- 6 files changed, 43 insertions(+), 18 deletions(-) diff --git a/core/block_dragger.js b/core/block_dragger.js index b7c11e8a3..7345c0327 100644 --- a/core/block_dragger.js +++ b/core/block_dragger.js @@ -24,6 +24,7 @@ const InsertionMarkerManager = goog.require('Blockly.InsertionMarkerManager'); /* eslint-disable-next-line no-unused-vars */ const WorkspaceSvg = goog.requireType('Blockly.WorkspaceSvg'); const blockAnimation = goog.require('Blockly.blockAnimations'); +const common = goog.require('Blockly.common'); const dom = goog.require('Blockly.utils.dom'); const events = goog.require('Blockly.Events'); const registry = goog.require('Blockly.registry'); @@ -332,7 +333,7 @@ BlockDragger.prototype.maybeDeleteBlock_ = function() { // Fire a move event, so we know where to go back to for an undo. this.fireMoveEvent_(); this.draggingBlock_.dispose(false, true); - Blockly.draggingConnections = []; + common.setDraggingConnections([]); return true; } return false; diff --git a/core/block_svg.js b/core/block_svg.js index 57d20c1ba..cbb69063e 100644 --- a/core/block_svg.js +++ b/core/block_svg.js @@ -17,6 +17,7 @@ goog.require('Blockly.Block'); goog.require('Blockly.blockAnimations'); goog.require('Blockly.blockRendering.IPathObject'); goog.require('Blockly.browserEvents'); +goog.require('Blockly.common'); goog.require('Blockly.connectionTypes'); goog.require('Blockly.constants'); goog.require('Blockly.ContextMenu'); @@ -824,12 +825,13 @@ Blockly.BlockSvg.prototype.setDragging = function(adding) { var group = this.getSvgRoot(); group.translate_ = ''; group.skew_ = ''; - Blockly.draggingConnections = - Blockly.draggingConnections.concat(this.getConnections_(true)); + var newList = + Blockly.common.getDraggingConnections().concat(this.getConnections_(true)); + Blockly.common.setDraggingConnections(newList); Blockly.utils.dom.addClass( /** @type {!Element} */ (this.svgGroup_), 'blocklyDragging'); } else { - Blockly.draggingConnections = []; + Blockly.common.setDraggingConnections([]); Blockly.utils.dom.removeClass( /** @type {!Element} */ (this.svgGroup_), 'blocklyDragging'); } diff --git a/core/blockly.js b/core/blockly.js index f8dc17d3d..1f8cfa55a 100644 --- a/core/blockly.js +++ b/core/blockly.js @@ -57,7 +57,6 @@ goog.require('Blockly.WorkspaceSvg'); goog.require('Blockly.Xml'); goog.requireType('Blockly.BlockSvg'); -goog.requireType('Blockly.Connection'); goog.requireType('Blockly.ICopyable'); goog.requireType('Blockly.Workspace'); @@ -94,13 +93,6 @@ Object.defineProperty(Blockly, 'mainWorkspace', { */ Blockly.selected = null; -/** - * All of the connections on blocks that are currently being dragged. - * @type {!Array} - * @package - */ -Blockly.draggingConnections = []; - /** * Returns the dimensions of the specified SVG image. * @param {!SVGElement} svg SVG image. diff --git a/core/common.js b/core/common.js index 711cf3571..762ac8f3f 100644 --- a/core/common.js +++ b/core/common.js @@ -14,6 +14,8 @@ goog.module('Blockly.common'); goog.module.declareLegacyNamespace(); +/* eslint-disable-next-line no-unused-vars */ +const Connection = goog.requireType('Blockly.Connection'); /* eslint-disable-next-line no-unused-vars */ const Workspace = goog.requireType('Blockly.Workspace'); @@ -54,7 +56,7 @@ let parentContainer; /** * Get the container element in which to render the WidgetDiv, DropDownDiv and\ * Tooltip. - * @return {?Element} + * @return {?Element} The parent container. */ const getParentContainer = function() { return parentContainer; @@ -72,3 +74,30 @@ const setParentContainer = function(newParent) { parentContainer = newParent; }; exports.setParentContainer = setParentContainer; + +/** + * All of the connections on blocks that are currently being dragged. + * @type {!Array.} + */ +let draggingConnections = []; + +/** + * Get the list of dragging connections. + * @returns {!Array.} The list of connections on blocks that are + * currently being dragged. + */ +const getDraggingConnections = function() { + return draggingConnections; +}; +/** @package **/ +exports.getDraggingConnections = getDraggingConnections; + +/** + * Set the list of dragging connections. + * @param {!Array.} connectionList The new list of connections on + * blocks that are currently being dragged. + */ +const setDraggingConnections = function(connectionList) { + draggingConnections = connectionList; +}; +exports.setDraggingConnections = setDraggingConnections; diff --git a/core/connection_checker.js b/core/connection_checker.js index 20a582aac..c6fb1fd9b 100644 --- a/core/connection_checker.js +++ b/core/connection_checker.js @@ -19,6 +19,7 @@ const Connection = goog.require('Blockly.Connection'); const IConnectionChecker = goog.require('Blockly.IConnectionChecker'); /* eslint-disable-next-line no-unused-vars */ const RenderedConnection = goog.requireType('Blockly.RenderedConnection'); +const common = goog.require('Blockly.common'); const connectionTypes = goog.require('Blockly.connectionTypes'); const internalConstants = goog.require('Blockly.internalConstants'); const registry = goog.require('Blockly.registry'); @@ -239,7 +240,7 @@ ConnectionChecker.prototype.doDragChecks = function(a, b, distance) { } // Don't let blocks try to connect to themselves or ones they nest. - if (Blockly.draggingConnections.indexOf(b) != -1) { + if (common.getDraggingConnections().indexOf(b) != -1) { return false; } @@ -263,7 +264,7 @@ ConnectionChecker.prototype.canConnectToPrevious_ = function(a, b) { } // Don't let blocks try to connect to themselves or ones they nest. - if (Blockly.draggingConnections.indexOf(b) != -1) { + if (common.getDraggingConnections().indexOf(b) != -1) { return false; } diff --git a/tests/deps.js b/tests/deps.js index 784fc398a..2438a641b 100644 --- a/tests/deps.js +++ b/tests/deps.js @@ -10,8 +10,8 @@ goog.addDependency('../../blocks/variables_dynamic.js', ['Blockly.Constants.Vari goog.addDependency('../../core/block.js', ['Blockly.Block'], ['Blockly.ASTNode', 'Blockly.Blocks', 'Blockly.Connection', 'Blockly.Events', 'Blockly.Events.BlockChange', 'Blockly.Events.BlockCreate', 'Blockly.Events.BlockDelete', 'Blockly.Events.BlockMove', 'Blockly.Extensions', 'Blockly.IASTNodeLocation', 'Blockly.IDeletable', 'Blockly.Input', 'Blockly.Tooltip', 'Blockly.Workspace', 'Blockly.connectionTypes', 'Blockly.constants', 'Blockly.fieldRegistry', 'Blockly.inputTypes', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Size', 'Blockly.utils.object'], {'lang': 'es5'}); goog.addDependency('../../core/block_animations.js', ['Blockly.blockAnimations'], ['Blockly.utils.Svg', 'Blockly.utils.dom'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/block_drag_surface.js', ['Blockly.BlockDragSurfaceSvg'], ['Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Svg', 'Blockly.utils.dom'], {'lang': 'es6', 'module': 'goog'}); -goog.addDependency('../../core/block_dragger.js', ['Blockly.BlockDragger'], ['Blockly.Events', 'Blockly.Events.BlockDrag', 'Blockly.Events.BlockMove', 'Blockly.IBlockDragger', 'Blockly.InsertionMarkerManager', 'Blockly.blockAnimations', 'Blockly.registry', 'Blockly.utils.Coordinate', 'Blockly.utils.dom'], {'lang': 'es6', 'module': 'goog'}); -goog.addDependency('../../core/block_svg.js', ['Blockly.BlockSvg'], ['Blockly.ASTNode', 'Blockly.Block', 'Blockly.ContextMenu', 'Blockly.ContextMenuRegistry', 'Blockly.Events', 'Blockly.Events.BlockMove', 'Blockly.Events.Selected', 'Blockly.IASTNodeLocationSvg', 'Blockly.IBoundedElement', 'Blockly.ICopyable', 'Blockly.IDraggable', 'Blockly.Msg', 'Blockly.RenderedConnection', 'Blockly.TabNavigateCursor', 'Blockly.Tooltip', 'Blockly.Touch', 'Blockly.Xml', 'Blockly.blockAnimations', 'Blockly.blockRendering.IPathObject', 'Blockly.browserEvents', 'Blockly.connectionTypes', 'Blockly.constants', 'Blockly.internalConstants', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Rect', 'Blockly.utils.Svg', 'Blockly.utils.deprecation', 'Blockly.utils.dom', 'Blockly.utils.object', 'Blockly.utils.userAgent']); +goog.addDependency('../../core/block_dragger.js', ['Blockly.BlockDragger'], ['Blockly.Events', 'Blockly.Events.BlockDrag', 'Blockly.Events.BlockMove', 'Blockly.IBlockDragger', 'Blockly.InsertionMarkerManager', 'Blockly.blockAnimations', 'Blockly.common', 'Blockly.registry', 'Blockly.utils.Coordinate', 'Blockly.utils.dom'], {'lang': 'es6', 'module': 'goog'}); +goog.addDependency('../../core/block_svg.js', ['Blockly.BlockSvg'], ['Blockly.ASTNode', 'Blockly.Block', 'Blockly.ContextMenu', 'Blockly.ContextMenuRegistry', 'Blockly.Events', 'Blockly.Events.BlockMove', 'Blockly.Events.Selected', 'Blockly.IASTNodeLocationSvg', 'Blockly.IBoundedElement', 'Blockly.ICopyable', 'Blockly.IDraggable', 'Blockly.Msg', 'Blockly.RenderedConnection', 'Blockly.TabNavigateCursor', 'Blockly.Tooltip', 'Blockly.Touch', 'Blockly.Xml', 'Blockly.blockAnimations', 'Blockly.blockRendering.IPathObject', 'Blockly.browserEvents', 'Blockly.common', 'Blockly.connectionTypes', 'Blockly.constants', 'Blockly.internalConstants', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Rect', 'Blockly.utils.Svg', 'Blockly.utils.deprecation', 'Blockly.utils.dom', 'Blockly.utils.object', 'Blockly.utils.userAgent']); goog.addDependency('../../core/blockly.js', ['Blockly'], ['Blockly.ComponentManager', 'Blockly.DropDownDiv', 'Blockly.Events', 'Blockly.Events.BlockCreate', 'Blockly.Events.FinishedLoading', 'Blockly.Events.Ui', 'Blockly.Events.UiBase', 'Blockly.Events.VarCreate', 'Blockly.Procedures', 'Blockly.ShortcutRegistry', 'Blockly.Tooltip', 'Blockly.Touch', 'Blockly.Variables', 'Blockly.WidgetDiv', 'Blockly.WorkspaceSvg', 'Blockly.Xml', 'Blockly.browserEvents', 'Blockly.clipboard', 'Blockly.common', 'Blockly.connectionTypes', 'Blockly.constants', 'Blockly.inject', 'Blockly.inputTypes', 'Blockly.internalConstants', 'Blockly.utils', 'Blockly.utils.Size', 'Blockly.utils.colour', 'Blockly.utils.deprecation', 'Blockly.utils.toolbox']); goog.addDependency('../../core/blocks.js', ['Blockly.Blocks'], [], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/browser_events.js', ['Blockly.browserEvents'], ['Blockly.Touch', 'Blockly.utils.global'], {'lang': 'es6', 'module': 'goog'}); @@ -22,7 +22,7 @@ goog.addDependency('../../core/comment.js', ['Blockly.Comment'], ['Blockly.Bubbl goog.addDependency('../../core/common.js', ['Blockly.common'], [], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/component_manager.js', ['Blockly.ComponentManager'], [], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/connection.js', ['Blockly.Connection'], ['Blockly.Events', 'Blockly.Events.BlockMove', 'Blockly.IASTNodeLocationWithBlock', 'Blockly.Xml', 'Blockly.connectionTypes', 'Blockly.constants', 'Blockly.utils.deprecation'], {'lang': 'es6', 'module': 'goog'}); -goog.addDependency('../../core/connection_checker.js', ['Blockly.ConnectionChecker'], ['Blockly.Connection', 'Blockly.IConnectionChecker', 'Blockly.connectionTypes', 'Blockly.internalConstants', 'Blockly.registry'], {'lang': 'es6', 'module': 'goog'}); +goog.addDependency('../../core/connection_checker.js', ['Blockly.ConnectionChecker'], ['Blockly.Connection', 'Blockly.IConnectionChecker', 'Blockly.common', 'Blockly.connectionTypes', 'Blockly.internalConstants', 'Blockly.registry'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/connection_db.js', ['Blockly.ConnectionDB'], ['Blockly.RenderedConnection', 'Blockly.connectionTypes', 'Blockly.constants'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/connection_types.js', ['Blockly.connectionTypes'], [], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/constants.js', ['Blockly.constants'], [], {'lang': 'es6', 'module': 'goog'}); From 36c02120e9bdff8ae60a588016a42dd86be7ef62 Mon Sep 17 00:00:00 2001 From: Rachel Fenichel Date: Mon, 2 Aug 2021 20:10:10 -0700 Subject: [PATCH 4/5] Rebuild --- tests/deps.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/tests/deps.js b/tests/deps.js index 2438a641b..e1834d0a3 100644 --- a/tests/deps.js +++ b/tests/deps.js @@ -172,13 +172,8 @@ goog.addDependency('../../core/toolbox/category.js', ['Blockly.ToolboxCategory'] goog.addDependency('../../core/toolbox/collapsible_category.js', ['Blockly.CollapsibleToolboxCategory'], ['Blockly.ICollapsibleToolboxItem', 'Blockly.ToolboxCategory', 'Blockly.ToolboxSeparator', 'Blockly.registry', 'Blockly.utils.aria', 'Blockly.utils.dom', 'Blockly.utils.object', 'Blockly.utils.toolbox'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/toolbox/separator.js', ['Blockly.ToolboxSeparator'], ['Blockly.Css', 'Blockly.ToolboxItem', 'Blockly.registry', 'Blockly.utils.dom', 'Blockly.utils.object'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/toolbox/toolbox.js', ['Blockly.Toolbox'], ['Blockly.BlockSvg', 'Blockly.CollapsibleToolboxCategory', 'Blockly.ComponentManager', 'Blockly.Css', 'Blockly.DeleteArea', 'Blockly.Events', 'Blockly.Events.ToolboxItemSelect', 'Blockly.IAutoHideable', 'Blockly.IKeyboardAccessible', 'Blockly.IStyleable', 'Blockly.IToolbox', 'Blockly.Options', 'Blockly.Touch', 'Blockly.browserEvents', 'Blockly.constants', 'Blockly.registry', 'Blockly.utils', 'Blockly.utils.Rect', 'Blockly.utils.aria', 'Blockly.utils.dom', 'Blockly.utils.toolbox'], {'lang': 'es5'}); -<<<<<<< HEAD goog.addDependency('../../core/toolbox/toolbox_item.js', ['Blockly.ToolboxItem'], ['Blockly.IToolboxItem', 'Blockly.utils.IdGenerator'], {'lang': 'es6', 'module': 'goog'}); -goog.addDependency('../../core/tooltip.js', ['Blockly.Tooltip'], ['Blockly.browserEvents', 'Blockly.utils.string']); -======= -goog.addDependency('../../core/toolbox/toolbox_item.js', ['Blockly.ToolboxItem'], ['Blockly.IToolboxItem']); goog.addDependency('../../core/tooltip.js', ['Blockly.Tooltip'], ['Blockly.browserEvents', 'Blockly.common', 'Blockly.utils.string']); ->>>>>>> c62fba04 (Move set/getParentContainer into common) goog.addDependency('../../core/touch.js', ['Blockly.Touch'], ['Blockly.internalConstants', 'Blockly.utils', 'Blockly.utils.global', 'Blockly.utils.string']); goog.addDependency('../../core/touch_gesture.js', ['Blockly.TouchGesture'], ['Blockly.Gesture', 'Blockly.browserEvents', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.object']); goog.addDependency('../../core/trashcan.js', ['Blockly.Trashcan'], ['Blockly.ComponentManager', 'Blockly.DeleteArea', 'Blockly.Events', 'Blockly.Events.TrashcanOpen', 'Blockly.IAutoHideable', 'Blockly.IPositionable', 'Blockly.Options', 'Blockly.Xml', 'Blockly.browserEvents', 'Blockly.internalConstants', 'Blockly.registry', 'Blockly.uiPosition', 'Blockly.utils', 'Blockly.utils.Rect', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.toolbox'], {'lang': 'es6', 'module': 'goog'}); From 7bc461ea833878fef147f6f683fbb9c6f2fd0eca Mon Sep 17 00:00:00 2001 From: Rachel Fenichel Date: Wed, 4 Aug 2021 17:17:24 -0700 Subject: [PATCH 5/5] polish: export draggingConnections directly --- core/block_dragger.js | 2 +- core/block_svg.js | 6 ++---- core/common.js | 25 ++----------------------- core/connection_checker.js | 4 ++-- tests/deps.js | 2 +- 5 files changed, 8 insertions(+), 31 deletions(-) diff --git a/core/block_dragger.js b/core/block_dragger.js index 7345c0327..6e5ac10c1 100644 --- a/core/block_dragger.js +++ b/core/block_dragger.js @@ -333,7 +333,7 @@ BlockDragger.prototype.maybeDeleteBlock_ = function() { // Fire a move event, so we know where to go back to for an undo. this.fireMoveEvent_(); this.draggingBlock_.dispose(false, true); - common.setDraggingConnections([]); + common.draggingConnections.length = 0; return true; } return false; diff --git a/core/block_svg.js b/core/block_svg.js index cbb69063e..fbd3dd5dc 100644 --- a/core/block_svg.js +++ b/core/block_svg.js @@ -825,13 +825,11 @@ Blockly.BlockSvg.prototype.setDragging = function(adding) { var group = this.getSvgRoot(); group.translate_ = ''; group.skew_ = ''; - var newList = - Blockly.common.getDraggingConnections().concat(this.getConnections_(true)); - Blockly.common.setDraggingConnections(newList); + Blockly.common.draggingConnections.push(...this.getConnections_(true)); Blockly.utils.dom.addClass( /** @type {!Element} */ (this.svgGroup_), 'blocklyDragging'); } else { - Blockly.common.setDraggingConnections([]); + Blockly.common.draggingConnections.length = 0; Blockly.utils.dom.removeClass( /** @type {!Element} */ (this.svgGroup_), 'blocklyDragging'); } diff --git a/core/common.js b/core/common.js index 762ac8f3f..b6d7ad369 100644 --- a/core/common.js +++ b/core/common.js @@ -77,27 +77,6 @@ exports.setParentContainer = setParentContainer; /** * All of the connections on blocks that are currently being dragged. - * @type {!Array.} + * @type {!Array} */ -let draggingConnections = []; - -/** - * Get the list of dragging connections. - * @returns {!Array.} The list of connections on blocks that are - * currently being dragged. - */ -const getDraggingConnections = function() { - return draggingConnections; -}; -/** @package **/ -exports.getDraggingConnections = getDraggingConnections; - -/** - * Set the list of dragging connections. - * @param {!Array.} connectionList The new list of connections on - * blocks that are currently being dragged. - */ -const setDraggingConnections = function(connectionList) { - draggingConnections = connectionList; -}; -exports.setDraggingConnections = setDraggingConnections; +exports.draggingConnections = []; diff --git a/core/connection_checker.js b/core/connection_checker.js index c6fb1fd9b..76162b017 100644 --- a/core/connection_checker.js +++ b/core/connection_checker.js @@ -240,7 +240,7 @@ ConnectionChecker.prototype.doDragChecks = function(a, b, distance) { } // Don't let blocks try to connect to themselves or ones they nest. - if (common.getDraggingConnections().indexOf(b) != -1) { + if (common.draggingConnections.indexOf(b) != -1) { return false; } @@ -264,7 +264,7 @@ ConnectionChecker.prototype.canConnectToPrevious_ = function(a, b) { } // Don't let blocks try to connect to themselves or ones they nest. - if (common.getDraggingConnections().indexOf(b) != -1) { + if (common.draggingConnections.indexOf(b) != -1) { return false; } diff --git a/tests/deps.js b/tests/deps.js index e1834d0a3..0cb50f476 100644 --- a/tests/deps.js +++ b/tests/deps.js @@ -11,7 +11,7 @@ goog.addDependency('../../core/block.js', ['Blockly.Block'], ['Blockly.ASTNode', goog.addDependency('../../core/block_animations.js', ['Blockly.blockAnimations'], ['Blockly.utils.Svg', 'Blockly.utils.dom'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/block_drag_surface.js', ['Blockly.BlockDragSurfaceSvg'], ['Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Svg', 'Blockly.utils.dom'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/block_dragger.js', ['Blockly.BlockDragger'], ['Blockly.Events', 'Blockly.Events.BlockDrag', 'Blockly.Events.BlockMove', 'Blockly.IBlockDragger', 'Blockly.InsertionMarkerManager', 'Blockly.blockAnimations', 'Blockly.common', 'Blockly.registry', 'Blockly.utils.Coordinate', 'Blockly.utils.dom'], {'lang': 'es6', 'module': 'goog'}); -goog.addDependency('../../core/block_svg.js', ['Blockly.BlockSvg'], ['Blockly.ASTNode', 'Blockly.Block', 'Blockly.ContextMenu', 'Blockly.ContextMenuRegistry', 'Blockly.Events', 'Blockly.Events.BlockMove', 'Blockly.Events.Selected', 'Blockly.IASTNodeLocationSvg', 'Blockly.IBoundedElement', 'Blockly.ICopyable', 'Blockly.IDraggable', 'Blockly.Msg', 'Blockly.RenderedConnection', 'Blockly.TabNavigateCursor', 'Blockly.Tooltip', 'Blockly.Touch', 'Blockly.Xml', 'Blockly.blockAnimations', 'Blockly.blockRendering.IPathObject', 'Blockly.browserEvents', 'Blockly.common', 'Blockly.connectionTypes', 'Blockly.constants', 'Blockly.internalConstants', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Rect', 'Blockly.utils.Svg', 'Blockly.utils.deprecation', 'Blockly.utils.dom', 'Blockly.utils.object', 'Blockly.utils.userAgent']); +goog.addDependency('../../core/block_svg.js', ['Blockly.BlockSvg'], ['Blockly.ASTNode', 'Blockly.Block', 'Blockly.ContextMenu', 'Blockly.ContextMenuRegistry', 'Blockly.Events', 'Blockly.Events.BlockMove', 'Blockly.Events.Selected', 'Blockly.IASTNodeLocationSvg', 'Blockly.IBoundedElement', 'Blockly.ICopyable', 'Blockly.IDraggable', 'Blockly.Msg', 'Blockly.RenderedConnection', 'Blockly.TabNavigateCursor', 'Blockly.Tooltip', 'Blockly.Touch', 'Blockly.Xml', 'Blockly.blockAnimations', 'Blockly.blockRendering.IPathObject', 'Blockly.browserEvents', 'Blockly.common', 'Blockly.connectionTypes', 'Blockly.constants', 'Blockly.internalConstants', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Rect', 'Blockly.utils.Svg', 'Blockly.utils.deprecation', 'Blockly.utils.dom', 'Blockly.utils.object', 'Blockly.utils.userAgent'], {'lang': 'es6'}); goog.addDependency('../../core/blockly.js', ['Blockly'], ['Blockly.ComponentManager', 'Blockly.DropDownDiv', 'Blockly.Events', 'Blockly.Events.BlockCreate', 'Blockly.Events.FinishedLoading', 'Blockly.Events.Ui', 'Blockly.Events.UiBase', 'Blockly.Events.VarCreate', 'Blockly.Procedures', 'Blockly.ShortcutRegistry', 'Blockly.Tooltip', 'Blockly.Touch', 'Blockly.Variables', 'Blockly.WidgetDiv', 'Blockly.WorkspaceSvg', 'Blockly.Xml', 'Blockly.browserEvents', 'Blockly.clipboard', 'Blockly.common', 'Blockly.connectionTypes', 'Blockly.constants', 'Blockly.inject', 'Blockly.inputTypes', 'Blockly.internalConstants', 'Blockly.utils', 'Blockly.utils.Size', 'Blockly.utils.colour', 'Blockly.utils.deprecation', 'Blockly.utils.toolbox']); goog.addDependency('../../core/blocks.js', ['Blockly.Blocks'], [], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/browser_events.js', ['Blockly.browserEvents'], ['Blockly.Touch', 'Blockly.utils.global'], {'lang': 'es6', 'module': 'goog'});