Added sub-variable detection and added scroll to editor popup

This commit is contained in:
gohil-jay
2022-03-25 18:34:28 +05:30
parent cff2b88845
commit 6ada7b69f1
+65 -5
View File
@@ -54,6 +54,59 @@ const CodeEditor = (props) => {
// console.log(currentLocation)
// }, [currentLocation])
// const [allVariable, setAllVariable] = React.useState([]);
var allVariable = []
var mainVariables = []
// console.log(actionlist.length)
for(var i=0; i<actionlist.length; i++){
allVariable.push('$'+actionlist[i].autocomplete.toLowerCase())
mainVariables.push('$'+actionlist[i].autocomplete.toLowerCase())
// console.log(actionlist[i])
console.log(actionlist[i].example.length)
// for(var j=0; j<actionlist[i].example.length; j++){
// console.log(j)
// allVariable.push('$'+actionlist[i].example[j].toLowerCase().substring(0, 25))
// }
for(let key in actionlist[i].example){
// console.log(key)
allVariable.push('$'+actionlist[i].autocomplete.toLowerCase()+'.'+key)
}
}
// {actionlist.map((data, index) => {
// console.log(data)
// console.log(actionlist.length)
// console.log(data.autocomplete)
// allVariable.push('$'+data.autocomplete.substring(0, 25))
// return (
// <div
// style={{
// // textOverflow: 'ellipsis'
// }}
// >
// <button
// onClick={() => {
// replaceVariables(data.autocomplete)
// // console.log(currentCharacter, currentLine)
// }}
// style={{
// backgroundColor: 'transparent',
// color: 'white',
// border: 'none',
// padding: 7.5,
// cursor: 'pointer',
// width: '100%',
// textAlign: 'left'
// }}
// >
// ${data.autocomplete.substring(0, 25)}
// {Object.keys(data.example).forEach(key => key)}
// </button>
// </div>
// )
// })}
const autoFormat = (input) => {
if (validation !== true) {
return
@@ -198,10 +251,13 @@ const CodeEditor = (props) => {
console.log(dollar_occurence_len)
try{
// console.log(variable_occurence)
for (var occ = 0; occ<variable_occurence.length; occ++){
// value.markText({line:i, ch:dollar_occurence[occ]}, {line:i, ch:dollar_occurence_len[occ]+dollar_occurence[occ]}, {"css": "background-color: #8b8e26; border-radius: 4px; color: white"})
var correctVariable = actionlist.find(action => action.autocomplete.toLowerCase() === variable_occurence[occ].slice(1,).toLowerCase())
if(correctVariable === undefined) {
// var correctVariable = actionlist.find(action => action.autocomplete.toLowerCase() === variable_occurence[occ].slice(1,).toLowerCase())
var correctVariable = allVariable.includes(variable_occurence[occ].toLowerCase())
// console.log(actionlist)
if(!correctVariable) {
value.markText({line:i, ch:dollar_occurence[occ]}, {line:i, ch:dollar_occurence_len[occ]+dollar_occurence[occ]}, {"css": "background-color: #f86a3e; padding-top: 2px; padding-bottom: 2px; color: white"})
}
else{
@@ -364,6 +420,7 @@ const CodeEditor = (props) => {
onChange={(value) => {
setlocalcodedata(value.getValue())
expectedOutput(value.getValue())
// console.log(allVariable)
// console.log(value.getValue().split('\n')[value.getCursor().line])
// console.log(value.getCursor())
// console.log(value)
@@ -401,10 +458,12 @@ const CodeEditor = (props) => {
margin: 10,
padding: 10,
width: isMobile ? "100%" : 250,
height: 95,
overflowY: 'scroll',
// textOverflow: 'ellipsis'
}}
>
{actionlist.map((data, index) => {
{mainVariables.map((data, index) => {
// console.log(data)
return (
<div
@@ -414,7 +473,7 @@ const CodeEditor = (props) => {
>
<button
onClick={() => {
replaceVariables(data.autocomplete)
replaceVariables(data.substring(1,))
// console.log(currentCharacter, currentLine)
}}
style={{
@@ -427,7 +486,8 @@ const CodeEditor = (props) => {
textAlign: 'left'
}}
>
${data.autocomplete.substring(0, 25)}
{data.substring(0, 25)}
{/* {Object.keys(data.example).forEach(key => key)} */}
</button>
</div>
)