Skip to content

Commit 4f7a0b9

Browse files
liujupingJackLian
authored andcommitted
fix: change autorun params to IPublicModelSettingField
1 parent aafd57c commit 4f7a0b9

File tree

6 files changed

+21
-12
lines changed

6 files changed

+21
-12
lines changed

packages/designer/jest.config.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ const jestConfig = {
1717
// testMatch: ['(/tests?/.*(test))\\.[jt]s$'],
1818
// testMatch: ['**/document/node/node.add.test.ts'],
1919
// testMatch: ['**/setting-field.test.ts'],
20+
// testMatch: ['**/node.test.ts'],
21+
// testMatch: ['**/builtin-hotkey.test.ts'],
2022
transformIgnorePatterns: [
2123
`/node_modules/(?!${esModules})/`,
2224
],

packages/designer/src/designer/setting/utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import { isValidElement } from 'react';
33
import { IPublicTypeFieldConfig, IPublicTypeSetterConfig } from '@alilc/lowcode-types';
44
import { isSetterConfig, isDynamicSetter } from '@alilc/lowcode-utils';
5-
import { SettingField } from './setting-field';
5+
import { ISettingField } from './setting-field';
66

77
function getHotterFromSetter(setter) {
88
return setter && (setter.Hotter || (setter.type && setter.type.Hotter)) || []; // eslint-disable-line
@@ -35,7 +35,7 @@ export class Transducer {
3535

3636
context: any;
3737

38-
constructor(context: SettingField, config: { setter: IPublicTypeFieldConfig['setter'] }) {
38+
constructor(context: ISettingField, config: { setter: IPublicTypeFieldConfig['setter'] }) {
3939
let { setter } = config;
4040

4141
// 1. validElement

packages/designer/src/document/node/node.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import type { IExclusiveGroup } from './exclusive-group';
3030
import { includeSlot, removeSlot } from '../../utils/slot';
3131
import { foreachReverse } from '../../utils/tree';
3232
import { NodeRemoveOptions, EDITOR_EVENT } from '../../types';
33-
import { Prop as ShellProp } from '@alilc/lowcode-shell';
3433

3534
export interface NodeStatus {
3635
locking: boolean;
@@ -432,7 +431,7 @@ export class Node<Schema extends IPublicTypeNodeSchema = IPublicTypeNodeSchema>
432431
}
433432
this.autoruns = autoruns.map((item) => {
434433
return autorun(() => {
435-
item.autorun(ShellProp.create(this.props.get(item.name, true))!);
434+
item.autorun(this.props.getNode().settingEntry.get(item.name)?.internalToShellField());
436435
});
437436
});
438437
}

packages/designer/tests/document/node/node.test.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
// @ts-nocheck
22
import '../../fixtures/window';
33
import { set } from '../../utils';
4-
import { Editor } from '@alilc/lowcode-editor-core';
4+
import {
5+
Editor,
6+
globalContext,
7+
Setters as InnerSetters,
8+
} from '@alilc/lowcode-editor-core';
59
import { Project } from '../../../src/project/project';
10+
import { Workspace as InnerWorkspace } from '@alilc/lowcode-workspace';
611
import { DocumentModel } from '../../../src/document/document-model';
712
import {
813
isRootNode,
@@ -23,6 +28,7 @@ import rootContentMetadata from '../../fixtures/component-metadata/root-content'
2328
import rootFooterMetadata from '../../fixtures/component-metadata/root-footer';
2429
import { shellModelFactory } from '../../../../engine/src/modules/shell-model-factory';
2530
import { isNode } from '@alilc/lowcode-utils';
31+
import { Setters } from '@alilc/lowcode-shell';
2632

2733
describe('Node 方法测试', () => {
2834
let editor: Editor;
@@ -35,6 +41,9 @@ describe('Node 方法测试', () => {
3541
designer = new Designer({ editor, shellModelFactory });
3642
project = designer.project;
3743
doc = new DocumentModel(project, formSchema);
44+
editor.set('setters', new Setters(new InnerSetters()));
45+
!globalContext.has(Editor) && globalContext.register(editor, Editor);
46+
!globalContext.has('workspace') && globalContext.register(new InnerWorkspace(), 'workspace');
3847
});
3948

4049
afterEach(() => {

packages/engine/src/inner-plugins/builtin-hotkey.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -176,10 +176,9 @@ function getSuitablePlaceForNode(targetNode: IPublicModelNode, node: IPublicMode
176176
if (node?.componentMeta?.isModal) {
177177
return { container: focusNode, ref };
178178
}
179-
const canDropInFn = document.checkNesting;
180179

181180
if (!ref && focusNode && targetNode.contains(focusNode)) {
182-
if (canDropInFn(focusNode, dragNodeObject)) {
181+
if (document.checkNesting(focusNode, dragNodeObject)) {
183182
return { container: focusNode };
184183
}
185184

@@ -191,7 +190,7 @@ function getSuitablePlaceForNode(targetNode: IPublicModelNode, node: IPublicMode
191190
if (!c.isContainerNode) {
192191
return false;
193192
}
194-
if (canDropInFn(c, dragNodeObject)) {
193+
if (document.checkNesting(c, dragNodeObject)) {
195194
return true;
196195
}
197196
return false;
@@ -201,15 +200,15 @@ function getSuitablePlaceForNode(targetNode: IPublicModelNode, node: IPublicMode
201200
return { container: dropElement, ref };
202201
}
203202

204-
if (canDropInFn(targetNode, dragNodeObject)) {
203+
if (document.checkNesting(targetNode, dragNodeObject)) {
205204
return { container: targetNode, ref };
206205
}
207206

208207
return null;
209208
}
210209

211210
if (targetNode.isContainerNode) {
212-
if (canDropInFn(targetNode, dragNodeObject)) {
211+
if (document.checkNesting(targetNode, dragNodeObject)) {
213212
return { container: targetNode, ref };
214213
}
215214
}

packages/types/src/shell/type/metadata.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { MouseEvent } from 'react';
22
import { IPublicTypePropType, IPublicTypeComponentAction } from './';
3-
import { IPublicModelNode, IPublicModelProp, IPublicModelSettingField } from '../model';
3+
import { IPublicModelNode, IPublicModelSettingField } from '../model';
44

55
/**
66
* 嵌套控制函数
@@ -102,7 +102,7 @@ export interface IPublicTypeFilterItem {
102102
}
103103
export interface IPublicTypeAutorunItem {
104104
name: string;
105-
autorun: (prop: IPublicModelProp) => any;
105+
autorun: (target: IPublicModelSettingField | null) => any;
106106
}
107107

108108
// thinkof Array

0 commit comments

Comments
 (0)