@plait/graph-viz 0.77.3 → 0.78.0-next.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.
@@ -1,44 +0,0 @@
1
- import { createForeignObject, createG, normalizePoint } from '@plait/core';
2
- import { Generator } from '@plait/common';
3
- import { drawNode } from '../utils/draw';
4
- import { ACTIVE_NODE_ICON_CLASS_NAME, ACTIVE_NODE_ICON_FONT_SIZE, NODE_ICON_CLASS_NAME } from '../constants';
5
- import { getNodeIcon } from '../utils/node';
6
- export class ForceAtlasNodeGenerator extends Generator {
7
- static { this.key = 'force-atlas-node'; }
8
- constructor(board) {
9
- super(board);
10
- }
11
- canDraw(element) {
12
- return true;
13
- }
14
- draw(element, data) {
15
- const iconRef = this.drawIcon(element, data);
16
- return drawNode(this.board, element, element?.points?.[0] || [0, 0], { ...data, iconG: iconRef.iconG });
17
- }
18
- drawIcon(element, data) {
19
- const iconG = createG();
20
- let { x, y } = normalizePoint(element.points?.[0] || [0, 0]);
21
- const size = element.size;
22
- const foreignObject = createForeignObject(x - size / 2, y - size / 2, size, size);
23
- iconG.append(foreignObject);
24
- const container = document.createElement('div');
25
- container.classList.add(NODE_ICON_CLASS_NAME);
26
- if (data.isActive) {
27
- container.classList.add(ACTIVE_NODE_ICON_CLASS_NAME);
28
- }
29
- foreignObject.append(container);
30
- const nodeIcon = getNodeIcon(element);
31
- const props = {
32
- iconItem: {
33
- name: nodeIcon.name,
34
- fontSize: data.isActive ? ACTIVE_NODE_ICON_FONT_SIZE : nodeIcon.fontSize,
35
- color: nodeIcon.color
36
- },
37
- board: this.board,
38
- element: element
39
- };
40
- const ref = this.board.renderNodeIcon(container, props);
41
- return { ref, iconG };
42
- }
43
- }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmFwaC12aXovc3JjL2ZvcmNlLWF0bGFzL2dlbmVyYXRvcnMvbm9kZS5nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkYsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd6QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsMEJBQTBCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0csT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1QyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsU0FBbUQ7YUFDckYsUUFBRyxHQUFHLGtCQUFrQixDQUFDO0lBRWhDLFlBQVksS0FBaUI7UUFDekIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBOEI7UUFDbEMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQUksQ0FBQyxPQUE4QixFQUFFLElBQXVCO1FBQ3hELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBRUQsUUFBUSxDQUFDLE9BQThCLEVBQUUsSUFBdUI7UUFDNUQsTUFBTSxLQUFLLEdBQUcsT0FBTyxFQUFFLENBQUM7UUFDeEIsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0QsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUssQ0FBQztRQUMzQixNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEYsS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM1QixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hELFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDOUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsYUFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoQyxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEMsTUFBTSxLQUFLLEdBQWtCO1lBQ3pCLFFBQVEsRUFBRTtnQkFDTixJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7Z0JBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVE7Z0JBQ3hFLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSzthQUN4QjtZQUNELEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixPQUFPLEVBQUUsT0FBTztTQUNuQixDQUFDO1FBQ0YsTUFBTSxHQUFHLEdBQUssSUFBSSxDQUFDLEtBQTZDLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsRyxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQzFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBjcmVhdGVGb3JlaWduT2JqZWN0LCBjcmVhdGVHLCBub3JtYWxpemVQb2ludCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEdlbmVyYXRvciwgUmVuZGVyQ29tcG9uZW50UmVmIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBGb3JjZUF0bGFzTm9kZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGRyYXdOb2RlIH0gZnJvbSAnLi4vdXRpbHMvZHJhdyc7XG5pbXBvcnQgeyBOb2RlR2VuZXJhdG9yRGF0YSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEZvcmNlQXRsYXNOb2RlSWNvbkJvYXJkLCBOb2RlSWNvblByb3BzIH0gZnJvbSAnLi4vd2l0aC1ub2RlLWljb24nO1xuaW1wb3J0IHsgQUNUSVZFX05PREVfSUNPTl9DTEFTU19OQU1FLCBBQ1RJVkVfTk9ERV9JQ09OX0ZPTlRfU0laRSwgTk9ERV9JQ09OX0NMQVNTX05BTUUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0Tm9kZUljb24gfSBmcm9tICcuLi91dGlscy9ub2RlJztcblxuZXhwb3J0IGNsYXNzIEZvcmNlQXRsYXNOb2RlR2VuZXJhdG9yIGV4dGVuZHMgR2VuZXJhdG9yPEZvcmNlQXRsYXNOb2RlRWxlbWVudCwgTm9kZUdlbmVyYXRvckRhdGE+IHtcbiAgICBzdGF0aWMga2V5ID0gJ2ZvcmNlLWF0bGFzLW5vZGUnO1xuXG4gICAgY29uc3RydWN0b3IoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgc3VwZXIoYm9hcmQpO1xuICAgIH1cblxuICAgIGNhbkRyYXcoZWxlbWVudDogRm9yY2VBdGxhc05vZGVFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGRyYXcoZWxlbWVudDogRm9yY2VBdGxhc05vZGVFbGVtZW50LCBkYXRhOiBOb2RlR2VuZXJhdG9yRGF0YSkge1xuICAgICAgICBjb25zdCBpY29uUmVmID0gdGhpcy5kcmF3SWNvbihlbGVtZW50LCBkYXRhKTtcbiAgICAgICAgcmV0dXJuIGRyYXdOb2RlKHRoaXMuYm9hcmQsIGVsZW1lbnQsIGVsZW1lbnQ/LnBvaW50cz8uWzBdIHx8IFswLCAwXSwgeyAuLi5kYXRhLCBpY29uRzogaWNvblJlZi5pY29uRyB9KTtcbiAgICB9XG5cbiAgICBkcmF3SWNvbihlbGVtZW50OiBGb3JjZUF0bGFzTm9kZUVsZW1lbnQsIGRhdGE6IE5vZGVHZW5lcmF0b3JEYXRhKSB7XG4gICAgICAgIGNvbnN0IGljb25HID0gY3JlYXRlRygpO1xuICAgICAgICBsZXQgeyB4LCB5IH0gPSBub3JtYWxpemVQb2ludChlbGVtZW50LnBvaW50cz8uWzBdIHx8IFswLCAwXSk7XG4gICAgICAgIGNvbnN0IHNpemUgPSBlbGVtZW50LnNpemUhO1xuICAgICAgICBjb25zdCBmb3JlaWduT2JqZWN0ID0gY3JlYXRlRm9yZWlnbk9iamVjdCh4IC0gc2l6ZSAvIDIsIHkgLSBzaXplIC8gMiwgc2l6ZSwgc2l6ZSk7XG4gICAgICAgIGljb25HLmFwcGVuZChmb3JlaWduT2JqZWN0KTtcbiAgICAgICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKE5PREVfSUNPTl9DTEFTU19OQU1FKTtcbiAgICAgICAgaWYgKGRhdGEuaXNBY3RpdmUpIHtcbiAgICAgICAgICAgIGNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKEFDVElWRV9OT0RFX0lDT05fQ0xBU1NfTkFNRSk7XG4gICAgICAgIH1cbiAgICAgICAgZm9yZWlnbk9iamVjdC5hcHBlbmQoY29udGFpbmVyKTtcbiAgICAgICAgY29uc3Qgbm9kZUljb24gPSBnZXROb2RlSWNvbihlbGVtZW50KTtcbiAgICAgICAgY29uc3QgcHJvcHM6IE5vZGVJY29uUHJvcHMgPSB7XG4gICAgICAgICAgICBpY29uSXRlbToge1xuICAgICAgICAgICAgICAgIG5hbWU6IG5vZGVJY29uLm5hbWUsXG4gICAgICAgICAgICAgICAgZm9udFNpemU6IGRhdGEuaXNBY3RpdmUgPyBBQ1RJVkVfTk9ERV9JQ09OX0ZPTlRfU0laRSA6IG5vZGVJY29uLmZvbnRTaXplLFxuICAgICAgICAgICAgICAgIGNvbG9yOiBub2RlSWNvbi5jb2xvclxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGJvYXJkOiB0aGlzLmJvYXJkLFxuICAgICAgICAgICAgZWxlbWVudDogZWxlbWVudFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCByZWYgPSAoKHRoaXMuYm9hcmQgYXMgdW5rbm93bikgYXMgRm9yY2VBdGxhc05vZGVJY29uQm9hcmQpLnJlbmRlck5vZGVJY29uKGNvbnRhaW5lciwgcHJvcHMpO1xuICAgICAgICByZXR1cm4geyByZWYsIGljb25HIH07XG4gICAgfVxufVxuIl19
@@ -1,57 +0,0 @@
1
- import { CommonElementFlavour } from '@plait/common';
2
- import { PlaitBoard, PlaitNode, cacheSelectedElements, getSelectedElements } from '@plait/core';
3
- import { ForceAtlasNodeGenerator } from './generators/node.generator';
4
- import { getEdgeGenerator, getEdgeGeneratorData, getEdgesInSourceOrTarget } from './utils/edge';
5
- import { getNodeGenerator, getNodes, isFirstDepthNode } from './utils/node';
6
- import { SECOND_DEPTH_NODE_ALPHA } from './constants';
7
- export class ForceAtlasNodeFlavour extends CommonElementFlavour {
8
- constructor() {
9
- super();
10
- }
11
- initializeGenerator() {
12
- this.nodeGenerator = new ForceAtlasNodeGenerator(this.board);
13
- this.getRef().addGenerator(ForceAtlasNodeGenerator.key, this.nodeGenerator);
14
- }
15
- initialize() {
16
- super.initialize();
17
- this.initializeGenerator();
18
- const parent = PlaitNode.parent(this.board, PlaitBoard.findPath(this.board, this.element));
19
- const selectElements = getSelectedElements(this.board);
20
- const activeNodeId = selectElements[0]?.id;
21
- const isActive = activeNodeId === this.element.id;
22
- this.nodeGenerator.processDrawing(this.element, this.getElementG(), {
23
- isActive,
24
- opacity: isFirstDepthNode(this.element.id, activeNodeId, parent) ? 1 : SECOND_DEPTH_NODE_ALPHA
25
- });
26
- }
27
- onContextChanged(value, previous) {
28
- if (value !== previous && value.selected !== previous.selected) {
29
- const parent = value.parent;
30
- if (value.selected) {
31
- cacheSelectedElements(this.board, [value.element]);
32
- }
33
- const selectElements = getSelectedElements(this.board);
34
- const nodes = getNodes(parent);
35
- nodes.forEach(node => {
36
- const nodeGenerator = getNodeGenerator(node);
37
- nodeGenerator.destroy();
38
- const isFirstDepth = selectElements.length > 0 && isFirstDepthNode(node.id, selectElements[0].id, parent);
39
- nodeGenerator.processDrawing(node, this.getElementG(), {
40
- isActive: selectElements?.[0]?.id === node.id,
41
- opacity: selectElements.length === 0 ? 1 : isFirstDepth ? 1 : SECOND_DEPTH_NODE_ALPHA
42
- });
43
- });
44
- const associatedEdges = getEdgesInSourceOrTarget(value.element.id, parent);
45
- associatedEdges.forEach(edge => {
46
- const edgeGenerator = getEdgeGenerator(edge);
47
- edgeGenerator.destroy();
48
- edgeGenerator.processDrawing(edge, PlaitBoard.getElementLowerHost(this.board), getEdgeGeneratorData(edge, this.board));
49
- });
50
- }
51
- }
52
- updateText(previousElement, currentElement) { }
53
- destroy() {
54
- super.destroy();
55
- }
56
- }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5mbGF2b3VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JhcGgtdml6L3NyYy9mb3JjZS1hdGxhcy9ub2RlLmZsYXZvdXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFFSCxVQUFVLEVBQ1YsU0FBUyxFQUVULHFCQUFxQixFQUNyQixtQkFBbUIsRUFDdEIsTUFBTSxhQUFhLENBQUM7QUFHckIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXRELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxvQkFBdUQ7SUFLOUY7UUFDSSxLQUFLLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxtQkFBbUI7UUFDZixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsVUFBVTtRQUNOLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJ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QUFDO0lBRTVGLE9BQU87UUFDSCxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uRWxlbWVudEZsYXZvdXIgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7XG4gICAgT25Db250ZXh0Q2hhbmdlZCxcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBsYWl0Tm9kZSxcbiAgICBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0LFxuICAgIGNhY2hlU2VsZWN0ZWRFbGVtZW50cyxcbiAgICBnZXRTZWxlY3RlZEVsZW1lbnRzXG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCBHcmFwaCBmcm9tICdncmFwaG9sb2d5JztcbmltcG9ydCB7IEZvcmNlQXRsYXNFbGVtZW50LCBGb3JjZUF0bGFzTm9kZUVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEZvcmNlQXRsYXNOb2RlR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3JzL25vZGUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IGdldEVkZ2VHZW5lcmF0b3IsIGdldEVkZ2VHZW5lcmF0b3JEYXRhLCBnZXRFZGdlc0luU291cmNlT3JUYXJnZXQgfSBmcm9tICcuL3V0aWxzL2VkZ2UnO1xuaW1wb3J0IHsgZ2V0Tm9kZUdlbmVyYXRvciwgZ2V0Tm9kZXMsIGlzRmlyc3REZXB0aE5vZGUgfSBmcm9tICcuL3V0aWxzL25vZGUnO1xuaW1wb3J0IHsgU0VDT05EX0RFUFRIX05PREVfQUxQSEEgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBGb3JjZUF0bGFzTm9kZUZsYXZvdXIgZXh0ZW5kcyBDb21tb25FbGVtZW50Rmxhdm91cjxGb3JjZUF0bGFzTm9kZUVsZW1lbnQsIFBsYWl0Qm9hcmQ+XG4gICAgaW1wbGVtZW50cyBPbkNvbnRleHRDaGFuZ2VkPEZvcmNlQXRsYXNOb2RlRWxlbWVudCwgUGxhaXRCb2FyZD4ge1xuICAgIGdyYXBoITogR3JhcGg8Tm9kZT47XG4gICAgbm9kZUdlbmVyYXRvciE6IEZvcmNlQXRsYXNOb2RlR2VuZXJhdG9yO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZUdlbmVyYXRvcigpIHtcbiAgICAgICAgdGhpcy5ub2RlR2VuZXJhdG9yID0gbmV3IEZvcmNlQXRsYXNOb2RlR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLmdldFJlZigpLmFkZEdlbmVyYXRvcihGb3JjZUF0bGFzTm9kZUdlbmVyYXRvci5rZXksIHRoaXMubm9kZUdlbmVyYXRvcik7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuaW5pdGlhbGl6ZSgpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVHZW5lcmF0b3IoKTtcbiAgICAgICAgY29uc3QgcGFyZW50ID0gUGxhaXROb2RlLnBhcmVudCh0aGlzLmJvYXJkLCBQbGFpdEJvYXJkLmZpbmRQYXRoKHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudCkpIGFzIEZvcmNlQXRsYXNFbGVtZW50O1xuICAgICAgICBjb25zdCBzZWxlY3RFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHModGhpcy5ib2FyZCk7XG4gICAgICAgIGNvbnN0IGFjdGl2ZU5vZGVJZCA9IHNlbGVjdEVsZW1lbnRzWzBdPy5pZDtcbiAgICAgICAgY29uc3QgaXNBY3RpdmUgPSBhY3RpdmVOb2RlSWQgPT09IHRoaXMuZWxlbWVudC5pZDtcbiAgICAgICAgdGhpcy5ub2RlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgdGhpcy5nZXRFbGVtZW50RygpLCB7XG4gICAgICAgICAgICBpc0FjdGl2ZSxcbiAgICAgICAgICAgIG9wYWNpdHk6IGlzRmlyc3REZXB0aE5vZGUodGhpcy5lbGVtZW50LmlkLCBhY3RpdmVOb2RlSWQsIHBhcmVudCkgPyAxIDogU0VDT05EX0RFUFRIX05PREVfQUxQSEFcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25Db250ZXh0Q2hhbmdlZChcbiAgICAgICAgdmFsdWU6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8Rm9yY2VBdGxhc05vZGVFbGVtZW50LCBQbGFpdEJvYXJkPixcbiAgICAgICAgcHJldmlvdXM6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8Rm9yY2VBdGxhc05vZGVFbGVtZW50LCBQbGFpdEJvYXJkPlxuICAgICkge1xuICAgICAgICBpZiAodmFsdWUgIT09IHByZXZpb3VzICYmIHZhbHVlLnNlbGVjdGVkICE9PSBwcmV2aW91cy5zZWxlY3RlZCkge1xuICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gdmFsdWUucGFyZW50IGFzIGFueTtcbiAgICAgICAgICAgIGlmICh2YWx1ZS5zZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIGNhY2hlU2VsZWN0ZWRFbGVtZW50cyh0aGlzLmJvYXJkLCBbdmFsdWUuZWxlbWVudF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgc2VsZWN0RWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKHRoaXMuYm9hcmQpO1xuICAgICAgICAgICAgY29uc3Qgbm9kZXMgPSBnZXROb2RlcyhwYXJlbnQpO1xuICAgICAgICAgICAgbm9kZXMuZm9yRWFjaChub2RlID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBub2RlR2VuZXJhdG9yID0gZ2V0Tm9kZUdlbmVyYXRvcihub2RlKTtcbiAgICAgICAgICAgICAgICBub2RlR2VuZXJhdG9yLmRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0ZpcnN0RGVwdGggPSBzZWxlY3RFbGVtZW50cy5sZW5ndGggPiAwICYmIGlzRmlyc3REZXB0aE5vZGUobm9kZS5pZCwgc2VsZWN0RWxlbWVudHNbMF0uaWQsIHBhcmVudCk7XG4gICAgICAgICAgICAgICAgbm9kZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyhub2RlLCB0aGlzLmdldEVsZW1lbnRHKCksIHtcbiAgICAgICAgICAgICAgICAgICAgaXNBY3RpdmU6IHNlbGVjdEVsZW1lbnRzPy5bMF0/LmlkID09PSBub2RlLmlkLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiBzZWxlY3RFbGVtZW50cy5sZW5ndGggPT09IDAgPyAxIDogaXNGaXJzdERlcHRoID8gMSA6IFNFQ09ORF9ERVBUSF9OT0RFX0FMUEhBXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29uc3QgYXNzb2NpYXRlZEVkZ2VzID0gZ2V0RWRnZXNJblNvdXJjZU9yVGFyZ2V0KHZhbHVlLmVsZW1lbnQuaWQsIHBhcmVudCk7XG4gICAgICAgICAgICBhc3NvY2lhdGVkRWRnZXMuZm9yRWFjaChlZGdlID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBlZGdlR2VuZXJhdG9yID0gZ2V0RWRnZUdlbmVyYXRvcihlZGdlKTtcbiAgICAgICAgICAgICAgICBlZGdlR2VuZXJhdG9yLmRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgICBlZGdlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKGVkZ2UsIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudExvd2VySG9zdCh0aGlzLmJvYXJkKSwgZ2V0RWRnZUdlbmVyYXRvckRhdGEoZWRnZSwgdGhpcy5ib2FyZCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVUZXh0KHByZXZpb3VzRWxlbWVudDogRm9yY2VBdGxhc05vZGVFbGVtZW50LCBjdXJyZW50RWxlbWVudDogRm9yY2VBdGxhc05vZGVFbGVtZW50KSB7fVxuXG4gICAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuZGVzdHJveSgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,7 +0,0 @@
1
- export var EdgeDirection;
2
- (function (EdgeDirection) {
3
- EdgeDirection[EdgeDirection["IN"] = 0] = "IN";
4
- EdgeDirection[EdgeDirection["OUT"] = 1] = "OUT";
5
- EdgeDirection[EdgeDirection["NONE"] = 2] = "NONE";
6
- })(EdgeDirection || (EdgeDirection = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmFwaC12aXovc3JjL2ZvcmNlLWF0bGFzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBTixJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDckIsNkNBQUUsQ0FBQTtJQUNGLCtDQUFHLENBQUE7SUFDSCxpREFBSSxDQUFBO0FBQ1IsQ0FBQyxFQUpXLGFBQWEsS0FBYixhQUFhLFFBSXhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2VuZXJhdG9yRXh0cmFEYXRhIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBQb2ludCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcblxuZXhwb3J0IGVudW0gRWRnZURpcmVjdGlvbiB7XG4gICAgSU4sXG4gICAgT1VULFxuICAgIE5PTkVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb2RlU3R5bGVzIHtcbiAgICBzdHJva2U/OiBzdHJpbmc7XG4gICAgc3Ryb2tlV2lkdGg/OiBudW1iZXI7XG4gICAgZmlsbD86IHN0cmluZztcbiAgICBmaWxsU3R5bGU/OiBzdHJpbmc7XG4gICAgYWN0aXZlU3Ryb2tlPzogc3RyaW5nO1xuICAgIGFjdGl2ZUZpbGw/OiBzdHJpbmc7XG4gICAgYm9yZGVyUmFkaXVzPzogbnVtYmVyO1xuICAgIGhvdmVyU3Ryb2tlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVkZ2VHZW5lcmF0b3JEYXRhIGV4dGVuZHMgR2VuZXJhdG9yRXh0cmFEYXRhIHtcbiAgICBzdGFydFBvaW50OiBQb2ludDtcbiAgICBlbmRQb2ludDogUG9pbnQ7XG4gICAgaXNTb3VyY2VBY3RpdmU6IGJvb2xlYW47XG4gICAgaXNUYXJnZXRBY3RpdmU6IGJvb2xlYW47XG4gICAgZGlyZWN0aW9uOiBFZGdlRGlyZWN0aW9uO1xuICAgIGlzVGFyZ2V0U2VsZj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9kZUdlbmVyYXRvckRhdGEgZXh0ZW5kcyBHZW5lcmF0b3JFeHRyYURhdGEge1xuICAgIGlzQWN0aXZlOiBib29sZWFuO1xuICAgIG9wYWNpdHk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb2RlSWNvbkl0ZW0ge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBmb250U2l6ZT86IG51bWJlcjtcbiAgICBjb2xvcj86IHN0cmluZztcbn1cbiJdfQ==
@@ -1,91 +0,0 @@
1
- import { EdgeDirection } from '../types';
2
- import { PlaitBoard, createForeignObject, createG, createPath, drawCircle, normalizePoint } from '@plait/core';
3
- import getArrow from '../../perfect-arrows/get-arrow';
4
- import { ACTIVE_BACKGROUND_NODE_ALPHA, DEFAULT_ACTIVE_NODE_SIZE_MULTIPLIER, DEFAULT_ACTIVE_WAVE_NODE_SIZE_MULTIPLIER, DEFAULT_EDGE_PARTICLE_SIZE, DEFAULT_LINE_STYLES, DEFAULT_NODE_LABEL_HEIGHT, DEFAULT_NODE_LABEL_STYLE, DEFAULT_NODE_LABEL_WIDTH, DEFAULT_NODE_SIZE, DEFAULT_NODE_STYLES, NODE_LABEL_CLASS_NAME } from '../constants';
5
- import { DEFAULT_STYLES } from '../../constants/default';
6
- export function drawNode(board, node, point, options) {
7
- const roughSVG = PlaitBoard.getRoughSVG(board);
8
- const nodeStyles = {
9
- ...DEFAULT_NODE_STYLES,
10
- ...(node.styles || {})
11
- };
12
- let { x, y } = normalizePoint(point);
13
- let diameter = node.size ?? DEFAULT_NODE_SIZE;
14
- if (options.isActive) {
15
- diameter = diameter * DEFAULT_ACTIVE_NODE_SIZE_MULTIPLIER;
16
- }
17
- const nodeG = drawCircle(roughSVG, [x, y], diameter, nodeStyles);
18
- const labelWidth = node.styles?.labelWidth ?? DEFAULT_NODE_LABEL_WIDTH;
19
- const labelHeight = node.styles?.labelHeight ?? DEFAULT_NODE_LABEL_HEIGHT;
20
- const textForeignObject = createForeignObject(x - labelWidth / 2, y, labelWidth, labelHeight);
21
- const textContainer = document.createElement('div');
22
- textContainer.classList.add(NODE_LABEL_CLASS_NAME);
23
- textContainer.setAttribute('style', DEFAULT_NODE_LABEL_STYLE);
24
- const text = document.createElement('span');
25
- text.innerText = node.label;
26
- textContainer.append(text);
27
- textForeignObject.append(textContainer);
28
- if (options.isActive) {
29
- const waveDiameter = diameter * DEFAULT_ACTIVE_WAVE_NODE_SIZE_MULTIPLIER;
30
- const waveCircle = drawCircle(roughSVG, [x, y], waveDiameter, nodeStyles);
31
- waveCircle.setAttribute('opacity', ACTIVE_BACKGROUND_NODE_ALPHA.toString());
32
- nodeG.append(waveCircle);
33
- textForeignObject.setAttribute('y', `${y + waveDiameter / 2}`);
34
- }
35
- else {
36
- textForeignObject.setAttribute('y', `${y + diameter / 2}`);
37
- nodeG.setAttribute('opacity', (options.opacity ?? 1).toString());
38
- }
39
- if (options.iconG) {
40
- nodeG.append(options.iconG);
41
- }
42
- nodeG.append(textForeignObject);
43
- return nodeG;
44
- }
45
- export function drawEdge(startPoint, endPoint, direction, isMutual, isTargetSelf) {
46
- const nodeRadius = DEFAULT_NODE_SIZE / 2;
47
- const arrow = getArrow(startPoint[0], startPoint[1], endPoint[0], endPoint[1], {
48
- stretch: 0.4,
49
- flip: direction === EdgeDirection.NONE ? false : isMutual,
50
- padEnd: nodeRadius,
51
- padStart: nodeRadius
52
- });
53
- const [sx, sy, cx, cy, ex, ey, ae, as, ec] = arrow;
54
- const g = createG();
55
- const path = createPath();
56
- if (!isTargetSelf) {
57
- path.setAttribute('d', `M${sx},${sy} Q${cx},${cy} ${ex},${ey}`);
58
- }
59
- else {
60
- const x = startPoint[0];
61
- const y = startPoint[1];
62
- const besselX = 40;
63
- const besselY = 75;
64
- const angle = 55;
65
- const angleRad = (angle * Math.PI) / 180;
66
- const offsetX = nodeRadius * Math.cos(angleRad);
67
- const offsetY = nodeRadius * Math.sin(angleRad);
68
- path.setAttribute('d', `M ${x - offsetX},${y - offsetY}
69
- C ${x - besselX},${y - besselY}, ${x + besselX} ${y - besselY}
70
- ${x + offsetX},${y - offsetY}`);
71
- }
72
- path.setAttribute('fill', 'none');
73
- path.setAttribute('stroke', DEFAULT_LINE_STYLES.color[direction]);
74
- path.setAttribute('opacity', DEFAULT_LINE_STYLES.opacity[direction].toString());
75
- g.append(path);
76
- return {
77
- g,
78
- path
79
- };
80
- }
81
- export function drawParticle(board, startPoint, direction) {
82
- const roughSVG = PlaitBoard.getRoughSVG(board);
83
- const pointG = drawCircle(roughSVG, [0, 0], DEFAULT_EDGE_PARTICLE_SIZE, {
84
- ...DEFAULT_STYLES,
85
- strokeWidth: 0,
86
- fill: DEFAULT_LINE_STYLES.color[direction]
87
- });
88
- pointG.setAttribute('transform', `translate(${startPoint[0]}, ${startPoint[1]})`);
89
- return pointG;
90
- }
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyYXBoLXZpei9zcmMvZm9yY2UtYXRsYXMvdXRpbHMvZHJhdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sVUFBVSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQVMsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RILE9BQU8sUUFBUSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RELE9BQU8sRUFDSCw0QkFBNEIsRUFDNUIsbUNBQW1DLEVBQ25DLHdDQUF3QyxFQUN4QywwQkFBMEIsRUFDMUIsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6Qix3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQ3hCLGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIscUJBQXFCLEVBRXhCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUd6RCxNQUFNLFVBQVUsUUFBUSxDQUNwQixLQUFpQixFQUNqQixJQUEyQixFQUMzQixLQUFZLEVBQ1osT0FBcUU7SUFFckUsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxNQUFNLFVBQVUsR0FBZTtRQUMzQixHQUFHLG1CQUFtQjtRQUN0QixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7S0FDekIsQ0FBQztJQUNGLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksaUJBQWlCLENBQUM7SUFDOUMsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFLENB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bXBvcnQgeyBFZGdlRGlyZWN0aW9uLCBOb2RlU3R5bGVzIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCwgUG9pbnQsIGNyZWF0ZUZvcmVpZ25PYmplY3QsIGNyZWF0ZUcsIGNyZWF0ZVBhdGgsIGRyYXdDaXJjbGUsIG5vcm1hbGl6ZVBvaW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IGdldEFycm93IGZyb20gJy4uLy4uL3BlcmZlY3QtYXJyb3dzL2dldC1hcnJvdyc7XG5pbXBvcnQge1xuICAgIEFDVElWRV9CQUNLR1JPVU5EX05PREVfQUxQSEEsXG4gICAgREVGQVVMVF9BQ1RJVkVfTk9ERV9TSVpFX01VTFRJUExJRVIsXG4gICAgREVGQVVMVF9BQ1RJVkVfV0FWRV9OT0RFX1NJWkVfTVVMVElQTElFUixcbiAgICBERUZBVUxUX0VER0VfUEFSVElDTEVfU0laRSxcbiAgICBERUZBVUxUX0xJTkVfU1RZTEVTLFxuICAgIERFRkFVTFRfTk9ERV9MQUJFTF9IRUlHSFQsXG4gICAgREVGQVVMVF9OT0RFX0xBQkVMX1NUWUxFLFxuICAgIERFRkFVTFRfTk9ERV9MQUJFTF9XSURUSCxcbiAgICBERUZBVUxUX05PREVfU0laRSxcbiAgICBERUZBVUxUX05PREVfU1RZTEVTLFxuICAgIE5PREVfTEFCRUxfQ0xBU1NfTkFNRSxcbiAgICBTRUNPTkRfREVQVEhfTk9ERV9BTFBIQVxufSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgREVGQVVMVF9TVFlMRVMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvZGVmYXVsdCc7XG5pbXBvcnQgeyBGb3JjZUF0bGFzTm9kZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRyYXdOb2RlKFxuICAgIGJvYXJkOiBQbGFpdEJvYXJkLFxuICAgIG5vZGU6IEZvcmNlQXRsYXNOb2RlRWxlbWVudCxcbiAgICBwb2ludDogUG9pbnQsXG4gICAgb3B0aW9uczogeyBpY29uRz86IFNWR0dFbGVtZW50OyBpc0FjdGl2ZTogYm9vbGVhbjsgb3BhY2l0eT86IG51bWJlciB9XG4pIHtcbiAgICBjb25zdCByb3VnaFNWRyA9IFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpO1xuICAgIGNvbnN0IG5vZGVTdHlsZXM6IE5vZGVTdHlsZXMgPSB7XG4gICAgICAgIC4uLkRFRkFVTFRfTk9ERV9TVFlMRVMsXG4gICAgICAgIC4uLihub2RlLnN0eWxlcyB8fCB7fSlcbiAgICB9O1xuICAgIGxldCB7IHgsIHkgfSA9IG5vcm1hbGl6ZVBvaW50KHBvaW50KTtcbiAgICBsZXQgZGlhbWV0ZXIgPSBub2RlLnNpemUgPz8gREVGQVVMVF9OT0RFX1NJWkU7XG4gICAgaWYgKG9wdGlvbnMuaXNBY3RpdmUpIHtcbiAgICAgICAgZGlhbWV0ZXIgPSBkaWFtZXRlciAqIERFRkFVTFRfQUNUSVZFX05PREVfU0laRV9NVUxUSVBMSUVSO1xuICAgIH1cbiAgICBjb25zdCBub2RlRyA9IGRyYXdDaXJjbGUocm91Z2hTVkcsIFt4LCB5XSwgZGlhbWV0ZXIsIG5vZGVTdHlsZXMpO1xuICAgIGNvbnN0IGxhYmVsV2lkdGggPSBub2RlLnN0eWxlcz8ubGFiZWxXaWR0aCA/PyBERUZBVUxUX05PREVfTEFCRUxfV0lEVEg7XG4gICAgY29uc3QgbGFiZWxIZWlnaHQgPSBub2RlLnN0eWxlcz8ubGFiZWxIZWlnaHQgPz8gREVGQVVMVF9OT0RFX0xBQkVMX0hFSUdIVDtcbiAgICBjb25zdCB0ZXh0Rm9yZWlnbk9iamVjdCA9IGNyZWF0ZUZvcmVpZ25PYmplY3QoeCAtIGxhYmVsV2lkdGggLyAyLCB5LCBsYWJlbFdpZHRoLCBsYWJlbEhlaWdodCk7XG4gICAgY29uc3QgdGV4dENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHRleHRDb250YWluZXIuY2xhc3NMaXN0LmFkZChOT0RFX0xBQkVMX0NMQVNTX05BTUUpO1xuICAgIHRleHRDb250YWluZXIuc2V0QXR0cmlidXRlKCdzdHlsZScsIERFRkFVTFRfTk9ERV9MQUJFTF9TVFlMRSk7XG4gICAgY29uc3QgdGV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICB0ZXh0LmlubmVyVGV4dCA9IG5vZGUubGFiZWw7XG4gICAgdGV4dENvbnRhaW5lci5hcHBlbmQodGV4dCk7XG4gICAgdGV4dEZvcmVpZ25PYmplY3QuYXBwZW5kKHRleHRDb250YWluZXIpO1xuICAgIGlmIChvcHRpb25zLmlzQWN0aXZlKSB7XG4gICAgICAgIGNvbnN0IHdhdmVEaWFtZXRlciA9IGRpYW1ldGVyICogREVGQVVMVF9BQ1RJVkVfV0FWRV9OT0RFX1NJWkVfTVVMVElQTElFUjtcbiAgICAgICAgY29uc3Qgd2F2ZUNpcmNsZSA9IGRyYXdDaXJjbGUocm91Z2hTVkcsIFt4LCB5XSwgd2F2ZURpYW1ldGVyLCBub2RlU3R5bGVzKTtcbiAgICAgICAgd2F2ZUNpcmNsZS5zZXRBdHRyaWJ1dGUoJ29wYWNpdHknLCBBQ1RJVkVfQkFDS0dST1VORF9OT0RFX0FMUEhBLnRvU3RyaW5nKCkpO1xuICAgICAgICBub2RlRy5hcHBlbmQod2F2ZUNpcmNsZSk7XG4gICAgICAgIHRleHRGb3JlaWduT2JqZWN0LnNldEF0dHJpYnV0ZSgneScsIGAke3kgKyB3YXZlRGlhbWV0ZXIgLyAyfWApO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHRleHRGb3JlaWduT2JqZWN0LnNldEF0dHJpYnV0ZSgneScsIGAke3kgKyBkaWFtZXRlciAvIDJ9YCk7XG4gICAgICAgIG5vZGVHLnNldEF0dHJpYnV0ZSgnb3BhY2l0eScsIChvcHRpb25zLm9wYWNpdHkgPz8gMSkudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLmljb25HKSB7XG4gICAgICAgIG5vZGVHLmFwcGVuZChvcHRpb25zLmljb25HKTtcbiAgICB9XG4gICAgbm9kZUcuYXBwZW5kKHRleHRGb3JlaWduT2JqZWN0KTtcbiAgICByZXR1cm4gbm9kZUc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkcmF3RWRnZShzdGFydFBvaW50OiBQb2ludCwgZW5kUG9pbnQ6IFBvaW50LCBkaXJlY3Rpb246IEVkZ2VEaXJlY3Rpb24sIGlzTXV0dWFsOiBib29sZWFuLCBpc1RhcmdldFNlbGY/OiBib29sZWFuKSB7XG4gICAgY29uc3Qgbm9kZVJhZGl1cyA9IERFRkFVTFRfTk9ERV9TSVpFIC8gMjtcbiAgICBjb25zdCBhcnJvdyA9IGdldEFycm93KHN0YXJ0UG9pbnRbMF0sIHN0YXJ0UG9pbnRbMV0sIGVuZFBvaW50WzBdLCBlbmRQb2ludFsxXSwge1xuICAgICAgICBzdHJldGNoOiAwLjQsXG4gICAgICAgIGZsaXA6IGRpcmVjdGlvbiA9PT0gRWRnZURpcmVjdGlvbi5OT05FID8gZmFsc2UgOiBpc011dHVhbCxcbiAgICAgICAgcGFkRW5kOiBub2RlUmFkaXVzLFxuICAgICAgICBwYWRTdGFydDogbm9kZVJhZGl1c1xuICAgIH0pO1xuICAgIGNvbnN0IFtzeCwgc3ksIGN4LCBjeSwgZXgsIGV5LCBhZSwgYXMsIGVjXSA9IGFycm93O1xuICAgIGNvbnN0IGcgPSBjcmVhdGVHKCk7XG4gICAgY29uc3QgcGF0aCA9IGNyZWF0ZVBhdGgoKTtcbiAgICBpZiAoIWlzVGFyZ2V0U2VsZikge1xuICAgICAgICBwYXRoLnNldEF0dHJpYnV0ZSgnZCcsIGBNJHtzeH0sJHtzeX0gUSR7Y3h9LCR7Y3l9ICR7ZXh9LCR7ZXl9YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgeCA9IHN0YXJ0UG9pbnRbMF07XG4gICAgICAgIGNvbnN0IHkgPSBzdGFydFBvaW50WzFdO1xuICAgICAgICBjb25zdCBiZXNzZWxYID0gNDA7XG4gICAgICAgIGNvbnN0IGJlc3NlbFkgPSA3NTtcbiAgICAgICAgY29uc3QgYW5nbGUgPSA1NTtcbiAgICAgICAgY29uc3QgYW5nbGVSYWQgPSAoYW5nbGUgKiBNYXRoLlBJKSAvIDE4MDtcbiAgICAgICAgY29uc3Qgb2Zmc2V0WCA9IG5vZGVSYWRpdXMgKiBNYXRoLmNvcyhhbmdsZVJhZCk7XG4gICAgICAgIGNvbnN0IG9mZnNldFkgPSBub2RlUmFkaXVzICogTWF0aC5zaW4oYW5nbGVSYWQpO1xuICAgICAgICBwYXRoLnNldEF0dHJpYnV0ZShcbiAgICAgICAgICAgICdkJyxcbiAgICAgICAgICAgIGBNICR7eCAtIG9mZnNldFh9LCR7eSAtIG9mZnNldFl9XG4gICAgICAgICAgICBDICR7eCAtIGJlc3NlbFh9LCR7eSAtIGJlc3NlbFl9LCAke3ggKyBiZXNzZWxYfSAke3kgLSBiZXNzZWxZfVxuICAgICAgICAgICAgJHt4ICsgb2Zmc2V0WH0sJHt5IC0gb2Zmc2V0WX1gXG4gICAgICAgICk7XG4gICAgfVxuICAgIHBhdGguc2V0QXR0cmlidXRlKCdmaWxsJywgJ25vbmUnKTtcbiAgICBwYXRoLnNldEF0dHJpYnV0ZSgnc3Ryb2tlJywgREVGQVVMVF9MSU5FX1NUWUxFUy5jb2xvcltkaXJlY3Rpb25dKTtcbiAgICBwYXRoLnNldEF0dHJpYnV0ZSgnb3BhY2l0eScsIERFRkFVTFRfTElORV9TVFlMRVMub3BhY2l0eVtkaXJlY3Rpb25dLnRvU3RyaW5nKCkpO1xuICAgIGcuYXBwZW5kKHBhdGgpO1xuICAgIHJldHVybiB7XG4gICAgICAgIGcsXG4gICAgICAgIHBhdGhcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZHJhd1BhcnRpY2xlKGJvYXJkOiBQbGFpdEJvYXJkLCBzdGFydFBvaW50OiBQb2ludCwgZGlyZWN0aW9uOiBFZGdlRGlyZWN0aW9uKSB7XG4gICAgY29uc3Qgcm91Z2hTVkcgPSBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKTtcbiAgICBjb25zdCBwb2ludEcgPSBkcmF3Q2lyY2xlKHJvdWdoU1ZHLCBbMCwgMF0sIERFRkFVTFRfRURHRV9QQVJUSUNMRV9TSVpFLCB7XG4gICAgICAgIC4uLkRFRkFVTFRfU1RZTEVTLFxuICAgICAgICBzdHJva2VXaWR0aDogMCxcbiAgICAgICAgZmlsbDogREVGQVVMVF9MSU5FX1NUWUxFUy5jb2xvcltkaXJlY3Rpb25dXG4gICAgfSk7XG4gICAgcG9pbnRHLnNldEF0dHJpYnV0ZSgndHJhbnNmb3JtJywgYHRyYW5zbGF0ZSgke3N0YXJ0UG9pbnRbMF19LCAke3N0YXJ0UG9pbnRbMV19KWApO1xuICAgIHJldHVybiBwb2ludEc7XG59XG4iXX0=
@@ -1,73 +0,0 @@
1
- import { PlaitBoard, PlaitElement, PlaitNode, getSelectedElements } from '@plait/core';
2
- import { ForceAtlasElement } from '../../interfaces';
3
- import { EdgeDirection } from '../types';
4
- import { animate, linear } from '@plait/common';
5
- import { ForceAtlasEdgeGenerator } from '../generators/edge.generator';
6
- import { getIsNodeActive, getNodeById } from './node';
7
- export function getEdges(forceAtlasElement, andCallBack) {
8
- return forceAtlasElement.children?.filter(f => ForceAtlasElement.isForceAtlasEdgeElement(f) && (andCallBack?.(f) ?? true));
9
- }
10
- export function getEdgeById(id, forceAtlasElement) {
11
- const edge = getEdges(forceAtlasElement, e => e.id === id)?.[0];
12
- if (!edge) {
13
- throw new Error('can not find edge.');
14
- }
15
- return edge;
16
- }
17
- export function getEdgesInSourceOrTarget(id, forceAtlasElement) {
18
- const edges = getEdges(forceAtlasElement, edge => edge.source === id || edge.target === id);
19
- return edges;
20
- }
21
- export function getEdgeGenerator(edge) {
22
- const edgeRef = PlaitElement.getElementRef(edge);
23
- return edgeRef.getGenerator(ForceAtlasEdgeGenerator.key);
24
- }
25
- export function getEdgeDirection(isSourceActive, isTargetActive) {
26
- if (isSourceActive) {
27
- return EdgeDirection.OUT;
28
- }
29
- else if (isTargetActive) {
30
- return EdgeDirection.IN;
31
- }
32
- return EdgeDirection.NONE;
33
- }
34
- export function getEdgeGeneratorData(edge, board) {
35
- const forceAtlasElement = PlaitNode.parent(board, PlaitBoard.findPath(board, edge));
36
- const sourceNode = getNodeById(edge.source, forceAtlasElement);
37
- const targetNode = getNodeById(edge.target, forceAtlasElement);
38
- if (!sourceNode?.points || !targetNode?.points) {
39
- throw new Error("Source or target node doesn't have points");
40
- }
41
- const startPoint = sourceNode.points[0];
42
- const endPoint = targetNode.points[0];
43
- const selectElements = getSelectedElements(board);
44
- const isSourceActive = getIsNodeActive(sourceNode.id, selectElements);
45
- const isTargetActive = getIsNodeActive(targetNode.id, selectElements);
46
- const direction = getEdgeDirection(isSourceActive, isTargetActive);
47
- return {
48
- startPoint,
49
- endPoint,
50
- direction,
51
- isSourceActive,
52
- isTargetActive,
53
- isTargetSelf: sourceNode.id === targetNode.id
54
- };
55
- }
56
- export function playEdgeParticleAnimate(path, pointG) {
57
- const pathLength = path.getTotalLength();
58
- let anim = animate((t) => {
59
- const point = path.getPointAtLength(t * pathLength);
60
- pointG.setAttribute('transform', `translate(${point.x}, ${point.y})`);
61
- }, 1000, linear, () => {
62
- anim = playEdgeParticleAnimate(path, pointG);
63
- });
64
- return {
65
- stop: () => {
66
- anim.stop();
67
- },
68
- start: () => {
69
- anim.start();
70
- }
71
- };
72
- }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyYXBoLXZpei9zcmMvZm9yY2UtYXRsYXMvdXRpbHMvZWRnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkYsT0FBTyxFQUF5QixpQkFBaUIsRUFBeUIsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRyxPQUFPLEVBQUUsYUFBYSxFQUFxQixNQUFNLFVBQVUsQ0FBQztBQUM1RCxPQUFPLEVBQXlCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFdEQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxpQkFBb0MsRUFBRSxXQUFzRDtJQUNqSCxPQUFPLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxNQUFNLENBQ3JDLENBQUMsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FDdkQsQ0FBQztBQUNqQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxFQUFVLEVBQUUsaUJBQW9DO0lBQ3hFLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDUixNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsRUFBVSxFQUFFLGlCQUFvQztJQUNyRixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzVGLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsSUFBMkI7SUFDeEQsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBd0IsSUFBSSxDQUFDLENBQUM7SUFDeEUsT0FBTyxPQUFPLENBQUMsWUFBWSxDQUEwQix1QkFBdUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN0RixDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLGNBQXVCLEVBQUUsY0FBdUI7SUFDN0UsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUNqQixPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUM7SUFDN0IsQ0FBQztTQUFNLElBQUksY0FBYyxFQUFFLENBQUM7UUFDeEIsT0FBTyxhQUFhLENBQUMsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFDRCxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUM7QUFDOUIsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxJQUEyQixFQUFFLEtBQWlCO0lBQy9FLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQXNCLENBQUM7SUFDekcsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUMvRCxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9ELElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQzdDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBQ0QsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QyxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sY0FBYyxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBNEIsQ0FBQztJQUM3RSxNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN0RSxNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN0RSxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFFbkUsT0FBTztRQUNILFVBQVU7UUFDVixRQUFRO1FBQ1IsU0FBUztRQUNULGNBQWM7UUFDZCxjQUFjO1FBQ2QsWUFBWSxFQUFFLFVBQVUsQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUFDLEVBQUU7S0FDaEQsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsSUFBb0IsRUFBRSxNQUFtQjtJQUM3RSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDekMsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUNkLENBQUMsQ0FBUyxFQUFFLEVBQUU7UUFDVixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLGFBQWEsS0FBSyxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxRSxDQUFDLEVBQ0QsSUFBSSxFQUNKLE1BQU0sRUFDTixHQUFHLEVBQUU7UUFDRCxJQUFJLEdBQUcsdUJBQXVCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELENBQUMsQ0FDSixDQUFDO0lBQ0YsT0FBTztRQUNILElBQUksRUFBRSxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEIsQ0FBQztRQUNELEtBQUssRUFBRSxHQUFHLEVBQUU7WUFDUixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakIsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50LCBQbGFpdE5vZGUsIGdldFNlbGVjdGVkRWxlbWVudHMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBGb3JjZUF0bGFzRWRnZUVsZW1lbnQsIEZvcmNlQXRsYXNFbGVtZW50LCBGb3JjZUF0bGFzTm9kZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEVkZ2VEaXJlY3Rpb24sIEVkZ2VHZW5lcmF0b3JEYXRhIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgUGxhaXRDb21tb25FbGVtZW50UmVmLCBhbmltYXRlLCBsaW5lYXIgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IEZvcmNlQXRsYXNFZGdlR2VuZXJhdG9yIH0gZnJvbSAnLi4vZ2VuZXJhdG9ycy9lZGdlLmdlbmVyYXRvcic7XG5pbXBvcnQgeyBnZXRJc05vZGVBY3RpdmUsIGdldE5vZGVCeUlkIH0gZnJvbSAnLi9ub2RlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVkZ2VzKGZvcmNlQXRsYXNFbGVtZW50OiBGb3JjZUF0bGFzRWxlbWVudCwgYW5kQ2FsbEJhY2s/OiAoZWRnZTogRm9yY2VBdGxhc0VkZ2VFbGVtZW50KSA9PiBib29sZWFuKSB7XG4gICAgcmV0dXJuIGZvcmNlQXRsYXNFbGVtZW50LmNoaWxkcmVuPy5maWx0ZXIoXG4gICAgICAgIGYgPT4gRm9yY2VBdGxhc0VsZW1lbnQuaXNGb3JjZUF0bGFzRWRnZUVsZW1lbnQoZikgJiYgKGFuZENhbGxCYWNrPy4oZikgPz8gdHJ1ZSlcbiAgICApIGFzIEZvcmNlQXRsYXNFZGdlRWxlbWVudFtdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWRnZUJ5SWQoaWQ6IHN0cmluZywgZm9yY2VBdGxhc0VsZW1lbnQ6IEZvcmNlQXRsYXNFbGVtZW50KSB7XG4gICAgY29uc3QgZWRnZSA9IGdldEVkZ2VzKGZvcmNlQXRsYXNFbGVtZW50LCBlID0+IGUuaWQgPT09IGlkKT8uWzBdO1xuICAgIGlmICghZWRnZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NhbiBub3QgZmluZCBlZGdlLicpO1xuICAgIH1cbiAgICByZXR1cm4gZWRnZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVkZ2VzSW5Tb3VyY2VPclRhcmdldChpZDogc3RyaW5nLCBmb3JjZUF0bGFzRWxlbWVudDogRm9yY2VBdGxhc0VsZW1lbnQpIHtcbiAgICBjb25zdCBlZGdlcyA9IGdldEVkZ2VzKGZvcmNlQXRsYXNFbGVtZW50LCBlZGdlID0+IGVkZ2Uuc291cmNlID09PSBpZCB8fCBlZGdlLnRhcmdldCA9PT0gaWQpO1xuICAgIHJldHVybiBlZGdlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVkZ2VHZW5lcmF0b3IoZWRnZTogRm9yY2VBdGxhc0VkZ2VFbGVtZW50KSB7XG4gICAgY29uc3QgZWRnZVJlZiA9IFBsYWl0RWxlbWVudC5nZXRFbGVtZW50UmVmPFBsYWl0Q29tbW9uRWxlbWVudFJlZj4oZWRnZSk7XG4gICAgcmV0dXJuIGVkZ2VSZWYuZ2V0R2VuZXJhdG9yPEZvcmNlQXRsYXNFZGdlR2VuZXJhdG9yPihGb3JjZUF0bGFzRWRnZUdlbmVyYXRvci5rZXkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWRnZURpcmVjdGlvbihpc1NvdXJjZUFjdGl2ZTogYm9vbGVhbiwgaXNUYXJnZXRBY3RpdmU6IGJvb2xlYW4pIHtcbiAgICBpZiAoaXNTb3VyY2VBY3RpdmUpIHtcbiAgICAgICAgcmV0dXJuIEVkZ2VEaXJlY3Rpb24uT1VUO1xuICAgIH0gZWxzZSBpZiAoaXNUYXJnZXRBY3RpdmUpIHtcbiAgICAgICAgcmV0dXJuIEVkZ2VEaXJlY3Rpb24uSU47XG4gICAgfVxuICAgIHJldHVybiBFZGdlRGlyZWN0aW9uLk5PTkU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFZGdlR2VuZXJhdG9yRGF0YShlZGdlOiBGb3JjZUF0bGFzRWRnZUVsZW1lbnQsIGJvYXJkOiBQbGFpdEJvYXJkKTogRWRnZUdlbmVyYXRvckRhdGEge1xuICAgIGNvbnN0IGZvcmNlQXRsYXNFbGVtZW50ID0gUGxhaXROb2RlLnBhcmVudChib2FyZCwgUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWRnZSkpIGFzIEZvcmNlQXRsYXNFbGVtZW50O1xuICAgIGNvbnN0IHNvdXJjZU5vZGUgPSBnZXROb2RlQnlJZChlZGdlLnNvdXJjZSwgZm9yY2VBdGxhc0VsZW1lbnQpO1xuICAgIGNvbnN0IHRhcmdldE5vZGUgPSBnZXROb2RlQnlJZChlZGdlLnRhcmdldCwgZm9yY2VBdGxhc0VsZW1lbnQpO1xuICAgIGlmICghc291cmNlTm9kZT8ucG9pbnRzIHx8ICF0YXJnZXROb2RlPy5wb2ludHMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiU291cmNlIG9yIHRhcmdldCBub2RlIGRvZXNuJ3QgaGF2ZSBwb2ludHNcIik7XG4gICAgfVxuICAgIGNvbnN0IHN0YXJ0UG9pbnQgPSBzb3VyY2VOb2RlLnBvaW50c1swXTtcbiAgICBjb25zdCBlbmRQb2ludCA9IHRhcmdldE5vZGUucG9pbnRzWzBdO1xuICAgIGNvbnN0IHNlbGVjdEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCkgYXMgRm9yY2VBdGxhc05vZGVFbGVtZW50W107XG4gICAgY29uc3QgaXNTb3VyY2VBY3RpdmUgPSBnZXRJc05vZGVBY3RpdmUoc291cmNlTm9kZS5pZCwgc2VsZWN0RWxlbWVudHMpO1xuICAgIGNvbnN0IGlzVGFyZ2V0QWN0aXZlID0gZ2V0SXNOb2RlQWN0aXZlKHRhcmdldE5vZGUuaWQsIHNlbGVjdEVsZW1lbnRzKTtcbiAgICBjb25zdCBkaXJlY3Rpb24gPSBnZXRFZGdlRGlyZWN0aW9uKGlzU291cmNlQWN0aXZlLCBpc1RhcmdldEFjdGl2ZSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBzdGFydFBvaW50LFxuICAgICAgICBlbmRQb2ludCxcbiAgICAgICAgZGlyZWN0aW9uLFxuICAgICAgICBpc1NvdXJjZUFjdGl2ZSxcbiAgICAgICAgaXNUYXJnZXRBY3RpdmUsXG4gICAgICAgIGlzVGFyZ2V0U2VsZjogc291cmNlTm9kZS5pZCA9PT0gdGFyZ2V0Tm9kZS5pZFxuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwbGF5RWRnZVBhcnRpY2xlQW5pbWF0ZShwYXRoOiBTVkdQYXRoRWxlbWVudCwgcG9pbnRHOiBTVkdHRWxlbWVudCkge1xuICAgIGNvbnN0IHBhdGhMZW5ndGggPSBwYXRoLmdldFRvdGFsTGVuZ3RoKCk7XG4gICAgbGV0IGFuaW0gPSBhbmltYXRlKFxuICAgICAgICAodDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IHBhdGguZ2V0UG9pbnRBdExlbmd0aCh0ICogcGF0aExlbmd0aCk7XG4gICAgICAgICAgICBwb2ludEcuc2V0QXR0cmlidXRlKCd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlKCR7cG9pbnQueH0sICR7cG9pbnQueX0pYCk7XG4gICAgICAgIH0sXG4gICAgICAgIDEwMDAsXG4gICAgICAgIGxpbmVhcixcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgYW5pbSA9IHBsYXlFZGdlUGFydGljbGVBbmltYXRlKHBhdGgsIHBvaW50Ryk7XG4gICAgICAgIH1cbiAgICApO1xuICAgIHJldHVybiB7XG4gICAgICAgIHN0b3A6ICgpID0+IHtcbiAgICAgICAgICAgIGFuaW0uc3RvcCgpO1xuICAgICAgICB9LFxuICAgICAgICBzdGFydDogKCkgPT4ge1xuICAgICAgICAgICAgYW5pbS5zdGFydCgpO1xuICAgICAgICB9XG4gICAgfTtcbn1cbiJdfQ==
@@ -1,55 +0,0 @@
1
- import { PlaitElement, RectangleClient, normalizePoint } from '@plait/core';
2
- import { ForceAtlasElement } from '../../interfaces';
3
- import { getEdges, getEdgesInSourceOrTarget } from './edge';
4
- import { ForceAtlasNodeGenerator } from '../generators/node.generator';
5
- import { DEFAULT_NODE_ICON_COLOR, NODE_ICON_FONT_SIZE } from '../constants';
6
- export function getNodes(forceAtlasElement, andBack) {
7
- return forceAtlasElement.children?.filter(f => ForceAtlasElement.isForceAtlasNodeElement(f) && (andBack?.(f) ?? true));
8
- }
9
- export function getNodeById(id, forceAtlasElement) {
10
- const node = getNodes(forceAtlasElement, node => node.id === id)?.[0];
11
- if (!node) {
12
- throw new Error('can not find node.');
13
- }
14
- return node;
15
- }
16
- export function getIsNodeActive(id, selectElements) {
17
- return selectElements.some(node => node.id === id);
18
- }
19
- export function isHitNode(node, point) {
20
- const { x, y } = normalizePoint(node.points[0]);
21
- const size = node.size;
22
- const hitFlowNode = RectangleClient.isHit(RectangleClient.getRectangleByPoints(point), {
23
- x: x - size / 2,
24
- y: y - size / 2,
25
- width: size,
26
- height: size
27
- });
28
- return hitFlowNode;
29
- }
30
- export function getAssociatedNodesById(id, forceAtlasElement) {
31
- const edges = getEdgesInSourceOrTarget(id, forceAtlasElement);
32
- const nodes = [];
33
- edges.forEach(edge => {
34
- nodes.push(getNodeById(edge.source, forceAtlasElement));
35
- nodes.push(getNodeById(edge.target, forceAtlasElement));
36
- });
37
- return nodes;
38
- }
39
- export function getNodeGenerator(node) {
40
- const edgeRef = PlaitElement.getElementRef(node);
41
- return edgeRef.getGenerator(ForceAtlasNodeGenerator.key);
42
- }
43
- export function isFirstDepthNode(currentNodeId, activeNodeId, forceAtlasElement) {
44
- const edges = getEdges(forceAtlasElement);
45
- return edges.some(s => (s.source === activeNodeId && s.target === currentNodeId) || (s.target === activeNodeId && s.source === currentNodeId));
46
- }
47
- export function getNodeIcon(node) {
48
- const iconItem = typeof node.icon === 'object' && node.icon.name ? node.icon : null;
49
- return {
50
- name: iconItem ? iconItem.name : node.icon,
51
- fontSize: (iconItem && iconItem.fontSize) || NODE_ICON_FONT_SIZE,
52
- color: (iconItem && iconItem.color) || DEFAULT_NODE_ICON_COLOR
53
- };
54
- }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyYXBoLXZpei9zcmMvZm9yY2UtYXRsYXMvdXRpbHMvbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFTLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkYsT0FBTyxFQUFFLGlCQUFpQixFQUF5QixNQUFNLGtCQUFrQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTVFLE1BQU0sVUFBVSxRQUFRLENBQUMsaUJBQW9DLEVBQUUsT0FBa0Q7SUFDN0csT0FBTyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUNyQyxDQUFDLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQ25ELENBQUM7QUFDakMsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsRUFBVSxFQUFFLGlCQUFvQztJQUN4RSxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1IsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQs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QUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRFbGVtZW50LCBQb2ludCwgUmVjdGFuZ2xlQ2xpZW50LCBub3JtYWxpemVQb2ludCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEZvcmNlQXRsYXNFbGVtZW50LCBGb3JjZUF0bGFzTm9kZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldEVkZ2VzLCBnZXRFZGdlc0luU291cmNlT3JUYXJnZXQgfSBmcm9tICcuL2VkZ2UnO1xuaW1wb3J0IHsgUGxhaXRDb21tb25FbGVtZW50UmVmIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBGb3JjZUF0bGFzTm9kZUdlbmVyYXRvciB9IGZyb20gJy4uL2dlbmVyYXRvcnMvbm9kZS5nZW5lcmF0b3InO1xuaW1wb3J0IHsgREVGQVVMVF9OT0RFX0lDT05fQ09MT1IsIE5PREVfSUNPTl9GT05UX1NJWkUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Tm9kZXMoZm9yY2VBdGxhc0VsZW1lbnQ6IEZvcmNlQXRsYXNFbGVtZW50LCBhbmRCYWNrPzogKGVkZ2U6IEZvcmNlQXRsYXNOb2RlRWxlbWVudCkgPT4gYm9vbGVhbikge1xuICAgIHJldHVybiBmb3JjZUF0bGFzRWxlbWVudC5jaGlsZHJlbj8uZmlsdGVyKFxuICAgICAgICBmID0+IEZvcmNlQXRsYXNFbGVtZW50LmlzRm9yY2VBdGxhc05vZGVFbGVtZW50KGYpICYmIChhbmRCYWNrPy4oZikgPz8gdHJ1ZSlcbiAgICApIGFzIEZvcmNlQXRsYXNOb2RlRWxlbWVudFtdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Tm9kZUJ5SWQoaWQ6IHN0cmluZywgZm9yY2VBdGxhc0VsZW1lbnQ6IEZvcmNlQXRsYXNFbGVtZW50KSB7XG4gICAgY29uc3Qgbm9kZSA9IGdldE5vZGVzKGZvcmNlQXRsYXNFbGVtZW50LCBub2RlID0+IG5vZGUuaWQgPT09IGlkKT8uWzBdO1xuICAgIGlmICghbm9kZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NhbiBub3QgZmluZCBub2RlLicpO1xuICAgIH1cbiAgICByZXR1cm4gbm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldElzTm9kZUFjdGl2ZShpZDogc3RyaW5nLCBzZWxlY3RFbGVtZW50czogRm9yY2VBdGxhc05vZGVFbGVtZW50W10pIHtcbiAgICByZXR1cm4gc2VsZWN0RWxlbWVudHMuc29tZShub2RlID0+IG5vZGUuaWQgPT09IGlkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzSGl0Tm9kZShub2RlOiBGb3JjZUF0bGFzTm9kZUVsZW1lbnQsIHBvaW50OiBbUG9pbnQsIFBvaW50XSkge1xuICAgIGNvbnN0IHsgeCwgeSB9ID0gbm9ybWFsaXplUG9pbnQobm9kZS5wb2ludHMhWzBdKTtcbiAgICBjb25zdCBzaXplID0gbm9kZS5zaXplITtcbiAgICBjb25zdCBoaXRGbG93Tm9kZSA9IFJlY3RhbmdsZUNsaWVudC5pc0hpdChSZWN0YW5nbGVDbGllbnQuZ2V0UmVjdGFuZ2xlQnlQb2ludHMocG9pbnQpLCB7XG4gICAgICAgIHg6IHggLSBzaXplIC8gMixcbiAgICAgICAgeTogeSAtIHNpemUgLyAyLFxuICAgICAgICB3aWR0aDogc2l6ZSxcbiAgICAgICAgaGVpZ2h0OiBzaXplXG4gICAgfSk7XG4gICAgcmV0dXJuIGhpdEZsb3dOb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXNzb2NpYXRlZE5vZGVzQnlJZChpZDogc3RyaW5nLCBmb3JjZUF0bGFzRWxlbWVudDogRm9yY2VBdGxhc0VsZW1lbnQpIHtcbiAgICBjb25zdCBlZGdlcyA9IGdldEVkZ2VzSW5Tb3VyY2VPclRhcmdldChpZCwgZm9yY2VBdGxhc0VsZW1lbnQpO1xuICAgIGNvbnN0IG5vZGVzOiBGb3JjZUF0bGFzTm9kZUVsZW1lbnRbXSA9IFtdO1xuICAgIGVkZ2VzLmZvckVhY2goZWRnZSA9PiB7XG4gICAgICAgIG5vZGVzLnB1c2goZ2V0Tm9kZUJ5SWQoZWRnZS5zb3VyY2UsIGZvcmNlQXRsYXNFbGVtZW50KSk7XG4gICAgICAgIG5vZGVzLnB1c2goZ2V0Tm9kZUJ5SWQoZWRnZS50YXJnZXQsIGZvcmNlQXRsYXNFbGVtZW50KSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIG5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Tm9kZUdlbmVyYXRvcihub2RlOiBGb3JjZUF0bGFzTm9kZUVsZW1lbnQpIHtcbiAgICBjb25zdCBlZGdlUmVmID0gUGxhaXRFbGVtZW50LmdldEVsZW1lbnRSZWY8UGxhaXRDb21tb25FbGVtZW50UmVmPihub2RlKTtcbiAgICByZXR1cm4gZWRnZVJlZi5nZXRHZW5lcmF0b3I8Rm9yY2VBdGxhc05vZGVHZW5lcmF0b3I+KEZvcmNlQXRsYXNOb2RlR2VuZXJhdG9yLmtleSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0ZpcnN0RGVwdGhOb2RlKGN1cnJlbnROb2RlSWQ6IHN0cmluZywgYWN0aXZlTm9kZUlkOiBzdHJpbmcsIGZvcmNlQXRsYXNFbGVtZW50OiBGb3JjZUF0bGFzRWxlbWVudCkge1xuICAgIGNvbnN0IGVkZ2VzID0gZ2V0RWRnZXMoZm9yY2VBdGxhc0VsZW1lbnQpO1xuICAgIHJldHVybiBlZGdlcy5zb21lKFxuICAgICAgICBzID0+IChzLnNvdXJjZSA9PT0gYWN0aXZlTm9kZUlkICYmIHMudGFyZ2V0ID09PSBjdXJyZW50Tm9kZUlkKSB8fCAocy50YXJnZXQgPT09IGFjdGl2ZU5vZGVJZCAmJiBzLnNvdXJjZSA9PT0gY3VycmVudE5vZGVJZClcbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Tm9kZUljb24obm9kZTogRm9yY2VBdGxhc05vZGVFbGVtZW50KSB7XG4gICAgY29uc3QgaWNvbkl0ZW0gPSB0eXBlb2Ygbm9kZS5pY29uID09PSAnb2JqZWN0JyAmJiBub2RlLmljb24ubmFtZSA/IG5vZGUuaWNvbiA6IG51bGw7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogaWNvbkl0ZW0gPyBpY29uSXRlbS5uYW1lIDogKG5vZGUuaWNvbiBhcyBzdHJpbmcpLFxuICAgICAgICBmb250U2l6ZTogKGljb25JdGVtICYmIGljb25JdGVtLmZvbnRTaXplKSB8fCBOT0RFX0lDT05fRk9OVF9TSVpFLFxuICAgICAgICBjb2xvcjogKGljb25JdGVtICYmIGljb25JdGVtLmNvbG9yKSB8fCBERUZBVUxUX05PREVfSUNPTl9DT0xPUlxuICAgIH07XG59XG4iXX0=
@@ -1,72 +0,0 @@
1
- import { isHitElement, PlaitBoard, PlaitPluginKey, PlaitPointerType, RectangleClient, setSelectionOptions, toHostPoint, toViewBoxPoint } from '@plait/core';
2
- import { ForceAtlasFlavour } from './force-atlas.flavour';
3
- import { ForceAtlasNodeFlavour } from './node.flavour';
4
- import { ForceAtlasEdgeFlavour } from './edge.flavour';
5
- import { ForceAtlasElement } from '../interfaces';
6
- import { isHitNode } from './utils/node';
7
- import { withNodeIcon } from './with-node-icon';
8
- export const withForceAtlas = (board) => {
9
- const { drawElement, getRectangle, isRectangleHit, isHit, isInsidePoint, isMovable, isAlign, getRelatedFragment } = board;
10
- board.drawElement = (context) => {
11
- if (ForceAtlasElement.isForceAtlas(context.element)) {
12
- return ForceAtlasFlavour;
13
- }
14
- else if (ForceAtlasElement.isForceAtlasNodeElement(context.element)) {
15
- return ForceAtlasNodeFlavour;
16
- }
17
- else if (ForceAtlasElement.isForceAtlasEdgeElement(context.element)) {
18
- return ForceAtlasEdgeFlavour;
19
- }
20
- return drawElement(context);
21
- };
22
- board.getRectangle = (element) => {
23
- if (element.type === 'force-atlas') {
24
- return {
25
- width: 0,
26
- height: 0,
27
- x: 0,
28
- y: 0
29
- };
30
- }
31
- else if (ForceAtlasElement.isForceAtlasNodeElement(element)) {
32
- return RectangleClient.getRectangleByPoints(element.points || []);
33
- }
34
- else if (ForceAtlasElement.isForceAtlasEdgeElement(element)) {
35
- return {
36
- width: 0,
37
- height: 0,
38
- x: 0,
39
- y: 0
40
- };
41
- }
42
- return getRectangle(element);
43
- };
44
- board.isRectangleHit = (element, selection) => {
45
- return isRectangleHit(element, selection);
46
- };
47
- board.isRectangleHit = (element, range) => {
48
- if (ForceAtlasElement.isForceAtlasNodeElement(element)) {
49
- return isHitNode(element, [range.anchor, range.focus]);
50
- }
51
- return isRectangleHit(element, range);
52
- };
53
- board.isHit = (element, point) => {
54
- if (ForceAtlasElement.isForceAtlasNodeElement(element)) {
55
- return isHitNode(element, [point, point]);
56
- }
57
- return isHit(element, point);
58
- };
59
- board.isInsidePoint = (element, point) => {
60
- return isInsidePoint(element, point);
61
- };
62
- setSelectionOptions(board, { isMultipleSelection: false, isPreventClearSelection: true });
63
- board.setPluginOptions(PlaitPluginKey.withHand, {
64
- isHandMode: (board, event) => {
65
- const point = toViewBoxPoint(board, toHostPoint(board, event.x, event.y));
66
- const isHitTarget = isHitElement(board, point);
67
- return PlaitBoard.isPointer(board, PlaitPointerType.selection) && !isHitTarget;
68
- }
69
- });
70
- return withNodeIcon(board);
71
- };
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1mb3JjZS1hdGxhcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyYXBoLXZpei9zcmMvZm9yY2UtYXRsYXMvd2l0aC1mb3JjZS1hdGxhcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsWUFBWSxFQUNaLFVBQVUsRUFJVixjQUFjLEVBQ2QsZ0JBQWdCLEVBRWhCLGVBQWUsRUFFZixtQkFBbUIsRUFDbkIsV0FBVyxFQUNYLGNBQWMsRUFFakIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUNoRCxNQUFNLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRTFILEtBQUssQ0FBQyxXQUFXLEdBQUcsQ0FBQyxPQUFrQyxFQUFFLEVBQUU7UUFDdkQsSUFBSSxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDbEQsT0FBTyxpQkFBaUIsQ0FBQztRQUM3QixDQUFDO2FBQU0sSUFBSSxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxD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QUM7WUFDMUUsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMvQyxPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ25GLENBQUM7S0FDSixDQUFDLENBQUM7SUFFSCxPQUFPLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGlzSGl0RWxlbWVudCxcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBsYWl0RWxlbWVudCxcbiAgICBQbGFpdE9wdGlvbnNCb2FyZCxcbiAgICBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0LFxuICAgIFBsYWl0UGx1Z2luS2V5LFxuICAgIFBsYWl0UG9pbnRlclR5cGUsXG4gICAgUG9pbnQsXG4gICAgUmVjdGFuZ2xlQ2xpZW50LFxuICAgIFNlbGVjdGlvbixcbiAgICBzZXRTZWxlY3Rpb25PcHRpb25zLFxuICAgIHRvSG9zdFBvaW50LFxuICAgIHRvVmlld0JveFBvaW50LFxuICAgIFdpdGhIYW5kUGx1Z2luT3B0aW9uc1xufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBGb3JjZUF0bGFzRmxhdm91ciB9IGZyb20gJy4vZm9yY2UtYXRsYXMuZmxhdm91cic7XG5pbXBvcnQgeyBGb3JjZUF0bGFzTm9kZUZsYXZvdXIgfSBmcm9tICcuL25vZGUuZmxhdm91cic7XG5pbXBvcnQgeyBGb3JjZUF0bGFzRWRnZUZsYXZvdXIgfSBmcm9tICcuL2VkZ2UuZmxhdm91cic7XG5pbXBvcnQgeyBGb3JjZUF0bGFzRWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgaXNIaXROb2RlIH0gZnJvbSAnLi91dGlscy9ub2RlJztcbmltcG9ydCB7IHdpdGhOb2RlSWNvbiB9IGZyb20gJy4vd2l0aC1ub2RlLWljb24nO1xuXG5leHBvcnQgY29uc3Qgd2l0aEZvcmNlQXRsYXMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCB7IGRyYXdFbGVtZW50LCBnZXRSZWN0YW5nbGUsIGlzUmVjdGFuZ2xlSGl0LCBpc0hpdCwgaXNJbnNpZGVQb2ludCwgaXNNb3ZhYmxlLCBpc0FsaWduLCBnZXRSZWxhdGVkRnJhZ21lbnQgfSA9IGJvYXJkO1xuXG4gICAgYm9hcmQuZHJhd0VsZW1lbnQgPSAoY29udGV4dDogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCkgPT4ge1xuICAgICAgICBpZiAoRm9yY2VBdGxhc0VsZW1lbnQuaXNGb3JjZUF0bGFzKGNvbnRleHQuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBGb3JjZUF0bGFzRmxhdm91cjtcbiAgICAgICAgfSBlbHNlIGlmIChGb3JjZUF0bGFzRWxlbWVudC5pc0ZvcmNlQXRsYXNOb2RlRWxlbWVudChjb250ZXh0LmVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gRm9yY2VBdGxhc05vZGVGbGF2b3VyO1xuICAgICAgICB9IGVsc2UgaWYgKEZvcmNlQXRsYXNFbGVtZW50LmlzRm9yY2VBdGxhc0VkZ2VFbGVtZW50KGNvbnRleHQuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBGb3JjZUF0bGFzRWRnZUZsYXZvdXI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRyYXdFbGVtZW50KGNvbnRleHQpO1xuICAgIH07XG5cbiAgICBib2FyZC5nZXRSZWN0YW5nbGUgPSAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgICAgIGlmIChlbGVtZW50LnR5cGUgPT09ICdmb3JjZS1hdGxhcycpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDAsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwLFxuICAgICAgICAgICAgICAgIHg6IDAsXG4gICAgICAgICAgICAgICAgeTogMFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIGlmIChGb3JjZUF0bGFzRWxlbWVudC5pc0ZvcmNlQXRsYXNOb2RlRWxlbWVudChlbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRSZWN0YW5nbGVCeVBvaW50cyhlbGVtZW50LnBvaW50cyB8fCBbXSk7XG4gICAgICAgIH0gZWxzZSBpZiAoRm9yY2VBdGxhc0VsZW1lbnQuaXNGb3JjZUF0bGFzRWRnZUVsZW1lbnQoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDAsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwLFxuICAgICAgICAgICAgICAgIHg6IDAsXG4gICAgICAgICAgICAgICAgeTogMFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZ2V0UmVjdGFuZ2xlKGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5pc1JlY3RhbmdsZUhpdCA9IChlbGVtZW50OiBQbGFpdEVsZW1lbnQsIHNlbGVjdGlvbjogU2VsZWN0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiBpc1JlY3RhbmdsZUhpdChlbGVtZW50LCBzZWxlY3Rpb24pO1xuICAgIH07XG4gICAgYm9hcmQuaXNSZWN0YW5nbGVIaXQgPSAoZWxlbWVudCwgcmFuZ2UpID0+IHtcbiAgICAgICAgaWYgKEZvcmNlQXRsYXNFbGVtZW50LmlzRm9yY2VBdGxhc05vZGVFbGVtZW50KGVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gaXNIaXROb2RlKGVsZW1lbnQsIFtyYW5nZS5hbmNob3IsIHJhbmdlLmZvY3VzXSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzUmVjdGFuZ2xlSGl0KGVsZW1lbnQsIHJhbmdlKTtcbiAgICB9O1xuXG4gICAgYm9hcmQuaXNIaXQgPSAoZWxlbWVudCwgcG9pbnQpID0+IHtcbiAgICAgICAgaWYgKEZvcmNlQXRsYXNFbGVtZW50LmlzRm9yY2VBdGxhc05vZGVFbGVtZW50KGVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gaXNIaXROb2RlKGVsZW1lbnQsIFtwb2ludCwgcG9pbnRdKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNIaXQoZWxlbWVudCwgcG9pbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5pc0luc2lkZVBvaW50ID0gKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCwgcG9pbnQ6IFBvaW50KSA9PiB7XG4gICAgICAgIHJldHVybiBpc0luc2lkZVBvaW50KGVsZW1lbnQsIHBvaW50KTtcbiAgICB9O1xuXG4gICAgc2V0U2VsZWN0aW9uT3B0aW9ucyhib2FyZCwgeyBpc011bHRpcGxlU2VsZWN0aW9uOiBmYWxzZSwgaXNQcmV2ZW50Q2xlYXJTZWxlY3Rpb246IHRydWUgfSk7XG5cbiAgICAoYm9hcmQgYXMgUGxhaXRPcHRpb25zQm9hcmQpLnNldFBsdWdpbk9wdGlvbnM8V2l0aEhhbmRQbHVnaW5PcHRpb25zPihQbGFpdFBsdWdpbktleS53aXRoSGFuZCwge1xuICAgICAgICBpc0hhbmRNb2RlOiAoYm9hcmQsIGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IHRvVmlld0JveFBvaW50KGJvYXJkLCB0b0hvc3RQb2ludChib2FyZCwgZXZlbnQueCwgZXZlbnQueSkpO1xuICAgICAgICAgICAgY29uc3QgaXNIaXRUYXJnZXQgPSBpc0hpdEVsZW1lbnQoYm9hcmQsIHBvaW50KTtcbiAgICAgICAgICAgIHJldHVybiBQbGFpdEJvYXJkLmlzUG9pbnRlcihib2FyZCwgUGxhaXRQb2ludGVyVHlwZS5zZWxlY3Rpb24pICYmICFpc0hpdFRhcmdldDtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHdpdGhOb2RlSWNvbihib2FyZCk7XG59O1xuIl19
@@ -1,8 +0,0 @@
1
- export const withNodeIcon = (board) => {
2
- const newBoard = board;
3
- newBoard.renderNodeIcon = (container, props) => {
4
- throw new Error('No implementation for renderLabeIcon method.');
5
- };
6
- return newBoard;
7
- };
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1ub2RlLWljb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmFwaC12aXovc3JjL2ZvcmNlLWF0bGFzL3dpdGgtbm9kZS1pY29uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFvQyxLQUFRLEVBQUUsRUFBRTtJQUN4RSxNQUFNLFFBQVEsR0FBRyxLQUFvQyxDQUFDO0lBRXRELFFBQVEsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxTQUFxQyxFQUFFLEtBQW9CLEVBQUUsRUFBRTtRQUN0RixNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7SUFDcEUsQ0FBQyxDQUFDO0lBQ0YsT0FBTyxRQUFRLENBQUM7QUFDcEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEZvcmNlQXRsYXNOb2RlRWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBSZW5kZXJDb21wb25lbnRSZWYgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IE5vZGVJY29uSXRlbSB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvcmNlQXRsYXNOb2RlSWNvbkJvYXJkIHtcbiAgICByZW5kZXJOb2RlSWNvbjogKGNvbnRhaW5lcjogRWxlbWVudCB8IERvY3VtZW50RnJhZ21lbnQsIHByb3BzOiBOb2RlSWNvblByb3BzKSA9PiBSZW5kZXJDb21wb25lbnRSZWY8Tm9kZUljb25Qcm9wcz47XG59XG5cbmV4cG9ydCBjb25zdCB3aXRoTm9kZUljb24gPSA8VCBleHRlbmRzIFBsYWl0Qm9hcmQgPSBQbGFpdEJvYXJkPihib2FyZDogVCkgPT4ge1xuICAgIGNvbnN0IG5ld0JvYXJkID0gYm9hcmQgYXMgVCAmIEZvcmNlQXRsYXNOb2RlSWNvbkJvYXJkO1xuXG4gICAgbmV3Qm9hcmQucmVuZGVyTm9kZUljb24gPSAoY29udGFpbmVyOiBFbGVtZW50IHwgRG9jdW1lbnRGcmFnbWVudCwgcHJvcHM6IE5vZGVJY29uUHJvcHMpID0+IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBpbXBsZW1lbnRhdGlvbiBmb3IgcmVuZGVyTGFiZUljb24gbWV0aG9kLicpO1xuICAgIH07XG4gICAgcmV0dXJuIG5ld0JvYXJkO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBOb2RlSWNvblByb3BzIHtcbiAgICBib2FyZDogUGxhaXRCb2FyZDtcbiAgICBpY29uSXRlbTogTm9kZUljb25JdGVtO1xuICAgIGVsZW1lbnQ6IEZvcmNlQXRsYXNOb2RlRWxlbWVudDtcbn1cbiJdfQ==
@@ -1,12 +0,0 @@
1
- export const ForceAtlasElement = {
2
- isForceAtlas: (value) => {
3
- return value?.type === 'force-atlas';
4
- },
5
- isForceAtlasNodeElement: (value) => {
6
- return value && value.label && value.icon;
7
- },
8
- isForceAtlasEdgeElement: (value) => {
9
- return value && value.source && value.target;
10
- }
11
- };
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyYXBoLXZpei9zcmMvaW50ZXJmYWNlcy9lbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtCQSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUM3QixZQUFZLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRTtRQUN6QixPQUFPLEtBQUssRUFBRSxJQUFJLEtBQUssYUFBYSxDQUFDO0lBQ3pDLENBQUM7SUFDRCx1QkFBdUIsRUFBRSxDQUFDLEtBQVUsRUFBa0MsRUFBRTtRQUNwRSxPQUFPLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUM7SUFDOUMsQ0FBQztJQUNELHVCQUF1QixFQUFFLENBQUMsS0FBVSxFQUFrQyxFQUFFO1FBQ3BFLE9BQU8sS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUNqRCxDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0RWxlbWVudCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IE5vZGVJY29uSXRlbSB9IGZyb20gJy4uL2ZvcmNlLWF0bGFzL3R5cGVzJztcbmV4cG9ydCBpbnRlcmZhY2UgRm9yY2VBdGxhc05vZGVFbGVtZW50IGV4dGVuZHMgUGxhaXRFbGVtZW50IHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGljb246IHN0cmluZyB8IE5vZGVJY29uSXRlbTtcbiAgICBzaXplPzogbnVtYmVyO1xuICAgIGlzQWN0aXZlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JjZUF0bGFzRWRnZUVsZW1lbnQgZXh0ZW5kcyBQbGFpdEVsZW1lbnQge1xuICAgIHNvdXJjZTogc3RyaW5nO1xuICAgIHRhcmdldDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvcmNlQXRsYXNFbGVtZW50IGV4dGVuZHMgUGxhaXRFbGVtZW50IHtcbiAgICBjaGlsZHJlbjogKEZvcmNlQXRsYXNOb2RlRWxlbWVudCB8IEZvcmNlQXRsYXNFZGdlRWxlbWVudClbXTtcbn1cblxuZXhwb3J0IGNvbnN0IEZvcmNlQXRsYXNFbGVtZW50ID0ge1xuICAgIGlzRm9yY2VBdGxhczogKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIHZhbHVlPy50eXBlID09PSAnZm9yY2UtYXRsYXMnO1xuICAgIH0sXG4gICAgaXNGb3JjZUF0bGFzTm9kZUVsZW1lbnQ6ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgRm9yY2VBdGxhc05vZGVFbGVtZW50ID0+IHtcbiAgICAgICAgcmV0dXJuIHZhbHVlICYmIHZhbHVlLmxhYmVsICYmIHZhbHVlLmljb247XG4gICAgfSxcbiAgICBpc0ZvcmNlQXRsYXNFZGdlRWxlbWVudDogKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBGb3JjZUF0bGFzRWRnZUVsZW1lbnQgPT4ge1xuICAgICAgICByZXR1cm4gdmFsdWUgJiYgdmFsdWUuc291cmNlICYmIHZhbHVlLnRhcmdldDtcbiAgICB9XG59O1xuIl19
@@ -1,2 +0,0 @@
1
- export * from './element';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmFwaC12aXovc3JjL2ludGVyZmFjZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VsZW1lbnQnO1xuIl19