@eccenca/gui-elements 24.0.1 → 24.1.0-rc.1
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 +15 -6
- 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/components/ContentGroup/ContentGroup.js +95 -0
- package/dist/cjs/components/ContentGroup/ContentGroup.js.map +1 -0
- package/dist/cjs/components/index.js +1 -0
- package/dist/cjs/components/index.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/components/ContentGroup/ContentGroup.js +100 -0
- package/dist/esm/components/ContentGroup/ContentGroup.js.map +1 -0
- package/dist/esm/components/index.js +1 -0
- package/dist/esm/components/index.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/components/ContentGroup/ContentGroup.d.ts +78 -0
- package/dist/types/components/index.d.ts +1 -0
- 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 +7 -5
- package/src/cmem/react-flow/StickyNoteModal/StickyNoteModal.tsx +16 -2
- package/src/components/AutoSuggestion/ExtendedCodeEditor.tsx +29 -6
- package/src/components/ContentGroup/ContentGroup.stories.tsx +47 -0
- package/src/components/ContentGroup/ContentGroup.tsx +256 -0
- package/src/components/ContentGroup/_contentgroup.scss +56 -0
- package/src/components/TextField/stories/TextField.stories.tsx +2 -1
- package/src/components/index.scss +1 -0
- package/src/components/index.ts +1 -0
- 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
|
@@ -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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
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
|
+
};
|
|
12
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
13
|
+
var t = {};
|
|
14
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
15
|
+
t[p] = s[p];
|
|
16
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
17
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
18
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
19
|
+
t[p[i]] = s[p[i]];
|
|
20
|
+
}
|
|
21
|
+
return t;
|
|
22
|
+
};
|
|
23
|
+
import React from "react";
|
|
24
|
+
import classNames from "classnames";
|
|
25
|
+
import Color from "color";
|
|
26
|
+
import { CLASSPREFIX as eccgui } from "../../configuration/constants.js";
|
|
27
|
+
import { Divider, Icon, IconButton, OverflowText, Section, SectionHeader, Spacing, StickyTarget, Toolbar, ToolbarSection, Tooltip, } from "../index.js";
|
|
28
|
+
/**
|
|
29
|
+
* Manage display of a grouped content section.
|
|
30
|
+
* Add info, actions and context annotations by using its properties.
|
|
31
|
+
* Can be nested into each other.
|
|
32
|
+
*/
|
|
33
|
+
export var ContentGroup = function (_a) {
|
|
34
|
+
var _b;
|
|
35
|
+
var _c;
|
|
36
|
+
var children = _a.children, _d = _a.className, className = _d === void 0 ? "" : _d, title = _a.title, contextInfo = _a.contextInfo, annotation = _a.annotation, actionOptions = _a.actionOptions, _e = _a.isCollapsed, isCollapsed = _e === void 0 ? false : _e, textToggleCollapse = _a.textToggleCollapse, handlerToggleCollapse = _a.handlerToggleCollapse, _f = _a.borderMainConnection, borderMainConnection = _f === void 0 ? false : _f, _g = _a.borderSubConnection, borderSubConnection = _g === void 0 ? false : _g, _h = _a.level, level = _h === void 0 ? 1 : _h, _j = _a.minimumHeadlineLevel, minimumHeadlineLevel = _j === void 0 ? 3 : _j, _k = _a.whitespaceSize, whitespaceSize = _k === void 0 ? "small" : _k, style = _a.style, stickyHeaderProps = _a.stickyHeaderProps, description = _a.description, hideGroupDivider = _a.hideGroupDivider, contentProps = _a.contentProps, otherContentWrapperProps = __rest(_a, ["children", "className", "title", "contextInfo", "annotation", "actionOptions", "isCollapsed", "textToggleCollapse", "handlerToggleCollapse", "borderMainConnection", "borderSubConnection", "level", "minimumHeadlineLevel", "whitespaceSize", "style", "stickyHeaderProps", "description", "hideGroupDivider", "contentProps"]);
|
|
37
|
+
var displayHeader = title || handlerToggleCollapse;
|
|
38
|
+
var borderGradient = undefined;
|
|
39
|
+
if (typeof borderSubConnection === "object") {
|
|
40
|
+
var borderColors_1 = Array.isArray(borderSubConnection) ? borderSubConnection : [borderSubConnection];
|
|
41
|
+
borderGradient = borderColors_1.reduce(function (acc, borderColor, index) {
|
|
42
|
+
try {
|
|
43
|
+
var color = Color(borderColor);
|
|
44
|
+
acc.push("".concat(color.rgb().toString(), " ") +
|
|
45
|
+
"".concat((index / borderColors_1.length) * 100, "% ") +
|
|
46
|
+
"".concat(((index + 1) / borderColors_1.length) * 100, "%"));
|
|
47
|
+
}
|
|
48
|
+
catch (_a) {
|
|
49
|
+
// eslint-disable-next-line no-console
|
|
50
|
+
console.warn("Received invalid background color for tag: " + borderColor);
|
|
51
|
+
}
|
|
52
|
+
return acc;
|
|
53
|
+
}, []);
|
|
54
|
+
}
|
|
55
|
+
var contextInfoElements = Array.isArray(contextInfo) ? contextInfo : [contextInfo];
|
|
56
|
+
var _l = contentProps !== null && contentProps !== void 0 ? contentProps : {}, contentClassName = _l.className, otherContentProps = __rest(_l, ["className"]);
|
|
57
|
+
var headerContent = displayHeader ? (React.createElement(React.Fragment, null,
|
|
58
|
+
React.createElement(SectionHeader, { className: "".concat(eccgui, "-contentgroup__header") },
|
|
59
|
+
React.createElement(Toolbar, null,
|
|
60
|
+
handlerToggleCollapse && (React.createElement(ToolbarSection, null,
|
|
61
|
+
React.createElement(IconButton, { className: "".concat(eccgui, "-contentgroup__header__toggler"), name: isCollapsed ? "toggler-showmore" : "toggler-showless", text: textToggleCollapse !== null && textToggleCollapse !== void 0 ? textToggleCollapse : (isCollapsed ? "Show more" : "Show less"), onClick: handlerToggleCollapse }),
|
|
62
|
+
React.createElement(Spacing, { vertical: true, size: "small" }))),
|
|
63
|
+
title && (React.createElement(ToolbarSection, { canShrink: true },
|
|
64
|
+
React.createElement("h" +
|
|
65
|
+
Math.min(Math.max(minimumHeadlineLevel, level + minimumHeadlineLevel), 6).toString(), {
|
|
66
|
+
children: React.createElement(OverflowText, null, title),
|
|
67
|
+
className: "".concat(eccgui, "-contentgroup__header__title"),
|
|
68
|
+
}),
|
|
69
|
+
description && (React.createElement(React.Fragment, null,
|
|
70
|
+
React.createElement(Spacing, { vertical: true, size: "tiny" }),
|
|
71
|
+
React.createElement(Tooltip, { content: description },
|
|
72
|
+
React.createElement(Icon, { name: "item-info", small: true, className: "dmapp--text-info" })))))),
|
|
73
|
+
contextInfoElements &&
|
|
74
|
+
((_c = contextInfoElements[0]) === null || _c === void 0 ? void 0 : _c.props) &&
|
|
75
|
+
Object.values(contextInfoElements[0].props).every(function (v) { return v !== undefined; }) && (React.createElement(ToolbarSection, { className: "".concat(eccgui, "-contentgroup__header__context"), canGrow: true },
|
|
76
|
+
React.createElement("div", { className: "".concat(eccgui, "-contentgroup__content ") },
|
|
77
|
+
React.createElement(Spacing, { vertical: true, size: "tiny" }),
|
|
78
|
+
contextInfoElements))),
|
|
79
|
+
!isCollapsed && handlerToggleCollapse && actionOptions && (React.createElement(ToolbarSection, { className: "".concat(eccgui, "-contentgroup__header__options") },
|
|
80
|
+
React.createElement(Spacing, { vertical: true, size: "small" }),
|
|
81
|
+
actionOptions)))),
|
|
82
|
+
(!isCollapsed || !handlerToggleCollapse) && (React.createElement(React.Fragment, null,
|
|
83
|
+
!hideGroupDivider && React.createElement(Divider, { addSpacing: "small" }),
|
|
84
|
+
React.createElement(Spacing, { size: whitespaceSize }))))) : (React.createElement(React.Fragment, null));
|
|
85
|
+
return (React.createElement(Section, __assign({ className: "".concat(eccgui, "-contentgroup") +
|
|
86
|
+
(className ? " ".concat(className) : "") +
|
|
87
|
+
(whitespaceSize ? " ".concat(eccgui, "-contentgroup--padding-").concat(whitespaceSize) : "") +
|
|
88
|
+
(borderMainConnection ? " ".concat(eccgui, "-contentgroup--border-main") : "") +
|
|
89
|
+
(borderSubConnection ? " ".concat(eccgui, "-contentgroup--border-sub") : ""), style: borderGradient
|
|
90
|
+
? __assign(__assign({}, (style !== null && style !== void 0 ? style : {})), (_b = {}, _b["--".concat(eccgui, "-color-contentgroup-border-sub")] = borderGradient.join(", "), _b))
|
|
91
|
+
: style }, otherContentWrapperProps),
|
|
92
|
+
headerContent && stickyHeaderProps ? (React.createElement(StickyTarget, __assign({}, stickyHeaderProps), headerContent)) : (headerContent),
|
|
93
|
+
(!isCollapsed || !handlerToggleCollapse) && (React.createElement(React.Fragment, null,
|
|
94
|
+
React.createElement("div", { className: "".concat(eccgui, "-contentgroup__content") },
|
|
95
|
+
React.createElement("div", __assign({ className: classNames("".concat(eccgui, "-contentgroup__content__body"), contentClassName) }, otherContentProps), children),
|
|
96
|
+
contextInfo && !displayHeader && (React.createElement("div", { className: "".concat(eccgui, "-contentgroup__content__context") }, contextInfoElements)),
|
|
97
|
+
annotation && React.createElement("div", null, annotation),
|
|
98
|
+
actionOptions && !displayHeader && (React.createElement("div", { className: "".concat(eccgui, "-contentgroup__content__options") }, actionOptions)))))));
|
|
99
|
+
};
|
|
100
|
+
//# sourceMappingURL=ContentGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentGroup.js","sourceRoot":"","sources":["../../../../src/components/ContentGroup/ContentGroup.tsx"],"names":[],"mappings":"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"}
|
|
@@ -48,5 +48,6 @@ export * from "./Tooltip/Tooltip.js";
|
|
|
48
48
|
export * from "./Tree/Tree.js";
|
|
49
49
|
export * from "./Typography/index.js";
|
|
50
50
|
export * from "./Workspace/index.js";
|
|
51
|
+
export * from "./ContentGroup/ContentGroup.js";
|
|
51
52
|
export * from "./interfaces.js";
|
|
52
53
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,mCAAmC,CAAC;AAClD,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uCAAuC,CAAC;AACtD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,mCAAmC,CAAC;AAClD,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uCAAuC,CAAC;AACtD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,6BAA6B,CAAC;AAE5C,cAAc,cAAc,CAAC"}
|
|
@@ -9,6 +9,17 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
13
|
+
var t = {};
|
|
14
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
15
|
+
t[p] = s[p];
|
|
16
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
17
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
18
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
19
|
+
t[p[i]] = s[p[i]];
|
|
20
|
+
}
|
|
21
|
+
return t;
|
|
22
|
+
};
|
|
12
23
|
var __read = (this && this.__read) || function (o, n) {
|
|
13
24
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
14
25
|
if (!m) return o;
|
|
@@ -34,9 +45,10 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
34
45
|
}
|
|
35
46
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
36
47
|
};
|
|
37
|
-
import React, { useRef } from "react";
|
|
48
|
+
import React, { useMemo, useRef } from "react";
|
|
38
49
|
import { defaultKeymap, indentWithTab } from "@codemirror/commands";
|
|
39
50
|
import { foldKeymap } from "@codemirror/language";
|
|
51
|
+
import { lintGutter } from "@codemirror/lint";
|
|
40
52
|
import { EditorState } from "@codemirror/state";
|
|
41
53
|
import { EditorView, keymap } from "@codemirror/view";
|
|
42
54
|
import { minimalSetup } from "codemirror";
|
|
@@ -44,6 +56,8 @@ import { markField } from "../../components/AutoSuggestion/extensions/markText.j
|
|
|
44
56
|
import { CLASSPREFIX as eccgui } from "../../configuration/constants.js";
|
|
45
57
|
//hooks
|
|
46
58
|
import { supportedCodeEditorModes, useCodeMirrorModeExtension, } from "./hooks/useCodemirrorModeExtension.hooks.js";
|
|
59
|
+
import { jsLinter } from "./linters/jsLinter.js";
|
|
60
|
+
import { turtleLinter } from "./linters/turtleLinter.js";
|
|
47
61
|
//adaptations
|
|
48
62
|
import { adaptedCodeFolding, AdaptedEditorView, AdaptedEditorViewDomEventHandlers, adaptedFoldGutter, adaptedHighlightActiveLine, adaptedHighlightSpecialChars, adaptedLineNumbers, adaptedPlaceholder, } from "./tests/codemirrorTestHelper.js";
|
|
49
63
|
var addExtensionsFor = function (flag) {
|
|
@@ -64,12 +78,27 @@ var addHandlersFor = function (flag, handlerName, handler) {
|
|
|
64
78
|
var _a;
|
|
65
79
|
return flag ? (_a = {}, _a[handlerName] = handler, _a) : {};
|
|
66
80
|
};
|
|
81
|
+
var ModeLinterMap = new Map([
|
|
82
|
+
["turtle", [turtleLinter]],
|
|
83
|
+
["javascript", [jsLinter]],
|
|
84
|
+
]);
|
|
67
85
|
/**
|
|
68
86
|
* Includes a code editor, currently we use CodeMirror library as base.
|
|
69
87
|
*/
|
|
70
88
|
export var CodeEditor = function (_a) {
|
|
71
|
-
var onChange = _a.onChange, onSelection = _a.onSelection, onMouseDown = _a.onMouseDown, onFocusChange = _a.onFocusChange, onKeyDown = _a.onKeyDown, onCursorChange = _a.onCursorChange, name = _a.name, id = _a.id, mode = _a.mode, _b = _a.preventLineNumbers, preventLineNumbers = _b === void 0 ? false : _b, _c = _a.defaultValue, defaultValue = _c === void 0 ? "" : _c, _d = _a.readOnly, readOnly = _d === void 0 ? false : _d, _e = _a.shouldHaveMinimalSetup, shouldHaveMinimalSetup = _e === void 0 ? true : _e, _f = _a.wrapLines, wrapLines = _f === void 0 ? false : _f, onScroll = _a.onScroll, setEditorView = _a.setEditorView, _g = _a.supportCodeFolding, supportCodeFolding = _g === void 0 ? false : _g, _h = _a.shouldHighlightActiveLine, shouldHighlightActiveLine = _h === void 0 ? false : _h, outerDivAttributes = _a.outerDivAttributes, _j = _a.tabIntentSize, tabIntentSize = _j === void 0 ? 2 : _j, _k = _a.tabIntentStyle, tabIntentStyle = _k === void 0 ? "tab" : _k, placeholder = _a.placeholder, _l = _a.additionalExtensions, additionalExtensions = _l === void 0 ? [] : _l, _m = _a.tabForceSpaceForModes, tabForceSpaceForModes = _m === void 0 ? ["python", "yaml"] : _m, _o = _a.enableTab, enableTab = _o === void 0 ? false : _o, height = _a.height;
|
|
89
|
+
var onChange = _a.onChange, onSelection = _a.onSelection, onMouseDown = _a.onMouseDown, onFocusChange = _a.onFocusChange, onKeyDown = _a.onKeyDown, onCursorChange = _a.onCursorChange, name = _a.name, id = _a.id, mode = _a.mode, _b = _a.preventLineNumbers, preventLineNumbers = _b === void 0 ? false : _b, _c = _a.defaultValue, defaultValue = _c === void 0 ? "" : _c, _d = _a.readOnly, readOnly = _d === void 0 ? false : _d, _e = _a.shouldHaveMinimalSetup, shouldHaveMinimalSetup = _e === void 0 ? true : _e, _f = _a.wrapLines, wrapLines = _f === void 0 ? false : _f, onScroll = _a.onScroll, setEditorView = _a.setEditorView, _g = _a.supportCodeFolding, supportCodeFolding = _g === void 0 ? false : _g, _h = _a.shouldHighlightActiveLine, shouldHighlightActiveLine = _h === void 0 ? false : _h, outerDivAttributes = _a.outerDivAttributes, _j = _a.tabIntentSize, tabIntentSize = _j === void 0 ? 2 : _j, _k = _a.tabIntentStyle, tabIntentStyle = _k === void 0 ? "tab" : _k, placeholder = _a.placeholder, _l = _a.additionalExtensions, additionalExtensions = _l === void 0 ? [] : _l, _m = _a.tabForceSpaceForModes, tabForceSpaceForModes = _m === void 0 ? ["python", "yaml"] : _m, _o = _a.enableTab, enableTab = _o === void 0 ? false : _o, height = _a.height, _p = _a.useLinting, useLinting = _p === void 0 ? false : _p, dataTestId = _a["data-test-id"], _q = _a.autoFocus, autoFocus = _q === void 0 ? false : _q, _r = _a.disabled, disabled = _r === void 0 ? false : _r, intent = _a.intent, 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"]);
|
|
72
90
|
var parent = useRef(undefined);
|
|
91
|
+
var linters = useMemo(function () {
|
|
92
|
+
if (!mode) {
|
|
93
|
+
return [];
|
|
94
|
+
}
|
|
95
|
+
var values = [lintGutter()];
|
|
96
|
+
var linters = ModeLinterMap.get(mode);
|
|
97
|
+
if (linters) {
|
|
98
|
+
values.push.apply(values, __spreadArray([], __read(linters.map(function (linter) { return linter(); })), false));
|
|
99
|
+
}
|
|
100
|
+
return values;
|
|
101
|
+
}, [mode]);
|
|
73
102
|
var onKeyDownHandler = function (event, view) {
|
|
74
103
|
if (onKeyDown && !onKeyDown(event)) {
|
|
75
104
|
if (event.key === "Enter") {
|
|
@@ -102,15 +131,23 @@ export var CodeEditor = function (_a) {
|
|
|
102
131
|
keymap === null || keymap === void 0 ? void 0 : keymap.of(keyMapConfigs),
|
|
103
132
|
EditorState === null || EditorState === void 0 ? void 0 : EditorState.tabSize.of(tabIntentSize),
|
|
104
133
|
EditorState === null || EditorState === void 0 ? void 0 : EditorState.readOnly.of(readOnly),
|
|
134
|
+
EditorView === null || EditorView === void 0 ? void 0 : EditorView.editable.of(!disabled),
|
|
105
135
|
AdaptedEditorViewDomEventHandlers(domEventHandlers),
|
|
106
136
|
EditorView === null || EditorView === void 0 ? void 0 : EditorView.updateListener.of(function (v) {
|
|
107
137
|
var _a;
|
|
108
|
-
|
|
138
|
+
if (disabled)
|
|
139
|
+
return;
|
|
140
|
+
if (onChange) {
|
|
141
|
+
onChange(v.state.doc.toString());
|
|
142
|
+
}
|
|
109
143
|
if (onSelection)
|
|
110
144
|
onSelection(v.state.selection.ranges.filter(function (r) { return !r.empty; }).map(function (_a) {
|
|
111
145
|
var from = _a.from, to = _a.to;
|
|
112
146
|
return ({ from: from, to: to });
|
|
113
147
|
}));
|
|
148
|
+
if (onFocusChange) {
|
|
149
|
+
v.view.dom.className += " ".concat(eccgui, "-intent--").concat(intent);
|
|
150
|
+
}
|
|
114
151
|
if (onCursorChange) {
|
|
115
152
|
var cursorPosition = (_a = v.state.selection.main.head) !== null && _a !== void 0 ? _a : 0;
|
|
116
153
|
var editorRect = v.view.dom.getBoundingClientRect();
|
|
@@ -128,6 +165,7 @@ export var CodeEditor = function (_a) {
|
|
|
128
165
|
addExtensionsFor(shouldHighlightActiveLine, adaptedHighlightActiveLine()),
|
|
129
166
|
addExtensionsFor(wrapLines, EditorView === null || EditorView === void 0 ? void 0 : EditorView.lineWrapping),
|
|
130
167
|
addExtensionsFor(supportCodeFolding, adaptedFoldGutter(), adaptedCodeFolding()),
|
|
168
|
+
addExtensionsFor.apply(void 0, __spreadArray([useLinting], __read(linters), false)),
|
|
131
169
|
additionalExtensions,
|
|
132
170
|
];
|
|
133
171
|
var view = new AdaptedEditorView({
|
|
@@ -140,16 +178,29 @@ export var CodeEditor = function (_a) {
|
|
|
140
178
|
if (height) {
|
|
141
179
|
view.dom.style.height = typeof height === "string" ? height : "".concat(height, "px");
|
|
142
180
|
}
|
|
143
|
-
|
|
181
|
+
if (disabled) {
|
|
182
|
+
view.dom.className += " ".concat(eccgui, "-disabled");
|
|
183
|
+
}
|
|
184
|
+
if (intent) {
|
|
185
|
+
view.dom.className += " ".concat(eccgui, "-intent--").concat(intent);
|
|
186
|
+
}
|
|
187
|
+
if (autoFocus) {
|
|
188
|
+
view.focus();
|
|
189
|
+
}
|
|
190
|
+
if (setEditorView) {
|
|
191
|
+
setEditorView(view);
|
|
192
|
+
}
|
|
144
193
|
return function () {
|
|
145
194
|
view.destroy();
|
|
146
|
-
|
|
195
|
+
if (setEditorView) {
|
|
196
|
+
setEditorView(undefined);
|
|
197
|
+
}
|
|
147
198
|
};
|
|
148
199
|
}, [parent.current, mode, preventLineNumbers]);
|
|
149
200
|
return (React.createElement("div", __assign({}, outerDivAttributes, {
|
|
150
201
|
// overwrite/extend some attributes
|
|
151
|
-
id: id ? id : name ? "codemirror-".concat(name) : undefined, ref: parent, "data-test-id": "codemirror-wrapper", className: "".concat(eccgui, "-codeeditor ").concat(eccgui, "-codeeditor--mode-").concat(mode) +
|
|
152
|
-
((outerDivAttributes === null || outerDivAttributes === void 0 ? void 0 : outerDivAttributes.className) ? " ".concat(outerDivAttributes === null || outerDivAttributes === void 0 ? void 0 : outerDivAttributes.className) : "") })));
|
|
202
|
+
id: id ? id : name ? "codemirror-".concat(name) : undefined, ref: parent, "data-test-id": dataTestId ? dataTestId : "codemirror-wrapper", className: "".concat(eccgui, "-codeeditor ").concat(eccgui, "-codeeditor--mode-").concat(mode) +
|
|
203
|
+
((outerDivAttributes === null || outerDivAttributes === void 0 ? void 0 : outerDivAttributes.className) ? " ".concat(outerDivAttributes === null || outerDivAttributes === void 0 ? void 0 : outerDivAttributes.className) : "") }, otherCodeEditorProps)));
|
|
153
204
|
};
|
|
154
205
|
CodeEditor.supportedModes = supportedCodeEditorModes;
|
|
155
206
|
//# sourceMappingURL=CodeMirror.js.map
|
|
@@ -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,15 @@
|
|
|
1
|
+
import { debounce } from "lodash";
|
|
2
|
+
var DEBOUNCE_TIME = 500;
|
|
3
|
+
export var debouncedLinter = function (lintFunction, time) {
|
|
4
|
+
if (time === void 0) { time = DEBOUNCE_TIME; }
|
|
5
|
+
var debouncedFn = debounce(function (view, resolve) {
|
|
6
|
+
var diagnostics = lintFunction(view);
|
|
7
|
+
resolve(diagnostics);
|
|
8
|
+
}, time);
|
|
9
|
+
return function (view) {
|
|
10
|
+
return new Promise(function (resolve) {
|
|
11
|
+
debouncedFn(view, resolve);
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=debouncedLinter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debouncedLinter.js","sourceRoot":"","sources":["../../../../src/extensions/codemirror/debouncedLinter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAIlC,IAAM,aAAa,GAAG,GAAG,CAAC;AAE1B,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,YAAoB,EAAE,IAAoB;IAApB,qBAAA,EAAA,oBAAoB;IACtE,IAAM,WAAW,GAAG,QAAQ,CACxB,UACI,IAAgB,EAChB,OAA8F;QAE9F,IAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC,EACD,IAAI,CACP,CAAC;IAEF,OAAO,UAAC,IAAgB;QACpB,OAAO,IAAI,OAAO,CAA4B,UAAC,OAAO;YAClD,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
//adapted v6 modes imports
|
|
2
|
-
import { javascript } from "@codemirror/lang-javascript";
|
|
3
1
|
import { json } from "@codemirror/lang-json";
|
|
2
|
+
//modes imports
|
|
4
3
|
import { markdown } from "@codemirror/lang-markdown";
|
|
5
|
-
import { sql } from "@codemirror/lang-sql";
|
|
6
4
|
import { xml } from "@codemirror/lang-xml";
|
|
7
|
-
import { yaml } from "@codemirror/lang-yaml";
|
|
8
5
|
import { defaultHighlightStyle, StreamLanguage } from "@codemirror/language";
|
|
9
|
-
|
|
6
|
+
import { javascript } from "@codemirror/legacy-modes/mode/javascript.js";
|
|
10
7
|
import { jinja2 } from "@codemirror/legacy-modes/mode/jinja2.js";
|
|
11
8
|
import { mathematica } from "@codemirror/legacy-modes/mode/mathematica.js";
|
|
12
9
|
import { ntriples } from "@codemirror/legacy-modes/mode/ntriples.js";
|
|
13
10
|
import { python } from "@codemirror/legacy-modes/mode/python.js";
|
|
14
11
|
import { sparql } from "@codemirror/legacy-modes/mode/sparql.js";
|
|
12
|
+
import { sql } from "@codemirror/legacy-modes/mode/sql.js";
|
|
15
13
|
import { turtle } from "@codemirror/legacy-modes/mode/turtle.js";
|
|
14
|
+
import { yaml } from "@codemirror/legacy-modes/mode/yaml.js";
|
|
16
15
|
//adaptations
|
|
17
16
|
import { adaptedSyntaxHighlighting } from "../tests/codemirrorTestHelper.js";
|
|
18
17
|
var supportedModes = {
|
|
@@ -30,19 +29,11 @@ var supportedModes = {
|
|
|
30
29
|
javascript: javascript,
|
|
31
30
|
};
|
|
32
31
|
export var supportedCodeEditorModes = Object.keys(supportedModes);
|
|
33
|
-
var v6AdaptedModes = new Map([
|
|
34
|
-
["json", true],
|
|
35
|
-
["markdown", true],
|
|
36
|
-
["xml", true],
|
|
37
|
-
["sql", true],
|
|
38
|
-
["yaml", true],
|
|
39
|
-
["javascript", true],
|
|
40
|
-
]);
|
|
41
32
|
export var useCodeMirrorModeExtension = function (mode) {
|
|
42
33
|
return !mode
|
|
43
34
|
? adaptedSyntaxHighlighting(defaultHighlightStyle)
|
|
44
|
-
:
|
|
45
|
-
? (typeof supportedModes[mode] === "function" ? supportedModes[mode] : function () { })()
|
|
35
|
+
: ["json", "markdown", "xml"].includes(mode)
|
|
36
|
+
? (typeof supportedModes[mode] === "function" ? supportedModes[mode] : function () { return null; })()
|
|
46
37
|
: StreamLanguage === null || StreamLanguage === void 0 ? void 0 : StreamLanguage.define(supportedModes[mode]);
|
|
47
38
|
};
|
|
48
39
|
//# sourceMappingURL=useCodemirrorModeExtension.hooks.js.map
|
|
@@ -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,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,eAAe;AACf,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAmB,cAAc,EAAgB,MAAM,sBAAsB,CAAC;AAC5G,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,mCAAmC,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE1D,aAAa;AACb,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,IAAM,cAAc,GAAG;IACnB,QAAQ,UAAA;IACR,MAAM,QAAA;IACN,MAAM,QAAA;IACN,MAAM,QAAA;IACN,GAAG,KAAA;IACH,IAAI,MAAA;IACJ,MAAM,QAAA;IACN,IAAI,MAAA;IACJ,QAAQ,UAAA;IACR,WAAW,aAAA;IACX,GAAG,KAAA;IACH,UAAU,YAAA;CACJ,CAAC;AAEX,MAAM,CAAC,IAAM,wBAAwB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAuC,CAAC;AAG1G,MAAM,CAAC,IAAM,0BAA0B,GAAG,UAAC,IAA+B;IACtE,OAAO,CAAC,IAAI;QACR,CAAC,CAAC,yBAAyB,CAAC,qBAAqB,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,cAAM,OAAA,IAAI,EAAJ,CAAI,CAA2B,EAAE;YAC/G,CAAC,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAA0B,CAAC,CAAC;AAChF,CAAC,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { linter } from "@codemirror/lint";
|
|
2
|
+
import { JSHINT as jshint } from "jshint";
|
|
3
|
+
var lintOptions = {
|
|
4
|
+
esversion: 11,
|
|
5
|
+
browser: true,
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Sets up the javascript linter. Documentation: https://codemirror.net/examples/lint/
|
|
9
|
+
*/
|
|
10
|
+
export var jsLinter = function () {
|
|
11
|
+
return linter(function (view) {
|
|
12
|
+
var _a;
|
|
13
|
+
var diagnostics = [];
|
|
14
|
+
var codeText = view.state.doc.toJSON();
|
|
15
|
+
jshint(codeText, lintOptions);
|
|
16
|
+
var errors = (_a = jshint === null || jshint === void 0 ? void 0 : jshint.data()) === null || _a === void 0 ? void 0 : _a.errors;
|
|
17
|
+
if (errors && errors.length > 0) {
|
|
18
|
+
errors.forEach(function (error) {
|
|
19
|
+
var selectedLine = view.state.doc.line(error.line);
|
|
20
|
+
var diagnostic = {
|
|
21
|
+
from: selectedLine.from,
|
|
22
|
+
to: selectedLine.to,
|
|
23
|
+
severity: "error",
|
|
24
|
+
message: error.reason,
|
|
25
|
+
};
|
|
26
|
+
diagnostics.push(diagnostic);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return diagnostics;
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=jsLinter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsLinter.js","sourceRoot":"","sources":["../../../../../src/extensions/codemirror/linters/jsLinter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,QAAQ,CAAC;AAI1C,IAAM,WAAW,GAAG;IAChB,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,IAAI;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,IAAM,QAAQ,GAAqB;IACtC,OAAO,MAAM,CAAC,UAAC,IAAI;;QACf,IAAM,WAAW,GAAsB,EAAE,CAAC;QAC1C,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC9B,IAAM,MAAM,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,EAAE,0CAAE,MAAM,CAAC;QAEtC,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK;gBACjB,IAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAErD,IAAM,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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { linter } from "@codemirror/lint";
|
|
2
|
+
import { Parser } from "n3";
|
|
3
|
+
import { debouncedLinter } from "../debouncedLinter.js";
|
|
4
|
+
var parser = new Parser();
|
|
5
|
+
var EMPTY_RESOURCE = "<>";
|
|
6
|
+
var getError = function (message, view) {
|
|
7
|
+
var lineMatch = message.match(/(?<=line )\d{1,}/);
|
|
8
|
+
var valueMatch = message.match(/"([^"]*)"/);
|
|
9
|
+
var lineNumber = lineMatch ? Number(lineMatch[0]) : 1;
|
|
10
|
+
// the [1] index is used to get the caputre group
|
|
11
|
+
var errorContent = valueMatch && valueMatch[1];
|
|
12
|
+
var line = view.state.doc.line(lineNumber);
|
|
13
|
+
var position = line.text.search(errorContent !== null && errorContent !== void 0 ? errorContent : /\S/);
|
|
14
|
+
var from = line.from + position;
|
|
15
|
+
var errorLength = errorContent === null || errorContent === void 0 ? void 0 : errorContent.length;
|
|
16
|
+
return { from: from, to: errorLength ? from + errorLength : line.to };
|
|
17
|
+
};
|
|
18
|
+
var getQuadError = function (view) {
|
|
19
|
+
var lines = view.state.doc.toJSON();
|
|
20
|
+
for (var i = 0; i < lines.length; i += 1) {
|
|
21
|
+
var input = lines[i].trim();
|
|
22
|
+
if (!input) {
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
if (input.includes(EMPTY_RESOURCE)) {
|
|
26
|
+
// i + 1 is used here because the codemirror uses 1-indexes
|
|
27
|
+
var line = view.state.doc.line(i + 1);
|
|
28
|
+
var position = line.text.search(EMPTY_RESOURCE);
|
|
29
|
+
var from = line.from + position;
|
|
30
|
+
return {
|
|
31
|
+
from: from,
|
|
32
|
+
to: from + EMPTY_RESOURCE.length,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return { from: 0, to: view.state.doc.length };
|
|
37
|
+
};
|
|
38
|
+
var n3Linter = function (view) {
|
|
39
|
+
var diagnostics = [];
|
|
40
|
+
var value = view.state.doc.toString();
|
|
41
|
+
try {
|
|
42
|
+
var quads = parser.parse(value);
|
|
43
|
+
quads.forEach(function (quad) {
|
|
44
|
+
if (!quad.subject || !quad.predicate || !quad.object) {
|
|
45
|
+
var _a = getQuadError(view), from = _a.from, to = _a.to;
|
|
46
|
+
view.dispatch({
|
|
47
|
+
scrollIntoView: true,
|
|
48
|
+
});
|
|
49
|
+
diagnostics.push({
|
|
50
|
+
from: from,
|
|
51
|
+
to: to,
|
|
52
|
+
severity: "error",
|
|
53
|
+
message: "Invalid RDF quad:\n\nsubject: ".concat(quad.subject, "\npredicate: ").concat(quad.predicate, "\nobject: ").concat(quad.object),
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
var message = error.message;
|
|
60
|
+
var _a = getError(message, view), from = _a.from, to = _a.to;
|
|
61
|
+
view.dispatch({
|
|
62
|
+
scrollIntoView: true,
|
|
63
|
+
});
|
|
64
|
+
diagnostics.push({
|
|
65
|
+
from: from,
|
|
66
|
+
to: to,
|
|
67
|
+
severity: "error",
|
|
68
|
+
message: error.message,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
return diagnostics;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Sets up the turtle linter. Documentation: https://codemirror.net/examples/lint/
|
|
75
|
+
*/
|
|
76
|
+
export var turtleLinter = function () { return linter(debouncedLinter(n3Linter)); };
|
|
77
|
+
//# 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":""}
|