Skip to content

Commit

Permalink
fix: custom block context menus (google#5976)
Browse files Browse the repository at this point in the history
* fix: custom block context menus

* fix: move rendered-specific properties back into BlockSvg
  • Loading branch information
BeksOmega committed Mar 3, 2022
1 parent b34db5b commit 8058df2
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 29 deletions.
25 changes: 0 additions & 25 deletions core/block.js
Original file line number Diff line number Diff line change
Expand Up @@ -162,31 +162,6 @@ class Block {
*/
this.loadExtraState = undefined;

/**
* An optional method called by the default mutator UI which allows the
* block to "explode" itself into smaller sub blocks. This function should
* return a "top block" which is the main block in the mutator workspace
* that sub-blocks connect to.
* @type {undefined|?function():!Block}
*/
this.decompose = undefined;

/**
* An optional method called by the deafult mutator UI which allows the
* block to configure itself based on the configuration of sub-blocks in
* the mutator workspace. This function should accept the "top block" which
* was returned by `decompose` as a paramter.
* @type {undefined|?function(!Block)}
*/
this.compose = undefined;

/**
* An optional method called by the default mutator UI which gives the block
* a chance to save information about what child blocks are connected to
* what mutated connections.
* @type {undefined|?function(!Block)}
*/
this.saveConnections = undefined;

/**
* An optional property for suppressing adding STATEMENT_PREFIX and
Expand Down
14 changes: 11 additions & 3 deletions core/block_svg.js
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ class BlockSvg extends Block {
* mutation dialog button and UI to appear.
* @type {undefined|?function(WorkspaceSvg):!BlockSvg}
*/
this.decompose = undefined;
this.decompose = this.decompose;

/**
* An optional method called when a mutator dialog saves its content.
Expand All @@ -119,13 +119,21 @@ class BlockSvg extends Block {
* method for the default mutation dialog button and UI to appear.
* @type {undefined|?function(!BlockSvg)}
*/
this.compose = undefined;
this.compose = this.compose;

/**
* An optional method called by the default mutator UI which gives the block
* a chance to save information about what child blocks are connected to
* what mutated connections.
* @type {undefined|?function(!BlockSvg)}
*/
this.saveConnections = this.saveConnections;

/**
* An optional method for defining custom block context menu items.
* @type {undefined|?function(!Array<!Object>)}
*/
this.customContextMenu = undefined;
this.customContextMenu = this.customContextMenu;

/**
* An property used internally to reference the block's rendering debugger.
Expand Down
2 changes: 1 addition & 1 deletion tests/deps.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 8058df2

Please sign in to comment.