From 85428fd62e6db8459562e6d30758e38bfa5ae778 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Thu, 24 Sep 2020 16:40:04 +0200 Subject: [PATCH] Concepts --- .env | 1 + BackendServers/WebServer/AppLoader.js | 1 + BackendServers/webServer.js | 6 ++++++ CanvasApp/PostLoader.js | 8 ++++++++ CanvasApp/Spaces/TutorialSpace.js | 7 +++++-- ConceptSchema.json | 6 ++++++ 6 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 ConceptSchema.json diff --git a/.env b/.env index 83b35a153..5b4ee9aa0 100644 --- a/.env +++ b/.env @@ -40,6 +40,7 @@ PATH_TO_WEB_SERVER=./BackendServers/ APP_SCHEMA_PATH=./ DOC_SCHEMA_PATH=./ +CONCEPT_SCHEMA_PATH=./ DEFAULT_WORKSPACE_PATH=./Includes/Workspaces MY_WORKSPACES_PATH=./My-Workspaces PATH_TO_FONTS=./BackendServers/WebServer/Fonts \ No newline at end of file diff --git a/BackendServers/WebServer/AppLoader.js b/BackendServers/WebServer/AppLoader.js index c4238ed56..f0b148c17 100644 --- a/BackendServers/WebServer/AppLoader.js +++ b/BackendServers/WebServer/AppLoader.js @@ -29,6 +29,7 @@ function newAppLoader() { 'AppSchema.js', 'DocSchema.js', + 'ConceptSchema.js', 'Workspace.js', 'ChartingSpace/EdgeEditor.js', diff --git a/BackendServers/webServer.js b/BackendServers/webServer.js index 5601285af..93003eb3e 100644 --- a/BackendServers/webServer.js +++ b/BackendServers/webServer.js @@ -503,6 +503,12 @@ exports.newWebServer = function newWebServer(EVENTS_SERVER) { } break + case 'ConceptSchema.js': + { + sendSchema(process.env.CONCEPT_SCHEMA_PATH, 'ConceptSchema', 'getConceptSchema') + } + break + case 'Workspace.js': { let fs = require('fs') diff --git a/CanvasApp/PostLoader.js b/CanvasApp/PostLoader.js index f8e8307ef..45775dee7 100644 --- a/CanvasApp/PostLoader.js +++ b/CanvasApp/PostLoader.js @@ -5,6 +5,8 @@ let APP_SCHEMA_MAP = new Map() let APP_SCHEMA_ARRAY = [] let DOC_SCHEMA_MAP = new Map() let DOC_SCHEMA_ARRAY = [] +let CONCEPT_SCHEMA_MAP = new Map() +let CONCEPT_SCHEMA_ARRAY = [] function newDashboard() { const MODULE_NAME = 'Dashboard' @@ -39,6 +41,12 @@ function newDashboard() { let key = nodeDefinition.type DOC_SCHEMA_MAP.set(key, nodeDefinition) } + CONCEPT_SCHEMA_ARRAY = getConceptSchema() + for (let i = 0; i < CONCEPT_SCHEMA_ARRAY.length; i++) { + let nodeDefinition = CONCEPT_SCHEMA_ARRAY[i] + let key = nodeDefinition.type + CONCEPT_SCHEMA_MAP.set(key, nodeDefinition) + } startCanvas() } diff --git a/CanvasApp/Spaces/TutorialSpace.js b/CanvasApp/Spaces/TutorialSpace.js index 7d46e1a5a..bf9537ed8 100644 --- a/CanvasApp/Spaces/TutorialSpace.js +++ b/CanvasApp/Spaces/TutorialSpace.js @@ -910,8 +910,11 @@ function newTutorialSpace() { } let definitionNode = DOC_SCHEMA_MAP.get(nodeType) if (definitionNode === undefined) { - currentNode.payload.uiObject.setErrorMessage(nodeType + ' not found at Doc Schema.') - return + definitionNode = CONCEPT_SCHEMA_MAP.get(nodeType) + if (definitionNode === undefined) { + currentNode.payload.uiObject.setErrorMessage(nodeType + ' not found at Doc Schema or Concept Schema.') + return + } } let definition = definitionNode.definition if (definition === undefined || definition === "") { diff --git a/ConceptSchema.json b/ConceptSchema.json new file mode 100644 index 000000000..1645efe1d --- /dev/null +++ b/ConceptSchema.json @@ -0,0 +1,6 @@ +[ + { + "type": "Concept 1", + "definition": "This is concept 1 definition" + } +] \ No newline at end of file