mirror of
https://github.com/google/blockly.git
synced 2026-01-14 04:17:10 +01:00
Don’t save IDs of shadow blocks.
This commit is contained in:
12
core/xml.js
12
core/xml.js
@@ -193,7 +193,7 @@ Blockly.Xml.blockToDom = function(block, opt_noId) {
|
||||
}
|
||||
var shadow = input.connection.getShadowDom();
|
||||
if (shadow && (!childBlock || !childBlock.isShadow())) {
|
||||
container.appendChild(Blockly.Xml.cloneShadow_(shadow));
|
||||
container.appendChild(Blockly.Xml.cloneShadow_(shadow, opt_noId));
|
||||
}
|
||||
if (childBlock) {
|
||||
container.appendChild(Blockly.Xml.blockToDom(childBlock, opt_noId));
|
||||
@@ -233,7 +233,7 @@ Blockly.Xml.blockToDom = function(block, opt_noId) {
|
||||
}
|
||||
var shadow = block.nextConnection && block.nextConnection.getShadowDom();
|
||||
if (shadow && (!nextBlock || !nextBlock.isShadow())) {
|
||||
container.appendChild(Blockly.Xml.cloneShadow_(shadow));
|
||||
container.appendChild(Blockly.Xml.cloneShadow_(shadow, opt_noId));
|
||||
}
|
||||
|
||||
return element;
|
||||
@@ -242,15 +242,21 @@ Blockly.Xml.blockToDom = function(block, opt_noId) {
|
||||
/**
|
||||
* Deeply clone the shadow's DOM so that changes don't back-wash to the block.
|
||||
* @param {!Element} shadow A tree of XML elements.
|
||||
* @param {boolean=} opt_noId True if the encoder should skip the block ID.
|
||||
* @return {!Element} A tree of XML elements.
|
||||
* @private
|
||||
*/
|
||||
Blockly.Xml.cloneShadow_ = function(shadow) {
|
||||
Blockly.Xml.cloneShadow_ = function(shadow, opt_noId) {
|
||||
shadow = shadow.cloneNode(true);
|
||||
// Walk the tree looking for whitespace. Don't prune whitespace in a tag.
|
||||
var node = shadow;
|
||||
var textNode;
|
||||
while (node) {
|
||||
if (opt_noId && node.nodeName == 'shadow') {
|
||||
// Strip off IDs from shadow blocks. There should never be a 'block' as
|
||||
// a child of a 'shadow', so no need to check that.
|
||||
node.removeAttribute('id');
|
||||
}
|
||||
if (node.firstChild) {
|
||||
node = node.firstChild;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user