@flowgram.ai/document 0.2.2 → 0.2.3
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 +40 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.mts +12 -1
- package/dist/index.d.ts +12 -1
- package/dist/index.js +40 -4
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
package/dist/esm/index.js
CHANGED
|
@@ -176,13 +176,37 @@ var DEFAULT_FLOW_NODE_META = (nodeType, document) => {
|
|
|
176
176
|
};
|
|
177
177
|
var FlowNodeRegistry;
|
|
178
178
|
((FlowNodeRegistry4) => {
|
|
179
|
+
function mergeChildRegistries(r1 = [], r2 = []) {
|
|
180
|
+
if (r1.length === 0 || r2.length === 0) {
|
|
181
|
+
return [...r1, ...r2];
|
|
182
|
+
}
|
|
183
|
+
const r1Filter = r1.map((r1Current) => {
|
|
184
|
+
const r2Current = r2.find((n) => n.type === r1Current.type);
|
|
185
|
+
if (r2Current) {
|
|
186
|
+
return merge(r1Current, r2Current, r1Current.type);
|
|
187
|
+
}
|
|
188
|
+
return r1Current;
|
|
189
|
+
});
|
|
190
|
+
const r2Filter = r2.filter((n) => !r1.some((r) => r.type === n.type));
|
|
191
|
+
return [...r1Filter, ...r2Filter];
|
|
192
|
+
}
|
|
193
|
+
FlowNodeRegistry4.mergeChildRegistries = mergeChildRegistries;
|
|
179
194
|
function merge(registry1, registry2, finalType) {
|
|
195
|
+
const extendKeys = registry1.__extends__ ? registry1.__extends__.slice() : [];
|
|
196
|
+
if (registry1.type !== registry2.type) {
|
|
197
|
+
extendKeys.unshift(registry1.type);
|
|
198
|
+
}
|
|
180
199
|
return {
|
|
181
200
|
...registry1,
|
|
182
201
|
...registry2,
|
|
202
|
+
extendChildRegistries: mergeChildRegistries(
|
|
203
|
+
registry1.extendChildRegistries,
|
|
204
|
+
registry2.extendChildRegistries
|
|
205
|
+
),
|
|
183
206
|
meta: { ...registry1.meta, ...registry2.meta },
|
|
184
207
|
extend: void 0,
|
|
185
|
-
type: finalType
|
|
208
|
+
type: finalType,
|
|
209
|
+
__extends__: extendKeys
|
|
186
210
|
};
|
|
187
211
|
}
|
|
188
212
|
FlowNodeRegistry4.merge = merge;
|
|
@@ -1768,7 +1792,7 @@ var FlowDocument = class {
|
|
|
1768
1792
|
* @param data
|
|
1769
1793
|
* @param addedNodes
|
|
1770
1794
|
*/
|
|
1771
|
-
addNode(data, addedNodes, ignoreCreateAndUpdateEvent) {
|
|
1795
|
+
addNode(data, addedNodes, ignoreCreateAndUpdateEvent, ignoreBlocks) {
|
|
1772
1796
|
const { id, type = "block", originParent, parent, meta, hidden, index } = data;
|
|
1773
1797
|
let node = this.getNode(id);
|
|
1774
1798
|
let isNew = false;
|
|
@@ -1810,7 +1834,7 @@ var FlowDocument = class {
|
|
|
1810
1834
|
if (extendNodes && addedNodes) {
|
|
1811
1835
|
addedNodes.push(...extendNodes);
|
|
1812
1836
|
}
|
|
1813
|
-
} else if (data.blocks && data.blocks.length > 0) {
|
|
1837
|
+
} else if (data.blocks && data.blocks.length > 0 && !ignoreBlocks) {
|
|
1814
1838
|
if (!data.blocks[0].type) {
|
|
1815
1839
|
this.addInlineBlocks(node, data.blocks, addedNodes);
|
|
1816
1840
|
} else {
|
|
@@ -1936,10 +1960,22 @@ var FlowDocument = class {
|
|
|
1936
1960
|
meta: {
|
|
1937
1961
|
...preRegistry?.meta,
|
|
1938
1962
|
...newRegistry?.meta
|
|
1939
|
-
}
|
|
1963
|
+
},
|
|
1964
|
+
extendChildRegistries: FlowNodeRegistry.mergeChildRegistries(
|
|
1965
|
+
preRegistry?.extendChildRegistries,
|
|
1966
|
+
newRegistry?.extendChildRegistries
|
|
1967
|
+
)
|
|
1940
1968
|
});
|
|
1941
1969
|
});
|
|
1942
1970
|
}
|
|
1971
|
+
/**
|
|
1972
|
+
* Check node extend
|
|
1973
|
+
* @param currentType
|
|
1974
|
+
* @param parentType
|
|
1975
|
+
*/
|
|
1976
|
+
isExtend(currentType, parentType) {
|
|
1977
|
+
return (this.getNodeRegistry(currentType).__extends__ || []).includes(parentType);
|
|
1978
|
+
}
|
|
1943
1979
|
/**
|
|
1944
1980
|
* 导出数据,可以重载
|
|
1945
1981
|
*/
|