@eccenca/gui-elements 24.0.1 → 24.1.0-featureimprovepublishingprocesscmem6356.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 +82 -0
- package/dist/cjs/cmem/ActivityControl/ActivityControlWidget.js +7 -2
- package/dist/cjs/cmem/ActivityControl/ActivityControlWidget.js.map +1 -1
- 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/AutoSuggestion.js +13 -3
- package/dist/cjs/components/AutoSuggestion/AutoSuggestion.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/AutocompleteField/AutoCompleteField.js +4 -2
- package/dist/cjs/components/AutocompleteField/AutoCompleteField.js.map +1 -1
- package/dist/cjs/components/Card/CardActions.js +2 -1
- package/dist/cjs/components/Card/CardActions.js.map +1 -1
- package/dist/cjs/components/Card/CardContent.js +4 -6
- package/dist/cjs/components/Card/CardContent.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/Dialog/SimpleDialog.js +3 -3
- package/dist/cjs/components/Dialog/SimpleDialog.js.map +1 -1
- package/dist/cjs/components/Icon/canonicalIconNames.js +12 -0
- package/dist/cjs/components/Icon/canonicalIconNames.js.map +1 -1
- package/dist/cjs/components/Label/Label.js +8 -3
- package/dist/cjs/components/Label/Label.js.map +1 -1
- package/dist/cjs/components/Menu/MenuItem.js +3 -2
- package/dist/cjs/components/Menu/MenuItem.js.map +1 -1
- package/dist/cjs/components/OverviewItem/OverviewItem.js +5 -2
- package/dist/cjs/components/OverviewItem/OverviewItem.js.map +1 -1
- package/dist/cjs/components/OverviewItem/OverviewItemList.js +2 -2
- package/dist/cjs/components/OverviewItem/OverviewItemList.js.map +1 -1
- package/dist/cjs/components/Switch/Switch.js +6 -4
- package/dist/cjs/components/Switch/Switch.js.map +1 -1
- package/dist/cjs/components/Tag/TagList.js +1 -1
- package/dist/cjs/components/Tag/TagList.js.map +1 -1
- package/dist/cjs/components/TextField/SearchField.js +19 -2
- package/dist/cjs/components/TextField/SearchField.js.map +1 -1
- package/dist/cjs/components/Typography/OverflowText.js +1 -1
- package/dist/cjs/components/Typography/OverflowText.js.map +1 -1
- package/dist/cjs/components/index.js +1 -0
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/extensions/codemirror/CodeMirror.js +93 -11
- 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 +1 -1
- 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/tests/codemirrorTestHelper.js +4 -1
- package/dist/cjs/extensions/codemirror/tests/codemirrorTestHelper.js.map +1 -1
- package/dist/cjs/extensions/codemirror/toolbars/commands/markdown.command.js +278 -0
- package/dist/cjs/extensions/codemirror/toolbars/commands/markdown.command.js.map +1 -0
- package/dist/cjs/extensions/codemirror/toolbars/markdown.toolbar.js +47 -0
- package/dist/cjs/extensions/codemirror/toolbars/markdown.toolbar.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/cjs/extensions/react-flow/nodes/NodeContent.js +140 -41
- package/dist/cjs/extensions/react-flow/nodes/NodeContent.js.map +1 -1
- package/dist/cjs/extensions/react-flow/nodes/nodeUtils.js +5 -6
- package/dist/cjs/extensions/react-flow/nodes/nodeUtils.js.map +1 -1
- package/dist/esm/cmem/ActivityControl/ActivityControlWidget.js +7 -2
- package/dist/esm/cmem/ActivityControl/ActivityControlWidget.js.map +1 -1
- 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/AutoSuggestion.js +13 -3
- package/dist/esm/components/AutoSuggestion/AutoSuggestion.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/AutocompleteField/AutoCompleteField.js +4 -3
- package/dist/esm/components/AutocompleteField/AutoCompleteField.js.map +1 -1
- package/dist/esm/components/Card/CardActions.js +2 -1
- package/dist/esm/components/Card/CardActions.js.map +1 -1
- package/dist/esm/components/Card/CardContent.js +4 -5
- package/dist/esm/components/Card/CardContent.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/Dialog/SimpleDialog.js +4 -4
- package/dist/esm/components/Dialog/SimpleDialog.js.map +1 -1
- package/dist/esm/components/Icon/canonicalIconNames.js +12 -0
- package/dist/esm/components/Icon/canonicalIconNames.js.map +1 -1
- package/dist/esm/components/Label/Label.js +8 -3
- package/dist/esm/components/Label/Label.js.map +1 -1
- package/dist/esm/components/Menu/MenuItem.js +3 -2
- package/dist/esm/components/Menu/MenuItem.js.map +1 -1
- package/dist/esm/components/OverviewItem/OverviewItem.js +5 -2
- package/dist/esm/components/OverviewItem/OverviewItem.js.map +1 -1
- package/dist/esm/components/OverviewItem/OverviewItemList.js +2 -2
- package/dist/esm/components/OverviewItem/OverviewItemList.js.map +1 -1
- package/dist/esm/components/Switch/Switch.js +7 -5
- package/dist/esm/components/Switch/Switch.js.map +1 -1
- package/dist/esm/components/Tag/TagList.js +1 -1
- package/dist/esm/components/Tag/TagList.js.map +1 -1
- package/dist/esm/components/TextField/SearchField.js +35 -2
- package/dist/esm/components/TextField/SearchField.js.map +1 -1
- package/dist/esm/components/Typography/OverflowText.js +1 -1
- package/dist/esm/components/Typography/OverflowText.js.map +1 -1
- package/dist/esm/components/index.js +1 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/extensions/codemirror/CodeMirror.js +94 -13
- 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 +1 -1
- 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/tests/codemirrorTestHelper.js +4 -0
- package/dist/esm/extensions/codemirror/tests/codemirrorTestHelper.js.map +1 -1
- package/dist/esm/extensions/codemirror/toolbars/commands/markdown.command.js +283 -0
- package/dist/esm/extensions/codemirror/toolbars/commands/markdown.command.js.map +1 -0
- package/dist/esm/extensions/codemirror/toolbars/markdown.toolbar.js +41 -0
- package/dist/esm/extensions/codemirror/toolbars/markdown.toolbar.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/esm/extensions/react-flow/nodes/NodeContent.js +149 -48
- package/dist/esm/extensions/react-flow/nodes/NodeContent.js.map +1 -1
- package/dist/esm/extensions/react-flow/nodes/nodeUtils.js +5 -6
- package/dist/esm/extensions/react-flow/nodes/nodeUtils.js.map +1 -1
- package/dist/types/cmem/ActivityControl/ActivityControlWidget.d.ts +1 -1
- 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/Card/CardActions.d.ts +5 -1
- package/dist/types/components/Card/CardContent.d.ts +1 -2
- package/dist/types/components/ContentGroup/ContentGroup.d.ts +78 -0
- package/dist/types/components/Dialog/SimpleDialog.d.ts +4 -1
- package/dist/types/components/Icon/canonicalIconNames.d.ts +12 -0
- package/dist/types/components/Label/Label.d.ts +7 -1
- package/dist/types/components/Menu/MenuItem.d.ts +8 -1
- package/dist/types/components/OverviewItem/OverviewItem.d.ts +13 -1
- package/dist/types/components/OverviewItem/OverviewItemList.d.ts +3 -2
- package/dist/types/components/ProgressBar/ProgressBar.d.ts +2 -2
- package/dist/types/components/Structure/TitleSubsection.d.ts +7 -0
- package/dist/types/components/Switch/Switch.d.ts +3 -3
- package/dist/types/components/Tabs/Tab.d.ts +14 -0
- package/dist/types/components/TextField/SearchField.d.ts +1 -1
- package/dist/types/components/Typography/OverflowText.d.ts +23 -2
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/extensions/codemirror/CodeMirror.d.ts +32 -5
- package/dist/types/extensions/codemirror/debouncedLinter.d.ts +4 -0
- 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/tests/codemirrorTestHelper.d.ts +1 -0
- package/dist/types/extensions/codemirror/toolbars/commands/markdown.command.d.ts +55 -0
- package/dist/types/extensions/codemirror/toolbars/markdown.toolbar.d.ts +12 -0
- package/dist/types/extensions/codemirror/types.d.ts +5 -0
- package/dist/types/extensions/react-flow/nodes/NodeContent.d.ts +18 -4
- package/dist/types/extensions/react-flow/nodes/nodeUtils.d.ts +7 -6
- package/package.json +50 -47
- package/src/cmem/ActivityControl/ActivityControlWidget.tsx +5 -2
- package/src/cmem/react-flow/StickyNoteModal/StickyNoteModal.tsx +16 -2
- package/src/cmem/react-flow/configuration/_colors-graph.scss +4 -1
- package/src/cmem/react-flow/configuration/_colors-workflow.scss +3 -0
- package/src/components/AutoSuggestion/AutoSuggestion.tsx +14 -3
- package/src/components/AutoSuggestion/ExtendedCodeEditor.tsx +29 -6
- package/src/components/AutocompleteField/AutoCompleteField.tsx +5 -3
- package/src/components/Card/CardActions.tsx +6 -0
- package/src/components/Card/CardContent.tsx +8 -4
- package/src/components/Card/card.scss +15 -0
- package/src/components/CodeAutocompleteField/CodeAutocompleteField.stories.tsx +3 -2
- 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/ContextOverlay/ContextOverlay.stories.tsx +15 -4
- package/src/components/Depiction/depiction.scss +7 -0
- package/src/components/Dialog/SimpleDialog.tsx +9 -2
- package/src/components/Dialog/stories/AlertDialog.stories.tsx +5 -1
- package/src/components/Dialog/stories/Modal.stories.tsx +4 -2
- package/src/components/Dialog/stories/SimpleDialog.stories.tsx +5 -2
- package/src/components/Icon/canonicalIconNames.tsx +12 -0
- package/src/components/Label/Label.stories.tsx +2 -1
- package/src/components/Label/Label.tsx +17 -1
- package/src/components/Label/label.scss +5 -1
- package/src/components/Menu/MenuItem.tsx +27 -1
- package/src/components/Menu/menu.scss +1 -0
- package/src/components/OverviewItem/OverviewItem.tsx +24 -1
- package/src/components/OverviewItem/OverviewItemList.tsx +3 -2
- package/src/components/OverviewItem/overviewitem.scss +4 -1
- package/src/components/OverviewItem/stories/OverviewItem.stories.tsx +6 -12
- package/src/components/Select/Select.stories.tsx +4 -1
- package/src/components/Switch/Switch.tsx +27 -8
- package/src/components/Tag/TagList.tsx +2 -2
- package/src/components/TextField/SearchField.tsx +37 -9
- package/src/components/TextField/stories/SearchField.stories.tsx +15 -1
- package/src/components/TextField/stories/TextField.stories.tsx +2 -1
- package/src/components/TextField/textfield.scss +17 -3
- package/src/components/Typography/OverflowText.tsx +24 -3
- package/src/components/Typography/stories/OverflowText.stories.tsx +33 -0
- package/src/components/index.scss +1 -0
- package/src/components/index.ts +1 -0
- package/src/extensions/codemirror/CodeMirror.stories.tsx +19 -1
- package/src/extensions/codemirror/CodeMirror.tsx +154 -16
- package/src/extensions/codemirror/_codemirror.scss +130 -1
- package/src/extensions/codemirror/debouncedLinter.ts +26 -0
- package/src/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.ts +1 -1
- package/src/extensions/codemirror/linters/jsLinter.ts +38 -0
- package/src/extensions/codemirror/linters/turtleLinter.ts +102 -0
- package/src/extensions/codemirror/tests/codemirrorTestHelper.ts +4 -0
- package/src/extensions/codemirror/toolbars/commands/markdown.command.ts +340 -0
- package/src/extensions/codemirror/toolbars/markdown.toolbar.tsx +117 -0
- package/src/extensions/codemirror/types.ts +7 -0
- package/src/extensions/react-flow/_config.scss +1 -0
- package/src/extensions/react-flow/nodes/NodeContent.tsx +170 -52
- package/src/extensions/react-flow/nodes/_nodes.scss +71 -35
- package/src/extensions/react-flow/nodes/nodeUtils.tsx +16 -14
- package/src/extensions/react-flow/nodes/stories/NodeContent.stories.tsx +51 -12
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
import { EditorSelection } from "@codemirror/state";
|
|
2
|
+
var Commands;
|
|
3
|
+
(function (Commands) {
|
|
4
|
+
Commands["header1"] = "Heading 1";
|
|
5
|
+
Commands["header2"] = "Heading 2";
|
|
6
|
+
Commands["header3"] = "Heading 3";
|
|
7
|
+
Commands["header4"] = "Heading 4";
|
|
8
|
+
Commands["header5"] = "Heading 5";
|
|
9
|
+
Commands["header6"] = "Heading 6";
|
|
10
|
+
Commands["codeBlock"] = "Code block";
|
|
11
|
+
Commands["quote"] = "Block quote";
|
|
12
|
+
Commands["bold"] = "Bold";
|
|
13
|
+
Commands["italic"] = "Italic";
|
|
14
|
+
Commands["strike"] = "StrikeThrough";
|
|
15
|
+
Commands["inlineCode"] = "Inline code";
|
|
16
|
+
Commands["unorderedList"] = "Unordered list";
|
|
17
|
+
Commands["orderedList"] = "Ordered list";
|
|
18
|
+
Commands["todoList"] = "Todo list";
|
|
19
|
+
Commands["link"] = "Link";
|
|
20
|
+
Commands["image"] = "Image";
|
|
21
|
+
})(Commands || (Commands = {}));
|
|
22
|
+
//contains all utilities for markdown toolbar
|
|
23
|
+
var MarkdownCommand = /** @class */ (function () {
|
|
24
|
+
function MarkdownCommand(view) {
|
|
25
|
+
var _this = this;
|
|
26
|
+
this.view = null;
|
|
27
|
+
/**
|
|
28
|
+
* Supported list types are ol, ul, todo.
|
|
29
|
+
* utility helps to determine which at the start of the line
|
|
30
|
+
*/
|
|
31
|
+
this.getListTypeOfLine = function (text) {
|
|
32
|
+
if (!text)
|
|
33
|
+
return;
|
|
34
|
+
text = text === null || text === void 0 ? void 0 : text.trimStart();
|
|
35
|
+
if (text.startsWith("- ")) {
|
|
36
|
+
if (text.startsWith("- [ ] ") || text.startsWith("- [x] "))
|
|
37
|
+
return ["todo"];
|
|
38
|
+
return ["ul"];
|
|
39
|
+
}
|
|
40
|
+
var v = text.match(/^(\d+)\. /);
|
|
41
|
+
return v ? ["ol", Number.parseInt(v[1], 10)] : undefined;
|
|
42
|
+
};
|
|
43
|
+
//factory for different list types.
|
|
44
|
+
this.createList = function (type) {
|
|
45
|
+
if (!_this.view)
|
|
46
|
+
return;
|
|
47
|
+
var view = _this.view;
|
|
48
|
+
var doc = view.state.doc;
|
|
49
|
+
var orderedList = { currentIndex: 1 };
|
|
50
|
+
view.dispatch(view.state.changeByRange(function (range) {
|
|
51
|
+
var text = doc.slice(range.from, range.to);
|
|
52
|
+
var changes = [];
|
|
53
|
+
var selectionStart = range.from;
|
|
54
|
+
var selectionLength = range.to - range.from;
|
|
55
|
+
Array.from({ length: text.lines }).forEach(function (_, index) {
|
|
56
|
+
var line = doc.line(doc.lineAt(range.from).number + index);
|
|
57
|
+
var currentListType = _this.getListTypeOfLine(line.text);
|
|
58
|
+
if (currentListType && currentListType[0] === type) {
|
|
59
|
+
if (currentListType[0] === "ol" && currentListType[1]) {
|
|
60
|
+
orderedList.currentIndex = currentListType[1];
|
|
61
|
+
}
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
var content = _this.createListDelimiter(line.text, type, orderedList);
|
|
65
|
+
var diffLength = content.length - line.length;
|
|
66
|
+
changes.push({
|
|
67
|
+
from: line.from,
|
|
68
|
+
to: line.to,
|
|
69
|
+
insert: content,
|
|
70
|
+
});
|
|
71
|
+
if (index === 0) {
|
|
72
|
+
selectionStart = selectionStart + diffLength;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
selectionLength = selectionLength + diffLength;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
return {
|
|
79
|
+
changes: changes,
|
|
80
|
+
range: EditorSelection.range(selectionStart, selectionStart + selectionLength),
|
|
81
|
+
};
|
|
82
|
+
}));
|
|
83
|
+
view.focus();
|
|
84
|
+
};
|
|
85
|
+
this.enforceCursorFocus = function (cursorPosition) {
|
|
86
|
+
if (!_this.view)
|
|
87
|
+
return;
|
|
88
|
+
var view = _this.view;
|
|
89
|
+
setTimeout(function () {
|
|
90
|
+
view.dispatch({
|
|
91
|
+
selection: EditorSelection.cursor(cursorPosition),
|
|
92
|
+
});
|
|
93
|
+
view.focus();
|
|
94
|
+
}, 50);
|
|
95
|
+
};
|
|
96
|
+
//supported headers from h1-h6, h6 being the smallest
|
|
97
|
+
this.createHeading = function (level) {
|
|
98
|
+
if (!_this.view)
|
|
99
|
+
return;
|
|
100
|
+
var view = _this.view;
|
|
101
|
+
var state = view.state;
|
|
102
|
+
var flags = "#".repeat(level) + " ";
|
|
103
|
+
var lastCursorPosition = 0;
|
|
104
|
+
view.dispatch(state.changeByRange(function (range) {
|
|
105
|
+
var line = state.doc.lineAt(range.from);
|
|
106
|
+
var content = line.text.replace(/^((#+) )?/, flags);
|
|
107
|
+
var diffLength = content.length - line.length;
|
|
108
|
+
lastCursorPosition = line.to + diffLength;
|
|
109
|
+
return {
|
|
110
|
+
changes: {
|
|
111
|
+
from: line.from,
|
|
112
|
+
to: line.to,
|
|
113
|
+
insert: content,
|
|
114
|
+
},
|
|
115
|
+
range: EditorSelection.range(range.anchor + diffLength, range.head + diffLength),
|
|
116
|
+
};
|
|
117
|
+
}));
|
|
118
|
+
_this.enforceCursorFocus(lastCursorPosition);
|
|
119
|
+
};
|
|
120
|
+
this.applyFormatting = function (_a) {
|
|
121
|
+
var start = _a.start, startDelimiter = _a.startDelimiter, _b = _a.endDelimiter, endDelimiter = _b === void 0 ? startDelimiter : _b, _c = _a.stop, stop = _c === void 0 ? start : _c;
|
|
122
|
+
if (!_this.view)
|
|
123
|
+
return;
|
|
124
|
+
var view = _this.view;
|
|
125
|
+
var _d = view.state.selection.main, from = _d.from, to = _d.to;
|
|
126
|
+
var text = view.state.sliceDoc(from, to);
|
|
127
|
+
view.dispatch(view.state.changeByRange(function (range) {
|
|
128
|
+
return {
|
|
129
|
+
changes: [{ from: range.from, to: range.to, insert: "".concat(startDelimiter).concat(text).concat(endDelimiter) }],
|
|
130
|
+
range: EditorSelection.range(range.from + start, range.to + stop),
|
|
131
|
+
};
|
|
132
|
+
}));
|
|
133
|
+
view.focus();
|
|
134
|
+
};
|
|
135
|
+
this.applyAttachment = function (type) {
|
|
136
|
+
if (!_this.view)
|
|
137
|
+
return;
|
|
138
|
+
var view = _this.view;
|
|
139
|
+
var state = view.state;
|
|
140
|
+
var isImageAttachmentType = type === Commands.image;
|
|
141
|
+
var doc = state.doc;
|
|
142
|
+
view.dispatch(state.changeByRange(function (range) {
|
|
143
|
+
var from = range.from, to = range.to;
|
|
144
|
+
var text = doc.sliceString(from, to);
|
|
145
|
+
var link = "".concat(isImageAttachmentType ? "!" : "", "[").concat(text, "]()");
|
|
146
|
+
var cursor = from + (text.length ? 3 + text.length : 1 + Number(isImageAttachmentType));
|
|
147
|
+
return {
|
|
148
|
+
changes: [
|
|
149
|
+
{
|
|
150
|
+
from: from,
|
|
151
|
+
to: to,
|
|
152
|
+
insert: link,
|
|
153
|
+
},
|
|
154
|
+
],
|
|
155
|
+
range: EditorSelection.range(cursor, cursor),
|
|
156
|
+
};
|
|
157
|
+
}));
|
|
158
|
+
view.focus();
|
|
159
|
+
};
|
|
160
|
+
this.applyQuoteFormatting = function () {
|
|
161
|
+
if (!_this.view)
|
|
162
|
+
return;
|
|
163
|
+
var view = _this.view;
|
|
164
|
+
var state = view.state;
|
|
165
|
+
var doc = state.doc;
|
|
166
|
+
var lastCursorPosition = 0;
|
|
167
|
+
view.dispatch(view.state.changeByRange(function (range) {
|
|
168
|
+
var startLine = doc.lineAt(range.from);
|
|
169
|
+
var text = doc.slice(range.from, range.to);
|
|
170
|
+
var lineCount = text.lines;
|
|
171
|
+
var changes = [];
|
|
172
|
+
var selectionStart = range.from;
|
|
173
|
+
var selectionLength = range.to - range.from;
|
|
174
|
+
new Array(lineCount).fill(0).forEach(function (_, index) {
|
|
175
|
+
var line = doc.line(startLine.number + index);
|
|
176
|
+
if (line.text.startsWith("> ")) {
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
changes.push({
|
|
180
|
+
from: line.from,
|
|
181
|
+
insert: "> ",
|
|
182
|
+
});
|
|
183
|
+
if (index === 0) {
|
|
184
|
+
selectionStart = selectionStart + 2;
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
selectionLength += 2;
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
lastCursorPosition = selectionStart + selectionLength;
|
|
191
|
+
return {
|
|
192
|
+
changes: changes,
|
|
193
|
+
range: EditorSelection.range(selectionStart, selectionStart + selectionLength),
|
|
194
|
+
};
|
|
195
|
+
}));
|
|
196
|
+
_this.enforceCursorFocus(lastCursorPosition);
|
|
197
|
+
};
|
|
198
|
+
this.executeCommand = function (command) {
|
|
199
|
+
var _a;
|
|
200
|
+
switch (command) {
|
|
201
|
+
case Commands.bold:
|
|
202
|
+
return _this.applyFormatting({ start: 2, startDelimiter: "**" });
|
|
203
|
+
case Commands.italic:
|
|
204
|
+
return _this.applyFormatting({ start: 1, startDelimiter: "*" });
|
|
205
|
+
case Commands.codeBlock:
|
|
206
|
+
return _this.applyFormatting({ start: 3, startDelimiter: "```\n", endDelimiter: "\n```" });
|
|
207
|
+
case Commands.strike:
|
|
208
|
+
return _this.applyFormatting({ start: 2, startDelimiter: "~~" });
|
|
209
|
+
case Commands.inlineCode:
|
|
210
|
+
return _this.applyFormatting({ start: 1, startDelimiter: "`" });
|
|
211
|
+
case Commands.header1:
|
|
212
|
+
case Commands.header2:
|
|
213
|
+
case Commands.header3:
|
|
214
|
+
case Commands.header4:
|
|
215
|
+
case Commands.header5:
|
|
216
|
+
case Commands.header6:
|
|
217
|
+
return _this.createHeading(Number(command.slice(-1)));
|
|
218
|
+
case Commands.unorderedList:
|
|
219
|
+
case Commands.orderedList:
|
|
220
|
+
case Commands.todoList:
|
|
221
|
+
return _this.createList((_a = MarkdownCommand.commands.lists.find(function (l) { return l.title === command; })) === null || _a === void 0 ? void 0 : _a.moniker);
|
|
222
|
+
case Commands.image:
|
|
223
|
+
case Commands.link:
|
|
224
|
+
return _this.applyAttachment(command);
|
|
225
|
+
case Commands.quote:
|
|
226
|
+
return _this.applyQuoteFormatting();
|
|
227
|
+
default:
|
|
228
|
+
return; //do nothing;
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
this.view = view;
|
|
232
|
+
}
|
|
233
|
+
//inserts the list delimiters of "-", "- [ ]" and "{number}."
|
|
234
|
+
MarkdownCommand.prototype.createListDelimiter = function (text, type, orderedList) {
|
|
235
|
+
return text.replace(/^(( *)(-( \[[x ]])?|\d+\.) )?/, function () {
|
|
236
|
+
var args = [];
|
|
237
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
238
|
+
args[_i] = arguments[_i];
|
|
239
|
+
}
|
|
240
|
+
var _a = args[args.length - 1].space, space = _a === void 0 ? "" : _a;
|
|
241
|
+
var newFlag = "- ";
|
|
242
|
+
if (type === "ol") {
|
|
243
|
+
newFlag = "".concat(orderedList.currentIndex, ". ");
|
|
244
|
+
orderedList.currentIndex++;
|
|
245
|
+
}
|
|
246
|
+
else if (type === "todo") {
|
|
247
|
+
newFlag = "- [ ] ";
|
|
248
|
+
}
|
|
249
|
+
return space + newFlag;
|
|
250
|
+
});
|
|
251
|
+
};
|
|
252
|
+
//list of supported commands as well as the valid icon names.
|
|
253
|
+
MarkdownCommand.commands = {
|
|
254
|
+
paragraphs: [
|
|
255
|
+
Commands.header1,
|
|
256
|
+
Commands.header2,
|
|
257
|
+
Commands.header3,
|
|
258
|
+
Commands.header4,
|
|
259
|
+
Commands.header5,
|
|
260
|
+
Commands.header6,
|
|
261
|
+
Commands.quote,
|
|
262
|
+
Commands.codeBlock,
|
|
263
|
+
],
|
|
264
|
+
basic: [
|
|
265
|
+
{ title: Commands.bold, icon: "operation-format-text-bold" },
|
|
266
|
+
{ title: Commands.italic, icon: "operation-format-text-italic" },
|
|
267
|
+
{ title: Commands.strike, icon: "operation-format-text-strikethrough" },
|
|
268
|
+
{ title: Commands.inlineCode, icon: "operation-format-text-code" },
|
|
269
|
+
],
|
|
270
|
+
lists: [
|
|
271
|
+
{ title: Commands.unorderedList, icon: "operation-format-list-bullet", moniker: "ul" },
|
|
272
|
+
{ title: Commands.orderedList, icon: "operation-format-list-numbered", moniker: "ol" },
|
|
273
|
+
{ title: Commands.todoList, icon: "operation-format-list-checked", moniker: "todo" },
|
|
274
|
+
],
|
|
275
|
+
attachments: [
|
|
276
|
+
{ title: Commands.link, icon: "operation-link" },
|
|
277
|
+
{ title: Commands.image, icon: "item-image" },
|
|
278
|
+
],
|
|
279
|
+
};
|
|
280
|
+
return MarkdownCommand;
|
|
281
|
+
}());
|
|
282
|
+
export default MarkdownCommand;
|
|
283
|
+
//# sourceMappingURL=markdown.command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.command.js","sourceRoot":"","sources":["../../../../../../src/extensions/codemirror/toolbars/commands/markdown.command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Button } from "../../../components/Button/Button.js";
|
|
3
|
+
import { ContextMenu } from "../../../components/ContextOverlay/index.js";
|
|
4
|
+
import { Icon, IconButton } from "../../../components/Icon/index.js";
|
|
5
|
+
import { MenuItem } from "../../../components/Menu/index.js";
|
|
6
|
+
import { Spacing } from "../../../components/Separation/Spacing.js";
|
|
7
|
+
import { Toolbar, ToolbarSection } from "../../../components/Toolbar/index.js";
|
|
8
|
+
import MarkdownCommand from "./commands/markdown.command.js";
|
|
9
|
+
export var MarkdownToolbar = function (_a) {
|
|
10
|
+
var view = _a.view, togglePreviewStatus = _a.togglePreviewStatus, showPreview = _a.showPreview, disabled = _a.disabled, readonly = _a.readonly, translate = _a.translate;
|
|
11
|
+
var commandRef = React.useRef(null);
|
|
12
|
+
React.useEffect(function () {
|
|
13
|
+
if (view) {
|
|
14
|
+
commandRef.current = new MarkdownCommand(view);
|
|
15
|
+
}
|
|
16
|
+
}, [view]);
|
|
17
|
+
var getTranslation = function (fallback) {
|
|
18
|
+
var key = fallback.toLowerCase().replace(" ", "-");
|
|
19
|
+
return translate(key) || fallback;
|
|
20
|
+
};
|
|
21
|
+
var _b = MarkdownCommand.commands, basic = _b.basic, lists = _b.lists, attachments = _b.attachments;
|
|
22
|
+
return (React.createElement(Toolbar, { noWrap: true },
|
|
23
|
+
React.createElement(ToolbarSection, { canShrink: true, hideOverflow: true },
|
|
24
|
+
React.createElement(ContextMenu, { togglerElement: React.createElement(Button, { rightIcon: React.createElement(Icon, { name: "toggler-showmore" }), text: getTranslation("Paragraphs"), minimal: true, fill: true, ellipsizeText: true, disabled: showPreview || disabled || readonly }) }, MarkdownCommand.commands.paragraphs.map(function (p, i) { return (React.createElement(MenuItem, { key: p, text: React.createElement(React.Fragment, null,
|
|
25
|
+
React.createElement("span", { style: p.startsWith("Head") ? { fontSize: 22 - (i * (22 - 12)) / 5 } : {} }, getTranslation(p))), onClick: function () { var _a; return (_a = commandRef.current) === null || _a === void 0 ? void 0 : _a.executeCommand(p); } })); }))),
|
|
26
|
+
React.createElement(ToolbarSection, { canShrink: true },
|
|
27
|
+
React.createElement(Spacing, { vertical: true, hasDivider: true, size: "tiny" })),
|
|
28
|
+
[basic, lists, attachments].map(function (section, i) {
|
|
29
|
+
return (React.createElement(React.Fragment, { key: i },
|
|
30
|
+
React.createElement(ToolbarSection, null, section.map(function (command) {
|
|
31
|
+
return (React.createElement(IconButton, { key: command.title, name: command.icon, onClick: function () { var _a; return (_a = commandRef.current) === null || _a === void 0 ? void 0 : _a.executeCommand(command.title); }, text: getTranslation(command.title), disabled: showPreview || disabled || readonly }));
|
|
32
|
+
})),
|
|
33
|
+
i < 2 && (React.createElement(ToolbarSection, { canShrink: true },
|
|
34
|
+
React.createElement(Spacing, { vertical: true, hasDivider: true, size: "tiny" })))));
|
|
35
|
+
}),
|
|
36
|
+
React.createElement(ToolbarSection, { canGrow: true, canShrink: true },
|
|
37
|
+
React.createElement(Spacing, { vertical: true, size: "small" })),
|
|
38
|
+
React.createElement(ToolbarSection, { canShrink: true, hideOverflow: true },
|
|
39
|
+
React.createElement(Button, { minimal: true, ellipsizeText: true, onClick: togglePreviewStatus, text: showPreview ? getTranslation("Continue editing") : getTranslation("Preview"), icon: showPreview ? "item-edit" : "item-viewdetails", disabled: disabled }))));
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=markdown.toolbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.toolbar.js","sourceRoot":"","sources":["../../../../../src/extensions/codemirror/toolbars/markdown.toolbar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/extensions/codemirror/types.ts"],"names":[],"mappings":""}
|
|
@@ -98,27 +98,36 @@ var MemoHandler = React.memo(function (props) { return React.createElement(Handl
|
|
|
98
98
|
*/
|
|
99
99
|
export function NodeContent(_a) {
|
|
100
100
|
var _b;
|
|
101
|
-
var _c, _d;
|
|
102
|
-
var flowVersion = _a.flowVersion, iconName = _a.iconName, depiction = _a.depiction, leftElement = _a.leftElement, typeLabel = _a.typeLabel, label = _a.label, labelSubline = _a.labelSubline, enlargeHeader = _a.enlargeHeader, fullWidth = _a.fullWidth,
|
|
101
|
+
var _c, _d, _e, _f;
|
|
102
|
+
var flowVersion = _a.flowVersion, iconName = _a.iconName, depiction = _a.depiction, leftElement = _a.leftElement, typeLabel = _a.typeLabel, label = _a.label, labelSubline = _a.labelSubline, enlargeHeader = _a.enlargeHeader, fullWidth = _a.fullWidth, _g = _a.showExecutionButtons, showExecutionButtons = _g === void 0 ? true : _g, executionButtons = _a.executionButtons, menuButtons = _a.menuButtons, content = _a.content, contentExtension = _a.contentExtension, footerContent = _a.footerContent, _h = _a.size, size = _h === void 0 ? "small" : _h, _j = _a.minimalShape, minimalShape = _j === void 0 ? "circular" : _j, intent = _a.intent, border = _a.border, highlightColor = _a.highlightColor,
|
|
103
103
|
//handles = defaultHandles(),
|
|
104
|
-
adaptHeightForHandleMinCount = _a.adaptHeightForHandleMinCount,
|
|
104
|
+
adaptHeightForHandleMinCount = _a.adaptHeightForHandleMinCount, _k = _a.adaptSizeIncrement, adaptSizeIncrement = _k === void 0 ? 15 : _k,
|
|
105
|
+
// FIXME: getMinimalTooltipData is just being ignored, only used in `NodeDefault`
|
|
106
|
+
_l = _a.getMinimalTooltipData,
|
|
107
|
+
// FIXME: getMinimalTooltipData is just being ignored, only used in `NodeDefault`
|
|
108
|
+
getMinimalTooltipData = _l === void 0 ? getDefaultMinimalTooltipData : _l, _m = _a.style, style = _m === void 0 ? {} : _m, _o = _a.showUnconnectableHandles, showUnconnectableHandles = _o === void 0 ? false : _o, _p = _a.animated, animated = _p === void 0 ? false : _p, _q = _a.introductionTime, introductionTime = _q === void 0 ? 0 : _q,
|
|
109
|
+
// resizing
|
|
110
|
+
onNodeResize = _a.onNodeResize, nodeDimensions = _a.nodeDimensions, _r = _a.resizeDirections, resizeDirections = _r === void 0 ? { bottom: true, right: true } : _r, resizeMaxDimensions = _a.resizeMaxDimensions,
|
|
105
111
|
// forwarded props
|
|
106
|
-
|
|
112
|
+
_s = _a.targetPosition,
|
|
107
113
|
// forwarded props
|
|
108
|
-
targetPosition =
|
|
109
|
-
// businessData is just being ignored
|
|
114
|
+
targetPosition = _s === void 0 ? Position.Left : _s, _t = _a.sourcePosition, sourcePosition = _t === void 0 ? Position.Right : _t, _u = _a.isConnectable, isConnectable = _u === void 0 ? true : _u, selected = _a.selected, _v = _a.letPassWheelEvents, letPassWheelEvents = _v === void 0 ? false : _v,
|
|
115
|
+
// FIXME: businessData is just being ignored
|
|
110
116
|
businessData = _a.businessData,
|
|
111
117
|
// other props for DOM element
|
|
112
|
-
otherDomProps = __rest(_a, ["flowVersion", "iconName", "depiction", "leftElement", "typeLabel", "label", "labelSubline", "enlargeHeader", "fullWidth", "showExecutionButtons", "executionButtons", "menuButtons", "content", "contentExtension", "footerContent", "size", "minimalShape", "intent", "border", "highlightColor", "adaptHeightForHandleMinCount", "adaptSizeIncrement", "getMinimalTooltipData", "style", "showUnconnectableHandles", "animated", "introductionTime", "onNodeResize", "nodeDimensions", "targetPosition", "sourcePosition", "isConnectable", "selected", "letPassWheelEvents", "businessData"]);
|
|
118
|
+
otherDomProps = __rest(_a, ["flowVersion", "iconName", "depiction", "leftElement", "typeLabel", "label", "labelSubline", "enlargeHeader", "fullWidth", "showExecutionButtons", "executionButtons", "menuButtons", "content", "contentExtension", "footerContent", "size", "minimalShape", "intent", "border", "highlightColor", "adaptHeightForHandleMinCount", "adaptSizeIncrement", "getMinimalTooltipData", "style", "showUnconnectableHandles", "animated", "introductionTime", "onNodeResize", "nodeDimensions", "resizeDirections", "resizeMaxDimensions", "targetPosition", "sourcePosition", "isConnectable", "selected", "letPassWheelEvents", "businessData"]);
|
|
113
119
|
var evaluateFlowVersion = useReactFlowVersion();
|
|
114
120
|
var flowVersionCheck = flowVersion || evaluateFlowVersion;
|
|
115
|
-
var
|
|
116
|
-
var
|
|
117
|
-
var
|
|
118
|
-
var
|
|
119
|
-
var
|
|
121
|
+
var _w = __read(React.useState(false), 2), introductionDone = _w[0], setIntroductionDone = _w[1];
|
|
122
|
+
var _x = otherDomProps.handles, handles = _x === void 0 ? defaultHandles(flowVersionCheck) : _x, otherProps = __rest(otherDomProps, ["handles"]);
|
|
123
|
+
var hasValidResizeDirection = resizeDirections.bottom || resizeDirections.right;
|
|
124
|
+
var isResizable = typeof onNodeResize === "function" && hasValidResizeDirection && minimalShape === "none";
|
|
125
|
+
var _y = __read(React.useState((_c = nodeDimensions === null || nodeDimensions === void 0 ? void 0 : nodeDimensions.width) !== null && _c !== void 0 ? _c : undefined), 2), width = _y[0], setWidth = _y[1];
|
|
126
|
+
var _z = __read(React.useState((_d = nodeDimensions === null || nodeDimensions === void 0 ? void 0 : nodeDimensions.height) !== null && _d !== void 0 ? _d : undefined), 2), height = _z[0], setHeight = _z[1];
|
|
127
|
+
// Keeps the initial size of the element
|
|
128
|
+
var originalSize = React.useRef({});
|
|
120
129
|
var zoom = 1;
|
|
121
|
-
if (
|
|
130
|
+
if (isResizable)
|
|
122
131
|
try {
|
|
123
132
|
_b = __read(flowVersionCheck === "legacy"
|
|
124
133
|
? getStoreStateFlowLegacy(function (state) { return state.transform; })
|
|
@@ -129,7 +138,7 @@ export function NodeContent(_a) {
|
|
|
129
138
|
// eslint-disable-next-line no-console
|
|
130
139
|
console.error(error);
|
|
131
140
|
}
|
|
132
|
-
var
|
|
141
|
+
var _3 = __read(React.useState({}), 2), adjustedContentProps = _3[0], setAdjustedContentProps = _3[1];
|
|
133
142
|
var nodeContentRef = React.useRef();
|
|
134
143
|
var handleStack = flowVersionCheck === "legacy"
|
|
135
144
|
? {}
|
|
@@ -142,27 +151,63 @@ export function NodeContent(_a) {
|
|
|
142
151
|
flowVersionCheck === "legacy" ? [] : [];
|
|
143
152
|
handleStack[Position.Left] =
|
|
144
153
|
flowVersionCheck === "legacy" ? [] : [];
|
|
145
|
-
|
|
154
|
+
var saveOriginalSize = function () {
|
|
155
|
+
var currentClassNames = nodeContentRef.current.classList;
|
|
156
|
+
if (currentClassNames.contains("was-resized") && !width && !height) {
|
|
157
|
+
currentClassNames.remove("was-resized");
|
|
158
|
+
}
|
|
159
|
+
originalSize.current.width = nodeContentRef.current.offsetWidth;
|
|
160
|
+
originalSize.current.height = nodeContentRef.current.offsetHeight;
|
|
161
|
+
};
|
|
162
|
+
React.useEffect(function () {
|
|
163
|
+
if (nodeContentRef.current && (!(originalSize.current.width || originalSize.current.height) || !(width || height))) {
|
|
164
|
+
saveOriginalSize();
|
|
165
|
+
}
|
|
166
|
+
}, [!!nodeContentRef.current, !(originalSize.current.width || originalSize.current.height), !(width || height)]);
|
|
167
|
+
// Update width and height when node dimensions parameters has changed
|
|
146
168
|
React.useEffect(function () {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
169
|
+
var updateWidth = (nodeDimensions === null || nodeDimensions === void 0 ? void 0 : nodeDimensions.width) ? validateWidth(nodeDimensions === null || nodeDimensions === void 0 ? void 0 : nodeDimensions.width) : undefined;
|
|
170
|
+
var updateHeight = (nodeDimensions === null || nodeDimensions === void 0 ? void 0 : nodeDimensions.height) ? validateHeight(nodeDimensions === null || nodeDimensions === void 0 ? void 0 : nodeDimensions.height) : undefined;
|
|
171
|
+
setWidth(updateWidth);
|
|
172
|
+
setHeight(updateHeight);
|
|
173
|
+
}, [nodeDimensions]);
|
|
174
|
+
var isResizingActive = React.useCallback(function () {
|
|
175
|
+
var currentClassNames = nodeContentRef.current.classList;
|
|
176
|
+
return resizeDirections.right === currentClassNames.contains("is-resizable-horizontal") ||
|
|
177
|
+
resizeDirections.bottom === currentClassNames.contains("is-resizable-vertical");
|
|
178
|
+
}, []);
|
|
179
|
+
// force default size when resizing is activated but no dimensions are set
|
|
180
|
+
React.useEffect(function () {
|
|
181
|
+
var _a, _b;
|
|
182
|
+
var resizingActive = isResizingActive();
|
|
183
|
+
if (isResizable && !resizingActive) {
|
|
184
|
+
if (!width || !height) {
|
|
185
|
+
var newWidth = validateWidth(width !== null && width !== void 0 ? width : (_a = originalSize.current) === null || _a === void 0 ? void 0 : _a.width);
|
|
186
|
+
var newHeight = validateHeight(height !== null && height !== void 0 ? height : (_b = originalSize.current) === null || _b === void 0 ? void 0 : _b.height);
|
|
187
|
+
setWidth(newWidth);
|
|
188
|
+
setHeight(newHeight);
|
|
155
189
|
}
|
|
156
|
-
nodeContentRef.current.className = nodeContentRef.current.className + " is-resizeable";
|
|
157
190
|
}
|
|
158
|
-
}, [nodeContentRef, onNodeResize, minimalShape,
|
|
159
|
-
//
|
|
191
|
+
}, [nodeContentRef.current, onNodeResize, minimalShape, resizeDirections === null || resizeDirections === void 0 ? void 0 : resizeDirections.bottom, resizeDirections === null || resizeDirections === void 0 ? void 0 : resizeDirections.right, width, height]); // need to be done everytime a property is changed and the element is re-rendered, otherwise the resizing class is lost
|
|
192
|
+
// conditional enhancements for activated resizing
|
|
160
193
|
React.useEffect(function () {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
194
|
+
var currentClassNames = nodeContentRef.current.classList;
|
|
195
|
+
var resizingActive = isResizingActive();
|
|
196
|
+
if (isResizable && !resizingActive) {
|
|
197
|
+
if (currentClassNames.contains("is-resizable-horizontal")) {
|
|
198
|
+
currentClassNames.remove("is-resizable-horizontal");
|
|
199
|
+
}
|
|
200
|
+
if (currentClassNames.contains("is-resizable-vertical")) {
|
|
201
|
+
currentClassNames.remove("is-resizable-vertical");
|
|
202
|
+
}
|
|
203
|
+
if (resizeDirections.right) {
|
|
204
|
+
currentClassNames.add("is-resizable-horizontal");
|
|
205
|
+
}
|
|
206
|
+
if (resizeDirections.bottom) {
|
|
207
|
+
currentClassNames.add("is-resizable-vertical");
|
|
208
|
+
}
|
|
164
209
|
}
|
|
165
|
-
},
|
|
210
|
+
}); // need to be done everytime a property is changed and the element is re-rendered, otherwise the resizing class is lost
|
|
166
211
|
// remove introduction class
|
|
167
212
|
React.useEffect(function () {
|
|
168
213
|
var _a;
|
|
@@ -216,8 +261,15 @@ export function NodeContent(_a) {
|
|
|
216
261
|
var minHeightRight = handleStack[Position.Right].length * adaptSizeIncrement;
|
|
217
262
|
styleExpandDimensions["minHeight"] = Math.max(minHeightLeft, minHeightRight);
|
|
218
263
|
}
|
|
219
|
-
var
|
|
220
|
-
var resizableStyles =
|
|
264
|
+
var _4 = evaluateHighlightColors("--node-highlight", highlightColor), highlightClassNameSuffix = _4.highlightClassNameSuffix, highlightCustomPropertySettings = _4.highlightCustomPropertySettings;
|
|
265
|
+
var resizableStyles = isResizable && (width !== null && width !== void 0 ? width : 0) + (height !== null && height !== void 0 ? height : 0) > 0
|
|
266
|
+
? {
|
|
267
|
+
width: width,
|
|
268
|
+
height: height,
|
|
269
|
+
maxWidth: resizeDirections.right ? (_e = resizeMaxDimensions === null || resizeMaxDimensions === void 0 ? void 0 : resizeMaxDimensions.width) !== null && _e !== void 0 ? _e : undefined : undefined,
|
|
270
|
+
maxHeight: resizeDirections.bottom ? (_f = resizeMaxDimensions === null || resizeMaxDimensions === void 0 ? void 0 : resizeMaxDimensions.height) !== null && _f !== void 0 ? _f : undefined : undefined,
|
|
271
|
+
}
|
|
272
|
+
: {};
|
|
221
273
|
var introductionStyles = introductionTime && !introductionDone
|
|
222
274
|
? {
|
|
223
275
|
"--node-introduction-time": "".concat(typeof introductionTime === "object" ? introductionTime.run : introductionTime, "ms"),
|
|
@@ -271,21 +323,70 @@ export function NodeContent(_a) {
|
|
|
271
323
|
addHandles(handleStack, Position.Right, "top", isConnectable, style, flowVersionCheck),
|
|
272
324
|
addHandles(handleStack, Position.Bottom, "left", isConnectable, style, flowVersionCheck),
|
|
273
325
|
addHandles(handleStack, Position.Left, "top", isConnectable, style, flowVersionCheck)))));
|
|
274
|
-
var
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
326
|
+
var validateWidth = function (resizedWidth) {
|
|
327
|
+
var _a;
|
|
328
|
+
// only allow value if resize direction is allowed
|
|
329
|
+
if (!resizeDirections.right) {
|
|
330
|
+
return undefined;
|
|
331
|
+
}
|
|
332
|
+
// we need to check because there is probably a min value defined via CSS
|
|
333
|
+
var min = parseFloat(getComputedStyle(nodeContentRef.current).getPropertyValue("min-width"));
|
|
334
|
+
// we need to check for a given max value
|
|
335
|
+
var max = (_a = resizeMaxDimensions === null || resizeMaxDimensions === void 0 ? void 0 : resizeMaxDimensions.width) !== null && _a !== void 0 ? _a : Infinity;
|
|
336
|
+
var validatedWidth = Math.max(Math.min(resizedWidth, max), min);
|
|
337
|
+
return validatedWidth;
|
|
338
|
+
};
|
|
339
|
+
var validateHeight = function (resizedHeight) {
|
|
340
|
+
var _a;
|
|
341
|
+
if (!resizeDirections.bottom) {
|
|
342
|
+
return undefined;
|
|
343
|
+
}
|
|
344
|
+
// we need to check because there is probably a min value defined via CSS
|
|
345
|
+
var min = parseFloat(getComputedStyle(nodeContentRef.current).getPropertyValue("min-height"));
|
|
346
|
+
var max = (_a = resizeMaxDimensions === null || resizeMaxDimensions === void 0 ? void 0 : resizeMaxDimensions.height) !== null && _a !== void 0 ? _a : Infinity;
|
|
347
|
+
var validatedHeight = Math.max(Math.min(resizedHeight, max), min);
|
|
348
|
+
return validatedHeight;
|
|
349
|
+
};
|
|
350
|
+
var resizableNode = function () {
|
|
351
|
+
var _a, _b;
|
|
352
|
+
var size = { height: height !== null && height !== void 0 ? height : "auto", width: width !== null && width !== void 0 ? width : "auto" };
|
|
353
|
+
return (React.createElement(Resizable, { className: "".concat(eccgui, "-graphviz__node__resizer") +
|
|
354
|
+
(resizeDirections.right ? " ".concat(eccgui, "-graphviz__node__resizer--right") : "") +
|
|
355
|
+
(resizeDirections.bottom ? " ".concat(eccgui, "-graphviz__node__resizer--bottom") : ""), handleWrapperClass: "".concat(eccgui, "-graphviz__node__resizer--cursorhandles") + " nodrag", size: size, maxHeight: (_a = resizeMaxDimensions === null || resizeMaxDimensions === void 0 ? void 0 : resizeMaxDimensions.height) !== null && _a !== void 0 ? _a : undefined, maxWidth: (_b = resizeMaxDimensions === null || resizeMaxDimensions === void 0 ? void 0 : resizeMaxDimensions.width) !== null && _b !== void 0 ? _b : undefined, enable: resizeDirections.bottom && resizeDirections.right ? { bottomRight: true } : resizeDirections, scale: zoom, onResize: function (_0, _1, _2, d) {
|
|
356
|
+
var _a, _b;
|
|
357
|
+
if (nodeContentRef.current) {
|
|
358
|
+
var nextWidth = resizeDirections.right
|
|
359
|
+
? ((_a = width !== null && width !== void 0 ? width : originalSize.current.width) !== null && _a !== void 0 ? _a : 0) + d.width
|
|
360
|
+
: undefined;
|
|
361
|
+
var nextHeight = resizeDirections.bottom
|
|
362
|
+
? ((_b = height !== null && height !== void 0 ? height : originalSize.current.height) !== null && _b !== void 0 ? _b : 0) + d.height
|
|
363
|
+
: undefined;
|
|
364
|
+
if (nextWidth || nextHeight) {
|
|
365
|
+
var currentClassNames = nodeContentRef.current.classList;
|
|
366
|
+
currentClassNames.add("was-resized");
|
|
367
|
+
}
|
|
368
|
+
if (nextWidth) {
|
|
369
|
+
nodeContentRef.current.style.width = "".concat(nextWidth, "px");
|
|
370
|
+
}
|
|
371
|
+
if (nextHeight) {
|
|
372
|
+
nodeContentRef.current.style.height = "".concat(nextHeight, "px");
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
}, onResizeStop: function (_0, _1, _2, d) {
|
|
376
|
+
var _a, _b;
|
|
377
|
+
var nextWidth = validateWidth(((_a = width !== null && width !== void 0 ? width : originalSize.current.width) !== null && _a !== void 0 ? _a : 0) + d.width);
|
|
378
|
+
var nextHeight = validateHeight(((_b = height !== null && height !== void 0 ? height : originalSize.current.height) !== null && _b !== void 0 ? _b : 0) + d.height);
|
|
379
|
+
setWidth(nextWidth);
|
|
380
|
+
setHeight(nextHeight);
|
|
381
|
+
if (onNodeResize) {
|
|
382
|
+
onNodeResize({
|
|
383
|
+
height: nextHeight,
|
|
384
|
+
width: nextWidth,
|
|
385
|
+
});
|
|
386
|
+
}
|
|
387
|
+
} }, nodeContent));
|
|
388
|
+
};
|
|
389
|
+
return isResizable ? resizableNode() : nodeContent;
|
|
289
390
|
}
|
|
290
391
|
var evaluateHighlightColors = function (baseCustomProperty, highlightColor) {
|
|
291
392
|
var _a;
|
|
@@ -311,7 +412,7 @@ var evaluateHighlightColors = function (baseCustomProperty, highlightColor) {
|
|
|
311
412
|
try {
|
|
312
413
|
customColor = Color(color);
|
|
313
414
|
}
|
|
314
|
-
catch (
|
|
415
|
+
catch (_c) {
|
|
315
416
|
// eslint-disable-next-line no-console
|
|
316
417
|
console.warn("Received invalid color for highlight: " + color);
|
|
317
418
|
}
|