@nocobase/flow-engine
Version:
A standalone flow engine for NocoBase, managing workflows, models, and actions.
34 lines (33 loc) • 1.26 kB
TypeScript
/**
* This file is part of the NocoBase (R) project.
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
* Authors: NocoBase Team.
*
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
* For more information, please refer to: https://www.nocobase.com/agreement.
*/
import { ElementPosition } from './getMousePositionOnElement';
type MoveDirection = 'insert-row-above' | 'insert-row-below' | 'insert-same-column-above' | 'insert-same-column-below' | 'insert-column-left' | 'insert-column-right';
interface GridLayoutData {
rows: Record<string, string[][]>;
sizes: Record<string, number[]>;
}
export declare const findModelUidPosition: (uid: string, rows: Record<string, string[][]>) => {
rowId: string;
columnIndex: number;
itemIndex: number;
};
export declare const moveBlock: ({ sourceUid, targetUid, direction, layoutData, }: {
sourceUid: string;
targetUid: string;
direction: MoveDirection;
layoutData: GridLayoutData;
}) => GridLayoutData;
/**
* 将鼠标在元素上的位置转换为区块移动方向
*
* @param position 鼠标在元素上的位置
* @returns 对应的移动方向
*/
export declare const positionToDirection: (position: ElementPosition) => MoveDirection;
export {};