mirror of
https://github.com/google/blockly.git
synced 2026-01-10 02:17:09 +01:00
Refactor duplicated callback function for collapse and expand options
This commit is contained in:
@@ -677,19 +677,28 @@ Blockly.WorkspaceSvg.prototype.showContextMenu_ = function(e) {
|
||||
}
|
||||
}
|
||||
|
||||
// Option to collapse top blocks.
|
||||
var collapseOption = {enabled: hasExpandedBlocks};
|
||||
collapseOption.text = Blockly.Msg.COLLAPSE_ALL;
|
||||
collapseOption.callback = function() {
|
||||
/*
|
||||
* Option to collapse or expand top blocks
|
||||
* @param {bool} shouldCollapse whether a block should collapse
|
||||
* @private
|
||||
*/
|
||||
function toggleOption(shouldCollapse) {
|
||||
var ms = 0;
|
||||
for (var i = 0; i < topBlocks.length; i++) {
|
||||
var block = topBlocks[i];
|
||||
while (block) {
|
||||
setTimeout(block.setCollapsed.bind(block, true), ms);
|
||||
setTimeout(block.setCollapsed.bind(block, shouldCollapse), ms);
|
||||
block = block.getNextBlock();
|
||||
ms += COLLAPSE_DELAY;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Option to collapse top blocks.
|
||||
var collapseOption = {enabled: hasExpandedBlocks};
|
||||
collapseOption.text = Blockly.Msg.COLLAPSE_ALL;
|
||||
collapseOption.callback = function() {
|
||||
toggleOption(true);
|
||||
};
|
||||
menuOptions.push(collapseOption);
|
||||
|
||||
@@ -697,15 +706,7 @@ Blockly.WorkspaceSvg.prototype.showContextMenu_ = function(e) {
|
||||
var expandOption = {enabled: hasCollapsedBlocks};
|
||||
expandOption.text = Blockly.Msg.EXPAND_ALL;
|
||||
expandOption.callback = function() {
|
||||
var ms = 0;
|
||||
for (var i = 0; i < topBlocks.length; i++) {
|
||||
var block = topBlocks[i];
|
||||
while (block) {
|
||||
setTimeout(block.setCollapsed.bind(block, false), ms);
|
||||
block = block.getNextBlock();
|
||||
ms += COLLAPSE_DELAY;
|
||||
}
|
||||
}
|
||||
toggleOption(false);
|
||||
};
|
||||
menuOptions.push(expandOption);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user