From 228ecb0f2d20b783030dc608cf8392986f78e470 Mon Sep 17 00:00:00 2001 From: Aaron Dodson Date: Wed, 11 Aug 2021 08:30:05 -0700 Subject: [PATCH] Migrate core/renderers/geras/renderer.js to goog.module syntax (#5307) * Migrate core/renderers/geras/renderer.js to goog.module * Migrate core/renderers/geras/renderer.js to named requires * clang-format core/renderers/geras/renderer.js --- core/renderers/geras/renderer.js | 109 ++++++++++++++++--------------- tests/deps.js | 2 +- 2 files changed, 58 insertions(+), 53 deletions(-) diff --git a/core/renderers/geras/renderer.js b/core/renderers/geras/renderer.js index 659cb42b6..7c505e8c8 100644 --- a/core/renderers/geras/renderer.js +++ b/core/renderers/geras/renderer.js @@ -10,21 +10,25 @@ */ 'use strict'; -goog.provide('Blockly.geras.Renderer'); +goog.module('Blockly.geras.Renderer'); +goog.module.declareLegacyNamespace(); -goog.require('Blockly.blockRendering'); -goog.require('Blockly.blockRendering.Renderer'); -goog.require('Blockly.geras.ConstantProvider'); -goog.require('Blockly.geras.Drawer'); -goog.require('Blockly.geras.HighlightConstantProvider'); -goog.require('Blockly.geras.PathObject'); -goog.require('Blockly.geras.RenderInfo'); -goog.require('Blockly.utils.object'); - -goog.requireType('Blockly.blockRendering.ConstantProvider'); -goog.requireType('Blockly.blockRendering.RenderInfo'); -goog.requireType('Blockly.BlockSvg'); -goog.requireType('Blockly.Theme'); +const BaseRenderer = goog.require('Blockly.blockRendering.Renderer'); +/* eslint-disable-next-line no-unused-vars */ +const BaseRenderInfo = goog.requireType('Blockly.blockRendering.RenderInfo'); +/* eslint-disable-next-line no-unused-vars */ +const BaseConstantProvider = goog.requireType('Blockly.blockRendering.ConstantProvider'); +/* eslint-disable-next-line no-unused-vars */ +const BlockSvg = goog.requireType('Blockly.BlockSvg'); +const ConstantProvider = goog.require('Blockly.geras.ConstantProvider'); +const Drawer = goog.require('Blockly.geras.Drawer'); +const HighlightConstantProvider = goog.require('Blockly.geras.HighlightConstantProvider'); +const PathObject = goog.require('Blockly.geras.PathObject'); +const RenderInfo = goog.require('Blockly.geras.RenderInfo'); +/* eslint-disable-next-line no-unused-vars */ +const Theme = goog.requireType('Blockly.Theme'); +const blockRendering = goog.require('Blockly.blockRendering'); +const object = goog.require('Blockly.utils.object'); /** @@ -32,20 +36,19 @@ goog.requireType('Blockly.Theme'); * @param {string} name The renderer name. * @package * @constructor - * @extends {Blockly.blockRendering.Renderer} + * @extends {BaseRenderer} */ -Blockly.geras.Renderer = function(name) { - Blockly.geras.Renderer.superClass_.constructor.call(this, name); +const Renderer = function(name) { + Renderer.superClass_.constructor.call(this, name); /** * The renderer's highlight constant provider. - * @type {Blockly.geras.HighlightConstantProvider} + * @type {HighlightConstantProvider} * @private */ this.highlightConstants_ = null; }; -Blockly.utils.object.inherits(Blockly.geras.Renderer, - Blockly.blockRendering.Renderer); +object.inherits(Renderer, BaseRenderer); /** * Initialize the renderer. Geras has a highlight provider in addition to @@ -53,10 +56,8 @@ Blockly.utils.object.inherits(Blockly.geras.Renderer, * @package * @override */ -Blockly.geras.Renderer.prototype.init = function(theme, - opt_rendererOverrides) { - Blockly.geras.Renderer.superClass_.init.call(this, theme, - opt_rendererOverrides); +Renderer.prototype.init = function(theme, opt_rendererOverrides) { + Renderer.superClass_.init.call(this, theme, opt_rendererOverrides); this.highlightConstants_ = this.makeHighlightConstants_(); this.highlightConstants_.init(); }; @@ -64,80 +65,84 @@ Blockly.geras.Renderer.prototype.init = function(theme, /** * @override */ -Blockly.geras.Renderer.prototype.refreshDom = function(svg, theme) { - Blockly.geras.Renderer.superClass_.refreshDom.call(this, svg, theme); +Renderer.prototype.refreshDom = function(svg, theme) { + Renderer.superClass_.refreshDom.call(this, svg, theme); this.getHighlightConstants().init(); }; /** * @override */ -Blockly.geras.Renderer.prototype.makeConstants_ = function() { - return new Blockly.geras.ConstantProvider(); +Renderer.prototype.makeConstants_ = function() { + return new ConstantProvider(); }; /** * Create a new instance of the renderer's render info object. - * @param {!Blockly.BlockSvg} block The block to measure. - * @return {!Blockly.geras.RenderInfo} The render info object. + * @param {!BlockSvg} block The block to measure. + * @return {!RenderInfo} The render info object. * @protected * @override */ -Blockly.geras.Renderer.prototype.makeRenderInfo_ = function(block) { - return new Blockly.geras.RenderInfo(this, block); +Renderer.prototype.makeRenderInfo_ = function(block) { + return new RenderInfo(this, block); }; /** * Create a new instance of the renderer's drawer. - * @param {!Blockly.BlockSvg} block The block to render. - * @param {!Blockly.blockRendering.RenderInfo} info An object containing all + * @param {!BlockSvg} block The block to render. + * @param {!BaseRenderInfo} info An object containing all * information needed to render this block. - * @return {!Blockly.geras.Drawer} The drawer. + * @return {!Drawer} The drawer. * @protected * @override */ -Blockly.geras.Renderer.prototype.makeDrawer_ = function(block, info) { - return new Blockly.geras.Drawer(block, - /** @type {!Blockly.geras.RenderInfo} */ (info)); +Renderer.prototype.makeDrawer_ = function(block, info) { + return new Drawer( + block, + /** @type {!RenderInfo} */ (info)); }; /** * Create a new instance of a renderer path object. * @param {!SVGElement} root The root SVG element. - * @param {!Blockly.Theme.BlockStyle} style The style object to use for + * @param {!Theme.BlockStyle} style The style object to use for * colouring. - * @return {!Blockly.geras.PathObject} The renderer path object. + * @return {!PathObject} The renderer path object. * @package * @override */ -Blockly.geras.Renderer.prototype.makePathObject = function(root, style) { - return new Blockly.geras.PathObject(root, style, - /** @type {!Blockly.geras.ConstantProvider} */ (this.getConstants())); +Renderer.prototype.makePathObject = function(root, style) { + return new PathObject( + root, style, + /** @type {!ConstantProvider} */ (this.getConstants())); }; /** * Create a new instance of the renderer's highlight constant provider. - * @return {!Blockly.geras.HighlightConstantProvider} The highlight constant + * @return {!HighlightConstantProvider} The highlight constant * provider. * @protected */ -Blockly.geras.Renderer.prototype.makeHighlightConstants_ = function() { - return new Blockly.geras.HighlightConstantProvider( - /** @type {!Blockly.blockRendering.ConstantProvider} */ +Renderer.prototype.makeHighlightConstants_ = function() { + return new HighlightConstantProvider( + /** @type {!BaseConstantProvider} */ (this.getConstants())); }; /** * Get the renderer's highlight constant provider. We assume that when this is * called, the renderer has already been initialized. - * @return {!Blockly.geras.HighlightConstantProvider} The highlight constant + * @return {!HighlightConstantProvider} The highlight constant * provider. * @package */ -Blockly.geras.Renderer.prototype.getHighlightConstants = function() { +Renderer.prototype.getHighlightConstants = function() { return ( - /** @type {!Blockly.geras.HighlightConstantProvider} */ - (this.highlightConstants_)); + /** @type {!HighlightConstantProvider} */ + (this.highlightConstants_)); }; -Blockly.blockRendering.register('geras', Blockly.geras.Renderer); +blockRendering.register('geras', Renderer); + +exports = Renderer; diff --git a/tests/deps.js b/tests/deps.js index fe3dc6e7b..0f257cd6f 100644 --- a/tests/deps.js +++ b/tests/deps.js @@ -145,7 +145,7 @@ goog.addDependency('../../core/renderers/geras/highlighter.js', ['Blockly.geras. goog.addDependency('../../core/renderers/geras/info.js', ['Blockly.geras.RenderInfo'], ['Blockly.blockRendering.ExternalValueInput', 'Blockly.blockRendering.InRowSpacer', 'Blockly.blockRendering.RenderInfo', 'Blockly.blockRendering.Types', 'Blockly.geras.InlineInput', 'Blockly.geras.StatementInput', 'Blockly.inputTypes', 'Blockly.utils.object'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/renderers/geras/measurables/inputs.js', ['Blockly.geras.InlineInput', 'Blockly.geras.StatementInput'], ['Blockly.blockRendering.InlineInput', 'Blockly.blockRendering.StatementInput', 'Blockly.utils.object']); goog.addDependency('../../core/renderers/geras/path_object.js', ['Blockly.geras.PathObject'], ['Blockly.blockRendering.PathObject', 'Blockly.utils.Svg', 'Blockly.utils.colour', 'Blockly.utils.dom', 'Blockly.utils.object'], {'lang': 'es6', 'module': 'goog'}); -goog.addDependency('../../core/renderers/geras/renderer.js', ['Blockly.geras.Renderer'], ['Blockly.blockRendering', 'Blockly.blockRendering.Renderer', 'Blockly.geras.ConstantProvider', 'Blockly.geras.Drawer', 'Blockly.geras.HighlightConstantProvider', 'Blockly.geras.PathObject', 'Blockly.geras.RenderInfo', 'Blockly.utils.object']); +goog.addDependency('../../core/renderers/geras/renderer.js', ['Blockly.geras.Renderer'], ['Blockly.blockRendering', 'Blockly.blockRendering.Renderer', 'Blockly.geras.ConstantProvider', 'Blockly.geras.Drawer', 'Blockly.geras.HighlightConstantProvider', 'Blockly.geras.PathObject', 'Blockly.geras.RenderInfo', 'Blockly.utils.object'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/renderers/measurables/base.js', ['Blockly.blockRendering.Measurable'], ['Blockly.blockRendering.Types'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/renderers/measurables/connections.js', ['Blockly.blockRendering.Connection', 'Blockly.blockRendering.NextConnection', 'Blockly.blockRendering.OutputConnection', 'Blockly.blockRendering.PreviousConnection'], ['Blockly.blockRendering.Measurable', 'Blockly.blockRendering.Types', 'Blockly.utils.object']); goog.addDependency('../../core/renderers/measurables/inputs.js', ['Blockly.blockRendering.ExternalValueInput', 'Blockly.blockRendering.InlineInput', 'Blockly.blockRendering.InputConnection', 'Blockly.blockRendering.StatementInput'], ['Blockly.blockRendering.Connection', 'Blockly.blockRendering.Types', 'Blockly.utils.object']);