Make mutator an optional module. (#3048)

This commit is contained in:
Neil Fraser
2019-09-19 11:39:55 -07:00
committed by GitHub
parent 97268e665b
commit 84a814cda1
9 changed files with 13 additions and 5 deletions

View File

@@ -36,6 +36,7 @@ goog.require('Blockly');
goog.require('Blockly.Blocks');
goog.require('Blockly.FieldDropdown');
goog.require('Blockly.FieldLabel');
goog.require('Blockly.Mutator');
/**

View File

@@ -36,6 +36,7 @@ goog.require('Blockly');
goog.require('Blockly.Blocks');
goog.require('Blockly.FieldDropdown');
goog.require('Blockly.FieldLabel');
goog.require('Blockly.Mutator');
/**

View File

@@ -31,6 +31,7 @@ goog.require('Blockly.Blocks');
goog.require('Blockly.FieldCheckbox');
goog.require('Blockly.FieldLabel');
goog.require('Blockly.FieldTextInput');
goog.require('Blockly.Mutator');
Blockly.Blocks['procedures_defnoreturn'] = {

View File

@@ -34,6 +34,7 @@ goog.require('Blockly.FieldImage');
goog.require('Blockly.FieldMultilineInput');
goog.require('Blockly.FieldTextInput');
goog.require('Blockly.FieldVariable');
goog.require('Blockly.Mutator');
/**

View File

@@ -257,6 +257,7 @@ goog.provide('Blockly.FieldMultilineInput');
goog.provide('Blockly.FieldNumber');
goog.provide('Blockly.FieldTextInput');
goog.provide('Blockly.FieldVariable');
goog.provide('Blockly.Mutator');
"""))
# Read in all the source files.
filenames = glob.glob(os.path.join("blocks", "*.js"))

View File

@@ -36,7 +36,6 @@ goog.require('Blockly.Events.BlockDelete');
goog.require('Blockly.Events.BlockMove');
goog.require('Blockly.Extensions');
goog.require('Blockly.Input');
goog.require('Blockly.Mutator');
goog.require('Blockly.utils');
goog.require('Blockly.utils.Coordinate');
goog.require('Blockly.utils.object');

View File

@@ -33,7 +33,6 @@
*/
goog.provide('Blockly.Extensions');
goog.require('Blockly.Mutator');
goog.require('Blockly.utils');
@@ -115,6 +114,9 @@ Blockly.Extensions.registerMutator = function(name, mixinObj, opt_helperFn,
// Sanity checks passed.
Blockly.Extensions.register(name, function() {
if (hasMutatorDialog) {
if (!Blockly.Mutator) {
throw Error(errorPrefix + 'Missing require for Blockly.Mutator');
}
this.setMutator(new Blockly.Mutator(opt_blockList));
}
// Mixin the object.

View File

@@ -29,6 +29,7 @@ goog.provide('Blockly.requires');
// Blockly Core.
goog.require('Blockly');
goog.require('Blockly.Mutator');
goog.require('Blockly.Trashcan');
goog.require('Blockly.ZoomControls');
// Blockly Fields.

View File

@@ -85,7 +85,7 @@ function prependHeader() {
/**
* Helper method for calling the Closure compiler.
* @param {*} compilerOptions
* @param {*} compilerOptions
* @param {boolean=} opt_verbose Optional option for verbose logging
*/
function compile(compilerOptions, opt_verbose) {
@@ -149,7 +149,8 @@ goog.provide('Blockly.FieldLabel');
goog.provide('Blockly.FieldMultilineInput');
goog.provide('Blockly.FieldNumber');
goog.provide('Blockly.FieldTextInput');
goog.provide('Blockly.FieldVariable');`;
goog.provide('Blockly.FieldVariable');
goog.provide('Blockly.Mutator');`;
return gulp.src('blocks/*.js', {base: './'})
// Add Blockly.Blocks to be compatible with the compiler.
.pipe(gulp.replace(`goog.provide('Blockly.Constants.Colour');`,
@@ -700,7 +701,7 @@ gulp.task('package-node-core', function() {
* A helper method for packaging a Blockly code generator into a UMD module.
* @param {string} file Source file name.
* @param {string} rename Destination file name.
* @param {string} generator Generator export namespace.
* @param {string} generator Generator export namespace.
*/
function packageGenerator(file, rename, generator) {
return gulp.src(file)