mirror of
https://github.com/google/blockly.git
synced 2026-01-14 12:27:10 +01:00
Merge branch 'goog_module' into field_colour
This commit is contained in:
@@ -18,7 +18,6 @@ goog.require('Blockly.blockAnimations');
|
||||
goog.require('Blockly.blockRendering.IPathObject');
|
||||
goog.require('Blockly.browserEvents');
|
||||
goog.require('Blockly.connectionTypes');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.ContextMenu');
|
||||
goog.require('Blockly.ContextMenuRegistry');
|
||||
@@ -31,6 +30,7 @@ goog.require('Blockly.IASTNodeLocationSvg');
|
||||
goog.require('Blockly.IBoundedElement');
|
||||
goog.require('Blockly.ICopyable');
|
||||
goog.require('Blockly.IDraggable');
|
||||
goog.require('Blockly.internalConstants');
|
||||
goog.require('Blockly.Msg');
|
||||
goog.require('Blockly.RenderedConnection');
|
||||
goog.require('Blockly.TabNavigateCursor');
|
||||
@@ -688,7 +688,7 @@ Blockly.BlockSvg.prototype.updateCollapsed_ = function() {
|
||||
icon.setVisible(false);
|
||||
}
|
||||
|
||||
var text = this.toString(Blockly.COLLAPSE_CHARS);
|
||||
var text = this.toString(Blockly.internalConstants.COLLAPSE_CHARS);
|
||||
var field = this.getField(collapsedFieldName);
|
||||
if (field) {
|
||||
field.setValue(text);
|
||||
@@ -1550,7 +1550,8 @@ Blockly.BlockSvg.prototype.bumpNeighbours = function() {
|
||||
connection.targetBlock().bumpNeighbours();
|
||||
}
|
||||
|
||||
var neighbours = connection.neighbours(Blockly.SNAP_RADIUS);
|
||||
var neighbours =
|
||||
connection.neighbours(Blockly.internalConstants.SNAP_RADIUS);
|
||||
for (var j = 0, otherConnection; (otherConnection = neighbours[j]); j++) {
|
||||
|
||||
// If both connections are connected, that's probably fine. But if
|
||||
@@ -1585,13 +1586,13 @@ Blockly.BlockSvg.prototype.scheduleSnapAndBump = function() {
|
||||
Blockly.Events.setGroup(group);
|
||||
block.snapToGrid();
|
||||
Blockly.Events.setGroup(false);
|
||||
}, Blockly.BUMP_DELAY / 2);
|
||||
}, Blockly.internalConstants.BUMP_DELAY / 2);
|
||||
|
||||
setTimeout(function() {
|
||||
Blockly.Events.setGroup(group);
|
||||
block.bumpNeighbours();
|
||||
Blockly.Events.setGroup(false);
|
||||
}, Blockly.BUMP_DELAY);
|
||||
}, Blockly.internalConstants.BUMP_DELAY);
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -35,6 +35,7 @@ goog.require('Blockly.Events.VarCreate');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.inject');
|
||||
goog.require('Blockly.inputTypes');
|
||||
goog.require('Blockly.internalConstants');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.Procedures');
|
||||
goog.require('Blockly.ShortcutRegistry');
|
||||
@@ -424,8 +425,9 @@ Blockly.isNumber = function(str) {
|
||||
* @return {string} RGB code, e.g. '#5ba65b'.
|
||||
*/
|
||||
Blockly.hueToHex = function(hue) {
|
||||
return Blockly.utils.colour.hsvToHex(hue, Blockly.HSV_SATURATION,
|
||||
Blockly.HSV_VALUE * 255);
|
||||
return Blockly.utils.colour.hsvToHex(
|
||||
hue, Blockly.internalConstants.HSV_SATURATION,
|
||||
Blockly.internalConstants.HSV_VALUE * 255);
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -596,3 +598,38 @@ Blockly.TOOLBOX_AT_LEFT = Blockly.utils.toolbox.Position.LEFT;
|
||||
* @see Blockly.utils.toolbox.Position.RIGHT
|
||||
*/
|
||||
Blockly.TOOLBOX_AT_RIGHT = Blockly.utils.toolbox.Position.RIGHT;
|
||||
|
||||
// Aliases to allow external code to access these values for legacy reasons.
|
||||
Blockly.LINE_MODE_MULTIPLIER = Blockly.internalConstants.LINE_MODE_MULTIPLIER;
|
||||
Blockly.PAGE_MODE_MULTIPLIER = Blockly.internalConstants.PAGE_MODE_MULTIPLIER;
|
||||
Blockly.DRAG_RADIUS = Blockly.internalConstants.DRAG_RADIUS;
|
||||
Blockly.FLYOUT_DRAG_RADIUS = Blockly.internalConstants.FLYOUT_DRAG_RADIUS;
|
||||
Blockly.SNAP_RADIUS = Blockly.internalConstants.SNAP_RADIUS;
|
||||
Blockly.CONNECTING_SNAP_RADIUS =
|
||||
Blockly.internalConstants.CONNECTING_SNAP_RADIUS;
|
||||
Blockly.CURRENT_CONNECTION_PREFERENCE =
|
||||
Blockly.internalConstants.CURRENT_CONNECTION_PREFERENCE;
|
||||
Blockly.BUMP_DELAY = Blockly.internalConstants.BUMP_DELAY;
|
||||
Blockly.BUMP_RANDOMNESS = Blockly.internalConstants.BUMP_RANDOMNESS;
|
||||
Blockly.COLLAPSE_CHARS = Blockly.internalConstants.COLLAPSE_CHARS;
|
||||
Blockly.LONGPRESS = Blockly.internalConstants.LONGPRESS;
|
||||
Blockly.SOUND_LIMIT = Blockly.internalConstants.SOUND_LIMIT;
|
||||
Blockly.DRAG_STACK = Blockly.internalConstants.DRAG_STACK;
|
||||
Blockly.HSV_SATURATION = Blockly.internalConstants.HSV_SATURATION;
|
||||
Blockly.HSV_VALUE = Blockly.internalConstants.HSV_VALUE;
|
||||
Blockly.SPRITE = Blockly.internalConstants.SPRITE;
|
||||
Blockly.DRAG_NONE = Blockly.internalConstants.DRAG_NONE;
|
||||
Blockly.DRAG_STICKY = Blockly.internalConstants.DRAG_STICKY;
|
||||
Blockly.DRAG_BEGIN = Blockly.internalConstants.DRAG_BEGIN;
|
||||
Blockly.DRAG_FREE = Blockly.internalConstants.DRAG_FREE;
|
||||
Blockly.OPPOSITE_TYPE = Blockly.internalConstants.OPPOSITE_TYPE;
|
||||
Blockly.VARIABLE_CATEGORY_NAME =
|
||||
Blockly.internalConstants.VARIABLE_CATEGORY_NAME;
|
||||
Blockly.VARIABLE_DYNAMIC_CATEGORY_NAME =
|
||||
Blockly.internalConstants.VARIABLE_DYNAMIC_CATEGORY_NAME;
|
||||
Blockly.PROCEDURE_CATEGORY_NAME =
|
||||
Blockly.internalConstants.PROCEDURE_CATEGORY_NAME;
|
||||
Blockly.RENAME_VARIABLE_ID = Blockly.internalConstants.RENAME_VARIABLE_ID;
|
||||
Blockly.DELETE_VARIABLE_ID = Blockly.internalConstants.DELETE_VARIABLE_ID;
|
||||
Blockly.COLLAPSED_INPUT_NAME = Blockly.constants.COLLAPSED_INPUT_NAME;
|
||||
Blockly.COLLAPSED_FIELD_NAME = Blockly.constants.COLLAPSED_FIELD_NAME;
|
||||
|
||||
@@ -19,8 +19,7 @@ const IConnectionChecker = goog.require('Blockly.IConnectionChecker');
|
||||
const RenderedConnection = goog.requireType('Blockly.RenderedConnection');
|
||||
const connectionTypes = goog.require('Blockly.connectionTypes');
|
||||
const registry = goog.require('Blockly.registry');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
const {OPPOSITE_TYPE} = goog.require('Blockly.internalConstants');
|
||||
|
||||
|
||||
/**
|
||||
@@ -144,7 +143,7 @@ ConnectionChecker.prototype.doSafetyChecks = function(a, b) {
|
||||
}
|
||||
if (blockA == blockB) {
|
||||
return Connection.REASON_SELF_CONNECTION;
|
||||
} else if (b.type != Blockly.OPPOSITE_TYPE[a.type]) {
|
||||
} else if (b.type != OPPOSITE_TYPE[a.type]) {
|
||||
return Connection.REASON_WRONG_TYPE;
|
||||
} else if (blockA.workspace !== blockB.workspace) {
|
||||
return Connection.REASON_DIFFERENT_WORKSPACES;
|
||||
|
||||
@@ -10,204 +10,31 @@
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
goog.provide('Blockly.constants');
|
||||
goog.module('Blockly.constants');
|
||||
goog.module.declareLegacyNamespace();
|
||||
|
||||
goog.require('Blockly.connectionTypes');
|
||||
|
||||
|
||||
/**
|
||||
* The multiplier for scroll wheel deltas using the line delta mode.
|
||||
* @type {number}
|
||||
*/
|
||||
Blockly.LINE_MODE_MULTIPLIER = 40;
|
||||
|
||||
/**
|
||||
* The multiplier for scroll wheel deltas using the page delta mode.
|
||||
* @type {number}
|
||||
*/
|
||||
Blockly.PAGE_MODE_MULTIPLIER = 125;
|
||||
|
||||
/**
|
||||
* Number of pixels the mouse must move before a drag starts.
|
||||
*/
|
||||
Blockly.DRAG_RADIUS = 5;
|
||||
|
||||
/**
|
||||
* Number of pixels the mouse must move before a drag/scroll starts from the
|
||||
* flyout. Because the drag-intention is determined when this is reached, it is
|
||||
* larger than Blockly.DRAG_RADIUS so that the drag-direction is clearer.
|
||||
*/
|
||||
Blockly.FLYOUT_DRAG_RADIUS = 10;
|
||||
|
||||
/**
|
||||
* Maximum misalignment between connections for them to snap together.
|
||||
*/
|
||||
Blockly.SNAP_RADIUS = 28;
|
||||
|
||||
/**
|
||||
* Maximum misalignment between connections for them to snap together,
|
||||
* when a connection is already highlighted.
|
||||
*/
|
||||
Blockly.CONNECTING_SNAP_RADIUS = Blockly.SNAP_RADIUS;
|
||||
|
||||
/**
|
||||
* How much to prefer staying connected to the current connection over moving to
|
||||
* a new connection. The current previewed connection is considered to be this
|
||||
* much closer to the matching connection on the block than it actually is.
|
||||
*/
|
||||
Blockly.CURRENT_CONNECTION_PREFERENCE = 8;
|
||||
|
||||
/**
|
||||
* Delay in ms between trigger and bumping unconnected block out of alignment.
|
||||
*/
|
||||
Blockly.BUMP_DELAY = 250;
|
||||
|
||||
/**
|
||||
* Maximum randomness in workspace units for bumping a block.
|
||||
*/
|
||||
Blockly.BUMP_RANDOMNESS = 10;
|
||||
|
||||
/**
|
||||
* Number of characters to truncate a collapsed block to.
|
||||
*/
|
||||
Blockly.COLLAPSE_CHARS = 30;
|
||||
|
||||
/**
|
||||
* Length in ms for a touch to become a long press.
|
||||
*/
|
||||
Blockly.LONGPRESS = 750;
|
||||
|
||||
/**
|
||||
* Prevent a sound from playing if another sound preceded it within this many
|
||||
* milliseconds.
|
||||
*/
|
||||
Blockly.SOUND_LIMIT = 100;
|
||||
|
||||
/**
|
||||
* When dragging a block out of a stack, split the stack in two (true), or drag
|
||||
* out the block healing the stack (false).
|
||||
*/
|
||||
Blockly.DRAG_STACK = true;
|
||||
|
||||
/**
|
||||
* The richness of block colours, regardless of the hue.
|
||||
* Must be in the range of 0 (inclusive) to 1 (exclusive).
|
||||
*/
|
||||
Blockly.HSV_SATURATION = 0.45;
|
||||
|
||||
/**
|
||||
* The intensity of block colours, regardless of the hue.
|
||||
* Must be in the range of 0 (inclusive) to 1 (exclusive).
|
||||
*/
|
||||
Blockly.HSV_VALUE = 0.65;
|
||||
|
||||
/**
|
||||
* Sprited icons and images.
|
||||
*/
|
||||
Blockly.SPRITE = {
|
||||
width: 96,
|
||||
height: 124,
|
||||
url: 'sprites.png'
|
||||
};
|
||||
|
||||
// Constants below this point are not intended to be changed.
|
||||
|
||||
/**
|
||||
* Enum for alignment of inputs.
|
||||
* @enum {number}
|
||||
*/
|
||||
Blockly.constants.ALIGN = {
|
||||
const ALIGN = {
|
||||
LEFT: -1,
|
||||
CENTRE: 0,
|
||||
RIGHT: 1
|
||||
};
|
||||
|
||||
/**
|
||||
* ENUM for no drag operation.
|
||||
* @const
|
||||
*/
|
||||
Blockly.DRAG_NONE = 0;
|
||||
|
||||
/**
|
||||
* ENUM for inside the sticky DRAG_RADIUS.
|
||||
* @const
|
||||
*/
|
||||
Blockly.DRAG_STICKY = 1;
|
||||
|
||||
/**
|
||||
* ENUM for inside the non-sticky DRAG_RADIUS, for differentiating between
|
||||
* clicks and drags.
|
||||
* @const
|
||||
*/
|
||||
Blockly.DRAG_BEGIN = 1;
|
||||
|
||||
/**
|
||||
* ENUM for freely draggable (outside the DRAG_RADIUS, if one applies).
|
||||
* @const
|
||||
*/
|
||||
Blockly.DRAG_FREE = 2;
|
||||
|
||||
/**
|
||||
* Lookup table for determining the opposite type of a connection.
|
||||
* @const
|
||||
*/
|
||||
Blockly.OPPOSITE_TYPE = [];
|
||||
Blockly.OPPOSITE_TYPE[Blockly.connectionTypes.INPUT_VALUE] =
|
||||
Blockly.connectionTypes.OUTPUT_VALUE;
|
||||
Blockly.OPPOSITE_TYPE[Blockly.connectionTypes.OUTPUT_VALUE] =
|
||||
Blockly.connectionTypes.INPUT_VALUE;
|
||||
Blockly.OPPOSITE_TYPE[Blockly.connectionTypes.NEXT_STATEMENT] =
|
||||
Blockly.connectionTypes.PREVIOUS_STATEMENT;
|
||||
Blockly.OPPOSITE_TYPE[Blockly.connectionTypes.PREVIOUS_STATEMENT] =
|
||||
Blockly.connectionTypes.NEXT_STATEMENT;
|
||||
|
||||
/**
|
||||
* String for use in the "custom" attribute of a category in toolbox XML.
|
||||
* This string indicates that the category should be dynamically populated with
|
||||
* variable blocks.
|
||||
* @const {string}
|
||||
*/
|
||||
Blockly.VARIABLE_CATEGORY_NAME = 'VARIABLE';
|
||||
/**
|
||||
* String for use in the "custom" attribute of a category in toolbox XML.
|
||||
* This string indicates that the category should be dynamically populated with
|
||||
* variable blocks.
|
||||
* @const {string}
|
||||
*/
|
||||
Blockly.VARIABLE_DYNAMIC_CATEGORY_NAME = 'VARIABLE_DYNAMIC';
|
||||
|
||||
/**
|
||||
* String for use in the "custom" attribute of a category in toolbox XML.
|
||||
* This string indicates that the category should be dynamically populated with
|
||||
* procedure blocks.
|
||||
* @const {string}
|
||||
*/
|
||||
Blockly.PROCEDURE_CATEGORY_NAME = 'PROCEDURE';
|
||||
|
||||
/**
|
||||
* String for use in the dropdown created in field_variable.
|
||||
* This string indicates that this option in the dropdown is 'Rename
|
||||
* variable...' and if selected, should trigger the prompt to rename a variable.
|
||||
* @const {string}
|
||||
*/
|
||||
Blockly.RENAME_VARIABLE_ID = 'RENAME_VARIABLE_ID';
|
||||
|
||||
/**
|
||||
* String for use in the dropdown created in field_variable.
|
||||
* This string indicates that this option in the dropdown is 'Delete the "%1"
|
||||
* variable' and if selected, should trigger the prompt to delete a variable.
|
||||
* @const {string}
|
||||
*/
|
||||
Blockly.DELETE_VARIABLE_ID = 'DELETE_VARIABLE_ID';
|
||||
exports.ALIGN = ALIGN;
|
||||
|
||||
/**
|
||||
* The language-neutral ID given to the collapsed input.
|
||||
* @const {string}
|
||||
*/
|
||||
Blockly.constants.COLLAPSED_INPUT_NAME = '_TEMP_COLLAPSED_INPUT';
|
||||
const COLLAPSED_INPUT_NAME = '_TEMP_COLLAPSED_INPUT';
|
||||
exports.COLLAPSED_INPUT_NAME = COLLAPSED_INPUT_NAME;
|
||||
|
||||
/**
|
||||
* The language-neutral ID given to the collapsed field.
|
||||
* @const {string}
|
||||
*/
|
||||
Blockly.constants.COLLAPSED_FIELD_NAME = '_TEMP_COLLAPSED_FIELD';
|
||||
const COLLAPSED_FIELD_NAME = '_TEMP_COLLAPSED_FIELD';
|
||||
exports.COLLAPSED_FIELD_NAME = COLLAPSED_FIELD_NAME;
|
||||
|
||||
@@ -17,11 +17,10 @@
|
||||
goog.provide('Blockly.ContextMenu');
|
||||
|
||||
goog.require('Blockly.browserEvents');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.Events');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.Events.BlockCreate');
|
||||
goog.require('Blockly.internalConstants');
|
||||
goog.require('Blockly.Menu');
|
||||
goog.require('Blockly.MenuItem');
|
||||
goog.require('Blockly.Msg');
|
||||
@@ -195,11 +194,11 @@ Blockly.ContextMenu.callbackFactory = function(block, xml) {
|
||||
// Move the new block next to the old block.
|
||||
var xy = block.getRelativeToSurfaceXY();
|
||||
if (block.RTL) {
|
||||
xy.x -= Blockly.SNAP_RADIUS;
|
||||
xy.x -= Blockly.internalConstants.SNAP_RADIUS;
|
||||
} else {
|
||||
xy.x += Blockly.SNAP_RADIUS;
|
||||
xy.x += Blockly.internalConstants.SNAP_RADIUS;
|
||||
}
|
||||
xy.y += Blockly.SNAP_RADIUS * 2;
|
||||
xy.y += Blockly.internalConstants.SNAP_RADIUS * 2;
|
||||
newBlock.moveBy(xy.x, xy.y);
|
||||
} finally {
|
||||
Blockly.Events.enable();
|
||||
|
||||
@@ -12,65 +12,68 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
goog.provide('Blockly.DragTarget');
|
||||
goog.module('Blockly.DragTarget');
|
||||
goog.module.declareLegacyNamespace();
|
||||
|
||||
goog.require('Blockly.IDragTarget');
|
||||
|
||||
goog.requireType('Blockly.IDraggable');
|
||||
goog.requireType('Blockly.utils.Rect');
|
||||
/* eslint-disable-next-line no-unused-vars */
|
||||
const IDragTarget = goog.require('Blockly.IDragTarget');
|
||||
/* eslint-disable-next-line no-unused-vars */
|
||||
const IDraggable = goog.requireType('Blockly.IDraggable');
|
||||
/* eslint-disable-next-line no-unused-vars */
|
||||
const Rect = goog.requireType('Blockly.utils.Rect');
|
||||
|
||||
|
||||
/**
|
||||
* Abstract class for a component with custom behaviour when a block or bubble
|
||||
* is dragged over or dropped on top of it.
|
||||
* @implements {Blockly.IDragTarget}
|
||||
* @implements {IDragTarget}
|
||||
* @constructor
|
||||
*/
|
||||
Blockly.DragTarget = function() {};
|
||||
const DragTarget = function() {};
|
||||
|
||||
/**
|
||||
* Returns the bounding rectangle of the drag target area in pixel units
|
||||
* relative to the Blockly injection div.
|
||||
* @return {?Blockly.utils.Rect} The component's bounding box. Null if drag
|
||||
* @return {?Rect} The component's bounding box. Null if drag
|
||||
* target area should be ignored.
|
||||
*/
|
||||
Blockly.DragTarget.prototype.getClientRect;
|
||||
DragTarget.prototype.getClientRect;
|
||||
|
||||
/**
|
||||
* Handles when a cursor with a block or bubble enters this drag target.
|
||||
* @param {!Blockly.IDraggable} _dragElement The block or bubble currently being
|
||||
* @param {!IDraggable} _dragElement The block or bubble currently being
|
||||
* dragged.
|
||||
*/
|
||||
Blockly.DragTarget.prototype.onDragEnter = function(_dragElement) {
|
||||
DragTarget.prototype.onDragEnter = function(_dragElement) {
|
||||
// no-op
|
||||
};
|
||||
|
||||
/**
|
||||
* Handles when a cursor with a block or bubble is dragged over this drag
|
||||
* target.
|
||||
* @param {!Blockly.IDraggable} _dragElement The block or bubble currently being
|
||||
* @param {!IDraggable} _dragElement The block or bubble currently being
|
||||
* dragged.
|
||||
*/
|
||||
Blockly.DragTarget.prototype.onDragOver = function(_dragElement) {
|
||||
DragTarget.prototype.onDragOver = function(_dragElement) {
|
||||
// no-op
|
||||
};
|
||||
|
||||
/**
|
||||
* Handles when a cursor with a block or bubble exits this drag target.
|
||||
* @param {!Blockly.IDraggable} _dragElement The block or bubble currently being
|
||||
* @param {!IDraggable} _dragElement The block or bubble currently being
|
||||
* dragged.
|
||||
*/
|
||||
Blockly.DragTarget.prototype.onDragExit = function(_dragElement) {
|
||||
DragTarget.prototype.onDragExit = function(_dragElement) {
|
||||
// no-op
|
||||
};
|
||||
|
||||
/**
|
||||
* Handles when a block or bubble is dropped on this component.
|
||||
* Should not handle delete here.
|
||||
* @param {!Blockly.IDraggable} _dragElement The block or bubble currently being
|
||||
* @param {!IDraggable} _dragElement The block or bubble currently being
|
||||
* dragged.
|
||||
*/
|
||||
Blockly.DragTarget.prototype.onDrop = function(_dragElement) {
|
||||
DragTarget.prototype.onDrop = function(_dragElement) {
|
||||
// no-op
|
||||
};
|
||||
|
||||
@@ -78,11 +81,13 @@ Blockly.DragTarget.prototype.onDrop = function(_dragElement) {
|
||||
* Returns whether the provided block or bubble should not be moved after being
|
||||
* dropped on this component. If true, the element will return to where it was
|
||||
* when the drag started.
|
||||
* @param {!Blockly.IDraggable} _dragElement The block or bubble currently being
|
||||
* @param {!IDraggable} _dragElement The block or bubble currently being
|
||||
* dragged.
|
||||
* @return {boolean} Whether the block or bubble provided should be returned to
|
||||
* drag start.
|
||||
*/
|
||||
Blockly.DragTarget.prototype.shouldPreventMove = function(_dragElement) {
|
||||
DragTarget.prototype.shouldPreventMove = function(_dragElement) {
|
||||
return false;
|
||||
};
|
||||
|
||||
exports = DragTarget;
|
||||
|
||||
443
core/field.js
443
core/field.js
File diff suppressed because it is too large
Load Diff
@@ -10,14 +10,15 @@
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
goog.provide('Blockly.FieldCheckbox');
|
||||
goog.module('Blockly.FieldCheckbox');
|
||||
goog.module.declareLegacyNamespace();
|
||||
|
||||
const Field = goog.require('Blockly.Field');
|
||||
const dom = goog.require('Blockly.utils.dom');
|
||||
const fieldRegistry = goog.require('Blockly.fieldRegistry');
|
||||
const {inherits} = goog.require('Blockly.utils.object');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.Events.BlockChange');
|
||||
goog.require('Blockly.Field');
|
||||
goog.require('Blockly.fieldRegistry');
|
||||
goog.require('Blockly.utils.dom');
|
||||
goog.require('Blockly.utils.object');
|
||||
|
||||
|
||||
/**
|
||||
@@ -29,12 +30,13 @@ goog.require('Blockly.utils.object');
|
||||
* returns a validated value ('TRUE' or 'FALSE'), or null to abort the
|
||||
* change.
|
||||
* @param {Object=} opt_config A map of options used to configure the field.
|
||||
* See the [field creation documentation]{@link https://developers.google.com/blockly/guides/create-custom-blocks/fields/built-in-fields/checkbox#creation}
|
||||
* See the [field creation documentation]{@link
|
||||
* https://developers.google.com/blockly/guides/create-custom-blocks/fields/built-in-fields/checkbox#creation}
|
||||
* for a list of properties this parameter supports.
|
||||
* @extends {Blockly.Field}
|
||||
* @extends {Field}
|
||||
* @constructor
|
||||
*/
|
||||
Blockly.FieldCheckbox = function(opt_value, opt_validator, opt_config) {
|
||||
const FieldCheckbox = function(opt_value, opt_validator, opt_config) {
|
||||
/**
|
||||
* Character for the check mark. Used to apply a different check mark
|
||||
* character to individual fields.
|
||||
@@ -43,26 +45,26 @@ Blockly.FieldCheckbox = function(opt_value, opt_validator, opt_config) {
|
||||
*/
|
||||
this.checkChar_ = null;
|
||||
|
||||
Blockly.FieldCheckbox.superClass_.constructor.call(
|
||||
FieldCheckbox.superClass_.constructor.call(
|
||||
this, opt_value, opt_validator, opt_config);
|
||||
};
|
||||
Blockly.utils.object.inherits(Blockly.FieldCheckbox, Blockly.Field);
|
||||
inherits(FieldCheckbox, Field);
|
||||
|
||||
/**
|
||||
* The default value for this field.
|
||||
* @type {*}
|
||||
* @protected
|
||||
*/
|
||||
Blockly.FieldCheckbox.prototype.DEFAULT_VALUE = false;
|
||||
FieldCheckbox.prototype.DEFAULT_VALUE = false;
|
||||
|
||||
/**
|
||||
* Construct a FieldCheckbox from a JSON arg object.
|
||||
* @param {!Object} options A JSON object with options (checked).
|
||||
* @return {!Blockly.FieldCheckbox} The new field instance.
|
||||
* @return {!FieldCheckbox} The new field instance.
|
||||
* @package
|
||||
* @nocollapse
|
||||
*/
|
||||
Blockly.FieldCheckbox.fromJson = function(options) {
|
||||
FieldCheckbox.fromJson = function(options) {
|
||||
// `this` might be a subclass of FieldCheckbox if that class doesn't override
|
||||
// the static fromJson method.
|
||||
return new this(options['checked'], undefined, options);
|
||||
@@ -73,19 +75,19 @@ Blockly.FieldCheckbox.fromJson = function(options) {
|
||||
* @type {string}
|
||||
* @const
|
||||
*/
|
||||
Blockly.FieldCheckbox.CHECK_CHAR = '\u2713';
|
||||
FieldCheckbox.CHECK_CHAR = '\u2713';
|
||||
|
||||
/**
|
||||
* Serializable fields are saved by the XML renderer, non-serializable fields
|
||||
* are not. Editable fields should also be serializable.
|
||||
* @type {boolean}
|
||||
*/
|
||||
Blockly.FieldCheckbox.prototype.SERIALIZABLE = true;
|
||||
FieldCheckbox.prototype.SERIALIZABLE = true;
|
||||
|
||||
/**
|
||||
* Mouse cursor style when over the hotspot that initiates editability.
|
||||
*/
|
||||
Blockly.FieldCheckbox.prototype.CURSOR = 'default';
|
||||
FieldCheckbox.prototype.CURSOR = 'default';
|
||||
|
||||
/**
|
||||
* Configure the field based on the given map of options.
|
||||
@@ -93,8 +95,8 @@ Blockly.FieldCheckbox.prototype.CURSOR = 'default';
|
||||
* @protected
|
||||
* @override
|
||||
*/
|
||||
Blockly.FieldCheckbox.prototype.configure_ = function(config) {
|
||||
Blockly.FieldCheckbox.superClass_.configure_.call(this, config);
|
||||
FieldCheckbox.prototype.configure_ = function(config) {
|
||||
FieldCheckbox.superClass_.configure_.call(this, config);
|
||||
if (config['checkCharacter']) {
|
||||
this.checkChar_ = config['checkCharacter'];
|
||||
}
|
||||
@@ -104,10 +106,10 @@ Blockly.FieldCheckbox.prototype.configure_ = function(config) {
|
||||
* Create the block UI for this checkbox.
|
||||
* @package
|
||||
*/
|
||||
Blockly.FieldCheckbox.prototype.initView = function() {
|
||||
Blockly.FieldCheckbox.superClass_.initView.call(this);
|
||||
FieldCheckbox.prototype.initView = function() {
|
||||
FieldCheckbox.superClass_.initView.call(this);
|
||||
|
||||
Blockly.utils.dom.addClass(
|
||||
dom.addClass(
|
||||
/** @type {!SVGTextElement} **/ (this.textElement_), 'blocklyCheckbox');
|
||||
this.textElement_.style.display = this.value_ ? 'block' : 'none';
|
||||
};
|
||||
@@ -115,7 +117,7 @@ Blockly.FieldCheckbox.prototype.initView = function() {
|
||||
/**
|
||||
* @override
|
||||
*/
|
||||
Blockly.FieldCheckbox.prototype.render_ = function() {
|
||||
FieldCheckbox.prototype.render_ = function() {
|
||||
if (this.textContent_) {
|
||||
this.textContent_.nodeValue = this.getDisplayText_();
|
||||
}
|
||||
@@ -125,8 +127,8 @@ Blockly.FieldCheckbox.prototype.render_ = function() {
|
||||
/**
|
||||
* @override
|
||||
*/
|
||||
Blockly.FieldCheckbox.prototype.getDisplayText_ = function() {
|
||||
return this.checkChar_ || Blockly.FieldCheckbox.CHECK_CHAR;
|
||||
FieldCheckbox.prototype.getDisplayText_ = function() {
|
||||
return this.checkChar_ || FieldCheckbox.CHECK_CHAR;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -134,7 +136,7 @@ Blockly.FieldCheckbox.prototype.getDisplayText_ = function() {
|
||||
* @param {?string} character The character to use for the check mark, or
|
||||
* null to use the default.
|
||||
*/
|
||||
Blockly.FieldCheckbox.prototype.setCheckCharacter = function(character) {
|
||||
FieldCheckbox.prototype.setCheckCharacter = function(character) {
|
||||
this.checkChar_ = character;
|
||||
this.forceRerender();
|
||||
};
|
||||
@@ -143,7 +145,7 @@ Blockly.FieldCheckbox.prototype.setCheckCharacter = function(character) {
|
||||
* Toggle the state of the checkbox on click.
|
||||
* @protected
|
||||
*/
|
||||
Blockly.FieldCheckbox.prototype.showEditor_ = function() {
|
||||
FieldCheckbox.prototype.showEditor_ = function() {
|
||||
this.setValue(!this.value_);
|
||||
};
|
||||
|
||||
@@ -153,7 +155,7 @@ Blockly.FieldCheckbox.prototype.showEditor_ = function() {
|
||||
* @return {?string} A valid value ('TRUE' or 'FALSE), or null if invalid.
|
||||
* @protected
|
||||
*/
|
||||
Blockly.FieldCheckbox.prototype.doClassValidation_ = function(opt_newValue) {
|
||||
FieldCheckbox.prototype.doClassValidation_ = function(opt_newValue) {
|
||||
if (opt_newValue === true || opt_newValue === 'TRUE') {
|
||||
return 'TRUE';
|
||||
}
|
||||
@@ -169,7 +171,7 @@ Blockly.FieldCheckbox.prototype.doClassValidation_ = function(opt_newValue) {
|
||||
* that this is a either 'TRUE' or 'FALSE'.
|
||||
* @protected
|
||||
*/
|
||||
Blockly.FieldCheckbox.prototype.doValueUpdate_ = function(newValue) {
|
||||
FieldCheckbox.prototype.doValueUpdate_ = function(newValue) {
|
||||
this.value_ = this.convertValueToBool_(newValue);
|
||||
// Update visual.
|
||||
if (this.textElement_) {
|
||||
@@ -181,7 +183,7 @@ Blockly.FieldCheckbox.prototype.doValueUpdate_ = function(newValue) {
|
||||
* Get the value of this field, either 'TRUE' or 'FALSE'.
|
||||
* @return {string} The value of this field.
|
||||
*/
|
||||
Blockly.FieldCheckbox.prototype.getValue = function() {
|
||||
FieldCheckbox.prototype.getValue = function() {
|
||||
return this.value_ ? 'TRUE' : 'FALSE';
|
||||
};
|
||||
|
||||
@@ -189,7 +191,7 @@ Blockly.FieldCheckbox.prototype.getValue = function() {
|
||||
* Get the boolean value of this field.
|
||||
* @return {boolean} The boolean value of this field.
|
||||
*/
|
||||
Blockly.FieldCheckbox.prototype.getValueBoolean = function() {
|
||||
FieldCheckbox.prototype.getValueBoolean = function() {
|
||||
return /** @type {boolean} */ (this.value_);
|
||||
};
|
||||
|
||||
@@ -198,7 +200,7 @@ Blockly.FieldCheckbox.prototype.getValueBoolean = function() {
|
||||
* @return {string} Text representing the value of this field
|
||||
* ('true' or 'false').
|
||||
*/
|
||||
Blockly.FieldCheckbox.prototype.getText = function() {
|
||||
FieldCheckbox.prototype.getText = function() {
|
||||
return String(this.convertValueToBool_(this.value_));
|
||||
};
|
||||
|
||||
@@ -211,7 +213,7 @@ Blockly.FieldCheckbox.prototype.getText = function() {
|
||||
* @return {boolean} The converted value.
|
||||
* @private
|
||||
*/
|
||||
Blockly.FieldCheckbox.prototype.convertValueToBool_ = function(value) {
|
||||
FieldCheckbox.prototype.convertValueToBool_ = function(value) {
|
||||
if (typeof value == 'string') {
|
||||
return value == 'TRUE';
|
||||
} else {
|
||||
@@ -219,4 +221,6 @@ Blockly.FieldCheckbox.prototype.convertValueToBool_ = function(value) {
|
||||
}
|
||||
};
|
||||
|
||||
Blockly.fieldRegistry.register('field_checkbox', Blockly.FieldCheckbox);
|
||||
fieldRegistry.register('field_checkbox', FieldCheckbox);
|
||||
|
||||
exports = FieldCheckbox;
|
||||
|
||||
@@ -12,13 +12,11 @@
|
||||
|
||||
goog.provide('Blockly.FieldVariable');
|
||||
|
||||
/** @suppress {extraRequire} */
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.Events.BlockChange');
|
||||
goog.require('Blockly.FieldDropdown');
|
||||
goog.require('Blockly.fieldRegistry');
|
||||
goog.require('Blockly.internalConstants');
|
||||
goog.require('Blockly.Msg');
|
||||
goog.require('Blockly.utils');
|
||||
goog.require('Blockly.utils.object');
|
||||
@@ -417,14 +415,14 @@ Blockly.FieldVariable.dropdownCreate = function() {
|
||||
// Set the UUID as the internal representation of the variable.
|
||||
options[i] = [variableModelList[i].name, variableModelList[i].getId()];
|
||||
}
|
||||
options.push([Blockly.Msg['RENAME_VARIABLE'], Blockly.RENAME_VARIABLE_ID]);
|
||||
options.push([
|
||||
Blockly.Msg['RENAME_VARIABLE'], Blockly.internalConstants.RENAME_VARIABLE_ID
|
||||
]);
|
||||
if (Blockly.Msg['DELETE_VARIABLE']) {
|
||||
options.push(
|
||||
[
|
||||
Blockly.Msg['DELETE_VARIABLE'].replace('%1', name),
|
||||
Blockly.DELETE_VARIABLE_ID
|
||||
]
|
||||
);
|
||||
options.push([
|
||||
Blockly.Msg['DELETE_VARIABLE'].replace('%1', name),
|
||||
Blockly.internalConstants.DELETE_VARIABLE_ID
|
||||
]);
|
||||
}
|
||||
|
||||
return options;
|
||||
@@ -442,12 +440,12 @@ Blockly.FieldVariable.prototype.onItemSelected_ = function(menu, menuItem) {
|
||||
var id = menuItem.getValue();
|
||||
// Handle special cases.
|
||||
if (this.sourceBlock_ && this.sourceBlock_.workspace) {
|
||||
if (id == Blockly.RENAME_VARIABLE_ID) {
|
||||
if (id == Blockly.internalConstants.RENAME_VARIABLE_ID) {
|
||||
// Rename variable.
|
||||
Blockly.Variables.renameVariable(
|
||||
this.sourceBlock_.workspace, this.variable_);
|
||||
return;
|
||||
} else if (id == Blockly.DELETE_VARIABLE_ID) {
|
||||
} else if (id == Blockly.internalConstants.DELETE_VARIABLE_ID) {
|
||||
// Delete variable.
|
||||
this.sourceBlock_.workspace.deleteVariableById(this.variable_.getId());
|
||||
return;
|
||||
|
||||
@@ -14,8 +14,6 @@ goog.provide('Blockly.HorizontalFlyout');
|
||||
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.Block');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.DropDownDiv');
|
||||
goog.require('Blockly.Flyout');
|
||||
goog.require('Blockly.registry');
|
||||
|
||||
@@ -14,8 +14,7 @@
|
||||
goog.provide('Blockly.Generator');
|
||||
|
||||
goog.require('Blockly.Block');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.internalConstants');
|
||||
goog.require('Blockly.utils.deprecation');
|
||||
|
||||
goog.requireType('Blockly.Names');
|
||||
@@ -451,8 +450,8 @@ Object.defineProperty(Blockly.Generator.prototype, 'variableDB_', {
|
||||
*/
|
||||
Blockly.Generator.prototype.provideFunction_ = function(desiredName, code) {
|
||||
if (!this.definitions_[desiredName]) {
|
||||
var functionName = this.nameDB_.getDistinctName(desiredName,
|
||||
Blockly.PROCEDURE_CATEGORY_NAME);
|
||||
var functionName = this.nameDB_.getDistinctName(
|
||||
desiredName, Blockly.internalConstants.PROCEDURE_CATEGORY_NAME);
|
||||
this.functionNames_[desiredName] = functionName;
|
||||
var codeText = code.join('\n').replace(
|
||||
this.FUNCTION_NAME_PLACEHOLDER_REGEXP_, functionName);
|
||||
|
||||
@@ -18,11 +18,10 @@ goog.require('Blockly.blockAnimations');
|
||||
goog.require('Blockly.BlockDragger');
|
||||
goog.require('Blockly.browserEvents');
|
||||
goog.require('Blockly.BubbleDragger');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.Events');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.Events.Click');
|
||||
goog.require('Blockly.internalConstants');
|
||||
goog.require('Blockly.Tooltip');
|
||||
goog.require('Blockly.Touch');
|
||||
goog.require('Blockly.utils');
|
||||
@@ -230,7 +229,7 @@ Blockly.Gesture = function(e, creatorWorkspace) {
|
||||
* @type {boolean}
|
||||
* @private
|
||||
*/
|
||||
this.healStack_ = !Blockly.DRAG_STACK;
|
||||
this.healStack_ = !Blockly.internalConstants.DRAG_STACK;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -295,8 +294,9 @@ Blockly.Gesture.prototype.updateDragDelta_ = function(currentXY) {
|
||||
Blockly.utils.Coordinate.magnitude(this.currentDragDeltaXY_);
|
||||
|
||||
// The flyout has a different drag radius from the rest of Blockly.
|
||||
var limitRadius =
|
||||
this.flyout_ ? Blockly.FLYOUT_DRAG_RADIUS : Blockly.DRAG_RADIUS;
|
||||
var limitRadius = this.flyout_ ?
|
||||
Blockly.internalConstants.FLYOUT_DRAG_RADIUS :
|
||||
Blockly.internalConstants.DRAG_RADIUS;
|
||||
|
||||
this.hasExceededDragRadius_ = currentDragDelta > limitRadius;
|
||||
return this.hasExceededDragRadius_;
|
||||
|
||||
@@ -13,8 +13,6 @@
|
||||
goog.provide('Blockly.Input');
|
||||
|
||||
goog.require('Blockly.Connection');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.fieldRegistry');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.FieldLabel');
|
||||
|
||||
@@ -15,9 +15,8 @@ goog.provide('Blockly.InsertionMarkerManager');
|
||||
goog.require('Blockly.blockAnimations');
|
||||
goog.require('Blockly.ComponentManager');
|
||||
goog.require('Blockly.connectionTypes');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.Events');
|
||||
goog.require('Blockly.internalConstants');
|
||||
|
||||
goog.requireType('Blockly.BlockSvg');
|
||||
goog.requireType('Blockly.RenderedConnection');
|
||||
@@ -378,8 +377,10 @@ Blockly.InsertionMarkerManager.prototype.shouldUpdatePreviews_ = function(
|
||||
var yDiff = this.localConnection_.y + dxy.y - this.closestConnection_.y;
|
||||
var curDistance = Math.sqrt(xDiff * xDiff + yDiff * yDiff);
|
||||
// Slightly prefer the existing preview over a new preview.
|
||||
return !(candidateClosest && radius > curDistance -
|
||||
Blockly.CURRENT_CONNECTION_PREFERENCE);
|
||||
return !(
|
||||
candidateClosest &&
|
||||
radius > curDistance -
|
||||
Blockly.internalConstants.CURRENT_CONNECTION_PREFERENCE);
|
||||
} else if (!this.localConnection_ && !this.closestConnection_) {
|
||||
// We weren't showing a preview before, but we should now.
|
||||
return true;
|
||||
@@ -439,9 +440,9 @@ Blockly.InsertionMarkerManager.prototype.getStartRadius_ = function() {
|
||||
// By increasing radiusConnection when a connection already exists,
|
||||
// we never "lose" the connection from the offset.
|
||||
if (this.closestConnection_ && this.localConnection_) {
|
||||
return Blockly.CONNECTING_SNAP_RADIUS;
|
||||
return Blockly.internalConstants.CONNECTING_SNAP_RADIUS;
|
||||
}
|
||||
return Blockly.SNAP_RADIUS;
|
||||
return Blockly.internalConstants.SNAP_RADIUS;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -11,21 +11,25 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
goog.provide('Blockly.IRegistrableField');
|
||||
goog.module('Blockly.IRegistrableField');
|
||||
goog.module.declareLegacyNamespace();
|
||||
|
||||
const Field = goog.requireType('Blockly.Field');
|
||||
|
||||
goog.requireType('Blockly.Field');
|
||||
|
||||
/**
|
||||
* A registrable field.
|
||||
* Note: We are not using an interface here as we are interested in defining the
|
||||
* static methods of a field rather than the instance methods.
|
||||
* @typedef {{
|
||||
* fromJson:Blockly.IRegistrableField.fromJson
|
||||
* fromJson:IRegistrableField.fromJson
|
||||
* }}
|
||||
*/
|
||||
Blockly.IRegistrableField;
|
||||
let IRegistrableField;
|
||||
|
||||
/**
|
||||
* @typedef {function(!Object): Blockly.Field}
|
||||
* @typedef {function(!Object): Field}
|
||||
*/
|
||||
Blockly.IRegistrableField.fromJson;
|
||||
IRegistrableField.fromJson;
|
||||
|
||||
exports = IRegistrableField;
|
||||
|
||||
218
core/internal_constants.js
Normal file
218
core/internal_constants.js
Normal file
@@ -0,0 +1,218 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2021 Google LLC
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileoverview Module that provides constants for use inside Blockly. Do not
|
||||
* use these constants outside of the core library.
|
||||
* @author fenichel@google.com (Rachel Fenichel)
|
||||
* @package
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
goog.module('Blockly.internalConstants');
|
||||
goog.module.declareLegacyNamespace();
|
||||
|
||||
const connectionTypes = goog.require('Blockly.connectionTypes');
|
||||
|
||||
|
||||
/**
|
||||
* The multiplier for scroll wheel deltas using the line delta mode.
|
||||
* @type {number}
|
||||
*/
|
||||
const LINE_MODE_MULTIPLIER = 40;
|
||||
exports.LINE_MODE_MULTIPLIER = LINE_MODE_MULTIPLIER;
|
||||
|
||||
/**
|
||||
* The multiplier for scroll wheel deltas using the page delta mode.
|
||||
* @type {number}
|
||||
*/
|
||||
const PAGE_MODE_MULTIPLIER = 125;
|
||||
exports.PAGE_MODE_MULTIPLIER = PAGE_MODE_MULTIPLIER;
|
||||
|
||||
/**
|
||||
* Number of pixels the mouse must move before a drag starts.
|
||||
*/
|
||||
const DRAG_RADIUS = 5;
|
||||
exports.DRAG_RADIUS = DRAG_RADIUS;
|
||||
|
||||
/**
|
||||
* Number of pixels the mouse must move before a drag/scroll starts from the
|
||||
* flyout. Because the drag-intention is determined when this is reached, it is
|
||||
* larger than DRAG_RADIUS so that the drag-direction is clearer.
|
||||
*/
|
||||
const FLYOUT_DRAG_RADIUS = 10;
|
||||
exports.FLYOUT_DRAG_RADIUS = FLYOUT_DRAG_RADIUS;
|
||||
|
||||
/**
|
||||
* Maximum misalignment between connections for them to snap together.
|
||||
*/
|
||||
const SNAP_RADIUS = 28;
|
||||
exports.SNAP_RADIUS = SNAP_RADIUS;
|
||||
|
||||
/**
|
||||
* Maximum misalignment between connections for them to snap together,
|
||||
* when a connection is already highlighted.
|
||||
*/
|
||||
const CONNECTING_SNAP_RADIUS = SNAP_RADIUS;
|
||||
exports.CONNECTING_SNAP_RADIUS = CONNECTING_SNAP_RADIUS;
|
||||
|
||||
/**
|
||||
* How much to prefer staying connected to the current connection over moving to
|
||||
* a new connection. The current previewed connection is considered to be this
|
||||
* much closer to the matching connection on the block than it actually is.
|
||||
*/
|
||||
const CURRENT_CONNECTION_PREFERENCE = 8;
|
||||
exports.CURRENT_CONNECTION_PREFERENCE = CURRENT_CONNECTION_PREFERENCE;
|
||||
|
||||
/**
|
||||
* Delay in ms between trigger and bumping unconnected block out of alignment.
|
||||
*/
|
||||
const BUMP_DELAY = 250;
|
||||
exports.BUMP_DELAY = BUMP_DELAY;
|
||||
|
||||
/**
|
||||
* Maximum randomness in workspace units for bumping a block.
|
||||
*/
|
||||
const BUMP_RANDOMNESS = 10;
|
||||
exports.BUMP_RANDOMNESS = BUMP_RANDOMNESS;
|
||||
|
||||
/**
|
||||
* Number of characters to truncate a collapsed block to.
|
||||
*/
|
||||
const COLLAPSE_CHARS = 30;
|
||||
exports.COLLAPSE_CHARS = COLLAPSE_CHARS;
|
||||
|
||||
/**
|
||||
* Length in ms for a touch to become a long press.
|
||||
*/
|
||||
const LONGPRESS = 750;
|
||||
exports.LONGPRESS = LONGPRESS;
|
||||
|
||||
/**
|
||||
* Prevent a sound from playing if another sound preceded it within this many
|
||||
* milliseconds.
|
||||
*/
|
||||
const SOUND_LIMIT = 100;
|
||||
exports.SOUND_LIMIT = SOUND_LIMIT;
|
||||
|
||||
/**
|
||||
* When dragging a block out of a stack, split the stack in two (true), or drag
|
||||
* out the block healing the stack (false).
|
||||
*/
|
||||
const DRAG_STACK = true;
|
||||
exports.DRAG_STACK = DRAG_STACK;
|
||||
|
||||
/**
|
||||
* The richness of block colours, regardless of the hue.
|
||||
* Must be in the range of 0 (inclusive) to 1 (exclusive).
|
||||
*/
|
||||
const HSV_SATURATION = 0.45;
|
||||
exports.HSV_SATURATION = HSV_SATURATION;
|
||||
|
||||
/**
|
||||
* The intensity of block colours, regardless of the hue.
|
||||
* Must be in the range of 0 (inclusive) to 1 (exclusive).
|
||||
*/
|
||||
const HSV_VALUE = 0.65;
|
||||
exports.HSV_VALUE = HSV_VALUE;
|
||||
|
||||
/**
|
||||
* Sprited icons and images.
|
||||
*/
|
||||
const SPRITE = {
|
||||
width: 96,
|
||||
height: 124,
|
||||
url: 'sprites.png'
|
||||
};
|
||||
exports.SPRITE = SPRITE;
|
||||
|
||||
/**
|
||||
* ENUM for no drag operation.
|
||||
* @const
|
||||
*/
|
||||
const DRAG_NONE = 0;
|
||||
exports.DRAG_NONE = DRAG_NONE;
|
||||
|
||||
/**
|
||||
* ENUM for inside the sticky DRAG_RADIUS.
|
||||
* @const
|
||||
*/
|
||||
const DRAG_STICKY = 1;
|
||||
exports.DRAG_STICKY = DRAG_STICKY;
|
||||
|
||||
/**
|
||||
* ENUM for inside the non-sticky DRAG_RADIUS, for differentiating between
|
||||
* clicks and drags.
|
||||
* @const
|
||||
*/
|
||||
const DRAG_BEGIN = 1;
|
||||
exports.DRAG_BEGIN = DRAG_BEGIN;
|
||||
|
||||
/**
|
||||
* ENUM for freely draggable (outside the DRAG_RADIUS, if one applies).
|
||||
* @const
|
||||
*/
|
||||
const DRAG_FREE = 2;
|
||||
exports.DRAG_FREE = DRAG_FREE;
|
||||
|
||||
/**
|
||||
* Lookup table for determining the opposite type of a connection.
|
||||
* @const
|
||||
*/
|
||||
const OPPOSITE_TYPE = [];
|
||||
OPPOSITE_TYPE[connectionTypes.INPUT_VALUE] = connectionTypes.OUTPUT_VALUE;
|
||||
OPPOSITE_TYPE[connectionTypes.OUTPUT_VALUE] = connectionTypes.INPUT_VALUE;
|
||||
OPPOSITE_TYPE[connectionTypes.NEXT_STATEMENT] =
|
||||
connectionTypes.PREVIOUS_STATEMENT;
|
||||
OPPOSITE_TYPE[connectionTypes.PREVIOUS_STATEMENT] =
|
||||
connectionTypes.NEXT_STATEMENT;
|
||||
|
||||
exports.OPPOSITE_TYPE = OPPOSITE_TYPE;
|
||||
|
||||
/**
|
||||
* String for use in the "custom" attribute of a category in toolbox XML.
|
||||
* This string indicates that the category should be dynamically populated with
|
||||
* variable blocks.
|
||||
* @const {string}
|
||||
*/
|
||||
const VARIABLE_CATEGORY_NAME = 'VARIABLE';
|
||||
exports.VARIABLE_CATEGORY_NAME = VARIABLE_CATEGORY_NAME;
|
||||
|
||||
/**
|
||||
* String for use in the "custom" attribute of a category in toolbox XML.
|
||||
* This string indicates that the category should be dynamically populated with
|
||||
* variable blocks.
|
||||
* @const {string}
|
||||
*/
|
||||
const VARIABLE_DYNAMIC_CATEGORY_NAME = 'VARIABLE_DYNAMIC';
|
||||
exports.VARIABLE_DYNAMIC_CATEGORY_NAME = VARIABLE_DYNAMIC_CATEGORY_NAME;
|
||||
|
||||
/**
|
||||
* String for use in the "custom" attribute of a category in toolbox XML.
|
||||
* This string indicates that the category should be dynamically populated with
|
||||
* procedure blocks.
|
||||
* @const {string}
|
||||
*/
|
||||
const PROCEDURE_CATEGORY_NAME = 'PROCEDURE';
|
||||
exports.PROCEDURE_CATEGORY_NAME = PROCEDURE_CATEGORY_NAME;
|
||||
|
||||
/**
|
||||
* String for use in the dropdown created in field_variable.
|
||||
* This string indicates that this option in the dropdown is 'Rename
|
||||
* variable...' and if selected, should trigger the prompt to rename a variable.
|
||||
* @const {string}
|
||||
*/
|
||||
const RENAME_VARIABLE_ID = 'RENAME_VARIABLE_ID';
|
||||
exports.RENAME_VARIABLE_ID = RENAME_VARIABLE_ID;
|
||||
|
||||
/**
|
||||
* String for use in the dropdown created in field_variable.
|
||||
* This string indicates that this option in the dropdown is 'Delete the "%1"
|
||||
* variable' and if selected, should trigger the prompt to delete a variable.
|
||||
* @const {string}
|
||||
*/
|
||||
const DELETE_VARIABLE_ID = 'DELETE_VARIABLE_ID';
|
||||
exports.DELETE_VARIABLE_ID = DELETE_VARIABLE_ID;
|
||||
@@ -13,8 +13,6 @@
|
||||
goog.provide('Blockly.ASTNode');
|
||||
|
||||
goog.require('Blockly.connectionTypes');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.utils.Coordinate');
|
||||
|
||||
goog.requireType('Blockly.Block');
|
||||
@@ -420,7 +418,7 @@ Blockly.ASTNode.prototype.findPrevForField_ = function() {
|
||||
*/
|
||||
Blockly.ASTNode.prototype.navigateBetweenStacks_ = function(forward) {
|
||||
var curLocation = this.getLocation();
|
||||
if (!(curLocation instanceof Blockly.Block)) {
|
||||
if (curLocation.getSourceBlock) {
|
||||
curLocation = /** @type {!Blockly.IASTNodeLocationWithBlock} */ (
|
||||
curLocation).getSourceBlock();
|
||||
}
|
||||
|
||||
@@ -11,40 +11,42 @@
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
goog.provide('Blockly.TabNavigateCursor');
|
||||
goog.module('Blockly.TabNavigateCursor');
|
||||
goog.module.declareLegacyNamespace();
|
||||
|
||||
goog.require('Blockly.ASTNode');
|
||||
goog.require('Blockly.BasicCursor');
|
||||
goog.require('Blockly.utils.object');
|
||||
|
||||
goog.requireType('Blockly.Field');
|
||||
const ASTNode = goog.require('Blockly.ASTNode');
|
||||
const BasicCursor = goog.require('Blockly.BasicCursor');
|
||||
const Field = goog.requireType('Blockly.Field');
|
||||
const {inherits} = goog.require('Blockly.utils.object');
|
||||
|
||||
|
||||
/**
|
||||
* A cursor for navigating between tab navigable fields.
|
||||
* @constructor
|
||||
* @extends {Blockly.BasicCursor}
|
||||
* @extends {BasicCursor}
|
||||
*/
|
||||
Blockly.TabNavigateCursor = function() {
|
||||
Blockly.TabNavigateCursor.superClass_.constructor.call(this);
|
||||
const TabNavigateCursor = function() {
|
||||
TabNavigateCursor.superClass_.constructor.call(this);
|
||||
};
|
||||
Blockly.utils.object.inherits(Blockly.TabNavigateCursor, Blockly.BasicCursor);
|
||||
inherits(TabNavigateCursor, BasicCursor);
|
||||
|
||||
/**
|
||||
* Skip all nodes except for tab navigable fields.
|
||||
* @param {Blockly.ASTNode} node The AST node to check whether it is valid.
|
||||
* @param {?ASTNode} node The AST node to check whether it is valid.
|
||||
* @return {boolean} True if the node should be visited, false otherwise.
|
||||
* @override
|
||||
*/
|
||||
Blockly.TabNavigateCursor.prototype.validNode_ = function(node) {
|
||||
var isValid = false;
|
||||
var type = node && node.getType();
|
||||
TabNavigateCursor.prototype.validNode_ = function(node) {
|
||||
let isValid = false;
|
||||
const type = node && node.getType();
|
||||
if (node) {
|
||||
var location = /** @type {Blockly.Field} */ (node.getLocation());
|
||||
if (type == Blockly.ASTNode.types.FIELD &&
|
||||
location && location.isTabNavigable() && location.isClickable()) {
|
||||
const location = /** @type {Field} */ (node.getLocation());
|
||||
if (type == ASTNode.types.FIELD && location && location.isTabNavigable() &&
|
||||
location.isClickable()) {
|
||||
isValid = true;
|
||||
}
|
||||
}
|
||||
return isValid;
|
||||
};
|
||||
|
||||
exports = TabNavigateCursor;
|
||||
|
||||
@@ -20,6 +20,7 @@ goog.require('Blockly.Events.BlockChange');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.Events.BubbleOpen');
|
||||
goog.require('Blockly.Icon');
|
||||
goog.require('Blockly.internalConstants');
|
||||
goog.require('Blockly.Options');
|
||||
goog.require('Blockly.utils');
|
||||
goog.require('Blockly.utils.dom');
|
||||
@@ -444,7 +445,7 @@ Blockly.Mutator.prototype.workspaceChanged_ = function(e) {
|
||||
Blockly.Events.setGroup(group);
|
||||
block.bumpNeighbours();
|
||||
Blockly.Events.setGroup(false);
|
||||
}, Blockly.BUMP_DELAY);
|
||||
}, Blockly.internalConstants.BUMP_DELAY);
|
||||
}
|
||||
|
||||
// Don't update the bubble until the drag has ended, to avoid moving blocks
|
||||
|
||||
@@ -12,8 +12,7 @@
|
||||
|
||||
goog.provide('Blockly.Names');
|
||||
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.internalConstants');
|
||||
goog.require('Blockly.Msg');
|
||||
|
||||
goog.requireType('Blockly.VariableMap');
|
||||
@@ -77,7 +76,7 @@ Blockly.Names.prototype.setVariableMap = function(map) {
|
||||
/**
|
||||
* Get the name for a user-defined variable, based on its ID.
|
||||
* This should only be used for variables of realm
|
||||
* Blockly.VARIABLE_CATEGORY_NAME.
|
||||
* Blockly.internalConstants.VARIABLE_CATEGORY_NAME.
|
||||
* @param {string} id The ID to look up in the variable map.
|
||||
* @return {?string} The name of the referenced variable, or null if there was
|
||||
* no variable map or the variable was not found in the map.
|
||||
@@ -106,7 +105,8 @@ Blockly.Names.prototype.getNameForUserVariable_ = function(id) {
|
||||
Blockly.Names.prototype.populateVariables = function(workspace) {
|
||||
var variables = Blockly.Variables.allUsedVarModels(workspace);
|
||||
for (var i = 0; i < variables.length; i++) {
|
||||
this.getName(variables[i].getId(), Blockly.VARIABLE_CATEGORY_NAME);
|
||||
this.getName(
|
||||
variables[i].getId(), Blockly.internalConstants.VARIABLE_CATEGORY_NAME);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -119,7 +119,8 @@ Blockly.Names.prototype.populateProcedures = function(workspace) {
|
||||
// Flatten the return vs no-return procedure lists.
|
||||
procedures = procedures[0].concat(procedures[1]);
|
||||
for (var i = 0; i < procedures.length; i++) {
|
||||
this.getName(procedures[i][0], Blockly.PROCEDURE_CATEGORY_NAME);
|
||||
this.getName(
|
||||
procedures[i][0], Blockly.internalConstants.PROCEDURE_CATEGORY_NAME);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -133,7 +134,7 @@ Blockly.Names.prototype.populateProcedures = function(workspace) {
|
||||
*/
|
||||
Blockly.Names.prototype.getName = function(nameOrId, realm) {
|
||||
var name = nameOrId;
|
||||
if (realm == Blockly.VARIABLE_CATEGORY_NAME) {
|
||||
if (realm == Blockly.internalConstants.VARIABLE_CATEGORY_NAME) {
|
||||
var varName = this.getNameForUserVariable_(nameOrId);
|
||||
if (varName) {
|
||||
// Successful ID lookup.
|
||||
@@ -142,7 +143,7 @@ Blockly.Names.prototype.getName = function(nameOrId, realm) {
|
||||
}
|
||||
var normalizedName = name.toLowerCase();
|
||||
|
||||
var isVar = realm == Blockly.VARIABLE_CATEGORY_NAME ||
|
||||
var isVar = realm == Blockly.internalConstants.VARIABLE_CATEGORY_NAME ||
|
||||
realm == Blockly.Names.DEVELOPER_VARIABLE_TYPE;
|
||||
|
||||
var prefix = isVar ? this.variablePrefix_ : '';
|
||||
@@ -189,7 +190,7 @@ Blockly.Names.prototype.getDistinctName = function(name, realm) {
|
||||
}
|
||||
safeName += i;
|
||||
this.dbReverse_[safeName] = true;
|
||||
var isVar = realm == Blockly.VARIABLE_CATEGORY_NAME ||
|
||||
var isVar = realm == Blockly.internalConstants.VARIABLE_CATEGORY_NAME ||
|
||||
realm == Blockly.Names.DEVELOPER_VARIABLE_TYPE;
|
||||
var prefix = isVar ? this.variablePrefix_ : '';
|
||||
return prefix + safeName;
|
||||
|
||||
@@ -17,12 +17,11 @@
|
||||
goog.provide('Blockly.Procedures');
|
||||
|
||||
goog.require('Blockly.Blocks');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.Events');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.Events.BlockChange');
|
||||
goog.require('Blockly.Field');
|
||||
goog.require('Blockly.internalConstants');
|
||||
goog.require('Blockly.Msg');
|
||||
goog.require('Blockly.Names');
|
||||
goog.require('Blockly.utils.xml');
|
||||
@@ -37,9 +36,10 @@ goog.requireType('Blockly.WorkspaceSvg');
|
||||
/**
|
||||
* Constant to separate procedure names from variables and generated functions
|
||||
* when running generators.
|
||||
* @deprecated Use Blockly.PROCEDURE_CATEGORY_NAME
|
||||
* @deprecated Use Blockly.internalConstants.PROCEDURE_CATEGORY_NAME
|
||||
*/
|
||||
Blockly.Procedures.NAME_TYPE = Blockly.PROCEDURE_CATEGORY_NAME;
|
||||
Blockly.Procedures.NAME_TYPE =
|
||||
Blockly.internalConstants.PROCEDURE_CATEGORY_NAME;
|
||||
|
||||
/**
|
||||
* The default argument for a procedures_mutatorarg block.
|
||||
|
||||
@@ -14,8 +14,7 @@ goog.provide('Blockly.RenderedConnection');
|
||||
|
||||
goog.require('Blockly.Connection');
|
||||
goog.require('Blockly.connectionTypes');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.internalConstants');
|
||||
goog.require('Blockly.utils');
|
||||
goog.require('Blockly.utils.Coordinate');
|
||||
goog.require('Blockly.utils.deprecation');
|
||||
@@ -51,8 +50,9 @@ Blockly.RenderedConnection = function(source, type) {
|
||||
* @const {!Blockly.ConnectionDB}
|
||||
* @private
|
||||
*/
|
||||
this.dbOpposite_ = source.workspace
|
||||
.connectionDBList[Blockly.OPPOSITE_TYPE[type]];
|
||||
this.dbOpposite_ =
|
||||
source.workspace
|
||||
.connectionDBList[Blockly.internalConstants.OPPOSITE_TYPE[type]];
|
||||
|
||||
/**
|
||||
* Workspace units, (0, 0) is top left of block.
|
||||
@@ -173,17 +173,23 @@ Blockly.RenderedConnection.prototype.bumpAwayFrom = function(staticConnection) {
|
||||
// Raise it to the top for extra visibility.
|
||||
var selected = Blockly.selected == rootBlock;
|
||||
selected || rootBlock.addSelect();
|
||||
var dx = (staticConnection.x + Blockly.SNAP_RADIUS +
|
||||
Math.floor(Math.random() * Blockly.BUMP_RANDOMNESS)) - this.x;
|
||||
var dy = (staticConnection.y + Blockly.SNAP_RADIUS +
|
||||
Math.floor(Math.random() * Blockly.BUMP_RANDOMNESS)) - this.y;
|
||||
var dx =
|
||||
(staticConnection.x + Blockly.internalConstants.SNAP_RADIUS +
|
||||
Math.floor(Math.random() * Blockly.internalConstants.BUMP_RANDOMNESS)) -
|
||||
this.x;
|
||||
var dy =
|
||||
(staticConnection.y + Blockly.internalConstants.SNAP_RADIUS +
|
||||
Math.floor(Math.random() * Blockly.internalConstants.BUMP_RANDOMNESS)) -
|
||||
this.y;
|
||||
if (reverse) {
|
||||
// When reversing a bump due to an uneditable block, bump up.
|
||||
dy = -dy;
|
||||
}
|
||||
if (rootBlock.RTL) {
|
||||
dx = (staticConnection.x - Blockly.SNAP_RADIUS -
|
||||
Math.floor(Math.random() * Blockly.BUMP_RANDOMNESS)) - this.x;
|
||||
dx = (staticConnection.x - Blockly.internalConstants.SNAP_RADIUS -
|
||||
Math.floor(
|
||||
Math.random() * Blockly.internalConstants.BUMP_RANDOMNESS)) -
|
||||
this.x;
|
||||
}
|
||||
rootBlock.moveBy(dx, dy);
|
||||
selected || rootBlock.removeSelect();
|
||||
@@ -466,7 +472,7 @@ Blockly.RenderedConnection.prototype.onFailedConnect =
|
||||
this.bumpAwayFrom(otherConnection);
|
||||
Blockly.Events.setGroup(false);
|
||||
}
|
||||
}.bind(this), Blockly.BUMP_DELAY);
|
||||
}.bind(this), Blockly.internalConstants.BUMP_DELAY);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -13,8 +13,6 @@
|
||||
goog.provide('Blockly.blockRendering.ConstantProvider');
|
||||
|
||||
goog.require('Blockly.connectionTypes');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.utils');
|
||||
goog.require('Blockly.utils.colour');
|
||||
goog.require('Blockly.utils.dom');
|
||||
|
||||
@@ -17,8 +17,6 @@ goog.require('Blockly.blockRendering.RenderInfo');
|
||||
goog.require('Blockly.blockRendering.Row');
|
||||
goog.require('Blockly.blockRendering.Types');
|
||||
goog.require('Blockly.connectionTypes');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.utils.dom');
|
||||
goog.require('Blockly.utils.Svg');
|
||||
|
||||
|
||||
@@ -10,37 +10,37 @@
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
goog.provide('Blockly.blockRendering.RenderInfo');
|
||||
goog.module('Blockly.blockRendering.RenderInfo');
|
||||
goog.module.declareLegacyNamespace();
|
||||
|
||||
goog.require('Blockly.blockRendering.BottomRow');
|
||||
goog.require('Blockly.blockRendering.ExternalValueInput');
|
||||
goog.require('Blockly.blockRendering.Field');
|
||||
goog.require('Blockly.blockRendering.Hat');
|
||||
goog.require('Blockly.blockRendering.InlineInput');
|
||||
goog.require('Blockly.blockRendering.InputRow');
|
||||
goog.require('Blockly.blockRendering.InRowSpacer');
|
||||
goog.require('Blockly.blockRendering.JaggedEdge');
|
||||
goog.require('Blockly.blockRendering.Measurable');
|
||||
goog.require('Blockly.blockRendering.NextConnection');
|
||||
goog.require('Blockly.blockRendering.OutputConnection');
|
||||
goog.require('Blockly.blockRendering.PreviousConnection');
|
||||
goog.require('Blockly.blockRendering.RoundCorner');
|
||||
goog.require('Blockly.blockRendering.Row');
|
||||
goog.require('Blockly.blockRendering.SpacerRow');
|
||||
goog.require('Blockly.blockRendering.SquareCorner');
|
||||
goog.require('Blockly.blockRendering.StatementInput');
|
||||
goog.require('Blockly.blockRendering.TopRow');
|
||||
goog.require('Blockly.blockRendering.Types');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.inputTypes');
|
||||
const BlockSvg = goog.requireType('Blockly.BlockSvg');
|
||||
const BottomRow = goog.require('Blockly.blockRendering.BottomRow');
|
||||
const ConstantProvider = goog.requireType('Blockly.blockRendering.ConstantProvider');
|
||||
const ExternalValueInput = goog.require('Blockly.blockRendering.ExternalValueInput');
|
||||
const Field = goog.require('Blockly.blockRendering.Field');
|
||||
const Hat = goog.require('Blockly.blockRendering.Hat');
|
||||
const Icon = goog.require('Blockly.blockRendering.Icon');
|
||||
const InlineInput = goog.require('Blockly.blockRendering.InlineInput');
|
||||
const Input = goog.requireType('Blockly.Input');
|
||||
const InputRow = goog.require('Blockly.blockRendering.InputRow');
|
||||
const InRowSpacer = goog.require('Blockly.blockRendering.InRowSpacer');
|
||||
const JaggedEdge = goog.require('Blockly.blockRendering.JaggedEdge');
|
||||
const Measurable = goog.require('Blockly.blockRendering.Measurable');
|
||||
const NextConnection = goog.require('Blockly.blockRendering.NextConnection');
|
||||
const OutputConnection = goog.require('Blockly.blockRendering.OutputConnection');
|
||||
const PreviousConnection = goog.require('Blockly.blockRendering.PreviousConnection');
|
||||
const RenderedConnection = goog.requireType('Blockly.RenderedConnection');
|
||||
const Renderer = goog.requireType('Blockly.blockRendering.Renderer');
|
||||
const RoundCorner = goog.require('Blockly.blockRendering.RoundCorner');
|
||||
const Row = goog.require('Blockly.blockRendering.Row');
|
||||
const SpacerRow = goog.require('Blockly.blockRendering.SpacerRow');
|
||||
const SquareCorner = goog.require('Blockly.blockRendering.SquareCorner');
|
||||
const StatementInput = goog.require('Blockly.blockRendering.StatementInput');
|
||||
const TopRow = goog.require('Blockly.blockRendering.TopRow');
|
||||
const Types = goog.require('Blockly.blockRendering.Types');
|
||||
const {ALIGN} = goog.require('Blockly.constants');
|
||||
const {DUMMY, STATEMENT, VALUE} = goog.require('Blockly.inputTypes');
|
||||
|
||||
goog.requireType('Blockly.blockRendering.ConstantProvider');
|
||||
goog.requireType('Blockly.blockRendering.Icon');
|
||||
goog.requireType('Blockly.blockRendering.Renderer');
|
||||
goog.requireType('Blockly.BlockSvg');
|
||||
goog.requireType('Blockly.Input');
|
||||
goog.requireType('Blockly.RenderedConnection');
|
||||
|
||||
|
||||
/**
|
||||
@@ -50,24 +50,24 @@ goog.requireType('Blockly.RenderedConnection');
|
||||
* may choose to rerender when getSize() is called). However, calling it
|
||||
* repeatedly may be expensive.
|
||||
*
|
||||
* @param {!Blockly.blockRendering.Renderer} renderer The renderer in use.
|
||||
* @param {!Blockly.BlockSvg} block The block to measure.
|
||||
* @param {!Renderer} renderer The renderer in use.
|
||||
* @param {!BlockSvg} block The block to measure.
|
||||
* @constructor
|
||||
* @package
|
||||
*/
|
||||
Blockly.blockRendering.RenderInfo = function(renderer, block) {
|
||||
const RenderInfo = function(renderer, block) {
|
||||
this.block_ = block;
|
||||
|
||||
/**
|
||||
* The block renderer in use.
|
||||
* @type {!Blockly.blockRendering.Renderer}
|
||||
* @type {!Renderer}
|
||||
* @protected
|
||||
*/
|
||||
this.renderer_ = renderer;
|
||||
|
||||
/**
|
||||
* The renderer's constant provider.
|
||||
* @type {!Blockly.blockRendering.ConstantProvider}
|
||||
* @type {!ConstantProvider}
|
||||
* @protected
|
||||
*/
|
||||
this.constants_ = this.renderer_.getConstants();
|
||||
@@ -75,12 +75,13 @@ Blockly.blockRendering.RenderInfo = function(renderer, block) {
|
||||
/**
|
||||
* A measurable representing the output connection if the block has one.
|
||||
* Otherwise null.
|
||||
* @type {Blockly.blockRendering.OutputConnection}
|
||||
* @type {OutputConnection}
|
||||
*/
|
||||
this.outputConnection = !block.outputConnection ? null :
|
||||
new Blockly.blockRendering.OutputConnection(
|
||||
this.outputConnection = !block.outputConnection ?
|
||||
null :
|
||||
new OutputConnection(
|
||||
this.constants_,
|
||||
/** @type {Blockly.RenderedConnection} */(block.outputConnection));
|
||||
/** @type {RenderedConnection} */ (block.outputConnection));
|
||||
|
||||
/**
|
||||
* Whether the block should be rendered as a single line, either because it's
|
||||
@@ -135,33 +136,33 @@ Blockly.blockRendering.RenderInfo = function(renderer, block) {
|
||||
|
||||
/**
|
||||
* An array of Row objects containing sizing information.
|
||||
* @type {!Array<!Blockly.blockRendering.Row>}
|
||||
* @type {!Array<!Row>}
|
||||
*/
|
||||
this.rows = [];
|
||||
|
||||
/**
|
||||
* An array of input rows on the block.
|
||||
* @type {!Array<!Blockly.blockRendering.InputRow>}
|
||||
* @type {!Array<!InputRow>}
|
||||
*/
|
||||
this.inputRows = [];
|
||||
|
||||
/**
|
||||
* An array of measurable objects containing hidden icons.
|
||||
* @type {!Array<!Blockly.blockRendering.Icon>}
|
||||
* @type {!Array<!Icon>}
|
||||
*/
|
||||
this.hiddenIcons = [];
|
||||
|
||||
/**
|
||||
* An object with rendering information about the top row of the block.
|
||||
* @type {!Blockly.blockRendering.TopRow}
|
||||
* @type {!TopRow}
|
||||
*/
|
||||
this.topRow = new Blockly.blockRendering.TopRow(this.constants_);
|
||||
this.topRow = new TopRow(this.constants_);
|
||||
|
||||
/**
|
||||
* An object with rendering information about the bottom row of the block.
|
||||
* @type {!Blockly.blockRendering.BottomRow}
|
||||
* @type {!BottomRow}
|
||||
*/
|
||||
this.bottomRow = new Blockly.blockRendering.BottomRow(this.constants_);
|
||||
this.bottomRow = new BottomRow(this.constants_);
|
||||
|
||||
// The position of the start point for drawing, relative to the block's
|
||||
// location.
|
||||
@@ -171,10 +172,10 @@ Blockly.blockRendering.RenderInfo = function(renderer, block) {
|
||||
|
||||
/**
|
||||
* Get the block renderer in use.
|
||||
* @return {!Blockly.blockRendering.Renderer} The block renderer in use.
|
||||
* @return {!Renderer} The block renderer in use.
|
||||
* @package
|
||||
*/
|
||||
Blockly.blockRendering.RenderInfo.prototype.getRenderer = function() {
|
||||
RenderInfo.prototype.getRenderer = function() {
|
||||
return this.renderer_;
|
||||
};
|
||||
|
||||
@@ -188,7 +189,7 @@ Blockly.blockRendering.RenderInfo.prototype.getRenderer = function() {
|
||||
*
|
||||
* @package
|
||||
*/
|
||||
Blockly.blockRendering.RenderInfo.prototype.measure = function() {
|
||||
RenderInfo.prototype.measure = function() {
|
||||
this.createRows_();
|
||||
this.addElemSpacing_();
|
||||
this.addRowSpacing_();
|
||||
@@ -202,16 +203,16 @@ Blockly.blockRendering.RenderInfo.prototype.measure = function() {
|
||||
* block.
|
||||
* @protected
|
||||
*/
|
||||
Blockly.blockRendering.RenderInfo.prototype.createRows_ = function() {
|
||||
RenderInfo.prototype.createRows_ = function() {
|
||||
this.populateTopRow_();
|
||||
this.rows.push(this.topRow);
|
||||
var activeRow = new Blockly.blockRendering.InputRow(this.constants_);
|
||||
let activeRow = new InputRow(this.constants_);
|
||||
this.inputRows.push(activeRow);
|
||||
|
||||
// Icons always go on the first row, before anything else.
|
||||
var icons = this.block_.getIcons();
|
||||
for (var i = 0, icon; (icon = icons[i]); i++) {
|
||||
var iconInfo = new Blockly.blockRendering.Icon(this.constants_, icon);
|
||||
const icons = this.block_.getIcons();
|
||||
for (let i = 0, icon; (icon = icons[i]); i++) {
|
||||
const iconInfo = new Icon(this.constants_, icon);
|
||||
if (this.isCollapsed && icon.collapseHidden) {
|
||||
this.hiddenIcons.push(iconInfo);
|
||||
} else {
|
||||
@@ -219,24 +220,23 @@ Blockly.blockRendering.RenderInfo.prototype.createRows_ = function() {
|
||||
}
|
||||
}
|
||||
|
||||
var lastInput = null;
|
||||
let lastInput = null;
|
||||
// Loop across all of the inputs on the block, creating objects for anything
|
||||
// that needs to be rendered and breaking the block up into visual rows.
|
||||
for (var i = 0, input; (input = this.block_.inputList[i]); i++) {
|
||||
for (let i = 0, input; (input = this.block_.inputList[i]); i++) {
|
||||
if (!input.isVisible()) {
|
||||
continue;
|
||||
}
|
||||
if (this.shouldStartNewRow_(input, lastInput)) {
|
||||
// Finish this row and create a new one.
|
||||
this.rows.push(activeRow);
|
||||
activeRow = new Blockly.blockRendering.InputRow(this.constants_);
|
||||
activeRow = new InputRow(this.constants_);
|
||||
this.inputRows.push(activeRow);
|
||||
}
|
||||
|
||||
// All of the fields in an input go on the same row.
|
||||
for (var j = 0, field; (field = input.fieldRow[j]); j++) {
|
||||
activeRow.elements.push(
|
||||
new Blockly.blockRendering.Field(this.constants_, field, input));
|
||||
for (let j = 0, field; (field = input.fieldRow[j]); j++) {
|
||||
activeRow.elements.push(new Field(this.constants_, field, input));
|
||||
}
|
||||
this.addInput_(input, activeRow);
|
||||
lastInput = input;
|
||||
@@ -244,8 +244,7 @@ Blockly.blockRendering.RenderInfo.prototype.createRows_ = function() {
|
||||
|
||||
if (this.isCollapsed) {
|
||||
activeRow.hasJaggedEdge = true;
|
||||
activeRow.elements.push(
|
||||
new Blockly.blockRendering.JaggedEdge(this.constants_));
|
||||
activeRow.elements.push(new JaggedEdge(this.constants_));
|
||||
}
|
||||
|
||||
if (activeRow.elements.length || activeRow.hasDummyInput) {
|
||||
@@ -259,31 +258,31 @@ Blockly.blockRendering.RenderInfo.prototype.createRows_ = function() {
|
||||
* Create all non-spacer elements that belong on the top row.
|
||||
* @package
|
||||
*/
|
||||
Blockly.blockRendering.RenderInfo.prototype.populateTopRow_ = function() {
|
||||
var hasPrevious = !!this.block_.previousConnection;
|
||||
var hasHat = (this.block_.hat ?
|
||||
this.block_.hat === 'cap' : this.constants_.ADD_START_HATS) &&
|
||||
RenderInfo.prototype.populateTopRow_ = function() {
|
||||
const hasPrevious = !!this.block_.previousConnection;
|
||||
const hasHat = (this.block_.hat ? this.block_.hat === 'cap' :
|
||||
this.constants_.ADD_START_HATS) &&
|
||||
!this.outputConnection && !hasPrevious;
|
||||
|
||||
var cornerClass = this.topRow.hasLeftSquareCorner(this.block_) ?
|
||||
Blockly.blockRendering.SquareCorner : Blockly.blockRendering.RoundCorner;
|
||||
let cornerClass =
|
||||
this.topRow.hasLeftSquareCorner(this.block_) ? SquareCorner : RoundCorner;
|
||||
this.topRow.elements.push(new cornerClass(this.constants_));
|
||||
|
||||
if (hasHat) {
|
||||
var hat = new Blockly.blockRendering.Hat(this.constants_);
|
||||
const hat = new Hat(this.constants_);
|
||||
this.topRow.elements.push(hat);
|
||||
this.topRow.capline = hat.ascenderHeight;
|
||||
} else if (hasPrevious) {
|
||||
this.topRow.hasPreviousConnection = true;
|
||||
this.topRow.connection = new Blockly.blockRendering.PreviousConnection(
|
||||
this.topRow.connection = new PreviousConnection(
|
||||
this.constants_,
|
||||
/** @type {Blockly.RenderedConnection} */
|
||||
/** @type {RenderedConnection} */
|
||||
(this.block_.previousConnection));
|
||||
this.topRow.elements.push(this.topRow.connection);
|
||||
}
|
||||
|
||||
var precedesStatement = this.block_.inputList.length &&
|
||||
this.block_.inputList[0].type == Blockly.inputTypes.STATEMENT;
|
||||
const precedesStatement = this.block_.inputList.length &&
|
||||
this.block_.inputList[0].type == STATEMENT;
|
||||
|
||||
// This is the minimum height for the row. If one of its elements has a
|
||||
// greater height it will be overwritten in the compute pass.
|
||||
@@ -294,8 +293,8 @@ Blockly.blockRendering.RenderInfo.prototype.populateTopRow_ = function() {
|
||||
this.topRow.minHeight = this.constants_.TOP_ROW_MIN_HEIGHT;
|
||||
}
|
||||
|
||||
cornerClass = this.topRow.hasRightSquareCorner(this.block_) ?
|
||||
Blockly.blockRendering.SquareCorner : Blockly.blockRendering.RoundCorner;
|
||||
cornerClass = this.topRow.hasRightSquareCorner(this.block_) ? SquareCorner :
|
||||
RoundCorner;
|
||||
this.topRow.elements.push(new cornerClass(this.constants_, 'right'));
|
||||
};
|
||||
|
||||
@@ -303,79 +302,72 @@ Blockly.blockRendering.RenderInfo.prototype.populateTopRow_ = function() {
|
||||
* Create all non-spacer elements that belong on the bottom row.
|
||||
* @package
|
||||
*/
|
||||
Blockly.blockRendering.RenderInfo.prototype.populateBottomRow_ = function() {
|
||||
RenderInfo.prototype.populateBottomRow_ = function() {
|
||||
this.bottomRow.hasNextConnection = !!this.block_.nextConnection;
|
||||
|
||||
var followsStatement = this.block_.inputList.length &&
|
||||
this.block_.inputList[this.block_.inputList.length - 1].type ==
|
||||
Blockly.inputTypes.STATEMENT;
|
||||
const followsStatement = this.block_.inputList.length &&
|
||||
this.block_.inputList[this.block_.inputList.length - 1].type == STATEMENT;
|
||||
|
||||
// This is the minimum height for the row. If one of its elements has a
|
||||
// greater height it will be overwritten in the compute pass.
|
||||
if (followsStatement) {
|
||||
this.bottomRow.minHeight =
|
||||
this.constants_.BOTTOM_ROW_AFTER_STATEMENT_MIN_HEIGHT;
|
||||
this.constants_.BOTTOM_ROW_AFTER_STATEMENT_MIN_HEIGHT;
|
||||
} else {
|
||||
this.bottomRow.minHeight = this.constants_.BOTTOM_ROW_MIN_HEIGHT;
|
||||
}
|
||||
|
||||
var leftSquareCorner = this.bottomRow.hasLeftSquareCorner(this.block_);
|
||||
const leftSquareCorner = this.bottomRow.hasLeftSquareCorner(this.block_);
|
||||
|
||||
if (leftSquareCorner) {
|
||||
this.bottomRow.elements.push(
|
||||
new Blockly.blockRendering.SquareCorner(this.constants_));
|
||||
this.bottomRow.elements.push(new SquareCorner(this.constants_));
|
||||
} else {
|
||||
this.bottomRow.elements.push(
|
||||
new Blockly.blockRendering.RoundCorner(this.constants_));
|
||||
this.bottomRow.elements.push(new RoundCorner(this.constants_));
|
||||
}
|
||||
|
||||
if (this.bottomRow.hasNextConnection) {
|
||||
this.bottomRow.connection = new Blockly.blockRendering.NextConnection(
|
||||
this.bottomRow.connection = new NextConnection(
|
||||
this.constants_,
|
||||
/** @type {Blockly.RenderedConnection} */ (this.block_.nextConnection));
|
||||
/** @type {RenderedConnection} */ (this.block_.nextConnection));
|
||||
this.bottomRow.elements.push(this.bottomRow.connection);
|
||||
}
|
||||
|
||||
var rightSquareCorner = this.bottomRow.hasRightSquareCorner(this.block_);
|
||||
const rightSquareCorner = this.bottomRow.hasRightSquareCorner(this.block_);
|
||||
|
||||
if (rightSquareCorner) {
|
||||
this.bottomRow.elements.push(
|
||||
new Blockly.blockRendering.SquareCorner(this.constants_, 'right'));
|
||||
this.bottomRow.elements.push(new SquareCorner(this.constants_, 'right'));
|
||||
} else {
|
||||
this.bottomRow.elements.push(
|
||||
new Blockly.blockRendering.RoundCorner(this.constants_, 'right'));
|
||||
this.bottomRow.elements.push(new RoundCorner(this.constants_, 'right'));
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Add an input element to the active row, if needed, and record the type of the
|
||||
* input on the row.
|
||||
* @param {!Blockly.Input} input The input to record information about.
|
||||
* @param {!Blockly.blockRendering.Row} activeRow The row that is currently being
|
||||
* @param {!Input} input The input to record information about.
|
||||
* @param {!Row} activeRow The row that is currently being
|
||||
* populated.
|
||||
* @protected
|
||||
*/
|
||||
Blockly.blockRendering.RenderInfo.prototype.addInput_ = function(input, activeRow) {
|
||||
RenderInfo.prototype.addInput_ = function(input, activeRow) {
|
||||
// Non-dummy inputs have visual representations onscreen.
|
||||
if (this.isInline && input.type == Blockly.inputTypes.VALUE) {
|
||||
activeRow.elements.push(
|
||||
new Blockly.blockRendering.InlineInput(this.constants_, input));
|
||||
if (this.isInline && input.type == VALUE) {
|
||||
activeRow.elements.push(new InlineInput(this.constants_, input));
|
||||
activeRow.hasInlineInput = true;
|
||||
} else if (input.type == Blockly.inputTypes.STATEMENT) {
|
||||
activeRow.elements.push(
|
||||
new Blockly.blockRendering.StatementInput(this.constants_, input));
|
||||
} else if (input.type == STATEMENT) {
|
||||
activeRow.elements.push(new StatementInput(this.constants_, input));
|
||||
activeRow.hasStatement = true;
|
||||
} else if (input.type == Blockly.inputTypes.VALUE) {
|
||||
activeRow.elements.push(
|
||||
new Blockly.blockRendering.ExternalValueInput(this.constants_, input));
|
||||
} else if (input.type == VALUE) {
|
||||
activeRow.elements.push(new ExternalValueInput(this.constants_, input));
|
||||
activeRow.hasExternalInput = true;
|
||||
} else if (input.type == Blockly.inputTypes.DUMMY) {
|
||||
} else if (input.type == DUMMY) {
|
||||
// Dummy inputs have no visual representation, but the information is still
|
||||
// important.
|
||||
activeRow.minHeight = Math.max(activeRow.minHeight,
|
||||
activeRow.minHeight = Math.max(
|
||||
activeRow.minHeight,
|
||||
input.getSourceBlock() && input.getSourceBlock().isShadow() ?
|
||||
this.constants_.DUMMY_INPUT_SHADOW_MIN_HEIGHT :
|
||||
this.constants_.DUMMY_INPUT_MIN_HEIGHT);
|
||||
this.constants_.DUMMY_INPUT_SHADOW_MIN_HEIGHT :
|
||||
this.constants_.DUMMY_INPUT_MIN_HEIGHT);
|
||||
activeRow.hasDummyInput = true;
|
||||
}
|
||||
if (activeRow.align == null) {
|
||||
@@ -385,25 +377,23 @@ Blockly.blockRendering.RenderInfo.prototype.addInput_ = function(input, activeRo
|
||||
|
||||
/**
|
||||
* Decide whether to start a new row between the two Blockly.Inputs.
|
||||
* @param {!Blockly.Input} input The first input to consider
|
||||
* @param {Blockly.Input} lastInput The input that follows.
|
||||
* @param {!Input} input The first input to consider
|
||||
* @param {Input} lastInput The input that follows.
|
||||
* @return {boolean} True if the next input should be rendered on a new row.
|
||||
* @protected
|
||||
*/
|
||||
Blockly.blockRendering.RenderInfo.prototype.shouldStartNewRow_ = function(input, lastInput) {
|
||||
RenderInfo.prototype.shouldStartNewRow_ = function(input, lastInput) {
|
||||
// If this is the first input, just add to the existing row.
|
||||
// That row is either empty or has some icons in it.
|
||||
if (!lastInput) {
|
||||
return false;
|
||||
}
|
||||
// A statement input or an input following one always gets a new row.
|
||||
if (input.type == Blockly.inputTypes.STATEMENT ||
|
||||
lastInput.type == Blockly.inputTypes.STATEMENT) {
|
||||
if (input.type == STATEMENT || lastInput.type == STATEMENT) {
|
||||
return true;
|
||||
}
|
||||
// Value and dummy inputs get new row if inputs are not inlined.
|
||||
if (input.type == Blockly.inputTypes.VALUE ||
|
||||
input.type == Blockly.inputTypes.DUMMY) {
|
||||
if (input.type == VALUE || input.type == DUMMY) {
|
||||
return !this.isInline;
|
||||
}
|
||||
return false;
|
||||
@@ -413,29 +403,28 @@ Blockly.blockRendering.RenderInfo.prototype.shouldStartNewRow_ = function(input,
|
||||
* Add horizontal spacing between and around elements within each row.
|
||||
* @protected
|
||||
*/
|
||||
Blockly.blockRendering.RenderInfo.prototype.addElemSpacing_ = function() {
|
||||
for (var i = 0, row; (row = this.rows[i]); i++) {
|
||||
var oldElems = row.elements;
|
||||
RenderInfo.prototype.addElemSpacing_ = function() {
|
||||
for (let i = 0, row; (row = this.rows[i]); i++) {
|
||||
const oldElems = row.elements;
|
||||
row.elements = [];
|
||||
// No spacing needed before the corner on the top row or the bottom row.
|
||||
if (row.startsWithElemSpacer()) {
|
||||
// There's a spacer before the first element in the row.
|
||||
row.elements.push(new Blockly.blockRendering.InRowSpacer(
|
||||
row.elements.push(new InRowSpacer(
|
||||
this.constants_, this.getInRowSpacing_(null, oldElems[0])));
|
||||
}
|
||||
if (!oldElems.length) {
|
||||
continue;
|
||||
}
|
||||
for (var e = 0; e < oldElems.length - 1; e++) {
|
||||
for (let e = 0; e < oldElems.length - 1; e++) {
|
||||
row.elements.push(oldElems[e]);
|
||||
var spacing = this.getInRowSpacing_(oldElems[e], oldElems[e + 1]);
|
||||
row.elements.push(
|
||||
new Blockly.blockRendering.InRowSpacer(this.constants_, spacing));
|
||||
const spacing = this.getInRowSpacing_(oldElems[e], oldElems[e + 1]);
|
||||
row.elements.push(new InRowSpacer(this.constants_, spacing));
|
||||
}
|
||||
row.elements.push(oldElems[oldElems.length - 1]);
|
||||
if (row.endsWithElemSpacer()) {
|
||||
// There's a spacer after the last element in the row.
|
||||
row.elements.push(new Blockly.blockRendering.InRowSpacer(
|
||||
row.elements.push(new InRowSpacer(
|
||||
this.constants_,
|
||||
this.getInRowSpacing_(oldElems[oldElems.length - 1], null)));
|
||||
}
|
||||
@@ -446,42 +435,40 @@ Blockly.blockRendering.RenderInfo.prototype.addElemSpacing_ = function() {
|
||||
* Calculate the width of a spacer element in a row based on the previous and
|
||||
* next elements in that row. For instance, extra padding is added between two
|
||||
* editable fields.
|
||||
* @param {Blockly.blockRendering.Measurable} prev The element before the
|
||||
* @param {Measurable} prev The element before the
|
||||
* spacer.
|
||||
* @param {Blockly.blockRendering.Measurable} next The element after the spacer.
|
||||
* @param {Measurable} next The element after the spacer.
|
||||
* @return {number} The size of the spacing between the two elements.
|
||||
* @protected
|
||||
*/
|
||||
Blockly.blockRendering.RenderInfo.prototype.getInRowSpacing_ = function(prev, next) {
|
||||
RenderInfo.prototype.getInRowSpacing_ = function(prev, next) {
|
||||
if (!prev) {
|
||||
// Statement input padding.
|
||||
if (next && Blockly.blockRendering.Types.isStatementInput(next)) {
|
||||
if (next && Types.isStatementInput(next)) {
|
||||
return this.constants_.STATEMENT_INPUT_PADDING_LEFT;
|
||||
}
|
||||
}
|
||||
// Between inputs and the end of the row.
|
||||
if (prev && Blockly.blockRendering.Types.isInput(prev) && !next) {
|
||||
if (Blockly.blockRendering.Types.isExternalInput(prev)) {
|
||||
if (prev && Types.isInput(prev) && !next) {
|
||||
if (Types.isExternalInput(prev)) {
|
||||
return this.constants_.NO_PADDING;
|
||||
} else if (Blockly.blockRendering.Types.isInlineInput(prev)) {
|
||||
} else if (Types.isInlineInput(prev)) {
|
||||
return this.constants_.LARGE_PADDING;
|
||||
} else if (Blockly.blockRendering.Types.isStatementInput(prev)) {
|
||||
} else if (Types.isStatementInput(prev)) {
|
||||
return this.constants_.NO_PADDING;
|
||||
}
|
||||
}
|
||||
|
||||
// Spacing between a square corner and a previous or next connection
|
||||
if (prev && Blockly.blockRendering.Types.isLeftSquareCorner(prev) && next) {
|
||||
if (Blockly.blockRendering.Types.isPreviousConnection(next) ||
|
||||
Blockly.blockRendering.Types.isNextConnection(next)) {
|
||||
if (prev && Types.isLeftSquareCorner(prev) && next) {
|
||||
if (Types.isPreviousConnection(next) || Types.isNextConnection(next)) {
|
||||
return next.notchOffset;
|
||||
}
|
||||
}
|
||||
|
||||
// Spacing between a rounded corner and a previous or next connection.
|
||||
if (prev && Blockly.blockRendering.Types.isLeftRoundedCorner(prev) && next) {
|
||||
if (Blockly.blockRendering.Types.isPreviousConnection(next) ||
|
||||
Blockly.blockRendering.Types.isNextConnection(next)) {
|
||||
if (prev && Types.isLeftRoundedCorner(prev) && next) {
|
||||
if (Types.isPreviousConnection(next) || Types.isNextConnection(next)) {
|
||||
return next.notchOffset - this.constants_.CORNER_RADIUS;
|
||||
}
|
||||
}
|
||||
@@ -490,21 +477,21 @@ Blockly.blockRendering.RenderInfo.prototype.getInRowSpacing_ = function(prev, ne
|
||||
};
|
||||
|
||||
/**
|
||||
* Figure out where the right edge of the block and right edge of statement inputs
|
||||
* should be placed.
|
||||
* Figure out where the right edge of the block and right edge of statement
|
||||
* inputs should be placed.
|
||||
* @protected
|
||||
*/
|
||||
// TODO: More cleanup.
|
||||
Blockly.blockRendering.RenderInfo.prototype.computeBounds_ = function() {
|
||||
var widestStatementRowFields = 0;
|
||||
var blockWidth = 0;
|
||||
var widestRowWithConnectedBlocks = 0;
|
||||
for (var i = 0, row; (row = this.rows[i]); i++) {
|
||||
RenderInfo.prototype.computeBounds_ = function() {
|
||||
let widestStatementRowFields = 0;
|
||||
let blockWidth = 0;
|
||||
let widestRowWithConnectedBlocks = 0;
|
||||
for (let i = 0, row; (row = this.rows[i]); i++) {
|
||||
row.measure();
|
||||
blockWidth = Math.max(blockWidth, row.width);
|
||||
if (row.hasStatement) {
|
||||
var statementInput = row.getLastInput();
|
||||
var innerWidth = row.width - statementInput.width;
|
||||
const statementInput = row.getLastInput();
|
||||
const innerWidth = row.width - statementInput.width;
|
||||
widestStatementRowFields = Math.max(widestStatementRowFields, innerWidth);
|
||||
}
|
||||
widestRowWithConnectedBlocks =
|
||||
@@ -514,7 +501,7 @@ Blockly.blockRendering.RenderInfo.prototype.computeBounds_ = function() {
|
||||
this.statementEdge = widestStatementRowFields;
|
||||
this.width = blockWidth;
|
||||
|
||||
for (var i = 0, row; (row = this.rows[i]); i++) {
|
||||
for (let i = 0, row; (row = this.rows[i]); i++) {
|
||||
if (row.hasStatement) {
|
||||
row.statementEdge = this.statementEdge;
|
||||
}
|
||||
@@ -535,19 +522,19 @@ Blockly.blockRendering.RenderInfo.prototype.computeBounds_ = function() {
|
||||
* the sizes of all rows.
|
||||
* @protected
|
||||
*/
|
||||
Blockly.blockRendering.RenderInfo.prototype.alignRowElements_ = function() {
|
||||
for (var i = 0, row; (row = this.rows[i]); i++) {
|
||||
RenderInfo.prototype.alignRowElements_ = function() {
|
||||
for (let i = 0, row; (row = this.rows[i]); i++) {
|
||||
if (row.hasStatement) {
|
||||
this.alignStatementRow_(
|
||||
/** @type {!Blockly.blockRendering.InputRow} */ (row));
|
||||
/** @type {!InputRow} */ (row));
|
||||
} else {
|
||||
var currentWidth = row.width;
|
||||
var desiredWidth = this.getDesiredRowWidth_(row);
|
||||
var missingSpace = desiredWidth - currentWidth;
|
||||
const currentWidth = row.width;
|
||||
const desiredWidth = this.getDesiredRowWidth_(row);
|
||||
const missingSpace = desiredWidth - currentWidth;
|
||||
if (missingSpace > 0) {
|
||||
this.addAlignmentPadding_(row, missingSpace);
|
||||
}
|
||||
if (Blockly.blockRendering.Types.isTopOrBottomRow(row)) {
|
||||
if (Types.isTopOrBottomRow(row)) {
|
||||
row.widthWithConnectedBlocks = row.width;
|
||||
}
|
||||
}
|
||||
@@ -556,12 +543,11 @@ Blockly.blockRendering.RenderInfo.prototype.alignRowElements_ = function() {
|
||||
|
||||
/**
|
||||
* Calculate the desired width of an input row.
|
||||
* @param {!Blockly.blockRendering.Row} _row The input row.
|
||||
* @param {!Row} _row The input row.
|
||||
* @return {number} The desired width of the input row.
|
||||
* @protected
|
||||
*/
|
||||
Blockly.blockRendering.RenderInfo.prototype.getDesiredRowWidth_ = function(
|
||||
_row) {
|
||||
RenderInfo.prototype.getDesiredRowWidth_ = function(_row) {
|
||||
return this.width - this.startX;
|
||||
};
|
||||
|
||||
@@ -569,27 +555,26 @@ Blockly.blockRendering.RenderInfo.prototype.getDesiredRowWidth_ = function(
|
||||
* Modify the given row to add the given amount of padding around its fields.
|
||||
* The exact location of the padding is based on the alignment property of the
|
||||
* last input in the field.
|
||||
* @param {Blockly.blockRendering.Row} row The row to add padding to.
|
||||
* @param {Row} row The row to add padding to.
|
||||
* @param {number} missingSpace How much padding to add.
|
||||
* @protected
|
||||
*/
|
||||
Blockly.blockRendering.RenderInfo.prototype.addAlignmentPadding_ = function(row,
|
||||
missingSpace) {
|
||||
var firstSpacer = row.getFirstSpacer();
|
||||
var lastSpacer = row.getLastSpacer();
|
||||
RenderInfo.prototype.addAlignmentPadding_ = function(row, missingSpace) {
|
||||
const firstSpacer = row.getFirstSpacer();
|
||||
const lastSpacer = row.getLastSpacer();
|
||||
if (row.hasExternalInput || row.hasStatement) {
|
||||
row.widthWithConnectedBlocks += missingSpace;
|
||||
}
|
||||
|
||||
// Decide where the extra padding goes.
|
||||
if (row.align == Blockly.constants.ALIGN.LEFT) {
|
||||
if (row.align == ALIGN.LEFT) {
|
||||
// Add padding to the end of the row.
|
||||
lastSpacer.width += missingSpace;
|
||||
} else if (row.align == Blockly.constants.ALIGN.CENTRE) {
|
||||
} else if (row.align == ALIGN.CENTRE) {
|
||||
// Split the padding between the beginning and end of the row.
|
||||
firstSpacer.width += missingSpace / 2;
|
||||
lastSpacer.width += missingSpace / 2;
|
||||
} else if (row.align == Blockly.constants.ALIGN.RIGHT) {
|
||||
} else if (row.align == ALIGN.RIGHT) {
|
||||
// Add padding at the beginning of the row.
|
||||
firstSpacer.width += missingSpace;
|
||||
} else {
|
||||
@@ -602,15 +587,15 @@ Blockly.blockRendering.RenderInfo.prototype.addAlignmentPadding_ = function(row,
|
||||
/**
|
||||
* Align the elements of a statement row based on computed bounds.
|
||||
* Unlike other types of rows, statement rows add space in multiple places.
|
||||
* @param {!Blockly.blockRendering.InputRow} row The statement row to resize.
|
||||
* @param {!InputRow} row The statement row to resize.
|
||||
* @protected
|
||||
*/
|
||||
Blockly.blockRendering.RenderInfo.prototype.alignStatementRow_ = function(row) {
|
||||
var statementInput = row.getLastInput();
|
||||
var currentWidth = row.width - statementInput.width;
|
||||
var desiredWidth = this.statementEdge;
|
||||
RenderInfo.prototype.alignStatementRow_ = function(row) {
|
||||
const statementInput = row.getLastInput();
|
||||
let currentWidth = row.width - statementInput.width;
|
||||
let desiredWidth = this.statementEdge;
|
||||
// Add padding before the statement input.
|
||||
var missingSpace = desiredWidth - currentWidth;
|
||||
const missingSpace = desiredWidth - currentWidth;
|
||||
if (missingSpace > 0) {
|
||||
this.addAlignmentPadding_(row, missingSpace);
|
||||
}
|
||||
@@ -621,19 +606,19 @@ Blockly.blockRendering.RenderInfo.prototype.alignStatementRow_ = function(row) {
|
||||
statementInput.width += (desiredWidth - currentWidth);
|
||||
statementInput.height = Math.max(statementInput.height, row.height);
|
||||
row.width += (desiredWidth - currentWidth);
|
||||
row.widthWithConnectedBlocks = Math.max(row.width,
|
||||
this.statementEdge + row.connectedBlockWidths);
|
||||
row.widthWithConnectedBlocks =
|
||||
Math.max(row.width, this.statementEdge + row.connectedBlockWidths);
|
||||
};
|
||||
|
||||
/**
|
||||
* Add spacers between rows and set their sizes.
|
||||
* @protected
|
||||
*/
|
||||
Blockly.blockRendering.RenderInfo.prototype.addRowSpacing_ = function() {
|
||||
var oldRows = this.rows;
|
||||
RenderInfo.prototype.addRowSpacing_ = function() {
|
||||
const oldRows = this.rows;
|
||||
this.rows = [];
|
||||
|
||||
for (var r = 0; r < oldRows.length; r++) {
|
||||
for (let r = 0; r < oldRows.length; r++) {
|
||||
this.rows.push(oldRows[r]);
|
||||
if (r != oldRows.length - 1) {
|
||||
this.rows.push(this.makeSpacerRow_(oldRows[r], oldRows[r + 1]));
|
||||
@@ -643,16 +628,15 @@ Blockly.blockRendering.RenderInfo.prototype.addRowSpacing_ = function() {
|
||||
|
||||
/**
|
||||
* Create a spacer row to go between prev and next, and set its size.
|
||||
* @param {!Blockly.blockRendering.Row} prev The previous row.
|
||||
* @param {!Blockly.blockRendering.Row} next The next row.
|
||||
* @return {!Blockly.blockRendering.SpacerRow} The newly created spacer row.
|
||||
* @param {!Row} prev The previous row.
|
||||
* @param {!Row} next The next row.
|
||||
* @return {!SpacerRow} The newly created spacer row.
|
||||
* @protected
|
||||
*/
|
||||
Blockly.blockRendering.RenderInfo.prototype.makeSpacerRow_ = function(prev, next) {
|
||||
var height = this.getSpacerRowHeight_(prev, next);
|
||||
var width = this.getSpacerRowWidth_(prev, next);
|
||||
var spacer = new Blockly.blockRendering.SpacerRow(
|
||||
this.constants_, height, width);
|
||||
RenderInfo.prototype.makeSpacerRow_ = function(prev, next) {
|
||||
const height = this.getSpacerRowHeight_(prev, next);
|
||||
const width = this.getSpacerRowWidth_(prev, next);
|
||||
const spacer = new SpacerRow(this.constants_, height, width);
|
||||
if (prev.hasStatement) {
|
||||
spacer.followsStatement = true;
|
||||
}
|
||||
@@ -664,25 +648,23 @@ Blockly.blockRendering.RenderInfo.prototype.makeSpacerRow_ = function(prev, next
|
||||
|
||||
/**
|
||||
* Calculate the width of a spacer row.
|
||||
* @param {!Blockly.blockRendering.Row} _prev The row before the spacer.
|
||||
* @param {!Blockly.blockRendering.Row} _next The row after the spacer.
|
||||
* @param {!Row} _prev The row before the spacer.
|
||||
* @param {!Row} _next The row after the spacer.
|
||||
* @return {number} The desired width of the spacer row between these two rows.
|
||||
* @protected
|
||||
*/
|
||||
Blockly.blockRendering.RenderInfo.prototype.getSpacerRowWidth_ = function(
|
||||
_prev, _next) {
|
||||
RenderInfo.prototype.getSpacerRowWidth_ = function(_prev, _next) {
|
||||
return this.width - this.startX;
|
||||
};
|
||||
|
||||
/**
|
||||
* Calculate the height of a spacer row.
|
||||
* @param {!Blockly.blockRendering.Row} _prev The row before the spacer.
|
||||
* @param {!Blockly.blockRendering.Row} _next The row after the spacer.
|
||||
* @param {!Row} _prev The row before the spacer.
|
||||
* @param {!Row} _next The row after the spacer.
|
||||
* @return {number} The desired height of the spacer row between these two rows.
|
||||
* @protected
|
||||
*/
|
||||
Blockly.blockRendering.RenderInfo.prototype.getSpacerRowHeight_ = function(
|
||||
_prev, _next) {
|
||||
RenderInfo.prototype.getSpacerRowHeight_ = function(_prev, _next) {
|
||||
return this.constants_.MEDIUM_PADDING;
|
||||
};
|
||||
|
||||
@@ -691,26 +673,25 @@ Blockly.blockRendering.RenderInfo.prototype.getSpacerRowHeight_ = function(
|
||||
* This base implementation puts the centerline at the middle of the row
|
||||
* vertically, with no special cases. You will likely need extra logic to
|
||||
* handle (at minimum) top and bottom rows.
|
||||
* @param {!Blockly.blockRendering.Row} row The row containing the element.
|
||||
* @param {!Blockly.blockRendering.Measurable} elem The element to place.
|
||||
* @param {!Row} row The row containing the element.
|
||||
* @param {!Measurable} elem The element to place.
|
||||
* @return {number} The desired centerline of the given element, as an offset
|
||||
* from the top left of the block.
|
||||
* @protected
|
||||
*/
|
||||
Blockly.blockRendering.RenderInfo.prototype.getElemCenterline_ = function(row,
|
||||
elem) {
|
||||
if (Blockly.blockRendering.Types.isSpacer(elem)) {
|
||||
RenderInfo.prototype.getElemCenterline_ = function(row, elem) {
|
||||
if (Types.isSpacer(elem)) {
|
||||
return row.yPos + elem.height / 2;
|
||||
}
|
||||
if (Blockly.blockRendering.Types.isBottomRow(row)) {
|
||||
var baseline = row.yPos + row.height - row.descenderHeight;
|
||||
if (Blockly.blockRendering.Types.isNextConnection(elem)) {
|
||||
if (Types.isBottomRow(row)) {
|
||||
const baseline = row.yPos + row.height - row.descenderHeight;
|
||||
if (Types.isNextConnection(elem)) {
|
||||
return baseline + elem.height / 2;
|
||||
}
|
||||
return baseline - elem.height / 2;
|
||||
}
|
||||
if (Blockly.blockRendering.Types.isTopRow(row)) {
|
||||
if (Blockly.blockRendering.Types.isHat(elem)) {
|
||||
if (Types.isTopRow(row)) {
|
||||
if (Types.isHat(elem)) {
|
||||
return row.capline - elem.height / 2;
|
||||
}
|
||||
return row.capline + elem.height / 2;
|
||||
@@ -721,15 +702,14 @@ Blockly.blockRendering.RenderInfo.prototype.getElemCenterline_ = function(row,
|
||||
/**
|
||||
* Record final position information on elements on the given row, for use in
|
||||
* drawing. At minimum this records xPos and centerline on each element.
|
||||
* @param {!Blockly.blockRendering.Row} row The row containing the elements.
|
||||
* @param {!Row} row The row containing the elements.
|
||||
* @protected
|
||||
*/
|
||||
Blockly.blockRendering.RenderInfo.prototype.recordElemPositions_ = function(
|
||||
row) {
|
||||
var xCursor = row.xPos;
|
||||
for (var j = 0, elem; (elem = row.elements[j]); j++) {
|
||||
RenderInfo.prototype.recordElemPositions_ = function(row) {
|
||||
let xCursor = row.xPos;
|
||||
for (let j = 0, elem; (elem = row.elements[j]); j++) {
|
||||
// Now that row heights are finalized, make spacers use the row height.
|
||||
if (Blockly.blockRendering.Types.isSpacer(elem)) {
|
||||
if (Types.isSpacer(elem)) {
|
||||
elem.height = row.height;
|
||||
}
|
||||
elem.xPos = xCursor;
|
||||
@@ -743,13 +723,13 @@ Blockly.blockRendering.RenderInfo.prototype.recordElemPositions_ = function(
|
||||
* store the y position of each row, and record the height of the full block.
|
||||
* @protected
|
||||
*/
|
||||
Blockly.blockRendering.RenderInfo.prototype.finalize_ = function() {
|
||||
RenderInfo.prototype.finalize_ = function() {
|
||||
// Performance note: this could be combined with the draw pass, if the time
|
||||
// that this takes is excessive. But it shouldn't be, because it only
|
||||
// accesses and sets properties that already exist on the objects.
|
||||
var widestRowWithConnectedBlocks = 0;
|
||||
var yCursor = 0;
|
||||
for (var i = 0, row; (row = this.rows[i]); i++) {
|
||||
let widestRowWithConnectedBlocks = 0;
|
||||
let yCursor = 0;
|
||||
for (let i = 0, row; (row = this.rows[i]); i++) {
|
||||
row.yPos = yCursor;
|
||||
row.xPos = this.startX;
|
||||
yCursor += row.height;
|
||||
@@ -761,9 +741,9 @@ Blockly.blockRendering.RenderInfo.prototype.finalize_ = function() {
|
||||
if (this.outputConnection && this.block_.nextConnection &&
|
||||
this.block_.nextConnection.isConnected()) {
|
||||
// Include width of connected block in value to stack width measurement.
|
||||
widestRowWithConnectedBlocks =
|
||||
Math.max(widestRowWithConnectedBlocks,
|
||||
this.block_.nextConnection.targetBlock().getHeightWidth().width);
|
||||
widestRowWithConnectedBlocks = Math.max(
|
||||
widestRowWithConnectedBlocks,
|
||||
this.block_.nextConnection.targetBlock().getHeightWidth().width);
|
||||
}
|
||||
|
||||
this.widthWithChildren = widestRowWithConnectedBlocks + this.startX;
|
||||
@@ -772,3 +752,5 @@ Blockly.blockRendering.RenderInfo.prototype.finalize_ = function() {
|
||||
this.startY = this.topRow.capline;
|
||||
this.bottomRow.baseline = yCursor - this.bottomRow.descenderHeight;
|
||||
};
|
||||
|
||||
exports = RenderInfo;
|
||||
|
||||
@@ -15,8 +15,6 @@ goog.provide('Blockly.blockRendering.MarkerSvg');
|
||||
|
||||
goog.require('Blockly.ASTNode');
|
||||
goog.require('Blockly.connectionTypes');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.Events');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.Events.MarkerMove');
|
||||
|
||||
@@ -20,8 +20,6 @@ goog.require('Blockly.blockRendering.MarkerSvg');
|
||||
goog.require('Blockly.blockRendering.PathObject');
|
||||
goog.require('Blockly.blockRendering.RenderInfo');
|
||||
goog.require('Blockly.connectionTypes');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.InsertionMarkerManager');
|
||||
goog.require('Blockly.IRegistrable');
|
||||
|
||||
|
||||
@@ -19,8 +19,6 @@ goog.require('Blockly.blockRendering.InputRow');
|
||||
goog.require('Blockly.blockRendering.InRowSpacer');
|
||||
goog.require('Blockly.blockRendering.RenderInfo');
|
||||
goog.require('Blockly.blockRendering.Types');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.geras.InlineInput');
|
||||
goog.require('Blockly.geras.StatementInput');
|
||||
goog.require('Blockly.inputTypes');
|
||||
|
||||
@@ -15,8 +15,6 @@ goog.provide('Blockly.zelos.ConstantProvider');
|
||||
|
||||
goog.require('Blockly.blockRendering.ConstantProvider');
|
||||
goog.require('Blockly.connectionTypes');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.utils.colour');
|
||||
goog.require('Blockly.utils.dom');
|
||||
goog.require('Blockly.utils.object');
|
||||
|
||||
@@ -18,8 +18,6 @@ goog.require('Blockly.blockRendering.InRowSpacer');
|
||||
goog.require('Blockly.blockRendering.Measurable');
|
||||
goog.require('Blockly.blockRendering.RenderInfo');
|
||||
goog.require('Blockly.blockRendering.Types');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.FieldImage');
|
||||
goog.require('Blockly.FieldLabel');
|
||||
goog.require('Blockly.FieldTextInput');
|
||||
|
||||
@@ -15,8 +15,6 @@ goog.provide('Blockly.zelos.Renderer');
|
||||
goog.require('Blockly.blockRendering');
|
||||
goog.require('Blockly.blockRendering.Renderer');
|
||||
goog.require('Blockly.connectionTypes');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.InsertionMarkerManager');
|
||||
goog.require('Blockly.utils.object');
|
||||
goog.require('Blockly.zelos.ConstantProvider');
|
||||
|
||||
@@ -16,8 +16,7 @@
|
||||
*/
|
||||
goog.provide('Blockly.Touch');
|
||||
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.internalConstants');
|
||||
goog.require('Blockly.utils');
|
||||
goog.require('Blockly.utils.global');
|
||||
goog.require('Blockly.utils.string');
|
||||
@@ -107,8 +106,7 @@ Blockly.longStart = function(e, gesture) {
|
||||
if (gesture) {
|
||||
gesture.handleRightClick(e);
|
||||
}
|
||||
|
||||
}, Blockly.LONGPRESS);
|
||||
}, Blockly.internalConstants.LONGPRESS);
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -14,13 +14,12 @@ goog.provide('Blockly.Trashcan');
|
||||
|
||||
goog.require('Blockly.browserEvents');
|
||||
goog.require('Blockly.ComponentManager');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.DeleteArea');
|
||||
goog.require('Blockly.Events');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.Events.TrashcanOpen');
|
||||
goog.require('Blockly.IAutoHideable');
|
||||
goog.require('Blockly.internalConstants');
|
||||
goog.require('Blockly.IPositionable');
|
||||
goog.require('Blockly.Options');
|
||||
goog.require('Blockly.registry');
|
||||
@@ -316,17 +315,18 @@ Blockly.Trashcan.prototype.createDom = function() {
|
||||
},
|
||||
clip);
|
||||
var body = Blockly.utils.dom.createSvgElement(
|
||||
Blockly.utils.Svg.IMAGE,
|
||||
{
|
||||
'width': Blockly.SPRITE.width,
|
||||
Blockly.utils.Svg.IMAGE, {
|
||||
'width': Blockly.internalConstants.SPRITE.width,
|
||||
'x': -this.SPRITE_LEFT_,
|
||||
'height': Blockly.SPRITE.height,
|
||||
'height': Blockly.internalConstants.SPRITE.height,
|
||||
'y': -this.SPRITE_TOP_,
|
||||
'clip-path': 'url(#blocklyTrashBodyClipPath' + rnd + ')'
|
||||
},
|
||||
this.svgGroup_);
|
||||
body.setAttributeNS(Blockly.utils.dom.XLINK_NS, 'xlink:href',
|
||||
this.workspace_.options.pathToMedia + Blockly.SPRITE.url);
|
||||
body.setAttributeNS(
|
||||
Blockly.utils.dom.XLINK_NS, 'xlink:href',
|
||||
this.workspace_.options.pathToMedia +
|
||||
Blockly.internalConstants.SPRITE.url);
|
||||
|
||||
clip = Blockly.utils.dom.createSvgElement(
|
||||
Blockly.utils.Svg.CLIPPATH,
|
||||
@@ -336,17 +336,18 @@ Blockly.Trashcan.prototype.createDom = function() {
|
||||
Blockly.utils.Svg.RECT,
|
||||
{'width': this.WIDTH_, 'height': this.LID_HEIGHT_}, clip);
|
||||
this.svgLid_ = Blockly.utils.dom.createSvgElement(
|
||||
Blockly.utils.Svg.IMAGE,
|
||||
{
|
||||
'width': Blockly.SPRITE.width,
|
||||
Blockly.utils.Svg.IMAGE, {
|
||||
'width': Blockly.internalConstants.SPRITE.width,
|
||||
'x': -this.SPRITE_LEFT_,
|
||||
'height': Blockly.SPRITE.height,
|
||||
'height': Blockly.internalConstants.SPRITE.height,
|
||||
'y': -this.SPRITE_TOP_,
|
||||
'clip-path': 'url(#blocklyTrashLidClipPath' + rnd + ')'
|
||||
},
|
||||
this.svgGroup_);
|
||||
this.svgLid_.setAttributeNS(Blockly.utils.dom.XLINK_NS, 'xlink:href',
|
||||
this.workspace_.options.pathToMedia + Blockly.SPRITE.url);
|
||||
this.svgLid_.setAttributeNS(
|
||||
Blockly.utils.dom.XLINK_NS, 'xlink:href',
|
||||
this.workspace_.options.pathToMedia +
|
||||
Blockly.internalConstants.SPRITE.url);
|
||||
|
||||
// bindEventWithChecks_ quashes events too aggressively. See:
|
||||
// https://groups.google.com/forum/#!topic/blockly/QF4yB9Wx00s
|
||||
|
||||
@@ -18,8 +18,7 @@
|
||||
*/
|
||||
goog.provide('Blockly.utils');
|
||||
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.internalConstants');
|
||||
goog.require('Blockly.Msg');
|
||||
goog.require('Blockly.utils.colour');
|
||||
goog.require('Blockly.utils.Coordinate');
|
||||
@@ -194,13 +193,13 @@ Blockly.utils.getScrollDeltaPixels = function(e) {
|
||||
};
|
||||
case 0x01: // Line mode.
|
||||
return {
|
||||
x: e.deltaX * Blockly.LINE_MODE_MULTIPLIER,
|
||||
y: e.deltaY * Blockly.LINE_MODE_MULTIPLIER
|
||||
x: e.deltaX * Blockly.internalConstants.LINE_MODE_MULTIPLIER,
|
||||
y: e.deltaY * Blockly.internalConstants.LINE_MODE_MULTIPLIER
|
||||
};
|
||||
case 0x02: // Page mode.
|
||||
return {
|
||||
x: e.deltaX * Blockly.PAGE_MODE_MULTIPLIER,
|
||||
y: e.deltaY * Blockly.PAGE_MODE_MULTIPLIER
|
||||
x: e.deltaX * Blockly.internalConstants.PAGE_MODE_MULTIPLIER,
|
||||
y: e.deltaY * Blockly.internalConstants.PAGE_MODE_MULTIPLIER
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -634,8 +633,9 @@ Blockly.utils.parseBlockColour = function(colour) {
|
||||
if (!isNaN(hue) && 0 <= hue && hue <= 360) {
|
||||
return {
|
||||
hue: hue,
|
||||
hex: Blockly.utils.colour.hsvToHex(hue, Blockly.HSV_SATURATION,
|
||||
Blockly.HSV_VALUE * 255)
|
||||
hex: Blockly.utils.colour.hsvToHex(
|
||||
hue, Blockly.internalConstants.HSV_SATURATION,
|
||||
Blockly.internalConstants.HSV_VALUE * 255)
|
||||
};
|
||||
} else {
|
||||
var hex = Blockly.utils.colour.parse(dereferenced);
|
||||
|
||||
@@ -17,8 +17,7 @@
|
||||
goog.provide('Blockly.Variables');
|
||||
|
||||
goog.require('Blockly.Blocks');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.internalConstants');
|
||||
goog.require('Blockly.Msg');
|
||||
goog.require('Blockly.utils');
|
||||
goog.require('Blockly.utils.xml');
|
||||
@@ -31,9 +30,9 @@ goog.requireType('Blockly.Workspace');
|
||||
/**
|
||||
* Constant to separate variable names from procedures and generated functions
|
||||
* when running generators.
|
||||
* @deprecated Use Blockly.VARIABLE_CATEGORY_NAME
|
||||
* @deprecated Use Blockly.internalConstants.VARIABLE_CATEGORY_NAME
|
||||
*/
|
||||
Blockly.Variables.NAME_TYPE = Blockly.VARIABLE_CATEGORY_NAME;
|
||||
Blockly.Variables.NAME_TYPE = Blockly.internalConstants.VARIABLE_CATEGORY_NAME;
|
||||
|
||||
/**
|
||||
* Find all user-created variables that are in use in the workspace.
|
||||
|
||||
@@ -13,8 +13,7 @@
|
||||
|
||||
goog.provide('Blockly.WorkspaceAudio');
|
||||
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.internalConstants');
|
||||
goog.require('Blockly.utils');
|
||||
goog.require('Blockly.utils.global');
|
||||
goog.require('Blockly.utils.userAgent');
|
||||
@@ -135,7 +134,7 @@ Blockly.WorkspaceAudio.prototype.play = function(name, opt_volume) {
|
||||
// Don't play one sound on top of another.
|
||||
var now = new Date;
|
||||
if (this.lastSound_ != null &&
|
||||
now - this.lastSound_ < Blockly.SOUND_LIMIT) {
|
||||
now - this.lastSound_ < Blockly.internalConstants.SOUND_LIMIT) {
|
||||
return;
|
||||
}
|
||||
this.lastSound_ = now;
|
||||
|
||||
@@ -17,8 +17,6 @@ goog.require('Blockly.BlockSvg');
|
||||
goog.require('Blockly.browserEvents');
|
||||
goog.require('Blockly.ComponentManager');
|
||||
goog.require('Blockly.ConnectionDB');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.ContextMenu');
|
||||
goog.require('Blockly.ContextMenuRegistry');
|
||||
goog.require('Blockly.Events');
|
||||
@@ -31,6 +29,7 @@ goog.require('Blockly.Events.ViewportChange');
|
||||
goog.require('Blockly.Gesture');
|
||||
goog.require('Blockly.Grid');
|
||||
goog.require('Blockly.IASTNodeLocationSvg');
|
||||
goog.require('Blockly.internalConstants');
|
||||
goog.require('Blockly.MarkerManager');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.MetricsManager');
|
||||
@@ -181,15 +180,18 @@ Blockly.WorkspaceSvg = function(
|
||||
this.flyoutButtonCallbacks_ = Object.create(null);
|
||||
|
||||
if (Blockly.Variables && Blockly.Variables.flyoutCategory) {
|
||||
this.registerToolboxCategoryCallback(Blockly.VARIABLE_CATEGORY_NAME,
|
||||
this.registerToolboxCategoryCallback(
|
||||
Blockly.internalConstants.VARIABLE_CATEGORY_NAME,
|
||||
Blockly.Variables.flyoutCategory);
|
||||
}
|
||||
if (Blockly.VariablesDynamic && Blockly.VariablesDynamic.flyoutCategory) {
|
||||
this.registerToolboxCategoryCallback(Blockly.VARIABLE_DYNAMIC_CATEGORY_NAME,
|
||||
this.registerToolboxCategoryCallback(
|
||||
Blockly.internalConstants.VARIABLE_DYNAMIC_CATEGORY_NAME,
|
||||
Blockly.VariablesDynamic.flyoutCategory);
|
||||
}
|
||||
if (Blockly.Procedures && Blockly.Procedures.flyoutCategory) {
|
||||
this.registerToolboxCategoryCallback(Blockly.PROCEDURE_CATEGORY_NAME,
|
||||
this.registerToolboxCategoryCallback(
|
||||
Blockly.internalConstants.PROCEDURE_CATEGORY_NAME,
|
||||
Blockly.Procedures.flyoutCategory);
|
||||
this.addChangeListener(Blockly.Procedures.mutatorOpenListener);
|
||||
}
|
||||
@@ -1521,7 +1523,8 @@ Blockly.WorkspaceSvg.prototype.pasteBlock_ = function(xmlBlock) {
|
||||
// Check for blocks in snap range to any of its connections.
|
||||
var connections = block.getConnections_(false);
|
||||
for (var i = 0, connection; (connection = connections[i]); i++) {
|
||||
var neighbour = connection.closest(Blockly.SNAP_RADIUS,
|
||||
var neighbour = connection.closest(
|
||||
Blockly.internalConstants.SNAP_RADIUS,
|
||||
new Blockly.utils.Coordinate(blockX, blockY));
|
||||
if (neighbour.connection) {
|
||||
collide = true;
|
||||
@@ -1531,11 +1534,11 @@ Blockly.WorkspaceSvg.prototype.pasteBlock_ = function(xmlBlock) {
|
||||
}
|
||||
if (collide) {
|
||||
if (this.RTL) {
|
||||
blockX -= Blockly.SNAP_RADIUS;
|
||||
blockX -= Blockly.internalConstants.SNAP_RADIUS;
|
||||
} else {
|
||||
blockX += Blockly.SNAP_RADIUS;
|
||||
blockX += Blockly.internalConstants.SNAP_RADIUS;
|
||||
}
|
||||
blockY += Blockly.SNAP_RADIUS * 2;
|
||||
blockY += Blockly.internalConstants.SNAP_RADIUS * 2;
|
||||
}
|
||||
} while (collide);
|
||||
block.moveBy(blockX, blockY);
|
||||
|
||||
@@ -15,9 +15,6 @@
|
||||
* @namespace
|
||||
*/
|
||||
goog.provide('Blockly.Xml');
|
||||
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.Events');
|
||||
goog.require('Blockly.inputTypes');
|
||||
goog.require('Blockly.utils');
|
||||
|
||||
@@ -14,13 +14,12 @@ goog.provide('Blockly.ZoomControls');
|
||||
|
||||
goog.require('Blockly.browserEvents');
|
||||
goog.require('Blockly.ComponentManager');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.constants');
|
||||
goog.require('Blockly.Css');
|
||||
goog.require('Blockly.Events');
|
||||
/** @suppress {extraRequire} */
|
||||
goog.require('Blockly.Events.Click');
|
||||
goog.require('Blockly.IPositionable');
|
||||
goog.require('Blockly.internalConstants');
|
||||
goog.require('Blockly.Touch');
|
||||
goog.require('Blockly.uiPosition');
|
||||
goog.require('Blockly.utils');
|
||||
@@ -337,17 +336,18 @@ Blockly.ZoomControls.prototype.createZoomOutSvg_ = function(rnd) {
|
||||
},
|
||||
clip);
|
||||
var zoomoutSvg = Blockly.utils.dom.createSvgElement(
|
||||
Blockly.utils.Svg.IMAGE,
|
||||
{
|
||||
'width': Blockly.SPRITE.width,
|
||||
'height': Blockly.SPRITE.height,
|
||||
Blockly.utils.Svg.IMAGE, {
|
||||
'width': Blockly.internalConstants.SPRITE.width,
|
||||
'height': Blockly.internalConstants.SPRITE.height,
|
||||
'x': -64,
|
||||
'y': -92,
|
||||
'clip-path': 'url(#blocklyZoomoutClipPath' + rnd + ')'
|
||||
},
|
||||
this.zoomOutGroup_);
|
||||
zoomoutSvg.setAttributeNS(Blockly.utils.dom.XLINK_NS, 'xlink:href',
|
||||
this.workspace_.options.pathToMedia + Blockly.SPRITE.url);
|
||||
zoomoutSvg.setAttributeNS(
|
||||
Blockly.utils.dom.XLINK_NS, 'xlink:href',
|
||||
this.workspace_.options.pathToMedia +
|
||||
Blockly.internalConstants.SPRITE.url);
|
||||
|
||||
// Attach listener.
|
||||
this.onZoomOutWrapper_ = Blockly.browserEvents.conditionalBind(
|
||||
@@ -388,17 +388,18 @@ Blockly.ZoomControls.prototype.createZoomInSvg_ = function(rnd) {
|
||||
},
|
||||
clip);
|
||||
var zoominSvg = Blockly.utils.dom.createSvgElement(
|
||||
Blockly.utils.Svg.IMAGE,
|
||||
{
|
||||
'width': Blockly.SPRITE.width,
|
||||
'height': Blockly.SPRITE.height,
|
||||
Blockly.utils.Svg.IMAGE, {
|
||||
'width': Blockly.internalConstants.SPRITE.width,
|
||||
'height': Blockly.internalConstants.SPRITE.height,
|
||||
'x': -32,
|
||||
'y': -92,
|
||||
'clip-path': 'url(#blocklyZoominClipPath' + rnd + ')'
|
||||
},
|
||||
this.zoomInGroup_);
|
||||
zoominSvg.setAttributeNS(Blockly.utils.dom.XLINK_NS, 'xlink:href',
|
||||
this.workspace_.options.pathToMedia + Blockly.SPRITE.url);
|
||||
zoominSvg.setAttributeNS(
|
||||
Blockly.utils.dom.XLINK_NS, 'xlink:href',
|
||||
this.workspace_.options.pathToMedia +
|
||||
Blockly.internalConstants.SPRITE.url);
|
||||
|
||||
// Attach listener.
|
||||
this.onZoomInWrapper_ = Blockly.browserEvents.conditionalBind(
|
||||
@@ -456,16 +457,17 @@ Blockly.ZoomControls.prototype.createZoomResetSvg_ = function(rnd) {
|
||||
},
|
||||
clip);
|
||||
var zoomresetSvg = Blockly.utils.dom.createSvgElement(
|
||||
Blockly.utils.Svg.IMAGE,
|
||||
{
|
||||
'width': Blockly.SPRITE.width,
|
||||
'height': Blockly.SPRITE.height,
|
||||
Blockly.utils.Svg.IMAGE, {
|
||||
'width': Blockly.internalConstants.SPRITE.width,
|
||||
'height': Blockly.internalConstants.SPRITE.height,
|
||||
'y': -92,
|
||||
'clip-path': 'url(#blocklyZoomresetClipPath' + rnd + ')'
|
||||
},
|
||||
this.zoomResetGroup_);
|
||||
zoomresetSvg.setAttributeNS(Blockly.utils.dom.XLINK_NS, 'xlink:href',
|
||||
this.workspace_.options.pathToMedia + Blockly.SPRITE.url);
|
||||
zoomresetSvg.setAttributeNS(
|
||||
Blockly.utils.dom.XLINK_NS, 'xlink:href',
|
||||
this.workspace_.options.pathToMedia +
|
||||
Blockly.internalConstants.SPRITE.url);
|
||||
|
||||
// Attach event listeners.
|
||||
this.onZoomResetWrapper_ = Blockly.browserEvents.conditionalBind(
|
||||
|
||||
@@ -11,8 +11,8 @@ goog.addDependency('../../core/block.js', ['Blockly.Block'], ['Blockly.ASTNode',
|
||||
goog.addDependency('../../core/block_animations.js', ['Blockly.blockAnimations'], ['Blockly.utils.Svg', 'Blockly.utils.dom'], {'lang': 'es6', 'module': 'goog'});
|
||||
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']);
|
||||
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.internalConstants', '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.internalConstants', 'Blockly.utils', 'Blockly.utils.Size', 'Blockly.utils.colour', 'Blockly.utils.deprecation', 'Blockly.utils.toolbox']);
|
||||
goog.addDependency('../../core/blocks.js', ['Blockly.Blocks'], [], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/browser_events.js', ['Blockly.browserEvents'], ['Blockly.Touch', 'Blockly.utils.global']);
|
||||
goog.addDependency('../../core/bubble.js', ['Blockly.Bubble'], ['Blockly.IBubble', 'Blockly.Scrollbar', 'Blockly.Touch', 'Blockly.Workspace', 'Blockly.browserEvents', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Size', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.math', 'Blockly.utils.userAgent']);
|
||||
@@ -20,16 +20,16 @@ goog.addDependency('../../core/bubble_dragger.js', ['Blockly.BubbleDragger'], ['
|
||||
goog.addDependency('../../core/comment.js', ['Blockly.Comment'], ['Blockly.Bubble', 'Blockly.Css', 'Blockly.Events', 'Blockly.Events.BlockChange', 'Blockly.Events.BubbleOpen', 'Blockly.Icon', 'Blockly.Warning', 'Blockly.browserEvents', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.object', 'Blockly.utils.userAgent'], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/component_manager.js', ['Blockly.ComponentManager'], [], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/connection.js', ['Blockly.Connection'], ['Blockly.Events', 'Blockly.Events.BlockMove', 'Blockly.IASTNodeLocationWithBlock', 'Blockly.Xml', 'Blockly.connectionTypes', 'Blockly.constants', 'Blockly.utils.deprecation'], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/connection_checker.js', ['Blockly.ConnectionChecker'], ['Blockly.Connection', 'Blockly.IConnectionChecker', 'Blockly.connectionTypes', 'Blockly.constants', 'Blockly.registry'], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/connection_checker.js', ['Blockly.ConnectionChecker'], ['Blockly.Connection', 'Blockly.IConnectionChecker', 'Blockly.connectionTypes', 'Blockly.internalConstants', 'Blockly.registry'], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/connection_db.js', ['Blockly.ConnectionDB'], ['Blockly.RenderedConnection', 'Blockly.connectionTypes', 'Blockly.constants'], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/connection_types.js', ['Blockly.connectionTypes'], [], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/constants.js', ['Blockly.constants'], ['Blockly.connectionTypes']);
|
||||
goog.addDependency('../../core/contextmenu.js', ['Blockly.ContextMenu'], ['Blockly.Events', 'Blockly.Events.BlockCreate', 'Blockly.Menu', 'Blockly.MenuItem', 'Blockly.Msg', 'Blockly.WidgetDiv', 'Blockly.Xml', 'Blockly.browserEvents', 'Blockly.constants', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Rect', 'Blockly.utils.aria', 'Blockly.utils.dom', 'Blockly.utils.userAgent']);
|
||||
goog.addDependency('../../core/constants.js', ['Blockly.constants'], [], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/contextmenu.js', ['Blockly.ContextMenu'], ['Blockly.Events', 'Blockly.Events.BlockCreate', 'Blockly.Menu', 'Blockly.MenuItem', 'Blockly.Msg', 'Blockly.WidgetDiv', 'Blockly.Xml', 'Blockly.browserEvents', 'Blockly.internalConstants', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Rect', 'Blockly.utils.aria', 'Blockly.utils.dom', 'Blockly.utils.userAgent']);
|
||||
goog.addDependency('../../core/contextmenu_items.js', ['Blockly.ContextMenuItems'], ['Blockly.ContextMenuRegistry', 'Blockly.Events', 'Blockly.constants', 'Blockly.inputTypes'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/contextmenu_registry.js', ['Blockly.ContextMenuRegistry'], [], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/css.js', ['Blockly.Css'], [], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/delete_area.js', ['Blockly.DeleteArea'], ['Blockly.BlockSvg', 'Blockly.DragTarget', 'Blockly.IDeleteArea']);
|
||||
goog.addDependency('../../core/drag_target.js', ['Blockly.DragTarget'], ['Blockly.IDragTarget']);
|
||||
goog.addDependency('../../core/drag_target.js', ['Blockly.DragTarget'], ['Blockly.IDragTarget'], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/dropdowndiv.js', ['Blockly.DropDownDiv'], ['Blockly.utils.Rect', 'Blockly.utils.dom', 'Blockly.utils.math', 'Blockly.utils.style']);
|
||||
goog.addDependency('../../core/events/block_events.js', ['Blockly.Events.BlockBase', 'Blockly.Events.BlockChange', 'Blockly.Events.BlockCreate', 'Blockly.Events.BlockDelete', 'Blockly.Events.BlockMove', 'Blockly.Events.Change', 'Blockly.Events.Create', 'Blockly.Events.Delete', 'Blockly.Events.Move'], ['Blockly.Events', 'Blockly.Events.Abstract', 'Blockly.Xml', 'Blockly.connectionTypes', 'Blockly.registry', 'Blockly.utils.Coordinate', 'Blockly.utils.object', 'Blockly.utils.xml']);
|
||||
goog.addDependency('../../core/events/events.js', ['Blockly.Events'], ['Blockly.registry', 'Blockly.utils']);
|
||||
@@ -48,9 +48,9 @@ goog.addDependency('../../core/events/variable_events.js', ['Blockly.Events.VarB
|
||||
goog.addDependency('../../core/events/workspace_events.js', ['Blockly.Events.FinishedLoading'], ['Blockly.Events', 'Blockly.Events.Abstract', 'Blockly.registry', 'Blockly.utils.object'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/events/ws_comment_events.js', ['Blockly.Events.CommentBase', 'Blockly.Events.CommentChange', 'Blockly.Events.CommentCreate', 'Blockly.Events.CommentDelete', 'Blockly.Events.CommentMove'], ['Blockly.Events', 'Blockly.Events.Abstract', 'Blockly.Xml', 'Blockly.registry', 'Blockly.utils.Coordinate', 'Blockly.utils.object', 'Blockly.utils.xml']);
|
||||
goog.addDependency('../../core/extensions.js', ['Blockly.Extensions'], ['Blockly.utils'], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/field.js', ['Blockly.Field'], ['Blockly.DropDownDiv', 'Blockly.Events', 'Blockly.Events.BlockChange', 'Blockly.Gesture', 'Blockly.IASTNodeLocationSvg', 'Blockly.IASTNodeLocationWithBlock', 'Blockly.IKeyboardAccessible', 'Blockly.IRegistrable', 'Blockly.MarkerManager', 'Blockly.Tooltip', 'Blockly.WidgetDiv', 'Blockly.browserEvents', 'Blockly.utils', 'Blockly.utils.Rect', 'Blockly.utils.Size', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.style', 'Blockly.utils.userAgent'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/field.js', ['Blockly.Field'], ['Blockly.DropDownDiv', 'Blockly.Events', 'Blockly.Events.BlockChange', 'Blockly.Gesture', 'Blockly.IASTNodeLocationSvg', 'Blockly.IASTNodeLocationWithBlock', 'Blockly.IKeyboardAccessible', 'Blockly.IRegistrable', 'Blockly.MarkerManager', 'Blockly.Tooltip', 'Blockly.WidgetDiv', 'Blockly.browserEvents', 'Blockly.utils', 'Blockly.utils.Rect', 'Blockly.utils.Size', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.style', 'Blockly.utils.userAgent'], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/field_angle.js', ['Blockly.FieldAngle'], ['Blockly.Css', 'Blockly.DropDownDiv', 'Blockly.FieldTextInput', 'Blockly.WidgetDiv', 'Blockly.browserEvents', 'Blockly.fieldRegistry', 'Blockly.utils.KeyCodes', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.math', 'Blockly.utils.object', 'Blockly.utils.userAgent']);
|
||||
goog.addDependency('../../core/field_checkbox.js', ['Blockly.FieldCheckbox'], ['Blockly.Events.BlockChange', 'Blockly.Field', 'Blockly.fieldRegistry', 'Blockly.utils.dom', 'Blockly.utils.object']);
|
||||
goog.addDependency('../../core/field_checkbox.js', ['Blockly.FieldCheckbox'], ['Blockly.Events.BlockChange', 'Blockly.Field', 'Blockly.fieldRegistry', 'Blockly.utils.dom', 'Blockly.utils.object'], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/field_colour.js', ['Blockly.FieldColour'], ['Blockly.Css', 'Blockly.DropDownDiv', 'Blockly.Events.BlockChange', 'Blockly.Field', 'Blockly.browserEvents', 'Blockly.fieldRegistry', 'Blockly.utils.IdGenerator', 'Blockly.utils.KeyCodes', 'Blockly.utils.Size', 'Blockly.utils.aria', 'Blockly.utils.colour', 'Blockly.utils.dom', 'Blockly.utils.object'], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/field_dropdown.js', ['Blockly.FieldDropdown'], ['Blockly.DropDownDiv', 'Blockly.Field', 'Blockly.Menu', 'Blockly.MenuItem', 'Blockly.fieldRegistry', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Svg', 'Blockly.utils.aria', 'Blockly.utils.dom', 'Blockly.utils.object', 'Blockly.utils.string', 'Blockly.utils.userAgent']);
|
||||
goog.addDependency('../../core/field_image.js', ['Blockly.FieldImage'], ['Blockly.Field', 'Blockly.fieldRegistry', 'Blockly.utils', 'Blockly.utils.Size', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.object']);
|
||||
@@ -60,19 +60,19 @@ goog.addDependency('../../core/field_multilineinput.js', ['Blockly.FieldMultilin
|
||||
goog.addDependency('../../core/field_number.js', ['Blockly.FieldNumber'], ['Blockly.FieldTextInput', 'Blockly.fieldRegistry', 'Blockly.utils.aria', 'Blockly.utils.object']);
|
||||
goog.addDependency('../../core/field_registry.js', ['Blockly.fieldRegistry'], ['Blockly.registry']);
|
||||
goog.addDependency('../../core/field_textinput.js', ['Blockly.FieldTextInput'], ['Blockly.DropDownDiv', 'Blockly.Events', 'Blockly.Events.BlockChange', 'Blockly.Field', 'Blockly.Msg', 'Blockly.WidgetDiv', 'Blockly.browserEvents', 'Blockly.fieldRegistry', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.KeyCodes', 'Blockly.utils.aria', 'Blockly.utils.dom', 'Blockly.utils.object', 'Blockly.utils.userAgent']);
|
||||
goog.addDependency('../../core/field_variable.js', ['Blockly.FieldVariable'], ['Blockly.Events.BlockChange', 'Blockly.FieldDropdown', 'Blockly.Msg', 'Blockly.VariableModel', 'Blockly.Variables', 'Blockly.Xml', 'Blockly.constants', 'Blockly.fieldRegistry', 'Blockly.utils', 'Blockly.utils.Size', 'Blockly.utils.object']);
|
||||
goog.addDependency('../../core/field_variable.js', ['Blockly.FieldVariable'], ['Blockly.Events.BlockChange', 'Blockly.FieldDropdown', 'Blockly.Msg', 'Blockly.VariableModel', 'Blockly.Variables', 'Blockly.Xml', 'Blockly.fieldRegistry', 'Blockly.internalConstants', 'Blockly.utils', 'Blockly.utils.Size', 'Blockly.utils.object']);
|
||||
goog.addDependency('../../core/flyout_base.js', ['Blockly.Flyout'], ['Blockly.Block', 'Blockly.ComponentManager', 'Blockly.DeleteArea', 'Blockly.Events', 'Blockly.Events.BlockCreate', 'Blockly.Events.VarCreate', 'Blockly.FlyoutMetricsManager', 'Blockly.Gesture', 'Blockly.IFlyout', 'Blockly.ScrollbarPair', 'Blockly.Tooltip', 'Blockly.Touch', 'Blockly.WorkspaceSvg', 'Blockly.Xml', 'Blockly.blockRendering', 'Blockly.browserEvents', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.toolbox', 'Blockly.utils.xml']);
|
||||
goog.addDependency('../../core/flyout_button.js', ['Blockly.FlyoutButton'], ['Blockly.Css', 'Blockly.browserEvents', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.style'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/flyout_horizontal.js', ['Blockly.HorizontalFlyout'], ['Blockly.Block', 'Blockly.DropDownDiv', 'Blockly.Flyout', 'Blockly.Scrollbar', 'Blockly.WidgetDiv', 'Blockly.constants', 'Blockly.registry', 'Blockly.utils', 'Blockly.utils.Rect', 'Blockly.utils.object', 'Blockly.utils.toolbox']);
|
||||
goog.addDependency('../../core/flyout_horizontal.js', ['Blockly.HorizontalFlyout'], ['Blockly.Block', 'Blockly.DropDownDiv', 'Blockly.Flyout', 'Blockly.Scrollbar', 'Blockly.WidgetDiv', 'Blockly.registry', 'Blockly.utils', 'Blockly.utils.Rect', 'Blockly.utils.object', 'Blockly.utils.toolbox']);
|
||||
goog.addDependency('../../core/flyout_vertical.js', ['Blockly.VerticalFlyout'], ['Blockly.Block', 'Blockly.DropDownDiv', 'Blockly.Flyout', 'Blockly.Scrollbar', 'Blockly.WidgetDiv', 'Blockly.constants', 'Blockly.registry', 'Blockly.utils', 'Blockly.utils.Rect', 'Blockly.utils.object', 'Blockly.utils.toolbox']);
|
||||
goog.addDependency('../../core/generator.js', ['Blockly.Generator'], ['Blockly.Block', 'Blockly.constants', 'Blockly.utils.deprecation']);
|
||||
goog.addDependency('../../core/gesture.js', ['Blockly.Gesture'], ['Blockly.BlockDragger', 'Blockly.BubbleDragger', 'Blockly.Events', 'Blockly.Events.Click', 'Blockly.Tooltip', 'Blockly.Touch', 'Blockly.Workspace', 'Blockly.WorkspaceDragger', 'Blockly.blockAnimations', 'Blockly.browserEvents', 'Blockly.constants', 'Blockly.utils', 'Blockly.utils.Coordinate']);
|
||||
goog.addDependency('../../core/generator.js', ['Blockly.Generator'], ['Blockly.Block', 'Blockly.internalConstants', 'Blockly.utils.deprecation']);
|
||||
goog.addDependency('../../core/gesture.js', ['Blockly.Gesture'], ['Blockly.BlockDragger', 'Blockly.BubbleDragger', 'Blockly.Events', 'Blockly.Events.Click', 'Blockly.Tooltip', 'Blockly.Touch', 'Blockly.Workspace', 'Blockly.WorkspaceDragger', 'Blockly.blockAnimations', 'Blockly.browserEvents', 'Blockly.internalConstants', 'Blockly.utils', 'Blockly.utils.Coordinate']);
|
||||
goog.addDependency('../../core/grid.js', ['Blockly.Grid'], ['Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.userAgent']);
|
||||
goog.addDependency('../../core/icon.js', ['Blockly.Icon'], ['Blockly.browserEvents', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Size', 'Blockly.utils.Svg', 'Blockly.utils.dom']);
|
||||
goog.addDependency('../../core/inject.js', ['Blockly.inject'], ['Blockly.BlockDragSurfaceSvg', 'Blockly.Css', 'Blockly.DropDownDiv', 'Blockly.Events', 'Blockly.Grid', 'Blockly.Msg', 'Blockly.Options', 'Blockly.ScrollbarPair', 'Blockly.Tooltip', 'Blockly.WidgetDiv', 'Blockly.Workspace', 'Blockly.WorkspaceDragSurfaceSvg', 'Blockly.WorkspaceSvg', 'Blockly.browserEvents', 'Blockly.utils', 'Blockly.utils.Svg', 'Blockly.utils.aria', 'Blockly.utils.dom', 'Blockly.utils.math', 'Blockly.utils.userAgent']);
|
||||
goog.addDependency('../../core/input.js', ['Blockly.Input'], ['Blockly.Connection', 'Blockly.FieldLabel', 'Blockly.constants', 'Blockly.fieldRegistry', 'Blockly.inputTypes'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/input.js', ['Blockly.Input'], ['Blockly.Connection', 'Blockly.FieldLabel', 'Blockly.fieldRegistry', 'Blockly.inputTypes'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/input_types.js', ['Blockly.inputTypes'], ['Blockly.connectionTypes']);
|
||||
goog.addDependency('../../core/insertion_marker_manager.js', ['Blockly.InsertionMarkerManager'], ['Blockly.ComponentManager', 'Blockly.Events', 'Blockly.blockAnimations', 'Blockly.connectionTypes', 'Blockly.constants'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/insertion_marker_manager.js', ['Blockly.InsertionMarkerManager'], ['Blockly.ComponentManager', 'Blockly.Events', 'Blockly.blockAnimations', 'Blockly.connectionTypes', 'Blockly.internalConstants'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/interfaces/i_ast_node_location.js', ['Blockly.IASTNodeLocation'], [], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/interfaces/i_ast_node_location_svg.js', ['Blockly.IASTNodeLocationSvg'], ['Blockly.IASTNodeLocation'], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/interfaces/i_ast_node_location_with_block.js', ['Blockly.IASTNodeLocationWithBlock'], ['Blockly.IASTNodeLocation'], {'lang': 'es6', 'module': 'goog'});
|
||||
@@ -95,43 +95,44 @@ goog.addDependency('../../core/interfaces/i_metrics_manager.js', ['Blockly.IMetr
|
||||
goog.addDependency('../../core/interfaces/i_movable.js', ['Blockly.IMovable'], [], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/interfaces/i_positionable.js', ['Blockly.IPositionable'], ['Blockly.IComponent'], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/interfaces/i_registrable.js', ['Blockly.IRegistrable'], [], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/interfaces/i_registrable_field.js', ['Blockly.IRegistrableField'], []);
|
||||
goog.addDependency('../../core/interfaces/i_registrable_field.js', ['Blockly.IRegistrableField'], [], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/interfaces/i_selectable.js', ['Blockly.ISelectable'], [], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/interfaces/i_selectable_toolbox_item.js', ['Blockly.ISelectableToolboxItem'], ['Blockly.IToolboxItem'], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/interfaces/i_styleable.js', ['Blockly.IStyleable'], [], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/interfaces/i_toolbox.js', ['Blockly.IToolbox'], ['Blockly.IRegistrable'], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/interfaces/i_toolbox_item.js', ['Blockly.IToolboxItem'], [], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/keyboard_nav/ast_node.js', ['Blockly.ASTNode'], ['Blockly.connectionTypes', 'Blockly.constants', 'Blockly.utils.Coordinate'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/internal_constants.js', ['Blockly.internalConstants'], ['Blockly.connectionTypes'], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/keyboard_nav/ast_node.js', ['Blockly.ASTNode'], ['Blockly.connectionTypes', 'Blockly.utils.Coordinate'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/keyboard_nav/basic_cursor.js', ['Blockly.BasicCursor'], ['Blockly.ASTNode', 'Blockly.Cursor', 'Blockly.registry', 'Blockly.utils.object'], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/keyboard_nav/cursor.js', ['Blockly.Cursor'], ['Blockly.ASTNode', 'Blockly.Marker', 'Blockly.registry', 'Blockly.utils.object'], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/keyboard_nav/marker.js', ['Blockly.Marker'], ['Blockly.ASTNode']);
|
||||
goog.addDependency('../../core/keyboard_nav/tab_navigate_cursor.js', ['Blockly.TabNavigateCursor'], ['Blockly.ASTNode', 'Blockly.BasicCursor', 'Blockly.utils.object']);
|
||||
goog.addDependency('../../core/keyboard_nav/tab_navigate_cursor.js', ['Blockly.TabNavigateCursor'], ['Blockly.ASTNode', 'Blockly.BasicCursor', 'Blockly.utils.object'], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/marker_manager.js', ['Blockly.MarkerManager'], ['Blockly.Cursor', 'Blockly.Marker']);
|
||||
goog.addDependency('../../core/menu.js', ['Blockly.Menu'], ['Blockly.browserEvents', 'Blockly.utils.Coordinate', 'Blockly.utils.KeyCodes', 'Blockly.utils.aria', 'Blockly.utils.dom', 'Blockly.utils.style']);
|
||||
goog.addDependency('../../core/menuitem.js', ['Blockly.MenuItem'], ['Blockly.utils.IdGenerator', 'Blockly.utils.aria', 'Blockly.utils.dom']);
|
||||
goog.addDependency('../../core/metrics_manager.js', ['Blockly.FlyoutMetricsManager', 'Blockly.MetricsManager'], ['Blockly.IMetricsManager', 'Blockly.registry', 'Blockly.utils.Size', 'Blockly.utils.toolbox'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/msg.js', ['Blockly.Msg'], ['Blockly.utils.global']);
|
||||
goog.addDependency('../../core/mutator.js', ['Blockly.Mutator'], ['Blockly.Bubble', 'Blockly.Events', 'Blockly.Events.BlockChange', 'Blockly.Events.BubbleOpen', 'Blockly.Icon', 'Blockly.Options', 'Blockly.WorkspaceSvg', 'Blockly.Xml', 'Blockly.utils', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.object', 'Blockly.utils.toolbox', 'Blockly.utils.xml']);
|
||||
goog.addDependency('../../core/names.js', ['Blockly.Names'], ['Blockly.Msg', 'Blockly.constants']);
|
||||
goog.addDependency('../../core/mutator.js', ['Blockly.Mutator'], ['Blockly.Bubble', 'Blockly.Events', 'Blockly.Events.BlockChange', 'Blockly.Events.BubbleOpen', 'Blockly.Icon', 'Blockly.Options', 'Blockly.WorkspaceSvg', 'Blockly.Xml', 'Blockly.internalConstants', 'Blockly.utils', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.object', 'Blockly.utils.toolbox', 'Blockly.utils.xml']);
|
||||
goog.addDependency('../../core/names.js', ['Blockly.Names'], ['Blockly.Msg', 'Blockly.internalConstants']);
|
||||
goog.addDependency('../../core/options.js', ['Blockly.Options'], ['Blockly.Theme', 'Blockly.Themes.Classic', 'Blockly.registry', 'Blockly.utils.IdGenerator', 'Blockly.utils.Metrics', 'Blockly.utils.toolbox']);
|
||||
goog.addDependency('../../core/positionable_helpers.js', ['Blockly.uiPosition'], ['Blockly.Scrollbar', 'Blockly.utils.Rect', 'Blockly.utils.toolbox']);
|
||||
goog.addDependency('../../core/procedures.js', ['Blockly.Procedures'], ['Blockly.Blocks', 'Blockly.Events', 'Blockly.Events.BlockChange', 'Blockly.Field', 'Blockly.Msg', 'Blockly.Names', 'Blockly.Workspace', 'Blockly.Xml', 'Blockly.constants', 'Blockly.utils.xml']);
|
||||
goog.addDependency('../../core/procedures.js', ['Blockly.Procedures'], ['Blockly.Blocks', 'Blockly.Events', 'Blockly.Events.BlockChange', 'Blockly.Field', 'Blockly.Msg', 'Blockly.Names', 'Blockly.Workspace', 'Blockly.Xml', 'Blockly.internalConstants', 'Blockly.utils.xml']);
|
||||
goog.addDependency('../../core/registry.js', ['Blockly.registry'], []);
|
||||
goog.addDependency('../../core/rendered_connection.js', ['Blockly.RenderedConnection'], ['Blockly.Connection', 'Blockly.connectionTypes', 'Blockly.constants', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Svg', 'Blockly.utils.deprecation', 'Blockly.utils.dom', 'Blockly.utils.object']);
|
||||
goog.addDependency('../../core/rendered_connection.js', ['Blockly.RenderedConnection'], ['Blockly.Connection', 'Blockly.connectionTypes', 'Blockly.internalConstants', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Svg', 'Blockly.utils.deprecation', 'Blockly.utils.dom', 'Blockly.utils.object']);
|
||||
goog.addDependency('../../core/renderers/common/block_rendering.js', ['Blockly.blockRendering'], ['Blockly.registry']);
|
||||
goog.addDependency('../../core/renderers/common/constants.js', ['Blockly.blockRendering.ConstantProvider'], ['Blockly.connectionTypes', 'Blockly.constants', 'Blockly.utils', 'Blockly.utils.Svg', 'Blockly.utils.colour', 'Blockly.utils.dom', 'Blockly.utils.svgPaths', 'Blockly.utils.userAgent'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/renderers/common/debugger.js', ['Blockly.blockRendering.Debug'], ['Blockly.blockRendering.Measurable', 'Blockly.blockRendering.RenderInfo', 'Blockly.blockRendering.Row', 'Blockly.blockRendering.Types', 'Blockly.connectionTypes', 'Blockly.constants', 'Blockly.utils.Svg', 'Blockly.utils.dom'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/renderers/common/constants.js', ['Blockly.blockRendering.ConstantProvider'], ['Blockly.connectionTypes', 'Blockly.utils', 'Blockly.utils.Svg', 'Blockly.utils.colour', 'Blockly.utils.dom', 'Blockly.utils.svgPaths', 'Blockly.utils.userAgent'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/renderers/common/debugger.js', ['Blockly.blockRendering.Debug'], ['Blockly.blockRendering.Measurable', 'Blockly.blockRendering.RenderInfo', 'Blockly.blockRendering.Row', 'Blockly.blockRendering.Types', 'Blockly.connectionTypes', 'Blockly.utils.Svg', 'Blockly.utils.dom'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/renderers/common/drawer.js', ['Blockly.blockRendering.Drawer'], ['Blockly.blockRendering.Row', 'Blockly.blockRendering.Types', 'Blockly.utils.svgPaths'], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/renderers/common/i_path_object.js', ['Blockly.blockRendering.IPathObject'], []);
|
||||
goog.addDependency('../../core/renderers/common/info.js', ['Blockly.blockRendering.RenderInfo'], ['Blockly.blockRendering.BottomRow', 'Blockly.blockRendering.ExternalValueInput', 'Blockly.blockRendering.Field', 'Blockly.blockRendering.Hat', 'Blockly.blockRendering.InRowSpacer', 'Blockly.blockRendering.InlineInput', 'Blockly.blockRendering.InputRow', 'Blockly.blockRendering.JaggedEdge', 'Blockly.blockRendering.Measurable', 'Blockly.blockRendering.NextConnection', 'Blockly.blockRendering.OutputConnection', 'Blockly.blockRendering.PreviousConnection', 'Blockly.blockRendering.RoundCorner', 'Blockly.blockRendering.Row', 'Blockly.blockRendering.SpacerRow', 'Blockly.blockRendering.SquareCorner', 'Blockly.blockRendering.StatementInput', 'Blockly.blockRendering.TopRow', 'Blockly.blockRendering.Types', 'Blockly.constants', 'Blockly.inputTypes']);
|
||||
goog.addDependency('../../core/renderers/common/marker_svg.js', ['Blockly.blockRendering.MarkerSvg'], ['Blockly.ASTNode', 'Blockly.Events', 'Blockly.Events.MarkerMove', 'Blockly.connectionTypes', 'Blockly.constants', 'Blockly.utils.Svg', 'Blockly.utils.dom']);
|
||||
goog.addDependency('../../core/renderers/common/info.js', ['Blockly.blockRendering.RenderInfo'], ['Blockly.blockRendering.BottomRow', 'Blockly.blockRendering.ExternalValueInput', 'Blockly.blockRendering.Field', 'Blockly.blockRendering.Hat', 'Blockly.blockRendering.Icon', 'Blockly.blockRendering.InRowSpacer', 'Blockly.blockRendering.InlineInput', 'Blockly.blockRendering.InputRow', 'Blockly.blockRendering.JaggedEdge', 'Blockly.blockRendering.Measurable', 'Blockly.blockRendering.NextConnection', 'Blockly.blockRendering.OutputConnection', 'Blockly.blockRendering.PreviousConnection', 'Blockly.blockRendering.RoundCorner', 'Blockly.blockRendering.Row', 'Blockly.blockRendering.SpacerRow', 'Blockly.blockRendering.SquareCorner', 'Blockly.blockRendering.StatementInput', 'Blockly.blockRendering.TopRow', 'Blockly.blockRendering.Types', 'Blockly.constants', 'Blockly.inputTypes'], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/renderers/common/marker_svg.js', ['Blockly.blockRendering.MarkerSvg'], ['Blockly.ASTNode', 'Blockly.Events', 'Blockly.Events.MarkerMove', 'Blockly.connectionTypes', 'Blockly.utils.Svg', 'Blockly.utils.dom']);
|
||||
goog.addDependency('../../core/renderers/common/path_object.js', ['Blockly.blockRendering.PathObject'], ['Blockly.Theme', 'Blockly.blockRendering.ConstantProvider', 'Blockly.blockRendering.IPathObject', 'Blockly.utils.Svg', 'Blockly.utils.dom']);
|
||||
goog.addDependency('../../core/renderers/common/renderer.js', ['Blockly.blockRendering.Renderer'], ['Blockly.IRegistrable', 'Blockly.InsertionMarkerManager', 'Blockly.blockRendering.ConstantProvider', 'Blockly.blockRendering.Debug', 'Blockly.blockRendering.Drawer', 'Blockly.blockRendering.IPathObject', 'Blockly.blockRendering.MarkerSvg', 'Blockly.blockRendering.PathObject', 'Blockly.blockRendering.RenderInfo', 'Blockly.connectionTypes', 'Blockly.constants']);
|
||||
goog.addDependency('../../core/renderers/common/renderer.js', ['Blockly.blockRendering.Renderer'], ['Blockly.IRegistrable', 'Blockly.InsertionMarkerManager', 'Blockly.blockRendering.ConstantProvider', 'Blockly.blockRendering.Debug', 'Blockly.blockRendering.Drawer', 'Blockly.blockRendering.IPathObject', 'Blockly.blockRendering.MarkerSvg', 'Blockly.blockRendering.PathObject', 'Blockly.blockRendering.RenderInfo', 'Blockly.connectionTypes']);
|
||||
goog.addDependency('../../core/renderers/geras/constants.js', ['Blockly.geras.ConstantProvider'], ['Blockly.blockRendering.ConstantProvider', 'Blockly.utils.object'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/renderers/geras/drawer.js', ['Blockly.geras.Drawer'], ['Blockly.blockRendering.Drawer', 'Blockly.geras.Highlighter', 'Blockly.geras.RenderInfo', 'Blockly.utils.object', 'Blockly.utils.svgPaths']);
|
||||
goog.addDependency('../../core/renderers/geras/highlight_constants.js', ['Blockly.geras.HighlightConstantProvider'], ['Blockly.blockRendering.ConstantProvider', 'Blockly.utils.svgPaths'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/renderers/geras/highlighter.js', ['Blockly.geras.Highlighter'], ['Blockly.blockRendering.Types', 'Blockly.utils.svgPaths']);
|
||||
goog.addDependency('../../core/renderers/geras/info.js', ['Blockly.geras', 'Blockly.geras.RenderInfo'], ['Blockly.blockRendering.ExternalValueInput', 'Blockly.blockRendering.InRowSpacer', 'Blockly.blockRendering.InputRow', 'Blockly.blockRendering.RenderInfo', 'Blockly.blockRendering.Types', 'Blockly.constants', 'Blockly.geras.InlineInput', 'Blockly.geras.StatementInput', 'Blockly.inputTypes', 'Blockly.utils.object']);
|
||||
goog.addDependency('../../core/renderers/geras/info.js', ['Blockly.geras', 'Blockly.geras.RenderInfo'], ['Blockly.blockRendering.ExternalValueInput', 'Blockly.blockRendering.InRowSpacer', 'Blockly.blockRendering.InputRow', 'Blockly.blockRendering.RenderInfo', 'Blockly.blockRendering.Types', 'Blockly.geras.InlineInput', 'Blockly.geras.StatementInput', 'Blockly.inputTypes', 'Blockly.utils.object']);
|
||||
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.Theme', 'Blockly.blockRendering.PathObject', 'Blockly.geras.ConstantProvider', 'Blockly.utils.Svg', 'Blockly.utils.colour', 'Blockly.utils.dom', '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']);
|
||||
@@ -147,15 +148,15 @@ goog.addDependency('../../core/renderers/minimalist/info.js', ['Blockly.minimali
|
||||
goog.addDependency('../../core/renderers/minimalist/renderer.js', ['Blockly.minimalist.Renderer'], ['Blockly.blockRendering', 'Blockly.blockRendering.Renderer', 'Blockly.minimalist.ConstantProvider', 'Blockly.minimalist.Drawer', 'Blockly.minimalist.RenderInfo', 'Blockly.utils.object']);
|
||||
goog.addDependency('../../core/renderers/thrasos/info.js', ['Blockly.thrasos', 'Blockly.thrasos.RenderInfo'], ['Blockly.blockRendering.InRowSpacer', 'Blockly.blockRendering.RenderInfo', 'Blockly.blockRendering.Types', 'Blockly.utils.object']);
|
||||
goog.addDependency('../../core/renderers/thrasos/renderer.js', ['Blockly.thrasos.Renderer'], ['Blockly.blockRendering', 'Blockly.blockRendering.Renderer', 'Blockly.thrasos.RenderInfo', 'Blockly.utils.object']);
|
||||
goog.addDependency('../../core/renderers/zelos/constants.js', ['Blockly.zelos.ConstantProvider'], ['Blockly.blockRendering.ConstantProvider', 'Blockly.connectionTypes', 'Blockly.constants', 'Blockly.utils.Svg', 'Blockly.utils.colour', 'Blockly.utils.dom', 'Blockly.utils.object', 'Blockly.utils.svgPaths'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/renderers/zelos/constants.js', ['Blockly.zelos.ConstantProvider'], ['Blockly.blockRendering.ConstantProvider', 'Blockly.connectionTypes', 'Blockly.utils.Svg', 'Blockly.utils.colour', 'Blockly.utils.dom', 'Blockly.utils.object', 'Blockly.utils.svgPaths'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/renderers/zelos/drawer.js', ['Blockly.zelos.Drawer'], ['Blockly.blockRendering.Drawer', 'Blockly.utils.object', 'Blockly.utils.svgPaths', 'Blockly.zelos.RenderInfo']);
|
||||
goog.addDependency('../../core/renderers/zelos/info.js', ['Blockly.zelos', 'Blockly.zelos.RenderInfo'], ['Blockly.FieldImage', 'Blockly.FieldLabel', 'Blockly.FieldTextInput', 'Blockly.blockRendering.InRowSpacer', 'Blockly.blockRendering.Measurable', 'Blockly.blockRendering.RenderInfo', 'Blockly.blockRendering.Types', 'Blockly.constants', 'Blockly.inputTypes', 'Blockly.utils.object', 'Blockly.zelos.BottomRow', 'Blockly.zelos.RightConnectionShape', 'Blockly.zelos.TopRow']);
|
||||
goog.addDependency('../../core/renderers/zelos/info.js', ['Blockly.zelos', 'Blockly.zelos.RenderInfo'], ['Blockly.FieldImage', 'Blockly.FieldLabel', 'Blockly.FieldTextInput', 'Blockly.blockRendering.InRowSpacer', 'Blockly.blockRendering.Measurable', 'Blockly.blockRendering.RenderInfo', 'Blockly.blockRendering.Types', 'Blockly.inputTypes', 'Blockly.utils.object', 'Blockly.zelos.BottomRow', 'Blockly.zelos.RightConnectionShape', 'Blockly.zelos.TopRow']);
|
||||
goog.addDependency('../../core/renderers/zelos/marker_svg.js', ['Blockly.zelos.MarkerSvg'], ['Blockly.blockRendering.MarkerSvg', 'Blockly.utils.Svg', 'Blockly.utils.dom']);
|
||||
goog.addDependency('../../core/renderers/zelos/measurables/inputs.js', ['Blockly.zelos.StatementInput'], ['Blockly.blockRendering.StatementInput', 'Blockly.utils.object']);
|
||||
goog.addDependency('../../core/renderers/zelos/measurables/row_elements.js', ['Blockly.zelos.RightConnectionShape'], ['Blockly.blockRendering.Measurable', 'Blockly.blockRendering.Types', 'Blockly.utils.object']);
|
||||
goog.addDependency('../../core/renderers/zelos/measurables/rows.js', ['Blockly.zelos.BottomRow', 'Blockly.zelos.TopRow'], ['Blockly.blockRendering.BottomRow', 'Blockly.blockRendering.TopRow', 'Blockly.utils.object']);
|
||||
goog.addDependency('../../core/renderers/zelos/path_object.js', ['Blockly.zelos.PathObject'], ['Blockly.blockRendering.PathObject', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.object', 'Blockly.zelos.ConstantProvider']);
|
||||
goog.addDependency('../../core/renderers/zelos/renderer.js', ['Blockly.zelos.Renderer'], ['Blockly.InsertionMarkerManager', 'Blockly.blockRendering', 'Blockly.blockRendering.Renderer', 'Blockly.connectionTypes', 'Blockly.constants', 'Blockly.utils.object', 'Blockly.zelos.ConstantProvider', 'Blockly.zelos.Drawer', 'Blockly.zelos.MarkerSvg', 'Blockly.zelos.PathObject', 'Blockly.zelos.RenderInfo']);
|
||||
goog.addDependency('../../core/renderers/zelos/renderer.js', ['Blockly.zelos.Renderer'], ['Blockly.InsertionMarkerManager', 'Blockly.blockRendering', 'Blockly.blockRendering.Renderer', 'Blockly.connectionTypes', 'Blockly.utils.object', 'Blockly.zelos.ConstantProvider', 'Blockly.zelos.Drawer', 'Blockly.zelos.MarkerSvg', 'Blockly.zelos.PathObject', 'Blockly.zelos.RenderInfo']);
|
||||
goog.addDependency('../../core/requires.js', ['Blockly.requires'], ['Blockly', 'Blockly.Comment', 'Blockly.ContextMenuItems', 'Blockly.FieldAngle', 'Blockly.FieldCheckbox', 'Blockly.FieldColour', 'Blockly.FieldDropdown', 'Blockly.FieldImage', 'Blockly.FieldLabelSerializable', 'Blockly.FieldMultilineInput', 'Blockly.FieldNumber', 'Blockly.FieldTextInput', 'Blockly.FieldVariable', 'Blockly.FlyoutButton', 'Blockly.Generator', 'Blockly.HorizontalFlyout', 'Blockly.Mutator', 'Blockly.ShortcutItems', 'Blockly.Themes.Classic', 'Blockly.Toolbox', 'Blockly.Trashcan', 'Blockly.VariablesDynamic', 'Blockly.VerticalFlyout', 'Blockly.Warning', 'Blockly.ZoomControls', 'Blockly.geras.Renderer', 'Blockly.thrasos.Renderer', 'Blockly.zelos.Renderer']);
|
||||
goog.addDependency('../../core/scrollbar.js', ['Blockly.Scrollbar', 'Blockly.ScrollbarPair'], ['Blockly.Events', 'Blockly.Touch', 'Blockly.browserEvents', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Metrics', 'Blockly.utils.Svg', 'Blockly.utils.dom']);
|
||||
goog.addDependency('../../core/shortcut_items.js', ['Blockly.ShortcutItems'], ['Blockly.Gesture', 'Blockly.ShortcutRegistry', 'Blockly.utils.KeyCodes']);
|
||||
@@ -170,10 +171,10 @@ goog.addDependency('../../core/toolbox/separator.js', ['Blockly.ToolboxSeparator
|
||||
goog.addDependency('../../core/toolbox/toolbox.js', ['Blockly.Toolbox'], ['Blockly.BlockSvg', 'Blockly.CollapsibleToolboxCategory', 'Blockly.ComponentManager', 'Blockly.Css', 'Blockly.DeleteArea', 'Blockly.Events', 'Blockly.Events.ToolboxItemSelect', 'Blockly.IAutoHideable', 'Blockly.IKeyboardAccessible', 'Blockly.IStyleable', 'Blockly.IToolbox', 'Blockly.Options', 'Blockly.Touch', 'Blockly.browserEvents', 'Blockly.constants', 'Blockly.registry', 'Blockly.utils', 'Blockly.utils.Rect', 'Blockly.utils.aria', 'Blockly.utils.dom', 'Blockly.utils.toolbox'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/toolbox/toolbox_item.js', ['Blockly.ToolboxItem'], ['Blockly.IToolboxItem']);
|
||||
goog.addDependency('../../core/tooltip.js', ['Blockly.Tooltip'], ['Blockly.browserEvents', 'Blockly.utils.string']);
|
||||
goog.addDependency('../../core/touch.js', ['Blockly.Touch'], ['Blockly.constants', 'Blockly.utils', 'Blockly.utils.global', 'Blockly.utils.string']);
|
||||
goog.addDependency('../../core/touch.js', ['Blockly.Touch'], ['Blockly.internalConstants', 'Blockly.utils', 'Blockly.utils.global', 'Blockly.utils.string']);
|
||||
goog.addDependency('../../core/touch_gesture.js', ['Blockly.TouchGesture'], ['Blockly.Gesture', 'Blockly.browserEvents', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.object']);
|
||||
goog.addDependency('../../core/trashcan.js', ['Blockly.Trashcan'], ['Blockly.ComponentManager', 'Blockly.DeleteArea', 'Blockly.Events', 'Blockly.Events.TrashcanOpen', 'Blockly.IAutoHideable', 'Blockly.IPositionable', 'Blockly.Options', 'Blockly.Xml', 'Blockly.browserEvents', 'Blockly.constants', 'Blockly.registry', 'Blockly.uiPosition', 'Blockly.utils', 'Blockly.utils.Rect', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.toolbox'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/utils.js', ['Blockly.utils'], ['Blockly.Msg', 'Blockly.constants', 'Blockly.utils.Coordinate', 'Blockly.utils.Rect', 'Blockly.utils.colour', 'Blockly.utils.global', 'Blockly.utils.string', 'Blockly.utils.style', 'Blockly.utils.userAgent']);
|
||||
goog.addDependency('../../core/trashcan.js', ['Blockly.Trashcan'], ['Blockly.ComponentManager', 'Blockly.DeleteArea', 'Blockly.Events', 'Blockly.Events.TrashcanOpen', 'Blockly.IAutoHideable', 'Blockly.IPositionable', 'Blockly.Options', 'Blockly.Xml', 'Blockly.browserEvents', 'Blockly.internalConstants', 'Blockly.registry', 'Blockly.uiPosition', 'Blockly.utils', 'Blockly.utils.Rect', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.toolbox'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/utils.js', ['Blockly.utils'], ['Blockly.Msg', 'Blockly.internalConstants', 'Blockly.utils.Coordinate', 'Blockly.utils.Rect', 'Blockly.utils.colour', 'Blockly.utils.global', 'Blockly.utils.string', 'Blockly.utils.style', 'Blockly.utils.userAgent']);
|
||||
goog.addDependency('../../core/utils/aria.js', ['Blockly.utils.aria'], []);
|
||||
goog.addDependency('../../core/utils/colour.js', ['Blockly.utils.colour'], [], {'lang': 'es6', 'module': 'goog'});
|
||||
goog.addDependency('../../core/utils/coordinate.js', ['Blockly.utils.Coordinate'], [], {'lang': 'es6', 'module': 'goog'});
|
||||
@@ -196,19 +197,19 @@ goog.addDependency('../../core/utils/useragent.js', ['Blockly.utils.userAgent'],
|
||||
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.utils', 'Blockly.utils.object']);
|
||||
goog.addDependency('../../core/variable_model.js', ['Blockly.VariableModel'], ['Blockly.Events', 'Blockly.Events.VarCreate', 'Blockly.utils']);
|
||||
goog.addDependency('../../core/variables.js', ['Blockly.Variables'], ['Blockly.Blocks', 'Blockly.Msg', 'Blockly.VariableModel', 'Blockly.Xml', 'Blockly.constants', 'Blockly.utils', 'Blockly.utils.xml']);
|
||||
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/warning.js', ['Blockly.Warning'], ['Blockly.Bubble', 'Blockly.Events', 'Blockly.Events.BubbleOpen', 'Blockly.Icon', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.object']);
|
||||
goog.addDependency('../../core/widgetdiv.js', ['Blockly.WidgetDiv'], ['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']);
|
||||
goog.addDependency('../../core/workspace_audio.js', ['Blockly.WorkspaceAudio'], ['Blockly.constants', 'Blockly.utils', 'Blockly.utils.global', 'Blockly.utils.userAgent'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/workspace_audio.js', ['Blockly.WorkspaceAudio'], ['Blockly.internalConstants', 'Blockly.utils', 'Blockly.utils.global', 'Blockly.utils.userAgent'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/workspace_comment.js', ['Blockly.WorkspaceComment'], ['Blockly.Events', 'Blockly.Events.CommentChange', 'Blockly.Events.CommentCreate', 'Blockly.Events.CommentDelete', 'Blockly.Events.CommentMove', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.xml']);
|
||||
goog.addDependency('../../core/workspace_comment_render_svg.js', ['Blockly.WorkspaceCommentSvg.render'], ['Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Svg', 'Blockly.utils.dom']);
|
||||
goog.addDependency('../../core/workspace_comment_svg.js', ['Blockly.WorkspaceCommentSvg'], ['Blockly.Css', 'Blockly.Events', 'Blockly.Events.CommentCreate', 'Blockly.Events.CommentDelete', 'Blockly.Events.CommentMove', 'Blockly.Events.Selected', 'Blockly.WorkspaceComment', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Rect', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.object']);
|
||||
goog.addDependency('../../core/workspace_drag_surface_svg.js', ['Blockly.WorkspaceDragSurfaceSvg'], ['Blockly.utils', 'Blockly.utils.Svg', 'Blockly.utils.dom']);
|
||||
goog.addDependency('../../core/workspace_dragger.js', ['Blockly.WorkspaceDragger'], ['Blockly.utils.Coordinate']);
|
||||
goog.addDependency('../../core/workspace_svg.js', ['Blockly.WorkspaceSvg'], ['Blockly.BlockSvg', 'Blockly.ComponentManager', 'Blockly.ConnectionDB', 'Blockly.ContextMenu', 'Blockly.ContextMenuRegistry', 'Blockly.Events', 'Blockly.Events.BlockCreate', 'Blockly.Events.ThemeChange', 'Blockly.Events.ViewportChange', 'Blockly.Gesture', 'Blockly.Grid', 'Blockly.IASTNodeLocationSvg', 'Blockly.MarkerManager', 'Blockly.MetricsManager', 'Blockly.Msg', 'Blockly.Options', 'Blockly.ThemeManager', 'Blockly.Themes.Classic', 'Blockly.TouchGesture', 'Blockly.Workspace', 'Blockly.WorkspaceAudio', 'Blockly.WorkspaceDragSurfaceSvg', 'Blockly.Xml', 'Blockly.blockRendering', 'Blockly.browserEvents', 'Blockly.constants', 'Blockly.registry', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Metrics', 'Blockly.utils.Rect', 'Blockly.utils.Size', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.object', 'Blockly.utils.toolbox'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/xml.js', ['Blockly.Xml'], ['Blockly.Events', 'Blockly.constants', 'Blockly.inputTypes', 'Blockly.utils', 'Blockly.utils.Size', 'Blockly.utils.dom', 'Blockly.utils.xml']);
|
||||
goog.addDependency('../../core/zoom_controls.js', ['Blockly.ZoomControls'], ['Blockly.ComponentManager', 'Blockly.Css', 'Blockly.Events', 'Blockly.Events.Click', 'Blockly.IPositionable', 'Blockly.Touch', 'Blockly.browserEvents', 'Blockly.constants', 'Blockly.uiPosition', 'Blockly.utils', 'Blockly.utils.Rect', 'Blockly.utils.Svg', 'Blockly.utils.dom'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/workspace_svg.js', ['Blockly.WorkspaceSvg'], ['Blockly.BlockSvg', 'Blockly.ComponentManager', 'Blockly.ConnectionDB', 'Blockly.ContextMenu', 'Blockly.ContextMenuRegistry', 'Blockly.Events', 'Blockly.Events.BlockCreate', 'Blockly.Events.ThemeChange', 'Blockly.Events.ViewportChange', 'Blockly.Gesture', 'Blockly.Grid', 'Blockly.IASTNodeLocationSvg', 'Blockly.MarkerManager', 'Blockly.MetricsManager', 'Blockly.Msg', 'Blockly.Options', 'Blockly.ThemeManager', 'Blockly.Themes.Classic', 'Blockly.TouchGesture', 'Blockly.Workspace', 'Blockly.WorkspaceAudio', 'Blockly.WorkspaceDragSurfaceSvg', 'Blockly.Xml', 'Blockly.blockRendering', 'Blockly.browserEvents', 'Blockly.internalConstants', 'Blockly.registry', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Metrics', 'Blockly.utils.Rect', 'Blockly.utils.Size', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.object', 'Blockly.utils.toolbox'], {'lang': 'es5'});
|
||||
goog.addDependency('../../core/xml.js', ['Blockly.Xml'], ['Blockly.Events', 'Blockly.inputTypes', 'Blockly.utils', 'Blockly.utils.Size', 'Blockly.utils.dom', 'Blockly.utils.xml']);
|
||||
goog.addDependency('../../core/zoom_controls.js', ['Blockly.ZoomControls'], ['Blockly.ComponentManager', 'Blockly.Css', 'Blockly.Events', 'Blockly.Events.Click', 'Blockly.IPositionable', 'Blockly.Touch', 'Blockly.browserEvents', 'Blockly.internalConstants', 'Blockly.uiPosition', 'Blockly.utils', 'Blockly.utils.Rect', 'Blockly.utils.Svg', 'Blockly.utils.dom'], {'lang': 'es5'});
|
||||
goog.addDependency('base.js', [], []);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user