@plait/draw 0.77.3 → 0.78.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/fesm2022/plait-draw.mjs +2 -2
- package/fesm2022/plait-draw.mjs.map +1 -1
- package/package.json +1 -3
- package/esm2022/arrow-line.component.mjs +0 -165
- package/esm2022/constants/default.mjs +0 -7
- package/esm2022/constants/geometry.mjs +0 -272
- package/esm2022/constants/image.mjs +0 -2
- package/esm2022/constants/index.mjs +0 -9
- package/esm2022/constants/line.mjs +0 -12
- package/esm2022/constants/pointer.mjs +0 -23
- package/esm2022/constants/swimlane.mjs +0 -25
- package/esm2022/constants/text.mjs +0 -2
- package/esm2022/constants/theme.mjs +0 -28
- package/esm2022/engines/basic-shapes/cloud.mjs +0 -146
- package/esm2022/engines/basic-shapes/comment.mjs +0 -56
- package/esm2022/engines/basic-shapes/cross.mjs +0 -33
- package/esm2022/engines/basic-shapes/diamond.mjs +0 -16
- package/esm2022/engines/basic-shapes/ellipse.mjs +0 -53
- package/esm2022/engines/basic-shapes/hexagon.mjs +0 -27
- package/esm2022/engines/basic-shapes/left-arrow.mjs +0 -30
- package/esm2022/engines/basic-shapes/octagon.mjs +0 -29
- package/esm2022/engines/basic-shapes/parallelogram.mjs +0 -26
- package/esm2022/engines/basic-shapes/pentagon-arrow.mjs +0 -27
- package/esm2022/engines/basic-shapes/pentagon.mjs +0 -30
- package/esm2022/engines/basic-shapes/polygon.mjs +0 -56
- package/esm2022/engines/basic-shapes/process-arrow.mjs +0 -26
- package/esm2022/engines/basic-shapes/rectangle.mjs +0 -26
- package/esm2022/engines/basic-shapes/right-arrow.mjs +0 -28
- package/esm2022/engines/basic-shapes/round-comment.mjs +0 -82
- package/esm2022/engines/basic-shapes/round-rectangle.mjs +0 -58
- package/esm2022/engines/basic-shapes/star.mjs +0 -39
- package/esm2022/engines/basic-shapes/trapezoid.mjs +0 -26
- package/esm2022/engines/basic-shapes/triangle.mjs +0 -34
- package/esm2022/engines/basic-shapes/two-way-arrow.mjs +0 -25
- package/esm2022/engines/flowchart/database.mjs +0 -84
- package/esm2022/engines/flowchart/delay.mjs +0 -44
- package/esm2022/engines/flowchart/display.mjs +0 -74
- package/esm2022/engines/flowchart/document.mjs +0 -81
- package/esm2022/engines/flowchart/hard-disk.mjs +0 -84
- package/esm2022/engines/flowchart/internal-storage.mjs +0 -47
- package/esm2022/engines/flowchart/manual-input.mjs +0 -33
- package/esm2022/engines/flowchart/manual-loop.mjs +0 -26
- package/esm2022/engines/flowchart/merge.mjs +0 -34
- package/esm2022/engines/flowchart/multi-document.mjs +0 -143
- package/esm2022/engines/flowchart/note-curly-left.mjs +0 -86
- package/esm2022/engines/flowchart/note-curly-right.mjs +0 -89
- package/esm2022/engines/flowchart/note-square.mjs +0 -46
- package/esm2022/engines/flowchart/off-page.mjs +0 -32
- package/esm2022/engines/flowchart/or.mjs +0 -20
- package/esm2022/engines/flowchart/predefined-process.mjs +0 -47
- package/esm2022/engines/flowchart/preparation.mjs +0 -27
- package/esm2022/engines/flowchart/stored-data.mjs +0 -79
- package/esm2022/engines/flowchart/summing-junction.mjs +0 -23
- package/esm2022/engines/flowchart/terminal.mjs +0 -68
- package/esm2022/engines/index.mjs +0 -130
- package/esm2022/engines/table/table.mjs +0 -101
- package/esm2022/engines/uml/activity-class.mjs +0 -47
- package/esm2022/engines/uml/actor.mjs +0 -119
- package/esm2022/engines/uml/assembly.mjs +0 -105
- package/esm2022/engines/uml/combined-fragment.mjs +0 -66
- package/esm2022/engines/uml/component-box.mjs +0 -61
- package/esm2022/engines/uml/component.mjs +0 -117
- package/esm2022/engines/uml/container.mjs +0 -44
- package/esm2022/engines/uml/deletion.mjs +0 -54
- package/esm2022/engines/uml/note.mjs +0 -58
- package/esm2022/engines/uml/package.mjs +0 -105
- package/esm2022/engines/uml/provided-interface.mjs +0 -92
- package/esm2022/engines/uml/required-interface.mjs +0 -81
- package/esm2022/engines/uml/template.mjs +0 -47
- package/esm2022/generators/arrow-line-auto-complete.generator.mjs +0 -46
- package/esm2022/generators/arrow-line.generator.mjs +0 -13
- package/esm2022/generators/geometry-shape.generator.mjs +0 -29
- package/esm2022/generators/index.mjs +0 -7
- package/esm2022/generators/line-active.generator.mjs +0 -84
- package/esm2022/generators/single-text.generator.mjs +0 -16
- package/esm2022/generators/table.generator.mjs +0 -25
- package/esm2022/generators/text.generator.mjs +0 -131
- package/esm2022/generators/vector-line-generator.mjs +0 -13
- package/esm2022/geometry.component.mjs +0 -145
- package/esm2022/image.component.mjs +0 -67
- package/esm2022/interfaces/arrow-line.mjs +0 -70
- package/esm2022/interfaces/element.mjs +0 -9
- package/esm2022/interfaces/engine.mjs +0 -2
- package/esm2022/interfaces/geometry.mjs +0 -82
- package/esm2022/interfaces/image.mjs +0 -2
- package/esm2022/interfaces/index.mjs +0 -92
- package/esm2022/interfaces/line.mjs +0 -2
- package/esm2022/interfaces/options.mjs +0 -2
- package/esm2022/interfaces/swimlane.mjs +0 -13
- package/esm2022/interfaces/table.mjs +0 -13
- package/esm2022/interfaces/text.mjs +0 -2
- package/esm2022/interfaces/vector-line.mjs +0 -10
- package/esm2022/plait-draw.mjs +0 -5
- package/esm2022/plugins/with-arrow-line-auto-complete-reaction.mjs +0 -43
- package/esm2022/plugins/with-arrow-line-auto-complete.mjs +0 -76
- package/esm2022/plugins/with-arrow-line-bound-reaction.mjs +0 -53
- package/esm2022/plugins/with-arrow-line-create.mjs +0 -51
- package/esm2022/plugins/with-arrow-line-resize.mjs +0 -158
- package/esm2022/plugins/with-arrow-line-text-move.mjs +0 -53
- package/esm2022/plugins/with-arrow-line-text.mjs +0 -73
- package/esm2022/plugins/with-draw-fragment.mjs +0 -98
- package/esm2022/plugins/with-draw-hotkey.mjs +0 -45
- package/esm2022/plugins/with-draw-resize.mjs +0 -269
- package/esm2022/plugins/with-draw-rotate.mjs +0 -132
- package/esm2022/plugins/with-draw.mjs +0 -144
- package/esm2022/plugins/with-geometry-create.mjs +0 -182
- package/esm2022/plugins/with-swimlane-create.mjs +0 -127
- package/esm2022/plugins/with-swimlane.mjs +0 -21
- package/esm2022/plugins/with-table-resize.mjs +0 -135
- package/esm2022/plugins/with-table.mjs +0 -109
- package/esm2022/plugins/with-vector-line-create.mjs +0 -85
- package/esm2022/plugins/with-vector-line-resize.mjs +0 -61
- package/esm2022/public-api.mjs +0 -11
- package/esm2022/table.component.mjs +0 -162
- package/esm2022/transforms/arrow-line.mjs +0 -66
- package/esm2022/transforms/common.mjs +0 -36
- package/esm2022/transforms/geometry-text.mjs +0 -59
- package/esm2022/transforms/geometry.mjs +0 -43
- package/esm2022/transforms/image.mjs +0 -33
- package/esm2022/transforms/index.mjs +0 -36
- package/esm2022/transforms/multi-text-geometry-text.mjs +0 -15
- package/esm2022/transforms/swimlane.mjs +0 -164
- package/esm2022/transforms/table-text.mjs +0 -44
- package/esm2022/transforms/table.mjs +0 -36
- package/esm2022/transforms/vector-line.mjs +0 -13
- package/esm2022/utils/arrow-line/arrow-line-arrow.mjs +0 -123
- package/esm2022/utils/arrow-line/arrow-line-basic.mjs +0 -205
- package/esm2022/utils/arrow-line/arrow-line-common.mjs +0 -162
- package/esm2022/utils/arrow-line/arrow-line-resize.mjs +0 -309
- package/esm2022/utils/arrow-line/elbow.mjs +0 -114
- package/esm2022/utils/arrow-line/index.mjs +0 -6
- package/esm2022/utils/clipboard.mjs +0 -55
- package/esm2022/utils/common.mjs +0 -184
- package/esm2022/utils/geometry.mjs +0 -178
- package/esm2022/utils/hit.mjs +0 -238
- package/esm2022/utils/index.mjs +0 -17
- package/esm2022/utils/line.mjs +0 -64
- package/esm2022/utils/memorize.mjs +0 -93
- package/esm2022/utils/multi-text-geometry.mjs +0 -61
- package/esm2022/utils/polygon.mjs +0 -30
- package/esm2022/utils/position/arrow-line.mjs +0 -20
- package/esm2022/utils/position/geometry.mjs +0 -30
- package/esm2022/utils/position/line.mjs +0 -51
- package/esm2022/utils/selected.mjs +0 -39
- package/esm2022/utils/shape.mjs +0 -11
- package/esm2022/utils/snap-resizing.mjs +0 -185
- package/esm2022/utils/style/index.mjs +0 -2
- package/esm2022/utils/style/stroke.mjs +0 -21
- package/esm2022/utils/swimlane.mjs +0 -124
- package/esm2022/utils/table-selected.mjs +0 -21
- package/esm2022/utils/table.mjs +0 -172
- package/esm2022/utils/uml.mjs +0 -90
- package/esm2022/utils/vector-line.mjs +0 -71
- package/esm2022/vector-line.component.mjs +0 -55
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
export var BasicShapes;
|
|
2
|
-
(function (BasicShapes) {
|
|
3
|
-
BasicShapes["rectangle"] = "rectangle";
|
|
4
|
-
BasicShapes["ellipse"] = "ellipse";
|
|
5
|
-
BasicShapes["diamond"] = "diamond";
|
|
6
|
-
BasicShapes["roundRectangle"] = "roundRectangle";
|
|
7
|
-
BasicShapes["parallelogram"] = "parallelogram";
|
|
8
|
-
BasicShapes["text"] = "text";
|
|
9
|
-
BasicShapes["triangle"] = "triangle";
|
|
10
|
-
BasicShapes["leftArrow"] = "leftArrow";
|
|
11
|
-
BasicShapes["trapezoid"] = "trapezoid";
|
|
12
|
-
BasicShapes["rightArrow"] = "rightArrow";
|
|
13
|
-
BasicShapes["cross"] = "cross";
|
|
14
|
-
BasicShapes["star"] = "star";
|
|
15
|
-
BasicShapes["pentagon"] = "pentagon";
|
|
16
|
-
BasicShapes["hexagon"] = "hexagon";
|
|
17
|
-
BasicShapes["octagon"] = "octagon";
|
|
18
|
-
BasicShapes["pentagonArrow"] = "pentagonArrow";
|
|
19
|
-
BasicShapes["processArrow"] = "processArrow";
|
|
20
|
-
BasicShapes["twoWayArrow"] = "twoWayArrow";
|
|
21
|
-
BasicShapes["comment"] = "comment";
|
|
22
|
-
BasicShapes["roundComment"] = "roundComment";
|
|
23
|
-
BasicShapes["cloud"] = "cloud";
|
|
24
|
-
})(BasicShapes || (BasicShapes = {}));
|
|
25
|
-
export var FlowchartSymbols;
|
|
26
|
-
(function (FlowchartSymbols) {
|
|
27
|
-
FlowchartSymbols["process"] = "process";
|
|
28
|
-
FlowchartSymbols["decision"] = "decision";
|
|
29
|
-
FlowchartSymbols["data"] = "data";
|
|
30
|
-
FlowchartSymbols["connector"] = "connector";
|
|
31
|
-
FlowchartSymbols["terminal"] = "terminal";
|
|
32
|
-
FlowchartSymbols["manualInput"] = "manualInput";
|
|
33
|
-
FlowchartSymbols["preparation"] = "preparation";
|
|
34
|
-
FlowchartSymbols["manualLoop"] = "manualLoop";
|
|
35
|
-
FlowchartSymbols["merge"] = "merge";
|
|
36
|
-
FlowchartSymbols["delay"] = "delay";
|
|
37
|
-
FlowchartSymbols["storedData"] = "storedData";
|
|
38
|
-
FlowchartSymbols["or"] = "or";
|
|
39
|
-
FlowchartSymbols["summingJunction"] = "summingJunction";
|
|
40
|
-
FlowchartSymbols["predefinedProcess"] = "predefinedProcess";
|
|
41
|
-
FlowchartSymbols["offPage"] = "offPage";
|
|
42
|
-
FlowchartSymbols["document"] = "document";
|
|
43
|
-
FlowchartSymbols["multiDocument"] = "multiDocument";
|
|
44
|
-
FlowchartSymbols["database"] = "database";
|
|
45
|
-
FlowchartSymbols["hardDisk"] = "hardDisk";
|
|
46
|
-
FlowchartSymbols["internalStorage"] = "internalStorage";
|
|
47
|
-
FlowchartSymbols["noteCurlyRight"] = "noteCurlyRight";
|
|
48
|
-
FlowchartSymbols["noteCurlyLeft"] = "noteCurlyLeft";
|
|
49
|
-
FlowchartSymbols["noteSquare"] = "noteSquare";
|
|
50
|
-
FlowchartSymbols["display"] = "display";
|
|
51
|
-
})(FlowchartSymbols || (FlowchartSymbols = {}));
|
|
52
|
-
export var UMLSymbols;
|
|
53
|
-
(function (UMLSymbols) {
|
|
54
|
-
UMLSymbols["actor"] = "actor";
|
|
55
|
-
UMLSymbols["useCase"] = "useCase";
|
|
56
|
-
UMLSymbols["container"] = "container";
|
|
57
|
-
UMLSymbols["note"] = "note";
|
|
58
|
-
UMLSymbols["simpleClass"] = "simpleClass";
|
|
59
|
-
UMLSymbols["activityClass"] = "activityClass";
|
|
60
|
-
UMLSymbols["branchMerge"] = "branchMerge";
|
|
61
|
-
UMLSymbols["port"] = "port";
|
|
62
|
-
UMLSymbols["package"] = "package";
|
|
63
|
-
UMLSymbols["combinedFragment"] = "combinedFragment";
|
|
64
|
-
UMLSymbols["class"] = "class";
|
|
65
|
-
UMLSymbols["interface"] = "interface";
|
|
66
|
-
UMLSymbols["object"] = "object";
|
|
67
|
-
UMLSymbols["component"] = "component";
|
|
68
|
-
UMLSymbols["componentBox"] = "componentBox";
|
|
69
|
-
UMLSymbols["template"] = "template";
|
|
70
|
-
UMLSymbols["activation"] = "activation";
|
|
71
|
-
UMLSymbols["deletion"] = "deletion";
|
|
72
|
-
UMLSymbols["assembly"] = "assembly";
|
|
73
|
-
UMLSymbols["providedInterface"] = "providedInterface";
|
|
74
|
-
UMLSymbols["requiredInterface"] = "requiredInterface";
|
|
75
|
-
})(UMLSymbols || (UMLSymbols = {}));
|
|
76
|
-
export var GeometryCommonTextKeys;
|
|
77
|
-
(function (GeometryCommonTextKeys) {
|
|
78
|
-
GeometryCommonTextKeys["name"] = "name";
|
|
79
|
-
GeometryCommonTextKeys["content"] = "content";
|
|
80
|
-
})(GeometryCommonTextKeys || (GeometryCommonTextKeys = {}));
|
|
81
|
-
export const PlaitGeometry = {};
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9pbnRlcmZhY2VzL2dlb21ldHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sQ0FBTixJQUFZLFdBc0JYO0FBdEJELFdBQVksV0FBVztJQUNuQixzQ0FBdUIsQ0FBQTtJQUN2QixrQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBbUIsQ0FBQTtJQUNuQixnREFBaUMsQ0FBQTtJQUNqQyw4Q0FBK0IsQ0FBQTtJQUMvQiw0QkFBYSxDQUFBO0lBQ2Isb0NBQXFCLENBQUE7SUFDckIsc0NBQXVCLENBQUE7SUFDdkIsc0NBQXVCLENBQUE7SUFDdkIsd0NBQXlCLENBQUE7SUFDekIsOEJBQWUsQ0FBQTtJQUNmLDRCQUFhLENBQUE7SUFDYixvQ0FBcUIsQ0FBQTtJQUNyQixrQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBbUIsQ0FBQTtJQUNuQiw4Q0FBK0IsQ0FBQTtJQUMvQiw0Q0FBNkIsQ0FBQTtJQUM3QiwwQ0FBMkIsQ0FBQTtJQUMzQixrQ0FBbUIsQ0FBQTtJQUNuQiw0Q0FBNkIsQ0FBQTtJQUM3Qiw4QkFBZSxDQUFBO0FBQ25CLENBQUMsRUF0QlcsV0FBVyxLQUFYLFdBQVcsUUFzQnRCO0FBRUQsTUFBTSxDQUFOLElBQVksZ0JBeUJYO0FBekJELFdBQVksZ0JBQWdCO0lBQ3hCLHVDQUFtQixDQUFBO0lBQ25CLHlDQUFxQixDQUFBO0lBQ3JCLGlDQUFhLENBQUE7SUFDYiwyQ0FBdUIsQ0FBQTtJQUN2Qix5Q0FBcUIsQ0FBQTtJQUNyQiwrQ0FBMkIsQ0FBQTtJQUMzQiwrQ0FBMkIsQ0FBQTtJQUMzQiw2Q0FBeUIsQ0FBQTtJQUN6QixtQ0FBZSxDQUFBO0lBQ2YsbUNBQWUsQ0FBQTtJQUNmLDZDQUF5QixDQUFBO0lBQ3pCLDZCQUFTLENBQUE7SUFDVCx1REFBbUMsQ0FBQTtJQUNuQywyREFBdUMsQ0FBQTtJQUN2Qyx1Q0FBbUIsQ0FBQTtJQUNuQix5Q0FBcUIsQ0FBQTtJQUNyQixtREFBK0IsQ0FBQTtJQUMvQix5Q0FBcUIsQ0FBQTtJQUNyQix5Q0FBcUIsQ0FBQTtJQUNyQix1REFBbUMsQ0FBQTtJQUNuQyxxREFBaUMsQ0FBQTtJQUNqQyxtREFBK0IsQ0FBQTtJQUMvQiw2Q0FBeUIsQ0FBQTtJQUN6Qix1Q0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBekJXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUF5QjNCO0FBRUQsTUFBTSxDQUFOLElBQVksVUFzQlg7QUF0QkQsV0FBWSxVQUFVO0lBQ2xCLDZCQUFlLENBQUE7SUFDZixpQ0FBbUIsQ0FBQTtJQUNuQixxQ0FBdUIsQ0FBQTtJQUN2QiwyQkFBYSxDQUFBO0lBQ2IseUNBQTJCLENBQUE7SUFDM0IsNkNBQStCLENBQUE7SUFDL0IseUNBQTJCLENBQUE7SUFDM0IsMkJBQWEsQ0FBQTtJQUNiLGlDQUFtQixDQUFBO0lBQ25CLG1EQUFxQyxDQUFBO0lBQ3JDLDZCQUFlLENBQUE7SUFDZixxQ0FBdUIsQ0FBQTtJQUN2QiwrQkFBaUIsQ0FBQTtJQUNqQixxQ0FBdUIsQ0FBQTtJQUN2QiwyQ0FBNkIsQ0FBQTtJQUM3QixtQ0FBcUIsQ0FBQTtJQUNyQix1Q0FBeUIsQ0FBQTtJQUN6QixtQ0FBcUIsQ0FBQTtJQUNyQixtQ0FBcUIsQ0FBQTtJQUNyQixxREFBdUMsQ0FBQTtJQUN2QyxxREFBdUMsQ0FBQTtBQUMzQyxDQUFDLEVBdEJXLFVBQVUsS0FBVixVQUFVLFFBc0JyQjtBQUVELE1BQU0sQ0FBTixJQUFZLHNCQUdYO0FBSEQsV0FBWSxzQkFBc0I7SUFDOUIsdUNBQWEsQ0FBQTtJQUNiLDZDQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxzQkFBc0IsS0FBdEIsc0JBQXNCLFFBR2pDO0FBZ0RELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEVsZW1lbnQsIFBvaW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgRHJhd1RleHRJbmZvIH0gZnJvbSAnLi4vZ2VuZXJhdG9ycy90ZXh0LmdlbmVyYXRvcic7XG5pbXBvcnQgeyBQYXJhZ3JhcGhFbGVtZW50LCBTdHJva2VTdHlsZSB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuXG5leHBvcnQgZW51bSBCYXNpY1NoYXBlcyB7XG4gICAgcmVjdGFuZ2xlID0gJ3JlY3RhbmdsZScsXG4gICAgZWxsaXBzZSA9ICdlbGxpcHNlJyxcbiAgICBkaWFtb25kID0gJ2RpYW1vbmQnLFxuICAgIHJvdW5kUmVjdGFuZ2xlID0gJ3JvdW5kUmVjdGFuZ2xlJyxcbiAgICBwYXJhbGxlbG9ncmFtID0gJ3BhcmFsbGVsb2dyYW0nLFxuICAgIHRleHQgPSAndGV4dCcsXG4gICAgdHJpYW5nbGUgPSAndHJpYW5nbGUnLFxuICAgIGxlZnRBcnJvdyA9ICdsZWZ0QXJyb3cnLFxuICAgIHRyYXBlem9pZCA9ICd0cmFwZXpvaWQnLFxuICAgIHJpZ2h0QXJyb3cgPSAncmlnaHRBcnJvdycsXG4gICAgY3Jvc3MgPSAnY3Jvc3MnLFxuICAgIHN0YXIgPSAnc3RhcicsXG4gICAgcGVudGFnb24gPSAncGVudGFnb24nLFxuICAgIGhleGFnb24gPSAnaGV4YWdvbicsXG4gICAgb2N0YWdvbiA9ICdvY3RhZ29uJyxcbiAgICBwZW50YWdvbkFycm93ID0gJ3BlbnRhZ29uQXJyb3cnLFxuICAgIHByb2Nlc3NBcnJvdyA9ICdwcm9jZXNzQXJyb3cnLFxuICAgIHR3b1dheUFycm93ID0gJ3R3b1dheUFycm93JyxcbiAgICBjb21tZW50ID0gJ2NvbW1lbnQnLFxuICAgIHJvdW5kQ29tbWVudCA9ICdyb3VuZENvbW1lbnQnLFxuICAgIGNsb3VkID0gJ2Nsb3VkJ1xufVxuXG5leHBvcnQgZW51bSBGbG93Y2hhcnRTeW1ib2xzIHtcbiAgICBwcm9jZXNzID0gJ3Byb2Nlc3MnLFxuICAgIGRlY2lzaW9uID0gJ2RlY2lzaW9uJyxcbiAgICBkYXRhID0gJ2RhdGEnLFxuICAgIGNvbm5lY3RvciA9ICdjb25uZWN0b3InLFxuICAgIHRlcm1pbmFsID0gJ3Rlcm1pbmFsJyxcbiAgICBtYW51YWxJbnB1dCA9ICdtYW51YWxJbnB1dCcsXG4gICAgcHJlcGFyYXRpb24gPSAncHJlcGFyYXRpb24nLFxuICAgIG1hbnVhbExvb3AgPSAnbWFudWFsTG9vcCcsXG4gICAgbWVyZ2UgPSAnbWVyZ2UnLFxuICAgIGRlbGF5ID0gJ2RlbGF5JyxcbiAgICBzdG9yZWREYXRhID0gJ3N0b3JlZERhdGEnLFxuICAgIG9yID0gJ29yJyxcbiAgICBzdW1taW5nSnVuY3Rpb24gPSAnc3VtbWluZ0p1bmN0aW9uJyxcbiAgICBwcmVkZWZpbmVkUHJvY2VzcyA9ICdwcmVkZWZpbmVkUHJvY2VzcycsXG4gICAgb2ZmUGFnZSA9ICdvZmZQYWdlJyxcbiAgICBkb2N1bWVudCA9ICdkb2N1bWVudCcsXG4gICAgbXVsdGlEb2N1bWVudCA9ICdtdWx0aURvY3VtZW50JyxcbiAgICBkYXRhYmFzZSA9ICdkYXRhYmFzZScsXG4gICAgaGFyZERpc2sgPSAnaGFyZERpc2snLFxuICAgIGludGVybmFsU3RvcmFnZSA9ICdpbnRlcm5hbFN0b3JhZ2UnLFxuICAgIG5vdGVDdXJseVJpZ2h0ID0gJ25vdGVDdXJseVJpZ2h0JyxcbiAgICBub3RlQ3VybHlMZWZ0ID0gJ25vdGVDdXJseUxlZnQnLFxuICAgIG5vdGVTcXVhcmUgPSAnbm90ZVNxdWFyZScsXG4gICAgZGlzcGxheSA9ICdkaXNwbGF5J1xufVxuXG5leHBvcnQgZW51bSBVTUxTeW1ib2xzIHtcbiAgICBhY3RvciA9ICdhY3RvcicsXG4gICAgdXNlQ2FzZSA9ICd1c2VDYXNlJyxcbiAgICBjb250YWluZXIgPSAnY29udGFpbmVyJyxcbiAgICBub3RlID0gJ25vdGUnLFxuICAgIHNpbXBsZUNsYXNzID0gJ3NpbXBsZUNsYXNzJyxcbiAgICBhY3Rpdml0eUNsYXNzID0gJ2FjdGl2aXR5Q2xhc3MnLFxuICAgIGJyYW5jaE1lcmdlID0gJ2JyYW5jaE1lcmdlJyxcbiAgICBwb3J0ID0gJ3BvcnQnLFxuICAgIHBhY2thZ2UgPSAncGFja2FnZScsXG4gICAgY29tYmluZWRGcmFnbWVudCA9ICdjb21iaW5lZEZyYWdtZW50JyxcbiAgICBjbGFzcyA9ICdjbGFzcycsXG4gICAgaW50ZXJmYWNlID0gJ2ludGVyZmFjZScsXG4gICAgb2JqZWN0ID0gJ29iamVjdCcsXG4gICAgY29tcG9uZW50ID0gJ2NvbXBvbmVudCcsXG4gICAgY29tcG9uZW50Qm94ID0gJ2NvbXBvbmVudEJveCcsXG4gICAgdGVtcGxhdGUgPSAndGVtcGxhdGUnLFxuICAgIGFjdGl2YXRpb24gPSAnYWN0aXZhdGlvbicsXG4gICAgZGVsZXRpb24gPSAnZGVsZXRpb24nLFxuICAgIGFzc2VtYmx5ID0gJ2Fzc2VtYmx5JyxcbiAgICBwcm92aWRlZEludGVyZmFjZSA9ICdwcm92aWRlZEludGVyZmFjZScsXG4gICAgcmVxdWlyZWRJbnRlcmZhY2UgPSAncmVxdWlyZWRJbnRlcmZhY2UnXG59XG5cbmV4cG9ydCBlbnVtIEdlb21ldHJ5Q29tbW9uVGV4dEtleXMge1xuICAgIG5hbWUgPSAnbmFtZScsXG4gICAgY29udGVudCA9ICdjb250ZW50J1xufVxuXG5leHBvcnQgdHlwZSBHZW9tZXRyeVNoYXBlcyA9IEJhc2ljU2hhcGVzIHwgRmxvd2NoYXJ0U3ltYm9scyB8IFVNTFN5bWJvbHM7XG5cbmV4cG9ydCB0eXBlIFN3aW1sYW5lRGlyZWN0aW9uID0gJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJztcblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdEJhc2VHZW9tZXRyeTxUIGV4dGVuZHMgc3RyaW5nID0gJ2dlb21ldHJ5JywgUCBleHRlbmRzIFBvaW50W10gPSBbUG9pbnQsIFBvaW50XSwgUyBleHRlbmRzIHN0cmluZyA9IEdlb21ldHJ5U2hhcGVzPlxuICAgIGV4dGVuZHMgUGxhaXRFbGVtZW50IHtcbiAgICB0eXBlOiBUO1xuICAgIHBvaW50czogUDtcbiAgICBzaGFwZTogUztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdENvbW1vbkdlb21ldHJ5PFQgZXh0ZW5kcyBzdHJpbmcgPSAnZ2VvbWV0cnknLCBQIGV4dGVuZHMgUG9pbnRbXSA9IFtQb2ludCwgUG9pbnRdLCBTIGV4dGVuZHMgc3RyaW5nID0gR2VvbWV0cnlTaGFwZXM+XG4gICAgZXh0ZW5kcyBQbGFpdEJhc2VHZW9tZXRyeTxULCBQLCBTPiB7XG4gICAgLy8gbm9kZSBzdHlsZSBhdHRyaWJ1dGVzXG4gICAgZmlsbD86IHN0cmluZztcbiAgICBzdHJva2VDb2xvcj86IHN0cmluZztcbiAgICBzdHJva2VXaWR0aD86IG51bWJlcjtcbiAgICBzdHJva2VTdHlsZT86IFN0cm9rZVN0eWxlO1xuICAgIGFuZ2xlPzogbnVtYmVyO1xuICAgIG9wYWNpdHk/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhaXRDdXN0b21HZW9tZXRyeTxUIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nLCBQIGV4dGVuZHMgUG9pbnRbXSA9IFBvaW50W10sIFMgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmc+XG4gICAgZXh0ZW5kcyBQbGFpdEJhc2VHZW9tZXRyeTxULCBQLCBTPiB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0TXVsdGlwbGVUZXh0R2VvbWV0cnkgZXh0ZW5kcyBQbGFpdENvbW1vbkdlb21ldHJ5IHtcbiAgICB0ZXh0czogRHJhd1RleHRJbmZvW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhaXRHZW9tZXRyeSBleHRlbmRzIFBsYWl0Q29tbW9uR2VvbWV0cnkge1xuICAgIHRleHQ/OiBQYXJhZ3JhcGhFbGVtZW50O1xuICAgIHRleHRIZWlnaHQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhaXRSZWN0YW5nbGUgZXh0ZW5kcyBQbGFpdEdlb21ldHJ5IHtcbiAgICBzaGFwZTogQmFzaWNTaGFwZXMucmVjdGFuZ2xlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0RWxsaXBzZSBleHRlbmRzIFBsYWl0R2VvbWV0cnkge1xuICAgIHNoYXBlOiBCYXNpY1NoYXBlcy5lbGxpcHNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0RGlhbW9uZCBleHRlbmRzIFBsYWl0R2VvbWV0cnkge1xuICAgIHNoYXBlOiBCYXNpY1NoYXBlcy5kaWFtb25kO1xufVxuXG5leHBvcnQgY29uc3QgUGxhaXRHZW9tZXRyeSA9IHt9O1xuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9pbnRlcmZhY2VzL2ltYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEVsZW1lbnQsIFBvaW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0Q29tbW9uSW1hZ2UgZXh0ZW5kcyBQbGFpdEVsZW1lbnQge1xuICAgIHBvaW50czogW1BvaW50LCBQb2ludF07XG4gICAgdHlwZTogJ2ltYWdlJztcbiAgICBhbmdsZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0SW1hZ2UgZXh0ZW5kcyBQbGFpdENvbW1vbkltYWdlIHtcbiAgICB1cmw6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { BasicShapes, FlowchartSymbols, UMLSymbols } from './geometry';
|
|
2
|
-
import { SwimlaneSymbols } from './swimlane';
|
|
3
|
-
import { PlaitTableElement } from './table';
|
|
4
|
-
import { WithDrawPluginKey } from '../constants/default';
|
|
5
|
-
export * from './arrow-line';
|
|
6
|
-
export * from './geometry';
|
|
7
|
-
export * from './text';
|
|
8
|
-
export * from './element';
|
|
9
|
-
export * from './engine';
|
|
10
|
-
export * from './swimlane';
|
|
11
|
-
export * from './table';
|
|
12
|
-
export * from './vector-line';
|
|
13
|
-
export * from './options';
|
|
14
|
-
export const PlaitDrawElement = {
|
|
15
|
-
isGeometry: (value) => {
|
|
16
|
-
return value.type === 'geometry';
|
|
17
|
-
},
|
|
18
|
-
isArrowLine: (value) => {
|
|
19
|
-
return value.type === 'arrow-line' || value.type === 'line';
|
|
20
|
-
},
|
|
21
|
-
isVectorLine: (value) => {
|
|
22
|
-
return value.type === 'vector-line';
|
|
23
|
-
},
|
|
24
|
-
isLine: (value) => {
|
|
25
|
-
return PlaitDrawElement.isArrowLine(value) || PlaitDrawElement.isVectorLine(value);
|
|
26
|
-
},
|
|
27
|
-
isText: (value) => {
|
|
28
|
-
return value.type === 'geometry' && value.shape === BasicShapes.text;
|
|
29
|
-
},
|
|
30
|
-
isImage: (value) => {
|
|
31
|
-
return value.type === 'image';
|
|
32
|
-
},
|
|
33
|
-
isTable: (value) => {
|
|
34
|
-
return PlaitTableElement.isTable(value);
|
|
35
|
-
},
|
|
36
|
-
isDrawElement: (value) => {
|
|
37
|
-
if (PlaitDrawElement.isGeometry(value) ||
|
|
38
|
-
PlaitDrawElement.isLine(value) ||
|
|
39
|
-
PlaitDrawElement.isImage(value) ||
|
|
40
|
-
PlaitDrawElement.isTable(value) ||
|
|
41
|
-
PlaitDrawElement.isSwimlane(value)) {
|
|
42
|
-
return true;
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
},
|
|
48
|
-
isCustomGeometryElement: (board, value) => {
|
|
49
|
-
const options = board.getPluginOptions(WithDrawPluginKey);
|
|
50
|
-
const customGeometryTypes = options?.customGeometryTypes || [];
|
|
51
|
-
if (customGeometryTypes.includes(value.type)) {
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
isShapeElement: (value) => {
|
|
59
|
-
return (PlaitDrawElement.isImage(value) ||
|
|
60
|
-
PlaitDrawElement.isGeometry(value) ||
|
|
61
|
-
PlaitDrawElement.isTable(value) ||
|
|
62
|
-
PlaitDrawElement.isSwimlane(value));
|
|
63
|
-
},
|
|
64
|
-
isBasicShape: (value) => {
|
|
65
|
-
return Object.keys(BasicShapes).includes(value.shape);
|
|
66
|
-
},
|
|
67
|
-
isFlowchart: (value) => {
|
|
68
|
-
return Object.keys(FlowchartSymbols).includes(value.shape);
|
|
69
|
-
},
|
|
70
|
-
isUML: (value) => {
|
|
71
|
-
return Object.keys(UMLSymbols).includes(value.shape);
|
|
72
|
-
},
|
|
73
|
-
isSwimlane: (value) => {
|
|
74
|
-
return value.type === 'swimlane';
|
|
75
|
-
},
|
|
76
|
-
isVerticalSwimlane: (value) => {
|
|
77
|
-
return PlaitDrawElement.isSwimlane(value) && value.shape === SwimlaneSymbols.swimlaneVertical;
|
|
78
|
-
},
|
|
79
|
-
isHorizontalSwimlane: (value) => {
|
|
80
|
-
return PlaitDrawElement.isSwimlane(value) && value.shape === SwimlaneSymbols.swimlaneHorizontal;
|
|
81
|
-
},
|
|
82
|
-
isUMLClassOrInterface: (value) => {
|
|
83
|
-
return Object.keys(UMLSymbols).includes(value.shape) && [UMLSymbols.class, UMLSymbols.interface].includes(value.shape);
|
|
84
|
-
},
|
|
85
|
-
isGeometryByTable: (value) => {
|
|
86
|
-
return PlaitDrawElement.isUMLClassOrInterface(value);
|
|
87
|
-
},
|
|
88
|
-
isElementByTable: (value) => {
|
|
89
|
-
return PlaitDrawElement.isTable(value) || PlaitDrawElement.isSwimlane(value) || PlaitDrawElement.isGeometryByTable(value);
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxXQUFXLEVBQ1gsZ0JBQWdCLEVBSWhCLFVBQVUsRUFDYixNQUFNLFlBQVksQ0FBQztBQUdwQixPQUFPLEVBQWlCLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1RCxPQUFPLEVBQThCLGlCQUFpQixFQUFnQixNQUFNLFNBQVMsQ0FBQztBQU10RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFdBQVcsQ0FBQztBQVExQixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM1QixVQUFVLEVBQUUsQ0FBQyxLQUFVLEVBQTBCLEVBQUU7UUFDL0MsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsV0FBVyxFQUFFLENBQUMsS0FBVSxFQUEyQixFQUFFO1FBQ2pELE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxZQUFZLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxNQUFNLENBQUM7SUFDaEUsQ0FBQztJQUNELFlBQVksRUFBRSxDQUFDLEtBQVUsRUFBNEIsRUFBRTtRQUNuRCxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDO0lBQ3hDLENBQUM7SUFDRCxNQUFNLEVBQUUsQ0FBQyxLQUFVLEVBQXNCLEVBQUU7UUFDdkMsT0FBTyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksZ0JBQWdCLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFDRCxNQUFNLEVBQUUsQ0FBQyxLQUFVLEVBQXNCLEVBQUU7UUFDdkMsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLFVBQVUsSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDekUsQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFDLEtBQVUsRUFBdUIsRUFBRTtRQUN6QyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDO0lBQ2xDLENBQUM7SUFDRCxPQUFPLEVBQUUsQ0FBQyxLQUFVLEVBQXVCLEVBQUU7UUFDekMsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNELGFBQWEsRUFBRSxDQUFDLEtBQVUsRUFBNkIsRUFBRTtRQUNyRCxJQUNJLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDbEMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUM5QixnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQy9CLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDL0IsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUNwQyxDQUFDO1lBQ0MsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO0lBQ0wsQ0FBQztJQUNELHVCQUF1QixFQUFFLENBQUMsS0FBaUIsRUFBRSxLQUFVLEVBQWdDLEVBQUU7UUFDckYsTUFBTSxPQUFPLEdBQUksS0FBMkIsQ0FBQyxnQkFBZ0IsQ0FBOEIsaUJBQWlCLENBQUMsQ0FBQztRQUM5RyxNQUFNLG1CQUFtQixHQUFHLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxFQUFFLENBQUM7UUFDL0QsSUFBSSxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDM0MsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO0lBQ0wsQ0FBQztJQUNELGNBQWMsRUFBRSxDQUFDLEtBQVUsRUFBOEIsRUFBRTtRQUN2RCxPQUFPLENBQ0gsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUMvQixnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQ2xDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDL0IsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUNyQyxDQUFDO0lBQ04sQ0FBQztJQUNELFlBQVksRUFBRSxDQUFDLEtBQVUsRUFBRSxFQUFFO1FBQ3pCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFDRCxXQUFXLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRTtRQUN4QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxLQUFLLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRTtRQUNsQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsVUFBVSxFQUFFLENBQUMsS0FBVSxFQUEwQixFQUFFO1FBQy9DLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUM7SUFDckMsQ0FBQztJQUNELGtCQUFrQixFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUU7UUFDL0IsT0FBTyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxlQUFlLENBQUMsZ0JBQWdCLENBQUM7SUFDbEcsQ0FBQztJQUNELG9CQUFvQixFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUU7UUFDakMsT0FBTyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxlQUFlLENBQUMsa0JBQWtCLENBQUM7SUFDcEcsQ0FBQztJQUNELHFCQUFxQixFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUU7UUFDbEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNILENBQUM7SUFDRCxpQkFBaUIsRUFBRSxDQUFDLEtBQVUsRUFBMkIsRUFBRTtRQUN2RCxPQUFPLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCxnQkFBZ0IsRUFBRSxDQUFDLEtBQVUsRUFBMkIsRUFBRTtRQUN0RCxPQUFPLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUgsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEJhc2ljU2hhcGVzLFxuICAgIEZsb3djaGFydFN5bWJvbHMsXG4gICAgR2VvbWV0cnlTaGFwZXMsXG4gICAgUGxhaXRDdXN0b21HZW9tZXRyeSxcbiAgICBQbGFpdEdlb21ldHJ5LFxuICAgIFVNTFN5bWJvbHNcbn0gZnJvbSAnLi9nZW9tZXRyeSc7XG5pbXBvcnQgeyBQbGFpdEltYWdlIH0gZnJvbSAnLi9pbWFnZSc7XG5pbXBvcnQgeyBQbGFpdEFycm93TGluZSB9IGZyb20gJy4vYXJyb3ctbGluZSc7XG5pbXBvcnQgeyBQbGFpdFN3aW1sYW5lLCBTd2ltbGFuZVN5bWJvbHMgfSBmcm9tICcuL3N3aW1sYW5lJztcbmltcG9ydCB7IFBsYWl0QmFzZVRhYmxlLCBQbGFpdFRhYmxlLCBQbGFpdFRhYmxlRWxlbWVudCwgVGFibGVTeW1ib2xzIH0gZnJvbSAnLi90YWJsZSc7XG5pbXBvcnQgeyBQbGFpdFRleHQgfSBmcm9tICcuL3RleHQnO1xuaW1wb3J0IHsgUGxhaXRWZWN0b3JMaW5lIH0gZnJvbSAnLi92ZWN0b3ItbGluZSc7XG5pbXBvcnQgeyBQbGFpdExpbmUgfSBmcm9tICcuL2xpbmUnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCwgUGxhaXRPcHRpb25zQm9hcmQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBXaXRoRHJhd09wdGlvbnMgfSBmcm9tICcuL29wdGlvbnMnO1xuaW1wb3J0IHsgV2l0aERyYXdQbHVnaW5LZXkgfSBmcm9tICcuLi9jb25zdGFudHMvZGVmYXVsdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYXJyb3ctbGluZSc7XG5leHBvcnQgKiBmcm9tICcuL2dlb21ldHJ5JztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL2VsZW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lbmdpbmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zd2ltbGFuZSc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vdmVjdG9yLWxpbmUnO1xuZXhwb3J0ICogZnJvbSAnLi9vcHRpb25zJztcblxuZXhwb3J0IHR5cGUgUGxhaXREcmF3RWxlbWVudCA9IFBsYWl0R2VvbWV0cnkgfCBQbGFpdEFycm93TGluZSB8IFBsYWl0VmVjdG9yTGluZSB8IFBsYWl0SW1hZ2UgfCBQbGFpdEJhc2VUYWJsZSB8IFBsYWl0U3dpbWxhbmU7XG5cbmV4cG9ydCB0eXBlIFBsYWl0U2hhcGVFbGVtZW50ID0gUGxhaXRHZW9tZXRyeSB8IFBsYWl0SW1hZ2UgfCBQbGFpdFRhYmxlIHwgUGxhaXRTd2ltbGFuZTtcblxuZXhwb3J0IHR5cGUgRHJhd1NoYXBlcyA9IEdlb21ldHJ5U2hhcGVzIHwgVGFibGVTeW1ib2xzIHwgU3dpbWxhbmVTeW1ib2xzO1xuXG5leHBvcnQgY29uc3QgUGxhaXREcmF3RWxlbWVudCA9IHtcbiAgICBpc0dlb21ldHJ5OiAodmFsdWU6IGFueSk6IHZhbHVlIGlzIFBsYWl0R2VvbWV0cnkgPT4ge1xuICAgICAgICByZXR1cm4gdmFsdWUudHlwZSA9PT0gJ2dlb21ldHJ5JztcbiAgICB9LFxuICAgIGlzQXJyb3dMaW5lOiAodmFsdWU6IGFueSk6IHZhbHVlIGlzIFBsYWl0QXJyb3dMaW5lID0+IHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnR5cGUgPT09ICdhcnJvdy1saW5lJyB8fCB2YWx1ZS50eXBlID09PSAnbGluZSc7XG4gICAgfSxcbiAgICBpc1ZlY3RvckxpbmU6ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgUGxhaXRWZWN0b3JMaW5lID0+IHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnR5cGUgPT09ICd2ZWN0b3ItbGluZSc7XG4gICAgfSxcbiAgICBpc0xpbmU6ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgUGxhaXRMaW5lID0+IHtcbiAgICAgICAgcmV0dXJuIFBsYWl0RHJhd0VsZW1lbnQuaXNBcnJvd0xpbmUodmFsdWUpIHx8IFBsYWl0RHJhd0VsZW1lbnQuaXNWZWN0b3JMaW5lKHZhbHVlKTtcbiAgICB9LFxuICAgIGlzVGV4dDogKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBQbGFpdFRleHQgPT4ge1xuICAgICAgICByZXR1cm4gdmFsdWUudHlwZSA9PT0gJ2dlb21ldHJ5JyAmJiB2YWx1ZS5zaGFwZSA9PT0gQmFzaWNTaGFwZXMudGV4dDtcbiAgICB9LFxuICAgIGlzSW1hZ2U6ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgUGxhaXRJbWFnZSA9PiB7XG4gICAgICAgIHJldHVybiB2YWx1ZS50eXBlID09PSAnaW1hZ2UnO1xuICAgIH0sXG4gICAgaXNUYWJsZTogKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBQbGFpdFRhYmxlID0+IHtcbiAgICAgICAgcmV0dXJuIFBsYWl0VGFibGVFbGVtZW50LmlzVGFibGUodmFsdWUpO1xuICAgIH0sXG4gICAgaXNEcmF3RWxlbWVudDogKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBQbGFpdERyYXdFbGVtZW50ID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgUGxhaXREcmF3RWxlbWVudC5pc0dlb21ldHJ5KHZhbHVlKSB8fFxuICAgICAgICAgICAgUGxhaXREcmF3RWxlbWVudC5pc0xpbmUodmFsdWUpIHx8XG4gICAgICAgICAgICBQbGFpdERyYXdFbGVtZW50LmlzSW1hZ2UodmFsdWUpIHx8XG4gICAgICAgICAgICBQbGFpdERyYXdFbGVtZW50LmlzVGFibGUodmFsdWUpIHx8XG4gICAgICAgICAgICBQbGFpdERyYXdFbGVtZW50LmlzU3dpbWxhbmUodmFsdWUpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGlzQ3VzdG9tR2VvbWV0cnlFbGVtZW50OiAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBQbGFpdEN1c3RvbUdlb21ldHJ5ID0+IHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChib2FyZCBhcyBQbGFpdE9wdGlvbnNCb2FyZCkuZ2V0UGx1Z2luT3B0aW9uczxXaXRoRHJhd09wdGlvbnMgfCB1bmRlZmluZWQ+KFdpdGhEcmF3UGx1Z2luS2V5KTtcbiAgICAgICAgY29uc3QgY3VzdG9tR2VvbWV0cnlUeXBlcyA9IG9wdGlvbnM/LmN1c3RvbUdlb21ldHJ5VHlwZXMgfHwgW107XG4gICAgICAgIGlmIChjdXN0b21HZW9tZXRyeVR5cGVzLmluY2x1ZGVzKHZhbHVlLnR5cGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgaXNTaGFwZUVsZW1lbnQ6ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgUGxhaXRTaGFwZUVsZW1lbnQgPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgUGxhaXREcmF3RWxlbWVudC5pc0ltYWdlKHZhbHVlKSB8fFxuICAgICAgICAgICAgUGxhaXREcmF3RWxlbWVudC5pc0dlb21ldHJ5KHZhbHVlKSB8fFxuICAgICAgICAgICAgUGxhaXREcmF3RWxlbWVudC5pc1RhYmxlKHZhbHVlKSB8fFxuICAgICAgICAgICAgUGxhaXREcmF3RWxlbWVudC5pc1N3aW1sYW5lKHZhbHVlKVxuICAgICAgICApO1xuICAgIH0sXG4gICAgaXNCYXNpY1NoYXBlOiAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoQmFzaWNTaGFwZXMpLmluY2x1ZGVzKHZhbHVlLnNoYXBlKTtcbiAgICB9LFxuICAgIGlzRmxvd2NoYXJ0OiAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoRmxvd2NoYXJ0U3ltYm9scykuaW5jbHVkZXModmFsdWUuc2hhcGUpO1xuICAgIH0sXG4gICAgaXNVTUw6ICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhVTUxTeW1ib2xzKS5pbmNsdWRlcyh2YWx1ZS5zaGFwZSk7XG4gICAgfSxcbiAgICBpc1N3aW1sYW5lOiAodmFsdWU6IGFueSk6IHZhbHVlIGlzIFBsYWl0U3dpbWxhbmUgPT4ge1xuICAgICAgICByZXR1cm4gdmFsdWUudHlwZSA9PT0gJ3N3aW1sYW5lJztcbiAgICB9LFxuICAgIGlzVmVydGljYWxTd2ltbGFuZTogKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIFBsYWl0RHJhd0VsZW1lbnQuaXNTd2ltbGFuZSh2YWx1ZSkgJiYgdmFsdWUuc2hhcGUgPT09IFN3aW1sYW5lU3ltYm9scy5zd2ltbGFuZVZlcnRpY2FsO1xuICAgIH0sXG4gICAgaXNIb3Jpem9udGFsU3dpbWxhbmU6ICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiBQbGFpdERyYXdFbGVtZW50LmlzU3dpbWxhbmUodmFsdWUpICYmIHZhbHVlLnNoYXBlID09PSBTd2ltbGFuZVN5bWJvbHMuc3dpbWxhbmVIb3Jpem9udGFsO1xuICAgIH0sXG4gICAgaXNVTUxDbGFzc09ySW50ZXJmYWNlOiAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoVU1MU3ltYm9scykuaW5jbHVkZXModmFsdWUuc2hhcGUpICYmIFtVTUxTeW1ib2xzLmNsYXNzLCBVTUxTeW1ib2xzLmludGVyZmFjZV0uaW5jbHVkZXModmFsdWUuc2hhcGUpO1xuICAgIH0sXG4gICAgaXNHZW9tZXRyeUJ5VGFibGU6ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgUGxhaXRCYXNlVGFibGUgPT4ge1xuICAgICAgICByZXR1cm4gUGxhaXREcmF3RWxlbWVudC5pc1VNTENsYXNzT3JJbnRlcmZhY2UodmFsdWUpO1xuICAgIH0sXG4gICAgaXNFbGVtZW50QnlUYWJsZTogKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBQbGFpdEJhc2VUYWJsZSA9PiB7XG4gICAgICAgIHJldHVybiBQbGFpdERyYXdFbGVtZW50LmlzVGFibGUodmFsdWUpIHx8IFBsYWl0RHJhd0VsZW1lbnQuaXNTd2ltbGFuZSh2YWx1ZSkgfHwgUGxhaXREcmF3RWxlbWVudC5pc0dlb21ldHJ5QnlUYWJsZSh2YWx1ZSk7XG4gICAgfVxufTtcbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2ludGVyZmFjZXMvbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRBcnJvd0xpbmUgfSBmcm9tICcuL2Fycm93LWxpbmUnO1xuaW1wb3J0IHsgUGxhaXRWZWN0b3JMaW5lIH0gZnJvbSAnLi92ZWN0b3ItbGluZSc7XG5cbmV4cG9ydCB0eXBlIFBsYWl0TGluZSA9IFBsYWl0QXJyb3dMaW5lIHwgUGxhaXRWZWN0b3JMaW5lO1xuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2ludGVyZmFjZXMvb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV2l0aFBsdWdpbk9wdGlvbnMgfSBmcm9tIFwiQHBsYWl0L2NvcmVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBXaXRoRHJhd09wdGlvbnMgZXh0ZW5kcyBXaXRoUGx1Z2luT3B0aW9ucyB7XG4gICAgY3VzdG9tR2VvbWV0cnlUeXBlczogc3RyaW5nW107XG59Il19
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export var SwimlaneSymbols;
|
|
2
|
-
(function (SwimlaneSymbols) {
|
|
3
|
-
SwimlaneSymbols["swimlaneVertical"] = "swimlaneVertical";
|
|
4
|
-
SwimlaneSymbols["swimlaneHorizontal"] = "swimlaneHorizontal";
|
|
5
|
-
})(SwimlaneSymbols || (SwimlaneSymbols = {}));
|
|
6
|
-
export var SwimlaneDrawSymbols;
|
|
7
|
-
(function (SwimlaneDrawSymbols) {
|
|
8
|
-
SwimlaneDrawSymbols["swimlaneVertical"] = "swimlaneVertical";
|
|
9
|
-
SwimlaneDrawSymbols["swimlaneHorizontal"] = "swimlaneHorizontal";
|
|
10
|
-
SwimlaneDrawSymbols["swimlaneVerticalWithHeader"] = "swimlaneVerticalWithHeader";
|
|
11
|
-
SwimlaneDrawSymbols["swimlaneHorizontalWithHeader"] = "swimlaneHorizontalWithHeader";
|
|
12
|
-
})(SwimlaneDrawSymbols || (SwimlaneDrawSymbols = {}));
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpbWxhbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9pbnRlcmZhY2VzL3N3aW1sYW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBTixJQUFZLGVBR1g7QUFIRCxXQUFZLGVBQWU7SUFDdkIsd0RBQXFDLENBQUE7SUFDckMsNERBQXlDLENBQUE7QUFDN0MsQ0FBQyxFQUhXLGVBQWUsS0FBZixlQUFlLFFBRzFCO0FBRUQsTUFBTSxDQUFOLElBQVksbUJBS1g7QUFMRCxXQUFZLG1CQUFtQjtJQUMzQiw0REFBcUMsQ0FBQTtJQUNyQyxnRUFBeUMsQ0FBQTtJQUN6QyxnRkFBeUQsQ0FBQTtJQUN6RCxvRkFBNkQsQ0FBQTtBQUNqRSxDQUFDLEVBTFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUs5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0QmFzZVRhYmxlIH0gZnJvbSAnLi90YWJsZSc7XG5cbmV4cG9ydCBlbnVtIFN3aW1sYW5lU3ltYm9scyB7XG4gICAgc3dpbWxhbmVWZXJ0aWNhbCA9ICdzd2ltbGFuZVZlcnRpY2FsJyxcbiAgICBzd2ltbGFuZUhvcml6b250YWwgPSAnc3dpbWxhbmVIb3Jpem9udGFsJ1xufVxuXG5leHBvcnQgZW51bSBTd2ltbGFuZURyYXdTeW1ib2xzIHtcbiAgICBzd2ltbGFuZVZlcnRpY2FsID0gJ3N3aW1sYW5lVmVydGljYWwnLFxuICAgIHN3aW1sYW5lSG9yaXpvbnRhbCA9ICdzd2ltbGFuZUhvcml6b250YWwnLFxuICAgIHN3aW1sYW5lVmVydGljYWxXaXRoSGVhZGVyID0gJ3N3aW1sYW5lVmVydGljYWxXaXRoSGVhZGVyJyxcbiAgICBzd2ltbGFuZUhvcml6b250YWxXaXRoSGVhZGVyID0gJ3N3aW1sYW5lSG9yaXpvbnRhbFdpdGhIZWFkZXInXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhaXRTd2ltbGFuZSBleHRlbmRzIFBsYWl0QmFzZVRhYmxlIHtcbiAgICB0eXBlOiAnc3dpbWxhbmUnO1xuICAgIHNoYXBlOiBTd2ltbGFuZVN5bWJvbHM7XG4gICAgaGVhZGVyPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdFN3aW1sYW5lVmVydGljYWwgZXh0ZW5kcyBQbGFpdFN3aW1sYW5lIHtcbiAgICBzaGFwZTogU3dpbWxhbmVTeW1ib2xzLnN3aW1sYW5lVmVydGljYWw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhaXRTd2ltbGFuZUhvcml6b250YWwgZXh0ZW5kcyBQbGFpdFN3aW1sYW5lIHtcbiAgICBzaGFwZTogU3dpbWxhbmVTeW1ib2xzLnN3aW1sYW5lSG9yaXpvbnRhbDtcbn1cbiJdfQ==
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export var TableSymbols;
|
|
2
|
-
(function (TableSymbols) {
|
|
3
|
-
TableSymbols["table"] = "table";
|
|
4
|
-
})(TableSymbols || (TableSymbols = {}));
|
|
5
|
-
export const PlaitTableElement = {
|
|
6
|
-
isTable: (value) => {
|
|
7
|
-
return value.type === 'table';
|
|
8
|
-
},
|
|
9
|
-
isVerticalText: (value) => {
|
|
10
|
-
return value.text?.direction === 'vertical';
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9pbnRlcmZhY2VzL3RhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sQ0FBTixJQUFZLFlBRVg7QUFGRCxXQUFZLFlBQVk7SUFDcEIsK0JBQWUsQ0FBQTtBQUNuQixDQUFDLEVBRlcsWUFBWSxLQUFaLFlBQVksUUFFdkI7QUFnREQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDN0IsT0FBTyxFQUFFLENBQUMsS0FBVSxFQUF1QixFQUFFO1FBQ3pDLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUM7SUFDbEMsQ0FBQztJQUNELGNBQWMsRUFBRSxDQUFDLEtBQXFCLEVBQTJCLEVBQUU7UUFDL0QsT0FBTyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsS0FBSyxVQUFVLENBQUM7SUFDaEQsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIFBvaW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgUGFyYWdyYXBoRWxlbWVudCB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgRHJhd09wdGlvbnMgfSBmcm9tICcuL2VuZ2luZSc7XG5cbmV4cG9ydCBlbnVtIFRhYmxlU3ltYm9scyB7XG4gICAgdGFibGUgPSAndGFibGUnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhaXRUYWJsZUJvYXJkIGV4dGVuZHMgUGxhaXRCb2FyZCB7XG4gICAgYnVpbGRUYWJsZTogKGVsZW1lbnQ6IFBsYWl0QmFzZVRhYmxlKSA9PiBQbGFpdEJhc2VUYWJsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdEJhc2VUYWJsZSBleHRlbmRzIFBsYWl0RWxlbWVudCB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBwb2ludHM6IFBvaW50W107XG4gICAgcm93czoge1xuICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgfVtdO1xuICAgIGNvbHVtbnM6IHtcbiAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgd2lkdGg/OiBudW1iZXI7XG4gICAgfVtdO1xuICAgIGNlbGxzOiBQbGFpdFRhYmxlQ2VsbFtdO1xuICAgIGdyb3VwSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhaXRUYWJsZSBleHRlbmRzIFBsYWl0QmFzZVRhYmxlIHtcbiAgICB0eXBlOiAndGFibGUnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0VGFibGVDZWxsIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHJvd0lkOiBzdHJpbmc7XG4gICAgY29sdW1uSWQ6IHN0cmluZztcbiAgICBjb2xzcGFuPzogbnVtYmVyO1xuICAgIHJvd3NwYW4/OiBudW1iZXI7XG4gICAgdGV4dD86IFBsYWl0VGFibGVDZWxsUGFyYWdyYXBoO1xuICAgIHRleHRIZWlnaHQ/OiBudW1iZXI7XG4gICAgZmlsbD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdFRhYmxlRHJhd09wdGlvbnMgZXh0ZW5kcyBEcmF3T3B0aW9ucyB7XG4gICAgZWxlbWVudDogUGxhaXRUYWJsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdFRhYmxlQ2VsbFdpdGhQb2ludHMgZXh0ZW5kcyBQbGFpdFRhYmxlQ2VsbCB7XG4gICAgcG9pbnRzOiBbUG9pbnQsIFBvaW50XTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdFRhYmxlQ2VsbFBhcmFncmFwaCBleHRlbmRzIFBhcmFncmFwaEVsZW1lbnQge1xuICAgIGRpcmVjdGlvbj86ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCc7XG59XG5cbmV4cG9ydCBjb25zdCBQbGFpdFRhYmxlRWxlbWVudCA9IHtcbiAgICBpc1RhYmxlOiAodmFsdWU6IGFueSk6IHZhbHVlIGlzIFBsYWl0VGFibGUgPT4ge1xuICAgICAgICByZXR1cm4gdmFsdWUudHlwZSA9PT0gJ3RhYmxlJztcbiAgICB9LFxuICAgIGlzVmVydGljYWxUZXh0OiAodmFsdWU6IFBsYWl0VGFibGVDZWxsKTogdmFsdWUgaXMgUGxhaXRUYWJsZUNlbGwgPT4ge1xuICAgICAgICByZXR1cm4gdmFsdWUudGV4dD8uZGlyZWN0aW9uID09PSAndmVydGljYWwnO1xuICAgIH1cbn07XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2ludGVyZmFjZXMvdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRHZW9tZXRyeSwgQmFzaWNTaGFwZXMgfSBmcm9tICcuL2dlb21ldHJ5JztcblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdFRleHQgZXh0ZW5kcyBQbGFpdEdlb21ldHJ5IHtcbiAgICBzaGFwZTogQmFzaWNTaGFwZXMudGV4dDtcbiAgICBhdXRvU2l6ZTogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export var VectorLinePointerType;
|
|
2
|
-
(function (VectorLinePointerType) {
|
|
3
|
-
VectorLinePointerType["vectorLine"] = "vectorLine";
|
|
4
|
-
})(VectorLinePointerType || (VectorLinePointerType = {}));
|
|
5
|
-
export var VectorLineShape;
|
|
6
|
-
(function (VectorLineShape) {
|
|
7
|
-
VectorLineShape["straight"] = "straight";
|
|
8
|
-
VectorLineShape["curve"] = "curve";
|
|
9
|
-
})(VectorLineShape || (VectorLineShape = {}));
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjdG9yLWxpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9pbnRlcmZhY2VzL3ZlY3Rvci1saW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sQ0FBTixJQUFZLHFCQUVYO0FBRkQsV0FBWSxxQkFBcUI7SUFDN0Isa0RBQXlCLENBQUE7QUFDN0IsQ0FBQyxFQUZXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFFaEM7QUFFRCxNQUFNLENBQU4sSUFBWSxlQUdYO0FBSEQsV0FBWSxlQUFlO0lBQ3ZCLHdDQUFrQyxDQUFBO0lBQ2xDLGtDQUE0QixDQUFBO0FBQ2hDLENBQUMsRUFIVyxlQUFlLEtBQWYsZUFBZSxRQUcxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhdGgsIFBsYWl0RWxlbWVudCwgUG9pbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBBcnJvd0xpbmVTaGFwZSB9IGZyb20gJy4vYXJyb3ctbGluZSc7XG5pbXBvcnQgeyBTdHJva2VTdHlsZSB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuXG5leHBvcnQgZW51bSBWZWN0b3JMaW5lUG9pbnRlclR5cGUge1xuICAgIHZlY3RvckxpbmUgPSAndmVjdG9yTGluZSdcbn1cblxuZXhwb3J0IGVudW0gVmVjdG9yTGluZVNoYXBlIHtcbiAgICBzdHJhaWdodCA9IEFycm93TGluZVNoYXBlLnN0cmFpZ2h0LFxuICAgIGN1cnZlID0gQXJyb3dMaW5lU2hhcGUuY3VydmVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdFZlY3RvckxpbmUgZXh0ZW5kcyBQbGFpdEVsZW1lbnQge1xuICAgIHR5cGU6ICd2ZWN0b3ItbGluZSc7XG4gICAgc2hhcGU6IFZlY3RvckxpbmVTaGFwZTtcbiAgICBwb2ludHM6IFBvaW50W107XG4gICAgc3Ryb2tlQ29sb3I/OiBzdHJpbmc7XG4gICAgc3Ryb2tlV2lkdGg/OiBudW1iZXI7XG4gICAgc3Ryb2tlU3R5bGU/OiBTdHJva2VTdHlsZTtcbiAgICBmaWxsPzogc3RyaW5nO1xuICAgIG9wYWNpdHk6IG51bWJlcjtcbn1cbiJdfQ==
|
package/esm2022/plait-draw.mjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhaXQtZHJhdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL3BsYWl0LWRyYXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { CursorClass, PlaitBoard, PlaitElement, RectangleClient, RgbaToHEX, drawCircle, hasValidAngle, isSelectionMoving, rotateAntiPointsByElement, setAngleForG, toActivePoint, toActiveRectangleFromViewBoxRectangle } from '@plait/core';
|
|
2
|
-
import { PlaitDrawElement } from '../interfaces';
|
|
3
|
-
import { getAutoCompletePoints, getHitIndexOfAutoCompletePoint, getSelectedDrawElements } from '../utils';
|
|
4
|
-
import { PRIMARY_COLOR } from '@plait/common';
|
|
5
|
-
import { LINE_AUTO_COMPLETE_HOVERED_DIAMETER, LINE_AUTO_COMPLETE_HOVERED_OPACITY } from '../constants/line';
|
|
6
|
-
import { ArrowLineAutoCompleteGenerator } from '../generators/arrow-line-auto-complete.generator';
|
|
7
|
-
export const withArrowLineAutoCompleteReaction = (board) => {
|
|
8
|
-
const { pointerMove } = board;
|
|
9
|
-
let reactionG = null;
|
|
10
|
-
board.pointerMove = (event) => {
|
|
11
|
-
reactionG?.remove();
|
|
12
|
-
PlaitBoard.getBoardContainer(board).classList.remove(CursorClass.crosshair);
|
|
13
|
-
const selectedElements = getSelectedDrawElements(board);
|
|
14
|
-
const targetElement = selectedElements.length === 1 && selectedElements[0];
|
|
15
|
-
const activePoint = toActivePoint(board, event.x, event.y);
|
|
16
|
-
if (!PlaitBoard.isReadonly(board) && !isSelectionMoving(board) && targetElement && PlaitDrawElement.isShapeElement(targetElement)) {
|
|
17
|
-
const points = getAutoCompletePoints(board, targetElement, true);
|
|
18
|
-
const hitIndex = getHitIndexOfAutoCompletePoint(rotateAntiPointsByElement(board, activePoint, targetElement, true) || activePoint, points);
|
|
19
|
-
const hitPoint = points[hitIndex];
|
|
20
|
-
const ref = PlaitElement.getElementRef(targetElement);
|
|
21
|
-
const lineAutoCompleteGenerator = ref.getGenerator(ArrowLineAutoCompleteGenerator.key);
|
|
22
|
-
lineAutoCompleteGenerator.recoverAutoCompleteG();
|
|
23
|
-
if (hitPoint) {
|
|
24
|
-
lineAutoCompleteGenerator?.removeAutoCompleteG(hitIndex);
|
|
25
|
-
reactionG = drawCircle(PlaitBoard.getRoughSVG(board), hitPoint, LINE_AUTO_COMPLETE_HOVERED_DIAMETER, {
|
|
26
|
-
stroke: 'none',
|
|
27
|
-
fill: RgbaToHEX(PRIMARY_COLOR, LINE_AUTO_COMPLETE_HOVERED_OPACITY),
|
|
28
|
-
fillStyle: 'solid'
|
|
29
|
-
});
|
|
30
|
-
PlaitBoard.getActiveHost(board).append(reactionG);
|
|
31
|
-
PlaitBoard.getBoardContainer(board).classList.add(CursorClass.crosshair);
|
|
32
|
-
if (hasValidAngle(targetElement)) {
|
|
33
|
-
const rectangle = board.getRectangle(targetElement);
|
|
34
|
-
const activeRectangle = toActiveRectangleFromViewBoxRectangle(board, rectangle);
|
|
35
|
-
setAngleForG(reactionG, RectangleClient.getCenterPoint(activeRectangle), targetElement.angle);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
pointerMove(event);
|
|
40
|
-
};
|
|
41
|
-
return board;
|
|
42
|
-
};
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1hcnJvdy1saW5lLWF1dG8tY29tcGxldGUtcmVhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9wbHVnaW5zL3dpdGgtYXJyb3ctbGluZS1hdXRvLWNvbXBsZXRlLXJlYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxXQUFXLEVBQ1gsVUFBVSxFQUNWLFlBQVksRUFFWixlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLHlCQUF5QixFQUN6QixZQUFZLEVBQ1osYUFBYSxFQUNiLHFDQUFxQyxFQUN4QyxNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLDhCQUE4QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxhQUFhLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRWxHLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQ25FLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDOUIsSUFBSSxTQUFTLEdBQXVCLElBQUksQ0FBQztJQUN6QyxLQUFLLENBQUMsV0FBVyxHQUFHLENBQUMsS0FBbUIsRUFBRSxFQUFFO1FBQ3hDLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNwQixVQUFVLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUUsTUFBTSxnQkFBZ0IsR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RCxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxhQUFhLElBQUksZ0JBQWdCLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDaEksTUFBTSxNQUFNLEdBQUcscUJBQXFCLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNqRSxNQUFNLFFBQVEsR0FBRyw4QkFBOEIsQ0FDM0MseUJBQXlCLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksV0FBVyxFQUNqRixNQUFNLENBQ1QsQ0FBQztZQUNGLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsQyxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsYUFBYSxDQUF3QixhQUFhLENBQUMsQ0FBQztZQUM3RSxNQUFNLHlCQUF5QixHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQWlDLDhCQUE4QixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZILHlCQUF5QixDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDakQsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDWCx5QkFBeUIsRUFBRSxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDekQsU0FBUyxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxtQ0FBbUMsRUFBRTtvQkFDakcsTUFBTSxFQUFFLE1BQU07b0JBQ2QsSUFBSSxFQUFFLFNBQVMsQ0FBQyxhQUFhLEVBQUUsa0NBQWtDLENBQUM7b0JBQ2xFLFNBQVMsRUFBRSxPQUFPO2lCQUNyQixDQUFDLENBQUM7Z0JBQ0gsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2xELFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDekUsSUFBSSxhQUFhLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztvQkFDL0IsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUUsQ0FBQztvQkFDckQsTUFBTSxlQUFlLEdBQUcscUNBQXFDLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO29CQUNoRixZQUFZLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLEVBQUUsYUFBYSxDQUFDLEtBQU0sQ0FBQyxDQUFDO2dCQUNuRyxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7UUFDRCxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDdXJzb3JDbGFzcyxcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBsYWl0RWxlbWVudCxcbiAgICBQb2ludCxcbiAgICBSZWN0YW5nbGVDbGllbnQsXG4gICAgUmdiYVRvSEVYLFxuICAgIGRyYXdDaXJjbGUsXG4gICAgaGFzVmFsaWRBbmdsZSxcbiAgICBpc1NlbGVjdGlvbk1vdmluZyxcbiAgICByb3RhdGVBbnRpUG9pbnRzQnlFbGVtZW50LFxuICAgIHNldEFuZ2xlRm9yRyxcbiAgICB0b0FjdGl2ZVBvaW50LFxuICAgIHRvQWN0aXZlUmVjdGFuZ2xlRnJvbVZpZXdCb3hSZWN0YW5nbGVcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgUGxhaXREcmF3RWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZ2V0QXV0b0NvbXBsZXRlUG9pbnRzLCBnZXRIaXRJbmRleE9mQXV0b0NvbXBsZXRlUG9pbnQsIGdldFNlbGVjdGVkRHJhd0VsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgUFJJTUFSWV9DT0xPUiwgUGxhaXRDb21tb25FbGVtZW50UmVmIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBMSU5FX0FVVE9fQ09NUExFVEVfSE9WRVJFRF9ESUFNRVRFUiwgTElORV9BVVRPX0NPTVBMRVRFX0hPVkVSRURfT1BBQ0lUWSB9IGZyb20gJy4uL2NvbnN0YW50cy9saW5lJztcbmltcG9ydCB7IEFycm93TGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvciB9IGZyb20gJy4uL2dlbmVyYXRvcnMvYXJyb3ctbGluZS1hdXRvLWNvbXBsZXRlLmdlbmVyYXRvcic7XG5cbmV4cG9ydCBjb25zdCB3aXRoQXJyb3dMaW5lQXV0b0NvbXBsZXRlUmVhY3Rpb24gPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCB7IHBvaW50ZXJNb3ZlIH0gPSBib2FyZDtcbiAgICBsZXQgcmVhY3Rpb25HOiBTVkdHRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICAgIGJvYXJkLnBvaW50ZXJNb3ZlID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgcmVhY3Rpb25HPy5yZW1vdmUoKTtcbiAgICAgICAgUGxhaXRCb2FyZC5nZXRCb2FyZENvbnRhaW5lcihib2FyZCkuY2xhc3NMaXN0LnJlbW92ZShDdXJzb3JDbGFzcy5jcm9zc2hhaXIpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWREcmF3RWxlbWVudHMoYm9hcmQpO1xuICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDEgJiYgc2VsZWN0ZWRFbGVtZW50c1swXTtcbiAgICAgICAgY29uc3QgYWN0aXZlUG9pbnQgPSB0b0FjdGl2ZVBvaW50KGJvYXJkLCBldmVudC54LCBldmVudC55KTtcbiAgICAgICAgaWYgKCFQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpICYmICFpc1NlbGVjdGlvbk1vdmluZyhib2FyZCkgJiYgdGFyZ2V0RWxlbWVudCAmJiBQbGFpdERyYXdFbGVtZW50LmlzU2hhcGVFbGVtZW50KHRhcmdldEVsZW1lbnQpKSB7XG4gICAgICAgICAgICBjb25zdCBwb2ludHMgPSBnZXRBdXRvQ29tcGxldGVQb2ludHMoYm9hcmQsIHRhcmdldEVsZW1lbnQsIHRydWUpO1xuICAgICAgICAgICAgY29uc3QgaGl0SW5kZXggPSBnZXRIaXRJbmRleE9mQXV0b0NvbXBsZXRlUG9pbnQoXG4gICAgICAgICAgICAgICAgcm90YXRlQW50aVBvaW50c0J5RWxlbWVudChib2FyZCwgYWN0aXZlUG9pbnQsIHRhcmdldEVsZW1lbnQsIHRydWUpIHx8IGFjdGl2ZVBvaW50LFxuICAgICAgICAgICAgICAgIHBvaW50c1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGhpdFBvaW50ID0gcG9pbnRzW2hpdEluZGV4XTtcbiAgICAgICAgICAgIGNvbnN0IHJlZiA9IFBsYWl0RWxlbWVudC5nZXRFbGVtZW50UmVmPFBsYWl0Q29tbW9uRWxlbWVudFJlZj4odGFyZ2V0RWxlbWVudCk7XG4gICAgICAgICAgICBjb25zdCBsaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yID0gcmVmLmdldEdlbmVyYXRvcjxBcnJvd0xpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3I+KEFycm93TGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvci5rZXkpO1xuICAgICAgICAgICAgbGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvci5yZWNvdmVyQXV0b0NvbXBsZXRlRygpO1xuICAgICAgICAgICAgaWYgKGhpdFBvaW50KSB7XG4gICAgICAgICAgICAgICAgbGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvcj8ucmVtb3ZlQXV0b0NvbXBsZXRlRyhoaXRJbmRleCk7XG4gICAgICAgICAgICAgICAgcmVhY3Rpb25HID0gZHJhd0NpcmNsZShQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKSwgaGl0UG9pbnQsIExJTkVfQVVUT19DT01QTEVURV9IT1ZFUkVEX0RJQU1FVEVSLCB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJ25vbmUnLFxuICAgICAgICAgICAgICAgICAgICBmaWxsOiBSZ2JhVG9IRVgoUFJJTUFSWV9DT0xPUiwgTElORV9BVVRPX0NPTVBMRVRFX0hPVkVSRURfT1BBQ0lUWSksXG4gICAgICAgICAgICAgICAgICAgIGZpbGxTdHlsZTogJ3NvbGlkJ1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0QWN0aXZlSG9zdChib2FyZCkuYXBwZW5kKHJlYWN0aW9uRyk7XG4gICAgICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRCb2FyZENvbnRhaW5lcihib2FyZCkuY2xhc3NMaXN0LmFkZChDdXJzb3JDbGFzcy5jcm9zc2hhaXIpO1xuICAgICAgICAgICAgICAgIGlmIChoYXNWYWxpZEFuZ2xlKHRhcmdldEVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY3RhbmdsZSA9IGJvYXJkLmdldFJlY3RhbmdsZSh0YXJnZXRFbGVtZW50KSE7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZVJlY3RhbmdsZSA9IHRvQWN0aXZlUmVjdGFuZ2xlRnJvbVZpZXdCb3hSZWN0YW5nbGUoYm9hcmQsIHJlY3RhbmdsZSk7XG4gICAgICAgICAgICAgICAgICAgIHNldEFuZ2xlRm9yRyhyZWFjdGlvbkcsIFJlY3RhbmdsZUNsaWVudC5nZXRDZW50ZXJQb2ludChhY3RpdmVSZWN0YW5nbGUpLCB0YXJnZXRFbGVtZW50LmFuZ2xlISk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHBvaW50ZXJNb3ZlKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcbiJdfQ==
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { BoardTransforms, PRESS_AND_MOVE_BUFFER, PlaitBoard, PlaitPointerType, RectangleClient, Transforms, addSelectedElement, clearSelectedElement, createG, distanceBetweenPointAndPoint, rotateAntiPointsByElement, rotatePointsByElement, temporaryDisableSelection, toActivePoint, toHostPoint, toScreenPointFromActivePoint, toViewBoxPoint } from '@plait/core';
|
|
2
|
-
import { ArrowLineShape, PlaitDrawElement } from '../interfaces';
|
|
3
|
-
import { getElementShape } from '../utils/shape';
|
|
4
|
-
import { getEngine } from '../engines';
|
|
5
|
-
import { handleArrowLineCreating } from '../utils/arrow-line/arrow-line-basic';
|
|
6
|
-
import { getSelectedDrawElements } from '../utils/selected';
|
|
7
|
-
import { getAutoCompletePoints, getHitIndexOfAutoCompletePoint } from '../utils/geometry';
|
|
8
|
-
export const WithArrowLineAutoCompletePluginKey = 'plait-arrow-line-auto-complete-plugin-key';
|
|
9
|
-
export const withArrowLineAutoComplete = (board) => {
|
|
10
|
-
const { pointerDown, pointerMove, globalPointerUp } = board;
|
|
11
|
-
let autoCompletePoint = null;
|
|
12
|
-
let lineShapeG = null;
|
|
13
|
-
let sourceElement;
|
|
14
|
-
let temporaryElement;
|
|
15
|
-
board.pointerDown = (event) => {
|
|
16
|
-
const selectedElements = getSelectedDrawElements(board);
|
|
17
|
-
const targetElement = selectedElements.length === 1 && selectedElements[0];
|
|
18
|
-
const activePoint = toActivePoint(board, event.x, event.y);
|
|
19
|
-
if (!PlaitBoard.isReadonly(board) && targetElement && PlaitDrawElement.isShapeElement(targetElement)) {
|
|
20
|
-
const points = getAutoCompletePoints(board, targetElement, true);
|
|
21
|
-
const index = getHitIndexOfAutoCompletePoint(rotateAntiPointsByElement(board, activePoint, targetElement, true) || activePoint, points);
|
|
22
|
-
const hitPoint = points[index];
|
|
23
|
-
if (hitPoint) {
|
|
24
|
-
temporaryDisableSelection(board);
|
|
25
|
-
const screenPoint = toScreenPointFromActivePoint(board, hitPoint);
|
|
26
|
-
autoCompletePoint = toViewBoxPoint(board, toHostPoint(board, screenPoint[0], screenPoint[1]));
|
|
27
|
-
sourceElement = targetElement;
|
|
28
|
-
BoardTransforms.updatePointerType(board, ArrowLineShape.elbow);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
pointerDown(event);
|
|
32
|
-
};
|
|
33
|
-
board.pointerMove = (event) => {
|
|
34
|
-
lineShapeG?.remove();
|
|
35
|
-
lineShapeG = createG();
|
|
36
|
-
let movingPoint = toViewBoxPoint(board, toHostPoint(board, event.x, event.y));
|
|
37
|
-
if (autoCompletePoint && sourceElement) {
|
|
38
|
-
const distance = distanceBetweenPointAndPoint(...(rotateAntiPointsByElement(board, movingPoint, sourceElement) || movingPoint), ...autoCompletePoint);
|
|
39
|
-
if (distance > PRESS_AND_MOVE_BUFFER) {
|
|
40
|
-
const rectangle = RectangleClient.getRectangleByPoints(sourceElement.points);
|
|
41
|
-
const shape = getElementShape(sourceElement);
|
|
42
|
-
const engine = getEngine(shape);
|
|
43
|
-
let sourcePoint = autoCompletePoint;
|
|
44
|
-
if (engine.getNearestCrossingPoint) {
|
|
45
|
-
const crossingPoint = engine.getNearestCrossingPoint(rectangle, autoCompletePoint);
|
|
46
|
-
sourcePoint = crossingPoint;
|
|
47
|
-
}
|
|
48
|
-
// source point must be click point
|
|
49
|
-
const rotatedSourcePoint = rotatePointsByElement(sourcePoint, sourceElement) || sourcePoint;
|
|
50
|
-
temporaryElement = handleArrowLineCreating(board, ArrowLineShape.elbow, rotatedSourcePoint, movingPoint, sourceElement, lineShapeG);
|
|
51
|
-
Transforms.addSelectionWithTemporaryElements(board, []);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
pointerMove(event);
|
|
55
|
-
};
|
|
56
|
-
board.globalPointerUp = (event) => {
|
|
57
|
-
if (temporaryElement) {
|
|
58
|
-
Transforms.insertNode(board, temporaryElement, [board.children.length]);
|
|
59
|
-
clearSelectedElement(board);
|
|
60
|
-
addSelectedElement(board, temporaryElement);
|
|
61
|
-
const afterComplete = board.getPluginOptions(WithArrowLineAutoCompletePluginKey)?.afterComplete;
|
|
62
|
-
afterComplete && afterComplete(temporaryElement);
|
|
63
|
-
}
|
|
64
|
-
if (autoCompletePoint) {
|
|
65
|
-
BoardTransforms.updatePointerType(board, PlaitPointerType.selection);
|
|
66
|
-
autoCompletePoint = null;
|
|
67
|
-
}
|
|
68
|
-
lineShapeG?.remove();
|
|
69
|
-
lineShapeG = null;
|
|
70
|
-
sourceElement = null;
|
|
71
|
-
temporaryElement = null;
|
|
72
|
-
globalPointerUp(event);
|
|
73
|
-
};
|
|
74
|
-
return board;
|
|
75
|
-
};
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1hcnJvdy1saW5lLWF1dG8tY29tcGxldGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9wbHVnaW5zL3dpdGgtYXJyb3ctbGluZS1hdXRvLWNvbXBsZXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLFVBQVUsRUFFVixnQkFBZ0IsRUFFaEIsZUFBZSxFQUNmLFVBQVUsRUFDVixrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLE9BQU8sRUFDUCw0QkFBNEIsRUFDNUIseUJBQXlCLEVBQ3pCLHFCQUFxQixFQUNyQix5QkFBeUIsRUFDekIsYUFBYSxFQUNiLFdBQVcsRUFDWCw0QkFBNEIsRUFDNUIsY0FBYyxFQUNqQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsY0FBYyxFQUFrQixnQkFBZ0IsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLDhCQUE4QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFMUYsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUcsMkNBQTJDLENBQUM7QUFNOUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDM0QsTUFBTSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRTVELElBQUksaUJBQWlCLEdBQWlCLElBQUksQ0FBQztJQUMzQyxJQUFJLFVB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QUNsQixhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUN4QixlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQyxDQUFDO0lBRUYsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBCb2FyZFRyYW5zZm9ybXMsXG4gICAgUFJFU1NfQU5EX01PVkVfQlVGRkVSLFxuICAgIFBsYWl0Qm9hcmQsXG4gICAgUGxhaXRPcHRpb25zQm9hcmQsXG4gICAgUGxhaXRQb2ludGVyVHlwZSxcbiAgICBQb2ludCxcbiAgICBSZWN0YW5nbGVDbGllbnQsXG4gICAgVHJhbnNmb3JtcyxcbiAgICBhZGRTZWxlY3RlZEVsZW1lbnQsXG4gICAgY2xlYXJTZWxlY3RlZEVsZW1lbnQsXG4gICAgY3JlYXRlRyxcbiAgICBkaXN0YW5jZUJldHdlZW5Qb2ludEFuZFBvaW50LFxuICAgIHJvdGF0ZUFudGlQb2ludHNCeUVsZW1lbnQsXG4gICAgcm90YXRlUG9pbnRzQnlFbGVtZW50LFxuICAgIHRlbXBvcmFyeURpc2FibGVTZWxlY3Rpb24sXG4gICAgdG9BY3RpdmVQb2ludCxcbiAgICB0b0hvc3RQb2ludCxcbiAgICB0b1NjcmVlblBvaW50RnJvbUFjdGl2ZVBvaW50LFxuICAgIHRvVmlld0JveFBvaW50XG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEFycm93TGluZVNoYXBlLCBQbGFpdEFycm93TGluZSwgUGxhaXREcmF3RWxlbWVudCwgUGxhaXRTaGFwZUVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldEVsZW1lbnRTaGFwZSB9IGZyb20gJy4uL3V0aWxzL3NoYXBlJztcbmltcG9ydCB7IGdldEVuZ2luZSB9IGZyb20gJy4uL2VuZ2luZXMnO1xuaW1wb3J0IHsgaGFuZGxlQXJyb3dMaW5lQ3JlYXRpbmcgfSBmcm9tICcuLi91dGlscy9hcnJvdy1saW5lL2Fycm93LWxpbmUtYmFzaWMnO1xuaW1wb3J0IHsgZ2V0U2VsZWN0ZWREcmF3RWxlbWVudHMgfSBmcm9tICcuLi91dGlscy9zZWxlY3RlZCc7XG5pbXBvcnQgeyBnZXRBdXRvQ29tcGxldGVQb2ludHMsIGdldEhpdEluZGV4T2ZBdXRvQ29tcGxldGVQb2ludCB9IGZyb20gJy4uL3V0aWxzL2dlb21ldHJ5JztcblxuZXhwb3J0IGNvbnN0IFdpdGhBcnJvd0xpbmVBdXRvQ29tcGxldGVQbHVnaW5LZXkgPSAncGxhaXQtYXJyb3ctbGluZS1hdXRvLWNvbXBsZXRlLXBsdWdpbi1rZXknO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFycm93TGluZUF1dG9Db21wbGV0ZU9wdGlvbnMge1xuICAgIGFmdGVyQ29tcGxldGU6IChlbGVtZW50OiBQbGFpdEFycm93TGluZSkgPT4ge307XG59XG5cbmV4cG9ydCBjb25zdCB3aXRoQXJyb3dMaW5lQXV0b0NvbXBsZXRlID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgeyBwb2ludGVyRG93biwgcG9pbnRlck1vdmUsIGdsb2JhbFBvaW50ZXJVcCB9ID0gYm9hcmQ7XG5cbiAgICBsZXQgYXV0b0NvbXBsZXRlUG9pbnQ6IFBvaW50IHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IGxpbmVTaGFwZUc6IFNWR0dFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IHNvdXJjZUVsZW1lbnQ6IFBsYWl0U2hhcGVFbGVtZW50IHwgbnVsbDtcbiAgICBsZXQgdGVtcG9yYXJ5RWxlbWVudDogUGxhaXRBcnJvd0xpbmUgfCBudWxsO1xuXG4gICAgYm9hcmQucG9pbnRlckRvd24gPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWREcmF3RWxlbWVudHMoYm9hcmQpO1xuICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDEgJiYgc2VsZWN0ZWRFbGVtZW50c1swXTtcbiAgICAgICAgY29uc3QgYWN0aXZlUG9pbnQgPSB0b0FjdGl2ZVBvaW50KGJvYXJkLCBldmVudC54LCBldmVudC55KTtcbiAgICAgICAgaWYgKCFQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpICYmIHRhcmdldEVsZW1lbnQgJiYgUGxhaXREcmF3RWxlbWVudC5pc1NoYXBlRWxlbWVudCh0YXJnZXRFbGVtZW50KSkge1xuICAgICAgICAgICAgY29uc3QgcG9pbnRzID0gZ2V0QXV0b0NvbXBsZXRlUG9pbnRzKGJvYXJkLCB0YXJnZXRFbGVtZW50LCB0cnVlKTtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gZ2V0SGl0SW5kZXhPZkF1dG9Db21wbGV0ZVBvaW50KFxuICAgICAgICAgICAgICAgIHJvdGF0ZUFudGlQb2ludHNCeUVsZW1lbnQoYm9hcmQsIGFjdGl2ZVBvaW50LCB0YXJnZXRFbGVtZW50LCB0cnVlKSB8fCBhY3RpdmVQb2ludCxcbiAgICAgICAgICAgICAgICBwb2ludHNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBoaXRQb2ludCA9IHBvaW50c1tpbmRleF07XG4gICAgICAgICAgICBpZiAoaGl0UG9pbnQpIHtcbiAgICAgICAgICAgICAgICB0ZW1wb3JhcnlEaXNhYmxlU2VsZWN0aW9uKGJvYXJkIGFzIFBsYWl0T3B0aW9uc0JvYXJkKTtcbiAgICAgICAgICAgICAgICBjb25zdCBzY3JlZW5Qb2ludCA9IHRvU2NyZWVuUG9pbnRGcm9tQWN0aXZlUG9pbnQoYm9hcmQsIGhpdFBvaW50KTtcbiAgICAgICAgICAgICAgICBhdXRvQ29tcGxldGVQb2ludCA9IHRvVmlld0JveFBvaW50KGJvYXJkLCB0b0hvc3RQb2ludChib2FyZCwgc2NyZWVuUG9pbnRbMF0sIHNjcmVlblBvaW50WzFdKSk7XG4gICAgICAgICAgICAgICAgc291cmNlRWxlbWVudCA9IHRhcmdldEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgQm9hcmRUcmFuc2Zvcm1zLnVwZGF0ZVBvaW50ZXJUeXBlKGJvYXJkLCBBcnJvd0xpbmVTaGFwZS5lbGJvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcG9pbnRlckRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5wb2ludGVyTW92ZSA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGxpbmVTaGFwZUc/LnJlbW92ZSgpO1xuICAgICAgICBsaW5lU2hhcGVHID0gY3JlYXRlRygpO1xuICAgICAgICBsZXQgbW92aW5nUG9pbnQgPSB0b1ZpZXdCb3hQb2ludChib2FyZCwgdG9Ib3N0UG9pbnQoYm9hcmQsIGV2ZW50LngsIGV2ZW50LnkpKTtcbiAgICAgICAgaWYgKGF1dG9Db21wbGV0ZVBvaW50ICYmIHNvdXJjZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlID0gZGlzdGFuY2VCZXR3ZWVuUG9pbnRBbmRQb2ludChcbiAgICAgICAgICAgICAgICAuLi4ocm90YXRlQW50aVBvaW50c0J5RWxlbWVudChib2FyZCwgbW92aW5nUG9pbnQsIHNvdXJjZUVsZW1lbnQpIHx8IG1vdmluZ1BvaW50KSxcbiAgICAgICAgICAgICAgICAuLi5hdXRvQ29tcGxldGVQb2ludFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmIChkaXN0YW5jZSA+IFBSRVNTX0FORF9NT1ZFX0JVRkZFUikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5nZXRSZWN0YW5nbGVCeVBvaW50cyhzb3VyY2VFbGVtZW50LnBvaW50cyk7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2hhcGUgPSBnZXRFbGVtZW50U2hhcGUoc291cmNlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgY29uc3QgZW5naW5lID0gZ2V0RW5naW5lKHNoYXBlKTtcbiAgICAgICAgICAgICAgICBsZXQgc291cmNlUG9pbnQgPSBhdXRvQ29tcGxldGVQb2ludDtcbiAgICAgICAgICAgICAgICBpZiAoZW5naW5lLmdldE5lYXJlc3RDcm9zc2luZ1BvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNyb3NzaW5nUG9pbnQgPSBlbmdpbmUuZ2V0TmVhcmVzdENyb3NzaW5nUG9pbnQocmVjdGFuZ2xlLCBhdXRvQ29tcGxldGVQb2ludCk7XG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZVBvaW50ID0gY3Jvc3NpbmdQb2ludDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gc291cmNlIHBvaW50IG11c3QgYmUgY2xpY2sgcG9pbnRcbiAgICAgICAgICAgICAgICBjb25zdCByb3RhdGVkU291cmNlUG9pbnQgPSByb3RhdGVQb2ludHNCeUVsZW1lbnQoc291cmNlUG9pbnQsIHNvdXJjZUVsZW1lbnQpIHx8IHNvdXJjZVBvaW50O1xuICAgICAgICAgICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBoYW5kbGVBcnJvd0xpbmVDcmVhdGluZyhcbiAgICAgICAgICAgICAgICAgICAgYm9hcmQsXG4gICAgICAgICAgICAgICAgICAgIEFycm93TGluZVNoYXBlLmVsYm93LFxuICAgICAgICAgICAgICAgICAgICByb3RhdGVkU291cmNlUG9pbnQsXG4gICAgICAgICAgICAgICAgICAgIG1vdmluZ1BvaW50LFxuICAgICAgICAgICAgICAgICAgICBzb3VyY2VFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICBsaW5lU2hhcGVHXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLmFkZFNlbGVjdGlvbldpdGhUZW1wb3JhcnlFbGVtZW50cyhib2FyZCwgW10pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHBvaW50ZXJNb3ZlKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZ2xvYmFsUG9pbnRlclVwID0gKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmICh0ZW1wb3JhcnlFbGVtZW50KSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGUoYm9hcmQsIHRlbXBvcmFyeUVsZW1lbnQsIFtib2FyZC5jaGlsZHJlbi5sZW5ndGhdKTtcbiAgICAgICAgICAgIGNsZWFyU2VsZWN0ZWRFbGVtZW50KGJvYXJkKTtcbiAgICAgICAgICAgIGFkZFNlbGVjdGVkRWxlbWVudChib2FyZCwgdGVtcG9yYXJ5RWxlbWVudCk7XG4gICAgICAgICAgICBjb25zdCBhZnRlckNvbXBsZXRlID0gKGJvYXJkIGFzIFBsYWl0T3B0aW9uc0JvYXJkKS5nZXRQbHVnaW5PcHRpb25zPEFycm93TGluZUF1dG9Db21wbGV0ZU9wdGlvbnM+KFxuICAgICAgICAgICAgICAgIFdpdGhBcnJvd0xpbmVBdXRvQ29tcGxldGVQbHVnaW5LZXlcbiAgICAgICAgICAgICk/LmFmdGVyQ29tcGxldGU7XG4gICAgICAgICAgICBhZnRlckNvbXBsZXRlICYmIGFmdGVyQ29tcGxldGUodGVtcG9yYXJ5RWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGF1dG9Db21wbGV0ZVBvaW50KSB7XG4gICAgICAgICAgICBCb2FyZFRyYW5zZm9ybXMudXBkYXRlUG9pbnRlclR5cGUoYm9hcmQsIFBsYWl0UG9pbnRlclR5cGUuc2VsZWN0aW9uKTtcbiAgICAgICAgICAgIGF1dG9Db21wbGV0ZVBvaW50ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBsaW5lU2hhcGVHPy5yZW1vdmUoKTtcbiAgICAgICAgbGluZVNoYXBlRyA9IG51bGw7XG4gICAgICAgIHNvdXJjZUVsZW1lbnQgPSBudWxsO1xuICAgICAgICB0ZW1wb3JhcnlFbGVtZW50ID0gbnVsbDtcbiAgICAgICAgZ2xvYmFsUG9pbnRlclVwKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcbiJdfQ==
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { SNAPPING_STROKE_WIDTH, PlaitBoard, RectangleClient, SELECTION_BORDER_COLOR, drawCircle, hasValidAngle, setAngleForG, toHostPoint, toViewBoxPoint } from '@plait/core';
|
|
2
|
-
import { ArrowLineShape, PlaitDrawElement } from '../interfaces';
|
|
3
|
-
import { isResizingByCondition } from '@plait/common';
|
|
4
|
-
import { LineResizeHandle } from '../utils/position/line';
|
|
5
|
-
import { drawBoundReaction, getHitShape, getSnappingRef } from '../utils';
|
|
6
|
-
export const withArrowLineBoundReaction = (board) => {
|
|
7
|
-
const { pointerMove, pointerUp } = board;
|
|
8
|
-
let boundShapeG = null;
|
|
9
|
-
board.pointerMove = (event) => {
|
|
10
|
-
boundShapeG?.remove();
|
|
11
|
-
if (PlaitBoard.isReadonly(board)) {
|
|
12
|
-
pointerMove(event);
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
const linePointers = Object.keys(ArrowLineShape);
|
|
16
|
-
const isLinePointer = PlaitBoard.isInPointer(board, linePointers);
|
|
17
|
-
const movingPoint = toViewBoxPoint(board, toHostPoint(board, event.x, event.y));
|
|
18
|
-
const isLineResizing = isResizingByCondition(board, (resizeRef) => {
|
|
19
|
-
const { element, handle } = resizeRef;
|
|
20
|
-
const isSourceOrTarget = handle === LineResizeHandle.target || handle === LineResizeHandle.source;
|
|
21
|
-
return PlaitDrawElement.isArrowLine(element) && isSourceOrTarget;
|
|
22
|
-
});
|
|
23
|
-
if (isLinePointer || isLineResizing) {
|
|
24
|
-
const hitElement = getHitShape(board, movingPoint);
|
|
25
|
-
if (hitElement) {
|
|
26
|
-
const ref = getSnappingRef(board, hitElement, movingPoint);
|
|
27
|
-
const isSnapping = ref.isHitEdge || ref.isHitConnector;
|
|
28
|
-
boundShapeG = drawBoundReaction(board, hitElement, { hasMask: isSnapping, hasConnector: true });
|
|
29
|
-
if (isSnapping) {
|
|
30
|
-
const circleG = drawCircle(PlaitBoard.getRoughSVG(board), ref.connectorPoint || ref.edgePoint, 6, {
|
|
31
|
-
stroke: SELECTION_BORDER_COLOR,
|
|
32
|
-
strokeWidth: SNAPPING_STROKE_WIDTH,
|
|
33
|
-
fill: SELECTION_BORDER_COLOR,
|
|
34
|
-
fillStyle: 'solid'
|
|
35
|
-
});
|
|
36
|
-
boundShapeG.appendChild(circleG);
|
|
37
|
-
}
|
|
38
|
-
if (hasValidAngle(hitElement)) {
|
|
39
|
-
setAngleForG(boundShapeG, RectangleClient.getCenterPointByPoints(hitElement.points), hitElement.angle);
|
|
40
|
-
}
|
|
41
|
-
PlaitBoard.getElementTopHost(board).append(boundShapeG);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
pointerMove(event);
|
|
45
|
-
};
|
|
46
|
-
board.pointerUp = (event) => {
|
|
47
|
-
boundShapeG?.remove();
|
|
48
|
-
boundShapeG = null;
|
|
49
|
-
pointerUp(event);
|
|
50
|
-
};
|
|
51
|
-
return board;
|
|
52
|
-
};
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1hcnJvdy1saW5lLWJvdW5kLXJlYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvcGx1Z2lucy93aXRoLWFycm93LWxpbmUtYm91bmQtcmVhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHFCQUFxQixFQUNyQixVQUFVLEVBRVYsZUFBZSxFQUNmLHNCQUFzQixFQUN0QixVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksRUFDWixXQUFXLEVBQ1gsY0FBYyxFQUNqQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUUxRSxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUM1RCxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUV6QyxJQUFJLFdBQVcsR0FBdUIsSUFBSSxDQUFDO0lBRTNDLEtBQUssQ0FBQyxXQUFXLEdBQUcsQ0FBQyxLQUFtQixFQUFFLEVBQUU7UUFDeEMsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3RCLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQy9CLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQixPQUFPO1FBQ1gsQ0FBQztRQUNELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDakQsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDbEUsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEYsTUFBTSxjQUFjLEdBQUcscUJBQXFCLENBQWlDLEtBQUssRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQzlGLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsU0FBUyxDQUFDO1lBQ3RDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxLQUFLLGdCQUFnQixDQUFDLE1BQU0sSUFBSSxNQUFNLEtBQUssZ0JBQWdCLENBQUMsTUFBTSxDQUFDO1lBQ2xHLE9BQU8sZ0JBQWdCLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLGdCQUFnQixDQUFDO1FBQ3JFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxhQUFhLElBQUksY0FBYyxFQUFFLENBQUM7WUFDbEMsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztZQUNuRCxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNiLE1BQU0sR0FBRyxHQUFHLGNBQWMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUMzRCxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsU0FBUyxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUM7Z0JBQ3ZELFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDaEcsSUFBSSxVQUFVLEVBQUUsQ0FBQztvQkFDYixNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsY0FBYyxJQUFJLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFO3dCQUM5RixNQUFNLEVBQUUsc0JBQXNCO3dCQUM5QixXQUFXLEVBQUUscUJBQXFCO3dCQUNsQyxJQUFJLEVBQUUsc0JBQXNCO3dCQUM1QixTQUFTLEVBQUUsT0FBTztxQkFDckIsQ0FBQyxDQUFDO29CQUNILFdBQVcsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3JDLENBQUM7Z0JBQ0QsSUFBSSxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztvQkFDNUIsWUFBWSxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFVBQVUsQ0FBQyxLQUFNLENBQUMsQ0FBQztnQkFDNUcsQ0FBQztnQkFDRCxVQUFVLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzVELENBQUM7UUFDTCxDQUFDO1FBQ0QsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUMsQ0FBQztJQUVGLEtBQUssQ0FBQyxTQUFTLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUN4QixXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDdEIsV0FBVyxHQUFHLElBQUksQ0FBQztRQUNuQixTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBTTkFQUElOR19TVFJPS0VfV0lEVEgsXG4gICAgUGxhaXRCb2FyZCxcbiAgICBQbGFpdEVsZW1lbnQsXG4gICAgUmVjdGFuZ2xlQ2xpZW50LFxuICAgIFNFTEVDVElPTl9CT1JERVJfQ09MT1IsXG4gICAgZHJhd0NpcmNsZSxcbiAgICBoYXNWYWxpZEFuZ2xlLFxuICAgIHNldEFuZ2xlRm9yRyxcbiAgICB0b0hvc3RQb2ludCxcbiAgICB0b1ZpZXdCb3hQb2ludFxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBBcnJvd0xpbmVTaGFwZSwgUGxhaXREcmF3RWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgaXNSZXNpemluZ0J5Q29uZGl0aW9uIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBMaW5lUmVzaXplSGFuZGxlIH0gZnJvbSAnLi4vdXRpbHMvcG9zaXRpb24vbGluZSc7XG5pbXBvcnQgeyBkcmF3Qm91bmRSZWFjdGlvbiwgZ2V0SGl0U2hhcGUsIGdldFNuYXBwaW5nUmVmIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgY29uc3Qgd2l0aEFycm93TGluZUJvdW5kUmVhY3Rpb24gPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCB7IHBvaW50ZXJNb3ZlLCBwb2ludGVyVXAgfSA9IGJvYXJkO1xuXG4gICAgbGV0IGJvdW5kU2hhcGVHOiBTVkdHRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgYm9hcmQucG9pbnRlck1vdmUgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBib3VuZFNoYXBlRz8ucmVtb3ZlKCk7XG4gICAgICAgIGlmIChQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpKSB7XG4gICAgICAgICAgICBwb2ludGVyTW92ZShldmVudCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbGluZVBvaW50ZXJzID0gT2JqZWN0LmtleXMoQXJyb3dMaW5lU2hhcGUpO1xuICAgICAgICBjb25zdCBpc0xpbmVQb2ludGVyID0gUGxhaXRCb2FyZC5pc0luUG9pbnRlcihib2FyZCwgbGluZVBvaW50ZXJzKTtcbiAgICAgICAgY29uc3QgbW92aW5nUG9pbnQgPSB0b1ZpZXdCb3hQb2ludChib2FyZCwgdG9Ib3N0UG9pbnQoYm9hcmQsIGV2ZW50LngsIGV2ZW50LnkpKTtcbiAgICAgICAgY29uc3QgaXNMaW5lUmVzaXppbmcgPSBpc1Jlc2l6aW5nQnlDb25kaXRpb248UGxhaXRFbGVtZW50LCBMaW5lUmVzaXplSGFuZGxlPihib2FyZCwgKHJlc2l6ZVJlZikgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBlbGVtZW50LCBoYW5kbGUgfSA9IHJlc2l6ZVJlZjtcbiAgICAgICAgICAgIGNvbnN0IGlzU291cmNlT3JUYXJnZXQgPSBoYW5kbGUgPT09IExpbmVSZXNpemVIYW5kbGUudGFyZ2V0IHx8IGhhbmRsZSA9PT0gTGluZVJlc2l6ZUhhbmRsZS5zb3VyY2U7XG4gICAgICAgICAgICByZXR1cm4gUGxhaXREcmF3RWxlbWVudC5pc0Fycm93TGluZShlbGVtZW50KSAmJiBpc1NvdXJjZU9yVGFyZ2V0O1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGlzTGluZVBvaW50ZXIgfHwgaXNMaW5lUmVzaXppbmcpIHtcbiAgICAgICAgICAgIGNvbnN0IGhpdEVsZW1lbnQgPSBnZXRIaXRTaGFwZShib2FyZCwgbW92aW5nUG9pbnQpO1xuICAgICAgICAgICAgaWYgKGhpdEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWYgPSBnZXRTbmFwcGluZ1JlZihib2FyZCwgaGl0RWxlbWVudCwgbW92aW5nUG9pbnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzU25hcHBpbmcgPSByZWYuaXNIaXRFZGdlIHx8IHJlZi5pc0hpdENvbm5lY3RvcjtcbiAgICAgICAgICAgICAgICBib3VuZFNoYXBlRyA9IGRyYXdCb3VuZFJlYWN0aW9uKGJvYXJkLCBoaXRFbGVtZW50LCB7IGhhc01hc2s6IGlzU25hcHBpbmcsIGhhc0Nvbm5lY3RvcjogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICBpZiAoaXNTbmFwcGluZykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjaXJjbGVHID0gZHJhd0NpcmNsZShQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKSwgcmVmLmNvbm5lY3RvclBvaW50IHx8IHJlZi5lZGdlUG9pbnQsIDYsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogU0VMRUNUSU9OX0JPUkRFUl9DT0xPUixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoOiBTTkFQUElOR19TVFJPS0VfV0lEVEgsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiBTRUxFQ1RJT05fQk9SREVSX0NPTE9SLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbFN0eWxlOiAnc29saWQnXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBib3VuZFNoYXBlRy5hcHBlbmRDaGlsZChjaXJjbGVHKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGhhc1ZhbGlkQW5nbGUoaGl0RWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0QW5nbGVGb3JHKGJvdW5kU2hhcGVHLCBSZWN0YW5nbGVDbGllbnQuZ2V0Q2VudGVyUG9pbnRCeVBvaW50cyhoaXRFbGVtZW50LnBvaW50cyksIGhpdEVsZW1lbnQuYW5nbGUhKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRFbGVtZW50VG9wSG9zdChib2FyZCkuYXBwZW5kKGJvdW5kU2hhcGVHKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwb2ludGVyTW92ZShldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLnBvaW50ZXJVcCA9IChldmVudCkgPT4ge1xuICAgICAgICBib3VuZFNoYXBlRz8ucmVtb3ZlKCk7XG4gICAgICAgIGJvdW5kU2hhcGVHID0gbnVsbDtcbiAgICAgICAgcG9pbnRlclVwKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcbiJdfQ==
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { BoardTransforms, PlaitBoard, PlaitPointerType, Transforms, addSelectedElement, clearSelectedElement, createG, toHostPoint, toViewBoxPoint } from '@plait/core';
|
|
2
|
-
import { getArrowLinePointers } from '../constants';
|
|
3
|
-
import { isDrawingMode } from '@plait/common';
|
|
4
|
-
import { handleArrowLineCreating } from '../utils/arrow-line/arrow-line-basic';
|
|
5
|
-
import { getSnappingShape } from '../utils';
|
|
6
|
-
export const withArrowLineCreateByDraw = (board) => {
|
|
7
|
-
const { pointerDown, pointerMove, globalPointerUp } = board;
|
|
8
|
-
let start = null;
|
|
9
|
-
let sourceElement;
|
|
10
|
-
let lineShapeG = null;
|
|
11
|
-
let temporaryElement = null;
|
|
12
|
-
board.pointerDown = (event) => {
|
|
13
|
-
const linePointers = getArrowLinePointers();
|
|
14
|
-
const isLinePointer = PlaitBoard.isInPointer(board, linePointers);
|
|
15
|
-
if (!PlaitBoard.isReadonly(board) && isLinePointer && isDrawingMode(board)) {
|
|
16
|
-
const point = toViewBoxPoint(board, toHostPoint(board, event.x, event.y));
|
|
17
|
-
start = point;
|
|
18
|
-
const hitElement = getSnappingShape(board, point);
|
|
19
|
-
if (hitElement) {
|
|
20
|
-
sourceElement = hitElement;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
pointerDown(event);
|
|
24
|
-
};
|
|
25
|
-
board.pointerMove = (event) => {
|
|
26
|
-
lineShapeG?.remove();
|
|
27
|
-
lineShapeG = createG();
|
|
28
|
-
let movingPoint = toViewBoxPoint(board, toHostPoint(board, event.x, event.y));
|
|
29
|
-
if (start) {
|
|
30
|
-
const lineShape = PlaitBoard.getPointer(board);
|
|
31
|
-
temporaryElement = handleArrowLineCreating(board, lineShape, start, movingPoint, sourceElement, lineShapeG);
|
|
32
|
-
}
|
|
33
|
-
pointerMove(event);
|
|
34
|
-
};
|
|
35
|
-
board.globalPointerUp = (event) => {
|
|
36
|
-
if (temporaryElement) {
|
|
37
|
-
Transforms.insertNode(board, temporaryElement, [board.children.length]);
|
|
38
|
-
clearSelectedElement(board);
|
|
39
|
-
addSelectedElement(board, temporaryElement);
|
|
40
|
-
BoardTransforms.updatePointerType(board, PlaitPointerType.selection);
|
|
41
|
-
}
|
|
42
|
-
lineShapeG?.remove();
|
|
43
|
-
lineShapeG = null;
|
|
44
|
-
sourceElement = null;
|
|
45
|
-
start = null;
|
|
46
|
-
temporaryElement = null;
|
|
47
|
-
globalPointerUp(event);
|
|
48
|
-
};
|
|
49
|
-
return board;
|
|
50
|
-
};
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1hcnJvdy1saW5lLWNyZWF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL3BsdWdpbnMvd2l0aC1hcnJvdy1saW5lLWNyZWF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZUFBZSxFQUNmLFVBQVUsRUFDVixnQkFBZ0IsRUFFaEIsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsT0FBTyxFQUNQLFdBQVcsRUFDWCxjQUFjLEVBQ2pCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUU1QyxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUMzRCxNQUFNLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFNUQsSUFBSSxLQUFLLEdBQWlCLElBQUksQ0FBQztJQUUvQixJQUFJLGFBQXVDLENBQUM7SUFFNUMsSUFBSSxVQUFVLEdBQXVCLElBQUksQ0FBQztJQUUxQyxJQUFJLGdCQUFnQixHQUEwQixJQUFJLENBQUM7SUFFbkQsS0FBSyxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQW1CLEVBQUUsRUFBRTtRQUN4QyxNQUFNLFlBQVksR0FBRyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVDLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLGFBQWEsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN6RSxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxRSxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ2QsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2xELElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2IsYUFBYSxHQUFHLFVBQVUsQ0FBQztZQUMvQixDQUFDO1FBQ0wsQ0FBQztRQUNELFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDLENBQUM7SUFFRixLQUFLLENBQUMsV0FBVyxHQUFHLENBQUMsS0FBbUIsRUFBRSxFQUFFO1FBQ3hDLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNyQixVQUFVLEdBQUcsT0FBTyxFQUFFLENBQUM7UUFDdkIsSUFBSSxXQUFXLEdBQUcsY0FBYyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUUsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFtQixDQUFDO1lBQ2pFLGdCQUFnQixHQUFHLHVCQUF1QixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDaEgsQ0FBQztRQUVELFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDLENBQUM7SUFFRixLQUFLLENBQUMsZUFBZSxHQUFHLENBQUMsS0FBbUIsRUFBRSxFQUFFO1FBQzVDLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUNuQixVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUN4RSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QixrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUM1QyxlQUFlLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7UUFDRCxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDckIsVUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDYixnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDeEIsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUMsQ0FBQztJQUVGLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQm9hcmRUcmFuc2Zvcm1zLFxuICAgIFBsYWl0Qm9hcmQsXG4gICAgUGxhaXRQb2ludGVyVHlwZSxcbiAgICBQb2ludCxcbiAgICBUcmFuc2Zvcm1zLFxuICAgIGFkZFNlbGVjdGVkRWxlbWVudCxcbiAgICBjbGVhclNlbGVjdGVkRWxlbWVudCxcbiAgICBjcmVhdGVHLFxuICAgIHRvSG9zdFBvaW50LFxuICAgIHRvVmlld0JveFBvaW50XG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEFycm93TGluZVNoYXBlLCBQbGFpdEFycm93TGluZSwgUGxhaXRTaGFwZUVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldEFycm93TGluZVBvaW50ZXJzIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGlzRHJhd2luZ01vZGUgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IGhhbmRsZUFycm93TGluZUNyZWF0aW5nIH0gZnJvbSAnLi4vdXRpbHMvYXJyb3ctbGluZS9hcnJvdy1saW5lLWJhc2ljJztcbmltcG9ydCB7IGdldFNuYXBwaW5nU2hhcGUgfSBmcm9tICcuLi91dGlscyc7XG5cbmV4cG9ydCBjb25zdCB3aXRoQXJyb3dMaW5lQ3JlYXRlQnlEcmF3ID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgeyBwb2ludGVyRG93biwgcG9pbnRlck1vdmUsIGdsb2JhbFBvaW50ZXJVcCB9ID0gYm9hcmQ7XG5cbiAgICBsZXQgc3RhcnQ6IFBvaW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBsZXQgc291cmNlRWxlbWVudDogUGxhaXRTaGFwZUVsZW1lbnQgfCBudWxsO1xuXG4gICAgbGV0IGxpbmVTaGFwZUc6IFNWR0dFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBsZXQgdGVtcG9yYXJ5RWxlbWVudDogUGxhaXRBcnJvd0xpbmUgfCBudWxsID0gbnVsbDtcblxuICAgIGJvYXJkLnBvaW50ZXJEb3duID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgbGluZVBvaW50ZXJzID0gZ2V0QXJyb3dMaW5lUG9pbnRlcnMoKTtcbiAgICAgICAgY29uc3QgaXNMaW5lUG9pbnRlciA9IFBsYWl0Qm9hcmQuaXNJblBvaW50ZXIoYm9hcmQsIGxpbmVQb2ludGVycyk7XG4gICAgICAgIGlmICghUGxhaXRCb2FyZC5pc1JlYWRvbmx5KGJvYXJkKSAmJiBpc0xpbmVQb2ludGVyICYmIGlzRHJhd2luZ01vZGUoYm9hcmQpKSB7XG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IHRvVmlld0JveFBvaW50KGJvYXJkLCB0b0hvc3RQb2ludChib2FyZCwgZXZlbnQueCwgZXZlbnQueSkpO1xuICAgICAgICAgICAgc3RhcnQgPSBwb2ludDtcbiAgICAgICAgICAgIGNvbnN0IGhpdEVsZW1lbnQgPSBnZXRTbmFwcGluZ1NoYXBlKGJvYXJkLCBwb2ludCk7XG4gICAgICAgICAgICBpZiAoaGl0RWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHNvdXJjZUVsZW1lbnQgPSBoaXRFbGVtZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHBvaW50ZXJEb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQucG9pbnRlck1vdmUgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBsaW5lU2hhcGVHPy5yZW1vdmUoKTtcbiAgICAgICAgbGluZVNoYXBlRyA9IGNyZWF0ZUcoKTtcbiAgICAgICAgbGV0IG1vdmluZ1BvaW50ID0gdG9WaWV3Qm94UG9pbnQoYm9hcmQsIHRvSG9zdFBvaW50KGJvYXJkLCBldmVudC54LCBldmVudC55KSk7XG4gICAgICAgIGlmIChzdGFydCkge1xuICAgICAgICAgICAgY29uc3QgbGluZVNoYXBlID0gUGxhaXRCb2FyZC5nZXRQb2ludGVyKGJvYXJkKSBhcyBBcnJvd0xpbmVTaGFwZTtcbiAgICAgICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBoYW5kbGVBcnJvd0xpbmVDcmVhdGluZyhib2FyZCwgbGluZVNoYXBlLCBzdGFydCwgbW92aW5nUG9pbnQsIHNvdXJjZUVsZW1lbnQsIGxpbmVTaGFwZUcpO1xuICAgICAgICB9XG5cbiAgICAgICAgcG9pbnRlck1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5nbG9iYWxQb2ludGVyVXAgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBpZiAodGVtcG9yYXJ5RWxlbWVudCkge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlKGJvYXJkLCB0ZW1wb3JhcnlFbGVtZW50LCBbYm9hcmQuY2hpbGRyZW4ubGVuZ3RoXSk7XG4gICAgICAgICAgICBjbGVhclNlbGVjdGVkRWxlbWVudChib2FyZCk7XG4gICAgICAgICAgICBhZGRTZWxlY3RlZEVsZW1lbnQoYm9hcmQsIHRlbXBvcmFyeUVsZW1lbnQpO1xuICAgICAgICAgICAgQm9hcmRUcmFuc2Zvcm1zLnVwZGF0ZVBvaW50ZXJUeXBlKGJvYXJkLCBQbGFpdFBvaW50ZXJUeXBlLnNlbGVjdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgbGluZVNoYXBlRz8ucmVtb3ZlKCk7XG4gICAgICAgIGxpbmVTaGFwZUcgPSBudWxsO1xuICAgICAgICBzb3VyY2VFbGVtZW50ID0gbnVsbDtcbiAgICAgICAgc3RhcnQgPSBudWxsO1xuICAgICAgICB0ZW1wb3JhcnlFbGVtZW50ID0gbnVsbDtcbiAgICAgICAgZ2xvYmFsUG9pbnRlclVwKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcbiJdfQ==
|