pixel-react 1.15.12 → 1.15.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/_virtual/index11.js +2 -2
- package/lib/_virtual/index12.js +2 -2
- package/lib/components/Editor/Editor.js +69 -26
- package/lib/components/Editor/Editor.js.map +1 -1
- package/lib/components/Editor/calculateDropdownPosition.d.ts +7 -0
- package/lib/components/Editor/calculateDropdownPosition.js +31 -0
- package/lib/components/Editor/calculateDropdownPosition.js.map +1 -0
- package/lib/index.cjs +103 -26
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +1 -1
- package/lib/node_modules/js-beautify/js/src/css/beautifier.js +1 -1
- package/lib/node_modules/js-beautify/js/src/html/index.js +1 -1
- package/lib/node_modules/js-beautify/js/src/javascript/beautifier.js +1 -1
- package/lib/node_modules/js-beautify/js/src/javascript/index.js +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/validations/regex.js +6 -1
- package/lib/validations/regex.js.map +1 -1
- package/package.json +1 -1
package/lib/_virtual/index11.js
CHANGED
package/lib/_virtual/index12.js
CHANGED
|
@@ -3,6 +3,7 @@ import { forwardRef, useRef, useState, useEffect, useImperativeHandle } from 're
|
|
|
3
3
|
import Ft from '../../node_modules/@monaco-editor/react/dist/index.js';
|
|
4
4
|
import { j as jsExports } from '../../_virtual/index2.js';
|
|
5
5
|
import VariableDropdown from './VariableDropdown.js';
|
|
6
|
+
import { calculateDropdownPosition } from './calculateDropdownPosition.js';
|
|
6
7
|
|
|
7
8
|
const Editor = /*#__PURE__*/forwardRef(({
|
|
8
9
|
width = '100%',
|
|
@@ -41,12 +42,52 @@ const Editor = /*#__PURE__*/forwardRef(({
|
|
|
41
42
|
}, [variableOptionsList]);
|
|
42
43
|
const handleEditorDidMount = (editor, monaco) => {
|
|
43
44
|
editorRef.current = editor;
|
|
44
|
-
// Track caret line
|
|
45
45
|
editor.onDidChangeCursorPosition(e => {
|
|
46
46
|
setCurrentLine(e.position.lineNumber);
|
|
47
|
+
const position = editor.getPosition();
|
|
48
|
+
const model = editor.getModel();
|
|
49
|
+
if (!position || !model) return;
|
|
50
|
+
const currentLineContent = model.getLineContent(position.lineNumber);
|
|
51
|
+
const col = position.column - 1;
|
|
52
|
+
const dollarIndex = currentLineContent.lastIndexOf('$', col - 1);
|
|
53
|
+
if (dollarIndex !== -1 && col > dollarIndex && !/\s/.test(currentLineContent.slice(dollarIndex + 1, col))) {
|
|
54
|
+
varRef.current = dollarIndex;
|
|
55
|
+
filterVarRef.current = currentLineContent.slice(dollarIndex + 1, col);
|
|
56
|
+
const filterVal = (filterVarRef.current ?? '').toLowerCase();
|
|
57
|
+
const filteredVariable = variableOptionsRef.current.filter(e => {
|
|
58
|
+
const variableName = e.type === '_startforloop' && addForloopPrefix ? `FLV_for:${e.name}` : e.name;
|
|
59
|
+
return variableName.toLowerCase().includes(filterVal);
|
|
60
|
+
});
|
|
61
|
+
setFilteredVariableOptions(filteredVariable);
|
|
62
|
+
const visiblePosition = editor.getScrolledVisiblePosition(position);
|
|
63
|
+
const editorDomNode = editor.getDomNode();
|
|
64
|
+
setDropdownPosition(calculateDropdownPosition(visiblePosition, editorDomNode, 150));
|
|
65
|
+
setShowDropdown(true);
|
|
66
|
+
} else {
|
|
67
|
+
setShowDropdown(false);
|
|
68
|
+
varRef.current = null;
|
|
69
|
+
filterVarRef.current = null;
|
|
70
|
+
}
|
|
47
71
|
});
|
|
48
72
|
editor.onMouseDown(() => {
|
|
49
|
-
|
|
73
|
+
setTimeout(() => {
|
|
74
|
+
const editor = editorRef.current;
|
|
75
|
+
if (!editor) return;
|
|
76
|
+
const position = editor.getPosition();
|
|
77
|
+
const model = editor.getModel();
|
|
78
|
+
if (!position || !model) return;
|
|
79
|
+
const currentLineContent = model.getLineContent(position.lineNumber);
|
|
80
|
+
const columnIndex = position.column - 2;
|
|
81
|
+
if (currentLineContent[columnIndex] === '$') {
|
|
82
|
+
varRef.current = columnIndex;
|
|
83
|
+
filterVarRef.current = '';
|
|
84
|
+
setShowDropdown(true);
|
|
85
|
+
} else {
|
|
86
|
+
setShowDropdown(false);
|
|
87
|
+
varRef.current = null;
|
|
88
|
+
filterVarRef.current = null;
|
|
89
|
+
}
|
|
90
|
+
}, 0);
|
|
50
91
|
});
|
|
51
92
|
// Track selection changes (user highlighting text)
|
|
52
93
|
editor.onDidChangeCursorSelection(() => {
|
|
@@ -84,30 +125,7 @@ const Editor = /*#__PURE__*/forwardRef(({
|
|
|
84
125
|
}
|
|
85
126
|
const visiblePosition = editor.getScrolledVisiblePosition(position);
|
|
86
127
|
const editorDomNode = editor.getDomNode();
|
|
87
|
-
|
|
88
|
-
const {
|
|
89
|
-
top,
|
|
90
|
-
left
|
|
91
|
-
} = visiblePosition;
|
|
92
|
-
const editorRect = editorDomNode.getBoundingClientRect();
|
|
93
|
-
const editorHeight = editorDomNode.clientHeight;
|
|
94
|
-
const dropdownHeight = 150;
|
|
95
|
-
let dropdownTop = top;
|
|
96
|
-
let dropdownLeft = left;
|
|
97
|
-
if (dropdownTop + dropdownHeight > editorHeight - dropdownHeight + 130) {
|
|
98
|
-
dropdownTop -= Math.floor(dropdownHeight / 2) + dropdownHeight - 35;
|
|
99
|
-
} else {
|
|
100
|
-
dropdownTop -= 10;
|
|
101
|
-
}
|
|
102
|
-
if (left > editorRect.width * 0.6) {
|
|
103
|
-
dropdownLeft -= dropdownHeight + 50;
|
|
104
|
-
} else if (left < editorRect.width * 0.5 + dropdownHeight) {
|
|
105
|
-
dropdownLeft = dropdownLeft - 42;
|
|
106
|
-
}
|
|
107
|
-
setDropdownPosition({
|
|
108
|
-
top: dropdownTop,
|
|
109
|
-
left: dropdownLeft
|
|
110
|
-
});
|
|
128
|
+
setDropdownPosition(calculateDropdownPosition(visiblePosition, editorDomNode, 150));
|
|
111
129
|
setShowDropdown(true);
|
|
112
130
|
} else {
|
|
113
131
|
setShowDropdown(false);
|
|
@@ -169,6 +187,31 @@ const Editor = /*#__PURE__*/forwardRef(({
|
|
|
169
187
|
}
|
|
170
188
|
});
|
|
171
189
|
};
|
|
190
|
+
useEffect(() => {
|
|
191
|
+
const editor = editorRef.current;
|
|
192
|
+
if (!editor) return;
|
|
193
|
+
const handleEditorBlur = () => {
|
|
194
|
+
setShowDropdown(false);
|
|
195
|
+
varRef.current = null;
|
|
196
|
+
filterVarRef.current = null;
|
|
197
|
+
decorationsRef.current = [];
|
|
198
|
+
setCurrentLine(0);
|
|
199
|
+
};
|
|
200
|
+
const blurDisposable = editor.onDidBlurEditorWidget(handleEditorBlur);
|
|
201
|
+
const handleDocumentClick = event => {
|
|
202
|
+
const editorDomNode = editor.getDomNode();
|
|
203
|
+
const clickedInsideEditor = editorDomNode && editorDomNode.contains(event.target);
|
|
204
|
+
if (!clickedInsideEditor || clickedInsideEditor && !event.target.closest('.view-line, .monaco-editor-textarea')) {
|
|
205
|
+
const textarea = editorDomNode?.querySelector('textarea');
|
|
206
|
+
if (textarea) textarea.blur();
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
document.addEventListener('mousedown', handleDocumentClick);
|
|
210
|
+
return () => {
|
|
211
|
+
blurDisposable.dispose();
|
|
212
|
+
document.removeEventListener('mousedown', handleDocumentClick);
|
|
213
|
+
};
|
|
214
|
+
}, [showDropdown]);
|
|
172
215
|
useEffect(() => {
|
|
173
216
|
const editor = editorRef.current;
|
|
174
217
|
if (!editor || !currentLine) return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Editor.js","sources":["../../../src/components/Editor/Editor.tsx"],"sourcesContent":[null],"names":["Editor","forwardRef","width","height","VariableDropdownHeight","readOnly","value","handleChange","setValue","variableOptionsList","addForloopPrefix","language","theme","isRequisiteType","onPaste","showVariableDropdown","defaultValue","customOptions","editorVariableZindex","ref","editorRef","useRef","decorationsRef","varRef","filterVarRef","currentLine","setCurrentLine","useState","isTextSelected","setIsTextSelected","showDropdown","setShowDropdown","dropdownPosition","setDropdownPosition","top","left","filteredVariableOptions","setFilteredVariableOptions","variableOptionsRef","useEffect","current","handleEditorDidMount","editor","monaco","onDidChangeCursorPosition","e","position","lineNumber","onMouseDown","onDidChangeCursorSelection","selections","getSelections","hasSelection","some","sel","startLineNumber","endLineNumber","startColumn","endColumn","onDidChangeModelContent","content","getValue","getPosition","model","getModel","currentLineContent","getLineContent","columnIndex","column","slice","filteredVariable","filter","variableName","type","name","toLowerCase","includes","length","visiblePosition","getScrolledVisiblePosition","editorDomNode","getDomNode","editorRect","getBoundingClientRect","editorHeight","clientHeight","dropdownHeight","dropdownTop","dropdownLeft","Math","floor","onDidPaste","pastedText","beautifiedText","beautifyContent","languages","registerCompletionItemProvider","triggerCharacters","provideCompletionItems","textUntilPosition","getValueInRange","wordRange","getWordAtPosition","range","Range","suggestions","endsWith","push","label","kind","CompletionItemKind","Method","insertText","insertTextRules","CompletionItemInsertTextRule","InsertAsSnippet","detail","decorations","lineNumberDecorations","options","isWholeLine","className","linesDecorationsClassName","deltaDecorations","handleSelectSuggestion","suggestion","val","currentPostion","executeEdits","text","forceMoveMarkers","handleSelectVariable","option","textToInsert","dpName","varname","parentVariableType","_id","beautifyJS","indent_size","indent_char","max_preserve_newlines","preserve_newlines","keep_array_indentation","break_chained_methods","brace_style","space_before_conditional","unescape_strings","jslint_happy","end_with_newline","wrap_line_length","comma_first","e4x","indent_empty_lines","beautifyHTML","useImperativeHandle","getEditorInstance","beautify","getLanguageId","beautifiedContent","_jsxs","style","_jsx","MonacoEditor","lineNumbers","wordWrap","autoClosingBrackets","scrollBeyondLastLine","onMount","onChange","newValue","event","VariableDropdown","optionsList","onSelectVariable","zIndex"],"mappings":";;;;;;AAcA,MAAMA,MAAM,gBAAGC,UAAU,CACvB,CACE;AACEC,EAAAA,KAAK,GAAG,MAAM;AACdC,EAAAA,MAAM,GAAG,MAAM;AACfC,EAAAA,sBAAsB,GAAG,OAAO;AAChCC,EAAAA,QAAQ,GAAG,KAAK;AAChBC,EAAAA,KAAK,GAAG,EAAE;EACVC,YAAY;EACZC,QAAQ;AACRC,EAAAA,mBAAmB,GAAG,EAAE;AACxBC,EAAAA,gBAAgB,GAAG,KAAK;AACxBC,EAAAA,QAAQ,GAAG,MAAM;AACjBC,EAAAA,KAAK,GAAG,OAAO;AACfC,EAAAA,eAAe,GAAG,KAAK;EACvBC,OAAO;AACPC,EAAAA,oBAAoB,GAAG,IAAI;EAC3BC,YAAY;EACZC,aAAa,GAAG,EAAE;AAClBC,EAAAA,oBAAoB,GAAG;AAAK,CAC7B,EACDC,GAAG,KACD;AACF,EAAA,MAAMC,SAAS,GAAGC,MAAM,CAAgC,IAAI,CAAC;AAC7D,EAAA,MAAMC,cAAc,GAAGD,MAAM,CAAW,EAAE,CAAC;AAC3C,EAAA,MAAME,MAAM,GAAGF,MAAM,CAAgB,IAAI,CAAC;AAC1C,EAAA,MAAMG,YAAY,GAAGH,MAAM,CAAgB,IAAI,CAAC;EAChD,MAAM,CAACI,WAAW,EAAEC,cAAc,CAAC,GAAGC,QAAQ,CAAS,CAAC,CAAC;EACzD,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAGF,QAAQ,CAAC,KAAK,CAAC;EAC3D,MAAM,CAACG,YAAY,EAAEC,eAAe,CAAC,GAAGJ,QAAQ,CAAU,KAAK,CAAC;AAChE,EAAA,MAAM,CAACK,gBAAgB,EAAEC,mBAAmB,CAAC,GAC3CN,QAAQ,CAAuB;AAAEO,IAAAA,GAAG,EAAE,CAAC;AAAEC,IAAAA,IAAI,EAAE;AAAC,GAAE,CAAC;EACrD,MAAM,CAACC,uBAAuB,EAAEC,0BAA0B,CAAC,GAAGV,QAAQ,CAEpE,EAAE,CAAC;AAEL,EAAA,MAAMW,kBAAkB,GAAGjB,MAAM,CAAgBZ,mBAAmB,CAAC;AAErE8B,EAAAA,SAAS,CAAC,MAAK;IACbD,kBAAkB,CAACE,OAAO,GAAG/B,mBAAmB;AAClD,EAAA,CAAC,EAAE,CAACA,mBAAmB,CAAC,CAAC;AAEzB,EAAA,MAAMgC,oBAAoB,GAAYA,CAACC,MAAW,EAAEC,MAAM,KAAI;IAC5DvB,SAAS,CAACoB,OAAO,GAAGE,MAAM;AAE1B;AACAA,IAAAA,MAAM,CAACE,yBAAyB,CAAEC,CAAM,IAAI;AAC1CnB,MAAAA,cAAc,CAACmB,CAAC,CAACC,QAAQ,CAACC,UAAU,CAAC;AACvC,IAAA,CAAC,CAAC;IAEFL,MAAM,CAACM,WAAW,CAAC,MAAK;MACtBjB,eAAe,CAAC,KAAK,CAAC;AACxB,IAAA,CAAC,CAAC;AAEF;IACAW,MAAM,CAACO,0BAA0B,CAAC,MAAK;MACrC,MAAMC,UAAU,GAAGR,MAAM,CAACS,aAAa,IAAI,IAAI,EAAE;MACjD,MAAMC,YAAY,GAAGF,UAAU,CAACG,IAAI,CACjCC,GAAe,IACdA,GAAG,CAACC,eAAe,KAAKD,GAAG,CAACE,aAAa,IACzCF,GAAG,CAACG,WAAW,KAAKH,GAAG,CAACI,SAAS,CACpC;MACD7B,iBAAiB,CAACuB,YAAY,CAAC;AACjC,IAAA,CAAC,CAAC;AAEF;IACAV,MAAM,CAACiB,uBAAuB,CAAC,MAAK;AAClC,MAAA,MAAMC,OAAO,GAAGlB,MAAM,CAACmB,QAAQ,EAAE;MACjCrD,QAAQ,CAACoD,OAAO,CAAC;AACjB,MAAA,MAAMd,QAAQ,GAAGJ,MAAM,CAACoB,WAAW,EAAE;AACrC,MAAA,MAAMC,KAAK,GAAGrB,MAAM,CAACsB,QAAQ,EAAE;AAC/B,MAAA,IAAI,CAAClB,QAAQ,IAAI,CAACiB,KAAK,EAAE;MAEzB,MAAME,kBAAkB,GAAGF,KAAK,CAACG,cAAc,CAACpB,QAAQ,CAACC,UAAU,CAAC;AACpE,MAAA,MAAMoB,WAAW,GAAGrB,QAAQ,CAACsB,MAAM,GAAG,CAAC;MACvC,IAAIH,kBAAkB,CAAC1C,MAAM,CAACiB,OAAO,IAAI2B,WAAW,CAAC,KAAK,GAAG,EAAE;AAC7D,QAAA,IAAI5C,MAAM,CAACiB,OAAO,KAAK,IAAI,EAAE;UAC3BjB,MAAM,CAACiB,OAAO,GAAG2B,WAAW;AAC9B,QAAA;AACA3C,QAAAA,YAAY,CAACgB,OAAO,GAAGyB,kBAAkB,CAACI,KAAK,CAC7C9C,MAAM,CAACiB,OAAO,GAAG,CAAC,EAClB2B,WAAW,CACZ;QACD,MAAMG,gBAAgB,GAAGhC,kBAAkB,CAACE,OAAO,CAAC+B,MAAM,CAAE1B,CAAC,IAAI;AAC/D,UAAA,MAAM2B,YAAY,GAChB3B,CAAC,CAAC4B,IAAI,KAAK,eAAe,IAAI/D,gBAAgB,GAC1C,CAAA,QAAA,EAAWmC,CAAC,CAAC6B,IAAI,EAAE,GACnB7B,CAAC,CAAC6B,IAAI;AACZ,UAAA,OAAOF,YAAY,CAChBG,WAAW,EAAE,CACbC,QAAQ,CAACpD,YAAY,CAACgB,OAAO,EAAEmC,WAAW,EAAE,CAAC;AAClD,QAAA,CAAC,CAAC;QACF,IAAIL,gBAAgB,CAACO,MAAM,EAAE;UAC3BxC,0BAA0B,CAACiC,gBAAgB,CAAC;AAC9C,QAAA,CAAC,MAAM;UACLjC,0BAA0B,CAAC,EAAE,CAAC;AAC9B,UAAA,IACEd,MAAM,EAAEiB,OAAO,KAAK2B,WAAW,IAC/BF,kBAAkB,CAACE,WAAW,CAAC,KAAK,GAAG,EACvC;YACA5C,MAAM,CAACiB,OAAO,GAAG,IAAI;YACrBhB,YAAY,CAACgB,OAAO,GAAG,IAAI;YAC3BT,eAAe,CAAC,KAAK,CAAC;AACxB,UAAA;AACF,QAAA;AAEA,QAAA,MAAM+C,eAAe,GAAGpC,MAAM,CAACqC,0BAA0B,CAACjC,QAAQ,CAAC;AACnE,QAAA,MAAMkC,aAAa,GAAGtC,MAAM,CAACuC,UAAU,EAAE;AACzC,QAAA,IAAI,CAACH,eAAe,IAAI,CAACE,aAAa,EAAE;QAExC,MAAM;UAAE9C,GAAG;AAAEC,UAAAA;AAAI,SAAE,GAAG2C,eAAe;AACrC,QAAA,MAAMI,UAAU,GAAGF,aAAa,CAACG,qBAAqB,EAAE;AACxD,QAAA,MAAMC,YAAY,GAAGJ,aAAa,CAACK,YAAY;QAC/C,MAAMC,cAAc,GAAG,GAAG;QAE1B,IAAIC,WAAW,GAAGrD,GAAG;QACrB,IAAIsD,YAAY,GAAGrD,IAAI;QAEvB,IACEoD,WAAW,GAAGD,cAAc,GAC5BF,YAAY,GAAGE,cAAc,GAAG,GAAG,EACnC;AACAC,UAAAA,WAAW,IAAIE,IAAI,CAACC,KAAK,CAACJ,cAAc,GAAG,CAAC,CAAC,GAAGA,cAAc,GAAG,EAAE;AACrE,QAAA,CAAC,MAAM;AACLC,UAAAA,WAAW,IAAI,EAAE;AACnB,QAAA;AAEA,QAAA,IAAIpD,IAAI,GAAG+C,UAAU,CAAChF,KAAK,GAAG,GAAG,EAAE;UACjCsF,YAAY,IAAIF,cAAc,GAAG,EAAE;QACrC,CAAC,MAAM,IAAInD,IAAI,GAAG+C,UAAU,CAAChF,KAAK,GAAG,GAAG,GAAGoF,cAAc,EAAE;UACzDE,YAAY,GAAGA,YAAY,GAAG,EAAE;AAClC,QAAA;AACAvD,QAAAA,mBAAmB,CAAC;AAAEC,UAAAA,GAAG,EAAEqD,WAAW;AAAEpD,UAAAA,IAAI,EAAEqD;AAAY,SAAE,CAAC;QAC7DzD,eAAe,CAAC,IAAI,CAAC;AACvB,MAAA,CAAC,MAAM;QACLA,eAAe,CAAC,KAAK,CAAC;QACtBR,MAAM,CAACiB,OAAO,GAAG,IAAI;QACrBhB,YAAY,CAACgB,OAAO,GAAG,IAAI;AAC7B,MAAA;AACF,IAAA,CAAC,CAAC;AAEF;IACAE,MAAM,CAACiD,UAAU,CAAC,MAAK;AACrB,MAAA,MAAMC,UAAU,GAAGlD,MAAM,CAACmB,QAAQ,EAAE;AAEpC,MAAA,IAAI+B,UAAU,EAAE;AACd,QAAA,MAAMC,cAAc,GAAGC,eAAe,CAACF,UAAU,EAAEjF,QAAQ,CAAC;AAC5D+B,QAAAA,MAAM,CAAClC,QAAQ,CAACqF,cAAc,CAAC;AAC/B,QAAA,IAAI/E,OAAO,EAAE;UACXA,OAAO,CAAC+E,cAAc,CAAC;AACzB,QAAA;AACF,MAAA;AACF,IAAA,CAAC,CAAC;AAEFlD,IAAAA,MAAM,CAACoD,SAAS,CAACC,8BAA8B,CAACrF,QAAQ,EAAE;MACxDsF,iBAAiB,EAAE,CAAC,GAAG,CAAC;AACxBC,MAAAA,sBAAsB,EAAEA,CAACnC,KAAK,EAAEjB,QAAQ,KAAI;AAC1C,QAAA,MAAMqD,iBAAiB,GAAGpC,KAAK,CAACqC,eAAe,CAAC;UAC9C7C,eAAe,EAAET,QAAQ,CAACC,UAAU;AACpCU,UAAAA,WAAW,EAAE,CAAC;UACdD,aAAa,EAAEV,QAAQ,CAACC,UAAU;UAClCW,SAAS,EAAEZ,QAAQ,CAACsB;AACrB,SAAA,CAAC;AAEF,QAAA,MAAMiC,SAAS,GAAGtC,KAAK,CAACuC,iBAAiB,CAACxD,QAAQ,CAAC;QACnD,MAAMyD,KAAK,GAAGF,SAAS,GACnB,IAAI1D,MAAM,CAAC6D,KAAK,CACd1D,QAAQ,CAACC,UAAU,EACnBsD,SAAS,CAAC5C,WAAW,EACrBX,QAAQ,CAACC,UAAU,EACnBsD,SAAS,CAAC3C,SAAS,CACpB,GACD,IAAIf,MAAM,CAAC6D,KAAK,CACd1D,QAAQ,CAACC,UAAU,EACnBD,QAAQ,CAACsB,MAAM,EACftB,QAAQ,CAACC,UAAU,EACnBD,QAAQ,CAACsB,MAAM,CAChB;QAEL,MAAMqC,WAAW,GAAG,EAAE;AAEtB,QAAA,IAAIN,iBAAiB,CAACO,QAAQ,CAAC,KAAK,CAAC,EAAE;UACrCD,WAAW,CAACE,IAAI,CACd;AACEC,YAAAA,KAAK,EAAE,aAAa;AACpBC,YAAAA,IAAI,EAAElE,MAAM,CAACoD,SAAS,CAACe,kBAAkB,CAACC,MAAM;AAChDC,YAAAA,UAAU,EAAE,gCAAgC;AAC5CC,YAAAA,eAAe,EACbtE,MAAM,CAACoD,SAAS,CAACmB,4BAA4B,CAACC,eAAe;AAC/DC,YAAAA,MAAM,EAAE,sBAAsB;AAC9Bb,YAAAA;WACD,EACD;AACEK,YAAAA,KAAK,EAAE,aAAa;AACpBC,YAAAA,IAAI,EAAElE,MAAM,CAACoD,SAAS,CAACe,kBAAkB,CAACC,MAAM;AAChDC,YAAAA,UAAU,EAAE,4CAA4C;AACxDC,YAAAA,eAAe,EACbtE,MAAM,CAACoD,SAAS,CAACmB,4BAA4B,CAACC,eAAe;AAC/DC,YAAAA,MAAM,EAAE,sBAAsB;AAC9Bb,YAAAA;WACD,EACD;AACEK,YAAAA,KAAK,EAAE,aAAa;AACpBC,YAAAA,IAAI,EAAElE,MAAM,CAACoD,SAAS,CAACe,kBAAkB,CAACC,MAAM;AAChDC,YAAAA,UAAU,EACR,wQAAwQ;AAC1QC,YAAAA,eAAe,EACbtE,MAAM,CAACoD,SAAS,CAACmB,4BAA4B,CAACC,eAAe;AAC/DC,YAAAA,MAAM,EAAE,yBAAyB;AACjCb,YAAAA;AACD,WAAA,CACF;AACH,QAAA;AAEA;QAEA,OAAO;AAAEE,UAAAA;SAAa;AACxB,MAAA;AACD,KAAA,CAAC;EACJ,CAAC;AAEDlE,EAAAA,SAAS,CAAC,MAAK;AACb,IAAA,MAAMG,MAAM,GAAGtB,SAAS,CAACoB,OAAO;AAChC,IAAA,IAAI,CAACE,MAAM,IAAI,CAACjB,WAAW,EAAE;IAE7B,MAAM4F,WAAW,GAAG,EAAE;IACtB,MAAMC,qBAAqB,GAAG,EAAE;AAEhC;IACA,IAAI,CAAC1F,cAAc,EAAE;MACnByF,WAAW,CAACV,IAAI,CAAC;AACfJ,QAAAA,KAAK,EAAE;AACLhD,UAAAA,eAAe,EAAE9B,WAAW;AAC5BgC,UAAAA,WAAW,EAAE,CAAC;AACdD,UAAAA,aAAa,EAAE/B,WAAW;AAC1BiC,UAAAA,SAAS,EAAE;SACZ;AACD6D,QAAAA,OAAO,EAAE;AACPC,UAAAA,WAAW,EAAE,IAAI;AACjBC,UAAAA,SAAS,EAAE;AACZ;AACF,OAAA,CAAC;AACJ,IAAA;IAEAH,qBAAqB,CAACX,IAAI,CAAC;AACzBJ,MAAAA,KAAK,EAAE;AACLhD,QAAAA,eAAe,EAAE9B,WAAW;AAC5BgC,QAAAA,WAAW,EAAE,CAAC;AACdD,QAAAA,aAAa,EAAE/B,WAAW;AAC1BiC,QAAAA,SAAS,EAAE;OACZ;AACD6D,MAAAA,OAAO,EAAE;AACPC,QAAAA,WAAW,EAAE,KAAK;AAClBE,QAAAA,yBAAyB,EAAE;AAC5B;AACF,KAAA,CAAC;AAEFpG,IAAAA,cAAc,CAACkB,OAAO,GAAGE,MAAM,CAACiF,gBAAgB,CAACrG,cAAc,CAACkB,OAAO,EAAE,CACvE,GAAG6E,WAAW,EACd,GAAGC,qBAAqB,CACzB,CAAC;AACJ,EAAA,CAAC,EAAE,CAAC7F,WAAW,EAAEG,cAAc,CAAC,CAAC;AAEjC,EAAA,MAAMgG,sBAAsB,GAAGA,CAACC,UAAkB,EAAEpD,IAAY,KAAI;IAClE,IAAIrD,SAAS,CAACoB,OAAO,EAAE;AACrB,MAAA,MAAME,MAAM,GAAGtB,SAAS,CAACoB,OAAO;AAChC,MAAA,MAAMM,QAAQ,GAAGJ,MAAM,CAACoB,WAAW,EAAE;AACrC,MAAA,IAAIhB,QAAQ,EAAE;AACZ,QAAA,MAAMgF,GAAG,GAAG,CAAA,CAAA,EAAIrD,IAAI,GAAGA,IAAI,KAAK,UAAU,GAAG,EAAE,GAAG,GAAG,CAAA,EAAGoD,UAAU,CAAA,CAAA,CAAG;AACrE,QAAA,MAAME,cAAc,GAAGxG,MAAM,EAAEiB,OAAO,IAAI,CAAC;AAC3CE,QAAAA,MAAM,CAACsF,YAAY,CAAC,EAAE,EAAE,CACtB;AACEzB,UAAAA,KAAK,EAAE;YACLhD,eAAe,EAAET,QAAQ,CAACC,UAAU;YACpCU,WAAW,EAAEsE,cAAc,GAAG,CAAC;YAC/BvE,aAAa,EAAEV,QAAQ,CAACC,UAAU;AAClCW,YAAAA,SAAS,EAAEqE,cAAc,IAAIjF,QAAQ,CAACsB,MAAM,GAAG2D,cAAc;WAC9D;AACDE,UAAAA,IAAI,EAAEH,GAAG;AACTI,UAAAA,gBAAgB,EAAE;AACnB,SAAA,CACF,CAAC;QACF1G,YAAY,CAACgB,OAAO,GAAG,IAAI;QAC3BjB,MAAM,CAACiB,OAAO,GAAG,IAAI;QACrBT,eAAe,CAAC,KAAK,CAAC;AACxB,MAAA;AACF,IAAA;EACF,CAAC;EAED,MAAMoG,oBAAoB,GAAIC,MAAmB,IAAI;AACnD,IAAA,IAAIvH,eAAe,IAAIO,SAAS,CAACoB,OAAO,EAAE;AACxC,MAAA,MAAME,MAAM,GAAGtB,SAAS,CAACoB,OAAO;AAChC,MAAA,MAAMM,QAAQ,GAAGJ,MAAM,CAACoB,WAAW,EAAE;AACrC,MAAA,IAAIhB,QAAQ,EAAE;AACZ,QAAA,MAAMuF,YAAY,GAAG,CAAA,CAAA,EAAID,MAAM,CAAC1D,IAAI,CAAA,CAAA,CAAG;AACvC,QAAA,MAAMqD,cAAc,GAAGxG,MAAM,EAAEiB,OAAO,IAAI,CAAC;AAE3CE,QAAAA,MAAM,CAACsF,YAAY,CAAC,EAAE,EAAE,CACtB;AACEzB,UAAAA,KAAK,EAAE;YACLhD,eAAe,EAAET,QAAQ,CAACC,UAAU;YACpCU,WAAW,EAAEsE,cAAc,GAAG,CAAC;YAC/BvE,aAAa,EAAEV,QAAQ,CAACC,UAAU;AAClCW,YAAAA,SAAS,EAAEqE,cAAc,IAAIjF,QAAQ,CAACsB,MAAM,GAAG2D,cAAc;WAC9D;AACDE,UAAAA,IAAI,EAAEI,YAAY;AAClBH,UAAAA,gBAAgB,EAAE;AACnB,SAAA,CACF,CAAC;QACF1G,YAAY,CAACgB,OAAO,GAAG,IAAI;QAC3BjB,MAAM,CAACiB,OAAO,GAAG,IAAI;QACrBT,eAAe,CAAC,KAAK,CAAC;AACxB,MAAA;AACF,IAAA,CAAC,MAAM;AACL;AACA6F,MAAAA,sBAAsB,CACpBQ,MAAM,EAAE3D,IAAI,KAAK,cAAc,GAC3B2D,MAAM,EAAEE,MAAM,GAAG,GAAG,GAAGF,MAAM,EAAEG,OAAO,GACtCH,MAAM,EAAE1D,IAAI,EAChB0D,MAAM,CAACI,kBAAkB,KAAK,WAAW,GACrC,KAAK,GACLJ,MAAM,EAAE3D,IAAI,KAAK,QAAQ,GACzB,IAAI,GACJ2D,MAAM,EAAE3D,IAAI,KAAK,OAAO,GACxB,IAAI,GACJ2D,MAAM,EAAEK,GAAG,EAAE7D,QAAQ,CAAC,WAAW,CAAC,GAClC,KAAK,GACLwD,MAAM,EAAE3D,IAAI,KAAK,eAAe,GAChC,UAAU,GACV2D,MAAM,EAAE3D,IAAI,KAAK,cAAc,GAC/B,KAAK,GACL,KAAK,CACV;AACH,IAAA;EACF,CAAC;AAED,EAAA,MAAMqB,eAAe,GAAGA,CAAClC,OAAe,EAAEjD,QAAgB,KAAY;AACpE,IAAA,QAAQA,QAAQ;AACd,MAAA,KAAK,MAAM;QACT,OAAO+H,YAAU,CAAC9E,OAAO,EAAE;AACzB+E,UAAAA,WAAW,EAAE,CAAC;AACdC,UAAAA,WAAW,EAAE,GAAG;AAChBC,UAAAA,qBAAqB,EAAE,CAAC;AACxBC,UAAAA,iBAAiB,EAAE,IAAI;AACvBC,UAAAA,sBAAsB,EAAE,IAAI;AAC5BC,UAAAA,qBAAqB,EAAE,IAAI;AAC3BC,UAAAA,WAAW,EAAE,UAAU;AACvBC,UAAAA,wBAAwB,EAAE,IAAI;AAC9BC,UAAAA,gBAAgB,EAAE,IAAI;AACtBC,UAAAA,YAAY,EAAE,IAAI;AAClBC,UAAAA,gBAAgB,EAAE,IAAI;AACtBC,UAAAA,gBAAgB,EAAE,CAAC;AACnBC,UAAAA,WAAW,EAAE,KAAK;AAClBC,UAAAA,GAAG,EAAE,IAAI;AACTC,UAAAA,kBAAkB,EAAE;AACrB,SAAA,CAAC;AACJ,MAAA,KAAK,YAAY;QACf,OAAOf,YAAU,CAAC9E,OAAO,EAAE;AACzB+E,UAAAA,WAAW,EAAE,CAAC;AACdC,UAAAA,WAAW,EAAE,GAAG;AAChBC,UAAAA,qBAAqB,EAAE,CAAC;AACxBC,UAAAA,iBAAiB,EAAE,IAAI;AACvBC,UAAAA,sBAAsB,EAAE,IAAI;AAC5BC,UAAAA,qBAAqB,EAAE,IAAI;AAC3BC,UAAAA,WAAW,EAAE,UAAU;AACvBC,UAAAA,wBAAwB,EAAE,IAAI;AAC9BC,UAAAA,gBAAgB,EAAE,IAAI;AACtBC,UAAAA,YAAY,EAAE,IAAI;AAClBC,UAAAA,gBAAgB,EAAE,IAAI;AACtBC,UAAAA,gBAAgB,EAAE,CAAC;AACnBC,UAAAA,WAAW,EAAE,KAAK;AAClBC,UAAAA,GAAG,EAAE,IAAI;AACTC,UAAAA,kBAAkB,EAAE;AACrB,SAAA,CAAC;AACJ,MAAA,KAAK,MAAM;QACT,OAAOC,cAAY,CAAC9F,OAAO,EAAE;AAC3B+E,UAAAA,WAAW,EAAE,CAAC;AACdC,UAAAA,WAAW,EAAE,GAAG;AAChBC,UAAAA,qBAAqB,EAAE,CAAC;AACxBC,UAAAA,iBAAiB,EAAE,IAAI;AACvBO,UAAAA,gBAAgB,EAAE,IAAI;AACtBC,UAAAA,gBAAgB,EAAE,CAAC;AACnBG,UAAAA,kBAAkB,EAAE;AACrB,SAAA,CAAC;AACJ,MAAA,KAAK,KAAK;QACR,OAAOC,cAAY,CAAC9F,OAAO,EAAE;AAC3B+E,UAAAA,WAAW,EAAE,CAAC;AACdC,UAAAA,WAAW,EAAE,GAAG;AAChBC,UAAAA,qBAAqB,EAAE,CAAC;AACxBC,UAAAA,iBAAiB,EAAE,IAAI;AACvBO,UAAAA,gBAAgB,EAAE,IAAI;AACtBC,UAAAA,gBAAgB,EAAE,CAAC;AACnBG,UAAAA,kBAAkB,EAAE;AACrB,SAAA,CAAC;AACJ,MAAA,KAAK,YAAY;AACf,QAAA,OAAO7F,OAAO;AAChB,MAAA;AACE,QAAA,OAAOA,OAAO;AAClB;EACF,CAAC;AAED;EACA+F,mBAAmB,CAACxI,GAAG,EAAE,OAAO;AAC9ByI,IAAAA,iBAAiB,EAAEA,MAAMxI,SAAS,CAACoB,OAAO;IAC1CqH,QAAQ,EAAEA,MAAK;MACb,IAAIzI,SAAS,CAACoB,OAAO,EAAE;QACrB,MAAMoB,OAAO,GAAGxC,SAAS,CAACoB,OAAO,CAACqB,QAAQ,EAAE;AAC5C,QAAA,MAAMlD,QAAQ,GAAGS,SAAS,CAACoB,OAAO,CAACwB,QAAQ,EAAE,EAAE8F,aAAa,EAAE;QAC9D,MAAMC,iBAAiB,GAAGjE,eAAe,CACvClC,OAAO,EACPjD,QAAQ,IAAI,MAAM,CACnB;AACDS,QAAAA,SAAS,CAACoB,OAAO,CAAChC,QAAQ,CAACuJ,iBAAiB,CAAC;AAC/C,MAAA;AACF,IAAA;AACD,GAAA,CAAC,CAAC;EAEH,OACEC,IAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,KAAK,EAAE;MAAE/J,KAAK;AAAEC,MAAAA;KAAQ;AAAEsH,IAAAA,SAAS,EAAC,qBAAqB;eAC5DyC,GAAA,CAACC,EAAY;AACXnJ,MAAAA,YAAY,EAAEA,YAAY;AAC1Bb,MAAAA,MAAM,EAAEA,MAAM;AACdD,MAAAA,KAAK,EAAEA,KAAK;AACZS,MAAAA,QAAQ,EAAEA,QAAQ;AAClBL,MAAAA,KAAK,EAAEA,KAAK;AACZiH,MAAAA,OAAO,EAAE;AACP6C,QAAAA,WAAW,EAAE,IAAI;AACjBC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,mBAAmB,EAAE,QAAQ;AAC7BC,QAAAA,oBAAoB,EAAE,KAAK;QAC3BlK,QAAQ;QACR,GAAGY;OACJ;AACDuJ,MAAAA,OAAO,EAAE/H,oBAAoB;MAC7BgI,QAAQ,EAAEA,CAACC,QAAQ,EAAEC,KAAK,KAAKpK,YAAY,CAACmK,QAAQ,EAAEC,KAAK,CAAC;AAC5D/J,MAAAA,KAAK,EAAEA;KAAK,CACZ,EACDkB,YAAY,IAAIE,gBAAgB,IAAIjB,oBAAoB,IACvDmJ,GAAA,CAACU,gBAAgB,EAAA;AACf9H,MAAAA,QAAQ,EAAC,UAAU;AACnB5C,MAAAA,KAAK,EAAC,OAAO;AACbC,MAAAA,MAAM,EAAEC,sBAAsB;AAC9ByK,MAAAA,WAAW,EAAEzI,uBAAuB;AACpC0I,MAAAA,gBAAgB,EAAE3C,oBAAoB;AACtCnG,MAAAA,gBAAgB,EAAEA,gBAAgB;AAClC+I,MAAAA,MAAM,EAAE7J;AAAoB,KAAA,CAE/B;AAAA,GAAA,CACG;AAEV,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"Editor.js","sources":["../../../src/components/Editor/Editor.tsx"],"sourcesContent":[null],"names":["Editor","forwardRef","width","height","VariableDropdownHeight","readOnly","value","handleChange","setValue","variableOptionsList","addForloopPrefix","language","theme","isRequisiteType","onPaste","showVariableDropdown","defaultValue","customOptions","editorVariableZindex","ref","editorRef","useRef","decorationsRef","varRef","filterVarRef","currentLine","setCurrentLine","useState","isTextSelected","setIsTextSelected","showDropdown","setShowDropdown","dropdownPosition","setDropdownPosition","top","left","filteredVariableOptions","setFilteredVariableOptions","variableOptionsRef","useEffect","current","handleEditorDidMount","editor","monaco","onDidChangeCursorPosition","e","position","lineNumber","getPosition","model","getModel","currentLineContent","getLineContent","col","column","dollarIndex","lastIndexOf","test","slice","filterVal","toLowerCase","filteredVariable","filter","variableName","type","name","includes","visiblePosition","getScrolledVisiblePosition","editorDomNode","getDomNode","calculateDropdownPosition","onMouseDown","setTimeout","columnIndex","onDidChangeCursorSelection","selections","getSelections","hasSelection","some","sel","startLineNumber","endLineNumber","startColumn","endColumn","onDidChangeModelContent","content","getValue","length","onDidPaste","pastedText","beautifiedText","beautifyContent","languages","registerCompletionItemProvider","triggerCharacters","provideCompletionItems","textUntilPosition","getValueInRange","wordRange","getWordAtPosition","range","Range","suggestions","endsWith","push","label","kind","CompletionItemKind","Method","insertText","insertTextRules","CompletionItemInsertTextRule","InsertAsSnippet","detail","handleEditorBlur","blurDisposable","onDidBlurEditorWidget","handleDocumentClick","event","clickedInsideEditor","contains","target","closest","textarea","querySelector","blur","document","addEventListener","dispose","removeEventListener","decorations","lineNumberDecorations","options","isWholeLine","className","linesDecorationsClassName","deltaDecorations","handleSelectSuggestion","suggestion","val","currentPostion","executeEdits","text","forceMoveMarkers","handleSelectVariable","option","textToInsert","dpName","varname","parentVariableType","_id","beautifyJS","indent_size","indent_char","max_preserve_newlines","preserve_newlines","keep_array_indentation","break_chained_methods","brace_style","space_before_conditional","unescape_strings","jslint_happy","end_with_newline","wrap_line_length","comma_first","e4x","indent_empty_lines","beautifyHTML","useImperativeHandle","getEditorInstance","beautify","getLanguageId","beautifiedContent","_jsxs","style","_jsx","MonacoEditor","lineNumbers","wordWrap","autoClosingBrackets","scrollBeyondLastLine","onMount","onChange","newValue","VariableDropdown","optionsList","onSelectVariable","zIndex"],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
const calculateDropdownPosition = (visiblePosition, editorDomNode, dropdownHeight = 150) => {
|
|
2
|
+
if (!visiblePosition || !editorDomNode) return {
|
|
3
|
+
top: 0,
|
|
4
|
+
left: 0
|
|
5
|
+
};
|
|
6
|
+
const {
|
|
7
|
+
top,
|
|
8
|
+
left
|
|
9
|
+
} = visiblePosition;
|
|
10
|
+
const editorRect = editorDomNode.getBoundingClientRect();
|
|
11
|
+
const editorHeight = editorDomNode.clientHeight;
|
|
12
|
+
let dropdownTop = top;
|
|
13
|
+
let dropdownLeft = left;
|
|
14
|
+
if (dropdownTop + dropdownHeight > editorHeight - dropdownHeight + 130) {
|
|
15
|
+
dropdownTop -= Math.floor(dropdownHeight / 2) + dropdownHeight - 35;
|
|
16
|
+
} else {
|
|
17
|
+
dropdownTop -= 10;
|
|
18
|
+
}
|
|
19
|
+
if (left > editorRect.width * 0.6) {
|
|
20
|
+
dropdownLeft -= dropdownHeight + 50;
|
|
21
|
+
} else if (left < editorRect.width * 0.5 + dropdownHeight) {
|
|
22
|
+
dropdownLeft = dropdownLeft - 42;
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
top: dropdownTop,
|
|
26
|
+
left: dropdownLeft
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export { calculateDropdownPosition };
|
|
31
|
+
//# sourceMappingURL=calculateDropdownPosition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculateDropdownPosition.js","sources":["../../../src/components/Editor/calculateDropdownPosition.ts"],"sourcesContent":[null],"names":["calculateDropdownPosition","visiblePosition","editorDomNode","dropdownHeight","top","left","editorRect","getBoundingClientRect","editorHeight","clientHeight","dropdownTop","dropdownLeft","Math","floor","width"],"mappings":"AAAO,MAAMA,yBAAyB,GAAGA,CACvCC,eAAqD,EACrDC,aAAiC,EACjCC,cAAA,GAAyB,GAAG,KACK;AACjC,EAAA,IAAI,CAACF,eAAe,IAAI,CAACC,aAAa,EAAE,OAAO;AAAEE,IAAAA,GAAG,EAAE,CAAC;AAAEC,IAAAA,IAAI,EAAE;GAAG;EAClE,MAAM;IAAED,GAAG;AAAEC,IAAAA;AAAI,GAAE,GAAGJ,eAAe;AACrC,EAAA,MAAMK,UAAU,GAAGJ,aAAa,CAACK,qBAAqB,EAAE;AACxD,EAAA,MAAMC,YAAY,GAAGN,aAAa,CAACO,YAAY;EAE/C,IAAIC,WAAW,GAAGN,GAAG;EACrB,IAAIO,YAAY,GAAGN,IAAI;EAEvB,IAAIK,WAAW,GAAGP,cAAc,GAAGK,YAAY,GAAGL,cAAc,GAAG,GAAG,EAAE;AACtEO,IAAAA,WAAW,IAAIE,IAAI,CAACC,KAAK,CAACV,cAAc,GAAG,CAAC,CAAC,GAAGA,cAAc,GAAG,EAAE;AACrE,EAAA,CAAC,MAAM;AACLO,IAAAA,WAAW,IAAI,EAAE;AACnB,EAAA;AAEA,EAAA,IAAIL,IAAI,GAAGC,UAAU,CAACQ,KAAK,GAAG,GAAG,EAAE;IACjCH,YAAY,IAAIR,cAAc,GAAG,EAAE;EACrC,CAAC,MAAM,IAAIE,IAAI,GAAGC,UAAU,CAACQ,KAAK,GAAG,GAAG,GAAGX,cAAc,EAAE;IACzDQ,YAAY,GAAGA,YAAY,GAAG,EAAE;AAClC,EAAA;EAEA,OAAO;AAAEP,IAAAA,GAAG,EAAEM,WAAW;AAAEL,IAAAA,IAAI,EAAEM;GAAc;AACjD;;;;"}
|
package/lib/index.cjs
CHANGED
|
@@ -3687,6 +3687,11 @@ const ALPHANUMERIC_WITH_DOT_REGEX = /^[A-Za-z0-9. ]+$/;
|
|
|
3687
3687
|
const EXCEL_SPACING_REGEX = /[\n\t"]/;
|
|
3688
3688
|
//Alphabet validation along with spaces
|
|
3689
3689
|
const ALPHABET_WITH_SPACES_ONLY_REGEX = /^[a-zA-Z ]*$/;
|
|
3690
|
+
// TestData file name validation
|
|
3691
|
+
// Allows letters, digits, spaces and these special chars:
|
|
3692
|
+
// ( ) , _ ; @ ! $ % ^ & { } " ' . -
|
|
3693
|
+
// Disallows: / \ : * < > ? [ ] |
|
|
3694
|
+
const FILENAME_VALIDATION_REGEX = /^(?![.\s])(?!.*[\/\\:\*<>\?\[\]\|])(?!.*[ .]$)[A-Za-z0-9\s(),_;@!\$%\^&\{\}"'\.-]+$/;
|
|
3690
3695
|
|
|
3691
3696
|
const Dropdown$2 = /*#__PURE__*/React.forwardRef(({
|
|
3692
3697
|
options,
|
|
@@ -59864,6 +59869,35 @@ function requireJs() {
|
|
|
59864
59869
|
|
|
59865
59870
|
var jsExports = requireJs();
|
|
59866
59871
|
|
|
59872
|
+
const calculateDropdownPosition = (visiblePosition, editorDomNode, dropdownHeight = 150) => {
|
|
59873
|
+
if (!visiblePosition || !editorDomNode) return {
|
|
59874
|
+
top: 0,
|
|
59875
|
+
left: 0
|
|
59876
|
+
};
|
|
59877
|
+
const {
|
|
59878
|
+
top,
|
|
59879
|
+
left
|
|
59880
|
+
} = visiblePosition;
|
|
59881
|
+
const editorRect = editorDomNode.getBoundingClientRect();
|
|
59882
|
+
const editorHeight = editorDomNode.clientHeight;
|
|
59883
|
+
let dropdownTop = top;
|
|
59884
|
+
let dropdownLeft = left;
|
|
59885
|
+
if (dropdownTop + dropdownHeight > editorHeight - dropdownHeight + 130) {
|
|
59886
|
+
dropdownTop -= Math.floor(dropdownHeight / 2) + dropdownHeight - 35;
|
|
59887
|
+
} else {
|
|
59888
|
+
dropdownTop -= 10;
|
|
59889
|
+
}
|
|
59890
|
+
if (left > editorRect.width * 0.6) {
|
|
59891
|
+
dropdownLeft -= dropdownHeight + 50;
|
|
59892
|
+
} else if (left < editorRect.width * 0.5 + dropdownHeight) {
|
|
59893
|
+
dropdownLeft = dropdownLeft - 42;
|
|
59894
|
+
}
|
|
59895
|
+
return {
|
|
59896
|
+
top: dropdownTop,
|
|
59897
|
+
left: dropdownLeft
|
|
59898
|
+
};
|
|
59899
|
+
};
|
|
59900
|
+
|
|
59867
59901
|
const Editor = /*#__PURE__*/React.forwardRef(({
|
|
59868
59902
|
width = '100%',
|
|
59869
59903
|
height = '100%',
|
|
@@ -59901,12 +59935,52 @@ const Editor = /*#__PURE__*/React.forwardRef(({
|
|
|
59901
59935
|
}, [variableOptionsList]);
|
|
59902
59936
|
const handleEditorDidMount = (editor, monaco) => {
|
|
59903
59937
|
editorRef.current = editor;
|
|
59904
|
-
// Track caret line
|
|
59905
59938
|
editor.onDidChangeCursorPosition(e => {
|
|
59906
59939
|
setCurrentLine(e.position.lineNumber);
|
|
59940
|
+
const position = editor.getPosition();
|
|
59941
|
+
const model = editor.getModel();
|
|
59942
|
+
if (!position || !model) return;
|
|
59943
|
+
const currentLineContent = model.getLineContent(position.lineNumber);
|
|
59944
|
+
const col = position.column - 1;
|
|
59945
|
+
const dollarIndex = currentLineContent.lastIndexOf('$', col - 1);
|
|
59946
|
+
if (dollarIndex !== -1 && col > dollarIndex && !/\s/.test(currentLineContent.slice(dollarIndex + 1, col))) {
|
|
59947
|
+
varRef.current = dollarIndex;
|
|
59948
|
+
filterVarRef.current = currentLineContent.slice(dollarIndex + 1, col);
|
|
59949
|
+
const filterVal = (filterVarRef.current ?? '').toLowerCase();
|
|
59950
|
+
const filteredVariable = variableOptionsRef.current.filter(e => {
|
|
59951
|
+
const variableName = e.type === '_startforloop' && addForloopPrefix ? `FLV_for:${e.name}` : e.name;
|
|
59952
|
+
return variableName.toLowerCase().includes(filterVal);
|
|
59953
|
+
});
|
|
59954
|
+
setFilteredVariableOptions(filteredVariable);
|
|
59955
|
+
const visiblePosition = editor.getScrolledVisiblePosition(position);
|
|
59956
|
+
const editorDomNode = editor.getDomNode();
|
|
59957
|
+
setDropdownPosition(calculateDropdownPosition(visiblePosition, editorDomNode, 150));
|
|
59958
|
+
setShowDropdown(true);
|
|
59959
|
+
} else {
|
|
59960
|
+
setShowDropdown(false);
|
|
59961
|
+
varRef.current = null;
|
|
59962
|
+
filterVarRef.current = null;
|
|
59963
|
+
}
|
|
59907
59964
|
});
|
|
59908
59965
|
editor.onMouseDown(() => {
|
|
59909
|
-
|
|
59966
|
+
setTimeout(() => {
|
|
59967
|
+
const editor = editorRef.current;
|
|
59968
|
+
if (!editor) return;
|
|
59969
|
+
const position = editor.getPosition();
|
|
59970
|
+
const model = editor.getModel();
|
|
59971
|
+
if (!position || !model) return;
|
|
59972
|
+
const currentLineContent = model.getLineContent(position.lineNumber);
|
|
59973
|
+
const columnIndex = position.column - 2;
|
|
59974
|
+
if (currentLineContent[columnIndex] === '$') {
|
|
59975
|
+
varRef.current = columnIndex;
|
|
59976
|
+
filterVarRef.current = '';
|
|
59977
|
+
setShowDropdown(true);
|
|
59978
|
+
} else {
|
|
59979
|
+
setShowDropdown(false);
|
|
59980
|
+
varRef.current = null;
|
|
59981
|
+
filterVarRef.current = null;
|
|
59982
|
+
}
|
|
59983
|
+
}, 0);
|
|
59910
59984
|
});
|
|
59911
59985
|
// Track selection changes (user highlighting text)
|
|
59912
59986
|
editor.onDidChangeCursorSelection(() => {
|
|
@@ -59944,30 +60018,7 @@ const Editor = /*#__PURE__*/React.forwardRef(({
|
|
|
59944
60018
|
}
|
|
59945
60019
|
const visiblePosition = editor.getScrolledVisiblePosition(position);
|
|
59946
60020
|
const editorDomNode = editor.getDomNode();
|
|
59947
|
-
|
|
59948
|
-
const {
|
|
59949
|
-
top,
|
|
59950
|
-
left
|
|
59951
|
-
} = visiblePosition;
|
|
59952
|
-
const editorRect = editorDomNode.getBoundingClientRect();
|
|
59953
|
-
const editorHeight = editorDomNode.clientHeight;
|
|
59954
|
-
const dropdownHeight = 150;
|
|
59955
|
-
let dropdownTop = top;
|
|
59956
|
-
let dropdownLeft = left;
|
|
59957
|
-
if (dropdownTop + dropdownHeight > editorHeight - dropdownHeight + 130) {
|
|
59958
|
-
dropdownTop -= Math.floor(dropdownHeight / 2) + dropdownHeight - 35;
|
|
59959
|
-
} else {
|
|
59960
|
-
dropdownTop -= 10;
|
|
59961
|
-
}
|
|
59962
|
-
if (left > editorRect.width * 0.6) {
|
|
59963
|
-
dropdownLeft -= dropdownHeight + 50;
|
|
59964
|
-
} else if (left < editorRect.width * 0.5 + dropdownHeight) {
|
|
59965
|
-
dropdownLeft = dropdownLeft - 42;
|
|
59966
|
-
}
|
|
59967
|
-
setDropdownPosition({
|
|
59968
|
-
top: dropdownTop,
|
|
59969
|
-
left: dropdownLeft
|
|
59970
|
-
});
|
|
60021
|
+
setDropdownPosition(calculateDropdownPosition(visiblePosition, editorDomNode, 150));
|
|
59971
60022
|
setShowDropdown(true);
|
|
59972
60023
|
} else {
|
|
59973
60024
|
setShowDropdown(false);
|
|
@@ -60029,6 +60080,31 @@ const Editor = /*#__PURE__*/React.forwardRef(({
|
|
|
60029
60080
|
}
|
|
60030
60081
|
});
|
|
60031
60082
|
};
|
|
60083
|
+
React.useEffect(() => {
|
|
60084
|
+
const editor = editorRef.current;
|
|
60085
|
+
if (!editor) return;
|
|
60086
|
+
const handleEditorBlur = () => {
|
|
60087
|
+
setShowDropdown(false);
|
|
60088
|
+
varRef.current = null;
|
|
60089
|
+
filterVarRef.current = null;
|
|
60090
|
+
decorationsRef.current = [];
|
|
60091
|
+
setCurrentLine(0);
|
|
60092
|
+
};
|
|
60093
|
+
const blurDisposable = editor.onDidBlurEditorWidget(handleEditorBlur);
|
|
60094
|
+
const handleDocumentClick = event => {
|
|
60095
|
+
const editorDomNode = editor.getDomNode();
|
|
60096
|
+
const clickedInsideEditor = editorDomNode && editorDomNode.contains(event.target);
|
|
60097
|
+
if (!clickedInsideEditor || clickedInsideEditor && !event.target.closest('.view-line, .monaco-editor-textarea')) {
|
|
60098
|
+
const textarea = editorDomNode?.querySelector('textarea');
|
|
60099
|
+
if (textarea) textarea.blur();
|
|
60100
|
+
}
|
|
60101
|
+
};
|
|
60102
|
+
document.addEventListener('mousedown', handleDocumentClick);
|
|
60103
|
+
return () => {
|
|
60104
|
+
blurDisposable.dispose();
|
|
60105
|
+
document.removeEventListener('mousedown', handleDocumentClick);
|
|
60106
|
+
};
|
|
60107
|
+
}, [showDropdown]);
|
|
60032
60108
|
React.useEffect(() => {
|
|
60033
60109
|
const editor = editorRef.current;
|
|
60034
60110
|
if (!editor || !currentLine) return;
|
|
@@ -113981,6 +114057,7 @@ exports.Editor = Editor;
|
|
|
113981
114057
|
exports.ErrorBoundary = ErrorBoundary;
|
|
113982
114058
|
exports.Excel = ExcelFile;
|
|
113983
114059
|
exports.ExpandableMenu = ExpandableMenu;
|
|
114060
|
+
exports.FILENAME_VALIDATION_REGEX = FILENAME_VALIDATION_REGEX;
|
|
113984
114061
|
exports.FILE_EXTENSION_REGEX = FILE_EXTENSION_REGEX;
|
|
113985
114062
|
exports.FILE_NAME_REGEX = FILE_NAME_REGEX;
|
|
113986
114063
|
exports.FieldSet = FieldSet;
|