fix: 同步 vision-polyfill 中对 resize 方向的控制逻辑

feat: 不再发布 editor-preset-general 的 npm 版本和 editor-preset-vision 的 cdn 版本
This commit is contained in:
力皓 2021-01-26 10:05:59 +08:00
parent 7b89ee27a0
commit 2aa596883d
5 changed files with 39 additions and 20 deletions

View File

@ -1,13 +1,6 @@
{ {
"plugins": [ "plugins": [
[ "build-plugin-component",
"build-plugin-component",
{
"filename": "core",
"library": "LCECore",
"libraryTarget": "umd"
}
],
"build-plugin-fusion", "build-plugin-fusion",
"./build.plugin.js" "./build.plugin.js"
] ]

View File

@ -3,6 +3,7 @@
"version": "1.0.32-beta.0", "version": "1.0.32-beta.0",
"description": "Ali General Editor Preset", "description": "Ali General Editor Preset",
"main": "lib/index.js", "main": "lib/index.js",
"private": true,
"files": [ "files": [
"dist", "dist",
"es", "es",

View File

@ -160,7 +160,6 @@ export interface OldPrototypeConfig {
canDraging?: boolean; // => onDrag canDraging?: boolean; // => onDrag
canDragging?: boolean; // => ? canDragging?: boolean; // => ?
canHovering?: ((dragment: Node) => boolean) | boolean; canHovering?: ((dragment: Node) => boolean) | boolean;
canSelecting?: boolean; // => onClickHook canSelecting?: boolean; // => onClickHook
canOperating?: boolean; // => disabledActions canOperating?: boolean; // => disabledActions
canUseCondition?: boolean; canUseCondition?: boolean;
@ -771,7 +770,7 @@ export function upgradeMetadata(oldConfig: OldPrototypeConfig) {
if (canResizing === true) { if (canResizing === true) {
return availableDirects; return availableDirects;
} }
return availableDirects.filter((d) => (canResizing as any)(currentNode, d)); return availableDirects.filter((d) => (canResizing as ResizeHandler)(currentNode, d));
}; };
} }

View File

@ -99,11 +99,25 @@ 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
/** /**
* category display in the component pane * category display in the component pane·
* component will be hidden while the value is: null * component will be hidden while the value is: null
*/ */
category: string; // => tags category: string; // => tags
@ -138,6 +152,7 @@ export interface OldPrototypeConfig {
isContainer?: boolean; // => configure.component.isContainer isContainer?: boolean; // => configure.component.isContainer
isAbsoluteLayoutContainer?: boolean; // => meta.experimental.isAbsoluteLayoutContainer 是否是绝对定位容器 isAbsoluteLayoutContainer?: boolean; // => meta.experimental.isAbsoluteLayoutContainer 是否是绝对定位容器
hideSelectTools?: boolean; // => meta.experimental.hideSelectTools
isModal?: boolean; // => configure.component.isModal isModal?: boolean; // => configure.component.isModal
isFloating?: boolean; // => configure.component.isFloating isFloating?: boolean; // => configure.component.isFloating
descriptor?: string; // => configure.component.descriptor descriptor?: string; // => configure.component.descriptor
@ -145,7 +160,7 @@ export interface OldPrototypeConfig {
// alias to canDragging // alias to canDragging
canDraging?: boolean; // => onDrag canDraging?: boolean; // => onDrag
canDragging?: boolean; // => ? canDragging?: boolean; // => ?
canHovering?: ((dragment: Node) => boolean) | boolean;
canSelecting?: boolean; // => onClickHook canSelecting?: boolean; // => onClickHook
canOperating?: boolean; // => disabledActions canOperating?: boolean; // => disabledActions
canUseCondition?: boolean; canUseCondition?: boolean;
@ -168,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;
@ -597,6 +612,7 @@ export function upgradeMetadata(oldConfig: OldPrototypeConfig) {
transducers, transducers,
isContainer, isContainer,
isAbsoluteLayoutContainer, isAbsoluteLayoutContainer,
hideSelectTools,
rectSelector, rectSelector,
isModal, isModal,
isFloating, isFloating,
@ -615,12 +631,12 @@ export function upgradeMetadata(oldConfig: OldPrototypeConfig) {
canDraging, canDraging,
canDragging, // handleDragging canDragging, // handleDragging
canSelecting, // onClickHook canSelecting, // onClickHook
canHovering,
// events // events
didDropOut, // onNodeRemove didDropOut, // onNodeRemove
didDropIn, // onNodeAdd didDropIn, // onNodeAdd
subtreeModified, // onSubtreeModified subtreeModified, // onSubtreeModified
canResizing, // resizing
onResizeStart, // onResizeStart onResizeStart, // onResizeStart
onResize, // onResize onResize, // onResize
onResizeEnd, // onResizeEnd onResizeEnd, // onResizeEnd
@ -628,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,
@ -687,6 +706,7 @@ export function upgradeMetadata(oldConfig: OldPrototypeConfig) {
// 未考虑清楚的,放在实验性段落 // 未考虑清楚的,放在实验性段落
const experimental: any = { const experimental: any = {
isAbsoluteLayoutContainer, isAbsoluteLayoutContainer,
hideSelectTools,
}; };
if (context) { if (context) {
// for prototype.getContextInfo // for prototype.getContextInfo
@ -742,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', 'w', 's', 'e'];
if (canResizing === true) { if (canResizing === true) {
return directs; return availableDirects;
} }
return directs.filter((d) => canResizing(currentNode, d)); return availableDirects.filter((d) => (canResizing as ResizeHandler)(currentNode, d));
}; };
} }
@ -767,6 +790,9 @@ export function upgradeMetadata(oldConfig: OldPrototypeConfig) {
} }
callbacks.onClickHook = () => v; callbacks.onClickHook = () => v;
} }
if (canHovering != null) {
callbacks.onHoverHook = typeof canHovering === 'boolean' ? () => canHovering : canHovering;
}
if (didDropIn) { if (didDropIn) {
callbacks.onNodeAdd = didDropIn; callbacks.onNodeAdd = didDropIn;
} }

View File

@ -24,7 +24,7 @@ mkdir packages
# cp -r $WORK_DIR/packages/demo packages/demo # cp -r $WORK_DIR/packages/demo packages/demo
cp -r $WORK_DIR/packages/react-simulator-renderer packages/react-simulator-renderer cp -r $WORK_DIR/packages/react-simulator-renderer packages/react-simulator-renderer
cp -r $WORK_DIR/packages/rax-simulator-renderer packages/rax-simulator-renderer cp -r $WORK_DIR/packages/rax-simulator-renderer packages/rax-simulator-renderer
cp -r $WORK_DIR/packages/editor-preset-vision packages/editor-preset-vision #cp -r $WORK_DIR/packages/editor-preset-vision packages/editor-preset-vision
cp -r $WORK_DIR/packages/engine packages/engine cp -r $WORK_DIR/packages/engine packages/engine
cp -r $WORK_DIR/packages/vision-polyfill packages/vision-polyfill cp -r $WORK_DIR/packages/vision-polyfill packages/vision-polyfill
# cp -r $WORK_DIR/packages/editor-preset-general packages/editor-preset-general # cp -r $WORK_DIR/packages/editor-preset-general packages/editor-preset-general
@ -35,7 +35,7 @@ cd $WORK_DIR
# mv deploy-space/packages/demo/build $BUILD_DEST # mv deploy-space/packages/demo/build $BUILD_DEST
mv deploy-space/packages/react-simulator-renderer/dist $BUILD_DEST mv deploy-space/packages/react-simulator-renderer/dist $BUILD_DEST
mv deploy-space/packages/rax-simulator-renderer/dist/* $BUILD_DEST mv deploy-space/packages/rax-simulator-renderer/dist/* $BUILD_DEST
mv deploy-space/packages/editor-preset-vision/dist/* $BUILD_DEST #mv deploy-space/packages/editor-preset-vision/dist/* $BUILD_DEST
mv deploy-space/packages/engine/dist/* $BUILD_DEST mv deploy-space/packages/engine/dist/* $BUILD_DEST
mv deploy-space/packages/vision-polyfill/dist/* $BUILD_DEST mv deploy-space/packages/vision-polyfill/dist/* $BUILD_DEST
# mv deploy-space/packages/editor-preset-general/dist/* $BUILD_DEST # mv deploy-space/packages/editor-preset-general/dist/* $BUILD_DEST