From 4b5733e7c85f2e196719550a3cfdcbcbd61739df Mon Sep 17 00:00:00 2001 From: alschmiedt Date: Wed, 9 Feb 2022 09:46:34 -0800 Subject: [PATCH] refactor!: allows previously internal constants to be configurable (#5897) --- blocks/procedures.js | 6 +-- core/block_svg.js | 7 +-- core/blockly.js | 14 +---- core/config.js | 87 ++++++++++++++++++++++++++++++ core/contextmenu.js | 8 +-- core/gesture.js | 5 +- core/insertion_marker_manager.js | 9 ++-- core/internal_constants.js | 91 -------------------------------- core/mutator.js | 4 +- core/rendered_connection.js | 9 ++-- core/sprites.js | 31 +++++++++++ core/trashcan.js | 14 ++--- core/workspace_svg.js | 16 +++--- core/zoom_controls.js | 20 +++---- scripts/gulpfiles/chunks.json | 62 +++++++++++----------- scripts/migration/renamings.js | 33 ++++++++++++ tests/deps.js | 24 +++++---- 17 files changed, 248 insertions(+), 192 deletions(-) create mode 100644 core/config.js create mode 100644 core/sprites.js diff --git a/blocks/procedures.js b/blocks/procedures.js index 49964f64f80..cf5553a8298 100644 --- a/blocks/procedures.js +++ b/blocks/procedures.js @@ -19,13 +19,13 @@ const Events = goog.require('Blockly.Events'); const Procedures = goog.require('Blockly.Procedures'); const Variables = goog.require('Blockly.Variables'); const Xml = goog.require('Blockly.Xml'); -const internalConstants = goog.require('Blockly.internalConstants'); const xmlUtils = goog.require('Blockly.utils.xml'); const {Align} = goog.require('Blockly.Input'); /* eslint-disable-next-line no-unused-vars */ const {Block} = goog.requireType('Blockly.Block'); /* eslint-disable-next-line no-unused-vars */ const {BlockDefinition} = goog.requireType('Blockly.blocks'); +const {config} = goog.require('Blockly.config'); /* eslint-disable-next-line no-unused-vars */ const {FieldCheckbox} = goog.require('Blockly.FieldCheckbox'); const {FieldLabel} = goog.require('Blockly.FieldLabel'); @@ -959,8 +959,8 @@ const PROCEDURE_CALL_COMMON = { const block = xmlUtils.createElement('block'); block.setAttribute('type', this.defType_); const xy = this.getRelativeToSurfaceXY(); - const x = xy.x + internalConstants.SNAP_RADIUS * (this.RTL ? -1 : 1); - const y = xy.y + internalConstants.SNAP_RADIUS * 2; + const x = xy.x + config.snapRadius * (this.RTL ? -1 : 1); + const y = xy.y + config.snapRadius * 2; block.setAttribute('x', x); block.setAttribute('y', y); const mutation = this.mutationToDom(); diff --git a/core/block_svg.js b/core/block_svg.js index 0f81aa04e06..ffd6eb48f73 100644 --- a/core/block_svg.js +++ b/core/block_svg.js @@ -34,6 +34,7 @@ const {Block} = goog.require('Blockly.Block'); const {BlockMove} = goog.requireType('Blockly.Events.BlockMove'); /* eslint-disable-next-line no-unused-vars */ const {Comment} = goog.requireType('Blockly.Comment'); +const {config} = goog.require('Blockly.config'); const {ConnectionType} = goog.require('Blockly.ConnectionType'); /* eslint-disable-next-line no-unused-vars */ const {Connection} = goog.requireType('Blockly.Connection'); @@ -1560,7 +1561,7 @@ BlockSvg.prototype.bumpNeighbours = function() { renderedConn.targetBlock().bumpNeighbours(); } - const neighbours = renderedConn.neighbours(internalConstants.SNAP_RADIUS); + const neighbours = connection.neighbours(config.snapRadius); for (let j = 0, otherConnection; (otherConnection = neighbours[j]); j++) { const renderedOther = /** @type {!RenderedConnection} */ (otherConnection); @@ -1595,13 +1596,13 @@ BlockSvg.prototype.scheduleSnapAndBump = function() { eventUtils.setGroup(group); block.snapToGrid(); eventUtils.setGroup(false); - }, internalConstants.BUMP_DELAY / 2); + }, config.bumpDelay / 2); setTimeout(function() { eventUtils.setGroup(group); block.bumpNeighbours(); eventUtils.setGroup(false); - }, internalConstants.BUMP_DELAY); + }, config.bumpDelay); }; /** diff --git a/core/blockly.js b/core/blockly.js index 4ea66fdbf45..e393ebc4686 100644 --- a/core/blockly.js +++ b/core/blockly.js @@ -71,6 +71,7 @@ const {Bubble} = goog.require('Blockly.Bubble'); const {CollapsibleToolboxCategory} = goog.require('Blockly.CollapsibleToolboxCategory'); const {Comment} = goog.require('Blockly.Comment'); const {ComponentManager} = goog.require('Blockly.ComponentManager'); +const {config} = goog.require('Blockly.config'); const {ConnectionChecker} = goog.require('Blockly.ConnectionChecker'); const {ConnectionDB} = goog.require('Blockly.ConnectionDB'); const {ConnectionType} = goog.require('Blockly.ConnectionType'); @@ -655,20 +656,8 @@ const bindEventWithChecks_ = function( exports.bindEventWithChecks_ = bindEventWithChecks_; // Aliases to allow external code to access these values for legacy reasons. -exports.DRAG_RADIUS = internalConstants.DRAG_RADIUS; -exports.FLYOUT_DRAG_RADIUS = internalConstants.FLYOUT_DRAG_RADIUS; -exports.SNAP_RADIUS = internalConstants.SNAP_RADIUS; -exports.CONNECTING_SNAP_RADIUS = internalConstants.CONNECTING_SNAP_RADIUS; -exports.CURRENT_CONNECTION_PREFERENCE = - internalConstants.CURRENT_CONNECTION_PREFERENCE; -exports.BUMP_DELAY = internalConstants.BUMP_DELAY; exports.COLLAPSE_CHARS = internalConstants.COLLAPSE_CHARS; exports.DRAG_STACK = internalConstants.DRAG_STACK; -exports.SPRITE = internalConstants.SPRITE; -exports.DRAG_NONE = internalConstants.DRAG_NONE; -exports.DRAG_STICKY = internalConstants.DRAG_STICKY; -exports.DRAG_BEGIN = internalConstants.DRAG_BEGIN; -exports.DRAG_FREE = internalConstants.DRAG_FREE; exports.OPPOSITE_TYPE = internalConstants.OPPOSITE_TYPE; exports.RENAME_VARIABLE_ID = internalConstants.RENAME_VARIABLE_ID; exports.DELETE_VARIABLE_ID = internalConstants.DELETE_VARIABLE_ID; @@ -828,6 +817,7 @@ exports.browserEvents = browserEvents; exports.bumpObjects = bumpObjects; exports.clipboard = clipboard; exports.common = common; +exports.config = config; /** @deprecated Use Blockly.ConnectionType instead. */ exports.connectionTypes = ConnectionType; exports.constants = constants; diff --git a/core/config.js b/core/config.js new file mode 100644 index 00000000000..b211ebe5fd0 --- /dev/null +++ b/core/config.js @@ -0,0 +1,87 @@ +/** + * @license + * Copyright 2022 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ + +/** + * @fileoverview All the values that we expect developers to be able to change + * before injecting Blockly. Changing these values during run time is not + * generally recommended. + */ +'use strict'; + +/** + * All the values that we expect developers to be able to change + * before injecting Blockly. Changing these values during run time is not + * generally recommended. + * @namespace Blockly.config + */ +goog.module('Blockly.config'); + + +/** + * All the values that we expect developers to be able to change + * before injecting Blockly. + * @typedef {{ + * dragRadius: number, + * flyoutDragRadius: number, + * snapRadius: number, + * currentConnectionPreference: number, + * bumpDelay: number, + * connectingSnapRadius: number + * }} + */ +let Config; // eslint-disable-line no-unused-vars + +/** + * Default snap radius. + * @type {number} + */ +const DEFAULT_SNAP_RADIUS = 28; + +/** + * Object holding all the values on Blockly that we expect developers to be + * able to change. + * @type {Config} + */ +const config = { + /** + * Number of pixels the mouse must move before a drag starts. + * @alias Blockly.config.dragRadius + */ + dragRadius: 5, + /** + * Number of pixels the mouse must move before a drag/scroll starts from the + * flyout. Because the drag-intention is determined when this is reached, it + * is larger than dragRadius so that the drag-direction is clearer. + * @alias Blockly.config.flyoutDragRadius + */ + flyoutDragRadius: 10, + /** + * Maximum misalignment between connections for them to snap together. + * @alias Blockly.config.snapRadius + */ + snapRadius: DEFAULT_SNAP_RADIUS, + /** + * Maximum misalignment between connections for them to snap together. + * This should be the same as the snap radius. + * @alias Blockly.config.connectingSnapRadius + */ + connectingSnapRadius: DEFAULT_SNAP_RADIUS, + /** + * How much to prefer staying connected to the current connection over moving + * to a new connection. The current previewed connection is considered to be + * this much closer to the matching connection on the block than it actually + * is. + * @alias Blockly.config.currentConnectionPreference + */ + currentConnectionPreference: 8, + /** + * Delay in ms between trigger and bumping unconnected block out of alignment. + * @alias Blockly.config.bumpDelay + */ + bumpDelay: 250, +}; + +exports.config = config; diff --git a/core/contextmenu.js b/core/contextmenu.js index 6f665eb4936..6508ff3c960 100644 --- a/core/contextmenu.js +++ b/core/contextmenu.js @@ -23,11 +23,11 @@ const clipboard = goog.require('Blockly.clipboard'); const deprecation = goog.require('Blockly.utils.deprecation'); const dom = goog.require('Blockly.utils.dom'); const eventUtils = goog.require('Blockly.Events.utils'); -const internalConstants = goog.require('Blockly.internalConstants'); const userAgent = goog.require('Blockly.utils.userAgent'); const svgMath = goog.require('Blockly.utils.svgMath'); /* eslint-disable-next-line no-unused-vars */ const {Block} = goog.requireType('Blockly.Block'); +const {config} = goog.require('Blockly.config'); const {Coordinate} = goog.require('Blockly.utils.Coordinate'); const {MenuItem} = goog.require('Blockly.MenuItem'); const {Menu} = goog.require('Blockly.Menu'); @@ -266,11 +266,11 @@ const callbackFactory = function(block, xml) { // Move the new block next to the old block. const xy = block.getRelativeToSurfaceXY(); if (block.RTL) { - xy.x -= internalConstants.SNAP_RADIUS; + xy.x -= config.snapRadius; } else { - xy.x += internalConstants.SNAP_RADIUS; + xy.x += config.snapRadius; } - xy.y += internalConstants.SNAP_RADIUS * 2; + xy.y += config.snapRadius * 2; newBlock.moveBy(xy.x, xy.y); } finally { eventUtils.enable(); diff --git a/core/gesture.js b/core/gesture.js index c0f6df67420..63e27b16ae8 100644 --- a/core/gesture.js +++ b/core/gesture.js @@ -28,6 +28,7 @@ const registry = goog.require('Blockly.registry'); /* eslint-disable-next-line no-unused-vars */ const {BlockSvg} = goog.requireType('Blockly.BlockSvg'); const {BubbleDragger} = goog.require('Blockly.BubbleDragger'); +const {config} = goog.require('Blockly.config'); const {Coordinate} = goog.require('Blockly.utils.Coordinate'); /* eslint-disable-next-line no-unused-vars */ const {Field} = goog.requireType('Blockly.Field'); @@ -307,8 +308,8 @@ class Gesture { const currentDragDelta = Coordinate.magnitude(this.currentDragDeltaXY_); // The flyout has a different drag radius from the rest of Blockly. - const limitRadius = this.flyout_ ? internalConstants.FLYOUT_DRAG_RADIUS : - internalConstants.DRAG_RADIUS; + const limitRadius = + this.flyout_ ? config.flyoutDragRadius : config.dragRadius; this.hasExceededDragRadius_ = currentDragDelta > limitRadius; return this.hasExceededDragRadius_; diff --git a/core/insertion_marker_manager.js b/core/insertion_marker_manager.js index 627eb44ffff..54cf14b3660 100644 --- a/core/insertion_marker_manager.js +++ b/core/insertion_marker_manager.js @@ -19,10 +19,10 @@ const blockAnimations = goog.require('Blockly.blockAnimations'); const common = goog.require('Blockly.common'); const constants = goog.require('Blockly.constants'); const eventUtils = goog.require('Blockly.Events.utils'); -const internalConstants = goog.require('Blockly.internalConstants'); /* eslint-disable-next-line no-unused-vars */ const {BlockSvg} = goog.requireType('Blockly.BlockSvg'); const {ComponentManager} = goog.require('Blockly.ComponentManager'); +const {config} = goog.require('Blockly.config'); const {ConnectionType} = goog.require('Blockly.ConnectionType'); /* eslint-disable-next-line no-unused-vars */ const {Coordinate} = goog.requireType('Blockly.utils.Coordinate'); @@ -389,8 +389,7 @@ class InsertionMarkerManager { // Slightly prefer the existing preview over a new preview. return !( candidateClosest && - radius > - curDistance - internalConstants.CURRENT_CONNECTION_PREFERENCE); + radius > curDistance - config.currentConnectionPreference); } else if (!this.localConnection_ && !this.closestConnection_) { // We weren't showing a preview before, but we should now. return true; @@ -459,9 +458,9 @@ class InsertionMarkerManager { // of range. By increasing radiusConnection when a connection already // exists, we never "lose" the connection from the offset. if (this.closestConnection_ && this.localConnection_) { - return internalConstants.CONNECTING_SNAP_RADIUS; + return config.connectingSnapRadius; } - return internalConstants.SNAP_RADIUS; + return config.snapRadius; } /** diff --git a/core/internal_constants.js b/core/internal_constants.js index e7d0d97a6be..630806ff6eb 100644 --- a/core/internal_constants.js +++ b/core/internal_constants.js @@ -21,53 +21,6 @@ goog.module('Blockly.internalConstants'); const {ConnectionType} = goog.require('Blockly.ConnectionType'); -/** - * Number of pixels the mouse must move before a drag starts. - * @alias Blockly.internalConstants.DRAG_RADIUS - */ -const DRAG_RADIUS = 5; -exports.DRAG_RADIUS = DRAG_RADIUS; - -/** - * Number of pixels the mouse must move before a drag/scroll starts from the - * flyout. Because the drag-intention is determined when this is reached, it is - * larger than DRAG_RADIUS so that the drag-direction is clearer. - * @alias Blockly.internalConstants.FLYOUT_DRAG_RADIUS - */ -const FLYOUT_DRAG_RADIUS = 10; -exports.FLYOUT_DRAG_RADIUS = FLYOUT_DRAG_RADIUS; - -/** - * Maximum misalignment between connections for them to snap together. - * @alias Blockly.internalConstants.SNAP_RADIUS - */ -const SNAP_RADIUS = 28; -exports.SNAP_RADIUS = SNAP_RADIUS; - -/** - * Maximum misalignment between connections for them to snap together, - * when a connection is already highlighted. - * @alias Blockly.internalConstants.CONNECTING_SNAP_RADIUS - */ -const CONNECTING_SNAP_RADIUS = SNAP_RADIUS; -exports.CONNECTING_SNAP_RADIUS = CONNECTING_SNAP_RADIUS; - -/** - * How much to prefer staying connected to the current connection over moving to - * a new connection. The current previewed connection is considered to be this - * much closer to the matching connection on the block than it actually is. - * @alias Blockly.internalConstants.CURRENT_CONNECTION_PREFERENCE - */ -const CURRENT_CONNECTION_PREFERENCE = 8; -exports.CURRENT_CONNECTION_PREFERENCE = CURRENT_CONNECTION_PREFERENCE; - -/** - * Delay in ms between trigger and bumping unconnected block out of alignment. - * @alias Blockly.internalConstants.BUMP_DELAY - */ -const BUMP_DELAY = 250; -exports.BUMP_DELAY = BUMP_DELAY; - /** * Number of characters to truncate a collapsed block to. * @alias Blockly.internalConstants.COLLAPSE_CHARS @@ -83,50 +36,6 @@ exports.COLLAPSE_CHARS = COLLAPSE_CHARS; const DRAG_STACK = true; exports.DRAG_STACK = DRAG_STACK; -/** - * Sprited icons and images. - * @alias Blockly.internalConstants.SPRITE - */ -const SPRITE = { - width: 96, - height: 124, - url: 'sprites.png', -}; -exports.SPRITE = SPRITE; - -/** - * ENUM for no drag operation. - * @const - * @alias Blockly.internalConstants.DRAG_NONE - */ -const DRAG_NONE = 0; -exports.DRAG_NONE = DRAG_NONE; - -/** - * ENUM for inside the sticky DRAG_RADIUS. - * @const - * @alias Blockly.internalConstants.DRAG_STICKY - */ -const DRAG_STICKY = 1; -exports.DRAG_STICKY = DRAG_STICKY; - -/** - * ENUM for inside the non-sticky DRAG_RADIUS, for differentiating between - * clicks and drags. - * @const - * @alias Blockly.internalConstants.DRAG_BEGIN - */ -const DRAG_BEGIN = 1; -exports.DRAG_BEGIN = DRAG_BEGIN; - -/** - * ENUM for freely draggable (outside the DRAG_RADIUS, if one applies). - * @const - * @alias Blockly.internalConstants.DRAG_FREE - */ -const DRAG_FREE = 2; -exports.DRAG_FREE = DRAG_FREE; - /** * Lookup table for determining the opposite type of a connection. * @const diff --git a/core/mutator.js b/core/mutator.js index 34e42b71fda..d5079c63dc3 100644 --- a/core/mutator.js +++ b/core/mutator.js @@ -19,7 +19,6 @@ goog.module('Blockly.Mutator'); const dom = goog.require('Blockly.utils.dom'); const eventUtils = goog.require('Blockly.Events.utils'); -const internalConstants = goog.require('Blockly.internalConstants'); const toolbox = goog.require('Blockly.utils.toolbox'); const xml = goog.require('Blockly.utils.xml'); /* eslint-disable-next-line no-unused-vars */ @@ -32,6 +31,7 @@ const {BlocklyOptions} = goog.requireType('Blockly.BlocklyOptions'); /* eslint-disable-next-line no-unused-vars */ const {Block} = goog.requireType('Blockly.Block'); const {Bubble} = goog.require('Blockly.Bubble'); +const {config} = goog.require('Blockly.config'); /* eslint-disable-next-line no-unused-vars */ const {Connection} = goog.requireType('Blockly.Connection'); /* eslint-disable-next-line no-unused-vars */ @@ -480,7 +480,7 @@ class Mutator extends Icon { eventUtils.setGroup(mutationGroup); block.bumpNeighbours(); eventUtils.setGroup(oldGroup); - }, internalConstants.BUMP_DELAY); + }, config.bumpDelay); } // Don't update the bubble until the drag has ended, to avoid moving diff --git a/core/rendered_connection.js b/core/rendered_connection.js index a85ac3c952f..56010451a2b 100644 --- a/core/rendered_connection.js +++ b/core/rendered_connection.js @@ -25,6 +25,7 @@ const svgMath = goog.require('Blockly.utils.svgMath'); const {BlockSvg} = goog.requireType('Blockly.BlockSvg'); /* eslint-disable-next-line no-unused-vars */ const {Block} = goog.requireType('Blockly.Block'); +const {config} = goog.require('Blockly.config'); /* eslint-disable-next-line no-unused-vars */ const {ConnectionDB} = goog.requireType('Blockly.ConnectionDB'); const {ConnectionType} = goog.require('Blockly.ConnectionType'); @@ -168,10 +169,10 @@ class RenderedConnection extends Connection { // Raise it to the top for extra visibility. const selected = common.getSelected() == rootBlock; selected || rootBlock.addSelect(); - let dx = (staticConnection.x + internalConstants.SNAP_RADIUS + + let dx = (staticConnection.x + config.snapRadius + Math.floor(Math.random() * BUMP_RANDOMNESS)) - this.x; - let dy = (staticConnection.y + internalConstants.SNAP_RADIUS + + let dy = (staticConnection.y + config.snapRadius + Math.floor(Math.random() * BUMP_RANDOMNESS)) - this.y; if (reverse) { @@ -179,7 +180,7 @@ class RenderedConnection extends Connection { dy = -dy; } if (rootBlock.RTL) { - dx = (staticConnection.x - internalConstants.SNAP_RADIUS - + dx = (staticConnection.x - config.snapRadius - Math.floor(Math.random() * BUMP_RANDOMNESS)) - this.x; } @@ -438,7 +439,7 @@ class RenderedConnection extends Connection { this.bumpAwayFrom(otherConnection); eventUtils.setGroup(false); } - }.bind(this), internalConstants.BUMP_DELAY); + }.bind(this), config.bumpDelay); } } diff --git a/core/sprites.js b/core/sprites.js new file mode 100644 index 00000000000..be6d579df0f --- /dev/null +++ b/core/sprites.js @@ -0,0 +1,31 @@ +/** + * @license + * Copyright 2022 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ + +/** + * @fileoverview Holds constants that have to do with the sprites that create + * the trashcan and zoom controls. + */ +'use strict'; + +/** + * Holds constants that have to do with the sprites that create the trashcan + * and zoom controls. + */ +goog.module('Blockly.sprite'); + + +/** + * Contains the path to a single png tat holds the images for the trashcan + * as well as the zoom controls. + * @const {!Object} + * @alias Blockly.sprite.SPRITE + */ +const SPRITE = { + width: 96, + height: 124, + url: 'sprites.png', +}; +exports.SPRITE = SPRITE; diff --git a/core/trashcan.js b/core/trashcan.js index e9a8a48196e..3b7cdaa4cdc 100644 --- a/core/trashcan.js +++ b/core/trashcan.js @@ -20,7 +20,6 @@ const blocks = goog.requireType('Blockly.serialization.blocks'); const browserEvents = goog.require('Blockly.browserEvents'); const dom = goog.require('Blockly.utils.dom'); const eventUtils = goog.require('Blockly.Events.utils'); -const internalConstants = goog.require('Blockly.internalConstants'); const registry = goog.require('Blockly.registry'); const toolbox = goog.require('Blockly.utils.toolbox'); const uiPosition = goog.require('Blockly.uiPosition'); @@ -43,6 +42,7 @@ const {MetricsManager} = goog.requireType('Blockly.MetricsManager'); const {Options} = goog.require('Blockly.Options'); const {Rect} = goog.require('Blockly.utils.Rect'); const {Size} = goog.require('Blockly.utils.Size'); +const {SPRITE} = goog.require('Blockly.sprite'); const {Svg} = goog.require('Blockly.utils.Svg'); /* eslint-disable-next-line no-unused-vars */ const {WorkspaceSvg} = goog.requireType('Blockly.WorkspaceSvg'); @@ -225,16 +225,16 @@ class Trashcan extends DeleteArea { clip); const body = dom.createSvgElement( Svg.IMAGE, { - 'width': internalConstants.SPRITE.width, + 'width': SPRITE.width, 'x': -SPRITE_LEFT, - 'height': internalConstants.SPRITE.height, + 'height': SPRITE.height, 'y': -SPRITE_TOP, 'clip-path': 'url(#blocklyTrashBodyClipPath' + rnd + ')', }, this.svgGroup_); body.setAttributeNS( dom.XLINK_NS, 'xlink:href', - this.workspace_.options.pathToMedia + internalConstants.SPRITE.url); + this.workspace_.options.pathToMedia + SPRITE.url); clip = dom.createSvgElement( Svg.CLIPPATH, {'id': 'blocklyTrashLidClipPath' + rnd}, this.svgGroup_); @@ -242,16 +242,16 @@ class Trashcan extends DeleteArea { Svg.RECT, {'width': WIDTH, 'height': LID_HEIGHT}, clip); this.svgLid_ = dom.createSvgElement( Svg.IMAGE, { - 'width': internalConstants.SPRITE.width, + 'width': SPRITE.width, 'x': -SPRITE_LEFT, - 'height': internalConstants.SPRITE.height, + 'height': SPRITE.height, 'y': -SPRITE_TOP, 'clip-path': 'url(#blocklyTrashLidClipPath' + rnd + ')', }, this.svgGroup_); this.svgLid_.setAttributeNS( dom.XLINK_NS, 'xlink:href', - this.workspace_.options.pathToMedia + internalConstants.SPRITE.url); + this.workspace_.options.pathToMedia + SPRITE.url); // bindEventWithChecks_ quashes events too aggressively. See: // https://groups.google.com/forum/#!topic/blockly/QF4yB9Wx00s diff --git a/core/workspace_svg.js b/core/workspace_svg.js index e0ac9a4db24..28849b0c37e 100644 --- a/core/workspace_svg.js +++ b/core/workspace_svg.js @@ -32,7 +32,6 @@ const browserEvents = goog.require('Blockly.browserEvents'); const common = goog.require('Blockly.common'); const dom = goog.require('Blockly.utils.dom'); const eventUtils = goog.require('Blockly.Events.utils'); -const internalConstants = goog.require('Blockly.internalConstants'); const registry = goog.require('Blockly.registry'); const svgMath = goog.require('Blockly.utils.svgMath'); const toolbox = goog.require('Blockly.utils.toolbox'); @@ -47,6 +46,7 @@ const {BlocklyOptions} = goog.requireType('Blockly.BlocklyOptions'); const {Block} = goog.requireType('Blockly.Block'); const {Classic} = goog.require('Blockly.Themes.Classic'); const {ComponentManager} = goog.require('Blockly.ComponentManager'); +const {config} = goog.require('Blockly.config'); const {ConnectionDB} = goog.require('Blockly.ConnectionDB'); const {ContextMenuRegistry} = goog.require('Blockly.ContextMenuRegistry'); const {Coordinate} = goog.require('Blockly.utils.Coordinate'); @@ -1598,10 +1598,10 @@ class WorkspaceSvg extends Workspace { // Check for blocks in snap range to any of its connections. const connections = block.getConnections_(false); for (let i = 0, connection; (connection = connections[i]); i++) { - const neighbour = /** @type {!RenderedConnection} */ (connection) - .closest( - internalConstants.SNAP_RADIUS, - new Coordinate(blockX, blockY)); + const neighbour = + /** @type {!RenderedConnection} */ (connection) + .closest( + config.snapRadius, new Coordinate(blockX, blockY)); if (neighbour.connection) { collide = true; break; @@ -1610,11 +1610,11 @@ class WorkspaceSvg extends Workspace { } if (collide) { if (this.RTL) { - blockX -= internalConstants.SNAP_RADIUS; + blockX -= config.snapRadius; } else { - blockX += internalConstants.SNAP_RADIUS; + blockX += config.snapRadius; } - blockY += internalConstants.SNAP_RADIUS * 2; + blockY += config.snapRadius * 2; } } while (collide); block.moveTo(new Coordinate(blockX, blockY)); diff --git a/core/zoom_controls.js b/core/zoom_controls.js index 417d6518194..dc6f163a094 100644 --- a/core/zoom_controls.js +++ b/core/zoom_controls.js @@ -20,7 +20,7 @@ const Touch = goog.require('Blockly.Touch'); const browserEvents = goog.require('Blockly.browserEvents'); const dom = goog.require('Blockly.utils.dom'); const eventUtils = goog.require('Blockly.Events.utils'); -const internalConstants = goog.require('Blockly.internalConstants'); +const {SPRITE} = goog.require('Blockly.sprite'); const uiPosition = goog.require('Blockly.uiPosition'); const {ComponentManager} = goog.require('Blockly.ComponentManager'); /* eslint-disable-next-line no-unused-vars */ @@ -332,8 +332,8 @@ class ZoomControls { clip); const zoomoutSvg = dom.createSvgElement( Svg.IMAGE, { - 'width': internalConstants.SPRITE.width, - 'height': internalConstants.SPRITE.height, + 'width': SPRITE.width, + 'height': SPRITE.height, 'x': -64, 'y': -92, 'clip-path': 'url(#blocklyZoomoutClipPath' + rnd + ')', @@ -341,7 +341,7 @@ class ZoomControls { this.zoomOutGroup_); zoomoutSvg.setAttributeNS( dom.XLINK_NS, 'xlink:href', - this.workspace_.options.pathToMedia + internalConstants.SPRITE.url); + this.workspace_.options.pathToMedia + SPRITE.url); // Attach listener. this.onZoomOutWrapper_ = browserEvents.conditionalBind( @@ -377,8 +377,8 @@ class ZoomControls { clip); const zoominSvg = dom.createSvgElement( Svg.IMAGE, { - 'width': internalConstants.SPRITE.width, - 'height': internalConstants.SPRITE.height, + 'width': SPRITE.width, + 'height': SPRITE.height, 'x': -32, 'y': -92, 'clip-path': 'url(#blocklyZoominClipPath' + rnd + ')', @@ -386,7 +386,7 @@ class ZoomControls { this.zoomInGroup_); zoominSvg.setAttributeNS( dom.XLINK_NS, 'xlink:href', - this.workspace_.options.pathToMedia + internalConstants.SPRITE.url); + this.workspace_.options.pathToMedia + SPRITE.url); // Attach listener. this.onZoomInWrapper_ = browserEvents.conditionalBind( @@ -434,15 +434,15 @@ class ZoomControls { dom.createSvgElement(Svg.RECT, {'width': 32, 'height': 32}, clip); const zoomresetSvg = dom.createSvgElement( Svg.IMAGE, { - 'width': internalConstants.SPRITE.width, - 'height': internalConstants.SPRITE.height, + 'width': SPRITE.width, + 'height': SPRITE.height, 'y': -92, 'clip-path': 'url(#blocklyZoomresetClipPath' + rnd + ')', }, this.zoomResetGroup_); zoomresetSvg.setAttributeNS( dom.XLINK_NS, 'xlink:href', - this.workspace_.options.pathToMedia + internalConstants.SPRITE.url); + this.workspace_.options.pathToMedia + SPRITE.url); // Attach event listeners. this.onZoomResetWrapper_ = browserEvents.conditionalBind( diff --git a/scripts/gulpfiles/chunks.json b/scripts/gulpfiles/chunks.json index be0e54d8c2c..3c299828575 100644 --- a/scripts/gulpfiles/chunks.json +++ b/scripts/gulpfiles/chunks.json @@ -1,6 +1,6 @@ { "chunk": [ - "blockly:257", + "blockly:259", "all:10:blockly", "all1:11:blockly", "all2:11:blockly", @@ -64,18 +64,23 @@ "./core/utils/useragent.js", "./core/utils/svg.js", "./core/utils/dom.js", + "./core/utils/idgenerator.js", "./core/connection_checker.js", - "./core/keyboard_nav/ast_node.js", - "./core/keyboard_nav/cursor.js", - "./core/registry.js", + "./core/toolbox/separator.js", + "./core/toolbox/toolbox_item.js", + "./core/interfaces/i_selectable_toolbox_item.js", + "./core/interfaces/i_collapsible_toolbox_item.js", + "./core/toolbox/category.js", + "./core/serialization/exceptions.js", + "./core/interfaces/i_serializer.js", + "./core/serialization/registry.js", + "./core/serialization/priorities.js", + "./core/serialization/blocks.js", + "./core/utils/toolbox.js", "./core/utils/math.js", - "./core/utils/idgenerator.js", "./core/utils/array.js", "./core/workspace.js", - "./core/utils/object.js", "./core/events/events_block_delete.js", - "./core/toolbox/separator.js", - "./core/toolbox/toolbox_item.js", "./core/keyboard_nav/basic_cursor.js", "./core/keyboard_nav/tab_navigate_cursor.js", "./core/warning.js", @@ -106,6 +111,7 @@ "./core/workspace_comment_svg.js", "./core/workspace_audio.js", "./core/events/events_trashcan_open.js", + "./core/sprites.js", "./core/drag_target.js", "./core/delete_area.js", "./core/positionable_helpers.js", @@ -116,6 +122,7 @@ "./core/options.js", "./core/interfaces/i_bounded_element.js", "./core/grid.js", + "./core/css.js", "./core/flyout_button.js", "./core/contextmenu_registry.js", "./core/theme/classic.js", @@ -128,6 +135,7 @@ "./core/renderers/zelos/path_object.js", "./core/renderers/zelos/drawer.js", "./core/renderers/zelos/renderer.js", + "./core/utils/aria.js", "./core/field_textinput.js", "./core/field_image.js", "./core/renderers/zelos/constants.js", @@ -155,8 +163,11 @@ "./core/renderers/measurables/input_row.js", "./core/renderers/measurables/inline_input.js", "./core/scrollbar.js", + "./core/interfaces/i_toolbox_item.js", + "./core/interfaces/i_toolbox.js", "./core/utils/metrics.js", "./core/interfaces/i_metrics_manager.js", + "./core/interfaces/i_flyout.js", "./core/metrics_manager.js", "./core/interfaces/i_deletable.js", "./core/interfaces/i_draggable.js", @@ -186,14 +197,15 @@ "./core/events/events_var_delete.js", "./core/variable_map.js", "./core/names.js", - "./core/events/events_block_base.js", - "./core/events/events_block_change.js", "./core/events/events_ui_base.js", "./core/events/events_marker_move.js", "./core/renderers/common/marker_svg.js", "./core/keyboard_nav/marker.js", + "./core/keyboard_nav/ast_node.js", + "./core/keyboard_nav/cursor.js", "./core/marker_manager.js", "./core/field_label.js", + "./core/input_types.js", "./core/interfaces/i_registrable_field.js", "./core/field_registry.js", "./core/input.js", @@ -209,6 +221,7 @@ "./core/constants.js", "./core/interfaces/i_connection_checker.js", "./core/connection_db.js", + "./core/config.js", "./core/rendered_connection.js", "./core/utils/svg_paths.js", "./core/renderers/common/constants.js", @@ -216,35 +229,23 @@ "./core/procedures.js", "./core/workspace_svg.js", "./core/utils/rect.js", + "./core/utils/size.js", "./core/utils/coordinate.js", "./core/utils/style.js", + "./core/utils/deprecation.js", "./core/utils/svg_math.js", "./core/bubble_dragger.js", + "./core/connection_type.js", + "./core/internal_constants.js", "./core/block_animations.js", "./core/gesture.js", "./core/touch.js", "./core/browser_events.js", "./core/tooltip.js", "./core/block_svg.js", - "./core/interfaces/i_flyout.js", - "./core/interfaces/i_toolbox.js", - "./core/interfaces/i_toolbox_item.js", - "./core/interfaces/i_selectable_toolbox_item.js", - "./core/interfaces/i_collapsible_toolbox_item.js", - "./core/utils/aria.js", - "./core/utils/deprecation.js", - "./core/css.js", - "./core/toolbox/category.js", - "./core/input_types.js", - "./core/utils/size.js", - "./core/serialization/exceptions.js", - "./core/interfaces/i_serializer.js", - "./core/serialization/registry.js", - "./core/serialization/priorities.js", - "./core/serialization/blocks.js", - "./core/utils/toolbox.js", - "./core/connection_type.js", - "./core/internal_constants.js", + "./core/events/events_block_base.js", + "./core/events/events_block_change.js", + "./core/utils/xml.js", "./core/mutator.js", "./core/msg.js", "./core/utils/colour.js", @@ -252,14 +253,15 @@ "./core/extensions.js", "./core/block.js", "./core/utils/string.js", + "./core/utils/object.js", "./core/dialog.js", - "./core/utils/xml.js", "./core/events/events_var_base.js", "./core/events/events_var_create.js", "./core/variable_model.js", "./core/variables.js", "./core/utils/object.js", "./core/events/events_abstract.js", + "./core/registry.js", "./core/events/utils.js", "./core/xml.js", "./core/connection.js", diff --git a/scripts/migration/renamings.js b/scripts/migration/renamings.js index 688e8ba4a05..4c2c584ba0e 100644 --- a/scripts/migration/renamings.js +++ b/scripts/migration/renamings.js @@ -1011,6 +1011,39 @@ const renamings = { }, }, }, + '7.20211209.0': { + 'Blockly': { + exports: { + DRAG_RADIUS: { + module: 'Blockly.config', + export: 'config.dragRadius', + }, + FLYOUT_DRAG_RADIUS: { + module: 'Blockly.config', + export: 'config.flyoutDragRadius', + }, + SNAP_RADIUS: { + module: 'Blockly.config', + export: 'config.snapRadius', + }, + CONNECTING_SNAP_RADIUS: { + module: 'Blockly.config', + export: 'config.connectingSnapRadius', + }, + CURRENT_CONNECTION_PREFERENCE: { + module: 'Blockly.config', + export: 'config.currentConnectionPreference', + }, + BUMP_DELAY: { + module: 'Blockly.config', + export: 'config.bumpDelay', + }, + SPRITE: { + module: 'Blockly.constants', + }, + }, + }, + }, }; exports.renamings = renamings; diff --git a/tests/deps.js b/tests/deps.js index c8b90c28d26..df0e52f0820 100644 --- a/tests/deps.js +++ b/tests/deps.js @@ -4,7 +4,7 @@ goog.addDependency('../../blocks/lists.js', ['Blockly.blocks.lists'], ['Blockly. goog.addDependency('../../blocks/logic.js', ['Blockly.blocks.logic'], ['Blockly.Events', 'Blockly.Extensions', 'Blockly.FieldDropdown', 'Blockly.FieldLabel', 'Blockly.Msg', 'Blockly.Mutator', 'Blockly.common', 'Blockly.utils.xml'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../blocks/loops.js', ['Blockly.blocks.loops'], ['Blockly.ContextMenu', 'Blockly.Events', 'Blockly.Extensions', 'Blockly.FieldDropdown', 'Blockly.FieldLabel', 'Blockly.FieldNumber', 'Blockly.FieldVariable', 'Blockly.Msg', 'Blockly.Variables', 'Blockly.Warning', 'Blockly.common', 'Blockly.utils.xml'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../blocks/math.js', ['Blockly.blocks.math'], ['Blockly.Extensions', 'Blockly.FieldDropdown', 'Blockly.FieldLabel', 'Blockly.FieldNumber', 'Blockly.FieldVariable', 'Blockly.common', 'Blockly.utils.xml'], {'lang': 'es6', 'module': 'goog'}); -goog.addDependency('../../blocks/procedures.js', ['Blockly.blocks.procedures'], ['Blockly.Comment', 'Blockly.ContextMenu', 'Blockly.Events', 'Blockly.FieldCheckbox', 'Blockly.FieldLabel', 'Blockly.FieldTextInput', 'Blockly.Input', 'Blockly.Msg', 'Blockly.Mutator', 'Blockly.Names', 'Blockly.Procedures', 'Blockly.Variables', 'Blockly.Warning', 'Blockly.Xml', 'Blockly.common', 'Blockly.internalConstants', 'Blockly.utils.xml'], {'lang': 'es9', 'module': 'goog'}); +goog.addDependency('../../blocks/procedures.js', ['Blockly.blocks.procedures'], ['Blockly.Comment', 'Blockly.ContextMenu', 'Blockly.Events', 'Blockly.FieldCheckbox', 'Blockly.FieldLabel', 'Blockly.FieldTextInput', 'Blockly.Input', 'Blockly.Msg', 'Blockly.Mutator', 'Blockly.Names', 'Blockly.Procedures', 'Blockly.Variables', 'Blockly.Warning', 'Blockly.Xml', 'Blockly.common', 'Blockly.config', 'Blockly.utils.xml'], {'lang': 'es9', 'module': 'goog'}); goog.addDependency('../../blocks/text.js', ['Blockly.blocks.texts'], ['Blockly.ConnectionType', 'Blockly.Extensions', 'Blockly.FieldDropdown', 'Blockly.FieldImage', 'Blockly.FieldMultilineInput', 'Blockly.FieldTextInput', 'Blockly.FieldVariable', 'Blockly.Input', 'Blockly.Msg', 'Blockly.Mutator', 'Blockly.common', 'Blockly.utils.xml'], {'lang': 'es9', 'module': 'goog'}); goog.addDependency('../../blocks/variables.js', ['Blockly.blocks.variables'], ['Blockly.ContextMenu', 'Blockly.Extensions', 'Blockly.FieldLabel', 'Blockly.FieldVariable', 'Blockly.Msg', 'Blockly.Variables', 'Blockly.common', 'Blockly.utils.xml'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../blocks/variables_dynamic.js', ['Blockly.blocks.variablesDynamic'], ['Blockly.ContextMenu', 'Blockly.Extensions', 'Blockly.FieldLabel', 'Blockly.FieldVariable', 'Blockly.Msg', 'Blockly.Variables', 'Blockly.common', 'Blockly.utils.xml'], {'lang': 'es6', 'module': 'goog'}); @@ -12,8 +12,8 @@ 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.Coordinate', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.svgMath'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/block_dragger.js', ['Blockly.BlockDragger'], ['Blockly.Events.BlockDrag', 'Blockly.Events.BlockMove', 'Blockly.Events.utils', 'Blockly.IBlockDragger', 'Blockly.InsertionMarkerManager', 'Blockly.blockAnimations', 'Blockly.bumpObjects', '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.ConnectionType', 'Blockly.ContextMenu', 'Blockly.ContextMenuRegistry', 'Blockly.Events.BlockMove', 'Blockly.Events.Selected', 'Blockly.Events.utils', 'Blockly.FieldLabel', 'Blockly.IASTNodeLocationSvg', 'Blockly.IBoundedElement', 'Blockly.ICopyable', 'Blockly.IDraggable', 'Blockly.MarkerManager', 'Blockly.Msg', 'Blockly.RenderedConnection', 'Blockly.TabNavigateCursor', 'Blockly.Tooltip', 'Blockly.Touch', 'Blockly.blockAnimations', 'Blockly.browserEvents', 'Blockly.common', 'Blockly.constants', 'Blockly.internalConstants', 'Blockly.serialization.blocks', 'Blockly.utils.Coordinate', 'Blockly.utils.Rect', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.object', 'Blockly.utils.svgMath', 'Blockly.utils.userAgent'], {'lang': 'es6', 'module': 'goog'}); -goog.addDependency('../../core/blockly.js', ['Blockly'], ['Blockly.ASTNode', 'Blockly.BasicCursor', 'Blockly.Block', 'Blockly.BlockDragSurfaceSvg', 'Blockly.BlockDragger', 'Blockly.BlockSvg', 'Blockly.BlocklyOptions', 'Blockly.Bubble', 'Blockly.BubbleDragger', 'Blockly.CollapsibleToolboxCategory', 'Blockly.Comment', 'Blockly.ComponentManager', 'Blockly.Connection', 'Blockly.ConnectionChecker', 'Blockly.ConnectionDB', 'Blockly.ConnectionType', 'Blockly.ContextMenu', 'Blockly.ContextMenuItems', 'Blockly.ContextMenuRegistry', 'Blockly.Css', 'Blockly.Cursor', 'Blockly.DeleteArea', 'Blockly.DragTarget', 'Blockly.DropDownDiv', 'Blockly.Events', 'Blockly.Events.BlockCreate', 'Blockly.Events.FinishedLoading', 'Blockly.Events.Ui', 'Blockly.Events.UiBase', 'Blockly.Events.VarCreate', 'Blockly.Extensions', 'Blockly.Field', 'Blockly.FieldAngle', 'Blockly.FieldCheckbox', 'Blockly.FieldColour', 'Blockly.FieldDropdown', 'Blockly.FieldImage', 'Blockly.FieldLabel', 'Blockly.FieldLabelSerializable', 'Blockly.FieldMultilineInput', 'Blockly.FieldNumber', 'Blockly.FieldTextInput', 'Blockly.FieldVariable', 'Blockly.Flyout', 'Blockly.FlyoutButton', 'Blockly.FlyoutMetricsManager', 'Blockly.Generator', 'Blockly.Gesture', 'Blockly.Grid', 'Blockly.HorizontalFlyout', 'Blockly.IASTNodeLocation', 'Blockly.IASTNodeLocationSvg', 'Blockly.IASTNodeLocationWithBlock', 'Blockly.IAutoHideable', 'Blockly.IBlockDragger', 'Blockly.IBoundedElement', 'Blockly.IBubble', 'Blockly.ICollapsibleToolboxItem', 'Blockly.IComponent', 'Blockly.IConnectionChecker', 'Blockly.IContextMenu', 'Blockly.ICopyable', 'Blockly.IDeletable', 'Blockly.IDeleteArea', 'Blockly.IDragTarget', 'Blockly.IDraggable', 'Blockly.IFlyout', 'Blockly.IKeyboardAccessible', 'Blockly.IMetricsManager', 'Blockly.IMovable', 'Blockly.IPositionable', 'Blockly.IRegistrable', 'Blockly.IRegistrableField', 'Blockly.ISelectable', 'Blockly.ISelectableToolboxItem', 'Blockly.IStyleable', 'Blockly.IToolbox', 'Blockly.IToolboxItem', 'Blockly.Icon', 'Blockly.Input', 'Blockly.InsertionMarkerManager', 'Blockly.Marker', 'Blockly.MarkerManager', 'Blockly.Menu', 'Blockly.MenuItem', 'Blockly.MetricsManager', 'Blockly.Msg', 'Blockly.Mutator', 'Blockly.Names', 'Blockly.Options', 'Blockly.Procedures', 'Blockly.RenderedConnection', 'Blockly.Scrollbar', 'Blockly.ScrollbarPair', 'Blockly.ShortcutItems', 'Blockly.ShortcutRegistry', 'Blockly.TabNavigateCursor', 'Blockly.Theme', 'Blockly.ThemeManager', 'Blockly.Themes', 'Blockly.Toolbox', 'Blockly.ToolboxCategory', 'Blockly.ToolboxItem', 'Blockly.ToolboxSeparator', 'Blockly.Tooltip', 'Blockly.Touch', 'Blockly.TouchGesture', 'Blockly.Trashcan', 'Blockly.VariableMap', 'Blockly.VariableModel', 'Blockly.Variables', 'Blockly.VariablesDynamic', 'Blockly.VerticalFlyout', 'Blockly.Warning', 'Blockly.WidgetDiv', 'Blockly.Workspace', 'Blockly.WorkspaceAudio', 'Blockly.WorkspaceComment', 'Blockly.WorkspaceCommentSvg', 'Blockly.WorkspaceDragSurfaceSvg', 'Blockly.WorkspaceDragger', 'Blockly.WorkspaceSvg', 'Blockly.Xml', 'Blockly.ZoomControls', 'Blockly.blockAnimations', 'Blockly.blockRendering', 'Blockly.blocks', 'Blockly.browserEvents', 'Blockly.bumpObjects', 'Blockly.clipboard', 'Blockly.common', 'Blockly.constants', 'Blockly.dialog', 'Blockly.fieldRegistry', 'Blockly.geras', 'Blockly.inject', 'Blockly.inputTypes', 'Blockly.internalConstants', 'Blockly.minimalist', 'Blockly.registry', 'Blockly.serialization.ISerializer', 'Blockly.serialization.blocks', 'Blockly.serialization.exceptions', 'Blockly.serialization.priorities', 'Blockly.serialization.registry', 'Blockly.serialization.variables', 'Blockly.serialization.workspaces', 'Blockly.thrasos', 'Blockly.uiPosition', 'Blockly.utils', 'Blockly.utils.colour', 'Blockly.utils.deprecation', 'Blockly.utils.global', 'Blockly.utils.svgMath', 'Blockly.utils.toolbox', 'Blockly.zelos'], {'lang': 'es6', 'module': 'goog'}); +goog.addDependency('../../core/block_svg.js', ['Blockly.BlockSvg'], ['Blockly.ASTNode', 'Blockly.Block', 'Blockly.ConnectionType', 'Blockly.ContextMenu', 'Blockly.ContextMenuRegistry', 'Blockly.Events.BlockMove', 'Blockly.Events.Selected', 'Blockly.Events.utils', 'Blockly.FieldLabel', 'Blockly.IASTNodeLocationSvg', 'Blockly.IBoundedElement', 'Blockly.ICopyable', 'Blockly.IDraggable', 'Blockly.MarkerManager', 'Blockly.Msg', 'Blockly.RenderedConnection', 'Blockly.TabNavigateCursor', 'Blockly.Tooltip', 'Blockly.Touch', 'Blockly.blockAnimations', 'Blockly.browserEvents', 'Blockly.common', 'Blockly.config', 'Blockly.constants', 'Blockly.internalConstants', 'Blockly.serialization.blocks', 'Blockly.utils.Coordinate', 'Blockly.utils.Rect', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.object', 'Blockly.utils.svgMath', 'Blockly.utils.userAgent'], {'lang': 'es6', 'module': 'goog'}); +goog.addDependency('../../core/blockly.js', ['Blockly'], ['Blockly.ASTNode', 'Blockly.BasicCursor', 'Blockly.Block', 'Blockly.BlockDragSurfaceSvg', 'Blockly.BlockDragger', 'Blockly.BlockSvg', 'Blockly.BlocklyOptions', 'Blockly.Bubble', 'Blockly.BubbleDragger', 'Blockly.CollapsibleToolboxCategory', 'Blockly.Comment', 'Blockly.ComponentManager', 'Blockly.Connection', 'Blockly.ConnectionChecker', 'Blockly.ConnectionDB', 'Blockly.ConnectionType', 'Blockly.ContextMenu', 'Blockly.ContextMenuItems', 'Blockly.ContextMenuRegistry', 'Blockly.Css', 'Blockly.Cursor', 'Blockly.DeleteArea', 'Blockly.DragTarget', 'Blockly.DropDownDiv', 'Blockly.Events', 'Blockly.Events.BlockCreate', 'Blockly.Events.FinishedLoading', 'Blockly.Events.Ui', 'Blockly.Events.UiBase', 'Blockly.Events.VarCreate', 'Blockly.Extensions', 'Blockly.Field', 'Blockly.FieldAngle', 'Blockly.FieldCheckbox', 'Blockly.FieldColour', 'Blockly.FieldDropdown', 'Blockly.FieldImage', 'Blockly.FieldLabel', 'Blockly.FieldLabelSerializable', 'Blockly.FieldMultilineInput', 'Blockly.FieldNumber', 'Blockly.FieldTextInput', 'Blockly.FieldVariable', 'Blockly.Flyout', 'Blockly.FlyoutButton', 'Blockly.FlyoutMetricsManager', 'Blockly.Generator', 'Blockly.Gesture', 'Blockly.Grid', 'Blockly.HorizontalFlyout', 'Blockly.IASTNodeLocation', 'Blockly.IASTNodeLocationSvg', 'Blockly.IASTNodeLocationWithBlock', 'Blockly.IAutoHideable', 'Blockly.IBlockDragger', 'Blockly.IBoundedElement', 'Blockly.IBubble', 'Blockly.ICollapsibleToolboxItem', 'Blockly.IComponent', 'Blockly.IConnectionChecker', 'Blockly.IContextMenu', 'Blockly.ICopyable', 'Blockly.IDeletable', 'Blockly.IDeleteArea', 'Blockly.IDragTarget', 'Blockly.IDraggable', 'Blockly.IFlyout', 'Blockly.IKeyboardAccessible', 'Blockly.IMetricsManager', 'Blockly.IMovable', 'Blockly.IPositionable', 'Blockly.IRegistrable', 'Blockly.IRegistrableField', 'Blockly.ISelectable', 'Blockly.ISelectableToolboxItem', 'Blockly.IStyleable', 'Blockly.IToolbox', 'Blockly.IToolboxItem', 'Blockly.Icon', 'Blockly.Input', 'Blockly.InsertionMarkerManager', 'Blockly.Marker', 'Blockly.MarkerManager', 'Blockly.Menu', 'Blockly.MenuItem', 'Blockly.MetricsManager', 'Blockly.Msg', 'Blockly.Mutator', 'Blockly.Names', 'Blockly.Options', 'Blockly.Procedures', 'Blockly.RenderedConnection', 'Blockly.Scrollbar', 'Blockly.ScrollbarPair', 'Blockly.ShortcutItems', 'Blockly.ShortcutRegistry', 'Blockly.TabNavigateCursor', 'Blockly.Theme', 'Blockly.ThemeManager', 'Blockly.Themes', 'Blockly.Toolbox', 'Blockly.ToolboxCategory', 'Blockly.ToolboxItem', 'Blockly.ToolboxSeparator', 'Blockly.Tooltip', 'Blockly.Touch', 'Blockly.TouchGesture', 'Blockly.Trashcan', 'Blockly.VariableMap', 'Blockly.VariableModel', 'Blockly.Variables', 'Blockly.VariablesDynamic', 'Blockly.VerticalFlyout', 'Blockly.Warning', 'Blockly.WidgetDiv', 'Blockly.Workspace', 'Blockly.WorkspaceAudio', 'Blockly.WorkspaceComment', 'Blockly.WorkspaceCommentSvg', 'Blockly.WorkspaceDragSurfaceSvg', 'Blockly.WorkspaceDragger', 'Blockly.WorkspaceSvg', 'Blockly.Xml', 'Blockly.ZoomControls', 'Blockly.blockAnimations', 'Blockly.blockRendering', 'Blockly.blocks', 'Blockly.browserEvents', 'Blockly.bumpObjects', 'Blockly.clipboard', 'Blockly.common', 'Blockly.config', 'Blockly.constants', 'Blockly.dialog', 'Blockly.fieldRegistry', 'Blockly.geras', 'Blockly.inject', 'Blockly.inputTypes', 'Blockly.internalConstants', 'Blockly.minimalist', 'Blockly.registry', 'Blockly.serialization.ISerializer', 'Blockly.serialization.blocks', 'Blockly.serialization.exceptions', 'Blockly.serialization.priorities', 'Blockly.serialization.registry', 'Blockly.serialization.variables', 'Blockly.serialization.workspaces', 'Blockly.thrasos', 'Blockly.uiPosition', 'Blockly.utils', 'Blockly.utils.colour', 'Blockly.utils.deprecation', 'Blockly.utils.global', 'Blockly.utils.svgMath', 'Blockly.utils.toolbox', 'Blockly.zelos'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/blockly_options.js', ['Blockly.BlocklyOptions'], [], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/blocks.js', ['Blockly.blocks'], [], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/browser_events.js', ['Blockly.browserEvents'], ['Blockly.Touch', 'Blockly.utils.global', 'Blockly.utils.userAgent'], {'lang': 'es6', 'module': 'goog'}); @@ -24,12 +24,13 @@ goog.addDependency('../../core/clipboard.js', ['Blockly.clipboard'], [], {'lang' goog.addDependency('../../core/comment.js', ['Blockly.Comment'], ['Blockly.Bubble', 'Blockly.Css', 'Blockly.Events.BlockChange', 'Blockly.Events.BubbleOpen', 'Blockly.Events.utils', 'Blockly.Icon', 'Blockly.Warning', 'Blockly.browserEvents', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.userAgent'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/common.js', ['Blockly.common'], ['Blockly.blocks'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/component_manager.js', ['Blockly.ComponentManager'], ['Blockly.utils.array'], {'lang': 'es6', 'module': 'goog'}); +goog.addDependency('../../core/config.js', ['Blockly.config'], [], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/connection.js', ['Blockly.Connection'], ['Blockly.ConnectionType', 'Blockly.Events.BlockMove', 'Blockly.Events.utils', 'Blockly.IASTNodeLocationWithBlock', 'Blockly.Xml', 'Blockly.constants', 'Blockly.serialization.blocks'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/connection_checker.js', ['Blockly.ConnectionChecker'], ['Blockly.Connection', 'Blockly.ConnectionType', 'Blockly.IConnectionChecker', 'Blockly.common', 'Blockly.internalConstants', 'Blockly.registry'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/connection_db.js', ['Blockly.ConnectionDB'], ['Blockly.ConnectionType', 'Blockly.constants'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/connection_type.js', ['Blockly.ConnectionType'], [], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/constants.js', ['Blockly.constants'], [], {'lang': 'es6', 'module': 'goog'}); -goog.addDependency('../../core/contextmenu.js', ['Blockly.ContextMenu'], ['Blockly.Events.BlockCreate', 'Blockly.Events.utils', 'Blockly.Menu', 'Blockly.MenuItem', 'Blockly.Msg', 'Blockly.WidgetDiv', 'Blockly.Xml', 'Blockly.browserEvents', 'Blockly.clipboard', 'Blockly.internalConstants', 'Blockly.utils.Coordinate', 'Blockly.utils.Rect', 'Blockly.utils.aria', 'Blockly.utils.deprecation', 'Blockly.utils.dom', 'Blockly.utils.svgMath', 'Blockly.utils.userAgent'], {'lang': 'es6', 'module': 'goog'}); +goog.addDependency('../../core/contextmenu.js', ['Blockly.ContextMenu'], ['Blockly.Events.BlockCreate', 'Blockly.Events.utils', 'Blockly.Menu', 'Blockly.MenuItem', 'Blockly.Msg', 'Blockly.WidgetDiv', 'Blockly.Xml', 'Blockly.browserEvents', 'Blockly.clipboard', 'Blockly.config', 'Blockly.utils.Coordinate', 'Blockly.utils.Rect', 'Blockly.utils.aria', 'Blockly.utils.deprecation', 'Blockly.utils.dom', 'Blockly.utils.svgMath', 'Blockly.utils.userAgent'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/contextmenu_items.js', ['Blockly.ContextMenuItems'], ['Blockly.ContextMenuRegistry', 'Blockly.Events', 'Blockly.Events.utils', 'Blockly.Msg', 'Blockly.clipboard', 'Blockly.dialog', 'Blockly.inputTypes', 'Blockly.utils.idGenerator', 'Blockly.utils.userAgent'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/contextmenu_registry.js', ['Blockly.ContextMenuRegistry'], [], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/css.js', ['Blockly.Css'], ['Blockly.utils.deprecation'], {'lang': 'es6', 'module': 'goog'}); @@ -86,13 +87,13 @@ goog.addDependency('../../core/flyout_horizontal.js', ['Blockly.HorizontalFlyout goog.addDependency('../../core/flyout_metrics_manager.js', ['Blockly.FlyoutMetricsManager'], ['Blockly.MetricsManager'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/flyout_vertical.js', ['Blockly.VerticalFlyout'], ['Blockly.Block', 'Blockly.DropDownDiv', 'Blockly.Flyout', 'Blockly.Scrollbar', 'Blockly.WidgetDiv', 'Blockly.browserEvents', 'Blockly.constants', 'Blockly.registry', 'Blockly.utils.Rect', 'Blockly.utils.toolbox'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/generator.js', ['Blockly.Generator'], ['Blockly.Names', 'Blockly.common', 'Blockly.utils.deprecation'], {'lang': 'es6', 'module': 'goog'}); -goog.addDependency('../../core/gesture.js', ['Blockly.Gesture'], ['Blockly.BlockDragger', 'Blockly.BubbleDragger', 'Blockly.Events.Click', 'Blockly.Events.utils', 'Blockly.Tooltip', 'Blockly.Touch', 'Blockly.Workspace', 'Blockly.WorkspaceDragger', 'Blockly.blockAnimations', 'Blockly.browserEvents', 'Blockly.common', 'Blockly.internalConstants', 'Blockly.registry', 'Blockly.utils.Coordinate'], {'lang': 'es6', 'module': 'goog'}); +goog.addDependency('../../core/gesture.js', ['Blockly.Gesture'], ['Blockly.BlockDragger', 'Blockly.BubbleDragger', 'Blockly.Events.Click', 'Blockly.Events.utils', 'Blockly.Tooltip', 'Blockly.Touch', 'Blockly.Workspace', 'Blockly.WorkspaceDragger', 'Blockly.blockAnimations', 'Blockly.browserEvents', 'Blockly.common', 'Blockly.config', 'Blockly.internalConstants', 'Blockly.registry', '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.Coordinate', 'Blockly.utils.Size', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.svgMath'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/inject.js', ['Blockly.inject'], ['Blockly.BlockDragSurfaceSvg', 'Blockly.Css', 'Blockly.DropDownDiv', 'Blockly.Grid', 'Blockly.Msg', 'Blockly.Options', 'Blockly.ScrollbarPair', 'Blockly.ShortcutRegistry', 'Blockly.Tooltip', 'Blockly.Touch', 'Blockly.WidgetDiv', 'Blockly.Workspace', 'Blockly.WorkspaceDragSurfaceSvg', 'Blockly.WorkspaceSvg', 'Blockly.browserEvents', 'Blockly.bumpObjects', 'Blockly.common', 'Blockly.utils.Svg', 'Blockly.utils.aria', 'Blockly.utils.dom', 'Blockly.utils.userAgent'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/input.js', ['Blockly.Input'], ['Blockly.FieldLabel', 'Blockly.fieldRegistry', 'Blockly.inputTypes'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/input_types.js', ['Blockly.inputTypes'], ['Blockly.ConnectionType'], {'lang': 'es6', 'module': 'goog'}); -goog.addDependency('../../core/insertion_marker_manager.js', ['Blockly.InsertionMarkerManager'], ['Blockly.ComponentManager', 'Blockly.ConnectionType', 'Blockly.Events.utils', 'Blockly.blockAnimations', 'Blockly.common', 'Blockly.constants', 'Blockly.internalConstants'], {'lang': 'es6', 'module': 'goog'}); +goog.addDependency('../../core/insertion_marker_manager.js', ['Blockly.InsertionMarkerManager'], ['Blockly.ComponentManager', 'Blockly.ConnectionType', 'Blockly.Events.utils', 'Blockly.blockAnimations', 'Blockly.common', 'Blockly.config', 'Blockly.constants'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/interfaces/i_ast_node_location.js', ['Blockly.IASTNodeLocation'], [], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/interfaces/i_ast_node_location_svg.js', ['Blockly.IASTNodeLocationSvg'], ['Blockly.IASTNodeLocation'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/interfaces/i_ast_node_location_with_block.js', ['Blockly.IASTNodeLocationWithBlock'], ['Blockly.IASTNodeLocation'], {'lang': 'es6', 'module': 'goog'}); @@ -133,13 +134,13 @@ goog.addDependency('../../core/menu.js', ['Blockly.Menu'], ['Blockly.browserEven goog.addDependency('../../core/menuitem.js', ['Blockly.MenuItem'], ['Blockly.utils.aria', 'Blockly.utils.dom', 'Blockly.utils.idGenerator'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/metrics_manager.js', ['Blockly.MetricsManager'], ['Blockly.IMetricsManager', 'Blockly.registry', 'Blockly.utils.Size', 'Blockly.utils.toolbox'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/msg.js', ['Blockly.Msg'], [], {'lang': 'es6', 'module': 'goog'}); -goog.addDependency('../../core/mutator.js', ['Blockly.Mutator'], ['Blockly.Bubble', 'Blockly.Events.BlockChange', 'Blockly.Events.BubbleOpen', 'Blockly.Events.utils', 'Blockly.Icon', 'Blockly.Options', 'Blockly.WorkspaceSvg', 'Blockly.internalConstants', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.toolbox', 'Blockly.utils.xml'], {'lang': 'es6', 'module': 'goog'}); +goog.addDependency('../../core/mutator.js', ['Blockly.Mutator'], ['Blockly.Bubble', 'Blockly.Events.BlockChange', 'Blockly.Events.BubbleOpen', 'Blockly.Events.utils', 'Blockly.Icon', 'Blockly.Options', 'Blockly.WorkspaceSvg', 'Blockly.config', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.toolbox', 'Blockly.utils.xml'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/names.js', ['Blockly.Names'], ['Blockly.Msg', 'Blockly.Variables'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/options.js', ['Blockly.Options'], ['Blockly.Theme', 'Blockly.Themes.Classic', 'Blockly.registry', 'Blockly.utils.idGenerator', 'Blockly.utils.toolbox'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/positionable_helpers.js', ['Blockly.uiPosition'], ['Blockly.Scrollbar', 'Blockly.utils.Rect', 'Blockly.utils.toolbox'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/procedures.js', ['Blockly.Procedures'], ['Blockly.Events.BlockChange', 'Blockly.Events.utils', 'Blockly.Msg', 'Blockly.Names', 'Blockly.Variables', 'Blockly.Workspace', 'Blockly.Xml', 'Blockly.blocks', 'Blockly.utils.xml'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/registry.js', ['Blockly.registry'], [], {'lang': 'es6', 'module': 'goog'}); -goog.addDependency('../../core/rendered_connection.js', ['Blockly.RenderedConnection'], ['Blockly.Connection', 'Blockly.ConnectionType', 'Blockly.Events.utils', 'Blockly.common', 'Blockly.internalConstants', 'Blockly.utils.Coordinate', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.svgMath', 'Blockly.utils.svgPaths'], {'lang': 'es6', 'module': 'goog'}); +goog.addDependency('../../core/rendered_connection.js', ['Blockly.RenderedConnection'], ['Blockly.Connection', 'Blockly.ConnectionType', 'Blockly.Events.utils', 'Blockly.common', 'Blockly.config', 'Blockly.internalConstants', 'Blockly.utils.Coordinate', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.svgMath', 'Blockly.utils.svgPaths'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/renderers/common/block_rendering.js', ['Blockly.blockRendering'], ['Blockly.blockRendering.BottomRow', 'Blockly.blockRendering.Connection', 'Blockly.blockRendering.ConstantProvider', 'Blockly.blockRendering.Debug', 'Blockly.blockRendering.Drawer', 'Blockly.blockRendering.ExternalValueInput', 'Blockly.blockRendering.Field', 'Blockly.blockRendering.Hat', 'Blockly.blockRendering.IPathObject', 'Blockly.blockRendering.Icon', 'Blockly.blockRendering.InRowSpacer', 'Blockly.blockRendering.InlineInput', 'Blockly.blockRendering.InputConnection', 'Blockly.blockRendering.InputRow', 'Blockly.blockRendering.JaggedEdge', 'Blockly.blockRendering.MarkerSvg', 'Blockly.blockRendering.Measurable', 'Blockly.blockRendering.NextConnection', 'Blockly.blockRendering.OutputConnection', 'Blockly.blockRendering.PathObject', 'Blockly.blockRendering.PreviousConnection', 'Blockly.blockRendering.RenderInfo', 'Blockly.blockRendering.Renderer', 'Blockly.blockRendering.RoundCorner', 'Blockly.blockRendering.Row', 'Blockly.blockRendering.SpacerRow', 'Blockly.blockRendering.SquareCorner', 'Blockly.blockRendering.StatementInput', 'Blockly.blockRendering.TopRow', 'Blockly.blockRendering.Types', 'Blockly.blockRendering.debug', 'Blockly.registry', 'Blockly.utils.deprecation'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/renderers/common/constants.js', ['Blockly.blockRendering.ConstantProvider'], ['Blockly.ConnectionType', 'Blockly.utils.Svg', 'Blockly.utils.colour', 'Blockly.utils.dom', 'Blockly.utils.object', 'Blockly.utils.parsing', 'Blockly.utils.svgPaths', 'Blockly.utils.userAgent'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/renderers/common/debug.js', ['Blockly.blockRendering.debug'], [], {'lang': 'es6', 'module': 'goog'}); @@ -211,6 +212,7 @@ goog.addDependency('../../core/serialization/variables.js', ['Blockly.serializat goog.addDependency('../../core/serialization/workspaces.js', ['Blockly.serialization.workspaces'], ['Blockly.Events.utils', 'Blockly.Workspace', 'Blockly.registry', 'Blockly.utils.dom'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/shortcut_items.js', ['Blockly.ShortcutItems'], ['Blockly.Gesture', 'Blockly.ShortcutRegistry', 'Blockly.clipboard', 'Blockly.common', 'Blockly.utils.KeyCodes'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/shortcut_registry.js', ['Blockly.ShortcutRegistry'], ['Blockly.utils.KeyCodes', 'Blockly.utils.object'], {'lang': 'es6', 'module': 'goog'}); +goog.addDependency('../../core/sprites.js', ['Blockly.sprite'], [], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/theme.js', ['Blockly.Theme'], ['Blockly.registry', 'Blockly.utils.object'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/theme/classic.js', ['Blockly.Themes.Classic'], ['Blockly.Theme'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/theme/themes.js', ['Blockly.Themes'], ['Blockly.Themes.Classic', 'Blockly.Themes.Zelos'], {'lang': 'es6', 'module': 'goog'}); @@ -224,7 +226,7 @@ goog.addDependency('../../core/toolbox/toolbox_item.js', ['Blockly.ToolboxItem'] goog.addDependency('../../core/tooltip.js', ['Blockly.Tooltip'], ['Blockly.browserEvents', 'Blockly.common', 'Blockly.utils.deprecation', 'Blockly.utils.string'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/touch.js', ['Blockly.Touch'], ['Blockly.utils.global', 'Blockly.utils.string'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/touch_gesture.js', ['Blockly.TouchGesture'], ['Blockly.Gesture', 'Blockly.Touch', 'Blockly.browserEvents', 'Blockly.utils.Coordinate'], {'lang': 'es6', 'module': 'goog'}); -goog.addDependency('../../core/trashcan.js', ['Blockly.Trashcan'], ['Blockly.ComponentManager', 'Blockly.DeleteArea', 'Blockly.Events.TrashcanOpen', 'Blockly.Events.utils', 'Blockly.IAutoHideable', 'Blockly.IPositionable', 'Blockly.Options', 'Blockly.browserEvents', 'Blockly.internalConstants', 'Blockly.registry', 'Blockly.uiPosition', 'Blockly.utils.Rect', 'Blockly.utils.Size', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.toolbox'], {'lang': 'es6', 'module': 'goog'}); +goog.addDependency('../../core/trashcan.js', ['Blockly.Trashcan'], ['Blockly.ComponentManager', 'Blockly.DeleteArea', 'Blockly.Events.TrashcanOpen', 'Blockly.Events.utils', 'Blockly.IAutoHideable', 'Blockly.IPositionable', 'Blockly.Options', 'Blockly.browserEvents', 'Blockly.registry', 'Blockly.sprite', 'Blockly.uiPosition', 'Blockly.utils.Rect', 'Blockly.utils.Size', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.toolbox'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/utils.js', ['Blockly.utils'], ['Blockly.Extensions', 'Blockly.browserEvents', 'Blockly.common', 'Blockly.utils.Coordinate', 'Blockly.utils.KeyCodes', 'Blockly.utils.Metrics', 'Blockly.utils.Rect', 'Blockly.utils.Size', 'Blockly.utils.Svg', 'Blockly.utils.aria', 'Blockly.utils.array', 'Blockly.utils.colour', 'Blockly.utils.deprecation', 'Blockly.utils.dom', 'Blockly.utils.global', 'Blockly.utils.idGenerator', 'Blockly.utils.math', 'Blockly.utils.object', 'Blockly.utils.parsing', 'Blockly.utils.string', 'Blockly.utils.style', 'Blockly.utils.svgMath', 'Blockly.utils.svgPaths', 'Blockly.utils.toolbox', 'Blockly.utils.userAgent', 'Blockly.utils.xml'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/utils/aria.js', ['Blockly.utils.aria'], [], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/utils/array.js', ['Blockly.utils.array'], [], {'lang': 'es6', 'module': 'goog'}); @@ -261,9 +263,9 @@ goog.addDependency('../../core/workspace_comment.js', ['Blockly.WorkspaceComment goog.addDependency('../../core/workspace_comment_svg.js', ['Blockly.WorkspaceCommentSvg'], ['Blockly.ContextMenu', 'Blockly.Css', 'Blockly.Events.CommentCreate', 'Blockly.Events.CommentDelete', 'Blockly.Events.CommentMove', 'Blockly.Events.Selected', 'Blockly.Events.utils', 'Blockly.IBoundedElement', 'Blockly.IBubble', 'Blockly.ICopyable', 'Blockly.Touch', 'Blockly.WorkspaceComment', 'Blockly.browserEvents', 'Blockly.common', 'Blockly.utils.Coordinate', 'Blockly.utils.Rect', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.svgMath'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/workspace_drag_surface_svg.js', ['Blockly.WorkspaceDragSurfaceSvg'], ['Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.svgMath'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/workspace_dragger.js', ['Blockly.WorkspaceDragger'], ['Blockly.common', 'Blockly.utils.Coordinate'], {'lang': 'es6', 'module': 'goog'}); -goog.addDependency('../../core/workspace_svg.js', ['Blockly.WorkspaceSvg'], ['Blockly.BlockSvg', 'Blockly.ComponentManager', 'Blockly.ConnectionDB', 'Blockly.ContextMenu', 'Blockly.ContextMenuRegistry', 'Blockly.DropDownDiv', 'Blockly.Events.BlockCreate', 'Blockly.Events.ThemeChange', 'Blockly.Events.ViewportChange', 'Blockly.Events.utils', 'Blockly.Gesture', 'Blockly.Grid', 'Blockly.IASTNodeLocationSvg', 'Blockly.MarkerManager', 'Blockly.MetricsManager', 'Blockly.Msg', 'Blockly.Options', 'Blockly.ThemeManager', 'Blockly.Themes.Classic', 'Blockly.Tooltip', 'Blockly.TouchGesture', 'Blockly.WidgetDiv', 'Blockly.Workspace', 'Blockly.WorkspaceAudio', 'Blockly.Xml', 'Blockly.blockRendering', 'Blockly.browserEvents', 'Blockly.common', 'Blockly.internalConstants', 'Blockly.registry', 'Blockly.serialization.blocks', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Rect', 'Blockly.utils.Size', 'Blockly.utils.Svg', 'Blockly.utils.array', 'Blockly.utils.dom', 'Blockly.utils.svgMath', 'Blockly.utils.toolbox', 'Blockly.utils.userAgent'], {'lang': 'es6', 'module': 'goog'}); +goog.addDependency('../../core/workspace_svg.js', ['Blockly.WorkspaceSvg'], ['Blockly.BlockSvg', 'Blockly.ComponentManager', 'Blockly.ConnectionDB', 'Blockly.ContextMenu', 'Blockly.ContextMenuRegistry', 'Blockly.DropDownDiv', 'Blockly.Events.BlockCreate', 'Blockly.Events.ThemeChange', 'Blockly.Events.ViewportChange', 'Blockly.Events.utils', 'Blockly.Gesture', 'Blockly.Grid', 'Blockly.IASTNodeLocationSvg', 'Blockly.MarkerManager', 'Blockly.MetricsManager', 'Blockly.Msg', 'Blockly.Options', 'Blockly.ThemeManager', 'Blockly.Themes.Classic', 'Blockly.Tooltip', 'Blockly.TouchGesture', 'Blockly.WidgetDiv', 'Blockly.Workspace', 'Blockly.WorkspaceAudio', 'Blockly.Xml', 'Blockly.blockRendering', 'Blockly.browserEvents', 'Blockly.common', 'Blockly.config', 'Blockly.registry', 'Blockly.serialization.blocks', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Rect', 'Blockly.utils.Size', 'Blockly.utils.Svg', 'Blockly.utils.array', 'Blockly.utils.dom', 'Blockly.utils.svgMath', 'Blockly.utils.toolbox', 'Blockly.utils.userAgent'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/xml.js', ['Blockly.Xml'], ['Blockly.Events.utils', 'Blockly.inputTypes', 'Blockly.utils.Size', 'Blockly.utils.dom', 'Blockly.utils.xml'], {'lang': 'es6', 'module': 'goog'}); -goog.addDependency('../../core/zoom_controls.js', ['Blockly.ZoomControls'], ['Blockly.ComponentManager', 'Blockly.Css', 'Blockly.Events.Click', 'Blockly.Events.utils', 'Blockly.IPositionable', 'Blockly.Touch', 'Blockly.browserEvents', 'Blockly.internalConstants', 'Blockly.uiPosition', 'Blockly.utils.Rect', 'Blockly.utils.Size', 'Blockly.utils.Svg', 'Blockly.utils.dom'], {'lang': 'es6', 'module': 'goog'}); +goog.addDependency('../../core/zoom_controls.js', ['Blockly.ZoomControls'], ['Blockly.ComponentManager', 'Blockly.Css', 'Blockly.Events.Click', 'Blockly.Events.utils', 'Blockly.IPositionable', 'Blockly.Touch', 'Blockly.browserEvents', 'Blockly.sprite', 'Blockly.uiPosition', 'Blockly.utils.Rect', 'Blockly.utils.Size', 'Blockly.utils.Svg', 'Blockly.utils.dom'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../generators/dart.js', ['Blockly.Dart'], ['Blockly.Generator', 'Blockly.Names', 'Blockly.Variables', 'Blockly.inputTypes', 'Blockly.utils.string'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../generators/dart/all.js', ['Blockly.Dart.all'], ['Blockly.Dart.colour', 'Blockly.Dart.lists', 'Blockly.Dart.logic', 'Blockly.Dart.loops', 'Blockly.Dart.math', 'Blockly.Dart.procedures', 'Blockly.Dart.texts', 'Blockly.Dart.variables', 'Blockly.Dart.variablesDynamic'], {'module': 'goog'}); goog.addDependency('../../generators/dart/colour.js', ['Blockly.Dart.colour'], ['Blockly.Dart'], {'lang': 'es6', 'module': 'goog'});