so far so good
This commit is contained in:
1 parent
94ff4f9885
commit
e42d6966b6
6 files changed
+551
-528
No files matched your search
@@ -1,5 +1,6 @@
|
||||
function newSuperalgosDocsCommmandInterface() {
|
||||
let thisObject = {
|
||||
command: undefined,
|
||||
detectCommands: detectCommands,
|
||||
initialize: initialize,
|
||||
finalize: finalize
|
||||
@@ -27,27 +28,27 @@ function newSuperalgosDocsCommmandInterface() {
|
||||
UI.projects.superalgos.spaces.docsSpace.searchResultsPage.render()
|
||||
|
||||
function checkHelpCommand() {
|
||||
if (UI.projects.superalgos.spaces.docsSpace.command.toLowerCase() === 'docs.help') {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Help Command')
|
||||
if (UI.projects.superalgos.spaces.docsSpace.commandInterface.command.toLowerCase() === 'docs.help') {
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Help Command')
|
||||
return
|
||||
}
|
||||
return 'Not Help Command'
|
||||
}
|
||||
|
||||
function checkGotoCommand() {
|
||||
if (UI.projects.superalgos.spaces.docsSpace.command.toLowerCase() === 'docs.help docs.goto') {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Goto Command')
|
||||
if (UI.projects.superalgos.spaces.docsSpace.commandInterface.command.toLowerCase() === 'docs.help docs.goto') {
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Goto Command')
|
||||
return
|
||||
}
|
||||
if (UI.projects.superalgos.spaces.docsSpace.command.indexOf('Docs.Goto') !== 0 && UI.projects.superalgos.spaces.docsSpace.command.indexOf('docs.goto') !== 0) { return 'Not Goto Command' }
|
||||
if (UI.projects.superalgos.spaces.docsSpace.commandInterface.command.indexOf('Docs.Goto') !== 0 && UI.projects.superalgos.spaces.docsSpace.commandInterface.command.indexOf('docs.goto') !== 0) { return 'Not Goto Command' }
|
||||
|
||||
let splittedCommand = UI.projects.superalgos.spaces.docsSpace.command.split(' ')
|
||||
let splittedCommand = UI.projects.superalgos.spaces.docsSpace.commandInterface.command.split(' ')
|
||||
|
||||
if (splittedCommand[1] === undefined) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Too Few Parameters', 'Anchor Too Few Paramenters')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Too Few Parameters', 'Anchor Too Few Paramenters')
|
||||
return
|
||||
}
|
||||
let secondaryCommand = UI.projects.superalgos.spaces.docsSpace.command.substring(UI.projects.superalgos.spaces.docsSpace.command.indexOf(' ') + 1, UI.projects.superalgos.spaces.docsSpace.command.length)
|
||||
let secondaryCommand = UI.projects.superalgos.spaces.docsSpace.commandInterface.command.substring(UI.projects.superalgos.spaces.docsSpace.commandInterface.command.indexOf(' ') + 1, UI.projects.superalgos.spaces.docsSpace.commandInterface.command.length)
|
||||
let splittedSecondaryCommand = secondaryCommand.split('->')
|
||||
let project = splittedSecondaryCommand[0]
|
||||
let category = splittedSecondaryCommand[1]
|
||||
@@ -55,7 +56,7 @@ function newSuperalgosDocsCommmandInterface() {
|
||||
let anchor = splittedSecondaryCommand[3]
|
||||
|
||||
if (SCHEMAS_BY_PROJECT.get(project) === undefined) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Project Does Not Exist', 'Anchor Project Does Not Exist')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Project Does Not Exist', 'Anchor Project Does Not Exist')
|
||||
return
|
||||
}
|
||||
let docsSchemaDocument
|
||||
@@ -73,37 +74,37 @@ function newSuperalgosDocsCommmandInterface() {
|
||||
break
|
||||
}
|
||||
default: {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Category Not Valid', 'Anchor Category Not Valid')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Category Not Valid', 'Anchor Category Not Valid')
|
||||
return
|
||||
}
|
||||
}
|
||||
if (docsSchemaDocument === undefined) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Page Not Found', 'Anchor Page Not Found')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Page Not Found', 'Anchor Page Not Found')
|
||||
return
|
||||
}
|
||||
if (docsSchemaDocument.paragraphs === undefined) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Page With No Paragraphs', 'Anchor Page With No Paragraphs')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Page With No Paragraphs', 'Anchor Page With No Paragraphs')
|
||||
return
|
||||
}
|
||||
navigateTo(project, category, type, anchor, undefined)
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo(project, category, type, anchor, undefined)
|
||||
|
||||
}
|
||||
|
||||
function checkAddCommand() {
|
||||
if (UI.projects.superalgos.spaces.docsSpace.command.toLowerCase() === 'docs.help docs.add') {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Add Command')
|
||||
if (UI.projects.superalgos.spaces.docsSpace.commandInterface.command.toLowerCase() === 'docs.help docs.add') {
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Add Command')
|
||||
return
|
||||
}
|
||||
if (UI.projects.superalgos.spaces.docsSpace.command.indexOf('Docs.Add') !== 0 && UI.projects.superalgos.spaces.docsSpace.command.indexOf('docs.add') !== 0) { return 'Not Add Command' }
|
||||
if (UI.projects.superalgos.spaces.docsSpace.commandInterface.command.indexOf('Docs.Add') !== 0 && UI.projects.superalgos.spaces.docsSpace.commandInterface.command.indexOf('docs.add') !== 0) { return 'Not Add Command' }
|
||||
|
||||
if (UI.projects.superalgos.spaces.docsSpace.language !== DEFAULT_LANGUAGE) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Only In English', 'Anchor Only In English')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Only In English', 'Anchor Only In English')
|
||||
return
|
||||
}
|
||||
|
||||
let splittedCommand = UI.projects.superalgos.spaces.docsSpace.command.split(': ')
|
||||
let splittedCommand = UI.projects.superalgos.spaces.docsSpace.commandInterface.command.split(': ')
|
||||
if (splittedCommand[1] === undefined) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Missing Colon', 'Anchor Missing Colon')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Missing Colon', 'Anchor Missing Colon')
|
||||
return
|
||||
}
|
||||
let primaryCommand = splittedCommand[0]
|
||||
@@ -113,17 +114,17 @@ function newSuperalgosDocsCommmandInterface() {
|
||||
|
||||
if (splittedPrimaryCommand[0].toLowerCase() === 'docs.add') {
|
||||
if (splittedPrimaryCommand[2] !== 'to') {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Missing To', 'Anchor Missing To')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Missing To', 'Anchor Missing To')
|
||||
return
|
||||
}
|
||||
|
||||
if (splittedPrimaryCommand.length < 4) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Too Few Parameters', 'Anchor Too Few Paramenters')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Too Few Parameters', 'Anchor Too Few Paramenters')
|
||||
return
|
||||
}
|
||||
|
||||
if (secondaryCommand === '') {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Category Not Valid', 'Anchor Category Not Valid')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Category Not Valid', 'Anchor Category Not Valid')
|
||||
return
|
||||
}
|
||||
|
||||
@@ -139,14 +140,14 @@ function newSuperalgosDocsCommmandInterface() {
|
||||
case 'topic': {
|
||||
let splittedSecondaryCommand = secondaryCommand.split('->')
|
||||
if (splittedSecondaryCommand.length < 3) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Too Few Parameters', 'Anchor Too Few Paramenters')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Too Few Parameters', 'Anchor Too Few Paramenters')
|
||||
return
|
||||
}
|
||||
addTopic(splittedPrimaryCommand[3], splittedSecondaryCommand[0], splittedSecondaryCommand[1], splittedSecondaryCommand[2])
|
||||
return
|
||||
}
|
||||
default: {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Category Not Valid', 'Anchor Category Not Valid')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Category Not Valid', 'Anchor Category Not Valid')
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -155,20 +156,20 @@ function newSuperalgosDocsCommmandInterface() {
|
||||
}
|
||||
|
||||
function checkDeleteCommand() {
|
||||
if (UI.projects.superalgos.spaces.docsSpace.command.toLowerCase() === 'docs.help docs.delete') {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Delete Command')
|
||||
if (UI.projects.superalgos.spaces.docsSpace.commandInterface.command.toLowerCase() === 'docs.help docs.delete') {
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Delete Command')
|
||||
return
|
||||
}
|
||||
if (UI.projects.superalgos.spaces.docsSpace.command.indexOf('Docs.Delete') !== 0 && UI.projects.superalgos.spaces.docsSpace.command.indexOf('docs.delete') !== 0) { return 'Not Delete Command' }
|
||||
if (UI.projects.superalgos.spaces.docsSpace.commandInterface.command.indexOf('Docs.Delete') !== 0 && UI.projects.superalgos.spaces.docsSpace.commandInterface.command.indexOf('docs.delete') !== 0) { return 'Not Delete Command' }
|
||||
|
||||
if (UI.projects.superalgos.spaces.docsSpace.language !== DEFAULT_LANGUAGE) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Only In English', 'Anchor Only In English')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Only In English', 'Anchor Only In English')
|
||||
return
|
||||
}
|
||||
|
||||
let splittedCommand = UI.projects.superalgos.spaces.docsSpace.command.split(': ')
|
||||
let splittedCommand = UI.projects.superalgos.spaces.docsSpace.commandInterface.command.split(': ')
|
||||
if (splittedCommand[1] === undefined) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Missing Colon', 'Anchor Missing Colon')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Missing Colon', 'Anchor Missing Colon')
|
||||
return
|
||||
}
|
||||
let primaryCommand = splittedCommand[0]
|
||||
@@ -178,17 +179,17 @@ function newSuperalgosDocsCommmandInterface() {
|
||||
|
||||
if (splittedPrimaryCommand[0].toLowerCase() === 'docs.delete') {
|
||||
if (splittedPrimaryCommand[2] !== 'from') {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Missing From', 'Anchor Missing From')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Missing From', 'Anchor Missing From')
|
||||
return
|
||||
}
|
||||
|
||||
if (splittedPrimaryCommand.length < 4) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Too Few Parameters', 'Anchor Too Few Paramenters')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Too Few Parameters', 'Anchor Too Few Paramenters')
|
||||
return
|
||||
}
|
||||
|
||||
if (secondaryCommand === '') {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Category Not Valid', 'Anchor Category Not Valid')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Category Not Valid', 'Anchor Category Not Valid')
|
||||
return
|
||||
}
|
||||
|
||||
@@ -204,14 +205,14 @@ function newSuperalgosDocsCommmandInterface() {
|
||||
case 'topic': {
|
||||
let splittedSecondaryCommand = secondaryCommand.split('->')
|
||||
if (splittedSecondaryCommand.length < 3) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Too Few Parameters', 'Anchor Too Few Paramenters')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Too Few Parameters', 'Anchor Too Few Paramenters')
|
||||
return
|
||||
}
|
||||
deleteTopic(splittedPrimaryCommand[3], splittedSecondaryCommand[0], splittedSecondaryCommand[1], splittedSecondaryCommand[2])
|
||||
return
|
||||
}
|
||||
default: {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Category Not Valid', 'Anchor Category Not Valid')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Category Not Valid', 'Anchor Category Not Valid')
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -220,11 +221,11 @@ function newSuperalgosDocsCommmandInterface() {
|
||||
}
|
||||
|
||||
function checkUReIndexCommand() {
|
||||
if (UI.projects.superalgos.spaces.docsSpace.command.toLowerCase() === 'docs.help docs.reindex') {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Reindex Command')
|
||||
if (UI.projects.superalgos.spaces.docsSpace.commandInterface.command.toLowerCase() === 'docs.help docs.reindex') {
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Reindex Command')
|
||||
return
|
||||
}
|
||||
if (UI.projects.superalgos.spaces.docsSpace.command.indexOf('Docs.Reindex') !== 0 && UI.projects.superalgos.spaces.docsSpace.command.indexOf('docs.reindex') !== 0) { return 'Not Reindex Command' }
|
||||
if (UI.projects.superalgos.spaces.docsSpace.commandInterface.command.indexOf('Docs.Reindex') !== 0 && UI.projects.superalgos.spaces.docsSpace.commandInterface.command.indexOf('docs.reindex') !== 0) { return 'Not Reindex Command' }
|
||||
|
||||
setUpWorkspaceSchemas()
|
||||
thisObject.searchEngine.setUpSearchEngine()
|
||||
@@ -233,11 +234,11 @@ function newSuperalgosDocsCommmandInterface() {
|
||||
}
|
||||
|
||||
function checkUSaveCommand() {
|
||||
if (UI.projects.superalgos.spaces.docsSpace.command.toLowerCase() === 'docs.help docs.save') {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Save Command')
|
||||
if (UI.projects.superalgos.spaces.docsSpace.commandInterface.command.toLowerCase() === 'docs.help docs.save') {
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Save Command')
|
||||
return
|
||||
}
|
||||
if (UI.projects.superalgos.spaces.docsSpace.command.indexOf('Docs.Save') !== 0 && UI.projects.superalgos.spaces.docsSpace.command.indexOf('docs.save') !== 0) { return 'Not Save Command' }
|
||||
if (UI.projects.superalgos.spaces.docsSpace.commandInterface.command.indexOf('Docs.Save') !== 0 && UI.projects.superalgos.spaces.docsSpace.commandInterface.command.indexOf('docs.save') !== 0) { return 'Not Save Command' }
|
||||
|
||||
let requestsSent = 0
|
||||
let responseCount = 0
|
||||
@@ -271,7 +272,7 @@ function newSuperalgosDocsCommmandInterface() {
|
||||
if (responseCount === okResponses) {
|
||||
renderCommandResultsPage(["Succesfully saved all the latest changes."])
|
||||
} else {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Changes Not Saved', 'Anchor Changes Not Saved')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Changes Not Saved', 'Anchor Changes Not Saved')
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -289,18 +290,18 @@ function newSuperalgosDocsCommmandInterface() {
|
||||
]
|
||||
}
|
||||
if (SCHEMAS_BY_PROJECT.get(project) === undefined) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Project Does Not Exist', 'Anchor Project Does Not Exist')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Project Does Not Exist', 'Anchor Project Does Not Exist')
|
||||
return
|
||||
}
|
||||
let exist = SCHEMAS_BY_PROJECT.get(project).map.docsNodeSchema.get(type)
|
||||
if (exist !== undefined) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Page Already Exists', 'Anchor Page Already Exists')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Page Already Exists', 'Anchor Page Already Exists')
|
||||
return
|
||||
}
|
||||
|
||||
SCHEMAS_BY_PROJECT.get(project).array.docsNodeSchema.push(template)
|
||||
SCHEMAS_BY_PROJECT.get(project).map.docsNodeSchema.set(type, template)
|
||||
navigateTo(project, 'Node', type)
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo(project, 'Node', type)
|
||||
}
|
||||
|
||||
function addConcept(project, type) {
|
||||
@@ -316,18 +317,18 @@ function newSuperalgosDocsCommmandInterface() {
|
||||
}
|
||||
|
||||
if (SCHEMAS_BY_PROJECT.get(project) === undefined) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Project Does Not Exist', 'Anchor Project Does Not Exist')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Project Does Not Exist', 'Anchor Project Does Not Exist')
|
||||
return
|
||||
}
|
||||
let exist = SCHEMAS_BY_PROJECT.get(project).map.docsConceptSchema.get(type)
|
||||
if (exist !== undefined) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Page Already Exists', 'Anchor Page Already Exists')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Page Already Exists', 'Anchor Page Already Exists')
|
||||
return
|
||||
}
|
||||
|
||||
SCHEMAS_BY_PROJECT.get(project).array.docsConceptSchema.push(template)
|
||||
SCHEMAS_BY_PROJECT.get(project).map.docsConceptSchema.set(type, template)
|
||||
navigateTo(project, 'Concept', type)
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo(project, 'Concept', type)
|
||||
}
|
||||
|
||||
function addTopic(project, topic, type, pageNumber) {
|
||||
@@ -344,28 +345,28 @@ function newSuperalgosDocsCommmandInterface() {
|
||||
]
|
||||
}
|
||||
if (SCHEMAS_BY_PROJECT.get(project) === undefined) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Project Does Not Exist', 'Anchor Project Does Not Exist')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Project Does Not Exist', 'Anchor Project Does Not Exist')
|
||||
return
|
||||
}
|
||||
let exist = SCHEMAS_BY_PROJECT.get(project).map.docsTopicSchema.get(type)
|
||||
if (exist !== undefined) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Page Already Exists', 'Anchor Page Already Exists')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Page Already Exists', 'Anchor Page Already Exists')
|
||||
return
|
||||
}
|
||||
|
||||
SCHEMAS_BY_PROJECT.get(project).array.docsTopicSchema.push(template)
|
||||
SCHEMAS_BY_PROJECT.get(project).map.docsTopicSchema.set(type, template)
|
||||
navigateTo(project, 'Topic', type)
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo(project, 'Topic', type)
|
||||
}
|
||||
|
||||
function deleteNode(project, type) {
|
||||
if (SCHEMAS_BY_PROJECT.get(project) === undefined) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Project Does Not Exist', 'Anchor Project Does Not Exist')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Project Does Not Exist', 'Anchor Project Does Not Exist')
|
||||
return
|
||||
}
|
||||
let exist = SCHEMAS_BY_PROJECT.get(project).map.docsNodeSchema.get(type)
|
||||
if (exist === undefined) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Page Does Not Exist', 'Anchor Page Does Not Exist')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Page Does Not Exist', 'Anchor Page Does Not Exist')
|
||||
return
|
||||
}
|
||||
|
||||
@@ -383,12 +384,12 @@ function newSuperalgosDocsCommmandInterface() {
|
||||
|
||||
function deleteConcept(project, type) {
|
||||
if (SCHEMAS_BY_PROJECT.get(project) === undefined) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Project Does Not Exist', 'Anchor Project Does Not Exist')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Project Does Not Exist', 'Anchor Project Does Not Exist')
|
||||
return
|
||||
}
|
||||
let exist = SCHEMAS_BY_PROJECT.get(project).map.docsConceptSchema.get(type)
|
||||
if (exist === undefined) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Page Does Not Exist', 'Anchor Page Does Not Exist')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Page Does Not Exist', 'Anchor Page Does Not Exist')
|
||||
return
|
||||
}
|
||||
|
||||
@@ -406,20 +407,20 @@ function newSuperalgosDocsCommmandInterface() {
|
||||
|
||||
function deleteTopic(project, topic, type, pageNumber) {
|
||||
if (SCHEMAS_BY_PROJECT.get(project) === undefined) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Project Does Not Exist', 'Anchor Project Does Not Exist')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Project Does Not Exist', 'Anchor Project Does Not Exist')
|
||||
return
|
||||
}
|
||||
let exist = SCHEMAS_BY_PROJECT.get(project).map.docsTopicSchema.get(type)
|
||||
if (exist === undefined) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Page Does Not Exist', 'Anchor Page Does Not Exist')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Page Does Not Exist', 'Anchor Page Does Not Exist')
|
||||
return
|
||||
} else {
|
||||
if (exist.pageNumber !== pageNumber) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Page Number Mismatch', 'Anchor Page Number Mismatch')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Page Number Mismatch', 'Anchor Page Number Mismatch')
|
||||
return
|
||||
}
|
||||
if (exist.topic !== topic) {
|
||||
navigateTo('Superalgos', 'Topic', 'Docs Error Topic Mismatch', 'Anchor Topic Mismatch')
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs Error Topic Mismatch', 'Anchor Topic Mismatch')
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,475 @@
|
||||
function newSuperalgosDocsContextMenu() {
|
||||
let thisObject = {
|
||||
getSelection: getSelection,
|
||||
forceOutClick: forceOutClick,
|
||||
initialize: initialize,
|
||||
finalize: finalize
|
||||
}
|
||||
|
||||
let selectedParagraphData = ''
|
||||
let selectedParagraphIndex = ''
|
||||
let selectedParagraphHeight = 0
|
||||
|
||||
return thisObject
|
||||
|
||||
function initialize() {
|
||||
setUpContextMenu()
|
||||
}
|
||||
|
||||
function finalize() {
|
||||
|
||||
}
|
||||
|
||||
function setUpContextMenu() {
|
||||
window.contextMenu = {
|
||||
editParagraph: editParagraph,
|
||||
deleteParagraph: deleteParagraph,
|
||||
toJavascript: toJavascript,
|
||||
toJson: toJson,
|
||||
toText: toText,
|
||||
toTitle: toTitle,
|
||||
toSubtitle: toSubtitle,
|
||||
toNote: toNote,
|
||||
toWarning: toWarning,
|
||||
toError: toError,
|
||||
toImportant: toImportant,
|
||||
toSuccess: toSuccess,
|
||||
toCallout: toCallout,
|
||||
toSummary: toSummary,
|
||||
toList: toList,
|
||||
toTable: toTable,
|
||||
toHierarchy: toHierarchy,
|
||||
toGif: toGif,
|
||||
toPng: toPng,
|
||||
toAnchor: toAnchor,
|
||||
toBlock: toBlock,
|
||||
toInclude: toInclude,
|
||||
toSection: toSection,
|
||||
copyLink: copyLink,
|
||||
toWebPageLink: toWebPageLink,
|
||||
toYouTubeVideo: toYouTubeVideo
|
||||
}
|
||||
|
||||
function editParagraph() {
|
||||
forceOutClick()
|
||||
showHTMLTextArea()
|
||||
|
||||
function showHTMLTextArea() {
|
||||
if (selectedParagraph === undefined) { return }
|
||||
|
||||
/*
|
||||
When in editing mode, some type of paragraphs need to extend
|
||||
the text area style so that while editing, it looks and feel
|
||||
like the non editing style of the paragraph. For those we
|
||||
add an extra style class.
|
||||
*/
|
||||
let extraClassName = ''
|
||||
if (selectedParagraph.id.indexOf('definition') >= 0) {
|
||||
extraClassName = ' ' + ''
|
||||
}
|
||||
if (selectedParagraph.id.indexOf('title') >= 0) {
|
||||
extraClassName = ' ' + 'docs-h3'
|
||||
}
|
||||
if (selectedParagraph.id.indexOf('subtitle') >= 0) {
|
||||
extraClassName = ' ' + 'docs-h4'
|
||||
}
|
||||
if (selectedParagraph.id.indexOf('note') >= 0) {
|
||||
extraClassName = ' ' + 'docs-alert-note'
|
||||
}
|
||||
if (selectedParagraph.id.indexOf('success') >= 0) {
|
||||
extraClassName = ' ' + 'docs-alert-success'
|
||||
}
|
||||
if (selectedParagraph.id.indexOf('important') >= 0) {
|
||||
extraClassName = ' ' + 'docs-alert-important'
|
||||
}
|
||||
if (selectedParagraph.id.indexOf('warning') >= 0) {
|
||||
extraClassName = ' ' + 'docs-alert-warning'
|
||||
}
|
||||
if (selectedParagraph.id.indexOf('error') >= 0) {
|
||||
extraClassName = ' ' + 'docs-alert-error'
|
||||
}
|
||||
if (selectedParagraph.id.indexOf('javascript') >= 0) {
|
||||
extraClassName = ' ' + 'language-javascript'
|
||||
}
|
||||
if (selectedParagraph.id.indexOf('json') >= 0) {
|
||||
extraClassName = ' ' + 'language-json'
|
||||
}
|
||||
|
||||
textArea = document.createElement('textarea');
|
||||
textArea.id = "textArea";
|
||||
textArea.spellcheck = false;
|
||||
textArea.className = "docs-text-area" + extraClassName
|
||||
textArea.style.height = selectedParagraphHeight
|
||||
textArea.value = selectedParagraphData
|
||||
selectedParagraph.innerHTML = ""
|
||||
selectedParagraph.appendChild(textArea)
|
||||
textArea.style.display = 'block'
|
||||
textArea.focus()
|
||||
forceOutClick()
|
||||
enterEditMode()
|
||||
}
|
||||
}
|
||||
|
||||
function deleteParagraph() {
|
||||
if (selectedParagraphIndex === undefined) { return }
|
||||
if (selectedParagraphIndex === 0) { return }
|
||||
docsSchemaDocument.paragraphs.splice(selectedParagraphIndex, 1)
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function toJavascript() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Javascript'
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function toJson() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Json'
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function toText() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Text'
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function toTitle() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Title'
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function toSubtitle() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Subtitle'
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function toNote() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Note'
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function toWarning() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Warning'
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function toError() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Error'
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function toImportant() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Important'
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function toSuccess() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Success'
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function toCallout() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Callout'
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function toSummary() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Summary'
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function toSection() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Section'
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function toList() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'List'
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function toTable() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Table'
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function toHierarchy() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Hierarchy'
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function toGif() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Gif'
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function toPng() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Png'
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function toAnchor() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Anchor'
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function toBlock() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Block'
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function toInclude() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Include'
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function toWebPageLink() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Link'
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function toYouTubeVideo() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Youtube'
|
||||
forceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
|
||||
function copyLink() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
let clipboard
|
||||
switch (docSchemaParagraph.style) {
|
||||
case 'Anchor': {
|
||||
clipboard = "docs.goto " + objectBeingRendered.project + '->' + objectBeingRendered.category + '->' + objectBeingRendered.type + '->' + docSchemaParagraph.text
|
||||
break
|
||||
}
|
||||
case 'Block': {
|
||||
clipboard = objectBeingRendered.project + '->' + objectBeingRendered.category + '->' + objectBeingRendered.type + '->' + docSchemaParagraph.text
|
||||
break
|
||||
}
|
||||
default: {
|
||||
clipboard = docSchemaParagraph.text
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
UI.projects.superalgos.utilities.clipboard.copyTextToClipboard(clipboard)
|
||||
forceOutClick()
|
||||
}
|
||||
}
|
||||
|
||||
function forceOutClick() {
|
||||
const outClick = document.getElementById('docs-space-div')
|
||||
const menu = document.getElementById('menu')
|
||||
menu.classList.remove('show')
|
||||
outClick.style.display = "none"
|
||||
}
|
||||
|
||||
function getSelection() {
|
||||
let selection = window.getSelection()
|
||||
|
||||
/*
|
||||
We need to locate the parent node that it is a Paragraph,
|
||||
otherwise we could end up in an inner html element.
|
||||
*/
|
||||
let paragraphNode = selection.baseNode
|
||||
|
||||
if (paragraphNode.id !== undefined && paragraphNode.parentNode.className === "docs-tooltip") {
|
||||
return false
|
||||
}
|
||||
|
||||
|
||||
for (let i = 1; i < 10; i++) {
|
||||
if (paragraphNode === undefined || paragraphNode === null) { return false }
|
||||
if (paragraphNode.id === undefined || paragraphNode.id.indexOf('editable-paragraph') < 0) {
|
||||
paragraphNode = paragraphNode.parentNode
|
||||
if (paragraphNode === undefined) { return false }
|
||||
}
|
||||
}
|
||||
if (paragraphNode === undefined || paragraphNode === null || paragraphNode.id === undefined || paragraphNode.id.indexOf('editable-paragraph') < 0) {
|
||||
return false
|
||||
}
|
||||
/*
|
||||
Get the dimenssions of the current paragraph to help us to define the dimenssions of the text area.
|
||||
*/
|
||||
selectedParagraph = paragraphNode
|
||||
selectedParagraphHeight = paragraphNode.getClientRects()[0].height
|
||||
if (selectedParagraphHeight < 30) { selectedParagraphHeight = 30 }
|
||||
/*
|
||||
We need to clean the Tool Tips text that might be at the paragraph selected.
|
||||
To not destroy the DOM structure we will use a clone.
|
||||
*/
|
||||
paragraphNode = paragraphNode.cloneNode(true)
|
||||
scanNodeChildren(paragraphNode)
|
||||
function scanNodeChildren(node) {
|
||||
if (node.childNodes === undefined) { return }
|
||||
for (let i = 0; i < node.childNodes.length; i++) {
|
||||
let childNode = node.childNodes[i]
|
||||
if (childNode.className === "docs-tooltip") {
|
||||
childNode.innerText = childNode.childNodes[0].data
|
||||
} else {
|
||||
scanNodeChildren(childNode)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Reset this */
|
||||
selectedParagraphIndex = undefined
|
||||
/*
|
||||
Depending on the Style of Paragraph we will need to remove
|
||||
some info from the innerText.
|
||||
*/
|
||||
if (paragraphNode.id.indexOf('definition-') >= 0) {
|
||||
if (paragraphNode.id.indexOf('-summary') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim().substring(9, paragraphNode.innerText.length)
|
||||
} else {
|
||||
selectedParagraphData = paragraphNode.innerText.trim()
|
||||
}
|
||||
return true
|
||||
}
|
||||
/*
|
||||
Remeber the Selected Paragraph Index
|
||||
*/
|
||||
let splittedId = paragraphNode.id.split('-')
|
||||
selectedParagraphIndex = splittedId[splittedId.length - 2]
|
||||
/*
|
||||
Check the style of the Paragraph
|
||||
*/
|
||||
if (paragraphNode.id.indexOf('-text') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim()
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-title') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim()
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-subtitle') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim()
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-note') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim().substring(6, paragraphNode.innerText.length)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-success') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim().substring(5, paragraphNode.innerText.length)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-important') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim().substring(11, paragraphNode.innerText.length)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-warning') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim().substring(10, paragraphNode.innerText.length)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-error') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim().substring(8, paragraphNode.innerText.length)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-list') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim()
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-table') >= 0) {
|
||||
selectedParagraphData = UI.projects.superalgos.utilities.docs.reverseParseTable(paragraphNode.innerHTML)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-hierarchy') >= 0) {
|
||||
selectedParagraphData = UI.projects.superalgos.utilities.docs.reverseParseHierarchy(paragraphNode.innerHTML)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-gif') >= 0) {
|
||||
selectedParagraphData = UI.projects.superalgos.utilities.docs.reverseParseGIF(paragraphNode.innerHTML)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-png') >= 0) {
|
||||
selectedParagraphData = UI.projects.superalgos.utilities.docs.reverseParsePNG(paragraphNode.innerHTML)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-javascript') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim().substring(1, paragraphNode.innerText.length)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-json') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim().substring(1, paragraphNode.innerText.length)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-callout') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim()
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-summary') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim().substring(9, paragraphNode.innerText.length)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-anchor') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim()
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-section') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim()
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-block') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim()
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-include') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim()
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-link') >= 0) {
|
||||
selectedParagraphData = UI.projects.superalgos.utilities.docs.reverseParseLink(paragraphNode.innerHTML)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-youtube') >= 0) {
|
||||
selectedParagraphData = UI.projects.superalgos.utilities.docs.reverseParseYoutube(paragraphNode.innerHTML)
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,8 +10,8 @@ function newSuperalgosDocSpace() {
|
||||
footer: undefined,
|
||||
documentPage: undefined,
|
||||
commandInterface: undefined,
|
||||
contextMenu: undefined,
|
||||
language: undefined,
|
||||
command: undefined,
|
||||
menuLabelsMap: undefined,
|
||||
changeLanguage: changeLanguage,
|
||||
openSpaceAreaAndNavigateTo: openSpaceAreaAndNavigateTo,
|
||||
@@ -46,9 +46,6 @@ function newSuperalgosDocSpace() {
|
||||
|
||||
let textArea
|
||||
let selectedParagraph
|
||||
let selectedParagraphData = ''
|
||||
let selectedParagraphIndex = ''
|
||||
let selectedParagraphHeight = 0
|
||||
let objectBeingRendered
|
||||
let paragraphMap // Here we will store a map of paragraphs from the Docs Node, Concept or Topics Schema in order to find it when we need to update them.
|
||||
let appSchemaDocument
|
||||
@@ -60,7 +57,6 @@ function newSuperalgosDocSpace() {
|
||||
thisObject.menuLabelsMap = new Map()
|
||||
|
||||
setupSidePanelTab()
|
||||
setUpContextMenu()
|
||||
setUpMenuItemsMap()
|
||||
setupUserLanguage()
|
||||
|
||||
@@ -70,6 +66,7 @@ function newSuperalgosDocSpace() {
|
||||
thisObject.documentPage = newSuperalgosDocsDocumentPage()
|
||||
thisObject.footer = newSuperalgosDocsFooter()
|
||||
thisObject.commandInterface = newSuperalgosDocsCommmandInterface()
|
||||
thisObject.contextMenu = newSuperalgosDocsContextMenu()
|
||||
|
||||
thisObject.searchEngine.initialize()
|
||||
thisObject.mainSearchPage.initialize()
|
||||
@@ -77,6 +74,7 @@ function newSuperalgosDocSpace() {
|
||||
thisObject.documentPage.initialize()
|
||||
thisObject.footer.initialize()
|
||||
thisObject.commandInterface.initialize()
|
||||
thisObject.contextMenu.initialize()
|
||||
|
||||
isInitialized = true
|
||||
|
||||
@@ -103,288 +101,6 @@ function newSuperalgosDocSpace() {
|
||||
browserResizedEventSubscriptionId = canvas.eventHandler.listenToEvent('Browser Resized', resize)
|
||||
}
|
||||
|
||||
function setUpContextMenu() {
|
||||
window.contextMenu = {
|
||||
editParagraph: editParagraph,
|
||||
deleteParagraph: deleteParagraph,
|
||||
toJavascript: toJavascript,
|
||||
toJson: toJson,
|
||||
toText: toText,
|
||||
toTitle: toTitle,
|
||||
toSubtitle: toSubtitle,
|
||||
toNote: toNote,
|
||||
toWarning: toWarning,
|
||||
toError: toError,
|
||||
toImportant: toImportant,
|
||||
toSuccess: toSuccess,
|
||||
toCallout: toCallout,
|
||||
toSummary: toSummary,
|
||||
toList: toList,
|
||||
toTable: toTable,
|
||||
toHierarchy: toHierarchy,
|
||||
toGif: toGif,
|
||||
toPng: toPng,
|
||||
toAnchor: toAnchor,
|
||||
toBlock: toBlock,
|
||||
toInclude: toInclude,
|
||||
toSection: toSection,
|
||||
copyLink: copyLink,
|
||||
toWebPageLink: toWebPageLink,
|
||||
toYouTubeVideo: toYouTubeVideo
|
||||
}
|
||||
|
||||
function editParagraph() {
|
||||
contextMenuForceOutClick()
|
||||
showHTMLTextArea()
|
||||
|
||||
function showHTMLTextArea() {
|
||||
if (selectedParagraph === undefined) { return }
|
||||
|
||||
/*
|
||||
When in editing mode, some type of paragraphs need to extend
|
||||
the text area style so that while editing, it looks and feel
|
||||
like the non editing style of the paragraph. For those we
|
||||
add an extra style class.
|
||||
*/
|
||||
let extraClassName = ''
|
||||
if (selectedParagraph.id.indexOf('definition') >= 0) {
|
||||
extraClassName = ' ' + ''
|
||||
}
|
||||
if (selectedParagraph.id.indexOf('title') >= 0) {
|
||||
extraClassName = ' ' + 'docs-h3'
|
||||
}
|
||||
if (selectedParagraph.id.indexOf('subtitle') >= 0) {
|
||||
extraClassName = ' ' + 'docs-h4'
|
||||
}
|
||||
if (selectedParagraph.id.indexOf('note') >= 0) {
|
||||
extraClassName = ' ' + 'docs-alert-note'
|
||||
}
|
||||
if (selectedParagraph.id.indexOf('success') >= 0) {
|
||||
extraClassName = ' ' + 'docs-alert-success'
|
||||
}
|
||||
if (selectedParagraph.id.indexOf('important') >= 0) {
|
||||
extraClassName = ' ' + 'docs-alert-important'
|
||||
}
|
||||
if (selectedParagraph.id.indexOf('warning') >= 0) {
|
||||
extraClassName = ' ' + 'docs-alert-warning'
|
||||
}
|
||||
if (selectedParagraph.id.indexOf('error') >= 0) {
|
||||
extraClassName = ' ' + 'docs-alert-error'
|
||||
}
|
||||
if (selectedParagraph.id.indexOf('javascript') >= 0) {
|
||||
extraClassName = ' ' + 'language-javascript'
|
||||
}
|
||||
if (selectedParagraph.id.indexOf('json') >= 0) {
|
||||
extraClassName = ' ' + 'language-json'
|
||||
}
|
||||
|
||||
textArea = document.createElement('textarea');
|
||||
textArea.id = "textArea";
|
||||
textArea.spellcheck = false;
|
||||
textArea.className = "docs-text-area" + extraClassName
|
||||
textArea.style.height = selectedParagraphHeight
|
||||
textArea.value = selectedParagraphData
|
||||
selectedParagraph.innerHTML = ""
|
||||
selectedParagraph.appendChild(textArea)
|
||||
textArea.style.display = 'block'
|
||||
textArea.focus()
|
||||
contextMenuForceOutClick()
|
||||
enterEditMode()
|
||||
}
|
||||
}
|
||||
|
||||
function deleteParagraph() {
|
||||
if (selectedParagraphIndex === undefined) { return }
|
||||
if (selectedParagraphIndex === 0) { return }
|
||||
docsSchemaDocument.paragraphs.splice(selectedParagraphIndex, 1)
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function toJavascript() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Javascript'
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function toJson() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Json'
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function toText() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Text'
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function toTitle() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Title'
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function toSubtitle() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Subtitle'
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function toNote() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Note'
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function toWarning() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Warning'
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function toError() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Error'
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function toImportant() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Important'
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function toSuccess() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Success'
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function toCallout() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Callout'
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function toSummary() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Summary'
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function toSection() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Section'
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function toList() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'List'
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function toTable() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Table'
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function toHierarchy() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Hierarchy'
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function toGif() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Gif'
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function toPng() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Png'
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function toAnchor() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Anchor'
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function toBlock() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Block'
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function toInclude() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Include'
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function toWebPageLink() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Link'
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function toYouTubeVideo() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
docSchemaParagraph.style = 'Youtube'
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
|
||||
function copyLink() {
|
||||
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
|
||||
let clipboard
|
||||
switch (docSchemaParagraph.style) {
|
||||
case 'Anchor': {
|
||||
clipboard = "docs.goto " + objectBeingRendered.project + '->' + objectBeingRendered.category + '->' + objectBeingRendered.type + '->' + docSchemaParagraph.text
|
||||
break
|
||||
}
|
||||
case 'Block': {
|
||||
clipboard = objectBeingRendered.project + '->' + objectBeingRendered.category + '->' + objectBeingRendered.type + '->' + docSchemaParagraph.text
|
||||
break
|
||||
}
|
||||
default: {
|
||||
clipboard = docSchemaParagraph.text
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
UI.projects.superalgos.utilities.clipboard.copyTextToClipboard(clipboard)
|
||||
contextMenuForceOutClick()
|
||||
}
|
||||
}
|
||||
|
||||
function setUpMenuItemsMap() {
|
||||
/*
|
||||
Here we will put put all the menu item labels of all nodes at all
|
||||
@@ -419,6 +135,7 @@ function newSuperalgosDocSpace() {
|
||||
thisObject.documentPage.finalize()
|
||||
thisObject.footer.finalize()
|
||||
thisObject.commandInterface.finalize()
|
||||
thisObject.contextMenu.finalize()
|
||||
|
||||
thisObject.searchEngine = undefined
|
||||
thisObject.mainSearchPage = undefined
|
||||
@@ -426,6 +143,7 @@ function newSuperalgosDocSpace() {
|
||||
thisObject.documentPage = undefined
|
||||
thisObject.footer = undefined
|
||||
thisObject.commandInterface = undefined
|
||||
thisObject.contextMenu = undefined
|
||||
|
||||
objectBeingRendered = undefined
|
||||
paragraphMap = undefined
|
||||
@@ -444,7 +162,7 @@ function newSuperalgosDocSpace() {
|
||||
UI.projects.superalgos.spaces.docsSpace.language = pLanguage
|
||||
window.localStorage.setItem('Docs Language', UI.projects.superalgos.spaces.docsSpace.language)
|
||||
let languageLabel = UI.projects.superalgos.utilities.languages.getLaguageLabel(UI.projects.superalgos.spaces.docsSpace.language)
|
||||
navigateTo('Superalgos', 'Topic', 'Docs In ' + languageLabel)
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo('Superalgos', 'Topic', 'Docs In ' + languageLabel)
|
||||
}
|
||||
|
||||
function onKeyDown(event) {
|
||||
@@ -556,178 +274,7 @@ function newSuperalgosDocSpace() {
|
||||
}
|
||||
}
|
||||
EDITOR_ON_FOCUS = false
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
}
|
||||
}
|
||||
|
||||
function contextMenuForceOutClick() {
|
||||
const outClick = document.getElementById('docs-space-div')
|
||||
const menu = document.getElementById('menu')
|
||||
menu.classList.remove('show')
|
||||
outClick.style.display = "none"
|
||||
}
|
||||
|
||||
function contextMenuGetSelection() {
|
||||
let selection = window.getSelection()
|
||||
|
||||
/*
|
||||
We need to locate the parent node that it is a Paragraph,
|
||||
otherwise we could end up in an inner html element.
|
||||
*/
|
||||
let paragraphNode = selection.baseNode
|
||||
|
||||
if (paragraphNode.id !== undefined && paragraphNode.parentNode.className === "docs-tooltip") {
|
||||
return false
|
||||
}
|
||||
|
||||
|
||||
for (let i = 1; i < 10; i++) {
|
||||
if (paragraphNode === undefined || paragraphNode === null) { return false }
|
||||
if (paragraphNode.id === undefined || paragraphNode.id.indexOf('editable-paragraph') < 0) {
|
||||
paragraphNode = paragraphNode.parentNode
|
||||
if (paragraphNode === undefined) { return false }
|
||||
}
|
||||
}
|
||||
if (paragraphNode === undefined || paragraphNode === null || paragraphNode.id === undefined || paragraphNode.id.indexOf('editable-paragraph') < 0) {
|
||||
return false
|
||||
}
|
||||
/*
|
||||
Get the dimenssions of the current paragraph to help us to define the dimenssions of the text area.
|
||||
*/
|
||||
selectedParagraph = paragraphNode
|
||||
selectedParagraphHeight = paragraphNode.getClientRects()[0].height
|
||||
if (selectedParagraphHeight < 30) { selectedParagraphHeight = 30 }
|
||||
/*
|
||||
We need to clean the Tool Tips text that might be at the paragraph selected.
|
||||
To not destroy the DOM structure we will use a clone.
|
||||
*/
|
||||
paragraphNode = paragraphNode.cloneNode(true)
|
||||
scanNodeChildren(paragraphNode)
|
||||
function scanNodeChildren(node) {
|
||||
if (node.childNodes === undefined) { return }
|
||||
for (let i = 0; i < node.childNodes.length; i++) {
|
||||
let childNode = node.childNodes[i]
|
||||
if (childNode.className === "docs-tooltip") {
|
||||
childNode.innerText = childNode.childNodes[0].data
|
||||
} else {
|
||||
scanNodeChildren(childNode)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Reset this */
|
||||
selectedParagraphIndex = undefined
|
||||
/*
|
||||
Depending on the Style of Paragraph we will need to remove
|
||||
some info from the innerText.
|
||||
*/
|
||||
if (paragraphNode.id.indexOf('definition-') >= 0) {
|
||||
if (paragraphNode.id.indexOf('-summary') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim().substring(9, paragraphNode.innerText.length)
|
||||
} else {
|
||||
selectedParagraphData = paragraphNode.innerText.trim()
|
||||
}
|
||||
return true
|
||||
}
|
||||
/*
|
||||
Remeber the Selected Paragraph Index
|
||||
*/
|
||||
let splittedId = paragraphNode.id.split('-')
|
||||
selectedParagraphIndex = splittedId[splittedId.length - 2]
|
||||
/*
|
||||
Check the style of the Paragraph
|
||||
*/
|
||||
if (paragraphNode.id.indexOf('-text') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim()
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-title') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim()
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-subtitle') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim()
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-note') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim().substring(6, paragraphNode.innerText.length)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-success') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim().substring(5, paragraphNode.innerText.length)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-important') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim().substring(11, paragraphNode.innerText.length)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-warning') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim().substring(10, paragraphNode.innerText.length)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-error') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim().substring(8, paragraphNode.innerText.length)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-list') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim()
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-table') >= 0) {
|
||||
selectedParagraphData = UI.projects.superalgos.utilities.docs.reverseParseTable(paragraphNode.innerHTML)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-hierarchy') >= 0) {
|
||||
selectedParagraphData = UI.projects.superalgos.utilities.docs.reverseParseHierarchy(paragraphNode.innerHTML)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-gif') >= 0) {
|
||||
selectedParagraphData = UI.projects.superalgos.utilities.docs.reverseParseGIF(paragraphNode.innerHTML)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-png') >= 0) {
|
||||
selectedParagraphData = UI.projects.superalgos.utilities.docs.reverseParsePNG(paragraphNode.innerHTML)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-javascript') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim().substring(1, paragraphNode.innerText.length)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-json') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim().substring(1, paragraphNode.innerText.length)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-callout') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim()
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-summary') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim().substring(9, paragraphNode.innerText.length)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-anchor') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim()
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-section') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim()
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-block') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim()
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-include') >= 0) {
|
||||
selectedParagraphData = paragraphNode.innerText.trim()
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-link') >= 0) {
|
||||
selectedParagraphData = UI.projects.superalgos.utilities.docs.reverseParseLink(paragraphNode.innerHTML)
|
||||
return true
|
||||
}
|
||||
if (paragraphNode.id.indexOf('-youtube') >= 0) {
|
||||
selectedParagraphData = UI.projects.superalgos.utilities.docs.reverseParseYoutube(paragraphNode.innerHTML)
|
||||
return true
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -738,7 +285,7 @@ function newSuperalgosDocSpace() {
|
||||
UI.projects.superalgos.spaces.docsSpace.mainSearchPage.detectEnterOnSearchBox()
|
||||
UI.projects.superalgos.spaces.docsSpace.mainSearchPage.setFocusOnSearchBox()
|
||||
} else {
|
||||
navigateTo(objectBeingRendered.project, objectBeingRendered.category, objectBeingRendered.type)
|
||||
UI.projects.superalgos.spaces.docsSpace.navigateTo(objectBeingRendered.project, objectBeingRendered.category, objectBeingRendered.type)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -850,7 +397,7 @@ function newSuperalgosDocSpace() {
|
||||
nodeId: nodeId
|
||||
}
|
||||
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render(objectBeingRendered, paragraphMap)
|
||||
UI.projects.superalgos.spaces.docsSpace.documentPage.render()
|
||||
|
||||
/*
|
||||
Here we will check if we need to position the page at a particular anchor or at the top.
|
||||
|
||||
@@ -15,7 +15,7 @@ function newSuperalgosDocsDocumentPage() {
|
||||
|
||||
}
|
||||
|
||||
function render(objectBeingRendered, paragraphMap) {
|
||||
function render() {
|
||||
|
||||
appSchemaDocument = SCHEMAS_BY_PROJECT.get(objectBeingRendered.project).map.appSchema.get(objectBeingRendered.type)
|
||||
|
||||
@@ -1526,7 +1526,7 @@ function newSuperalgosDocsDocumentPage() {
|
||||
exitEditMode()
|
||||
return
|
||||
}
|
||||
if (contextMenuGetSelection() === false) {
|
||||
if (UI.projects.superalgos.spaces.docsSpace.contextMenu.getSelection() === false) {
|
||||
/*
|
||||
The click was in a place where we can not recognize an editable piece.
|
||||
We will not open the menu in this circunstances.
|
||||
@@ -1543,7 +1543,7 @@ function newSuperalgosDocsDocumentPage() {
|
||||
|
||||
outClick.addEventListener('click', () => {
|
||||
if (EDITOR_ON_FOCUS !== true) {
|
||||
contextMenuForceOutClick()
|
||||
UI.projects.superalgos.spaces.docsSpace.contextMenu.forceOutClick()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -43,12 +43,12 @@ function newSuperalgosDocsMainSearchPage() {
|
||||
|
||||
function detectEnterOnSearchBox() {
|
||||
const element = document.getElementsByClassName("docs-search-input")[0]
|
||||
if (UI.projects.superalgos.spaces.docsSpace.command !== undefined) {
|
||||
element.value = UI.projects.superalgos.spaces.docsSpace.command
|
||||
if (UI.projects.superalgos.spaces.docsSpace.commandInterface.command !== undefined) {
|
||||
element.value = UI.projects.superalgos.spaces.docsSpace.commandInterface.command
|
||||
}
|
||||
element.addEventListener("keyup", function (event) {
|
||||
if (event.key === "Enter" || event.keyCode === 13) {
|
||||
UI.projects.superalgos.spaces.docsSpace.command = element.value
|
||||
UI.projects.superalgos.spaces.docsSpace.commandInterface.command = element.value
|
||||
UI.projects.superalgos.spaces.docsSpace.commandInterface.detectCommands()
|
||||
|
||||
detectEnterOnSearchBox()
|
||||
|
||||
@@ -28,7 +28,7 @@ function newSuperalgosDocsSearchResultsPage() {
|
||||
let documentPoints = 0
|
||||
|
||||
for (const style in documentIndex.phraseCount) {
|
||||
let key = UI.projects.superalgos.utilities.strings.cleanTextOfCommonWordEndings(UI.projects.superalgos.spaces.docsSpace.command.toLowerCase())
|
||||
let key = UI.projects.superalgos.utilities.strings.cleanTextOfCommonWordEndings(UI.projects.superalgos.spaces.docsSpace.commandInterface.command.toLowerCase())
|
||||
let thisPhraseCount = documentIndex.phraseCount[style].get(key)
|
||||
if (thisPhraseCount === undefined) {
|
||||
thisPhraseCount = 0
|
||||
|
||||
Reference in new issue
Block a user