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