From 8e44684c81abb5dc637bc1e45af293e6e327ae17 Mon Sep 17 00:00:00 2001 From: Tina Quach Date: Wed, 24 Aug 2016 10:29:24 -0700 Subject: [PATCH] Blockly Factory: Clean Up Workspace on Save Block, Import Lowercase Types (#584) * save only factory base block upon save to library; import block library with lowercase blocktypes * nit comment --- demos/blocklyfactory/app_controller.js | 3 ++- demos/blocklyfactory/block_library_controller.js | 10 +++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/demos/blocklyfactory/app_controller.js b/demos/blocklyfactory/app_controller.js index caba5ca3e..8aa388771 100644 --- a/demos/blocklyfactory/app_controller.js +++ b/demos/blocklyfactory/app_controller.js @@ -197,7 +197,8 @@ AppController.prototype.formatBlockLibForImport_ = function(xmlText) { xmlDom.appendChild(blockNode); var xmlText = Blockly.Xml.domToText(xmlDom); - var blockType = this.getBlockTypeFromXml_(xmlText); + // All block types should be lowercase. + var blockType = this.getBlockTypeFromXml_(xmlText).toLowerCase(); blockXmlTextMap[blockType] = xmlText; } diff --git a/demos/blocklyfactory/block_library_controller.js b/demos/blocklyfactory/block_library_controller.js index 62a3a747a..3d6029334 100644 --- a/demos/blocklyfactory/block_library_controller.js +++ b/demos/blocklyfactory/block_library_controller.js @@ -139,11 +139,19 @@ BlockLibraryController.prototype.saveToBlockLibrary = function() { } } + // Create block xml. + var xmlElement = goog.dom.createDom('xml'); + var block = FactoryUtils.getRootBlock(BlockFactory.mainWorkspace); + xmlElement.appendChild(Blockly.Xml.blockToDomWithXY(block)); + // Save block. - var xmlElement = Blockly.Xml.workspaceToDom(BlockFactory.mainWorkspace); this.storage.addBlock(blockType, xmlElement); this.storage.saveToLocalStorage(); + // Show saved block without other stray blocks sitting in Block Factory's + // main workspace. + this.openBlock(blockType); + // Do not add another option to dropdown if replacing. if (replace) { return;