Strip coordinates from storage of single block stacks.

When loading, place blocks with no coordinates at 10,10 instead of 0,0.
This commit is contained in:
Neil Fraser
2018-04-04 12:49:58 -07:00
committed by Neil Fraser
parent d06ebea082
commit 35f7357878
2 changed files with 13 additions and 2 deletions

View File

@@ -71,6 +71,15 @@ BlocklyStorage.restoreBlocks = function(opt_workspace) {
BlocklyStorage.link = function(opt_workspace) {
var workspace = opt_workspace || Blockly.getMainWorkspace();
var xml = Blockly.Xml.workspaceToDom(workspace, true);
// Remove x/y coordinates from XML if there's only one block stack.
// There's no reason to store this, removing it helps with anonymity.
if (workspace.getTopBlocks(false).length == 1 && xml.querySelector) {
var block = xml.querySelector('block');
if (block) {
block.removeAttribute('x');
block.removeAttribute('y');
}
}
var data = Blockly.Xml.domToText(xml);
BlocklyStorage.makeRequest_('/storage', 'xml', data, workspace);
};