diff --git a/core/variables_dynamic.js b/core/variables_dynamic.js index 630064eeb..e982d733e 100644 --- a/core/variables_dynamic.js +++ b/core/variables_dynamic.js @@ -11,92 +11,100 @@ */ 'use strict'; -goog.provide('Blockly.VariablesDynamic'); +goog.module('Blockly.VariablesDynamic'); +goog.module.declareLegacyNamespace(); -goog.require('Blockly.Blocks'); -goog.require('Blockly.Msg'); -goog.require('Blockly.utils.xml'); -goog.require('Blockly.VariableModel'); -goog.require('Blockly.Variables'); - -goog.requireType('Blockly.Workspace'); +const Blocks = goog.require('Blockly.Blocks'); +const Msg = goog.require('Blockly.Msg'); +const VariableModel = goog.require('Blockly.VariableModel'); +const Variables = goog.require('Blockly.Variables'); +/* eslint-disable-next-line no-unused-vars */ +const Workspace = goog.requireType('Blockly.Workspace'); +const xml = goog.require('Blockly.utils.xml'); -Blockly.VariablesDynamic.onCreateVariableButtonClick_String = function(button) { - Blockly.Variables.createVariableButtonHandler(button.getTargetWorkspace(), - undefined, 'String'); +const onCreateVariableButtonClick_String = function(button) { + Variables.createVariableButtonHandler( + button.getTargetWorkspace(), undefined, 'String'); }; -Blockly.VariablesDynamic.onCreateVariableButtonClick_Number = function(button) { - Blockly.Variables.createVariableButtonHandler(button.getTargetWorkspace(), - undefined, 'Number'); +exports.onCreateVariableButtonClick_String = onCreateVariableButtonClick_String; + +const onCreateVariableButtonClick_Number = function(button) { + Variables.createVariableButtonHandler( + button.getTargetWorkspace(), undefined, 'Number'); }; -Blockly.VariablesDynamic.onCreateVariableButtonClick_Colour = function(button) { - Blockly.Variables.createVariableButtonHandler(button.getTargetWorkspace(), - undefined, 'Colour'); +exports.onCreateVariableButtonClick_Number = onCreateVariableButtonClick_Number; + +const onCreateVariableButtonClick_Colour = function(button) { + Variables.createVariableButtonHandler( + button.getTargetWorkspace(), undefined, 'Colour'); }; +exports.onCreateVariableButtonClick_Colour = onCreateVariableButtonClick_Colour; + /** * Construct the elements (blocks and button) required by the flyout for the * variable category. - * @param {!Blockly.Workspace} workspace The workspace containing variables. + * @param {!Workspace} workspace The workspace containing variables. * @return {!Array} Array of XML elements. */ -Blockly.VariablesDynamic.flyoutCategory = function(workspace) { - var xmlList = []; - var button = document.createElement('button'); - button.setAttribute('text', Blockly.Msg['NEW_STRING_VARIABLE']); +const flyoutCategory = function(workspace) { + let xmlList = []; + let button = document.createElement('button'); + button.setAttribute('text', Msg['NEW_STRING_VARIABLE']); button.setAttribute('callbackKey', 'CREATE_VARIABLE_STRING'); xmlList.push(button); button = document.createElement('button'); - button.setAttribute('text', Blockly.Msg['NEW_NUMBER_VARIABLE']); + button.setAttribute('text', Msg['NEW_NUMBER_VARIABLE']); button.setAttribute('callbackKey', 'CREATE_VARIABLE_NUMBER'); xmlList.push(button); button = document.createElement('button'); - button.setAttribute('text', Blockly.Msg['NEW_COLOUR_VARIABLE']); + button.setAttribute('text', Msg['NEW_COLOUR_VARIABLE']); button.setAttribute('callbackKey', 'CREATE_VARIABLE_COLOUR'); xmlList.push(button); - workspace.registerButtonCallback('CREATE_VARIABLE_STRING', - Blockly.VariablesDynamic.onCreateVariableButtonClick_String); - workspace.registerButtonCallback('CREATE_VARIABLE_NUMBER', - Blockly.VariablesDynamic.onCreateVariableButtonClick_Number); - workspace.registerButtonCallback('CREATE_VARIABLE_COLOUR', - Blockly.VariablesDynamic.onCreateVariableButtonClick_Colour); + workspace.registerButtonCallback( + 'CREATE_VARIABLE_STRING', onCreateVariableButtonClick_String); + workspace.registerButtonCallback( + 'CREATE_VARIABLE_NUMBER', onCreateVariableButtonClick_Number); + workspace.registerButtonCallback( + 'CREATE_VARIABLE_COLOUR', onCreateVariableButtonClick_Colour); - var blockList = Blockly.VariablesDynamic.flyoutCategoryBlocks(workspace); + const blockList = flyoutCategoryBlocks(workspace); xmlList = xmlList.concat(blockList); return xmlList; }; +exports.flyoutCategory = flyoutCategory; /** * Construct the blocks required by the flyout for the variable category. - * @param {!Blockly.Workspace} workspace The workspace containing variables. + * @param {!Workspace} workspace The workspace containing variables. * @return {!Array} Array of XML block elements. */ -Blockly.VariablesDynamic.flyoutCategoryBlocks = function(workspace) { - var variableModelList = workspace.getAllVariables(); +const flyoutCategoryBlocks = function(workspace) { + const variableModelList = workspace.getAllVariables(); - var xmlList = []; + const xmlList = []; if (variableModelList.length > 0) { - if (Blockly.Blocks['variables_set_dynamic']) { - var firstVariable = variableModelList[variableModelList.length - 1]; - var block = Blockly.utils.xml.createElement('block'); + if (Blocks['variables_set_dynamic']) { + const firstVariable = variableModelList[variableModelList.length - 1]; + const block = xml.createElement('block'); block.setAttribute('type', 'variables_set_dynamic'); block.setAttribute('gap', 24); - block.appendChild( - Blockly.Variables.generateVariableFieldDom(firstVariable)); + block.appendChild(Variables.generateVariableFieldDom(firstVariable)); xmlList.push(block); } - if (Blockly.Blocks['variables_get_dynamic']) { - variableModelList.sort(Blockly.VariableModel.compareByName); - for (var i = 0, variable; (variable = variableModelList[i]); i++) { - var block = Blockly.utils.xml.createElement('block'); + if (Blocks['variables_get_dynamic']) { + variableModelList.sort(VariableModel.compareByName); + for (let i = 0, variable; (variable = variableModelList[i]); i++) { + const block = xml.createElement('block'); block.setAttribute('type', 'variables_get_dynamic'); block.setAttribute('gap', 8); - block.appendChild(Blockly.Variables.generateVariableFieldDom(variable)); + block.appendChild(Variables.generateVariableFieldDom(variable)); xmlList.push(block); } } } return xmlList; }; +exports.flyoutCategoryBlocks = flyoutCategoryBlocks; diff --git a/tests/deps.js b/tests/deps.js index da661dc44..c213988b6 100644 --- a/tests/deps.js +++ b/tests/deps.js @@ -200,7 +200,7 @@ goog.addDependency('../../core/utils/xml.js', ['Blockly.utils.xml'], []); goog.addDependency('../../core/variable_map.js', ['Blockly.VariableMap'], ['Blockly.Events', 'Blockly.Events.VarDelete', 'Blockly.Events.VarRename', 'Blockly.Msg', 'Blockly.Names', 'Blockly.VariableModel', 'Blockly.utils', 'Blockly.utils.object'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/variable_model.js', ['Blockly.VariableModel'], ['Blockly.Events', 'Blockly.Events.VarCreate', 'Blockly.utils'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/variables.js', ['Blockly.Variables'], ['Blockly.Blocks', 'Blockly.Msg', 'Blockly.VariableModel', 'Blockly.Xml', 'Blockly.internalConstants', 'Blockly.utils', 'Blockly.utils.xml']); -goog.addDependency('../../core/variables_dynamic.js', ['Blockly.VariablesDynamic'], ['Blockly.Blocks', 'Blockly.Msg', 'Blockly.VariableModel', 'Blockly.Variables', 'Blockly.utils.xml']); +goog.addDependency('../../core/variables_dynamic.js', ['Blockly.VariablesDynamic'], ['Blockly.Blocks', 'Blockly.Msg', 'Blockly.VariableModel', 'Blockly.Variables', 'Blockly.utils.xml'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/warning.js', ['Blockly.Warning'], ['Blockly.Bubble', 'Blockly.Events', 'Blockly.Events.BubbleOpen', 'Blockly.Icon', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.object'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/widgetdiv.js', ['Blockly.WidgetDiv'], ['Blockly.common', 'Blockly.utils.dom']); goog.addDependency('../../core/workspace.js', ['Blockly.Workspace'], ['Blockly.ConnectionChecker', 'Blockly.Events', 'Blockly.IASTNodeLocation', 'Blockly.Options', 'Blockly.VariableMap', 'Blockly.registry', 'Blockly.utils', 'Blockly.utils.math']);