* Can import blocks in JSON and Javascript to generate new category in toolbox workspace
* Added try/catch to file reading
* Added comment to getDefinedBlocks in generator and changed name
* Use random color for imported category and use different call to
update toolbox
* Nit removed extra line
* Added more shadow block validation and cascading when adding shadow blocks
* Rebased and small bug fix in add category
* Removed warning text in addShadow
* Broke long if statement into inlined function
* Updated tab in blockly factory to reflect changes made to workspace factory, changes mainly in index.html and wfactory_init.js
* Added tab for workspace editing mode
* Changed font size in dropdown menu
* Added class for options inputs to add event listeners more easily
* generate category xml from block library and from imported block defs
* simplified algorithms for parsing block definition and cleaned up style
* refactored getCategoryFromBlockDefs, breaking it up and moving it to FactoryUtils
* refactored getCategoryXml, fixed bug in updatingToolBox of exporter
* removed unneeded function, added quick check for empty library
* nit comments
* Starting to integrate workspacefactory
* Committing before switching branches
* Tab for workspace factory working
* Committing before switching branches
* Refactored to have FactoryInit namespace and move logic out of AppController
* Nit typo fix.
* Fixed bugs from rebasing
* Nit fix in factory.css
* Added this. to previewWorkspace
* added warning if a block type already exists in blockly standard category
simplified isStandardBlockType
* simplified code, removed isStandardBlockType function
* nit remove implementation detail from comment
* Did cherry-picking for style changes with different resolution, no workspace factory style yet
* Nit changes
* Moving style out of index.html to factory.css
* Nit ordering in factory.css
Add a isMutator member similar to isFlyout to workspace_svg so it knows whether
it is mutator or not. Allow blocks to access that property so that they can recalculate
coordinates appropriately.
* created FactoryUtils, to share useful generator code between the different apps within Blockly Factory
* undo removal of alert upon empty block library
nit removed specification of wfactory exporter param in comment for export controller
* remove alert from index and nit comment in wfactory generator
* Added pre-loaded blocks with import and export, squashed commit.
* Configure Options object
Allows user to configure the options object, see changes in the preview workspace, and export the options object (squashed commit).
* Nit changes to style.css
screen transformation matrix) when a scroll happened.
This is not done using a scroll handler since the update
is expensive (getScreenCTM and getClientBoundingRect) and we don't need to do it
until the scroll is done and the user is interacting with blocks again.
* working tabs using closure
expanded export settings menu
added old blockfactory and moved new files into blocklyfactory
expanded export to lay groundwork for workspace factory integration
fixed BlockFactory escapeString bug
* added TODO for refactoring onTab
Workspace factory helps developers configure their workspace by allowing them to drag blocks into the workspace to add them to their toolbox.
Current features:
supports categories or a single flyout of blocks
updates a preview workspace automatically
imports toolbox XML already written
exports toolbox XML to a file
prints toolbox XML to the console
imports a standard Blockly category
supports shadow blocks (allowing the user to move shadow blocks and toggle between shadow blocks and normal blocks), disabled blocks, block groups
allows the user to add/move/delete/rename/color categories and separators.
Created Blockly Factory, an expansion of the Block Factory demo that adds the Block Library and Block Exporter to the Block Factory.
The Block Library provides the interfaces for the user to save their blocks to local storage so that upon opening and closing the page, their blocks will still persist. In Blockly Factory, Users can re-open saved blocks for edit through a dropdown interface, delete blocks from their library, clear their block library, and import and export their block library. Importing and exporting their block library may be useful for creating specific sets of in-progress blocks for editing.
The Block Exporter allows users to export block definitions and generator stubs of their saved blocks easily by using a visual interface powered by Blockly. It contains a selector workspace in which users add and remove blocks to the workspace to select and deselect them for export.
The exporter also contains an export settings form through which people may export block definitions and generator stubs.