From 09416fc474c6096326fa523f25d988a331c7e379 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Sat, 7 Dec 2019 12:47:53 +0100 Subject: [PATCH] Icon definition at schema implemented --- Dashboard.js | 14 +++++++------- FloatingSpace/CircularMenuItem.js | 1 + FloatingSpace/UiObjectConstructor.js | 23 ++++++++++++++++++----- Spaces/DesignerSpace.js | 7 +++++++ 4 files changed, 33 insertions(+), 12 deletions(-) diff --git a/Dashboard.js b/Dashboard.js index 928c876ef..ff9e3d493 100644 --- a/Dashboard.js +++ b/Dashboard.js @@ -3,7 +3,8 @@ let markets let ecosystem = newEcosystem() let systemEventHandler let viewPort -let APP_SCHEMA = new Map() +let APP_SCHEMA_MAP = new Map() +let APP_SCHEMA_ARRAY = [] function newDashboard () { const MODULE_NAME = 'Dashboard' @@ -33,18 +34,18 @@ function newDashboard () { systemEventHandler.initialize(setUpAppSchema) function setUpAppSchema () { - let schemaArray = getAppSchema() - for (let i = 0; i < schemaArray.length; i++) { - let nodeDefinition = schemaArray[i] + APP_SCHEMA_ARRAY = getAppSchema() + for (let i = 0; i < APP_SCHEMA_ARRAY.length; i++) { + let nodeDefinition = APP_SCHEMA_ARRAY[i] let key if (nodeDefinition.subType !== undefined) { key = nodeDefinition.type + '-' + nodeDefinition.subType } else { key = nodeDefinition.type } - APP_SCHEMA.set(key, nodeDefinition) + APP_SCHEMA_MAP.set(key, nodeDefinition) } - console.log(APP_SCHEMA) + console.log(APP_SCHEMA_MAP) startCanvas() } @@ -127,4 +128,3 @@ function newDashboard () { } } } - diff --git a/FloatingSpace/CircularMenuItem.js b/FloatingSpace/CircularMenuItem.js index 7f9c93cbd..a473124d7 100644 --- a/FloatingSpace/CircularMenuItem.js +++ b/FloatingSpace/CircularMenuItem.js @@ -382,6 +382,7 @@ function newCircularMenuItem () { iconSize = thisObject.currentRadius } + if (thisObject.icon === undefined) { return } if (thisObject.icon.canDrawIcon === true && thisObject.currentRadius > 1 && thisObject.isDeployed === true) { browserCanvasContext.drawImage(thisObject.icon, menuPosition.x - iconSize, menuPosition.y - iconSize, iconSize * 2, iconSize * 2) diff --git a/FloatingSpace/UiObjectConstructor.js b/FloatingSpace/UiObjectConstructor.js index 99dec544b..d0dff925c 100644 --- a/FloatingSpace/UiObjectConstructor.js +++ b/FloatingSpace/UiObjectConstructor.js @@ -1621,7 +1621,7 @@ function newUiObjectConstructor () { rawRadius: 8, targetRadius: 0, currentRadius: 0, - angle: -40, + angle: -50, dontShowAtFullscreen: true } ) @@ -1637,9 +1637,22 @@ function newUiObjectConstructor () { rawRadius: 8, targetRadius: 0, currentRadius: 0, - angle: -20 + angle: -30 } ) + menuItemsInitialValues.push( + { + action: 'Add Shapes', + actionFunction: payload.onMenuItemClick, + label: 'Add Shapes', + visible: true, + relatedUiObject: 'Shapes', + rawRadius: 8, + targetRadius: 0, + currentRadius: 0, + angle: -10 + } + ) menuItemsInitialValues.push( { action: 'Add Plotter Panel', @@ -1650,7 +1663,7 @@ function newUiObjectConstructor () { rawRadius: 8, targetRadius: 0, currentRadius: 0, - angle: 0 + angle: 10 } ) menuItemsInitialValues.push( @@ -1666,7 +1679,7 @@ function newUiObjectConstructor () { rawRadius: 8, targetRadius: 0, currentRadius: 0, - angle: 20 + angle: 30 } ) menuItemsInitialValues.push( @@ -1680,7 +1693,7 @@ function newUiObjectConstructor () { rawRadius: 8, targetRadius: 0, currentRadius: 0, - angle: 40 + angle: 50 } ) break diff --git a/Spaces/DesignerSpace.js b/Spaces/DesignerSpace.js index 4d2c4764c..b06dec154 100644 --- a/Spaces/DesignerSpace.js +++ b/Spaces/DesignerSpace.js @@ -118,6 +118,13 @@ function newDesignerSpace () { let icon = thisObject.iconCollection.get(record[1]) thisObject.iconByUiObjectType.set(record[0], icon) } + + /* Take types-icons relationships defined at the schema */ + for (let i = 0; i < APP_SCHEMA_ARRAY.length; i++) { + let nodeDefinition = APP_SCHEMA_ARRAY[i] + let icon = thisObject.iconCollection.get(nodeDefinition.icon) + thisObject.iconByUiObjectType.set(nodeDefinition.type, icon) + } } function loadIconCollection () {