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.
There was a typo in the name of the loop check mixin. Fixes the immediate issue though we should post a warning if trying to register a mixin that doesn't exist.
* 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)
* Convert more text blocks to JSON format
Converts text_charAt, text_indexOf, text_isEmpty, and text_length
to JSON.
Includes a rebuild to pick up message changes.
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.
Adds Block.prototype.mixin() and Blockly.Extensions.registerMixin().
This adds support for a common use pattern in extensions, and adds
error checking to avoid future incompatibilities.
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'.
Replaces old colour block definitions with a Blockly.defineBlocksWithJsonArray(..) call. Generator unit tests continue to load and pass, signifying compatibility with prior block definitions.
Replaces extension 'math_number_tooltip' with the reusable 'parent_tooltip_when_inline' extension, also used by colour_picker. Includes tests.
Adding support for extensions, functions that can assist with loading blocks, much like init functions, but that can be referenced from JSON definitions. This allows JSON definitions to define dynamic blocks such as onchange handlers and mutators.
Rewrote math_number as an example pure JSON block.
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.
* 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.
Adding controls_ifelse, an if/else block that is loaded from JSON and does not use mutators. This gives "else" capability to Android & iOS implementations, which don't support JavaScript mutators.
Added this block to the playground simple toolbox and all generators.