* WIP merge from upstream google/blockly
* fixing some merging bugs. Getting the drag surface to work, updating some function calls, etc.
* make the trash can lid animate again and fix the cursor to show an x when things will be removed.
* Fix text rendering logic in fields
* Hand apply some more changes from blockly flyout.js to flyout_base.js.
Also revert 08efd1381c
in scratch-blocks since it breaks variables and there is more work fenichel is planning
to do here.
* Fix drop-down field rendering
* Resolve issue with text input field widths on init
* Remove unused blockly (built) files
* Remove unused language files
* Resolve lint issues and rebuild
* Add blockly build targets to cleanup script
* Return 0 if 'this.arrow_' does not exist in a dropdown field
* Remove unused / irrelevant comments
FieldDropdown now has onItemSelected(..) method to handle the menu item selection action. Variable renames and deletes are now handled here, instead of during validation.
Also fixes an issue deleting variables used by less than two blocks.
Fixes#723.
* Make a copy of listeners (fix#680), allow ID lookup in flyout
* Move flyout cursor change to when block drags
* Fire a stack-click event in flyout, to match workspace
* Check result of window.confirm before deleting variables.
* Create CONTRIBUTING.md
* Localisation updates from https://translatewiki.net.
* Cherrypick fixes made directly to master back into develop (#619)
* Check result of window.confirm before deleting variables.
* Create CONTRIBUTING.md
* rebuild
* Localisation updates from https://translatewiki.net.
* Minor wording change.
* Localisation updates from https://translatewiki.net.
* Localisation updates from https://translatewiki.net.
* Simplify the handling of the active desc for a toolbox without categories.
* Remove tables from the HTML. Move the toolbar buttons to the end so that they don't impede switching between the toolbox and workspace.
* When cutting or copying a block, do not include blocks joined to it.
* Add shadow to flyout buttons.
* Move 'create new group' button to the bottom of each toolbox block, and remove other buttons if there is nothing in the workspace.
* Add keyboard shortcuts for cut, copy and paste operations.
* Remove clipboard buttons to simplify UI.
* Prevent setting a number value to NaN. Select the field value on entry to an input field. State the contents of the input field when describing the field.
* Add aria-level and aria-selected attrs to dropdowns.
* routine recompile
* Update demo to latest interpreter.
* Move 'move to marked spot' button to the top of the block options list.
* Fix incorrect aria-levels in toolbox tree component.
* Add new fields to toolbarButtonConfig.
* Recompile
* Remove CONTRIBUTING
Previously if a workspace.clear() was executed whilst a field was being edited then the following errors would appear in the console and the blockly workspace would become unresponsive.
Uncaught TypeError: Cannot read property 'removeChangeListener' of null(anonymous function) @ blockly_compressed.js:19071Blockly.WidgetDiv.hide @ blockly_compressed.js:20609Blockly.WidgetDiv.hideIfOwner @ blockly_compressed.js:20620Blockly.FieldTextInput.dispose @ blockly_compressed.js:18961Blockly.Input.dispose @ blockly_compressed.js:15786Blockly.Block.dispose @ blockly_compressed.js:17275Blockly.BlockSvg.dispose @ blockly_compressed.js:18327Blockly.Block.dispose @ blockly_compressed.js:17272Blockly.BlockSvg.dispose @ blockly_compressed.js:18327Blockly.Block.dispose @ blockly_compressed.js:17272Blockly.BlockSvg.dispose @ blockly_compressed.js:18327Blockly.Block.dispose @ blockly_compressed.js:17272Blockly.BlockSvg.dispose @ blockly_compressed.js:18327Blockly.Workspace.clear @ blockly_compressed.js:14510window.onmessage @ index.html:175
blockly_compressed.js:19041
Uncaught TypeError: Cannot read property 'scale' of nullBlockly.FieldTextInput.resizeEditor_ @ blockly_compressed.js:19041Blockly.Workspace.fireChangeListener @ blockly_compressed.js:14544Blockly.Events.fireNow_ @ blockly_compressed.js:18833
Explicitly hiding the popup div first avoids this problem.