@eccenca/gui-elements 24.0.1 → 24.1.0-rc.0
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/CHANGELOG.md +7 -5
- package/dist/cjs/cmem/react-flow/StickyNoteModal/StickyNoteModal.js +3 -3
- package/dist/cjs/cmem/react-flow/StickyNoteModal/StickyNoteModal.js.map +1 -1
- package/dist/cjs/components/AutoSuggestion/ExtendedCodeEditor.js +3 -3
- package/dist/cjs/components/AutoSuggestion/ExtendedCodeEditor.js.map +1 -1
- package/dist/cjs/extensions/codemirror/CodeMirror.js +58 -6
- package/dist/cjs/extensions/codemirror/CodeMirror.js.map +1 -1
- package/dist/cjs/extensions/codemirror/debouncedLinter.js +18 -0
- package/dist/cjs/extensions/codemirror/debouncedLinter.js.map +1 -0
- package/dist/cjs/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js +9 -18
- package/dist/cjs/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js.map +1 -1
- package/dist/cjs/extensions/codemirror/linters/jsLinter.js +36 -0
- package/dist/cjs/extensions/codemirror/linters/jsLinter.js.map +1 -0
- package/dist/cjs/extensions/codemirror/linters/turtleLinter.js +81 -0
- package/dist/cjs/extensions/codemirror/linters/turtleLinter.js.map +1 -0
- package/dist/cjs/extensions/codemirror/types.js +3 -0
- package/dist/cjs/extensions/codemirror/types.js.map +1 -0
- package/dist/esm/cmem/react-flow/StickyNoteModal/StickyNoteModal.js +4 -4
- package/dist/esm/cmem/react-flow/StickyNoteModal/StickyNoteModal.js.map +1 -1
- package/dist/esm/components/AutoSuggestion/ExtendedCodeEditor.js +14 -3
- package/dist/esm/components/AutoSuggestion/ExtendedCodeEditor.js.map +1 -1
- package/dist/esm/extensions/codemirror/CodeMirror.js +58 -7
- package/dist/esm/extensions/codemirror/CodeMirror.js.map +1 -1
- package/dist/esm/extensions/codemirror/debouncedLinter.js +15 -0
- package/dist/esm/extensions/codemirror/debouncedLinter.js.map +1 -0
- package/dist/esm/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js +6 -15
- package/dist/esm/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js.map +1 -1
- package/dist/esm/extensions/codemirror/linters/jsLinter.js +32 -0
- package/dist/esm/extensions/codemirror/linters/jsLinter.js.map +1 -0
- package/dist/esm/extensions/codemirror/linters/turtleLinter.js +77 -0
- package/dist/esm/extensions/codemirror/linters/turtleLinter.js.map +1 -0
- package/dist/esm/extensions/codemirror/types.js +2 -0
- package/dist/esm/extensions/codemirror/types.js.map +1 -0
- package/dist/types/cmem/react-flow/StickyNoteModal/StickyNoteModal.d.ts +5 -1
- package/dist/types/components/AutoSuggestion/ExtendedCodeEditor.d.ts +11 -6
- package/dist/types/extensions/codemirror/CodeMirror.d.ts +23 -5
- package/dist/types/extensions/codemirror/debouncedLinter.d.ts +4 -0
- package/dist/types/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.d.ts +3 -5
- package/dist/types/extensions/codemirror/linters/jsLinter.d.ts +5 -0
- package/dist/types/extensions/codemirror/linters/turtleLinter.d.ts +5 -0
- package/dist/types/extensions/codemirror/types.d.ts +5 -0
- package/package.json +6 -5
- package/src/cmem/react-flow/StickyNoteModal/StickyNoteModal.tsx +16 -2
- package/src/components/AutoSuggestion/ExtendedCodeEditor.tsx +29 -6
- package/src/components/TextField/stories/TextField.stories.tsx +2 -1
- package/src/extensions/codemirror/CodeMirror.stories.tsx +30 -0
- package/src/extensions/codemirror/CodeMirror.tsx +86 -9
- package/src/extensions/codemirror/_codemirror.scss +96 -0
- package/src/extensions/codemirror/debouncedLinter.ts +26 -0
- package/src/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.ts +6 -16
- package/src/extensions/codemirror/linters/jsLinter.ts +38 -0
- package/src/extensions/codemirror/linters/turtleLinter.ts +102 -0
- package/src/extensions/codemirror/types.ts +7 -0
package/CHANGELOG.md
CHANGED
|
@@ -6,8 +6,6 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
-
## [24.0.1] - 2025-02-06
|
|
10
|
-
|
|
11
9
|
### Changed
|
|
12
10
|
|
|
13
11
|
- `eslint` libraries were upgraded to v9, so `node` v18.18 or higher is required
|
|
@@ -15,9 +13,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
|
|
|
15
13
|
### Fixed
|
|
16
14
|
|
|
17
15
|
- `MultiSelect`:
|
|
18
|
-
-
|
|
19
|
-
- `CodeEditor`:
|
|
20
|
-
- Broken highlighting for editor modes that leveraged adapted legacy modes.
|
|
16
|
+
- Old suggestions might be shown for a very short time when typing in a new search query.
|
|
21
17
|
|
|
22
18
|
## [24.0.0] - 2024-12-17
|
|
23
19
|
|
|
@@ -68,6 +64,12 @@ This is a major release, and it might be not compatible with your current usage
|
|
|
68
64
|
- `htmlContentBlockProps` can now be used to configure the wrapper around the Markdown content
|
|
69
65
|
- `$eccgui-selector-text-spot-highlight` SCSS config variable to specify selector that is used to create shortly highlighted spots
|
|
70
66
|
- it is highlighted when the selector is also active local anchor target or if it has the `.eccgui-typography--spothighlight` class attached to it
|
|
67
|
+
- `<CodeEditor />`
|
|
68
|
+
- implemented support for linting which is enabled via `useLinting` prop
|
|
69
|
+
- `turtle` and `javascript` are currently supported languages for linting
|
|
70
|
+
- editor is focused on load if `autoFocus` prop is set to `true`
|
|
71
|
+
- implemented support for `disabled` state in code editor
|
|
72
|
+
- implemented support for `intent` states in code editor
|
|
71
73
|
|
|
72
74
|
### Fixed
|
|
73
75
|
|
|
@@ -9,7 +9,7 @@ const getColorConfiguration_1 = __importDefault(require("../../../common/utils/g
|
|
|
9
9
|
const extensions_1 = require("../../../extensions");
|
|
10
10
|
const ReactFlowHotkeyContext_1 = require("../extensions/ReactFlowHotkeyContext");
|
|
11
11
|
const index_1 = require("./../../../index");
|
|
12
|
-
exports.StickyNoteModal = react_1.default.memo(({ metaData, onClose, onSubmit, translate, simpleDialogProps }) => {
|
|
12
|
+
exports.StickyNoteModal = react_1.default.memo(({ metaData, onClose, onSubmit, translate, simpleDialogProps, codeEditorProps }) => {
|
|
13
13
|
var _a, _b, _c;
|
|
14
14
|
const refNote = react_1.default.useRef((_a = metaData === null || metaData === void 0 ? void 0 : metaData.note) !== null && _a !== void 0 ? _a : "");
|
|
15
15
|
const [color, setSelectedColor] = react_1.default.useState((_b = metaData === null || metaData === void 0 ? void 0 : metaData.color) !== null && _b !== void 0 ? _b : "");
|
|
@@ -47,9 +47,9 @@ exports.StickyNoteModal = react_1.default.memo(({ metaData, onClose, onSubmit, t
|
|
|
47
47
|
htmlFor: "noteinput",
|
|
48
48
|
text: translate("noteLabel"),
|
|
49
49
|
} },
|
|
50
|
-
react_1.default.createElement(extensions_1.CodeEditor, { name: translate("noteLabel"), id: "sticky-note-input", mode: "markdown", preventLineNumbers: true, onChange: (value) => {
|
|
50
|
+
react_1.default.createElement(extensions_1.CodeEditor, Object.assign({ name: translate("noteLabel"), id: "sticky-note-input", mode: "markdown", preventLineNumbers: true, onChange: (value) => {
|
|
51
51
|
refNote.current = value;
|
|
52
|
-
}, defaultValue: refNote.current })),
|
|
52
|
+
}, defaultValue: refNote.current }, codeEditorProps))),
|
|
53
53
|
react_1.default.createElement(index_1.FieldItem, { key: "color", labelProps: {
|
|
54
54
|
htmlFor: "colorinput",
|
|
55
55
|
text: translate("colorLabel"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StickyNoteModal.js","sourceRoot":"","sources":["../../../../../src/cmem/react-flow/StickyNoteModal/StickyNoteModal.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,wGAAgF;AAChF,oDAAiD;AACjD,iFAA8E;AAE9E,
|
|
1
|
+
{"version":3,"file":"StickyNoteModal.js","sourceRoot":"","sources":["../../../../../src/cmem/react-flow/StickyNoteModal/StickyNoteModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,16 +11,16 @@ const view_1 = require("@codemirror/view");
|
|
|
11
11
|
const constants_1 = require("../../configuration/constants");
|
|
12
12
|
const CodeMirror_1 = require("../../extensions/codemirror/CodeMirror");
|
|
13
13
|
/** Supports single-line and multiline editing. */
|
|
14
|
-
const ExtendedCodeEditor = ({ multiline = false, initialValue = "", onKeyDown, enableTab = false, mode, setCM, onFocusChange, onMouseDown, onChange, placeholder, onCursorChange, onSelection, }) => {
|
|
14
|
+
const ExtendedCodeEditor = ({ multiline = false, initialValue = "", onKeyDown, enableTab = false, mode, setCM, onFocusChange, onMouseDown, onChange, placeholder, onCursorChange, onSelection, codeEditorProps, }) => {
|
|
15
15
|
const initialContent = react_1.default.useRef(multiline ? initialValue : initialValue.replace(/[\r\n]/g, " "));
|
|
16
16
|
const multilineExtensions = multiline
|
|
17
17
|
? [(0, view_1.lineNumbers)(), view_1.EditorView.lineWrapping]
|
|
18
18
|
: [
|
|
19
19
|
state_1.EditorState === null || state_1.EditorState === void 0 ? void 0 : state_1.EditorState.transactionFilter.of((tr) => (tr.newDoc.lines > 1 ? [] : tr)),
|
|
20
20
|
];
|
|
21
|
-
return (react_1.default.createElement(CodeMirror_1.CodeEditor, { defaultValue: initialContent.current, setEditorView: setCM, onSelection: onSelection, onMouseDown: onMouseDown, onChange: onChange, placeholder: placeholder, onCursorChange: onCursorChange, onFocusChange: onFocusChange, onKeyDown: onKeyDown, shouldHaveMinimalSetup: false, preventLineNumbers: !multiline, mode: mode, name: "", enableTab: enableTab, additionalExtensions: [...multilineExtensions], outerDivAttributes: {
|
|
21
|
+
return (react_1.default.createElement(CodeMirror_1.CodeEditor, Object.assign({ defaultValue: initialContent.current, setEditorView: setCM, onSelection: onSelection, onMouseDown: onMouseDown, onChange: onChange, placeholder: placeholder, onCursorChange: onCursorChange, onFocusChange: onFocusChange, onKeyDown: onKeyDown, shouldHaveMinimalSetup: false, preventLineNumbers: !multiline, mode: mode, name: "", enableTab: enableTab, additionalExtensions: [...multilineExtensions], outerDivAttributes: {
|
|
22
22
|
className: `${constants_1.CLASSPREFIX}-${multiline ? "codeeditor" : `singlelinecodeeditor ${core_1.Classes.INPUT}`}`,
|
|
23
|
-
} }));
|
|
23
|
+
} }, codeEditorProps)));
|
|
24
24
|
};
|
|
25
25
|
exports.ExtendedCodeEditor = ExtendedCodeEditor;
|
|
26
26
|
exports.default = exports.ExtendedCodeEditor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtendedCodeEditor.js","sourceRoot":"","sources":["../../../../src/components/AutoSuggestion/ExtendedCodeEditor.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4CAAmE;AACnE,6CAAgD;AAChD,2CAAiE;AAEjE,6DAAsE;AACtE,
|
|
1
|
+
{"version":3,"file":"ExtendedCodeEditor.js","sourceRoot":"","sources":["../../../../src/components/AutoSuggestion/ExtendedCodeEditor.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4CAAmE;AACnE,6CAAgD;AAChD,2CAAiE;AAEjE,6DAAsE;AACtE,uEAAqF;AA6DrF,kDAAkD;AAC3C,MAAM,kBAAkB,GAAG,CAAC,EAC/B,SAAS,GAAG,KAAK,EACjB,YAAY,GAAG,EAAE,EACjB,SAAS,EACT,SAAS,GAAG,KAAK,EACjB,IAAI,EACJ,KAAK,EACL,aAAa,EACb,WAAW,EACX,QAAQ,EACR,WAAW,EACX,cAAc,EACd,WAAW,EACX,eAAe,GACO,EAAE,EAAE;IAC1B,MAAM,cAAc,GAAG,eAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IACrG,MAAM,mBAAmB,GAAG,SAAS;QACjC,CAAC,CAAC,CAAC,IAAA,kBAAW,GAAE,EAAE,iBAAU,CAAC,YAAY,CAAC;QAC1C,CAAC,CAAC;YACI,mBAAW,aAAX,mBAAW,uBAAX,mBAAW,CAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC7E,CAAC;IAER,OAAO,CACH,8BAAC,uBAAU,kBACP,YAAY,EAAE,cAAc,CAAC,OAAO,EACpC,aAAa,EAAE,KAAK,EACpB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,EACpB,sBAAsB,EAAE,KAAK,EAC7B,kBAAkB,EAAE,CAAC,SAAS,EAC9B,IAAI,EAAE,IAAI,EACV,IAAI,EAAC,EAAE,EACP,SAAS,EAAE,SAAS,EACpB,oBAAoB,EAAE,CAAC,GAAG,mBAAmB,CAAC,EAC9C,kBAAkB,EAAE;YAChB,SAAS,EAAE,GAAG,uBAAM,IAChB,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,wBAAwB,cAAmB,CAAC,KAAK,EAChF,EAAE;SACL,IACG,eAAe,EACrB,CACL,CAAC;AACN,CAAC,CAAC;AA/CW,QAAA,kBAAkB,sBA+C7B;AAEF,kBAAe,0BAAkB,CAAC"}
|
|
@@ -22,11 +22,23 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
26
|
+
var t = {};
|
|
27
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
28
|
+
t[p] = s[p];
|
|
29
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
30
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
31
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
32
|
+
t[p[i]] = s[p[i]];
|
|
33
|
+
}
|
|
34
|
+
return t;
|
|
35
|
+
};
|
|
25
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
37
|
exports.CodeEditor = void 0;
|
|
27
38
|
const react_1 = __importStar(require("react"));
|
|
28
39
|
const commands_1 = require("@codemirror/commands");
|
|
29
40
|
const language_1 = require("@codemirror/language");
|
|
41
|
+
const lint_1 = require("@codemirror/lint");
|
|
30
42
|
const state_1 = require("@codemirror/state");
|
|
31
43
|
const view_1 = require("@codemirror/view");
|
|
32
44
|
const codemirror_1 = require("codemirror");
|
|
@@ -34,16 +46,34 @@ const markText_1 = require("../../components/AutoSuggestion/extensions/markText"
|
|
|
34
46
|
const constants_1 = require("../../configuration/constants");
|
|
35
47
|
//hooks
|
|
36
48
|
const useCodemirrorModeExtension_hooks_1 = require("./hooks/useCodemirrorModeExtension.hooks");
|
|
49
|
+
const jsLinter_1 = require("./linters/jsLinter");
|
|
50
|
+
const turtleLinter_1 = require("./linters/turtleLinter");
|
|
37
51
|
//adaptations
|
|
38
52
|
const codemirrorTestHelper_1 = require("./tests/codemirrorTestHelper");
|
|
39
53
|
const addExtensionsFor = (flag, ...extensions) => (flag ? [...extensions] : []);
|
|
40
54
|
const addToKeyMapConfigFor = (flag, ...keys) => (flag ? [...keys] : []);
|
|
41
55
|
const addHandlersFor = (flag, handlerName, handler) => flag ? { [handlerName]: handler } : {};
|
|
56
|
+
const ModeLinterMap = new Map([
|
|
57
|
+
["turtle", [turtleLinter_1.turtleLinter]],
|
|
58
|
+
["javascript", [jsLinter_1.jsLinter]],
|
|
59
|
+
]);
|
|
42
60
|
/**
|
|
43
61
|
* Includes a code editor, currently we use CodeMirror library as base.
|
|
44
62
|
*/
|
|
45
|
-
const CodeEditor = (
|
|
63
|
+
const CodeEditor = (_a) => {
|
|
64
|
+
var { onChange, onSelection, onMouseDown, onFocusChange, onKeyDown, onCursorChange, name, id, mode, preventLineNumbers = false, defaultValue = "", readOnly = false, shouldHaveMinimalSetup = true, wrapLines = false, onScroll, setEditorView, supportCodeFolding = false, shouldHighlightActiveLine = false, outerDivAttributes, tabIntentSize = 2, tabIntentStyle = "tab", placeholder, additionalExtensions = [], tabForceSpaceForModes = ["python", "yaml"], enableTab = false, height, useLinting = false, "data-test-id": dataTestId, autoFocus = false, disabled = false, intent } = _a, otherCodeEditorProps = __rest(_a, ["onChange", "onSelection", "onMouseDown", "onFocusChange", "onKeyDown", "onCursorChange", "name", "id", "mode", "preventLineNumbers", "defaultValue", "readOnly", "shouldHaveMinimalSetup", "wrapLines", "onScroll", "setEditorView", "supportCodeFolding", "shouldHighlightActiveLine", "outerDivAttributes", "tabIntentSize", "tabIntentStyle", "placeholder", "additionalExtensions", "tabForceSpaceForModes", "enableTab", "height", "useLinting", "data-test-id", "autoFocus", "disabled", "intent"]);
|
|
46
65
|
const parent = (0, react_1.useRef)(undefined);
|
|
66
|
+
const linters = (0, react_1.useMemo)(() => {
|
|
67
|
+
if (!mode) {
|
|
68
|
+
return [];
|
|
69
|
+
}
|
|
70
|
+
const values = [(0, lint_1.lintGutter)()];
|
|
71
|
+
const linters = ModeLinterMap.get(mode);
|
|
72
|
+
if (linters) {
|
|
73
|
+
values.push(...linters.map((linter) => linter()));
|
|
74
|
+
}
|
|
75
|
+
return values;
|
|
76
|
+
}, [mode]);
|
|
47
77
|
const onKeyDownHandler = (event, view) => {
|
|
48
78
|
if (onKeyDown && !onKeyDown(event)) {
|
|
49
79
|
if (event.key === "Enter") {
|
|
@@ -78,12 +108,20 @@ const CodeEditor = ({ onChange, onSelection, onMouseDown, onFocusChange, onKeyDo
|
|
|
78
108
|
view_1.keymap === null || view_1.keymap === void 0 ? void 0 : view_1.keymap.of(keyMapConfigs),
|
|
79
109
|
state_1.EditorState === null || state_1.EditorState === void 0 ? void 0 : state_1.EditorState.tabSize.of(tabIntentSize),
|
|
80
110
|
state_1.EditorState === null || state_1.EditorState === void 0 ? void 0 : state_1.EditorState.readOnly.of(readOnly),
|
|
111
|
+
view_1.EditorView === null || view_1.EditorView === void 0 ? void 0 : view_1.EditorView.editable.of(!disabled),
|
|
81
112
|
(0, codemirrorTestHelper_1.AdaptedEditorViewDomEventHandlers)(domEventHandlers),
|
|
82
113
|
view_1.EditorView === null || view_1.EditorView === void 0 ? void 0 : view_1.EditorView.updateListener.of((v) => {
|
|
83
114
|
var _a;
|
|
84
|
-
|
|
115
|
+
if (disabled)
|
|
116
|
+
return;
|
|
117
|
+
if (onChange) {
|
|
118
|
+
onChange(v.state.doc.toString());
|
|
119
|
+
}
|
|
85
120
|
if (onSelection)
|
|
86
121
|
onSelection(v.state.selection.ranges.filter((r) => !r.empty).map(({ from, to }) => ({ from, to })));
|
|
122
|
+
if (onFocusChange) {
|
|
123
|
+
v.view.dom.className += ` ${constants_1.CLASSPREFIX}-intent--${intent}`;
|
|
124
|
+
}
|
|
87
125
|
if (onCursorChange) {
|
|
88
126
|
const cursorPosition = (_a = v.state.selection.main.head) !== null && _a !== void 0 ? _a : 0;
|
|
89
127
|
const editorRect = v.view.dom.getBoundingClientRect();
|
|
@@ -101,6 +139,7 @@ const CodeEditor = ({ onChange, onSelection, onMouseDown, onFocusChange, onKeyDo
|
|
|
101
139
|
addExtensionsFor(shouldHighlightActiveLine, (0, codemirrorTestHelper_1.adaptedHighlightActiveLine)()),
|
|
102
140
|
addExtensionsFor(wrapLines, view_1.EditorView === null || view_1.EditorView === void 0 ? void 0 : view_1.EditorView.lineWrapping),
|
|
103
141
|
addExtensionsFor(supportCodeFolding, (0, codemirrorTestHelper_1.adaptedFoldGutter)(), (0, codemirrorTestHelper_1.adaptedCodeFolding)()),
|
|
142
|
+
addExtensionsFor(useLinting, ...linters),
|
|
104
143
|
additionalExtensions,
|
|
105
144
|
];
|
|
106
145
|
const view = new codemirrorTestHelper_1.AdaptedEditorView({
|
|
@@ -113,16 +152,29 @@ const CodeEditor = ({ onChange, onSelection, onMouseDown, onFocusChange, onKeyDo
|
|
|
113
152
|
if (height) {
|
|
114
153
|
view.dom.style.height = typeof height === "string" ? height : `${height}px`;
|
|
115
154
|
}
|
|
116
|
-
|
|
155
|
+
if (disabled) {
|
|
156
|
+
view.dom.className += ` ${constants_1.CLASSPREFIX}-disabled`;
|
|
157
|
+
}
|
|
158
|
+
if (intent) {
|
|
159
|
+
view.dom.className += ` ${constants_1.CLASSPREFIX}-intent--${intent}`;
|
|
160
|
+
}
|
|
161
|
+
if (autoFocus) {
|
|
162
|
+
view.focus();
|
|
163
|
+
}
|
|
164
|
+
if (setEditorView) {
|
|
165
|
+
setEditorView(view);
|
|
166
|
+
}
|
|
117
167
|
return () => {
|
|
118
168
|
view.destroy();
|
|
119
|
-
|
|
169
|
+
if (setEditorView) {
|
|
170
|
+
setEditorView(undefined);
|
|
171
|
+
}
|
|
120
172
|
};
|
|
121
173
|
}, [parent.current, mode, preventLineNumbers]);
|
|
122
174
|
return (react_1.default.createElement("div", Object.assign({}, outerDivAttributes, {
|
|
123
175
|
// overwrite/extend some attributes
|
|
124
|
-
id: id ? id : name ? `codemirror-${name}` : undefined, ref: parent, "data-test-id": "codemirror-wrapper", className: `${constants_1.CLASSPREFIX}-codeeditor ${constants_1.CLASSPREFIX}-codeeditor--mode-${mode}` +
|
|
125
|
-
((outerDivAttributes === null || outerDivAttributes === void 0 ? void 0 : outerDivAttributes.className) ? ` ${outerDivAttributes === null || outerDivAttributes === void 0 ? void 0 : outerDivAttributes.className}` : "") })));
|
|
176
|
+
id: id ? id : name ? `codemirror-${name}` : undefined, ref: parent, "data-test-id": dataTestId ? dataTestId : "codemirror-wrapper", className: `${constants_1.CLASSPREFIX}-codeeditor ${constants_1.CLASSPREFIX}-codeeditor--mode-${mode}` +
|
|
177
|
+
((outerDivAttributes === null || outerDivAttributes === void 0 ? void 0 : outerDivAttributes.className) ? ` ${outerDivAttributes === null || outerDivAttributes === void 0 ? void 0 : outerDivAttributes.className}` : "") }, otherCodeEditorProps)));
|
|
126
178
|
};
|
|
127
179
|
exports.CodeEditor = CodeEditor;
|
|
128
180
|
exports.CodeEditor.supportedModes = useCodemirrorModeExtension_hooks_1.supportedCodeEditorModes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeMirror.js","sourceRoot":"","sources":["../../../../src/extensions/codemirror/CodeMirror.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CodeMirror.js","sourceRoot":"","sources":["../../../../src/extensions/codemirror/CodeMirror.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.debouncedLinter = void 0;
|
|
4
|
+
const lodash_1 = require("lodash");
|
|
5
|
+
const DEBOUNCE_TIME = 500;
|
|
6
|
+
const debouncedLinter = (lintFunction, time = DEBOUNCE_TIME) => {
|
|
7
|
+
const debouncedFn = (0, lodash_1.debounce)((view, resolve) => {
|
|
8
|
+
const diagnostics = lintFunction(view);
|
|
9
|
+
resolve(diagnostics);
|
|
10
|
+
}, time);
|
|
11
|
+
return (view) => {
|
|
12
|
+
return new Promise((resolve) => {
|
|
13
|
+
debouncedFn(view, resolve);
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
exports.debouncedLinter = debouncedLinter;
|
|
18
|
+
//# sourceMappingURL=debouncedLinter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debouncedLinter.js","sourceRoot":"","sources":["../../../../src/extensions/codemirror/debouncedLinter.ts"],"names":[],"mappings":";;;AAEA,mCAAkC;AAIlC,MAAM,aAAa,GAAG,GAAG,CAAC;AAEnB,MAAM,eAAe,GAAG,CAAC,YAAoB,EAAE,IAAI,GAAG,aAAa,EAAE,EAAE;IAC1E,MAAM,WAAW,GAAG,IAAA,iBAAQ,EACxB,CACI,IAAgB,EAChB,OAA8F,EAChG,EAAE;QACA,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC,EACD,IAAI,CACP,CAAC;IAEF,OAAO,CAAC,IAAgB,EAAE,EAAE;QACxB,OAAO,IAAI,OAAO,CAA4B,CAAC,OAAO,EAAE,EAAE;YACtD,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC,CAAC;AAjBW,QAAA,eAAe,mBAiB1B"}
|
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useCodeMirrorModeExtension = exports.supportedCodeEditorModes = void 0;
|
|
4
|
-
//adapted v6 modes imports
|
|
5
|
-
const lang_javascript_1 = require("@codemirror/lang-javascript");
|
|
6
4
|
const lang_json_1 = require("@codemirror/lang-json");
|
|
5
|
+
//modes imports
|
|
7
6
|
const lang_markdown_1 = require("@codemirror/lang-markdown");
|
|
8
|
-
const lang_sql_1 = require("@codemirror/lang-sql");
|
|
9
7
|
const lang_xml_1 = require("@codemirror/lang-xml");
|
|
10
|
-
const lang_yaml_1 = require("@codemirror/lang-yaml");
|
|
11
8
|
const language_1 = require("@codemirror/language");
|
|
12
|
-
|
|
9
|
+
const javascript_1 = require("@codemirror/legacy-modes/mode/javascript");
|
|
13
10
|
const jinja2_1 = require("@codemirror/legacy-modes/mode/jinja2");
|
|
14
11
|
const mathematica_1 = require("@codemirror/legacy-modes/mode/mathematica");
|
|
15
12
|
const ntriples_1 = require("@codemirror/legacy-modes/mode/ntriples");
|
|
16
13
|
const python_1 = require("@codemirror/legacy-modes/mode/python");
|
|
17
14
|
const sparql_1 = require("@codemirror/legacy-modes/mode/sparql");
|
|
15
|
+
const sql_1 = require("@codemirror/legacy-modes/mode/sql");
|
|
18
16
|
const turtle_1 = require("@codemirror/legacy-modes/mode/turtle");
|
|
17
|
+
const yaml_1 = require("@codemirror/legacy-modes/mode/yaml");
|
|
19
18
|
//adaptations
|
|
20
19
|
const codemirrorTestHelper_1 = require("../tests/codemirrorTestHelper");
|
|
21
20
|
const supportedModes = {
|
|
@@ -24,28 +23,20 @@ const supportedModes = {
|
|
|
24
23
|
sparql: sparql_1.sparql,
|
|
25
24
|
turtle: turtle_1.turtle,
|
|
26
25
|
xml: lang_xml_1.xml,
|
|
27
|
-
yaml:
|
|
26
|
+
yaml: yaml_1.yaml,
|
|
28
27
|
jinja2: jinja2_1.jinja2,
|
|
29
28
|
json: lang_json_1.json,
|
|
30
29
|
ntriples: ntriples_1.ntriples,
|
|
31
30
|
mathematica: mathematica_1.mathematica,
|
|
32
|
-
sql:
|
|
33
|
-
javascript:
|
|
31
|
+
sql: sql_1.sql,
|
|
32
|
+
javascript: javascript_1.javascript,
|
|
34
33
|
};
|
|
35
34
|
exports.supportedCodeEditorModes = Object.keys(supportedModes);
|
|
36
|
-
const v6AdaptedModes = new Map([
|
|
37
|
-
["json", true],
|
|
38
|
-
["markdown", true],
|
|
39
|
-
["xml", true],
|
|
40
|
-
["sql", true],
|
|
41
|
-
["yaml", true],
|
|
42
|
-
["javascript", true],
|
|
43
|
-
]);
|
|
44
35
|
const useCodeMirrorModeExtension = (mode) => {
|
|
45
36
|
return !mode
|
|
46
37
|
? (0, codemirrorTestHelper_1.adaptedSyntaxHighlighting)(language_1.defaultHighlightStyle)
|
|
47
|
-
:
|
|
48
|
-
? (typeof supportedModes[mode] === "function" ? supportedModes[mode] : () =>
|
|
38
|
+
: ["json", "markdown", "xml"].includes(mode)
|
|
39
|
+
? (typeof supportedModes[mode] === "function" ? supportedModes[mode] : () => null)()
|
|
49
40
|
: language_1.StreamLanguage === null || language_1.StreamLanguage === void 0 ? void 0 : language_1.StreamLanguage.define(supportedModes[mode]);
|
|
50
41
|
};
|
|
51
42
|
exports.useCodeMirrorModeExtension = useCodeMirrorModeExtension;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCodemirrorModeExtension.hooks.js","sourceRoot":"","sources":["../../../../../src/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"useCodemirrorModeExtension.hooks.js","sourceRoot":"","sources":["../../../../../src/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.ts"],"names":[],"mappings":";;;AAAA,qDAA6C;AAC7C,eAAe;AACf,6DAAqD;AACrD,mDAA2C;AAC3C,mDAA4G;AAC5G,yEAAsE;AACtE,iEAA8D;AAC9D,2EAAwE;AACxE,qEAAkE;AAClE,iEAA8D;AAC9D,iEAA8D;AAC9D,2DAAwD;AACxD,iEAA8D;AAC9D,6DAA0D;AAE1D,aAAa;AACb,wEAA0E;AAE1E,MAAM,cAAc,GAAG;IACnB,QAAQ,EAAR,wBAAQ;IACR,MAAM,EAAN,eAAM;IACN,MAAM,EAAN,eAAM;IACN,MAAM,EAAN,eAAM;IACN,GAAG,EAAH,cAAG;IACH,IAAI,EAAJ,WAAI;IACJ,MAAM,EAAN,eAAM;IACN,IAAI,EAAJ,gBAAI;IACJ,QAAQ,EAAR,mBAAQ;IACR,WAAW,EAAX,yBAAW;IACX,GAAG,EAAH,SAAG;IACH,UAAU,EAAV,uBAAU;CACJ,CAAC;AAEE,QAAA,wBAAwB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAuC,CAAC;AAGnG,MAAM,0BAA0B,GAAG,CAAC,IAA+B,EAAE,EAAE;IAC1E,OAAO,CAAC,IAAI;QACR,CAAC,CAAC,IAAA,gDAAyB,EAAC,gCAAqB,CAAC;QAClD,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC5C,CAAC,CAAE,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAA2B,EAAE;YAC/G,CAAC,CAAC,yBAAc,aAAd,yBAAc,uBAAd,yBAAc,CAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAA0B,CAAC,CAAC;AAChF,CAAC,CAAC;AANW,QAAA,0BAA0B,8BAMrC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.jsLinter = void 0;
|
|
4
|
+
const lint_1 = require("@codemirror/lint");
|
|
5
|
+
const jshint_1 = require("jshint");
|
|
6
|
+
const lintOptions = {
|
|
7
|
+
esversion: 11,
|
|
8
|
+
browser: true,
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Sets up the javascript linter. Documentation: https://codemirror.net/examples/lint/
|
|
12
|
+
*/
|
|
13
|
+
const jsLinter = () => {
|
|
14
|
+
return (0, lint_1.linter)((view) => {
|
|
15
|
+
var _a;
|
|
16
|
+
const diagnostics = [];
|
|
17
|
+
const codeText = view.state.doc.toJSON();
|
|
18
|
+
(0, jshint_1.JSHINT)(codeText, lintOptions);
|
|
19
|
+
const errors = (_a = jshint_1.JSHINT === null || jshint_1.JSHINT === void 0 ? void 0 : jshint_1.JSHINT.data()) === null || _a === void 0 ? void 0 : _a.errors;
|
|
20
|
+
if (errors && errors.length > 0) {
|
|
21
|
+
errors.forEach((error) => {
|
|
22
|
+
const selectedLine = view.state.doc.line(error.line);
|
|
23
|
+
const diagnostic = {
|
|
24
|
+
from: selectedLine.from,
|
|
25
|
+
to: selectedLine.to,
|
|
26
|
+
severity: "error",
|
|
27
|
+
message: error.reason,
|
|
28
|
+
};
|
|
29
|
+
diagnostics.push(diagnostic);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
return diagnostics;
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
exports.jsLinter = jsLinter;
|
|
36
|
+
//# sourceMappingURL=jsLinter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsLinter.js","sourceRoot":"","sources":["../../../../../src/extensions/codemirror/linters/jsLinter.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AACtD,mCAA0C;AAI1C,MAAM,WAAW,GAAG;IAChB,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,IAAI;CAChB,CAAC;AAEF;;GAEG;AACI,MAAM,QAAQ,GAAqB,GAAG,EAAE;IAC3C,OAAO,IAAA,aAAM,EAAC,CAAC,IAAI,EAAE,EAAE;;QACnB,MAAM,WAAW,GAAsB,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QACzC,IAAA,eAAM,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAA,eAAM,aAAN,eAAM,uBAAN,eAAM,CAAE,IAAI,EAAE,0CAAE,MAAM,CAAC;QAEtC,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAErD,MAAM,UAAU,GAAe;oBAC3B,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,EAAE,EAAE,YAAY,CAAC,EAAE;oBACnB,QAAQ,EAAE,OAAO;oBACjB,OAAO,EAAE,KAAK,CAAC,MAAM;iBACxB,CAAC;gBAEF,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,WAAW,CAAC;IACvB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAxBW,QAAA,QAAQ,YAwBnB"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.turtleLinter = void 0;
|
|
4
|
+
const lint_1 = require("@codemirror/lint");
|
|
5
|
+
const n3_1 = require("n3");
|
|
6
|
+
const debouncedLinter_1 = require("../debouncedLinter");
|
|
7
|
+
const parser = new n3_1.Parser();
|
|
8
|
+
const EMPTY_RESOURCE = "<>";
|
|
9
|
+
const getError = (message, view) => {
|
|
10
|
+
const lineMatch = message.match(/(?<=line )\d{1,}/);
|
|
11
|
+
const valueMatch = message.match(/"([^"]*)"/);
|
|
12
|
+
const lineNumber = lineMatch ? Number(lineMatch[0]) : 1;
|
|
13
|
+
// the [1] index is used to get the caputre group
|
|
14
|
+
const errorContent = valueMatch && valueMatch[1];
|
|
15
|
+
const line = view.state.doc.line(lineNumber);
|
|
16
|
+
const position = line.text.search(errorContent !== null && errorContent !== void 0 ? errorContent : /\S/);
|
|
17
|
+
const from = line.from + position;
|
|
18
|
+
const errorLength = errorContent === null || errorContent === void 0 ? void 0 : errorContent.length;
|
|
19
|
+
return { from, to: errorLength ? from + errorLength : line.to };
|
|
20
|
+
};
|
|
21
|
+
const getQuadError = (view) => {
|
|
22
|
+
const lines = view.state.doc.toJSON();
|
|
23
|
+
for (let i = 0; i < lines.length; i += 1) {
|
|
24
|
+
const input = lines[i].trim();
|
|
25
|
+
if (!input) {
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
if (input.includes(EMPTY_RESOURCE)) {
|
|
29
|
+
// i + 1 is used here because the codemirror uses 1-indexes
|
|
30
|
+
const line = view.state.doc.line(i + 1);
|
|
31
|
+
const position = line.text.search(EMPTY_RESOURCE);
|
|
32
|
+
const from = line.from + position;
|
|
33
|
+
return {
|
|
34
|
+
from,
|
|
35
|
+
to: from + EMPTY_RESOURCE.length,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return { from: 0, to: view.state.doc.length };
|
|
40
|
+
};
|
|
41
|
+
const n3Linter = (view) => {
|
|
42
|
+
const diagnostics = [];
|
|
43
|
+
const value = view.state.doc.toString();
|
|
44
|
+
try {
|
|
45
|
+
const quads = parser.parse(value);
|
|
46
|
+
quads.forEach((quad) => {
|
|
47
|
+
if (!quad.subject || !quad.predicate || !quad.object) {
|
|
48
|
+
const { from, to } = getQuadError(view);
|
|
49
|
+
view.dispatch({
|
|
50
|
+
scrollIntoView: true,
|
|
51
|
+
});
|
|
52
|
+
diagnostics.push({
|
|
53
|
+
from,
|
|
54
|
+
to,
|
|
55
|
+
severity: "error",
|
|
56
|
+
message: `Invalid RDF quad:\n\nsubject: ${quad.subject}\npredicate: ${quad.predicate}\nobject: ${quad.object}`,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
const { message } = error;
|
|
63
|
+
const { from, to } = getError(message, view);
|
|
64
|
+
view.dispatch({
|
|
65
|
+
scrollIntoView: true,
|
|
66
|
+
});
|
|
67
|
+
diagnostics.push({
|
|
68
|
+
from,
|
|
69
|
+
to,
|
|
70
|
+
severity: "error",
|
|
71
|
+
message: error.message,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
return diagnostics;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Sets up the turtle linter. Documentation: https://codemirror.net/examples/lint/
|
|
78
|
+
*/
|
|
79
|
+
const turtleLinter = () => (0, lint_1.linter)((0, debouncedLinter_1.debouncedLinter)(n3Linter));
|
|
80
|
+
exports.turtleLinter = turtleLinter;
|
|
81
|
+
//# sourceMappingURL=turtleLinter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turtleLinter.js","sourceRoot":"","sources":["../../../../../src/extensions/codemirror/linters/turtleLinter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/extensions/codemirror/types.ts"],"names":[],"mappings":""}
|
|
@@ -29,10 +29,10 @@ import React from "react";
|
|
|
29
29
|
import getColorConfiguration from "../../../common/utils/getColorConfiguration.js";
|
|
30
30
|
import { CodeEditor } from "../../../extensions/index.js";
|
|
31
31
|
import { ReactFlowHotkeyContext } from "../extensions/ReactFlowHotkeyContext.js";
|
|
32
|
-
import { Button, FieldItem, Icon, SimpleDialog, Tag, TagList } from "./../../../index.js";
|
|
32
|
+
import { Button, FieldItem, Icon, SimpleDialog, Tag, TagList, } from "./../../../index.js";
|
|
33
33
|
export var StickyNoteModal = React.memo(function (_a) {
|
|
34
34
|
var _b, _c, _d;
|
|
35
|
-
var metaData = _a.metaData, onClose = _a.onClose, onSubmit = _a.onSubmit, translate = _a.translate, simpleDialogProps = _a.simpleDialogProps;
|
|
35
|
+
var metaData = _a.metaData, onClose = _a.onClose, onSubmit = _a.onSubmit, translate = _a.translate, simpleDialogProps = _a.simpleDialogProps, codeEditorProps = _a.codeEditorProps;
|
|
36
36
|
var refNote = React.useRef((_b = metaData === null || metaData === void 0 ? void 0 : metaData.note) !== null && _b !== void 0 ? _b : "");
|
|
37
37
|
var _e = __read(React.useState((_c = metaData === null || metaData === void 0 ? void 0 : metaData.color) !== null && _c !== void 0 ? _c : ""), 2), color = _e[0], setSelectedColor = _e[1];
|
|
38
38
|
var noteColors = Object.entries(getColorConfiguration("stickynotes")).map(function (_a) {
|
|
@@ -73,9 +73,9 @@ export var StickyNoteModal = React.memo(function (_a) {
|
|
|
73
73
|
htmlFor: "noteinput",
|
|
74
74
|
text: translate("noteLabel"),
|
|
75
75
|
} },
|
|
76
|
-
React.createElement(CodeEditor, { name: translate("noteLabel"), id: "sticky-note-input", mode: "markdown", preventLineNumbers: true, onChange: function (value) {
|
|
76
|
+
React.createElement(CodeEditor, __assign({ name: translate("noteLabel"), id: "sticky-note-input", mode: "markdown", preventLineNumbers: true, onChange: function (value) {
|
|
77
77
|
refNote.current = value;
|
|
78
|
-
}, defaultValue: refNote.current })),
|
|
78
|
+
}, defaultValue: refNote.current }, codeEditorProps))),
|
|
79
79
|
React.createElement(FieldItem, { key: "color", labelProps: {
|
|
80
80
|
htmlFor: "colorinput",
|
|
81
81
|
text: translate("colorLabel"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StickyNoteModal.js","sourceRoot":"","sources":["../../../../../src/cmem/react-flow/StickyNoteModal/StickyNoteModal.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,qBAAqB,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,
|
|
1
|
+
{"version":3,"file":"StickyNoteModal.js","sourceRoot":"","sources":["../../../../../src/cmem/react-flow/StickyNoteModal/StickyNoteModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
1
12
|
var __read = (this && this.__read) || function (o, n) {
|
|
2
13
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
3
14
|
if (!m) return o;
|
|
@@ -31,16 +42,16 @@ import { CLASSPREFIX as eccgui } from "../../configuration/constants.js";
|
|
|
31
42
|
import { CodeEditor } from "../../extensions/codemirror/CodeMirror.js";
|
|
32
43
|
/** Supports single-line and multiline editing. */
|
|
33
44
|
export var ExtendedCodeEditor = function (_a) {
|
|
34
|
-
var _b = _a.multiline, multiline = _b === void 0 ? false : _b, _c = _a.initialValue, initialValue = _c === void 0 ? "" : _c, onKeyDown = _a.onKeyDown, _d = _a.enableTab, enableTab = _d === void 0 ? false : _d, mode = _a.mode, setCM = _a.setCM, onFocusChange = _a.onFocusChange, onMouseDown = _a.onMouseDown, onChange = _a.onChange, placeholder = _a.placeholder, onCursorChange = _a.onCursorChange, onSelection = _a.onSelection;
|
|
45
|
+
var _b = _a.multiline, multiline = _b === void 0 ? false : _b, _c = _a.initialValue, initialValue = _c === void 0 ? "" : _c, onKeyDown = _a.onKeyDown, _d = _a.enableTab, enableTab = _d === void 0 ? false : _d, mode = _a.mode, setCM = _a.setCM, onFocusChange = _a.onFocusChange, onMouseDown = _a.onMouseDown, onChange = _a.onChange, placeholder = _a.placeholder, onCursorChange = _a.onCursorChange, onSelection = _a.onSelection, codeEditorProps = _a.codeEditorProps;
|
|
35
46
|
var initialContent = React.useRef(multiline ? initialValue : initialValue.replace(/[\r\n]/g, " "));
|
|
36
47
|
var multilineExtensions = multiline
|
|
37
48
|
? [lineNumbers(), EditorView.lineWrapping]
|
|
38
49
|
: [
|
|
39
50
|
EditorState === null || EditorState === void 0 ? void 0 : EditorState.transactionFilter.of(function (tr) { return (tr.newDoc.lines > 1 ? [] : tr); }),
|
|
40
51
|
];
|
|
41
|
-
return (React.createElement(CodeEditor, { defaultValue: initialContent.current, setEditorView: setCM, onSelection: onSelection, onMouseDown: onMouseDown, onChange: onChange, placeholder: placeholder, onCursorChange: onCursorChange, onFocusChange: onFocusChange, onKeyDown: onKeyDown, shouldHaveMinimalSetup: false, preventLineNumbers: !multiline, mode: mode, name: "", enableTab: enableTab, additionalExtensions: __spreadArray([], __read(multilineExtensions), false), outerDivAttributes: {
|
|
52
|
+
return (React.createElement(CodeEditor, __assign({ defaultValue: initialContent.current, setEditorView: setCM, onSelection: onSelection, onMouseDown: onMouseDown, onChange: onChange, placeholder: placeholder, onCursorChange: onCursorChange, onFocusChange: onFocusChange, onKeyDown: onKeyDown, shouldHaveMinimalSetup: false, preventLineNumbers: !multiline, mode: mode, name: "", enableTab: enableTab, additionalExtensions: __spreadArray([], __read(multilineExtensions), false), outerDivAttributes: {
|
|
42
53
|
className: "".concat(eccgui, "-").concat(multiline ? "codeeditor" : "singlelinecodeeditor ".concat(BlueprintClassNames.INPUT)),
|
|
43
|
-
} }));
|
|
54
|
+
} }, codeEditorProps)));
|
|
44
55
|
};
|
|
45
56
|
export default ExtendedCodeEditor;
|
|
46
57
|
//# sourceMappingURL=ExtendedCodeEditor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtendedCodeEditor.js","sourceRoot":"","sources":["../../../../src/components/AutoSuggestion/ExtendedCodeEditor.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ExtendedCodeEditor.js","sourceRoot":"","sources":["../../../../src/components/AutoSuggestion/ExtendedCodeEditor.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAQ,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,WAAW,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAmB,MAAM,wCAAwC,CAAC;AA6DrF,kDAAkD;AAClD,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAAC,EAcT;QAbtB,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,oBAAiB,EAAjB,YAAY,mBAAG,EAAE,KAAA,EACjB,SAAS,eAAA,EACT,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,IAAI,UAAA,EACJ,KAAK,WAAA,EACL,aAAa,mBAAA,EACb,WAAW,iBAAA,EACX,QAAQ,cAAA,EACR,WAAW,iBAAA,EACX,cAAc,oBAAA,EACd,WAAW,iBAAA,EACX,eAAe,qBAAA;IAEf,IAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IACrG,IAAM,mBAAmB,GAAG,SAAS;QACjC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,YAAY,CAAC;QAC1C,CAAC,CAAC;YACI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,iBAAiB,CAAC,EAAE,CAAC,UAAC,EAAE,IAAK,OAAA,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAA/B,CAA+B,CAAC;SAC7E,CAAC;IAER,OAAO,CACH,oBAAC,UAAU,aACP,YAAY,EAAE,cAAc,CAAC,OAAO,EACpC,aAAa,EAAE,KAAK,EACpB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,EACpB,sBAAsB,EAAE,KAAK,EAC7B,kBAAkB,EAAE,CAAC,SAAS,EAC9B,IAAI,EAAE,IAAI,EACV,IAAI,EAAC,EAAE,EACP,SAAS,EAAE,SAAS,EACpB,oBAAoB,2BAAM,mBAAmB,WAC7C,kBAAkB,EAAE;YAChB,SAAS,EAAE,UAAG,MAAM,cAChB,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,+BAAwB,mBAAmB,CAAC,KAAK,CAAE,CAChF;SACL,IACG,eAAe,EACrB,CACL,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|