From 4689c30634227e2d6da1294ea2475b5be2555d36 Mon Sep 17 00:00:00 2001 From: kozbial Date: Wed, 14 Jul 2021 18:02:05 -0700 Subject: [PATCH] Migrate core/block_drag_surface.js to goog.module --- core/block_drag_surface.js | 46 +++++++++++++++++++++----------------- tests/deps.js | 2 +- 2 files changed, 26 insertions(+), 22 deletions(-) diff --git a/core/block_drag_surface.js b/core/block_drag_surface.js index f1db819e8..f5bb42aea 100644 --- a/core/block_drag_surface.js +++ b/core/block_drag_surface.js @@ -15,7 +15,9 @@ 'use strict'; -goog.provide('Blockly.BlockDragSurfaceSvg'); +goog.module('Blockly.BlockDragSurfaceSvg'); +goog.module.declareLegacyNamespace(); + goog.require('Blockly.utils'); goog.require('Blockly.utils.Coordinate'); goog.require('Blockly.utils.dom'); @@ -28,7 +30,7 @@ goog.require('Blockly.utils.Svg'); * @param {!Element} container Containing element. * @constructor */ -Blockly.BlockDragSurfaceSvg = function(container) { +const BlockDragSurfaceSvg = function(container) { /** * @type {!Element} * @private @@ -38,11 +40,11 @@ Blockly.BlockDragSurfaceSvg = function(container) { }; /** - * The SVG drag surface. Set once by Blockly.BlockDragSurfaceSvg.createDom. + * The SVG drag surface. Set once by BlockDragSurfaceSvg.createDom. * @type {?SVGElement} * @private */ -Blockly.BlockDragSurfaceSvg.prototype.SVG_ = null; +BlockDragSurfaceSvg.prototype.SVG_ = null; /** * This is where blocks live while they are being dragged if the drag surface @@ -50,14 +52,14 @@ Blockly.BlockDragSurfaceSvg.prototype.SVG_ = null; * @type {?SVGElement} * @private */ -Blockly.BlockDragSurfaceSvg.prototype.dragGroup_ = null; +BlockDragSurfaceSvg.prototype.dragGroup_ = null; /** * Containing HTML element; parent of the workspace and the drag surface. * @type {?Element} * @private */ -Blockly.BlockDragSurfaceSvg.prototype.container_ = null; +BlockDragSurfaceSvg.prototype.container_ = null; /** * Cached value for the scale of the drag surface. @@ -65,7 +67,7 @@ Blockly.BlockDragSurfaceSvg.prototype.container_ = null; * @type {number} * @private */ -Blockly.BlockDragSurfaceSvg.prototype.scale_ = 1; +BlockDragSurfaceSvg.prototype.scale_ = 1; /** * Cached value for the translation of the drag surface. @@ -74,7 +76,7 @@ Blockly.BlockDragSurfaceSvg.prototype.scale_ = 1; * @type {?Blockly.utils.Coordinate} * @private */ -Blockly.BlockDragSurfaceSvg.prototype.surfaceXY_ = null; +BlockDragSurfaceSvg.prototype.surfaceXY_ = null; /** * Cached value for the translation of the child drag surface in pixel units. @@ -83,13 +85,13 @@ Blockly.BlockDragSurfaceSvg.prototype.surfaceXY_ = null; * @type {!Blockly.utils.Coordinate} * @private */ -Blockly.BlockDragSurfaceSvg.prototype.childSurfaceXY_ = +BlockDragSurfaceSvg.prototype.childSurfaceXY_ = new Blockly.utils.Coordinate(0, 0); /** * Create the drag surface and inject it into the container. */ -Blockly.BlockDragSurfaceSvg.prototype.createDom = function() { +BlockDragSurfaceSvg.prototype.createDom = function() { if (this.SVG_) { return; // Already created. } @@ -112,7 +114,7 @@ Blockly.BlockDragSurfaceSvg.prototype.createDom = function() { * @param {!SVGElement} blocks Block or group of blocks to place on the drag * surface. */ -Blockly.BlockDragSurfaceSvg.prototype.setBlocksAndShow = function(blocks) { +BlockDragSurfaceSvg.prototype.setBlocksAndShow = function(blocks) { if (this.dragGroup_.childNodes.length) { throw Error('Already dragging a block.'); } @@ -129,7 +131,7 @@ Blockly.BlockDragSurfaceSvg.prototype.setBlocksAndShow = function(blocks) { * @param {number} y Y translation in pixel coordinates. * @param {number} scale Scale of the group. */ -Blockly.BlockDragSurfaceSvg.prototype.translateAndScaleGroup = function( +BlockDragSurfaceSvg.prototype.translateAndScaleGroup = function( x, y, scale) { this.scale_ = scale; // This is a work-around to prevent a the blocks from rendering @@ -149,7 +151,7 @@ Blockly.BlockDragSurfaceSvg.prototype.translateAndScaleGroup = function( * Translate the drag surface's SVG based on its internal state. * @private */ -Blockly.BlockDragSurfaceSvg.prototype.translateSurfaceInternal_ = function() { +BlockDragSurfaceSvg.prototype.translateSurfaceInternal_ = function() { let x = this.surfaceXY_.x; let y = this.surfaceXY_.y; // This is a work-around to prevent a the blocks from rendering @@ -167,7 +169,7 @@ Blockly.BlockDragSurfaceSvg.prototype.translateSurfaceInternal_ = function() { * @param {number} deltaX Horizontal offset in pixel units. * @param {number} deltaY Vertical offset in pixel units. */ -Blockly.BlockDragSurfaceSvg.prototype.translateBy = function(deltaX, deltaY) { +BlockDragSurfaceSvg.prototype.translateBy = function(deltaX, deltaY) { const x = this.surfaceXY_.x + deltaX; const y = this.surfaceXY_.y + deltaY; this.surfaceXY_ = new Blockly.utils.Coordinate(x, y); @@ -182,7 +184,7 @@ Blockly.BlockDragSurfaceSvg.prototype.translateBy = function(deltaX, deltaY) { * @param {number} x X translation for the entire surface. * @param {number} y Y translation for the entire surface. */ -Blockly.BlockDragSurfaceSvg.prototype.translateSurface = function(x, y) { +BlockDragSurfaceSvg.prototype.translateSurface = function(x, y) { this.surfaceXY_ = new Blockly.utils.Coordinate(x * this.scale_, y * this.scale_); this.translateSurfaceInternal_(); @@ -193,7 +195,7 @@ Blockly.BlockDragSurfaceSvg.prototype.translateSurface = function(x, y) { * Use this when finishing a drag to return blocks to the correct position. * @return {!Blockly.utils.Coordinate} Current translation of the surface. */ -Blockly.BlockDragSurfaceSvg.prototype.getSurfaceTranslation = function() { +BlockDragSurfaceSvg.prototype.getSurfaceTranslation = function() { const xy = Blockly.utils.getRelativeXY(/** @type {!SVGElement} */ (this.SVG_)); return new Blockly.utils.Coordinate(xy.x / this.scale_, xy.y / this.scale_); @@ -204,7 +206,7 @@ Blockly.BlockDragSurfaceSvg.prototype.getSurfaceTranslation = function() { * BlockSvg.getRelativeToSurfaceXY). * @return {?SVGElement} Drag surface group element. */ -Blockly.BlockDragSurfaceSvg.prototype.getGroup = function() { +BlockDragSurfaceSvg.prototype.getGroup = function() { return this.dragGroup_; }; @@ -212,7 +214,7 @@ Blockly.BlockDragSurfaceSvg.prototype.getGroup = function() { * Returns the SVG drag surface. * @returns {?SVGElement} The SVG drag surface. */ -Blockly.BlockDragSurfaceSvg.prototype.getSvgRoot = function() { +BlockDragSurfaceSvg.prototype.getSvgRoot = function() { return this.SVG_; }; @@ -221,7 +223,7 @@ Blockly.BlockDragSurfaceSvg.prototype.getSvgRoot = function() { * for BlockSvg.getRelativeToSurfaceXY). * @return {?Element} Drag surface block DOM element, or null if no blocks exist. */ -Blockly.BlockDragSurfaceSvg.prototype.getCurrentBlock = function() { +BlockDragSurfaceSvg.prototype.getCurrentBlock = function() { return /** @type {Element} */ (this.dragGroup_.firstChild); }; @@ -231,7 +233,7 @@ Blockly.BlockDragSurfaceSvg.prototype.getCurrentBlock = function() { * moved. * @return {!Blockly.utils.Coordinate} The amount the workspace has been moved. */ -Blockly.BlockDragSurfaceSvg.prototype.getWsTranslation = function() { +BlockDragSurfaceSvg.prototype.getWsTranslation = function() { // Returning a copy so the coordinate can not be changed outside this class. return this.childSurfaceXY_.clone(); }; @@ -245,7 +247,7 @@ Blockly.BlockDragSurfaceSvg.prototype.getWsTranslation = function() { * to, or null if the blocks should be removed from this surface without * being moved to a different surface. */ -Blockly.BlockDragSurfaceSvg.prototype.clearAndHide = function(opt_newSurface) { +BlockDragSurfaceSvg.prototype.clearAndHide = function(opt_newSurface) { if (opt_newSurface) { // appendChild removes the node from this.dragGroup_ opt_newSurface.appendChild(this.getCurrentBlock()); @@ -258,3 +260,5 @@ Blockly.BlockDragSurfaceSvg.prototype.clearAndHide = function(opt_newSurface) { } this.surfaceXY_ = null; }; + +exports = BlockDragSurfaceSvg; diff --git a/tests/deps.js b/tests/deps.js index e83f61c67..2edd38475 100644 --- a/tests/deps.js +++ b/tests/deps.js @@ -9,7 +9,7 @@ goog.addDependency('../../blocks/variables.js', ['Blockly.Blocks.variables', 'Bl goog.addDependency('../../blocks/variables_dynamic.js', ['Blockly.Constants.VariablesDynamic'], ['Blockly', 'Blockly.Blocks', 'Blockly.FieldLabel', 'Blockly.FieldVariable']); 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']); -goog.addDependency('../../core/block_drag_surface.js', ['Blockly.BlockDragSurfaceSvg'], ['Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Svg', 'Blockly.utils.dom']); +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.constants', 'Blockly.registry', 'Blockly.utils.Coordinate', 'Blockly.utils.dom']); 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.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.connectionTypes', 'Blockly.constants', 'Blockly.inject', 'Blockly.inputTypes', 'Blockly.utils', 'Blockly.utils.Size', 'Blockly.utils.colour', 'Blockly.utils.deprecation', 'Blockly.utils.toolbox']);