@flowgram.ai/document 0.1.0-alpha.8 → 0.1.0-alpha.9
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/dist/esm/index.js +86 -128
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.mts +4 -2
- package/dist/index.d.ts +4 -2
- package/dist/index.js +86 -128
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
package/dist/index.js
CHANGED
|
@@ -376,7 +376,6 @@ var _FlowNodeRenderData = class _FlowNodeRenderData extends import_core.EntityDa
|
|
|
376
376
|
this.expanded = !this.expanded;
|
|
377
377
|
}
|
|
378
378
|
toggleMouseEnter(silent = false) {
|
|
379
|
-
var _a;
|
|
380
379
|
this.entity.document.renderState.setNodeHovered(this.entity);
|
|
381
380
|
if (silent) return;
|
|
382
381
|
const transform = this.entity.getData(FlowNodeTransformData);
|
|
@@ -388,7 +387,7 @@ var _FlowNodeRenderData = class _FlowNodeRenderData extends import_core.EntityDa
|
|
|
388
387
|
this.mouseLeaveTimeout = void 0;
|
|
389
388
|
}
|
|
390
389
|
transform.renderState.hovered = true;
|
|
391
|
-
if (this.entity.isFirst &&
|
|
390
|
+
if (this.entity.isFirst && this.entity.parent?.id !== "root") {
|
|
392
391
|
transform.parent.renderState.activated = true;
|
|
393
392
|
} else {
|
|
394
393
|
transform.renderState.activated = true;
|
|
@@ -399,9 +398,8 @@ var _FlowNodeRenderData = class _FlowNodeRenderData extends import_core.EntityDa
|
|
|
399
398
|
if (silent) return;
|
|
400
399
|
const transform = this.entity.getData(FlowNodeTransformData);
|
|
401
400
|
this.mouseLeaveTimeout = setTimeout(() => {
|
|
402
|
-
var _a;
|
|
403
401
|
transform.renderState.hovered = false;
|
|
404
|
-
if (this.entity.isFirst &&
|
|
402
|
+
if (this.entity.isFirst && this.entity.parent?.id !== "root") {
|
|
405
403
|
transform.parent.renderState.activated = false;
|
|
406
404
|
}
|
|
407
405
|
transform.renderState.activated = false;
|
|
@@ -450,11 +448,10 @@ var _FlowNodeRenderData = class _FlowNodeRenderData extends import_core.EntityDa
|
|
|
450
448
|
this.data.stackIndex = index;
|
|
451
449
|
}
|
|
452
450
|
get lineActivated() {
|
|
453
|
-
var _a, _b, _c;
|
|
454
451
|
const { activated } = this;
|
|
455
452
|
if (!activated) return false;
|
|
456
453
|
return Boolean(
|
|
457
|
-
|
|
454
|
+
this.entity.parent?.getData(_FlowNodeRenderData)?.activated || this.entity.isInlineBlock || this.entity.next?.getData(_FlowNodeRenderData).activated
|
|
458
455
|
);
|
|
459
456
|
}
|
|
460
457
|
get node() {
|
|
@@ -658,10 +655,10 @@ var _FlowNodeTransformData = class _FlowNodeTransformData extends import_core2.E
|
|
|
658
655
|
return this.entity.document.layout.getPadding(this.entity);
|
|
659
656
|
}
|
|
660
657
|
setParentTransform(transform) {
|
|
661
|
-
if (this.transform.parent !==
|
|
658
|
+
if (this.transform.parent !== transform?.transform) {
|
|
662
659
|
this.localDirty = true;
|
|
663
660
|
}
|
|
664
|
-
this.transform.setParent(transform
|
|
661
|
+
this.transform.setParent(transform?.transform);
|
|
665
662
|
}
|
|
666
663
|
get spacing() {
|
|
667
664
|
const { spacing } = this.entity.getNodeMeta();
|
|
@@ -688,12 +685,10 @@ var _FlowNodeTransformData = class _FlowNodeTransformData extends import_core2.E
|
|
|
688
685
|
* 上一个节点的 transform 数据
|
|
689
686
|
*/
|
|
690
687
|
get pre() {
|
|
691
|
-
|
|
692
|
-
return (_a = this.entity.pre) == null ? void 0 : _a.getData(_FlowNodeTransformData);
|
|
688
|
+
return this.entity.pre?.getData(_FlowNodeTransformData);
|
|
693
689
|
}
|
|
694
690
|
get originParent() {
|
|
695
|
-
|
|
696
|
-
return (_a = this.entity.originParent) == null ? void 0 : _a.getData(_FlowNodeTransformData);
|
|
691
|
+
return this.entity.originParent?.getData(_FlowNodeTransformData);
|
|
697
692
|
}
|
|
698
693
|
get isFirst() {
|
|
699
694
|
return this.entity.isFirst;
|
|
@@ -702,26 +697,22 @@ var _FlowNodeTransformData = class _FlowNodeTransformData extends import_core2.E
|
|
|
702
697
|
return this.entity.isLast;
|
|
703
698
|
}
|
|
704
699
|
get lastChild() {
|
|
705
|
-
|
|
706
|
-
return (_a = this.entity.lastChild) == null ? void 0 : _a.getData(_FlowNodeTransformData);
|
|
700
|
+
return this.entity.lastChild?.getData(_FlowNodeTransformData);
|
|
707
701
|
}
|
|
708
702
|
get firstChild() {
|
|
709
|
-
|
|
710
|
-
return (_a = this.entity.firstChild) == null ? void 0 : _a.getData(_FlowNodeTransformData);
|
|
703
|
+
return this.entity.firstChild?.getData(_FlowNodeTransformData);
|
|
711
704
|
}
|
|
712
705
|
/**
|
|
713
706
|
* 下一个节点的 transform 数据
|
|
714
707
|
*/
|
|
715
708
|
get next() {
|
|
716
|
-
|
|
717
|
-
return (_a = this.entity.next) == null ? void 0 : _a.getData(_FlowNodeTransformData);
|
|
709
|
+
return this.entity.next?.getData(_FlowNodeTransformData);
|
|
718
710
|
}
|
|
719
711
|
/**
|
|
720
712
|
* parent 节点的 transform 数据
|
|
721
713
|
*/
|
|
722
714
|
get parent() {
|
|
723
|
-
|
|
724
|
-
return (_a = this.entity.parent) == null ? void 0 : _a.getData(_FlowNodeTransformData);
|
|
715
|
+
return this.entity.parent?.getData(_FlowNodeTransformData);
|
|
725
716
|
}
|
|
726
717
|
};
|
|
727
718
|
_FlowNodeTransformData.type = "FlowNodeTransformData";
|
|
@@ -745,10 +736,9 @@ var drawLineToNext = (transition) => {
|
|
|
745
736
|
return [];
|
|
746
737
|
};
|
|
747
738
|
var drawLineToBottom = (transition) => {
|
|
748
|
-
var _a;
|
|
749
739
|
const { transform } = transition;
|
|
750
740
|
const currentOutput = transform.outputPoint;
|
|
751
|
-
const parentOutput =
|
|
741
|
+
const parentOutput = transform.parent?.outputPoint;
|
|
752
742
|
if (!transform.next && parentOutput && !new import_utils3.Point().copyFrom(currentOutput).equals(parentOutput) && !transition.isNodeEnd) {
|
|
753
743
|
return [
|
|
754
744
|
{
|
|
@@ -765,23 +755,20 @@ var FlowNodeTransitionData = class extends import_core3.EntityData {
|
|
|
765
755
|
return {};
|
|
766
756
|
}
|
|
767
757
|
formatLines(lines) {
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
return (_c = (_b = this.entity.document.options) == null ? void 0 : _b.formatNodeLines) == null ? void 0 : _c.call(_b, this.entity, lines);
|
|
758
|
+
if (this.entity.document.options?.formatNodeLines) {
|
|
759
|
+
return this.entity.document.options?.formatNodeLines?.(this.entity, lines);
|
|
771
760
|
}
|
|
772
761
|
return lines;
|
|
773
762
|
}
|
|
774
763
|
formatLabels(labels) {
|
|
775
|
-
var _a, _b;
|
|
776
764
|
if (this.entity.document.options.formatNodeLabels) {
|
|
777
|
-
return
|
|
765
|
+
return this.entity.document.options?.formatNodeLabels?.(this.entity, labels);
|
|
778
766
|
}
|
|
779
767
|
return labels;
|
|
780
768
|
}
|
|
781
769
|
get lines() {
|
|
782
770
|
return this.entity.memoGlobal("lines", () => {
|
|
783
|
-
|
|
784
|
-
const { getChildLines } = ((_a = this.entity.parent) == null ? void 0 : _a.getNodeRegistry()) || {};
|
|
771
|
+
const { getChildLines } = this.entity.parent?.getNodeRegistry() || {};
|
|
785
772
|
if (getChildLines) {
|
|
786
773
|
return this.formatLines(getChildLines(this, this.entity.document.layout));
|
|
787
774
|
}
|
|
@@ -797,8 +784,7 @@ var FlowNodeTransitionData = class extends import_core3.EntityData {
|
|
|
797
784
|
}
|
|
798
785
|
get labels() {
|
|
799
786
|
return this.entity.memoGlobal("labels", () => {
|
|
800
|
-
|
|
801
|
-
const { getChildLabels } = ((_a = this.entity.parent) == null ? void 0 : _a.getNodeRegistry()) || {};
|
|
787
|
+
const { getChildLabels } = this.entity.parent?.getNodeRegistry() || {};
|
|
802
788
|
if (getChildLabels) {
|
|
803
789
|
return this.formatLabels(getChildLabels(this, this.entity.document.layout));
|
|
804
790
|
}
|
|
@@ -818,7 +804,7 @@ var FlowNodeTransitionData = class extends import_core3.EntityData {
|
|
|
818
804
|
}
|
|
819
805
|
]);
|
|
820
806
|
}
|
|
821
|
-
const parentOutput =
|
|
807
|
+
const parentOutput = this.transform.parent?.outputPoint;
|
|
822
808
|
if (parentOutput && !new import_utils3.Point().copyFrom(currentOutput).equals(parentOutput) && !this.isNodeEnd) {
|
|
823
809
|
return this.formatLabels([
|
|
824
810
|
{
|
|
@@ -1065,9 +1051,8 @@ var FlowNodeEntity = class extends import_core4.Entity {
|
|
|
1065
1051
|
return this.children.length;
|
|
1066
1052
|
}
|
|
1067
1053
|
get collapsed() {
|
|
1068
|
-
var _a;
|
|
1069
1054
|
if (this.document.renderTree.isCollapsed(this)) return true;
|
|
1070
|
-
return !!
|
|
1055
|
+
return !!this.parent?.collapsed;
|
|
1071
1056
|
}
|
|
1072
1057
|
set collapsed(collapsed) {
|
|
1073
1058
|
this.document.renderTree.setCollapsed(this, collapsed);
|
|
@@ -1268,7 +1253,7 @@ var FlowRendererStateEntity = class extends import_core6.ConfigEntity {
|
|
|
1268
1253
|
}
|
|
1269
1254
|
setNodeHovered(node) {
|
|
1270
1255
|
this.updateConfig({
|
|
1271
|
-
nodeHoveredId: node
|
|
1256
|
+
nodeHoveredId: node?.id
|
|
1272
1257
|
});
|
|
1273
1258
|
}
|
|
1274
1259
|
getDragLabelSide() {
|
|
@@ -1293,7 +1278,7 @@ var FlowRendererStateEntity = class extends import_core6.ConfigEntity {
|
|
|
1293
1278
|
}
|
|
1294
1279
|
setDragStartEntity(node) {
|
|
1295
1280
|
this.updateConfig({
|
|
1296
|
-
nodeDragStartId: node
|
|
1281
|
+
nodeDragStartId: node?.id
|
|
1297
1282
|
});
|
|
1298
1283
|
}
|
|
1299
1284
|
// 拖拽多个节点时
|
|
@@ -1395,7 +1380,7 @@ var FlowVirtualTree = class _FlowVirtualTree {
|
|
|
1395
1380
|
moveChilds(parent, childs, index) {
|
|
1396
1381
|
const parentInfo = this.getInfo(parent);
|
|
1397
1382
|
const len = parentInfo.children.length;
|
|
1398
|
-
let childIndex = index
|
|
1383
|
+
let childIndex = index ?? len;
|
|
1399
1384
|
childs.forEach((child) => {
|
|
1400
1385
|
const childInfo = this.getInfo(child);
|
|
1401
1386
|
if (childInfo.parent) {
|
|
@@ -1545,8 +1530,7 @@ var FlowRenderTree = class extends FlowVirtualTree {
|
|
|
1545
1530
|
*
|
|
1546
1531
|
*/
|
|
1547
1532
|
openNodeInsideCollapsed(node) {
|
|
1548
|
-
|
|
1549
|
-
let curr = (_a = this.originTree.getInfo(node)) == null ? void 0 : _a.parent;
|
|
1533
|
+
let curr = this.originTree.getInfo(node)?.parent;
|
|
1550
1534
|
while (curr) {
|
|
1551
1535
|
if (this.nodesCollapsed.has(curr)) {
|
|
1552
1536
|
this.nodesCollapsed.delete(curr);
|
|
@@ -1618,7 +1602,7 @@ var FlowRenderTree = class extends FlowVirtualTree {
|
|
|
1618
1602
|
if (shouldDragAllNextNodes && next) {
|
|
1619
1603
|
this.dragNextNodesToBlock(passBlocks[0], next);
|
|
1620
1604
|
}
|
|
1621
|
-
children
|
|
1605
|
+
children?.forEach((child) => {
|
|
1622
1606
|
this.refineBranch(child);
|
|
1623
1607
|
});
|
|
1624
1608
|
if (shouldDragAllNextNodes) {
|
|
@@ -1777,13 +1761,9 @@ var FlowDocument = class {
|
|
|
1777
1761
|
return this._disposed;
|
|
1778
1762
|
}
|
|
1779
1763
|
init() {
|
|
1780
|
-
var _a, _b;
|
|
1781
1764
|
if (!this.options) this.options = FlowDocumentOptionsDefault;
|
|
1782
1765
|
this.currentLayoutKey = this.options.defaultLayout || "vertical-fixed-layout" /* VERTICAL_FIXED_LAYOUT */;
|
|
1783
|
-
this.contributions.forEach((contrib) =>
|
|
1784
|
-
var _a2;
|
|
1785
|
-
return (_a2 = contrib.registerDocument) == null ? void 0 : _a2.call(contrib, this);
|
|
1786
|
-
});
|
|
1766
|
+
this.contributions.forEach((contrib) => contrib.registerDocument?.(this));
|
|
1787
1767
|
this.root = this.addNode({ id: "root", type: "root" /* ROOT */ });
|
|
1788
1768
|
this.originTree = new FlowVirtualTree(this.root);
|
|
1789
1769
|
this.transformer = this.entityManager.createEntity(
|
|
@@ -1792,7 +1772,7 @@ var FlowDocument = class {
|
|
|
1792
1772
|
);
|
|
1793
1773
|
this.renderState = this.entityManager.createEntity(FlowRendererStateEntity);
|
|
1794
1774
|
this.renderTree = new FlowRenderTree(this.root, this.originTree, this);
|
|
1795
|
-
|
|
1775
|
+
this.layout.reload?.();
|
|
1796
1776
|
}
|
|
1797
1777
|
/**
|
|
1798
1778
|
* 从数据初始化 O(n)
|
|
@@ -1828,10 +1808,7 @@ var FlowDocument = class {
|
|
|
1828
1808
|
return layout;
|
|
1829
1809
|
}
|
|
1830
1810
|
async load() {
|
|
1831
|
-
await Promise.all(this.contributions.map((c) =>
|
|
1832
|
-
var _a;
|
|
1833
|
-
return (_a = c.loadDocument) == null ? void 0 : _a.call(c, this);
|
|
1834
|
-
}));
|
|
1811
|
+
await Promise.all(this.contributions.map((c) => c.loadDocument?.(this)));
|
|
1835
1812
|
}
|
|
1836
1813
|
get loading() {
|
|
1837
1814
|
return this.transformer.loading;
|
|
@@ -1865,9 +1842,8 @@ var FlowDocument = class {
|
|
|
1865
1842
|
return result;
|
|
1866
1843
|
}
|
|
1867
1844
|
removeNode(node) {
|
|
1868
|
-
var _a;
|
|
1869
1845
|
if (typeof node === "string") {
|
|
1870
|
-
|
|
1846
|
+
this.getNode(node)?.dispose();
|
|
1871
1847
|
} else {
|
|
1872
1848
|
node.dispose();
|
|
1873
1849
|
}
|
|
@@ -1877,8 +1853,7 @@ var FlowDocument = class {
|
|
|
1877
1853
|
* @param data
|
|
1878
1854
|
* @param addedNodes
|
|
1879
1855
|
*/
|
|
1880
|
-
addNode(data, addedNodes
|
|
1881
|
-
var _a, _b, _c, _d;
|
|
1856
|
+
addNode(data, addedNodes) {
|
|
1882
1857
|
const { id, type = "block", originParent, parent, meta, hidden, index } = data;
|
|
1883
1858
|
let node = this.getNode(id);
|
|
1884
1859
|
let isNew = false;
|
|
@@ -1899,10 +1874,10 @@ var FlowDocument = class {
|
|
|
1899
1874
|
const datas = dataRegistries ? this.nodeDataRegistries.concat(...dataRegistries) : this.nodeDataRegistries;
|
|
1900
1875
|
node.addInitializeData(datas);
|
|
1901
1876
|
node.onDispose(() => this.onNodeDisposeEmitter.fire({ node }));
|
|
1902
|
-
|
|
1877
|
+
this.options.fromNodeJSON?.(node, data, true);
|
|
1903
1878
|
isNew = true;
|
|
1904
1879
|
} else {
|
|
1905
|
-
|
|
1880
|
+
this.options.fromNodeJSON?.(node, data, false);
|
|
1906
1881
|
}
|
|
1907
1882
|
node.initData({
|
|
1908
1883
|
originParent,
|
|
@@ -1914,29 +1889,27 @@ var FlowDocument = class {
|
|
|
1914
1889
|
if (node.isStart) {
|
|
1915
1890
|
this.root.addChild(node);
|
|
1916
1891
|
}
|
|
1917
|
-
addedNodes
|
|
1892
|
+
addedNodes?.push(node);
|
|
1918
1893
|
if (register.onCreate) {
|
|
1919
1894
|
const extendNodes = register.onCreate(node, data);
|
|
1920
1895
|
if (extendNodes && addedNodes) {
|
|
1921
1896
|
addedNodes.push(...extendNodes);
|
|
1922
1897
|
}
|
|
1923
|
-
} else if (data.blocks && data.blocks.length > 0
|
|
1898
|
+
} else if (data.blocks && data.blocks.length > 0) {
|
|
1924
1899
|
if (!data.blocks[0].type) {
|
|
1925
1900
|
this.addInlineBlocks(node, data.blocks, addedNodes);
|
|
1926
1901
|
} else {
|
|
1927
1902
|
this.addBlocksAsChildren(node, data.blocks, addedNodes);
|
|
1928
1903
|
}
|
|
1929
1904
|
}
|
|
1930
|
-
if (
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
this.onNodeUpdateEmitter.fire({ node, data, json: data });
|
|
1939
|
-
}
|
|
1905
|
+
if (isNew) {
|
|
1906
|
+
this.onNodeCreateEmitter.fire({
|
|
1907
|
+
node,
|
|
1908
|
+
data,
|
|
1909
|
+
json: data
|
|
1910
|
+
});
|
|
1911
|
+
} else {
|
|
1912
|
+
this.onNodeUpdateEmitter.fire({ node, data, json: data });
|
|
1940
1913
|
}
|
|
1941
1914
|
return node;
|
|
1942
1915
|
}
|
|
@@ -1992,7 +1965,6 @@ var FlowDocument = class {
|
|
|
1992
1965
|
* @param parent 默认去找 $inlineBlocks$
|
|
1993
1966
|
*/
|
|
1994
1967
|
addBlock(target, blockData, addedNodes, parent, index) {
|
|
1995
|
-
var _a;
|
|
1996
1968
|
const node = typeof target === "string" ? this.getNode(target) : target;
|
|
1997
1969
|
const { onBlockChildCreate } = node.getNodeRegistry();
|
|
1998
1970
|
if (onBlockChildCreate) {
|
|
@@ -2006,7 +1978,7 @@ var FlowDocument = class {
|
|
|
2006
1978
|
parent,
|
|
2007
1979
|
index
|
|
2008
1980
|
});
|
|
2009
|
-
if (
|
|
1981
|
+
if (blockData.meta?.defaultCollapsed) {
|
|
2010
1982
|
block.collapsed = true;
|
|
2011
1983
|
}
|
|
2012
1984
|
const blockOrderIcon = this.addNode({
|
|
@@ -2017,7 +1989,7 @@ var FlowDocument = class {
|
|
|
2017
1989
|
data: blockData.data,
|
|
2018
1990
|
parent: block
|
|
2019
1991
|
});
|
|
2020
|
-
addedNodes
|
|
1992
|
+
addedNodes?.push(block, blockOrderIcon);
|
|
2021
1993
|
if (blockData.blocks) {
|
|
2022
1994
|
this.addBlocksAsChildren(block, blockData.blocks, addedNodes);
|
|
2023
1995
|
}
|
|
@@ -2045,12 +2017,12 @@ var FlowDocument = class {
|
|
|
2045
2017
|
...preRegistry,
|
|
2046
2018
|
...newRegistry,
|
|
2047
2019
|
meta: {
|
|
2048
|
-
...preRegistry
|
|
2049
|
-
...newRegistry
|
|
2020
|
+
...preRegistry?.meta,
|
|
2021
|
+
...newRegistry?.meta
|
|
2050
2022
|
},
|
|
2051
2023
|
extendChildRegistries: FlowNodeRegistry.mergeChildRegistries(
|
|
2052
|
-
preRegistry
|
|
2053
|
-
newRegistry
|
|
2024
|
+
preRegistry?.extendChildRegistries,
|
|
2025
|
+
newRegistry?.extendChildRegistries
|
|
2054
2026
|
)
|
|
2055
2027
|
});
|
|
2056
2028
|
});
|
|
@@ -2079,12 +2051,11 @@ var FlowDocument = class {
|
|
|
2079
2051
|
return this.getNodeRegistry(type, originParent);
|
|
2080
2052
|
}
|
|
2081
2053
|
getNodeRegistry(type, originParent) {
|
|
2082
|
-
|
|
2083
|
-
const typeKey = `${type}_${(originParent == null ? void 0 : originParent.flowNodeType) || ""}`;
|
|
2054
|
+
const typeKey = `${type}_${originParent?.flowNodeType || ""}`;
|
|
2084
2055
|
if (this.nodeRegistryCache.has(typeKey)) {
|
|
2085
2056
|
return this.nodeRegistryCache.get(typeKey);
|
|
2086
2057
|
}
|
|
2087
|
-
const customDefaultRegistry =
|
|
2058
|
+
const customDefaultRegistry = this.options.getNodeDefaultRegistry?.(type);
|
|
2088
2059
|
let register = this.registers.get(type) || { type };
|
|
2089
2060
|
const extendRegisters = [];
|
|
2090
2061
|
const extendKey = register.extend;
|
|
@@ -2096,9 +2067,9 @@ var FlowDocument = class {
|
|
|
2096
2067
|
);
|
|
2097
2068
|
}
|
|
2098
2069
|
if (originParent) {
|
|
2099
|
-
const extendRegister =
|
|
2070
|
+
const extendRegister = this.getNodeRegistry(
|
|
2100
2071
|
originParent.flowNodeType
|
|
2101
|
-
).extendChildRegistries
|
|
2072
|
+
).extendChildRegistries?.find((r) => r.type === type);
|
|
2102
2073
|
if (extendRegister) {
|
|
2103
2074
|
if (extendRegister.extend && this.registers.has(extendRegister.extend)) {
|
|
2104
2075
|
extendRegisters.push(this.registers.get(extendRegister.extend));
|
|
@@ -2108,13 +2079,13 @@ var FlowDocument = class {
|
|
|
2108
2079
|
}
|
|
2109
2080
|
register = FlowNodeRegistry.extend(register, extendRegisters);
|
|
2110
2081
|
const defaultNodeMeta = DEFAULT_FLOW_NODE_META(type, this);
|
|
2111
|
-
defaultNodeMeta.spacing =
|
|
2082
|
+
defaultNodeMeta.spacing = this.options?.constants?.[ConstantKeys.NODE_SPACING] || defaultNodeMeta.spacing;
|
|
2112
2083
|
const res = {
|
|
2113
2084
|
...customDefaultRegistry,
|
|
2114
2085
|
...register,
|
|
2115
2086
|
meta: {
|
|
2116
2087
|
...defaultNodeMeta,
|
|
2117
|
-
...customDefaultRegistry
|
|
2088
|
+
...customDefaultRegistry?.meta,
|
|
2118
2089
|
...register.meta
|
|
2119
2090
|
}
|
|
2120
2091
|
};
|
|
@@ -2249,13 +2220,12 @@ var FlowDocument = class {
|
|
|
2249
2220
|
* @param layoutKey
|
|
2250
2221
|
*/
|
|
2251
2222
|
setLayout(layoutKey) {
|
|
2252
|
-
var _a;
|
|
2253
2223
|
if (this.currentLayoutKey === layoutKey) return;
|
|
2254
2224
|
const layout = this.layouts.find((layout2) => layout2.name === layoutKey);
|
|
2255
2225
|
if (!layout) return;
|
|
2256
2226
|
this.currentLayoutKey = layoutKey;
|
|
2257
2227
|
this.transformer.clear();
|
|
2258
|
-
|
|
2228
|
+
layout.reload?.();
|
|
2259
2229
|
this.fireRender();
|
|
2260
2230
|
this.onLayoutChangeEmitter.fire(this.layout);
|
|
2261
2231
|
}
|
|
@@ -2370,12 +2340,11 @@ var FlowGroupController = class _FlowGroupController {
|
|
|
2370
2340
|
return this.groupNode.getNodeMeta().positionConfig;
|
|
2371
2341
|
}
|
|
2372
2342
|
set collapsed(collapsed) {
|
|
2373
|
-
var _a;
|
|
2374
2343
|
const groupTransformData = this.groupNode.getData(FlowNodeTransformData);
|
|
2375
2344
|
groupTransformData.collapsed = collapsed;
|
|
2376
2345
|
groupTransformData.localDirty = true;
|
|
2377
2346
|
if (groupTransformData.parent) groupTransformData.parent.localDirty = true;
|
|
2378
|
-
if (
|
|
2347
|
+
if (groupTransformData.parent?.firstChild)
|
|
2379
2348
|
groupTransformData.parent.firstChild.localDirty = true;
|
|
2380
2349
|
}
|
|
2381
2350
|
set hovered(hovered) {
|
|
@@ -2418,8 +2387,7 @@ var FlowGroupUtils;
|
|
|
2418
2387
|
return parents;
|
|
2419
2388
|
};
|
|
2420
2389
|
const isNodeInGroup = (node) => {
|
|
2421
|
-
|
|
2422
|
-
if (((_a = node == null ? void 0 : node.parent) == null ? void 0 : _a.flowNodeType) === "group" /* GROUP */) {
|
|
2390
|
+
if (node?.parent?.flowNodeType === "group" /* GROUP */) {
|
|
2423
2391
|
return true;
|
|
2424
2392
|
}
|
|
2425
2393
|
return false;
|
|
@@ -2455,7 +2423,7 @@ var FlowGroupUtils;
|
|
|
2455
2423
|
if (!isNodeInGroup(node)) {
|
|
2456
2424
|
return;
|
|
2457
2425
|
}
|
|
2458
|
-
const groupNode = node
|
|
2426
|
+
const groupNode = node?.parent;
|
|
2459
2427
|
return FlowGroupController.create(groupNode);
|
|
2460
2428
|
};
|
|
2461
2429
|
FlowGroupUtils2.getNodeRecursionGroupController = (node) => {
|
|
@@ -2497,17 +2465,15 @@ var FlowDragService = class {
|
|
|
2497
2465
|
}
|
|
2498
2466
|
// 是否在拖拽分支
|
|
2499
2467
|
get isDragBranch() {
|
|
2500
|
-
|
|
2501
|
-
return (_a = this.dragStartNode) == null ? void 0 : _a.isInlineBlock;
|
|
2468
|
+
return this.dragStartNode?.isInlineBlock;
|
|
2502
2469
|
}
|
|
2503
2470
|
// 拖拽的所有节点及其自节点
|
|
2504
2471
|
get nodeDragIdsWithChildren() {
|
|
2505
2472
|
return this.renderState.config.nodeDragIdsWithChildren || [];
|
|
2506
2473
|
}
|
|
2507
2474
|
get dragging() {
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
return !!(renderData == null ? void 0 : renderData.dragging);
|
|
2475
|
+
const renderData = this.dragStartNode?.getData(FlowNodeRenderData);
|
|
2476
|
+
return !!renderData?.dragging;
|
|
2511
2477
|
}
|
|
2512
2478
|
get labelSide() {
|
|
2513
2479
|
return this.renderState.config.dragLabelSide;
|
|
@@ -2641,7 +2607,7 @@ var FlowOperationBaseServiceImpl = class {
|
|
|
2641
2607
|
hidden
|
|
2642
2608
|
};
|
|
2643
2609
|
let added;
|
|
2644
|
-
if (parentEntity &&
|
|
2610
|
+
if (parentEntity && register?.addChild) {
|
|
2645
2611
|
added = register.addChild(parentEntity, addJSON, {
|
|
2646
2612
|
index,
|
|
2647
2613
|
hidden
|
|
@@ -2673,7 +2639,7 @@ var FlowOperationBaseServiceImpl = class {
|
|
|
2673
2639
|
moveNode(node, config = {}) {
|
|
2674
2640
|
const { parent: newParent, index } = config;
|
|
2675
2641
|
const entity = this.toNodeEntity(node);
|
|
2676
|
-
const parent = entity
|
|
2642
|
+
const parent = entity?.parent;
|
|
2677
2643
|
if (!parent) {
|
|
2678
2644
|
return;
|
|
2679
2645
|
}
|
|
@@ -2724,13 +2690,12 @@ var FlowOperationBaseServiceImpl = class {
|
|
|
2724
2690
|
* @returns 操作返回
|
|
2725
2691
|
*/
|
|
2726
2692
|
apply(operation) {
|
|
2727
|
-
var _a, _b, _c, _d, _e, _f;
|
|
2728
2693
|
const document = this.document;
|
|
2729
2694
|
switch (operation.type) {
|
|
2730
2695
|
case "addFromNode" /* addFromNode */:
|
|
2731
2696
|
return document.addFromNode(operation.value.fromId, operation.value.data);
|
|
2732
2697
|
case "deleteFromNode" /* deleteFromNode */:
|
|
2733
|
-
return
|
|
2698
|
+
return document.getNode(operation.value?.data?.id)?.dispose();
|
|
2734
2699
|
case "addBlock" /* addBlock */: {
|
|
2735
2700
|
let parent;
|
|
2736
2701
|
if (operation.value.parentId) {
|
|
@@ -2745,8 +2710,8 @@ var FlowOperationBaseServiceImpl = class {
|
|
|
2745
2710
|
);
|
|
2746
2711
|
}
|
|
2747
2712
|
case "deleteBlock" /* deleteBlock */: {
|
|
2748
|
-
const entity = document.getNode(
|
|
2749
|
-
return entity
|
|
2713
|
+
const entity = document.getNode(operation.value?.blockData.id);
|
|
2714
|
+
return entity?.dispose();
|
|
2750
2715
|
}
|
|
2751
2716
|
case "createGroup" /* createGroup */: {
|
|
2752
2717
|
const groupNode = document.addFromNode(operation.value.targetId, {
|
|
@@ -2765,7 +2730,7 @@ var FlowOperationBaseServiceImpl = class {
|
|
|
2765
2730
|
dropNodeId: operation.value.groupId,
|
|
2766
2731
|
sortNodeIds: operation.value.nodeIds
|
|
2767
2732
|
});
|
|
2768
|
-
return
|
|
2733
|
+
return document.getNode(operation.value.groupId)?.dispose();
|
|
2769
2734
|
}
|
|
2770
2735
|
case "moveNodes" /* moveNodes */: {
|
|
2771
2736
|
return document.moveNodes({
|
|
@@ -2790,7 +2755,7 @@ var FlowOperationBaseServiceImpl = class {
|
|
|
2790
2755
|
case "deleteNodes" /* deleteNodes */: {
|
|
2791
2756
|
(operation.value.nodes || []).forEach((node) => {
|
|
2792
2757
|
const entity = document.getNode(node.id);
|
|
2793
|
-
entity
|
|
2758
|
+
entity?.dispose();
|
|
2794
2759
|
});
|
|
2795
2760
|
break;
|
|
2796
2761
|
}
|
|
@@ -2804,7 +2769,7 @@ var FlowOperationBaseServiceImpl = class {
|
|
|
2804
2769
|
});
|
|
2805
2770
|
}
|
|
2806
2771
|
case "deleteChildNode" /* deleteChildNode */:
|
|
2807
|
-
return
|
|
2772
|
+
return document.getNode(operation.value.data.id)?.dispose();
|
|
2808
2773
|
case "moveChildNodes" /* moveChildNodes */:
|
|
2809
2774
|
return document.moveChildNodes(operation.value);
|
|
2810
2775
|
default:
|
|
@@ -2829,7 +2794,7 @@ var FlowOperationBaseServiceImpl = class {
|
|
|
2829
2794
|
}
|
|
2830
2795
|
getNodeIndex(node) {
|
|
2831
2796
|
const entity = this.toNodeEntity(node);
|
|
2832
|
-
const parent = entity
|
|
2797
|
+
const parent = entity?.parent;
|
|
2833
2798
|
if (!parent) {
|
|
2834
2799
|
return -1;
|
|
2835
2800
|
}
|
|
@@ -2989,7 +2954,6 @@ var VerticalFixedLayout = class {
|
|
|
2989
2954
|
* @param forceChange
|
|
2990
2955
|
*/
|
|
2991
2956
|
updateLocalTransform(node, forceChange = false) {
|
|
2992
|
-
var _a, _b, _c, _d;
|
|
2993
2957
|
const { children, parent, isInlineBlock } = node;
|
|
2994
2958
|
const transform = node.getData(FlowNodeTransformData);
|
|
2995
2959
|
const { getDelta, getOrigin } = node.getNodeRegistry();
|
|
@@ -3023,9 +2987,9 @@ var VerticalFixedLayout = class {
|
|
|
3023
2987
|
origin: getOrigin ? getOrigin(transform, this) : this.getDefaultNodeOrigin()
|
|
3024
2988
|
});
|
|
3025
2989
|
const preTransform = transform.pre;
|
|
3026
|
-
const delta =
|
|
3027
|
-
const inlineSpacingPre = isInlineBlock &&
|
|
3028
|
-
const fromParentDelta =
|
|
2990
|
+
const delta = getDelta?.(transform, this) || { x: 0, y: 0 };
|
|
2991
|
+
const inlineSpacingPre = isInlineBlock && transform.parent?.inlineSpacingPre ? transform.parent?.inlineSpacingPre : 0;
|
|
2992
|
+
const fromParentDelta = parent?.getNodeRegistry().getChildDelta?.(transform, this) || {
|
|
3029
2993
|
x: 0,
|
|
3030
2994
|
y: 0
|
|
3031
2995
|
};
|
|
@@ -3035,8 +2999,8 @@ var VerticalFixedLayout = class {
|
|
|
3035
2999
|
if (isInlineBlock) {
|
|
3036
3000
|
position.y += inlineSpacingPre;
|
|
3037
3001
|
} else {
|
|
3038
|
-
position.y +=
|
|
3039
|
-
position.y +=
|
|
3002
|
+
position.y += preTransform?.localBounds.bottom || 0;
|
|
3003
|
+
position.y += preTransform?.spacing || 0;
|
|
3040
3004
|
}
|
|
3041
3005
|
transform.transform.update({
|
|
3042
3006
|
size: transform.data.size,
|
|
@@ -3047,12 +3011,10 @@ var VerticalFixedLayout = class {
|
|
|
3047
3011
|
return true;
|
|
3048
3012
|
}
|
|
3049
3013
|
onAfterUpdateLocalTransform(transform) {
|
|
3050
|
-
var _a;
|
|
3051
3014
|
const { onAfterUpdateLocalTransform } = transform.entity.getNodeRegistry();
|
|
3052
|
-
onAfterUpdateLocalTransform
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
(_a2 = _contrib == null ? void 0 : _contrib.onAfterUpdateLocalTransform) == null ? void 0 : _a2.call(_contrib, transform, this);
|
|
3015
|
+
onAfterUpdateLocalTransform?.(transform, this);
|
|
3016
|
+
this.contribs?.forEach((_contrib) => {
|
|
3017
|
+
_contrib?.onAfterUpdateLocalTransform?.(transform, this);
|
|
3056
3018
|
});
|
|
3057
3019
|
}
|
|
3058
3020
|
getNodeTransform(node) {
|
|
@@ -3129,7 +3091,6 @@ var HorizontalFixedLayout = class {
|
|
|
3129
3091
|
* @param forceChange
|
|
3130
3092
|
*/
|
|
3131
3093
|
updateLocalTransform(node, forceChange = false) {
|
|
3132
|
-
var _a, _b, _c, _d;
|
|
3133
3094
|
const { children, parent, isInlineBlock } = node;
|
|
3134
3095
|
const transform = node.getData(FlowNodeTransformData);
|
|
3135
3096
|
const { getDelta, getOrigin } = node.getNodeRegistry();
|
|
@@ -3163,9 +3124,9 @@ var HorizontalFixedLayout = class {
|
|
|
3163
3124
|
origin: getOrigin ? getOrigin(transform, this) : this.getDefaultNodeOrigin()
|
|
3164
3125
|
});
|
|
3165
3126
|
const preTransform = transform.pre;
|
|
3166
|
-
const delta =
|
|
3167
|
-
const inlineSpacingPre = isInlineBlock &&
|
|
3168
|
-
const fromParentDelta =
|
|
3127
|
+
const delta = getDelta?.(transform, this) || { x: 0, y: 0 };
|
|
3128
|
+
const inlineSpacingPre = isInlineBlock && transform.parent?.inlineSpacingPre ? transform.parent?.inlineSpacingPre : 0;
|
|
3129
|
+
const fromParentDelta = parent?.getNodeRegistry().getChildDelta?.(transform, this) || {
|
|
3169
3130
|
x: 0,
|
|
3170
3131
|
y: 0
|
|
3171
3132
|
};
|
|
@@ -3175,8 +3136,8 @@ var HorizontalFixedLayout = class {
|
|
|
3175
3136
|
if (isInlineBlock) {
|
|
3176
3137
|
position.x += inlineSpacingPre;
|
|
3177
3138
|
} else {
|
|
3178
|
-
position.x +=
|
|
3179
|
-
position.x +=
|
|
3139
|
+
position.x += preTransform?.localBounds.right || 0;
|
|
3140
|
+
position.x += preTransform?.spacing || 0;
|
|
3180
3141
|
}
|
|
3181
3142
|
transform.transform.update({
|
|
3182
3143
|
size: transform.data.size,
|
|
@@ -3187,12 +3148,10 @@ var HorizontalFixedLayout = class {
|
|
|
3187
3148
|
return true;
|
|
3188
3149
|
}
|
|
3189
3150
|
onAfterUpdateLocalTransform(transform) {
|
|
3190
|
-
var _a;
|
|
3191
3151
|
const { onAfterUpdateLocalTransform } = transform.entity.getNodeRegistry();
|
|
3192
|
-
onAfterUpdateLocalTransform
|
|
3193
|
-
|
|
3194
|
-
|
|
3195
|
-
(_a2 = _contrib == null ? void 0 : _contrib.onAfterUpdateLocalTransform) == null ? void 0 : _a2.call(_contrib, transform, this);
|
|
3152
|
+
onAfterUpdateLocalTransform?.(transform, this);
|
|
3153
|
+
this.contribs?.forEach((_contrib) => {
|
|
3154
|
+
_contrib?.onAfterUpdateLocalTransform?.(transform, this);
|
|
3196
3155
|
});
|
|
3197
3156
|
}
|
|
3198
3157
|
getNodeTransform(node) {
|
|
@@ -3260,9 +3219,8 @@ var FlowDocumentContainerModule = new import_inversify8.ContainerModule((bind) =
|
|
|
3260
3219
|
|
|
3261
3220
|
// src/utils/get-default-spacing.ts
|
|
3262
3221
|
var getDefaultSpacing = (node, key, defaultSpacing) => {
|
|
3263
|
-
var _a;
|
|
3264
3222
|
const flowDocumentOptions = node.getService(FlowDocumentOptions);
|
|
3265
|
-
const spacing =
|
|
3223
|
+
const spacing = flowDocumentOptions?.constants?.[key] || defaultSpacing || DEFAULT_SPACING[key];
|
|
3266
3224
|
return spacing;
|
|
3267
3225
|
};
|
|
3268
3226
|
// Annotate the CommonJS export names for ESM import in node:
|