@blueking/flow-canvas 0.0.13 → 0.0.14

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/index.d.ts CHANGED
@@ -17,6 +17,7 @@ interface FlowNodeModel {
17
17
  y: number;
18
18
  };
19
19
  label?: string;
20
+ category?: string;
20
21
  ports?: FlowPortModel[];
21
22
  payload?: Record<string, unknown>;
22
23
  extensions?: Record<string, unknown>;
@@ -381,6 +382,28 @@ interface InsertNodeOptions {
381
382
  direction?: InsertDirection;
382
383
  }
383
384
  type ZoomToFitOptions = Parameters<Graph['zoomToFit']>[0];
385
+ interface ScrollToNodeOptions {
386
+ /** 居中后额外应用的画布视口偏移量,单位为屏幕像素;y 为负值时节点显示在中心偏上。 */
387
+ offset?: {
388
+ x?: number;
389
+ y?: number;
390
+ };
391
+ }
392
+ interface FocusNodeOptions {
393
+ /** 居中后额外应用的画布视口偏移量,单位为屏幕像素;y 为负值时节点显示在中心偏上。 */
394
+ offset?: {
395
+ x?: number;
396
+ y?: number;
397
+ };
398
+ /** 是否高亮目标节点,默认 true。 */
399
+ highlight?: boolean;
400
+ /** 需要一并高亮的边 id 列表。 */
401
+ edgeIds?: string[];
402
+ /** 高亮自动清除的延时(毫秒);不传或为 0 时高亮保持,直到下次 focus 或手动清除。 */
403
+ autoClearMs?: number;
404
+ /** 是否同时选中目标节点,默认 false。 */
405
+ select?: boolean;
406
+ }
384
407
  interface CanvasApi {
385
408
  zoomIn(): void;
386
409
  zoomOut(): void;
@@ -389,7 +412,12 @@ interface CanvasApi {
389
412
  getZoom(): number;
390
413
  centerContent(): void;
391
414
  scrollToOrigin(): void;
392
- scrollToNode(nodeId: string): void;
415
+ scrollToNode(nodeId: string, options?: ScrollToNodeOptions): void;
416
+ /**
417
+ * 将指定节点置于画布中心并高亮。是 scrollToNode + highlightNodes 等原子能力的组合封装。
418
+ * 节点不存在时返回 false,存在并成功定位时返回 true。
419
+ */
420
+ focusNode(nodeId: string, options?: FocusNodeOptions): boolean;
393
421
  getSelection(): CanvasSelection;
394
422
  getSelectionBounds(selection?: CanvasSelection): DOMRect | null;
395
423
  selectNodes(ids: string[]): void;
@@ -914,10 +942,21 @@ interface SearchNodeMeta {
914
942
  subtitle?: string;
915
943
  keywords?: string[];
916
944
  }
945
+ /**
946
+ * 声明式搜索字段路径,按节点对象逐层取值。
947
+ * 例如 ['payload', 'stageName'] 会读取 node.payload.stageName。
948
+ * 仅接收 string/number/boolean 或 string 数组作为关键词,复杂对象会被忽略。
949
+ */
950
+ type SearchKeywordPath = readonly (string | number)[];
917
951
  interface SearchPluginOptions {
918
952
  placeholder?: string;
919
953
  maxResults?: number;
920
954
  getNodeMeta?: (node: FlowNodeModel) => SearchNodeMeta | null | undefined;
955
+ /**
956
+ * 声明式搜索字段路径列表。每条路径从节点对象根部逐层取值,命中的标量会并入搜索关键词,
957
+ * 无需通过 getNodeMeta 编写取值逻辑。与 getNodeMeta 同时存在时关键词合并去重。
958
+ */
959
+ keywordPaths?: SearchKeywordPath[];
921
960
  }
922
961
  declare function searchPlugin(options?: SearchPluginOptions): CanvasPlugin;
923
962
 
@@ -939,4 +978,4 @@ declare function minimapPlugin(options?: MinimapPluginOptions): CanvasPlugin;
939
978
  declare function clipboardPlugin(): CanvasPlugin;
940
979
 
941
980
  export { CanvasConstraintError, _default$5 as CanvasLayout, _default$3 as CanvasNodePalette, _default$6 as CanvasRuntime, CanvasSchemaError, _default$4 as CanvasToolbar, _default$2 as DefaultNode, _default$1 as NodeActionsToolbar, _default as NodeQuickAddPopover, applyCanvasCommand, clipboardPlugin, connectionValidatorPlugin, createBuiltinEdgeTypes, createCanvasHistory, createDefaultSchema, createDefaultToolbarItems, createEmptyFlowModel, generateId, minimapPlugin, searchPlugin, selectionPlugin, snaplinePlugin, useCanvasEditor };
942
- export type { BuiltinEdgeType, BuiltinToolbarType, CanvasApi, CanvasCallbackContext, CanvasCommand, CanvasEdgeDefinition, CanvasEditorContext, CanvasEditorOptions, CanvasHistory, CanvasHistoryOptions, CanvasMode, CanvasNodeDefinition, CanvasPlugin, CanvasPosition, CanvasSchema, CanvasSelection, CanvasToolbarItem, CanvasUiEvent, CommandEnvelope, CommandExecutionError, CommandExecutionResult, CommandPreview, CommandRejection, CommandSource, ConnectionValidateContext, ConnectionValidateResult, ConnectionValidator, ContextMenuItem, CoreToolbarType, DefaultNodeTypeConfig, DefaultSchemaOptions, DefaultSchemaResult, DefaultToolbarItemsOptions, DeleteSelectionOptions, EdgeDecoration, EdgeDropConfig, EdgeRenderState, EdgeStyle, EditorPluginContext, ExportOptions, FlowEdgeLabelModel, FlowEdgeModel, FlowModel, FlowModelChangeEvent, FlowNodeModel, FlowPortModel, GraphWithSelection, IdGenerator, InsertDirection, InsertNodeOptions, MinimapPluginOptions, NodeActionsConfig, NodeBehaviorConfig, NodeDecoration, NodePaletteItem, OverlayManager, PluginManagedToolbarType, QuickAddConfig, QuickAddInsertDirectionResolver, QuickAddPortResolver, RuntimePluginContext, ScreenPosition, SearchNodeMeta, SearchPluginOptions, SelectionPluginOptions, SnaplinePluginOptions, ZoomToFitOptions };
981
+ export type { BuiltinEdgeType, BuiltinToolbarType, CanvasApi, CanvasCallbackContext, CanvasCommand, CanvasEdgeDefinition, CanvasEditorContext, CanvasEditorOptions, CanvasHistory, CanvasHistoryOptions, CanvasMode, CanvasNodeDefinition, CanvasPlugin, CanvasPosition, CanvasSchema, CanvasSelection, CanvasToolbarItem, CanvasUiEvent, CommandEnvelope, CommandExecutionError, CommandExecutionResult, CommandPreview, CommandRejection, CommandSource, ConnectionValidateContext, ConnectionValidateResult, ConnectionValidator, ContextMenuItem, CoreToolbarType, DefaultNodeTypeConfig, DefaultSchemaOptions, DefaultSchemaResult, DefaultToolbarItemsOptions, DeleteSelectionOptions, EdgeDecoration, EdgeDropConfig, EdgeRenderState, EdgeStyle, EditorPluginContext, ExportOptions, FlowEdgeLabelModel, FlowEdgeModel, FlowModel, FlowModelChangeEvent, FlowNodeModel, FlowPortModel, FocusNodeOptions, GraphWithSelection, IdGenerator, InsertDirection, InsertNodeOptions, MinimapPluginOptions, NodeActionsConfig, NodeBehaviorConfig, NodeDecoration, NodePaletteItem, OverlayManager, PluginManagedToolbarType, QuickAddConfig, QuickAddInsertDirectionResolver, QuickAddPortResolver, RuntimePluginContext, ScreenPosition, ScrollToNodeOptions, SearchKeywordPath, SearchNodeMeta, SearchPluginOptions, SelectionPluginOptions, SnaplinePluginOptions, ZoomToFitOptions };