mirror of
https://gitee.com/ByteDance/flowgram.ai.git
synced 2025-07-07 17:43:29 +08:00
* chore: add license-header * chore: add precommit * chore: add license header * fix: only js & shell style
25 lines
618 B
TypeScript
25 lines
618 B
TypeScript
/**
|
|
* Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
|
|
* SPDX-License-Identifier: MIT
|
|
*/
|
|
|
|
import { FlowDocument, FlowNodeEntity } from '@flowgram.ai/editor';
|
|
|
|
export function getNodeChildrenIds(node: FlowNodeEntity | undefined, isBranch: boolean = false) {
|
|
if (!node) {
|
|
return [];
|
|
}
|
|
|
|
if (isBranch) {
|
|
return getNodeChildrenIds(
|
|
node.collapsedChildren.find(c => c.id === `$inlineBlocks$${node.id}`),
|
|
);
|
|
}
|
|
|
|
return node?.collapsedChildren.map(c => c.id);
|
|
}
|
|
|
|
export function getRootChildrenIds(flowDocument: FlowDocument) {
|
|
return getNodeChildrenIds(flowDocument.getNode('root'));
|
|
}
|