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
This commit is contained in:
Aaron Dodson
2021-08-11 08:30:05 -07:00
committed by GitHub
parent 0f7f597758
commit 228ecb0f2d
2 changed files with 58 additions and 53 deletions

View File

@@ -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;

View File

@@ -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']);