diff --git a/Projects/Superalgos/UI/Spaces/Docs-Space/DocsSpace.js b/Projects/Superalgos/UI/Spaces/Docs-Space/DocsSpace.js
index c74a79bcf..76a8e6b3e 100644
--- a/Projects/Superalgos/UI/Spaces/Docs-Space/DocsSpace.js
+++ b/Projects/Superalgos/UI/Spaces/Docs-Space/DocsSpace.js
@@ -802,54 +802,60 @@ function newSuperalgosDocSpace() {
renderCommandResultsPage(
[
"Command Add syntax: ",
- "Option 1: Add Node to Project Node Type",
- "Example: Add Node to Superalgos Task Manager",
- "Option 2: Add Concpet to Project Concept Name",
- "Example: Add Concept to Superalgos Attaching Nodes",
- "Option 3: Add Topic to Project Topic->Part Name->Page Number",
- "Example: Add Topic to Superalgos Contributing->Code->2"
+ "Option 1: Add Node to Project: Node Type",
+ "Example: Add Node to Superalgos: Task Manager",
+ "Option 2: Add Concpet to Project: Concept Name",
+ "Example: Add Concept to Superalgos: Attaching Nodes",
+ "Option 3: Add Topic to Project: Topic->Part Name->Page Number",
+ "Example: Add Topic to Superalgos: Contributing->Code->2"
]
)
return
}
const newParagraphText = "Left click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode."
- let splittedCommand = command.split(' ')
+ let splittedCommand = command.split(': ')
+ if (splittedCommand[1] === undefined) {
+ renderCommandResultsPage(["Syntax Error. Keyword : missing: Example: Add Concept to Superalgos: New Concept Name. The keyword is a : character plus a blank space. Type Hekp Add to learn the command's syntax."])
+ return
+ }
+ let primaryCommand = splittedCommand[0]
+ let secondaryCommand = splittedCommand[1]
- if (splittedCommand[0].toLowerCase() === 'add') {
- if (splittedCommand[2] !== 'to') {
- renderCommandResultsPage(["Syntax Error. Keyword to missing: Example: Add Concept to Superalgos New Concept Name. Type Hekp Add to learn the command's syntax."])
+ let splittedPrimaryCommand = primaryCommand.split(' ')
+
+ if (splittedPrimaryCommand[0].toLowerCase() === 'add') {
+ if (splittedPrimaryCommand[2] !== 'to') {
+ renderCommandResultsPage(["Syntax Error. Keyword to missing: Example: Add Concept to Superalgos: New Concept Name. Type Hekp Add to learn the command's syntax."])
return
}
- if (splittedCommand.length < 5) {
- renderCommandResultsPage(["Syntax Error. Too few Add Command parameters. Found " + splittedCommand.length + ". Expected at least 5. Type Hekp Add to learn the command's syntax."])
+ if (splittedPrimaryCommand.length < 4) {
+ renderCommandResultsPage(["Syntax Error. Too few Add Command parameters. Found " + splittedPrimaryCommand.length + ". Expected at least 4. Type Hekp Add to learn the command's syntax."])
return
}
- let remainderParams = command.replace(splittedCommand[0] + ' ' + splittedCommand[1] + ' ' + splittedCommand[2] + ' ' + splittedCommand[3] + ' ', '')
- if (remainderParams === '') {
+ if (secondaryCommand === '') {
renderCommandResultsPage(["Syntax Error. Node, Concept or Topic name can not be undefined."])
return
}
- switch (splittedCommand[1].toLowerCase()) {
+ switch (splittedPrimaryCommand[1].toLowerCase()) {
case 'node': {
- addNode(splittedCommand[3], remainderParams)
+ addNode(splittedPrimaryCommand[3], secondaryCommand)
return
}
case 'concept': {
- addConcept(splittedCommand[3], remainderParams)
+ addConcept(splittedPrimaryCommand[3], secondaryCommand)
return
}
case 'topic': {
- let topicPlusPartType = remainderParams
- let splittedTopic = topicPlusPartType.split('->')
- if (splittedTopic.length < 3) {
- renderCommandResultsPage(["Syntax Error. Too few Topic parameters. Found " + splittedTopic.length + ". Expected at least 3. Type Hekp Add to learn the command's syntax."])
+ let splittedSecondaryCommand = secondaryCommand.split('->')
+ if (splittedSecondaryCommand.length < 3) {
+ renderCommandResultsPage(["Syntax Error. Too few Topic parameters. Found " + splittedSecondaryCommand.length + ". Expected 3. Type Hekp Add to learn the command's syntax."])
return
}
- addTopic(splittedCommand[3], splittedTopic[0], splittedTopic[1], splittedTopic[2])
+ addTopic(splittedPrimaryCommand[3], splittedSecondaryCommand[0], splittedSecondaryCommand[1], splittedSecondaryCommand[2])
return
}
default: {
@@ -876,6 +882,12 @@ function newSuperalgosDocSpace() {
renderCommandResultsPage(["Project " + project + " does not exist."])
return
}
+ let exist = SCHEMAS_BY_PROJECT.get(project).map.docsNodeSchema.get(type)
+ if (exist !== undefined) {
+ renderCommandResultsPage(["Node " + type + " already exist."])
+ return
+ }
+
SCHEMAS_BY_PROJECT.get(project).array.docsNodeSchema.push(template)
SCHEMAS_BY_PROJECT.get(project).map.docsNodeSchema.set(type, template)
navigateTo('Node', type, project)
@@ -897,6 +909,12 @@ function newSuperalgosDocSpace() {
renderCommandResultsPage(["Project " + project + " does not exist."])
return
}
+ let exist = SCHEMAS_BY_PROJECT.get(project).map.docsConceptSchema.get(type)
+ if (exist !== undefined) {
+ renderCommandResultsPage(["Concept " + type + " already exist."])
+ return
+ }
+
SCHEMAS_BY_PROJECT.get(project).array.docsConceptSchema.push(template)
SCHEMAS_BY_PROJECT.get(project).map.docsConceptSchema.set(type, template)
navigateTo('Concept', type, project)
@@ -919,6 +937,12 @@ function newSuperalgosDocSpace() {
renderCommandResultsPage(["Project " + project + " does not exist."])
return
}
+ let exist = SCHEMAS_BY_PROJECT.get(project).map.docsTopicSchema.get(type)
+ if (exist !== undefined) {
+ renderCommandResultsPage(["Topic Part " + type + " already exist."])
+ return
+ }
+
SCHEMAS_BY_PROJECT.get(project).array.docsTopicSchema.push(template)
SCHEMAS_BY_PROJECT.get(project).map.docsTopicSchema.set(type, template)
navigateTo('Topic', type, project)