Camel Case Fixed, and Delete

This commit is contained in:
Luis Fernando Molina committed 2020-12-29 16:17:53 +01:00
1 parent 1f4c232784
commit efbb7e98e3
4 files changed
+70 -8

No files matched your search

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

+2 -2
View File
@@ -178,8 +178,8 @@
</div>
</div>
<div class="menu-row">
<div class="menu-item">
<div class="menu-item" onClick="window.contextMenu.deleteParagraph()">
<img src="Images/Docs-Menu/docs-delete.png" class="menu-img">
</div>
<div class="menu-item" onClick="window.contextMenu.toWebPageLink()">
<img src="Images/Docs-Menu/docs-link-style.png" class="menu-img">
@@ -39,6 +39,7 @@ 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.
@@ -78,6 +79,7 @@ function newSuperalgosDocSpace() {
function setUpContextMenu() {
window.contextMenu = {
editParagraph: editParagraph,
deleteParagraph: deleteParagraph,
toJavascript: toJavascript,
toJson: toJson,
toText: toText,
@@ -164,6 +166,14 @@ function newSuperalgosDocSpace() {
}
}
function deleteParagraph() {
if (selectedParagraphIndex === undefined) { return }
if (selectedParagraphIndex === 0) { return }
docsSchemaDocument.paragraphs.splice(selectedParagraphIndex, 1)
contextMenuForceOutClick()
renderDocumentPage()
}
function toJavascript() {
let docSchemaParagraph = paragraphMap.get(selectedParagraph.id)
docSchemaParagraph.style = 'Javascript'
@@ -651,6 +661,9 @@ function newSuperalgosDocSpace() {
}
}
}
/* Reset this */
selectedParagraphIndex = undefined
/*
Depending on the Style of Paragraph we will need to remove
some info from the innerText.
@@ -663,6 +676,14 @@ function newSuperalgosDocSpace() {
}
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
@@ -2863,8 +2884,8 @@ function newSuperalgosDocSpace() {
role = ''
key = key + '-text'
innerHTML = getTextBasedOnLanguage(paragraph)
innerHTML = addToolTips(innerHTML)
innerHTML = addCodeToCamelCase(innerHTML)
innerHTML = addToolTips(innerHTML)
innerHTML = addItalics(innerHTML)
innerHTML = innerHTML + addWarningIfTranslationIsOutdated(paragraph)
break
@@ -2981,9 +3002,9 @@ function newSuperalgosDocSpace() {
role = ''
key = key + '-list'
innerHTML = getTextBasedOnLanguage(paragraph)
innerHTML = addCodeToCamelCase(innerHTML)
innerHTML = addToolTips(innerHTML)
innerHTML = addBold(innerHTML)
innerHTML = addCodeToCamelCase(innerHTML)
innerHTML = addItalics(innerHTML)
innerHTML = innerHTML + addWarningIfTranslationIsOutdated(paragraph)
break
@@ -3585,7 +3606,14 @@ function newSuperalgosDocSpace() {
}
function addCodeToCamelCase(text) {
let splittedText = text.split(' ')
let expandedText = text
.replaceAll('{',' { ')
.replaceAll('}',' } ')
.replaceAll('(',' ( ')
.replaceAll(')',' ) ')
.replaceAll('[',' [ ')
.replaceAll(']',' ] ')
let splittedText = expandedText.split(' ')
let result = ''
for (let i = 0; i < splittedText.length; i++) {
let word = splittedText[i]
@@ -3598,6 +3626,13 @@ function newSuperalgosDocSpace() {
result = result + ' ' + word
}
}
result = result
.replaceAll(' { ','{')
.replaceAll(' } ','}')
.replaceAll(' ( ','(')
.replaceAll(' ) ',')')
.replaceAll(' [ ','[')
.replaceAll(' ] ',']')
return result
}
+30 -3
View File
@@ -17,11 +17,38 @@ function newSuperalgosUtilitiesStrings() {
we will accept strings with numbers and dots, so that
object paths test positive.
*/
const result = /^[A-Za-z0-9.]+$/.test(text)
/* Check that there are not invalid symbols */
let result = /^[A-Za-z0-9.]+$/.test(text)
if (result === false) { return false }
let character = text[0]
if (character !== character.toLowerCase()) {
/* Check that first char is a letter in lower case*/
result = /^[a-z]+$/.test(text[0])
if (result === false) { return false }
let upperCaseDetected = false
let numbersDetected = false
let dotsDetected = false
for (let i = 1; i < text.length; i++) {
let character = text[i]
result = /^[0-9]+$/.test(character)
if (result === true) {
numbersDetected = true
if (text[i - 1] === '.') { return false }
}
result = /^[A-Z]+$/.test(character)
if (result === true) {
upperCaseDetected = true
if (text[i - 1] === '.') { return false }
}
if (character === '.') { dotsDetected = true }
}
/* Check that there is at lest one upper case before numbers or dots */
if (upperCaseDetected === false) {
return false
}
return true