mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2026-01-13 01:21:58 +00:00
fix: 考虑兼容原来只处理4向的场景
This commit is contained in:
parent
95a8356803
commit
e3fc9b4cea
@ -98,6 +98,20 @@ export interface OldPropConfig {
|
||||
liveTextEditing?: any;
|
||||
}
|
||||
|
||||
type ResizeHandler = (dragment: any, triggerDirection: string) => boolean;
|
||||
type ResizeCompositeHandler = { handle: ResizeHandler, availableDirects: string[] | undefined };
|
||||
type CanResize =
|
||||
| boolean
|
||||
| ResizeHandler
|
||||
| ResizeCompositeHandler;
|
||||
|
||||
function isResizeCompositeHandler(resize: CanResize): resize is ResizeCompositeHandler {
|
||||
if ((resize as any).handle) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// from vision 5.4
|
||||
export interface OldPrototypeConfig {
|
||||
packageName: string; // => npm.package
|
||||
@ -169,7 +183,7 @@ export interface OldPrototypeConfig {
|
||||
subtreeModified?(this: Node): any; // => ? hooks
|
||||
|
||||
// => ?
|
||||
canResizing?: ((dragment: any, triggerDirection: string) => boolean) | boolean;
|
||||
canResizing?: CanResize;
|
||||
onResizeStart?: (e: MouseEvent, triggerDirection: string, dragment: Node) => void;
|
||||
onResize?: (e: MouseEvent, triggerDirection: string, dragment: Node, moveX: number, moveY: number) => void;
|
||||
onResizeEnd?: (e: MouseEvent, triggerDirection: string, dragment: Node) => void;
|
||||
@ -623,7 +637,6 @@ export function upgradeMetadata(oldConfig: OldPrototypeConfig) {
|
||||
didDropIn, // onNodeAdd
|
||||
subtreeModified, // onSubtreeModified
|
||||
|
||||
canResizing, // resizing
|
||||
onResizeStart, // onResizeStart
|
||||
onResize, // onResize
|
||||
onResizeEnd, // onResizeEnd
|
||||
@ -631,6 +644,9 @@ export function upgradeMetadata(oldConfig: OldPrototypeConfig) {
|
||||
schema,
|
||||
isTopFixed,
|
||||
} = oldConfig;
|
||||
let {
|
||||
canResizing, // resizing
|
||||
} = oldConfig;
|
||||
|
||||
const meta: any = {
|
||||
componentName,
|
||||
@ -746,13 +762,16 @@ export function upgradeMetadata(oldConfig: OldPrototypeConfig) {
|
||||
experimental.transducers = transducers;
|
||||
}
|
||||
if (canResizing) {
|
||||
// TODO: enhance
|
||||
let availableDirects = ['n', 'e', 's', 'w'];
|
||||
if (isResizeCompositeHandler(canResizing)) {
|
||||
availableDirects = canResizing.availableDirects || availableDirects;
|
||||
canResizing = canResizing.handle;
|
||||
}
|
||||
experimental.getResizingHandlers = (currentNode: any) => {
|
||||
const directs = ['n', 'e', 's', 'w', 'ne', 'nw', 'se', 'sw'];
|
||||
if (canResizing === true) {
|
||||
return directs;
|
||||
return availableDirects;
|
||||
}
|
||||
return directs.filter((d) => canResizing(currentNode, d));
|
||||
return availableDirects.filter((d) => (canResizing as any)(currentNode, d));
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user