* Added Max Instances property to Blocks
* eslint cleanup
* eslint cleanup 2
* Moved maxInstances property from block to workspace (as a map of block type to max instances). isDuplicate() changed to correctly handle siblings/branches.
* eslint cleanup
* Changed checking types to map. Added hasBlockLimits. Fixed Nits.
* Added limit_instances test block. eslint fixes.
* fixup! Added limit_instances test block. eslint fixes.
* Changed sorting objects to a private static function of the workspace. Fixed nits. Undeleted .eslintrc
* Reverted .gitignore file.
* Added getBlockTypeCounts() to utils. Added isCapacityAvailable() to workspace. Changed clipboard to save typeCountsMap rather than object.
This fixes race condition in #1369 by using message references instead of explicit string lookups. This required fixing a bug the token interpolation parser that was breaking on the inner '"%1"' for these tooltips.
* New widget div functions, used in context menu code
* Make all widget div positioning functions use the same argument order
* Use new widget div functions for fields
* share code for measuring menu size
* Get rid of positionMenu
* Update copyright date
* Rebuild blockly_uncompressed because there's a new require in town
* Revert "Fix synonyms when compiled. (#1248)"
This reverts commit f08afbb351.
* Revert "Compatibility for Closure Compiler. (#1240)" [fc8d4c9]
* Adding exports to all messages.
* Fixed missing dependency to Blockly.defineBlocksWithJsonArray()
* Adding a fully compiled demo draft (still simple optimizations).
* Demo optimizations switched to advanced and enabled exports (for Blockly.Msg).
* Message interpolation updated to use the exported (global) Blockly.Msg array.
* Adding some debug compilation options to the build script.
* Adding SVG externs.
* Fixed Blockly.inject's config array to work with compilation.
* Reverting all compiled code.
This fixes commit b307ba1151.
This fixes commit dec6910b67.
* Reverting all compiled code.
This fixes commit 824c806ec3.
* Removing old todo
* Merge commit 'fe96bec765f0eb58c5321101965100c2716760ed' into compile-messages-with-externs
* commit 'fe96bec765f0eb58c5321101965100c2716760ed':
Fixes positional index for Czech translation (#1264)
Missed one use of string instead of .property in extensions.js (#1262)
Update extensions.js to be compatible with ADVANCED_OPTIMIZATIONS (#1253)
Fix type tags and todo placement.
Procedure block renames variable in mutator if there is a case change.
* Fixes based on review by @NeilFraser
- 80 cols
- using goog.global instead of window
- @export on the same line as messages
* BF: Moving the msg dependency earlier, since Blockly.Msg.en is filling the Blockly.Msg object, which is empty without Blockly.Msg.en (and the rest of the code is using it as Blockly.Msg).
* Updating some texts in the demo's html file to be more descriptive.
* Commenting the debug options in the build, to maximize the optimizations. They are not removed, to allow anybody to turn them on if needed (since they are not documented on the Closure Compiler's REST API pages).
* BF: fixed blocks_compressed.js compilation, as it now requires Blockly namespace to exist.
* SVG externs file updated based on the one in https://github.com/google/closure-compiler/blob/master/contrib/externs/svg.js (eliminating 2 warnings)
Text block now uses the extension "text_quotes", supported by Blockly.Constants.Text.QUOTE_IMAGE_MIXIN.quoteField_(fieldName), so that each platform can use the best platform appropriate image (size, density, etc.) for the quotes.
* Change the setting of the CSS transform properties on SVG nodes to set both the unprefixed version and the `-webkit-` prefixed version so that Blockly correctly renders in order browsers, such as Safari < 9 and iOS Safari < 9.2. For discussion of this issue, see https://groups.google.com/forum/#!topic/blockly/o3pERaRQhSg
* Correct the separation between the CSS transform property and the rest of the CSS that was in the variable misleadingly called "transform".
Defer tooltip message string check until after load, when all Blockly.Msg should be loaded.
Avoids validation in headless mode, due to lack of document.readyState.
Moving all `math.js` definitions into a single JSON array, complete with i18n syntax for all messages, dropdowns, and tooltips.
Adding Blockly.Extensions.buildTooltipForDropdown(..) to facilitate the creation and error-checking of tooltips that update based on the value of a dropdown.
Now warn on raw string in JSON 'extensions'.
Adding support for string table lookups in dropdown field labels specified in JSON.
Adds Blockly.utils.replaceMessageReferences() method to handle string replacement without interpolation tokens. Effectively uses the same old code, now moved into tokenizeInterpolation_(), which takes a parseInterpolationTokens option.
Replaces the direct JavaScript references (not pure JSON, and thus not portable).
Demonstrating this behavior in the logic_boolean dropdown.
* Add a workspace drag surface that blocks and bubble get moved to during a workspace drag.
The surface is translated using translate3d instead of svg's translate attribute so that
the browser does not have to repaint the entire workspace on every mouse move.
This is very similar to the block drag surface.
* Address code review comments
* add back hasClass_ utility removed in #748 and stop using contains since it is not supported in IE
* Split the scrollbar and flyout out into their own SVG elements. They
are siblings of the workpsace SVG. This paves the way to make performance
improvements to workspace dragging.
* Adds message references to message string interpolation, in the form of %{BKY_STRING}.
* Re-adding CONTROLS_IFELSE block using the new syntax, referencing to CONTROL_IF equivalents.
Improve performance of block dragging. This is a backport of the block drag surface from scratch-blocks. At the beginning of a block drag, blocks get moved to a drag surface which then translates using translate3d to avoid repainting the entire svg on every mouse move. At the end of the drag, the blocks are dropped back in the svg in their new position.