diff --git a/demos/blocklyfactory/app_controller.js b/demos/blocklyfactory/app_controller.js
index 1cfe61a88..87b0c8370 100644
--- a/demos/blocklyfactory/app_controller.js
+++ b/demos/blocklyfactory/app_controller.js
@@ -48,7 +48,7 @@ AppController = function() {
this.blockLibraryController.populateBlockLibrary();
// Construct Workspace Factory Controller.
- this.workspaceFactoryController = new FactoryController
+ this.workspaceFactoryController = new WorkspaceFactoryController
('workspacefactory_toolbox', 'toolbox_blocks', 'preview_blocks');
// Initialize Block Exporter
diff --git a/demos/blocklyfactory/factory.js b/demos/blocklyfactory/factory.js
index 71f7fa16e..ca7c98ae7 100644
--- a/demos/blocklyfactory/factory.js
+++ b/demos/blocklyfactory/factory.js
@@ -235,7 +235,7 @@ BlockFactory.updatePreview = function() {
// Warn user if their block type is already exists in Blockly's standard
// library.
- if (BlockFactory.standardBlockTypes.indexOf(blockType) != -1)
+ if (BlockFactory.standardBlockTypes.indexOf(blockType) != -1) {
var rootBlock = FactoryUtils.getRootBlock(BlockFactory.mainWorkspace);
rootBlock.setWarningText('A standard Blockly.Block already exists ' +
'under this name.');
diff --git a/demos/blocklyfactory/workspacefactory/index.html b/demos/blocklyfactory/workspacefactory/index.html
index 0f3a0be24..c45c449a1 100644
--- a/demos/blocklyfactory/workspacefactory/index.html
+++ b/demos/blocklyfactory/workspacefactory/index.html
@@ -542,7 +542,7 @@ goog.require('goog.ui.ColorPicker');
wheel: true}
});
- var controller = new FactoryController(toolboxWorkspace, previewWorkspace);
+ var controller = new WorkspaceFactoryController(toolboxWorkspace, previewWorkspace);
// Wrappers to attach buttons to method calls for the controller object
var addWrapper = function() {
@@ -623,31 +623,31 @@ goog.require('goog.ui.ColorPicker');
controller.clearToolbox();
};
var editToolboxWrapper = function() {
- controller.setMode(FactoryController.MODE_TOOLBOX);
+ controller.setMode(WorkspaceFactoryController.MODE_TOOLBOX);
};
var editPreloadWrapper = function() {
- controller.setMode(FactoryController.MODE_PRELOAD);
+ controller.setMode(WorkspaceFactoryController.MODE_PRELOAD);
};
var importToolboxWrapper = function(e) {
- controller.importFile(event.target.files[0], FactoryController.MODE_TOOLBOX);
+ controller.importFile(event.target.files[0], WorkspaceFactoryController.MODE_TOOLBOX);
document.getElementById('dropdownDiv_import').classList.remove("show");
};
var importPreloadWrapper = function(e) {
- controller.importFile(event.target.files[0], FactoryController.MODE_PRELOAD);
+ controller.importFile(event.target.files[0], WorkspaceFactoryController.MODE_PRELOAD);
document.getElementById('dropdownDiv_import').classList.remove("show");
};
var editToolboxWrapper = function() {
- controller.setMode(FactoryController.MODE_TOOLBOX);
+ controller.setMode(WorkspaceFactoryController.MODE_TOOLBOX);
};
var editPreloadWrapper = function() {
- controller.setMode(FactoryController.MODE_PRELOAD);
+ controller.setMode(WorkspaceFactoryController.MODE_PRELOAD);
};
var exportToolboxWrapper = function() {
- controller.exportFile(FactoryController.MODE_TOOLBOX);
+ controller.exportFile(WorkspaceFactoryController.MODE_TOOLBOX);
document.getElementById('dropdownDiv_export').classList.remove("show");
}
var exportPreloadWrapper = function() {
- controller.exportXmlFile(FactoryController.MODE_PRELOAD);
+ controller.exportXmlFile(WorkspaceFactoryController.MODE_PRELOAD);
document.getElementById('dropdownDiv_export').classList.remove("show");
}
var exportOptionsWrapper = function() {
@@ -655,8 +655,8 @@ goog.require('goog.ui.ColorPicker');
document.getElementById('dropdownDiv_export').classList.remove("show");
}
var exportAllWrapper = function() {
- controller.exportXmlFile(FactoryController.MODE_TOOLBOX);
- controller.exportXmlFile(FactoryController.MODE_PRELOAD);
+ controller.exportXmlFile(WorkspaceFactoryController.MODE_TOOLBOX);
+ controller.exportXmlFile(WorkspaceFactoryController.MODE_PRELOAD);
controller.exportOptionsFile();
document.getElementById('dropdownDiv_export').classList.remove("show");
}
diff --git a/demos/blocklyfactory/workspacefactory/standard_categories.js b/demos/blocklyfactory/workspacefactory/standard_categories.js
index 5112c5ee2..322eab6e4 100644
--- a/demos/blocklyfactory/workspacefactory/standard_categories.js
+++ b/demos/blocklyfactory/workspacefactory/standard_categories.js
@@ -27,11 +27,11 @@
* @author Emma Dauterman (evd2014)
*/
-FactoryController.prototype.standardCategories = Object.create(null);
+WorkspaceFactoryController.prototype.standardCategories = Object.create(null);
-FactoryController.prototype.standardCategories['logic'] =
+WorkspaceFactoryController.prototype.standardCategories['logic'] =
new ListElement(ListElement.TYPE_CATEGORY, 'Logic');
-FactoryController.prototype.standardCategories['logic'].xml =
+WorkspaceFactoryController.prototype.standardCategories['logic'].xml =
Blockly.Xml.textToDom(
'' +
'' +
@@ -42,11 +42,12 @@ FactoryController.prototype.standardCategories['logic'].xml =
'' +
'' +
'');
-FactoryController.prototype.standardCategories['logic'].color = '#5C81A6';
+WorkspaceFactoryController.prototype.standardCategories['logic'].color =
+ '#5C81A6';
-FactoryController.prototype.standardCategories['loops'] =
+WorkspaceFactoryController.prototype.standardCategories['loops'] =
new ListElement(ListElement.TYPE_CATEGORY, 'Loops');
-FactoryController.prototype.standardCategories['loops'].xml =
+WorkspaceFactoryController.prototype.standardCategories['loops'].xml =
Blockly.Xml.textToDom(
'' +
'' +
@@ -77,11 +78,12 @@ FactoryController.prototype.standardCategories['loops'].xml =
'' +
'' +
'');
-FactoryController.prototype.standardCategories['loops'].color = '#5CA65C';
+WorkspaceFactoryController.prototype.standardCategories['loops'].color =
+ '#5CA65C';
-FactoryController.prototype.standardCategories['math'] =
+WorkspaceFactoryController.prototype.standardCategories['math'] =
new ListElement(ListElement.TYPE_CATEGORY, 'Math');
-FactoryController.prototype.standardCategories['math'].xml =
+WorkspaceFactoryController.prototype.standardCategories['math'].xml =
Blockly.Xml.textToDom(
'' +
'' +
@@ -177,11 +179,12 @@ FactoryController.prototype.standardCategories['math'].xml =
'' +
'' +
'');
-FactoryController.prototype.standardCategories['math'].color = '#5C68A6';
+WorkspaceFactoryController.prototype.standardCategories['math'].color =
+ '#5C68A6';
-FactoryController.prototype.standardCategories['text'] =
+WorkspaceFactoryController.prototype.standardCategories['text'] =
new ListElement(ListElement.TYPE_CATEGORY, 'Text');
-FactoryController.prototype.standardCategories['text'].xml =
+WorkspaceFactoryController.prototype.standardCategories['text'].xml =
Blockly.Xml.textToDom(
'' +
'' +
@@ -260,11 +263,12 @@ FactoryController.prototype.standardCategories['text'].xml =
'' +
'' +
'');
-FactoryController.prototype.standardCategories['text'].color = '#5CA68D';
+WorkspaceFactoryController.prototype.standardCategories['text'].color =
+ '#5CA68D';
-FactoryController.prototype.standardCategories['lists'] =
+WorkspaceFactoryController.prototype.standardCategories['lists'] =
new ListElement(ListElement.TYPE_CATEGORY, 'Lists');
-FactoryController.prototype.standardCategories['lists'].xml =
+WorkspaceFactoryController.prototype.standardCategories['lists'].xml =
Blockly.Xml.textToDom(
'' +
'' +
@@ -317,11 +321,12 @@ FactoryController.prototype.standardCategories['lists'].xml =
'' +
'' +
'');
-FactoryController.prototype.standardCategories['lists'].color = '#745CA6';
+WorkspaceFactoryController.prototype.standardCategories['lists'].color =
+ '#745CA6';
-FactoryController.prototype.standardCategories['colour'] =
+WorkspaceFactoryController.prototype.standardCategories['colour'] =
new ListElement(ListElement.TYPE_CATEGORY, 'Colour');
-FactoryController.prototype.standardCategories['colour'].xml =
+WorkspaceFactoryController.prototype.standardCategories['colour'].xml =
Blockly.Xml.textToDom(
'' +
'' +
@@ -361,15 +366,19 @@ FactoryController.prototype.standardCategories['colour'].xml =
'' +
'' +
'');
-FactoryController.prototype.standardCategories['colour'].color = '#A6745C';
+WorkspaceFactoryController.prototype.standardCategories['colour'].color =
+ '#A6745C';
-FactoryController.prototype.standardCategories['functions'] =
+WorkspaceFactoryController.prototype.standardCategories['functions'] =
new ListElement(ListElement.TYPE_CATEGORY, 'Functions');
-FactoryController.prototype.standardCategories['functions'].color = '#9A5CA6'
-FactoryController.prototype.standardCategories['functions'].custom =
+WorkspaceFactoryController.prototype.standardCategories['functions'].color =
+ '#9A5CA6'
+WorkspaceFactoryController.prototype.standardCategories['functions'].custom =
'PROCEDURE';
-FactoryController.prototype.standardCategories['variables'] =
+WorkspaceFactoryController.prototype.standardCategories['variables'] =
new ListElement(ListElement.TYPE_CATEGORY, 'Variables');
-FactoryController.prototype.standardCategories['variables'].color = '#A65C81';
-FactoryController.prototype.standardCategories['variables'].custom = 'VARIABLE';
+WorkspaceFactoryController.prototype.standardCategories['variables'].color =
+ '#A65C81';
+WorkspaceFactoryController.prototype.standardCategories['variables'].custom =
+ 'VARIABLE';
diff --git a/demos/blocklyfactory/workspacefactory/wfactory_controller.js b/demos/blocklyfactory/workspacefactory/wfactory_controller.js
index 88ea321ee..2d5bef579 100644
--- a/demos/blocklyfactory/workspacefactory/wfactory_controller.js
+++ b/demos/blocklyfactory/workspacefactory/wfactory_controller.js
@@ -35,14 +35,14 @@
*/
/**
- * Class for a FactoryController.
+ * Class for a WorkspaceFactoryController
* @constructor
*
* @param {!string} toolboxName Name of workspace toolbox XML.
* @param {!string} toolboxDiv Name of div to inject toolbox workspace in.
* @param {!string} previewDiv Name of div to inject preview workspace in.
*/
-FactoryController = function(toolboxName, toolboxDiv, previewDiv) {
+WorkspaceFactoryController = function(toolboxName, toolboxDiv, previewDiv) {
var toolbox = document.getElementById(toolboxName);
// Workspace for user to drag blocks in for a certain category.
@@ -71,27 +71,27 @@ FactoryController = function(toolboxName, toolboxDiv, previewDiv) {
});
// Model to keep track of categories and blocks.
- this.model = new FactoryModel();
+ this.model = new WorkspaceFactoryModel();
// Updates the category tabs.
- this.view = new FactoryView();
+ this.view = new WorkspaceFactoryView();
// Generates XML for categories.
- this.generator = new FactoryGenerator(this.model);
+ this.generator = new WorkspaceFactoryGenerator(this.model);
// Tracks which editing mode the user is in. Toolbox mode on start.
- this.selectedMode = FactoryController.MODE_TOOLBOX;
+ this.selectedMode = WorkspaceFactoryController.MODE_TOOLBOX;
};
// Toolbox editing mode. Changes the user makes to the workspace updates the
// toolbox.
-FactoryController.MODE_TOOLBOX = 'toolbox';
+WorkspaceFactoryController.MODE_TOOLBOX = 'toolbox';
// Pre-loaded workspace editing mode. Changes the user makes to the workspace
// udpates the pre-loaded blocks.
-FactoryController.MODE_PRELOAD = 'preload';
+WorkspaceFactoryController.MODE_PRELOAD = 'preload';
/**
* Currently prompts the user for a name, checking that it's valid (not used
* before), and then creates a tab and switches to it.
*/
-FactoryController.prototype.addCategory = function() {
+WorkspaceFactoryController.prototype.addCategory = function() {
// Check if it's the first category added.
var isFirstCategory = !this.model.hasElements();
// Give the option to save blocks if their workspace is not empty and they
@@ -151,7 +151,8 @@ FactoryController.prototype.addCategory = function() {
* @param {boolean} isFirstCategory True if it's the first category created,
* false otherwise.
*/
-FactoryController.prototype.createCategory = function(name, isFirstCategory) {
+WorkspaceFactoryController.prototype.createCategory = function(name,
+ isFirstCategory) {
// Create empty category
var category = new ListElement(ListElement.TYPE_CATEGORY, name);
this.model.addElementToList(category);
@@ -168,7 +169,7 @@ FactoryController.prototype.createCategory = function(name, isFirstCategory) {
* @param {!Element} tab The DOM element to add the listener to.
* @param {!string} id The ID of the element to switch to when tab is clicked.
*/
-FactoryController.prototype.addClickToSwitch = function(tab, id) {
+WorkspaceFactoryController.prototype.addClickToSwitch = function(tab, id) {
var self = this;
var clickFunction = function(id) { // Keep this in scope for switchElement
return function() {
@@ -184,7 +185,7 @@ FactoryController.prototype.addClickToSwitch = function(tab, id) {
* When the last element is removed, it switches to a single flyout mode.
*
*/
-FactoryController.prototype.removeElement = function() {
+WorkspaceFactoryController.prototype.removeElement = function() {
// Check that there is a currently selected category to remove.
if (!this.model.getSelected()) {
return;
@@ -237,7 +238,8 @@ FactoryController.prototype.removeElement = function() {
* @param {!string} promptString Prompt for the user to enter a name.
* @return {string} Valid name for a new category, or null if cancelled.
*/
-FactoryController.prototype.promptForNewCategoryName = function(promptString) {
+WorkspaceFactoryController.prototype.promptForNewCategoryName =
+ function(promptString) {
do {
var name = prompt(promptString);
if (!name) { // If cancelled.
@@ -254,7 +256,7 @@ FactoryController.prototype.promptForNewCategoryName = function(promptString) {
*
* @param {!string} id ID of tab to be opened, must be valid element ID.
*/
-FactoryController.prototype.switchElement = function(id) {
+WorkspaceFactoryController.prototype.switchElement = function(id) {
// Disables events while switching so that Blockly delete and create events
// don't update the preview repeatedly.
Blockly.Events.disable();
@@ -275,7 +277,7 @@ FactoryController.prototype.switchElement = function(id) {
*
* @param {!string} id ID of category to load
*/
-FactoryController.prototype.clearAndLoadElement = function(id) {
+WorkspaceFactoryController.prototype.clearAndLoadElement = function(id) {
// Unselect current tab if switching to and from an element.
if (this.model.getSelectedId() != null && id != null) {
this.view.setCategoryTabSelection(this.model.getSelectedId(), false);
@@ -315,17 +317,18 @@ FactoryController.prototype.clearAndLoadElement = function(id) {
* the corresponding configuration xml to that file.
*
* @param {!string} exportMode The type of file to export
- * (FactoryController.MODE_TOOLBOX for the toolbox configuration, and
- * FactoryController.MODE_PRELOAD for the pre-loaded workspace configuration)
+ * (WorkspaceFactoryController.MODE_TOOLBOX for the toolbox configuration,
+ * and WorkspaceFactoryController.MODE_PRELOAD for the pre-loaded workspace
+ * configuration)
*/
-FactoryController.prototype.exportXmlFile = function(exportMode) {
+WorkspaceFactoryController.prototype.exportXmlFile = function(exportMode) {
// Generate XML.
- if (exportMode == FactoryController.MODE_TOOLBOX) {
+ if (exportMode == WorkspaceFactoryController.MODE_TOOLBOX) {
// Export the toolbox XML.
var configXml = Blockly.Xml.domToPrettyText
(this.generator.generateToolboxXml());
- } else if (exportMode == FactoryController.MODE_PRELOAD) {
+ } else if (exportMode == WorkspaceFactoryController.MODE_PRELOAD) {
// Export the pre-loaded block XML.
var configXml = Blockly.Xml.domToPrettyText
@@ -337,7 +340,7 @@ FactoryController.prototype.exportXmlFile = function(exportMode) {
// Get file name.
var fileName = prompt('File Name for ' + (exportMode ==
- FactoryController.MODE_TOOLBOX ? 'toolbox XML: ' :
+ WorkspaceFactoryController.MODE_TOOLBOX ? 'toolbox XML: ' :
'pre-loaded workspace XML: '));
if (!fileName) { // If cancelled
return;
@@ -351,7 +354,7 @@ FactoryController.prototype.exportXmlFile = function(exportMode) {
* Export the options object to be used for the Blockly inject call. Gets a
* file name from the user and downloads the options object to that file.
*/
-FactoryController.prototype.exportOptionsFile = function() {
+WorkspaceFactoryController.prototype.exportOptionsFile = function() {
var fileName = prompt('File Name for options object for injecting: ');
if (!fileName) { // If cancelled.
return;
@@ -369,7 +372,7 @@ FactoryController.prototype.exportOptionsFile = function() {
* Tied to "Print" button. Mainly used for debugging purposes. Prints
* the configuration XML to the console.
*/
-FactoryController.prototype.printConfig = function() {
+WorkspaceFactoryController.prototype.printConfig = function() {
// Capture any changes made by user before generating XML.
this.saveStateFromWorkspace();
// Print XML.
@@ -387,12 +390,12 @@ FactoryController.prototype.printConfig = function() {
* that no changes have been made to the workspace since updating the model
* (if this might be the case, call saveStateFromWorkspace).
*/
-FactoryController.prototype.updatePreview = function() {
+WorkspaceFactoryController.prototype.updatePreview = function() {
// Disable events to stop updatePreview from recursively calling itself
// through event handlers.
Blockly.Events.disable();
- if (this.selectedMode == FactoryController.MODE_TOOLBOX) {
+ if (this.selectedMode == WorkspaceFactoryController.MODE_TOOLBOX) {
// If currently editing the toolbox.
// Get toolbox XML.
var tree = Blockly.Options.parseToolboxTree
@@ -420,7 +423,7 @@ FactoryController.prototype.updatePreview = function() {
this.previewWorkspace.clear();
Blockly.Xml.domToWorkspace(this.generator.generateWorkspaceXml(),
this.previewWorkspace);
- } else if (this.selectedMode == FactoryController.MODE_PRELOAD) {
+ } else if (this.selectedMode == WorkspaceFactoryController.MODE_PRELOAD){
// If currently editing the pre-loaded workspace.
this.previewWorkspace.clear();
Blockly.Xml.domToWorkspace(this.generator.generateWorkspaceXml(),
@@ -435,11 +438,11 @@ FactoryController.prototype.updatePreview = function() {
* Saves the state from the workspace depending on the current mode. Should
* be called after making changes to the workspace.
*/
-FactoryController.prototype.saveStateFromWorkspace = function() {
- if (this.selectedMode == FactoryController.MODE_TOOLBOX) {
+WorkspaceFactoryController.prototype.saveStateFromWorkspace = function() {
+ if (this.selectedMode == WorkspaceFactoryController.MODE_TOOLBOX) {
// If currently editing the toolbox.
this.model.getSelected().saveFromWorkspace(toolboxWorkspace);
- } else if (this.selectedMode == FactoryController.MODE_PRELOAD) {
+ } else if (this.selectedMode == WorkspaceFactoryController.MODE_PRELOAD) {
// If currently editing the pre-loaded workspace.
this.model.savePreloadXml
(Blockly.Xml.workspaceToDom(this.toolboxWorkspace));
@@ -454,7 +457,7 @@ FactoryController.prototype.saveStateFromWorkspace = function() {
* @param {!Element} tree of xml elements
* @package
*/
-FactoryController.prototype.reinjectPreview = function(tree) {
+WorkspaceFactoryController.prototype.reinjectPreview = function(tree) {
this.previewWorkspace.dispose();
this.model.setOptionsAttribute('toolbox', Blockly.Xml.domToPrettyText(tree));
this.previewWorkspace = Blockly.inject('preview_blocks', this.model.options);
@@ -467,7 +470,7 @@ FactoryController.prototype.reinjectPreview = function(tree) {
* Continues prompting the user until they input a category name that is not
* currently in use, exits if user presses cancel.
*/
-FactoryController.prototype.changeCategoryName = function() {
+WorkspaceFactoryController.prototype.changeCategoryName = function() {
// Return if a category is not selected.
if (this.model.getSelected().type != ListElement.TYPE_CATEGORY) {
return;
@@ -495,7 +498,7 @@ FactoryController.prototype.changeCategoryName = function() {
* to swap with. Positive if the element to be swapped with is below, negative
* if the element to be swapped with is above.
*/
-FactoryController.prototype.moveElement = function(offset) {
+WorkspaceFactoryController.prototype.moveElement = function(offset) {
var curr = this.model.getSelected();
if (!curr) { // Return if no selected element.
return;
@@ -523,8 +526,8 @@ FactoryController.prototype.moveElement = function(offset) {
* @param {int} newIndex The index to insert the element at.
* @param {int} oldIndex The index the element is currently at.
*/
-FactoryController.prototype.moveElementToIndex = function(element, newIndex,
- oldIndex) {
+WorkspaceFactoryController.prototype.moveElementToIndex = function(element,
+ newIndex, oldIndex) {
this.model.moveElementToIndex(element, newIndex, oldIndex);
this.view.moveTabToIndex(element.id, newIndex, oldIndex);
};
@@ -536,7 +539,8 @@ FactoryController.prototype.moveElementToIndex = function(element, newIndex,
* @param {!string} color The color to change the selected category. Must be
* a valid CSS string.
*/
-FactoryController.prototype.changeSelectedCategoryColor = function(color) {
+WorkspaceFactoryController.prototype.changeSelectedCategoryColor =
+ function(color) {
// Return if category is not selected.
if (this.model.getSelected().type != ListElement.TYPE_CATEGORY) {
return;
@@ -553,7 +557,7 @@ FactoryController.prototype.changeSelectedCategoryColor = function(color) {
* loads it as a new category and switches to it. Leverages standardCategories
* map in standard_categories.js.
*/
-FactoryController.prototype.loadCategory = function() {
+WorkspaceFactoryController.prototype.loadCategory = function() {
// Prompt user for the name of the standard category to load.
do {
var name = prompt('Enter the name of the category you would like to import '
@@ -619,7 +623,7 @@ FactoryController.prototype.loadCategory = function() {
* in standardCategories
* @return {boolean} True if name is a standard category name, false otherwise.
*/
-FactoryController.prototype.isStandardCategoryName = function(name) {
+WorkspaceFactoryController.prototype.isStandardCategoryName = function(name) {
for (var category in this.standardCategories) {
if (name.toLowerCase() == category) {
return true;
@@ -633,7 +637,7 @@ FactoryController.prototype.isStandardCategoryName = function(name) {
* exist, adds a separator to the model and view. Does not switch to select
* the separator, and updates the preview.
*/
-FactoryController.prototype.addSeparator = function() {
+WorkspaceFactoryController.prototype.addSeparator = function() {
// Don't allow the user to add a separator if a category has not been created.
if (!this.model.hasElements()) {
alert('Add a category before adding a separator.');
@@ -662,10 +666,10 @@ FactoryController.prototype.addSeparator = function() {
* @param {string} file The path for the file to be imported into the workspace.
* Should contain valid toolbox XML.
* @param {!string} importMode The mode corresponding to the type of file the
- * user is importing (FactoryController.MODE_TOOLBOX or
- * FactoryController.MODE_PRELOAD).
+ * user is importing (WorkspaceFactoryController.MODE_TOOLBOX or
+ * WorkspaceFactoryController.MODE_PRELOAD).
*/
-FactoryController.prototype.importFile = function(file, importMode) {
+WorkspaceFactoryController.prototype.importFile = function(file, importMode) {
// Exit if cancelled.
if (!file) {
return;
@@ -679,13 +683,13 @@ FactoryController.prototype.importFile = function(file, importMode) {
// Print error message if fail.
try {
var tree = Blockly.Xml.textToDom(reader.result);
- if (importMode == FactoryController.MODE_TOOLBOX) {
+ if (importMode == WorkspaceFactoryController.MODE_TOOLBOX) {
// Switch mode and import toolbox XML.
- controller.setMode(FactoryController.MODE_TOOLBOX);
+ controller.setMode(WorkspaceFactoryController.MODE_TOOLBOX);
controller.importToolboxFromTree_(tree);
- } else if (importMode == FactoryController.MODE_PRELOAD) {
+ } else if (importMode == WorkspaceFactoryController.MODE_PRELOAD) {
// Switch mode and import pre-loaded workspace XML.
- controller.setMode(FactoryController.MODE_PRELOAD);
+ controller.setMode(WorkspaceFactoryController.MODE_PRELOAD);
controller.importPreloadFromTree_(tree);
} else {
// Throw error if invalid mode.
@@ -709,7 +713,7 @@ FactoryController.prototype.importFile = function(file, importMode) {
*
* @param {!Element} tree XML tree to be loaded to toolbox editing area.
*/
-FactoryController.prototype.importToolboxFromTree_ = function(tree) {
+WorkspaceFactoryController.prototype.importToolboxFromTree_ = function(tree) {
// Clear current editing area.
this.model.clearToolboxList();
this.view.clearToolboxTabs();
@@ -785,7 +789,7 @@ FactoryController.prototype.importToolboxFromTree_ = function(tree) {
* @param {!Element} tree XML tree to be loaded to pre-loaded block editing
* area.
*/
-FactoryController.prototype.importPreloadFromTree_ = function(tree) {
+WorkspaceFactoryController.prototype.importPreloadFromTree_ = function(tree) {
this.clearAndLoadXml_(tree);
this.model.savePreloadXml(tree);
this.updatePreview();
@@ -799,7 +803,7 @@ FactoryController.prototype.importPreloadFromTree_ = function(tree) {
* @param {!Element} tree XML tree to be loaded to pre-loaded block editing
* area.
*/
-FactoryController.prototype.importPreloadFromTree_ = function(tree) {
+WorkspaceFactoryController.prototype.importPreloadFromTree_ = function(tree) {
this.clearAndLoadXml_(tree);
this.model.savePreloadXml(tree);
this.saveStateFromWorkspace();
@@ -814,7 +818,7 @@ FactoryController.prototype.importPreloadFromTree_ = function(tree) {
* @param {!Element} tree XML tree to be loaded to pre-loaded block editing
* area.
*/
-FactoryController.prototype.importPreloadFromTree_ = function(tree) {
+WorkspaceFactoryController.prototype.importPreloadFromTree_ = function(tree) {
this.clearAndLoadXml_(tree);
this.model.savePreloadXml(tree);
this.saveStateFromWorkspace();
@@ -826,8 +830,8 @@ FactoryController.prototype.importPreloadFromTree_ = function(tree) {
* blocks in the model and view. Sets the mode to toolbox mode. Tied to "Clear
* Toolbox" button.
*/
-FactoryController.prototype.clearToolbox = function() {
- this.setMode(FactoryController.MODE_TOOLBOX);
+WorkspaceFactoryController.prototype.clearToolbox = function() {
+ this.setMode(WorkspaceFactoryController.MODE_TOOLBOX);
var hasCategories = this.model.hasElements();
this.model.clearToolboxList();
this.view.clearToolboxTabs();
@@ -850,7 +854,7 @@ FactoryController.prototype.clearToolbox = function() {
* preview when done.
*
*/
-FactoryController.prototype.addShadow = function() {
+WorkspaceFactoryController.prototype.addShadow = function() {
// No block selected to make a shadow block.
if (!Blockly.selected) {
return;
@@ -867,7 +871,7 @@ FactoryController.prototype.addShadow = function() {
* shadow blocks and loading the workspace again. Updates the preview again.
*
*/
-FactoryController.prototype.removeShadow = function() {
+WorkspaceFactoryController.prototype.removeShadow = function() {
// No block selected to modify.
if (!Blockly.selected) {
return;
@@ -886,7 +890,7 @@ FactoryController.prototype.removeShadow = function() {
* @return {boolean} True if the block is a user-generated shadow block, false
* otherwise.
*/
-FactoryController.prototype.isUserGenShadowBlock = function(blockId) {
+WorkspaceFactoryController.prototype.isUserGenShadowBlock = function(blockId) {
return this.model.isShadowBlock(blockId);
}
@@ -896,7 +900,7 @@ FactoryController.prototype.isUserGenShadowBlock = function(blockId) {
* blocks, meaning they are marked as shadow blocks by the model and appear as
* shadow blocks in the view but are still editable and movable.
*/
-FactoryController.prototype.convertShadowBlocks = function() {
+WorkspaceFactoryController.prototype.convertShadowBlocks = function() {
var blocks = this.toolboxWorkspace.getAllBlocks();
for (var i = 0, block; block = blocks[i]; i++) {
if (block.isShadow()) {
@@ -913,9 +917,10 @@ FactoryController.prototype.convertShadowBlocks = function() {
* to and from the toolbox and updates the help text.
*
* @param {!string} tab The type of tab being switched to
- * (FactoryController.MODE_TOOLBOX or FactoryController.MODE_PRELOAD).
+ * (WorkspaceFactoryController.MODE_TOOLBOX or
+ * WorkspaceFactoryController.MODE_PRELOAD).
*/
-FactoryController.prototype.setMode = function(mode) {
+WorkspaceFactoryController.prototype.setMode = function(mode) {
// No work to change mode that's currently set.
if (this.selectedMode == mode) {
return;
@@ -935,7 +940,7 @@ FactoryController.prototype.setMode = function(mode) {
// Update help text above workspace.
this.view.updateHelpText(mode);
- if (mode == FactoryController.MODE_TOOLBOX) {
+ if (mode == WorkspaceFactoryController.MODE_TOOLBOX) {
// Open the toolbox editing space.
document.getElementById('editHelpText').textContent =
'Drag blocks into your toolbox:';
@@ -963,7 +968,7 @@ FactoryController.prototype.setMode = function(mode) {
*
* @param {!Element} xml The XML to be loaded to the workspace.
*/
-FactoryController.prototype.clearAndLoadXml_ = function(xml) {
+WorkspaceFactoryController.prototype.clearAndLoadXml_ = function(xml) {
this.toolboxWorkspace.clear();
this.toolboxWorkspace.clearUndo();
Blockly.Xml.domToWorkspace(xml, this.toolboxWorkspace);
@@ -976,7 +981,7 @@ FactoryController.prototype.clearAndLoadXml_ = function(xml) {
* the preview workspace. The default values depends on if categories are
* present.
*/
-FactoryController.prototype.setStandardOptionsAndUpdate = function() {
+WorkspaceFactoryController.prototype.setStandardOptionsAndUpdate = function() {
this.view.setBaseOptions();
this.view.setCategoryOptions(this.model.hasElements());
this.generateNewOptions();
@@ -990,7 +995,7 @@ FactoryController.prototype.setStandardOptionsAndUpdate = function() {
* options, not the base default options that are set regardless of if
* categories or a single flyout are used.
*/
-FactoryController.prototype.allowToSetDefaultOptions = function() {
+WorkspaceFactoryController.prototype.allowToSetDefaultOptions = function() {
if (!this.model.hasElements() && !confirm('Do you want to use the default ' +
'workspace configuration options for injecting a workspace without ' +
'categories?')) {
@@ -1009,7 +1014,7 @@ FactoryController.prototype.allowToSetDefaultOptions = function() {
* on user input. Should be called every time a change has been made to
* an input field. Updates the model and reinjects the preview workspace.
*/
-FactoryController.prototype.generateNewOptions = function() {
+WorkspaceFactoryController.prototype.generateNewOptions = function() {
var optionsObj = new Object(null);
// Add all standard options to the options object.
diff --git a/demos/blocklyfactory/workspacefactory/wfactory_generator.js b/demos/blocklyfactory/workspacefactory/wfactory_generator.js
index 2ebacbbe1..3f3cf374f 100644
--- a/demos/blocklyfactory/workspacefactory/wfactory_generator.js
+++ b/demos/blocklyfactory/workspacefactory/wfactory_generator.js
@@ -29,10 +29,10 @@
*/
/**
- * Class for a FactoryGenerator
+ * Class for a WorkspaceFactoryGenerator
* @constructor
*/
-FactoryGenerator = function(model) {
+WorkspaceFactoryGenerator = function(model) {
// Model to share information about categories and shadow blocks.
this.model = model;
// Create hidden workspace to load saved XML to generate toolbox XML.
@@ -57,7 +57,7 @@ FactoryGenerator = function(model) {
* @return {!Element} XML element representing toolbox or flyout corresponding
* to toolbox workspace.
*/
-FactoryGenerator.prototype.generateToolboxXml = function() {
+WorkspaceFactoryGenerator.prototype.generateToolboxXml = function() {
// Create DOM for XML.
var xmlDom = goog.dom.createDom('xml',
{
@@ -117,7 +117,7 @@ FactoryGenerator.prototype.generateToolboxXml = function() {
* generated shadow blocks to actual shadow blocks.
*
*/
-FactoryGenerator.prototype.generateWorkspaceXml = function() {
+WorkspaceFactoryGenerator.prototype.generateWorkspaceXml = function() {
// Load workspace XML to hidden workspace with user-generated shadow blocks
// as actual shadow blocks.
this.hiddenWorkspace.clear();
@@ -138,7 +138,7 @@ FactoryGenerator.prototype.generateWorkspaceXml = function() {
*
* @param {!Element} xml The XML to be loaded to the hidden workspace.
*/
-FactoryGenerator.prototype.loadToHiddenWorkspace_ = function(xml) {
+WorkspaceFactoryGenerator.prototype.loadToHiddenWorkspace_ = function(xml) {
this.hiddenWorkspace.clear();
Blockly.Xml.domToWorkspace(xml, this.hiddenWorkspace);
this.setShadowBlocksInHiddenWorkspace_();
@@ -152,7 +152,8 @@ FactoryGenerator.prototype.loadToHiddenWorkspace_ = function(xml) {
*
* @param {!Element} xmlDom Tree of XML elements to be appended to.
*/
-FactoryGenerator.prototype.appendHiddenWorkspaceToDom_ = function(xmlDom) {
+WorkspaceFactoryGenerator.prototype.appendHiddenWorkspaceToDom_ =
+ function(xmlDom) {
var blocks = this.hiddenWorkspace.getTopBlocks();
for (var i = 0, block; block = blocks[i]; i++) {
var blockChild = Blockly.Xml.blockToDom(block);
@@ -168,7 +169,8 @@ FactoryGenerator.prototype.appendHiddenWorkspaceToDom_ = function(xmlDom) {
* @private
*
*/
-FactoryGenerator.prototype.setShadowBlocksInHiddenWorkspace_ = function() {
+WorkspaceFactoryGenerator.prototype.setShadowBlocksInHiddenWorkspace_ =
+ function() {
var blocks = this.hiddenWorkspace.getAllBlocks();
for (var i = 0; i < blocks.length; i++) {
if (this.model.isShadowBlock(blocks[i].id)) {
diff --git a/demos/blocklyfactory/workspacefactory/wfactory_model.js b/demos/blocklyfactory/workspacefactory/wfactory_model.js
index 09a471dab..13154c11d 100644
--- a/demos/blocklyfactory/workspacefactory/wfactory_model.js
+++ b/demos/blocklyfactory/workspacefactory/wfactory_model.js
@@ -31,10 +31,10 @@
*/
/**
- * Class for a FactoryModel
+ * Class for a WorkspaceFactoryModel
* @constructor
*/
-FactoryModel = function() {
+WorkspaceFactoryModel = function() {
// Ordered list of ListElement objects. Empty if there is a single flyout.
this.toolboxList = [];
// ListElement for blocks in a single flyout. Null if a toolbox exists.
@@ -62,7 +62,7 @@ FactoryModel = function() {
* @param {string} name String name to be compared against.
* @return {boolean} True if string is a used category name, false otherwise.
*/
-FactoryModel.prototype.hasCategoryByName = function(name) {
+WorkspaceFactoryModel.prototype.hasCategoryByName = function(name) {
for (var i = 0; i < this.toolboxList.length; i++) {
if (this.toolboxList[i].type == ListElement.TYPE_CATEGORY &&
this.toolboxList[i].name == name) {
@@ -78,7 +78,7 @@ FactoryModel.prototype.hasCategoryByName = function(name) {
* @return {boolean} True if there exists a category with the Variables tag,
* false otherwise.
*/
-FactoryModel.prototype.hasVariables = function() {
+WorkspaceFactoryModel.prototype.hasVariables = function() {
return this.hasVariableCategory;
};
@@ -88,7 +88,7 @@ FactoryModel.prototype.hasVariables = function() {
* @return {boolean} True if there exists a category with the Procedures tag,
* false otherwise.
*/
-FactoryModel.prototype.hasProcedures = function() {
+WorkspaceFactoryModel.prototype.hasProcedures = function() {
return this.hasFunctionCategory;
};
@@ -98,7 +98,7 @@ FactoryModel.prototype.hasProcedures = function() {
*
* @return {boolean} True if elements exist, false otherwise.
*/
-FactoryModel.prototype.hasElements = function() {
+WorkspaceFactoryModel.prototype.hasElements = function() {
return this.toolboxList.length > 0;
};
@@ -107,7 +107,7 @@ FactoryModel.prototype.hasElements = function() {
*
* @param {!ListElement} element The element to be added to the list.
*/
-FactoryModel.prototype.addElementToList = function(element) {
+WorkspaceFactoryModel.prototype.addElementToList = function(element) {
// Update state if the copied category has a custom tag.
this.hasVariableCategory = element.custom == 'VARIABLE' ? true :
this.hasVariableCategory;
@@ -124,7 +124,7 @@ FactoryModel.prototype.addElementToList = function(element) {
*
* @param {int} index The index of the list element to delete.
*/
-FactoryModel.prototype.deleteElementFromList = function(index) {
+WorkspaceFactoryModel.prototype.deleteElementFromList = function(index) {
// Check if index is out of bounds.
if (index < 0 || index >= this.toolboxList.length) {
return; // No entry to delete.
@@ -145,7 +145,7 @@ FactoryModel.prototype.deleteElementFromList = function(index) {
* of blocks displayed.
*
*/
-FactoryModel.prototype.createDefaultSelectedIfEmpty = function() {
+WorkspaceFactoryModel.prototype.createDefaultSelectedIfEmpty = function() {
if (this.toolboxList.length == 0) {
this.flyout = new ListElement(ListElement.TYPE_FLYOUT);
this.selected = this.flyout;
@@ -162,7 +162,7 @@ FactoryModel.prototype.createDefaultSelectedIfEmpty = function() {
* @param {int} newIndex The index to insert the element at.
* @param {int} oldIndex The index the element is currently at.
*/
-FactoryModel.prototype.moveElementToIndex = function(element, newIndex,
+WorkspaceFactoryModel.prototype.moveElementToIndex = function(element, newIndex,
oldIndex) {
// Check that indexes are in bounds.
if (newIndex < 0 || newIndex >= this.toolboxList.length || oldIndex < 0 ||
@@ -179,7 +179,7 @@ FactoryModel.prototype.moveElementToIndex = function(element, newIndex,
*
* @return {string} The ID of the element currently selected.
*/
-FactoryModel.prototype.getSelectedId = function() {
+WorkspaceFactoryModel.prototype.getSelectedId = function() {
return this.selected ? this.selected.id : null;
};
@@ -190,7 +190,7 @@ FactoryModel.prototype.getSelectedId = function() {
*
* @return {string} The name of the category currently selected.
*/
-FactoryModel.prototype.getSelectedName = function() {
+WorkspaceFactoryModel.prototype.getSelectedName = function() {
return this.selected ? this.selected.name : null;
};
@@ -199,7 +199,7 @@ FactoryModel.prototype.getSelectedName = function() {
*
* @return {ListElement} The currently selected ListElement
*/
-FactoryModel.prototype.getSelected = function() {
+WorkspaceFactoryModel.prototype.getSelected = function() {
return this.selected;
};
@@ -208,7 +208,7 @@ FactoryModel.prototype.getSelected = function() {
*
* @param {string} id ID of list element that should now be selected.
*/
-FactoryModel.prototype.setSelectedById = function(id) {
+WorkspaceFactoryModel.prototype.setSelectedById = function(id) {
this.selected = this.getElementById(id);
};
@@ -221,7 +221,7 @@ FactoryModel.prototype.setSelectedById = function(id) {
* doesn't exist.
*/
-FactoryModel.prototype.getIndexByElementId = function(id) {
+WorkspaceFactoryModel.prototype.getIndexByElementId = function(id) {
for (var i = 0; i < this.toolboxList.length; i++) {
if (this.toolboxList[i].id == id) {
return i;
@@ -237,7 +237,7 @@ FactoryModel.prototype.getIndexByElementId = function(id) {
* @return {ListElement} Corresponding ListElement object in toolboxList, or
* null if that element does not exist.
*/
-FactoryModel.prototype.getElementById = function(id) {
+WorkspaceFactoryModel.prototype.getElementById = function(id) {
for (var i = 0; i < this.toolboxList.length; i++) {
if (this.toolboxList[i].id == id) {
return this.toolboxList[i];
@@ -253,7 +253,7 @@ FactoryModel.prototype.getElementById = function(id) {
* @param {int} index The index of the element to return.
* @return {ListElement} The corresponding ListElement object in toolboxList.
*/
-FactoryModel.prototype.getElementByIndex = function(index) {
+WorkspaceFactoryModel.prototype.getElementByIndex = function(index) {
if (index < 0 || index >= this.toolboxList.length) {
return null;
}
@@ -266,7 +266,7 @@ FactoryModel.prototype.getElementByIndex = function(index) {
* @return {!Element} The XML of the selected element, or null if there is
* no selected element.
*/
-FactoryModel.prototype.getSelectedXml = function() {
+WorkspaceFactoryModel.prototype.getSelectedXml = function() {
return this.selected ? this.selected.xml : null;
};
@@ -275,7 +275,7 @@ FactoryModel.prototype.getSelectedXml = function() {
*
* @return {!Array} ordered list of ListElement objects
*/
-FactoryModel.prototype.getToolboxList = function() {
+WorkspaceFactoryModel.prototype.getToolboxList = function() {
return this.toolboxList;
};
@@ -285,7 +285,7 @@ FactoryModel.prototype.getToolboxList = function() {
* @param {string} name Name of category.
* @return {int} ID of category
*/
-FactoryModel.prototype.getCategoryIdByName = function(name) {
+WorkspaceFactoryModel.prototype.getCategoryIdByName = function(name) {
for (var i = 0; i < this.toolboxList.length; i++) {
if (this.toolboxList[i].name == name) {
return this.toolboxList[i].id;
@@ -297,7 +297,7 @@ FactoryModel.prototype.getCategoryIdByName = function(name) {
/**
* Clears the toolbox list, deleting all ListElements.
*/
-FactoryModel.prototype.clearToolboxList = function() {
+WorkspaceFactoryModel.prototype.clearToolboxList = function() {
this.toolboxList = [];
this.hasVariableCategory = false;
this.hasVariableCategory = false;
@@ -310,7 +310,7 @@ FactoryModel.prototype.clearToolboxList = function() {
*
* @param {!string} blockId The unique ID of block to be added.
*/
-FactoryModel.prototype.addShadowBlock = function(blockId) {
+WorkspaceFactoryModel.prototype.addShadowBlock = function(blockId) {
this.shadowBlocks.push(blockId);
};
@@ -320,7 +320,7 @@ FactoryModel.prototype.addShadowBlock = function(blockId) {
*
* @param {!string} blockId The unique ID of block to be removed.
*/
-FactoryModel.prototype.removeShadowBlock = function(blockId) {
+WorkspaceFactoryModel.prototype.removeShadowBlock = function(blockId) {
for (var i = 0; i < this.shadowBlocks.length; i++) {
if (this.shadowBlocks[i] == blockId) {
this.shadowBlocks.splice(i, 1);
@@ -336,7 +336,7 @@ FactoryModel.prototype.removeShadowBlock = function(blockId) {
* @return {boolean} True if the block is a user-generated shadow block, false
* otherwise.
*/
-FactoryModel.prototype.isShadowBlock = function(blockId) {
+WorkspaceFactoryModel.prototype.isShadowBlock = function(blockId) {
for (var i = 0; i < this.shadowBlocks.length; i++) {
if (this.shadowBlocks[i] == blockId) {
return true;
@@ -353,7 +353,8 @@ FactoryModel.prototype.isShadowBlock = function(blockId) {
* @return {!} Array of user-generated shadow blocks currently
* loaded.
*/
-FactoryModel.prototype.getShadowBlocksInWorkspace = function(workspaceBlocks) {
+WorkspaceFactoryModel.prototype.getShadowBlocksInWorkspace =
+ function(workspaceBlocks) {
var shadowsInWorkspace = [];
for (var i = 0; i < workspaceBlocks.length; i++) {
if (this.isShadowBlock(workspaceBlocks[i].id)) {
@@ -370,7 +371,7 @@ FactoryModel.prototype.getShadowBlocksInWorkspace = function(workspaceBlocks) {
* @param {!ListElement} category The category to add the tag to.
* @param {!string} tag The custom tag to add to the category.
*/
-FactoryModel.prototype.addCustomTag = function(category, tag) {
+WorkspaceFactoryModel.prototype.addCustomTag = function(category, tag) {
// Only update list elements that are categories.
if (category.type != ListElement.TYPE_CATEGORY) {
return;
@@ -391,7 +392,7 @@ FactoryModel.prototype.addCustomTag = function(category, tag) {
*
* @param {!Element} xml The XML to be saved.
*/
-FactoryModel.prototype.savePreloadXml = function(xml) {
+WorkspaceFactoryModel.prototype.savePreloadXml = function(xml) {
this.preloadXml = xml
};
@@ -400,7 +401,7 @@ FactoryModel.prototype.savePreloadXml = function(xml) {
*
* @return {!Element} The XML for the workspace.
*/
-FactoryModel.prototype.getPreloadXml = function() {
+WorkspaceFactoryModel.prototype.getPreloadXml = function() {
return this.preloadXml;
};
@@ -409,7 +410,7 @@ FactoryModel.prototype.getPreloadXml = function() {
*
* @param {Object} options Options object for injecting a Blockly workspace.
*/
-FactoryModel.prototype.setOptions = function(options) {
+WorkspaceFactoryModel.prototype.setOptions = function(options) {
this.options = options;
};
@@ -419,7 +420,7 @@ FactoryModel.prototype.setOptions = function(options) {
* @param {!string} name Name of the attribute to add.
* @param {Object} value The value of the attribute to add.
*/
-FactoryModel.prototype.setOptionsAttribute = function(name, value) {
+WorkspaceFactoryModel.prototype.setOptionsAttribute = function(name, value) {
this.options[name] = value;
};
@@ -430,7 +431,7 @@ FactoryModel.prototype.setOptionsAttribute = function(name, value) {
*
* @return {!Array} Array of block types currently being used.
*/
-FactoryModel.prototype.getAllUsedBlockTypes = function() {
+WorkspaceFactoryModel.prototype.getAllUsedBlockTypes = function() {
var blockTypeList = [];
// Given XML for the workspace, adds all block types included in the XML
diff --git a/demos/blocklyfactory/workspacefactory/wfactory_view.js b/demos/blocklyfactory/workspacefactory/wfactory_view.js
index 4ebe32b8e..66bdf274b 100644
--- a/demos/blocklyfactory/workspacefactory/wfactory_view.js
+++ b/demos/blocklyfactory/workspacefactory/wfactory_view.js
@@ -29,11 +29,11 @@
*/
/**
- * Class for a FactoryView
+ * Class for a WorkspaceFactoryView
* @constructor
*/
-FactoryView = function() {
+WorkspaceFactoryView = function() {
// For each tab, maps ID of a ListElement to the td DOM element.
this.tabMap = Object.create(null);
};
@@ -47,7 +47,8 @@ FactoryView = function() {
* otherwise
* @return {!Element} DOM element created for tab
*/
-FactoryView.prototype.addCategoryRow = function(name, id, firstCategory) {
+WorkspaceFactoryView.prototype.addCategoryRow =
+ function(name, id, firstCategory) {
var table = document.getElementById('categoryTable');
// Delete help label and enable category buttons if it's the first category.
if (firstCategory) {
@@ -72,7 +73,7 @@ FactoryView.prototype.addCategoryRow = function(name, id, firstCategory) {
* @param {!string} id ID of category to be deleted.
* @param {!string} name The name of the category to be deleted.
*/
-FactoryView.prototype.deleteElementRow = function(id, index) {
+WorkspaceFactoryView.prototype.deleteElementRow = function(id, index) {
// Delete tab entry.
delete this.tabMap[id];
// Delete tab row.
@@ -90,7 +91,7 @@ FactoryView.prototype.deleteElementRow = function(id, index) {
* where categories will appear. Should be called when deleting list elements
* in case the last element is deleted.
*/
-FactoryView.prototype.addEmptyCategoryMessage = function() {
+WorkspaceFactoryView.prototype.addEmptyCategoryMessage = function() {
var table = document.getElementById('categoryTable');
if (table.rows.length == 0) {
var row = table.insertRow(0);
@@ -110,7 +111,7 @@ FactoryView.prototype.addEmptyCategoryMessage = function() {
* -1 if no categories created.
* @param {ListElement} selected The selected ListElement.
*/
-FactoryView.prototype.updateState = function(selectedIndex, selected) {
+WorkspaceFactoryView.prototype.updateState = function(selectedIndex, selected) {
// Disable/enable editing buttons as necessary.
document.getElementById('button_editCategory').disabled = selectedIndex < 0 ||
selected.type != ListElement.TYPE_CATEGORY;
@@ -130,7 +131,7 @@ FactoryView.prototype.updateState = function(selectedIndex, selected) {
* @param {!string} name Name of category
* @return {!string} ID of category tab
*/
-FactoryView.prototype.createCategoryIdName = function(name) {
+WorkspaceFactoryView.prototype.createCategoryIdName = function(name) {
return 'tab_' + name;
};
@@ -141,7 +142,8 @@ FactoryView.prototype.createCategoryIdName = function(name) {
* @param {boolean} selected True if tab should be on, false if tab should be
* off.
*/
-FactoryView.prototype.setCategoryTabSelection = function(id, selected) {
+WorkspaceFactoryView.prototype.setCategoryTabSelection =
+ function(id, selected) {
if (!this.tabMap[id]) {
return; // Exit if tab does not exist.
}
@@ -155,7 +157,7 @@ FactoryView.prototype.setCategoryTabSelection = function(id, selected) {
* @param {string|!Element} e1 tab element or corresponding id string
* @param {!Function} func Function to be executed on click
*/
-FactoryView.prototype.bindClick = function(el, func) {
+WorkspaceFactoryView.prototype.bindClick = function(el, func) {
if (typeof el == 'string') {
el = document.getElementById(el);
}
@@ -170,7 +172,8 @@ FactoryView.prototype.bindClick = function(el, func) {
* @param {!string} filename Name of file
* @param {!Blob} data Blob containing contents to download
*/
-FactoryView.prototype.createAndDownloadFile = function(filename, data) {
+WorkspaceFactoryView.prototype.createAndDownloadFile =
+ function(filename, data) {
var clickEvent = new MouseEvent("click", {
"view": window,
"bubbles": true,
@@ -191,7 +194,7 @@ FactoryView.prototype.createAndDownloadFile = function(filename, data) {
* @param {!string} id ID of category to be updated
*
*/
-FactoryView.prototype.updateCategoryName = function(newName, id) {
+WorkspaceFactoryView.prototype.updateCategoryName = function(newName, id) {
this.tabMap[id].textContent = newName;
this.tabMap[id].id = this.createCategoryIdName(newName);
};
@@ -205,7 +208,8 @@ FactoryView.prototype.updateCategoryName = function(newName, id) {
* @param {int} newIndex The index to move the category to.
* @param {int} oldIndex The index the category is currently at.
*/
-FactoryView.prototype.moveTabToIndex = function(id, newIndex, oldIndex) {
+WorkspaceFactoryView.prototype.moveTabToIndex =
+ function(id, newIndex, oldIndex) {
var table = document.getElementById('categoryTable');
// Check that indexes are in bounds
if (newIndex < 0 || newIndex >= table.rows.length || oldIndex < 0 ||
@@ -231,7 +235,7 @@ FactoryView.prototype.moveTabToIndex = function(id, newIndex, oldIndex) {
* @param {!string} color The color for to be used for the border of the tab.
* Must be a valid CSS string.
*/
-FactoryView.prototype.setBorderColor = function(id, color) {
+WorkspaceFactoryView.prototype.setBorderColor = function(id, color) {
var tab = this.tabMap[id];
tab.style.borderLeftWidth = "8px";
tab.style.borderLeftStyle = "solid";
@@ -245,7 +249,7 @@ FactoryView.prototype.setBorderColor = function(id, color) {
* @param {!string} id The ID of the separator.
* @param {!Element} The td DOM element representing the separator.
*/
-FactoryView.prototype.addSeparatorTab = function(id) {
+WorkspaceFactoryView.prototype.addSeparatorTab = function(id) {
// Create separator.
var table = document.getElementById('categoryTable');
var count = table.rows.length;
@@ -267,7 +271,7 @@ FactoryView.prototype.addSeparatorTab = function(id) {
* @param {boolean} disable True if the workspace should be disabled, false
* if it should be enabled.
*/
-FactoryView.prototype.disableWorkspace = function(disable) {
+WorkspaceFactoryView.prototype.disableWorkspace = function(disable) {
document.getElementById('disable_div').style.zIndex = disable ? 1 : -1;
};
@@ -277,7 +281,7 @@ FactoryView.prototype.disableWorkspace = function(disable) {
*
* @return {boolean} True if the workspace should be disabled, false otherwise.
*/
-FactoryView.prototype.shouldDisableWorkspace = function(category) {
+WorkspaceFactoryView.prototype.shouldDisableWorkspace = function(category) {
return category != null && (category.type == ListElement.TYPE_SEPARATOR ||
category.custom == 'VARIABLE' || category.custom == 'PROCEDURE');
};
@@ -286,7 +290,7 @@ FactoryView.prototype.shouldDisableWorkspace = function(category) {
* Removes all categories and separators in the view. Clears the tabMap to
* reflect this.
*/
-FactoryView.prototype.clearToolboxTabs = function() {
+WorkspaceFactoryView.prototype.clearToolboxTabs = function() {
this.tabMap = [];
var oldCategoryTable = document.getElementById('categoryTable');
var newCategoryTable = document.createElement('table');
@@ -303,7 +307,7 @@ FactoryView.prototype.clearToolboxTabs = function() {
* @param {!} blocks Array of user-generated shadow blocks
* currently loaded.
*/
-FactoryView.prototype.markShadowBlocks = function(blocks) {
+WorkspaceFactoryView.prototype.markShadowBlocks = function(blocks) {
for (var i = 0; i < blocks.length; i++) {
this.markShadowBlock(blocks[i]);
}
@@ -317,7 +321,7 @@ FactoryView.prototype.markShadowBlocks = function(blocks) {
* @param {!Blockly.Block} block The block that should be marked as a shadow
* block (must be rendered).
*/
-FactoryView.prototype.markShadowBlock = function(block) {
+WorkspaceFactoryView.prototype.markShadowBlock = function(block) {
// Add Blockly CSS for user-generated shadow blocks.
Blockly.addClass_(block.svgGroup_, 'shadowBlock');
// If not a valid shadow block, add a warning message.
@@ -333,7 +337,7 @@ FactoryView.prototype.markShadowBlock = function(block) {
* @param {!Blockly.Block} block The block that should be unmarked as a shadow
* block (must be rendered).
*/
-FactoryView.prototype.unmarkShadowBlock = function(block) {
+WorkspaceFactoryView.prototype.unmarkShadowBlock = function(block) {
// Remove Blockly CSS for user-generated shadow blocks.
if (Blockly.hasClass_(block.svgGroup_, 'shadowBlock')) {
Blockly.removeClass_(block.svgGroup_, 'shadowBlock');
@@ -347,7 +351,7 @@ FactoryView.prototype.unmarkShadowBlock = function(block) {
* @param {!string} mode The mode being switched to
* (FactoryController.MODE_TOOLBOX or FactoryController.MODE_PRELOAD).
*/
-FactoryView.prototype.setModeSelection = function(mode) {
+WorkspaceFactoryView.prototype.setModeSelection = function(mode) {
document.getElementById('tab_preload').className = mode ==
FactoryController.MODE_PRELOAD ? 'tabon' : 'taboff';
document.getElementById('preload_div').style.display = mode ==
@@ -364,7 +368,7 @@ FactoryView.prototype.setModeSelection = function(mode) {
* @param {!string} mode The selected mode (FactoryController.MODE_TOOLBOX or
* FactoryController.MODE_PRELOAD).
*/
-FactoryView.prototype.updateHelpText = function(mode) {
+WorkspaceFactoryView.prototype.updateHelpText = function(mode) {
var helpText = 'Drag your blocks into your ' + (mode ==
FactoryController.MODE_TOOLBOX ? 'toolbox: ' : 'pre-loaded workspace: ');
document.getElementById('editHelpText').textContent = helpText;
@@ -374,7 +378,7 @@ FactoryView.prototype.updateHelpText = function(mode) {
* Sets the basic options that are not dependent on if there are categories
* or a single flyout of blocks. Updates checkboxes and text fields.
*/
-FactoryView.prototype.setBaseOptions = function() {
+WorkspaceFactoryView.prototype.setBaseOptions = function() {
// Set basic options.
document.getElementById('option_css_checkbox').checked = true;
document.getElementById('option_maxBlocks_text').value = Infinity;
@@ -412,7 +416,7 @@ FactoryView.prototype.setBaseOptions = function() {
* @param {boolean} hasCategories True if categories are present, false if all
* blocks are displayed in a single flyout.
*/
-FactoryView.prototype.setCategoryOptions = function(hasCategories) {
+WorkspaceFactoryView.prototype.setCategoryOptions = function(hasCategories) {
document.getElementById('option_collapse_checkbox').checked = hasCategories;
document.getElementById('option_comments_checkbox').checked = hasCategories;
document.getElementById('option_disable_checkbox').checked = hasCategories;