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)